OSDN Git Service

* stor-layout.c (layout_decl): Don't misalign field of variable size
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2
3         * stor-layout.c (layout_decl): Don't misalign field of variable size
4         for packed record.
5
6         * dwarf2out.c (compute_section_prefix): Avoid cast warning.
7         (gen_decl_die): Only check DECL_IGNORED_P on decls.
8         (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
9
10 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
11
12         * cfglayout.c (insert_intra_before_1): New.
13         (insert_inter_bb_scope_notes): Emit sibling block notes which don't
14         span multiple basic blocks.
15
16 2001-12-29  Richard Henderson  <rth@redhat.com>
17
18         * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
19         edges.  Rearrange jump interpretation code to use pc_set.
20         (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
21
22         * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
23         all insns that can throw, not just if flag_non_call_exceptions.
24
25 2001-12-29  Stan Shebs  <shebs@apple.com>
26
27         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
28         (default_constant_string_class_name): New global.
29         (objc_init): Set it.
30         (synth_module_prologue): Use it.
31
32         * objc/objc-act.c: Apply various cosmetic and formatting changes.
33
34 2001-12-29  Kazu Hirata  <kazu@hxi.com>
35
36         * config/rs6000/darwin-tramp.asm: Fix comment formatting.
37         * config/rs6000/freebsd.h: Likewise.
38         * config/rs6000/rs6000.c: Likewise.
39         * config/sh/sh.c: Likewise.
40         * config/sh/sh.h: Likewise.
41
42 2001-12-28  Stan Shebs  <shebs@apple.com>
43
44         * objc/objc-act.c (build_module_descriptor): Make sure the init
45         function is not deferred.
46         (build_dispatch_table_initializer): Compute the method encoding if
47         not already done.
48
49 2001-12-28  Kazu Hirata  <kazu@hxi.com>
50
51         * doc/md.texi: Add @findex define_insn_and_split.
52
53 2001-12-28  Hans Bohem  <hans_boehm@hp.com>
54
55         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
56         * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
57         bsp setup.  Set pri_unat_loc to something reasonable.
58         (uw_install_context): Add missing cast.
59         (unw_access_gr): Fix off-by-1 indexing error.
60
61 2001-12-28  Kazu Hirata  <kazu@hxi.com>
62
63         * except.c: Fix comment formatting.
64         * flags.h: Likewise.
65         * flow.c: Likewise.
66         * predict.c: Likewise.
67         * simplify-rtx.c: Likewise.
68         * system.h: Likewise.
69         * vmsdbg.h: Likewise.
70         * vmsdbgout.c: Likewise.
71
72 2001-12-28  Kazu Hirata  <kazu@hxi.com>
73
74         * config/h8300/h8300.md: Fix formatting.
75
76 2001-12-28  Geoff Keating  <geoffk@redhat.com>
77
78         * varasm.c (record_constant_1): Correct parameter to recursive
79         call in default case.
80
81 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
82
83         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
84         ASM_OUTPUT_DWARF_PCREL): Define.
85         * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
86         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
87         .uaword %r_disp32() and linker handles it correctly.
88         * configure, config.in: Rebuilt.
89
90 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
91
92         * c-typeck.c (store_init_value): If initializing object with array
93         type of unknown size by a compound literal, set object's size from
94         compound literal size.
95         * doc/extend.texi (Compound Literals): Adjust documentation.
96
97 2001-12-28  Richard Henderson  <rth@redhat.com>
98
99         * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
100         (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
101         (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
102         * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
103         INTEL_EXTENDED_IEEE_FORMAT.
104
105 2001-12-27  Geoff Keating  <geoffk@redhat.com>
106
107         * combine.c (try_combine): Mask off sign bits when combining
108         stores to the low and high parts of a two-word value.
109
110         * expr.c (expand_expr): Don't mark memory for non-constants as
111         constant.
112
113 Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
114
115         * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
116         and not for LHS, clear RTX_UNCHANGING_P.
117
118 2001-12-28  Philipp Thomas  <pthomas@suse.de>
119
120         * cppfiles.c (stack_include_file): Don't translate <stdin>.
121
122 2001-12-27  Roger Sayle <roger@eyesopen.com>
123
124         * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
125         when all arguments are known constant.  Fixes PR opt/3508.
126
127 2001-12-27  Kazu Hirata  <kazu@hxi.com>
128
129         * config/h8300/h8300.md (two anonymous patterns): Remove.
130
131 2001-12-27  Richard Henderson  <rth@redhat.com>
132
133         * haifa-sched.c (reemit_other_notes): New.
134         (schedule_block): Use it.
135         * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
136         * sched-rgn.c (schedule_insns): Likewise.
137         * cfglayout.c (remove_scope_notes): Handle removing note at
138         the end of the insn chain.
139         * function.c (debug_find_var_in_block_tree): New.
140
141 2001-12-27  Alan Modra  <amodra@bigpond.net.au>
142             David Edelsohn  <edelsohn@gnu.org>
143
144         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
145
146 2001-12-27  Jakub Jelinek  <jakub@redhat.com>
147
148         * toplev.c (independent_decode_option): Re-add -aux-info option
149         handling.
150
151 Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
152
153         * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
154         if special value.
155
156 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
157
158         * collect2.c (is_ctor_dtor): Const-ify.
159         * m88k-protos.h (output_file_start): Likewise.
160         * m88k.c (m88k_lang_independent_options, output_options,
161         output_file_start): Likewise.
162         * fix-header.c (files_to_ignore, std_include_entry, include_entry,
163         std_include_table, main): Likewise.
164         * protoize.c (longopts): Likewise.
165         * regclass.c (int_reg_class_contents): Likewise.
166         * toplev.c (dump_file, f_options, W_options): Make static.
167         (lang_independent_options, f_options, W_options): Const-ify.
168         * tree-dump.c (dump_file_info): Likewise.
169         * unroll.c (_factor): Make static.
170
171 Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
172
173         * config/alpha/alpha.c (alpha_align_insns): Remove warning.
174
175         * config/sparc/sparc.md (call struct patterns): Show starting
176         at two words long.
177
178 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
179
180         * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
181         * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
182
183 2001-12-26  DJ Delorie  <dj@redhat.com>
184
185         * function.c (expand_main_function): Make sure stack adjustments
186         happen before sjlj exception setup.
187
188 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
189
190         * rs6000.md (indirect_jump): Prefer CTR over LR.
191         * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
192
193 Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
194
195         * dwarf2out.c: Reformatting and minor code rearrangement.
196
197 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
198
199         * configure.in (quoted_stage_prefix_set_by_configure): Generate.
200         * configure: Regenerated.
201         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
202         quoted_stage_prefix_set_by_configure.
203
204 Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
205
206         * rtl.h (in_expr_list_p): New declaration.
207         * rtlanal.c (in_expr_list_p): New function.
208         * cfgcleanup.c: Reformatting and minor code rearrangement.
209         * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
210
211 2001-12-23  Richard Henderson  <rth@redhat.com>
212
213         PR c/5163:
214         * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
215         we have a function body associated.  Minor cleanups.
216         (grokdeclarator): Do not set DECL_INLINE without a function body.
217
218 2001-12-23  Richard Henderson  <rth@redhat.com>
219
220         * stmt.c (resolve_operand_names): Handle operand modifiers.
221
222 2001-12-23  Richard Henderson  <rth@redhat.com>
223
224         * stmt.c (parse_input_constraint): Break out from ...
225         (expand_asm_operands): ... here.  Loop over the operands twice,
226         the first time only calling mark_addressable.  Correct and simplify
227         the conditions for spilling an output operand to memory.
228
229 2001-12-23  Richard Henderson  <rth@redhat.com>
230
231         * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
232
233         * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
234         (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
235         (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
236
237 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
238
239         * c-typeck.c (c_start_case): Don't strip conversions from the
240         controlling expression.  Partially fixes PR c/2454.
241
242 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
243
244         * Makefile.in (USER_H): Remove proto.h.
245         * config.gcc (c*-convex-*): Set extra_headers=proto.h.
246
247 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
248
249         * arc.c (arc_hard_regno_mode_ok): Const-ify.
250         * arc.h (arc_hard_regno_mode_ok): Likewise.
251         * i386.c (x86_64_reg_class_name): Make static.
252         * m68k.c (regno_reg_class): Const-ify.
253         * m68k.h (regno_reg_class): Likewise.
254         * mcore.c (reg_class_from_letter): Likewise.
255         * mcore.h (reg_class_from_letter): Likewise.
256         * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
257         ext_shift_insns, ext_shift_amounts): Likewise.
258         * sh.h (reg_class_from_letter): Likewise.
259         * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
260         hard_64bit_mode_classes): Likewise.
261         * sparc.h (hard_regno_mode_classes): Likewise.
262
263         * gcc.c (modify_target): Make static.
264         * gengenrtl.c (defs, formats): Likewise.
265         * reload1.c (elim_table_1, init_elim_table): Const-ify.
266         * tradcpp.c (directive, directive_table, handle_directive,
267         skip_if_group, run_directive): Likewise.
268
269 2001-12-23  Richard Henderson  <rth@redhat.com>
270
271         * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
272         an invalid result register; do end the sequence properly.
273         (emit_library_call_value_1): Likewise.
274
275 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
276
277         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
278
279         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
280
281         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
282         (altivec_init_builtins): Add tree types for builtins with 4 bit
283         literals.
284         (bdesc_3arg): Add vsldoi variants.
285
286 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
287
288         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
289         * a29k.h (a29k_debug_reg_map): Likewise.
290         * arc.h (arc_regno_reg_class): Likewise.
291         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
292         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
293         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
294         * i386.h (regclass_map): Likewise.
295         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
296         * mcore.h (regno_reg_class): Likewise.
297         * mips.h (mips_print_operand_punct, mips_char_to_class):
298         Likewise.
299         * ns32k.h (regclass_map): Likewise.
300         * pj.h (pj_debugreg_renumber_vec): Likewise.
301         * s390.h (regclass_map): Likewise.
302         * sh.h (regno_reg_class): Likewise.
303         * sparc.h (sparc_regno_reg_class): Likewise.
304
305         * hard-reg-set.h (reg_class_contents): Likewise.
306         * machmode.h (class_narrowest_mode): Likewise.
307
308 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
309
310         * loop.c (scan_loop, move_movables, count_one_set): Do not
311         overlook hard registers when computing statistics.
312
313 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
314
315         * calls.c (ECF_LIBCALL_BLOCK): New constant.
316         (emit_call_1, initialize_argument_information,
317         precompute_arguments, expand_call,
318         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
319         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
320
321 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
322
323         * config.gcc (extra_headers): Move settings to math-68881.h and
324         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
325         m68k targets.
326         (header_files): Remove unused setting.
327
328 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
329
330         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
331         `call_used_regs' explicitly.
332         * i860.c: Likewise.
333         * m68k.c: Likewise.
334         * ns32k.c: Likewise.
335         * pa.c: Likewise.
336         * vax.c: Likewise.
337         * we32k.c: Likewise.
338
339 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
340
341         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
342         (TARGET_CPU_DEFAULT_*): Renumber.
343
344 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
345
346         * rtl.h (subreg_lsb): Declare.
347         * rtlanal.c (subreg_lsb): Implement.
348
349 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
350
351         * predict.c: Reformatting and minor cleanups.
352         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
353
354         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
355         SAVE_EXPR.
356         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
357         (put_addressof_into_stack): Clarify code in setting of used_p.
358
359         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
360         (expand_call): Delete from here.
361         Do pending stack adjustments if ECF_SP_DEPRESSED.
362
363         * dwarf2out.c (save_rtx): Deleted.
364         (mem_loc_descriptor): Do equivalent operation.
365         (add_const_value_attribute, case CONST): Likewise.
366         (add_name_and_src_coords_attributes): Likewise.
367
368 2001-12-21  Kazu Hirata  <kazu@hxi.com>
369
370         * config/h8300/h8300.h: Fix comment formatting.
371
372 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
373
374         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
375         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
376
377 2001-12-21  Robert Lipe  <robertlipe@usa.net>
378
379          * system.h (PREFETCH): Explictly undefine.
380
381 2001-12-21  Richard Henderson  <rth@redhat.com>
382
383         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
384         (RESTORE_WARN_FLAGS): Restore it.
385         (extension): Zero warn_traditional.
386
387 2001-12-21  Kazu Hirata  <kazu@hxi.com>
388
389         * doc/passes.texi: Fix a typo.
390
391 2001-12-21  Kazu Hirata  <kazu@hxi.com>
392
393         * config/h8300/h8300.h: Fix a comment typo.
394
395 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
396
397         * combine.c (nonzero_bits): If using reg_nonzero_bits,
398         we don't know anything about bits outside of X mode.
399         (num_sign_bit_copies): Likewise.
400
401 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
402
403         * config/arm/arm.md (prefetch): Use 'a' operand code.
404
405 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
406
407         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
408         subshells.
409         * configure.in: Likewise for perl Pod::Man.
410
411         * configure: Regenerated.
412
413 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
414
415         * builtin-attrs.def (__builtin_printf_unlocked,
416         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
417         Mark with the __printf__ attribute.
418         
419         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
420         and set the replacement function depending on it.
421         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
422         Handle BUILT_IN_*_UNLOCKED when optimizing.
423         
424         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
425         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
426         Declare the "unlocked" stdio functions.
427         
428         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
429         Add an `unlocked' parameter and set the replacement function
430         depending on it.
431         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
432         BUILT_IN_FPRINTF_UNLOCKED.
433
434         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
435         fputs_unlocked): Document.
436
437 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
438
439         * cfgloop.c (flow_loops_find): Use the information of the depth
440         first search order of the CFG correctly when finding natural loops.
441
442 2001-12-20  Richard Henderson  <rth@redhat.com>
443
444         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
445
446 2001-12-20  Richard Henderson  <rth@redhat.com>
447
448         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
449         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
450         operand into $27.
451
452 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
453
454         * configure.in (all_headers, all_lib2funcs): Remove.
455         * configure: Regenerate.
456         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
457         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
458         * config/alpha/t-interix (USER_H): Don't include
459         $(LANG_EXTRA_HEADERS).
460         * config/i386/t-interix: Likewise.
461         * config/t-openbsd: Likewise.
462
463 2001-12-20  Andreas Jaeger  <aj@suse.de>
464
465         * libgcc2.c (__bb_exit_func): Remove unused variable.
466         (num_digits): Remove unused function.
467
468 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
469
470         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
471         to use ldmfd instead of ldmea.
472         * config/arm/arm.c (arm_compute_initial_elimination_offset):
473         Modified to reflect behavior of arm_expand_prologue when generating
474         interrupt handlers
475
476 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
477
478         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
479         function. Compute which of registers r0 through r12 should be
480         saved onto the stack during a function's prologue.
481         (arm_compute_save_reg_mask): Use
482         arm_compute_save_reg0_reg12_mask.
483         (arm_compute_initial_elimination_offset): Use
484         arm_compute_save_reg0_reg12_mask.
485
486         (arm_expand_prologue): Do not mark as save of the IP register
487         for an interrupt handler as being part of the frame creation
488         code.
489
490 2001-12-20  Richard Henderson  <rth@redhat.com>
491
492         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
493         to emit floating point values.
494         (assemble_real_1): Remove.
495
496         * 1750a/1750a.c (real_value_to_target_single): New.
497         (real_value_to_target_double): New.
498         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
499         (REAL_VALUE_TO_TARGET_SINGLE): New.
500         (REAL_VALUE_TO_TARGET_DOUBLE): New.
501         * 1750a/1750a-protos.h: Update.
502
503         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
504         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
505         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
506         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
507         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
508         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
509         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
510         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
511         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
512         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
513         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
514         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
515         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
516         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
517         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
518         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
519         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
520         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
521         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
522         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
523         associated support routines.
524
525 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
526
527         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
528         if one of block does not contain jump.
529         (outgoing_edge_math): Revert last path; require edges to be noncomplex
530         nonfake to match single exit edge; require conditional jumps to not
531         have side effect.
532
533 2001-12-20  Turly O'Connor  <turly@apple.com>
534
535         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
536         "recog_operand" to "recog_data.operand".
537         * rtl.def: Likewise.
538
539 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
540
541         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
542         narrower mode than op0, only return the bits in DIV's mode.
543
544 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
545
546         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
547         to JUMP_INSNs with JUMP_LABEL.
548
549 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
550
551         * doc/install.texi: Add documentation for --enable-altivec.
552
553         * config.gcc: Add support for --enable-altivec.
554
555         * config/rs6000/altivec.h: New.
556
557         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
558         Define.  Fix typo.
559
560         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
561         unspec_volatile.
562         (generate_set_vrsave): Generate the unspec here instead of calling
563         an .md pattern.
564         (generate_set_vrsave): Use gen_rtvec.
565         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
566         gen_rtx_SET.
567
568         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
569         for setting special registers.
570         ("*set_vrsave_internal"): Use unspec_volatile.
571         ("set_vrsave"): Remove.
572         ("get_vrsave"): Remove.
573
574         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
575         SPECIAL_REGS.
576
577 2001-12-19  Bruce Korb  <bkorb@gnu.org>
578
579         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
580         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
581         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
582         * gcc/fixinc/base/...: adjust for changes in fixes
583
584 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
585
586         * po/gcc.pot: Regenerate.
587
588         * configure.in (all_diff_excludes, diff_excludes): Remove.
589         * configure: Regenerate.
590         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
591         * objc/config-lang.in (diff_excludes): Remove.
592
593 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
594
595         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
596         the destination register as a parameter to mems_ok_for_ldd_peep.
597         For store peepholes pass NULL_RTX.  Move all volatile checks ...
598         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
599         register parameter, check it's not the same as base for an address.
600         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
601
602 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
603
604         * config/ia64/ia64.c (ia64_single_set): Return first set for
605         prologue_allocate_stack and epilogue_deallocate_stack instructions.
606
607 2001-12-19  Dale Johannesen  <dalej@apple.com>
608
609          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
610          redefine in terms of rs6000_legitimize_reload_address().
611          * config/rs6000/rs6000-protos.h: Add this function.
612          * config/rs6000/rs6000.c: Add this function.  Includes
613          handling for Darwin FP constants.
614
615 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
616
617         * config/pa/t-hpux-shlib: New file.
618         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
619         for 32bit hpux10 & hpux11 configurations.
620
621 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
622
623         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
624         -mno-fpu onto gas unless -mhard-float is specified.
625         (MULTILIB_DEFAULTS): Include msoft-float.
626
627         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
628
629         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
630         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
631
632 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
633
634         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
635         descriptor output.
636
637 2001-12-18  Stan Shebs  <shebs@apple.com>
638
639         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
640
641 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
642
643         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
644         on an INTEGER_CST.
645
646 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
647
648         * rs6000.c (rs6000_override_options): Only use DI ops when
649         TARGET_64BIT.  Fix typo.
650
651 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
652
653         * att.h (ASM_FILE_START): Use asm_dialect.
654         * linux.h (ASM_FILE_START): Likewise.
655         * gas.h (ASM_FILE_START): Likewise.
656         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
657         ix86_asm_string, ix86_asm_dialect): New.
658         (override_options): Set asm_dialect.
659         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
660         MASK_DEBUG_ADDR): Kill.
661         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
662         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
663         (ASSEMBLER_DIALECT): Use asm_dialect.
664         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
665         remove debug-addr and debug-arg.
666         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
667         (asm_dialect): New enum.
668         (ix86_debug_arg_string, ix86_debug_addr_string,
669         ix86_asm_string, ix86_asm_dialect): Declare.
670         * invoke.texi (-mintel-syntax): Remove.
671         (-masm): Document.
672
673 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
674
675         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
676
677 2001-12-18  Jason Merrill  <jason@redhat.com>
678
679         C++ ABI change: destroy value arguments in caller.
680         * calls.c (initialize_argument_information): Pass the address of
681         the TARGET_EXPR temporary rather than storing it into another.
682
683 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
684
685         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
686         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
687
688 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
689
690         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
691         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
692         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
693         (CC1_SPEC): Don't default to -gstabs+ if -m32.
694
695 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
696
697         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
698
699 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
700
701         * po/gcc.pot: Regenerate.
702
703 2001-12-18  Kazu Hirata  <kazu@hxi.com>
704
705         * config/h8300/h8300.c: Fix comment typos.
706         * config/h8300/h8300.h: Fix comment formatting.
707
708 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
709
710         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
711         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
712         declaration to NUM_MACHINE_MODES.
713         (mode_size, mode_unit_size): Set array type to unsigned char.
714         (mode_bitsize): Set array type to unsigned short.
715
716         * rtl.c (rtx_length): Set array type to unsigned char.
717         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
718         NUM_RTX_CODE.
719         (mode_bitsize): Set array type to unsigned short.
720         (mode_size, mode_unit_size): Set array type to unsigned char.
721         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
722         mode_wider_mode, mode_mask_array): Set array size to
723         NUM_MACHINE_MODES.
724
725         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
726         size in declaration to NUM_RTX_CODE.
727
728 2001-12-17  Richard Henderson  <rth@redhat.com>
729
730         * config/alpha/alpha.md (unop): Encode RB as $sp.
731
732 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
733
734         * Makefile.in: Update dependencies.
735         * c-lang.c: Remove unnecessary includes.
736         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
737         c-objc-common.c.
738         (finish_file): Move body to c_common_finish_file.
739         * c-objc-common.c: Include varray.h and ggc.h.
740         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
741         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
742         (c_objc_common_init): Initialize deferred function array.
743         * c-tree.h (c_objc_common_finish_file,
744         static_ctors, static_dtors): New.
745 objc:
746         * Make-lang.in: Update dependencies.
747         * objc/objc-act.c: Don't include varray.h.
748         (defer_fn, deferred_fns): Move to c-objc-common.c.
749         (objc_init): Similarly for initialization of it.
750         (finish_file): Move some to c-objc-common.c, use
751         c_objc_common_finish_file.
752
753 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
754
755         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
756
757 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
758
759         * doc/cppinternals.texi: Update.
760
761 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
762
763         * expmed.c (emit_store_flag): Extract updated comparison code
764         from the return value of compare_from_rtx.
765         * expr.c (do_store_flag): Similarly.
766
767 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
768
769         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
770         preference to BASE_REG_CLASS.
771         * recog.c (preprocess_constraints): Ditto.
772         * regclass.c (record_operand_costs, scan_one_insn, regclass,
773         record_reg_classes, record_address_regs): Ditto.
774         * regrename.c (scan_rtx_address, scan_rtx,
775         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
776         * reload.c (find_reloads, find_reloads_address,
777         find_reloads_address_1): Ditto.
778         * reload1.c (maybe_fix_stack_asms): Ditto.
779         * defaults.h (MODE_BASE_REG_CLASS): Provide default
780         definition.
781         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
782
783         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
784
785 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
786
787         * doc/install.texi2html: Use -I $SOURCEDIR.
788
789         Separate user and internals manuals.
790         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
791         dependencies.
792         ($(docdir)/gccint.info, gccint.dvi): New targets.
793         (maintainer-clean, install-info, uninstall): Update.
794         * doc/.cvsignore: Add gccint.info*.
795         * doc/include/gcc-common.texi: New file.
796         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
797         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
798         is defined.
799         * doc/gccint.texi: New file.
800         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
801         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
802         Update for separate user and internals manuals.
803
804 2001-12-17  Dale Johannesen  <dalej@apple.com>
805
806          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
807          ASM_CPU_SPEC: Ditto.
808          RTX_COSTS: Fix timing info for 7450 multiply.
809          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
810          Allow floats to be kept in int regs in movsf_low,
811          movsf_low_st (Darwin only)
812
813 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
814
815         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
816         parallel.
817         (is_gpr_return_reg): New.
818         (rs6000_emit_prologue): Call generate_set_vrsave with additional
819         argument.  Save only registers in the mask.  Attach
820         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
821         rs6000_frame_related when saving VRSAVE.
822         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
823         argument.  Restore only registers in the mask.  Restore altivec
824         registers after we restore CR.
825         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
826         sets instead of clobbers for call saved registers.
827         (altivec_frame_fixup): New.
828
829 2001-12-17  Richard Henderson  <rth@redhat.com>
830
831         * config/sparc/sparc.md (movdi_zero): Remove.
832         (movdi_insn_sp32_v9): New.
833
834 2001-12-17  Richard Henderson  <rth@redhat.com>
835
836         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
837         a single outgoing edge too.
838
839 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
840
841         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
842         edges resulting from computed jump
843
844 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
845
846         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
847         * basic-block.h (CLEANUP_THREADING): New constant.
848         * cfgcleanup.c: Include cselib.h
849         (thread_jump, mark_effect): New functions.
850         (try_forward_edges): Do jump threading when asked for.
851         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
852         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
853         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
854         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
855         CLEANUP_THREAD instead.
856
857 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
858
859         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
860
861 2001-12-17  Tom Rix  <trix@redhat.com>
862
863         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
864         of bytes.
865
866 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
867
868         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
869         asm_out.integer): New fields.
870         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
871         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
872         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
873         the individual initialisers together.
874         (TARGET_ASM_OUT): Add the new initialisers.
875         * output.h (assemble_integer): Return bool.
876         (integer_asm_op): Declare.
877         (default_assemble_integer): Declare.
878         (assemble_aligned_integer): New interface to assemble_integer.
879         * varasm.c (integer_asm_op): New function to select pseudo-op.
880         (default_assemble_integer): Default implementation of asm_out.integer.
881         (assemble_integer): Use the new target hook.  Split objects into
882         words or bytes if the target hook fails.  Return bool.
883         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
884         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
885         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
886         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
887         Document new target hooks.
888
889         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
890         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
891         (dw2_assemble_integer): New.
892         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
893         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
894         dw2_asm_output_encoded_addr_rtx): Use it.
895         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
896         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
897         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
898         if it returns NULL.
899         * dwarf2asm.h (dw2_assemble_integer): Declare.
900         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
901         default implementation of most macros.
902         (output_unsigned_leb128): Use dw2_asm_output_data.
903         (output_signed_leb128, dwarfout_source_line): Likewise.
904         (output_reg_number): Use dw2_assemble_integer.
905         (generate_macinfo_entry): Separate the type and offset arguments.
906         Use assemble_integer to write the value.
907         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
908         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
909         * final.c (output_addr_const): Don't put brackets round a subtracted
910         symbol value or ".".
911         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
912
913         * config/1750a/1750a.c (assemble_integer_1750a): New,
914         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
915         * config/arc/arc.c (arc_assemble_integer): New.
916         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
917         * config/arm/arm.c (arm_poke_function_name): Likewise.
918         (arm_assemble_integer): New, extracted from...
919         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
920         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
921         (ARM_FUNCTION_PROFILER): Likewise.
922         * config/avr/avr-protos.h (asm_output_byte): Remove.
923         (asm_output_char, asm_output_short): Remove.
924         * config/avr/avr.c (avr_assemble_integer): New.
925         (asm_output_byte, asm_output_char, asm_output_short): Remove.
926         * config/clipper/clipper.h (ASM_LONG): Remove.
927         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
928         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
929         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
930         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
931         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
932         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
933         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
934         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
935         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
936         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
937         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
938         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
939         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
940         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
941         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
942         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
943         (ASM_SHORT, ASM_LONG): Undefine.
944         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
945         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
946         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
947         * config/ia64/ia64.c (ia64_assemble_integer): New.
948         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
949         (ASM_OUTPUT_DWARF_PCREL): Likewise.
950         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
951         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
952         (ASM_SHORT, ASM_LONG): Remove.
953         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
954         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
955         macros, the allowed values for INT_OP_GROUP.
956         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
957         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
958         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
959         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
960         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
961         * config/m68k/dpx2.h (ASM_LONG): Undefine.
962         (INT_OP_GROUP): Define to INT_OP_DC.
963         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
964         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
965         * config/m68k/lynx.h (ASM_LONG): Undefine.
966         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
967         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
968         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
969         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
970         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
971         for GAS and INT_OP_NO_DOT otherwise.
972         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
973         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
974         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
975         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
976         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
977         (INT_OP_GROUP): Define to INT_OP_STANDARD.
978         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
979         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
980         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
981         * config/m68k/tower-as.h (ASM_LONG): Remove.
982         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
983         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
984         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
985         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
986         * config/mips/iris5.h (TARGET_IRIX5): Define.
987         * config/mips/mips.c (mips_assemble_integer): New.
988         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
989         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
990         * config/mmix/mmix.c (mmix_assemble_integer): New.
991         (mmix_asm_output_double_int): Remove.
992         (mmix_print_operand): Call mmix_output_octa directly.
993         * config/mmix/mmix.h (ASM_LONG): Remove.
994         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
995         * config/pa/pa.c (pa_assemble_integer): New.
996         (pa_override_options): Only use aligned DI ops on 64-bit targets.
997         Only use the unaligned ops if TARGET_GAS.
998         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
999         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1000         * config/pj/pj.h (ASM_LONG): Undefine.
1001         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
1002         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
1003         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
1004         and in_toc_section() rather than the in_section variable.
1005         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
1006         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
1007         (RELOCATABLE_NEEDS_FIXUP): Define.
1008         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
1009         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
1010         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
1011         to get the word directive.
1012         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1013         * config/s390/s390.c (s390_assemble_integer): New.
1014         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
1015         integer_asm_op to get the word directive.
1016         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
1017         * config/sparc/sparc-protos.h (output_double_int): Remove.
1018         * config/sparc/sparc.c (output_double_int): Move to...
1019         (sparc_assemble_integer): ...this new function.
1020         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
1021         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
1022         * config/sparc/sysv4.h (ASM_LONG): Remove.
1023         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
1024         ASM_LONG.
1025         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
1026         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
1027
1028         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
1029         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
1030         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
1031         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
1032         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
1033         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
1034         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1035         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
1036         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
1037         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
1038         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
1039         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
1040         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
1041         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
1042         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
1043         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
1044         appropriate.
1045
1046         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
1047         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
1048         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
1049         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
1050         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
1051         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
1052         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
1053         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
1054         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
1055         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
1056         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
1057         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
1058         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
1059         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
1060         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
1061         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
1062         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
1063         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
1064         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
1065         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
1066         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
1067         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1068         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
1069         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
1070         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1071         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
1072
1073 2001-12-17  Stan Shebs  <shebs@apple.com>
1074
1075         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
1076         (STACK_BOUNDARY): Remove definition.
1077         (CPP_PREDEFINES): Define __POWERPC__.
1078
1079 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1080
1081         * doc/c-tree.texi (Trees): Only refer to GCC.
1082
1083 2001-12-17  Andreas Jaeger  <aj@suse.de>
1084
1085         * c-common.def: Fix typo in comment.
1086
1087 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
1088
1089         * config.gcc (sparc64-*-freebsd*): Add target.
1090         * config/sparc/freebsd.h: New file.
1091         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
1092         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
1093         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
1094
1095 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1096
1097         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
1098         PLUS operands into registers for altivec mode.
1099
1100 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1101
1102         * builtins.c (apply_args_size): Change regno to unsigned.
1103
1104 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1105
1106         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
1107         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
1108
1109 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
1110
1111         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
1112         gettext on argument before printing.
1113
1114         * fold-const.c (negate_expr): Always call fold on new
1115         NEGATE_EXPR.
1116
1117 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1118
1119         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
1120         a DECL directly.
1121         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
1122         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
1123         * c-decl.c (build_compound_literal): Put the decl inside a
1124         DECL_STMT.
1125         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
1126         Fixes PR c/5105.
1127
1128 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1129
1130         * config.gcc: Add powerpc-*-eabisimaltivec*.
1131
1132 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1133
1134         * c-common.c, c-common.h (back_end_hook): Remove.
1135         * c-lang.c (finish_file): Remove back_end_hook.
1136
1137 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1138
1139         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
1140         last change.
1141
1142 2001-12-16  Richard Henderson  <rth@redhat.com>
1143
1144         * toplev.c (parse_options_and_default_flags): Don't enable
1145         flag_cprop_registers at -O1.
1146
1147 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1148
1149         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
1150         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
1151         * avr.h (reg_class): Likewise.
1152         * avr.md: Likewise.
1153         * mcore.c (try_constant_tricks, mcore_byte_offset,
1154         mcore_halfword_offset): Likewise.
1155         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
1156         * v850.c (not_power_of_two_operand): Likewise.
1157
1158         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
1159         warnings.
1160         * convex.h (ASM_OUTPUT_ASCII): Likewise.
1161         * i370.h (ASM_OUTPUT_ASCII): Likewise.
1162         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
1163         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
1164         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
1165         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
1166         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
1167         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
1168         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
1169         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
1170         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
1171         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
1172         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
1173         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
1174         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
1175         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1176         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
1177         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
1178         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
1179         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
1180         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
1181         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
1182         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
1183         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1184         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
1185         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
1186
1187         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
1188         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
1189         * psos.h (CPP_PREDEFINES): Likewise.
1190         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
1191         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
1192         ASM_OUTPUT_EXTERNAL): Likewise.
1193         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1194         Likewise.
1195         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
1196         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1197         Likewise.
1198         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
1199
1200         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
1201         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
1202         * fold-const.c (real_hex_to_f): Use hex_value.
1203         * real.c (asctoeg): Use hex_value & ISXDIGIT.
1204         * toplev.c (toplev_main): Call hex_init.
1205         * tradcpp.c (main): Call hex_init.
1206
1207         * nextstep-protos.h: New file.
1208         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
1209         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
1210         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
1211         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
1212         handle_pragma): Move prototypes to nextstep-protos.h.
1213         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
1214         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
1215
1216 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1217
1218         PR other/3725
1219         * configure.in: Add AC_SUBST(target_alias).
1220         * configure: Regenerated.
1221
1222 2001-12-15  Richard Henderson  <rth@redhat.com>
1223
1224         * config/alpha/alpha.md (sibcall_osf_1_er): New.
1225         (sibcall_value_osf_1_er): New.
1226
1227 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
1228
1229         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
1230         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
1231         addrs; eliminate restriction of only using fp and sp as base
1232         registers.
1233         * config/sparc/sparc-protos.h: Update.
1234         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
1235         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1236         from old define_peepholes.
1237         Convert all the ldd/std peepholes to peephole2.
1238
1239 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1240
1241         * s390.md (prologue, epilogue, *return_si, *return_di): New.
1242         s390.c (find_unused_clobbered_reg, s390_frame_info,
1243         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1244         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1245         s390.c (s390_arg_frame_offset): Use s390_frame_info.
1246         (leaf_function_flag, cur_is_leaf_function,
1247         save_fprs, restore_fprs, force_const_mem_late): Remove.
1248         (s390_function_prologue, s390_function_epilogue): Mostly remove.
1249         s390.md (lit): New.  Uses ...
1250         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1251         s390-protos.h (s390_output_constant_pool): Declare.
1252         s390.md (load_multiple, store_multiple): Allow use after reload.
1253         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1254         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1255         s390.h (CALL_REALLY_USED_REGISTERS): Define.
1256         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1257         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1258         s390.c (s390_sr_alias_set): New global variable, initialized ...
1259         (override_options): ... here.  New.
1260         s390-protos.h (override_options): Declare.
1261         s390.h (OVERRIDE_OPTIONS): Call it.
1262         s390.c (s390_function_profiler): New.
1263         s390-protos.h (s390_function_profiler): Declare.
1264         s390.h (FUNCTION_PROFILER): Call it.
1265         s390.c (s390_profile): Remove.
1266
1267         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1268         (addr_generation_dependency_p): Consider literal pool register loads.
1269         (s390_adjust_priority): Do not schedule load_multiple.
1270         s390.md (attribute "type"): Define some additional types.
1271         (function_unit "integer"): Adapt.
1272         (many insns): Adapt "type" attribute setting.
1273
1274         * s390.c (general_s_operand, s_imm_operand): New.
1275         (s_operand): Remove old definition, call general_s_operand instead.
1276         s390-protos.h (s_imm_operand): Declare.
1277         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1278         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1279         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1280         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1281         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1282         s390.md (many insns): Rework insn predicates.
1283
1284         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1285         non-symbolic constants.  Reload will force them because of ...
1286         (s390_preferred_reload_class): ... this.  New.
1287         s390-protos.h (s390_preferred_reload_class): Declare.
1288         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1289         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1290         *reload_la_31 splitters): Handle constants after reload.
1291         (many insns): no longer force all constants immediately.
1292         s390.c (legitimate_reload_constant_p): New helper routine.
1293         s390-protos.h (legitimate_reload_constant_p): Declare.
1294         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1295
1296         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1297         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1298         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1299         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1300         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1301         (DWARF_FRAME_REGISTERS): Define.
1302         s390.c (regclass_map): Add virtual frame pointer.
1303         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1304         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1305         (addaddr, addsi_64): Delete.
1306
1307         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1308         floating point registers.
1309         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1310         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1311         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1312
1313         * s390.md (movti): Replace multi-insn output with splitters.
1314         (movdi_31, movdf_31): Likewise.
1315         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1316         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1317         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1318         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1319         (movsf_64, movsf_31): Remove, replace by ...
1320         (movsf): ... this.
1321         (movqi_64): Use lhi instead of llill.
1322         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1323
1324         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1325         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1326         extendqihi2 and associated splitters): Reworked.
1327         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1328         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1329         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1330         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1331         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1332         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1333         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1334         and associated splitters): Likewise.
1335         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1336         and associated splitters): New.
1337         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1338         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1339         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1340         s390.h (PROMOTE_PROTOTYPES): Remove.
1341         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1342
1343         * s390.md (muldi3): Delete, use instead ...
1344         (mulsidi3): ... this.
1345         (*muldi3_64): Rename to muldi3.
1346         (mulsi_6432): Fix template.
1347         (divdi3, moddi3): Delete, replace by ...
1348         (divmoddi4): ... this.
1349         (divmodtidi3): Fix template.
1350         (divmodtisi3): New.
1351         (udivdi3, umoddi3): Delete, replace by ...
1352         (udivmoddi4): ... this.
1353         (udivmodtidi3): Fix template.
1354         (divsi3, modsi3): Delete, replace by ...
1355         (divmodsi4): ... this.
1356         (divmoddisi3): Fix template.
1357         (udivsi3, umodsi3): Adapt.
1358
1359         * s390.md (anddi3): Remove SS alternative, use instead ...
1360         (anddi3_ss, anddi3_ss_inv): ... these.
1361         (anddi3_ni): New.
1362         (andsi3*, andhi3*, andqi3*): Likewise.
1363         (iordi3): Remove SS alternative, use instead ...
1364         (iordi3_ss, iordi3_ss_inv): ... these.
1365         (iordi3_oi): New.
1366         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1367         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1368         (xordi3): Remove SS alternative, use instead ...
1369         (xordi3_ss, xordi3_ss_inv): ... these.
1370         (xordi3_oi): New.
1371         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1372         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1373         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1374         Expand to XOR with -1.
1375         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1376         (cmpdi_tm): Delete, replace by ...
1377         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1378         (cmpsi_cct): Delete, replace by ...
1379         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1380         (cmpdi_tm2, cmpsi_tm2): Improve.
1381         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1382         s390.c (s390_single_hi, s390_extract_hi,
1383         s390_single_qi, s390_extract_qi): New helper routines.
1384         s390-protos.h (s390_single_hi, s390_extract_hi,
1385         s390_single_qi, s390_extract_qi): Declare.
1386         s390.c (tmxx_operand, const1_operand): Remove.
1387         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1388         s390.h (PREDICATE_CODES): Likewise.
1389
1390         * s390.md (sqrtdf2, sqrtsf2): New.
1391
1392         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1393         (check_and_change_labels): Remove section-change special case.
1394
1395         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1396         in leaf functions.  Needs ...
1397         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1398
1399         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1400
1401         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1402         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1403         input operands using a match_dup clause.
1404         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1405
1406         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1407         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1408
1409         * s390.md (floatsidf2_ibm): Use correct operand.
1410
1411         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1412         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1413         non-portable constants.
1414         s390.c (s390_gen_rtx_const_DI): New helper routine.
1415         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1416
1417         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1418
1419         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1420         ASM_OUTPUT_BYTE): Clean up assembly output.
1421         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1422         (ASM_OUTPUT_ASCII): Remove.
1423
1424         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1425
1426 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1427
1428         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1429         before including unwind-dw2-fde.c, if we are not using the
1430         special code in this file.
1431
1432 2001-12-15  Richard Henderson  <rth@redhat.com>
1433
1434         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1435         MASK_EXPLICIT_RELOCS if the assembler supports it.
1436         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1437         * configure, config.in: Rebuild.
1438
1439 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1440
1441         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1442         for rounded_stack_size.
1443
1444 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1445
1446         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1447         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1448         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1449         "bit-field" spellings in messages.
1450         * po/gcc.pot: Regenerate.
1451
1452 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1453
1454         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1455         American spelling in messages.
1456         * po/gcc.pot: Regenerate.
1457
1458 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1459
1460         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1461         constraints from expanders.  Replace \@ with @.
1462
1463 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1464
1465         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1466
1467 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1468
1469         * regrename.c (copyprop_hardreg_forward): Do not keep register
1470         value data live across abnormal call or eh egdes.
1471
1472 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1473
1474         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1475         BIGGEST_ALIGNMENT for 0.
1476
1477 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1478
1479         * predict.def (PRED_NORETURN): Make probabilities match reality.
1480         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1481         Likewise.
1482
1483 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1484
1485         * configure.in: Check for ld.
1486         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1487         * configure, config.in: Rebuilt.
1488         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1489         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1490         frame unwinding on Linux.
1491         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1492         frame unwinding.
1493         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1494         (LINK_EH_SPEC): Define.
1495         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1496         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1497         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1498         iterate further if pc falls into current library, but fde was not
1499         found.
1500         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1501         if using glibc.
1502         (LINK_EH_SPEC): Define.
1503         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1504         Use crtbeginT.o for -static.
1505         (LINK_EH_SPEC): Define.
1506         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1507         * Makefile.in (crtbeginT.o): Add rule.
1508         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1509         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1510         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1511         If none of the above switches are passed, use -lgcc -lgcc_eh.
1512         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1513         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1514         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1515         * unwind-dw2-fde.c: Don't include any headers if this file
1516         is included from other .c file.
1517         * unwind-dw2-fde-glibc.c: New file.
1518         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1519         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1520
1521 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1522
1523         * builtins.c (expand_builtin_memcmp): Mark parameter with
1524         ATTRIBUTE_UNUSED.
1525         * cfgcleanup.c (insns_match_p): Likewise.
1526         * regrename.c (mode_change_ok): Likewise.
1527         * gcc.c (execute): Const-ify.
1528
1529 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
1530
1531         * c-parse.in (typename): Do not split attributes.
1532         Remove unsupported attributes warning.
1533
1534         * c-decl.c (groktypename): Apply attributes.
1535
1536 2001-12-14  Richard Henderson  <rth@redhat.com>
1537
1538         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
1539         initialization as possibly dead.
1540
1541 2001-12-14  Richard Henderson  <rth@redhat.com>
1542
1543         * regrename.c (mode_change_ok): New.
1544         (find_oldest_value_reg): Use it.
1545
1546 2001-12-14  Richard Henderson  <rth@redhat.com>
1547
1548         * regrename.c (struct value_data): Add max_value_regs.
1549         (init_value_data): Initialize it.
1550         (kill_value): Kill values that overlap the dying register.
1551         (set_value_regno): New.
1552         (kill_set_value, kill_autoinc_value, copy_value): Use it.
1553         (copyprop_hardreg_forward_1): Kill earlyclobber operands
1554         before looking at inputs.
1555
1556 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
1557
1558         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
1559         DECL_WEAK for function descriptors.
1560         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
1561         weak support present.
1562         (ASM_WEAKEN_LABEL): Same.
1563
1564 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1565
1566         * config/h8300/h8300.md (anonymous pattern): Add a missing
1567         mode.
1568
1569 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1570
1571         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
1572         comment typo.
1573
1574 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1575
1576         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
1577         Remove the initialization requierment.
1578         (h8300_handle_tiny_data_attribute): Likewise.
1579
1580 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1581
1582         * config/h8300/h8300.md (udivqi3): Remove.
1583         (divqi3): Likewise.
1584         (udivhi3): Likewise.
1585         (divhi3): Likewise.
1586         (umodqi3): Likewise.
1587         (modqi3): Likewise.
1588         (umodhi3): Likewise.
1589         (modhi3): Likewise.
1590         (udivmodqi3): New.
1591         (divmodqi3): Likewise.
1592         (udivmodhi3): Likewise.
1593         (divmodhi3): Likewise.
1594
1595 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1596
1597         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
1598         by active_insn_p; count conditional jump as instruction.
1599
1600 2001-12-14  DJ Delorie  <dj@redhat.com>
1601             Danny Smith  <dannysmith@users.sourceforge.net>
1602
1603         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
1604         at SYM_NAME[0] or SYM_NAME[3].
1605         (STRIP_NAME_ENCODING): Don't check for leading '*'.
1606
1607 2001-12-14  Ira Ruben   <ira@apple.com>
1608
1609         Add -### option (displays driver-generated commands without
1610         executing and quotes all arguments).
1611         * doc/invoke.texi: Add -###.
1612         * gcc.c (verbose_only_flag) - New flag.
1613         * (execute): If -### write quoted arguments and return.
1614         * (display_help): Print meaning of -###.
1615         * (process_command): Handle -###.
1616
1617 2001-12-14  Ira Ruben   <ira@apple.com>
1618
1619         Fix to no allow -save-temps to clobber user's source file.
1620         * gcc.c: Add static globals input_stat and input_stat_set.
1621         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
1622         set, check that user's input file is not overwritten.
1623         (set_input): Reset input_stat_set for each new file.
1624
1625 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1626
1627         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
1628
1629 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
1630
1631         * combine.c (record_dead_and_set_regs): Use
1632         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
1633
1634 2001-12-14  Roger Sayle <roger@eyesopen.com>
1635
1636         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
1637         __builtin_fsqrt to __builtin_sqrt.
1638
1639         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
1640         * doc/extend.texi: Simplify documentation to match patch.
1641
1642 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1643
1644         * config.gcc: Revamp target_cpu_default2 to strings;
1645         support new x86 variants.
1646         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
1647         properly; set prefetch_sse.
1648         * i386.h (x86_prefetch_sse): Declare.
1649         (TARGET_PREFETCH_SSE): New.
1650         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
1651         (TARGET_CPU_DEFAULT_*): New.
1652
1653 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
1654                               Jan Hubicka  <jh@suse.cz>
1655
1656         * config/i386/i386.h (struct processor_costs): Add new members
1657           prefetch_block and simultaneous_prefetches.
1658           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
1659         * config/i386/i386.c (processor_costs structs): Add values for
1660           prefetch_block and simultaneous_prefetches.
1661         * config/i386/i386.md (unspec values): Remove values for prefetch
1662           operations, which now use the PREFETCH rtx code.
1663           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
1664           unified prefetch support.
1665
1666 2001-12-14  Jason Merrill  <jason@redhat.com>
1667
1668         * diagnostic.c (sorry): Increment sorrycount before saving the
1669         buffer state.
1670
1671 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1672
1673         * i386.md (sqrt?f): Fix conditionals.
1674
1675 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
1676
1677         * config.gcc (alpha64-dec-*vms*): New case.
1678         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
1679         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
1680         * config/alpha/xm-vms64.h: Likewise.
1681
1682         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
1683         (alpha_write_linkage): Test for null alpha_links.
1684         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
1685         (vms_section_type_flags, vms_asm_named_section): Handle them.
1686
1687 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1688
1689         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
1690         (override_option): Set ix86_fpmath.
1691         * i386.h (MASK_MIX_SSE_I387): Remove.
1692         (TARGET_SSE_MATH): New.
1693         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
1694         (TARGET_SWITCHES): Remove "mix-sse-i387".
1695         (fpmath_unit): New enum.
1696         (ix86_fpmath, ix86_fpmath_string): Declare.
1697         * i386.md (swapsf): Fix condition.
1698         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
1699         (fp_?f_*_nosse): New.
1700         (fp_*): Use TARGET_SSE_MATH.
1701         * invoke.texi (-mfpmath): Document.
1702         (-msse2): Add.
1703
1704 2001-12-14  Jason Merrill  <jason@redhat.com>
1705
1706         * dwarf2out.c (output_die): Print the string in the comment for
1707         a DW_FORM_strp.
1708
1709 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
1710
1711         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
1712         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
1713         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1714         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
1715
1716 2001-12-13  Richard Henderson  <rth@redhat.com>
1717
1718         * regrename.c (kill_value_regno): Simplify chain removal.
1719         (kill_value): Kill all of HARD_REGNO_NREGS.
1720         (kill_set_value): Use kill_value not kill_value_regno.
1721         (kill_autoinc_value): Likewise.
1722         (copyprop_hardreg_forward): Don't collect refresh_blocks.
1723         Call delete_noop_moves.
1724
1725 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1726
1727         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
1728         for the mode attribute.
1729         (handle_mode_attribute): Handle types, not decls.
1730
1731 2001-12-13  Jason Merrill  <jason@redhat.com>
1732
1733         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
1734
1735 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1736
1737         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
1738         constraint to base register.
1739         (eh_set_lr_si): Same.
1740
1741 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
1742
1743         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
1744         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
1745         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
1746
1747 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1748
1749         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
1750         warning and reformat comments.
1751         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
1752         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
1753         if overflow.
1754
1755 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
1756
1757         * config/rs6000/rs6000.c (rs6000_override_options): Add
1758         SUBSUBTARGET_OVERRIDE_OPTIONS.
1759
1760         * config/rs6000/eabialtivec.h: New file.
1761
1762         * config/rs6000/linuxaltivec.h: New file.
1763
1764         * config.gcc: Add powerpc-*-eabialtivec and
1765         powerpc-*-linux-gnualtivec.
1766
1767 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1768
1769         * toplev.c (process_options, parse_options_and_default_flags):
1770         Set flag_no_inline before the post_options hook.
1771
1772 2001-12-13  Richard Henderson  <rth@redhat.com>
1773
1774         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
1775         is false.
1776
1777 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1778
1779         * collect2.c (COLLECT_SHARED_INIT_FUNC)
1780         (COLLECT_SHARD_FINI_FUNC): Define default values.
1781         (write_c_file_stat): Use them to call construtor and destructor
1782         functions in shared libraries.
1783         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1784         (COLLECT_SHARD_FINI_FUNC): Document them.
1785         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
1786         (COLLECT_SHARD_FINI_FUNC): Define.
1787
1788         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
1789         shared library.  Pass -shared through to the linker.
1790         * config/arm/netbsd.h (LINK_SPEC): Likewise.
1791
1792         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
1793         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
1794         (SHLIB_INSTALL): Define.
1795
1796 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1797
1798         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
1799         the same way as we handle SYMBOL_REFS.
1800
1801 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1802
1803         * loop.c (remove_constant_addition): Fix prototype and whitespace.
1804         (emit_prefetch_instructions): Remove warnings and whitespace
1805         changes.
1806
1807 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
1808
1809         * config/alpha/vms-cc.c (preprocess_args): Fix forward
1810         declaration.
1811
1812 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1813
1814         * predict.c (estimate_probability): Reorganize opcode heuristics.
1815         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
1816         PRED_FPOPCODE): New.
1817
1818         * i386.c (override_options): Recognize various CPU variants and set
1819         SSE/MMX/3dNOW flags accordingly.
1820         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
1821         MASK_3DNOW_A_SET): New.
1822         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
1823         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
1824         (MASK_*): Renumber.
1825         (TARGET_FLAGS): Use new masks.
1826         (CPP_CPU_SPECS): Recognize new CPU variants.
1827         * invoke.texi (-mcpu): Update documentation.
1828
1829         * flags.h (flag_prefetch_loop_arrays): Declare.
1830         * loop.h (LOOP_PREFETCH): Define new constant.
1831         * loop.c (strength_reduce): Call emit_prefetch_instructions.
1832         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
1833         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
1834         constants.
1835         (check_store_data): New structure.
1836         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
1837         New functions.
1838         * toplev.c: Include insn-flags.h.
1839         (flag_prefetch_loop_arrays): New global variable.
1840         (lang_independent_option): Add -fprefetch-loop-arrays.
1841         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
1842         is set.
1843         * Makefile.in (toplev.c): Depend on insn-flags.h.
1844         * invoke.texi (-fprefetch-loop-arrays): Document.
1845
1846         * predict.c (estimate_probability): Distribute the loop exit
1847         probability according to number of exit edges.
1848
1849         * cfgcleanup.c (insns_match_p): Break out from ...;
1850         (flow_find_cross_jump): ... here;
1851         (outgoing_edges_match): Add parameter MODE; attempt to match everything
1852         except for tablejumps.
1853         (try_crossjump_to_edge): Accept complex edges.
1854         (try_crossjump_bb): Likewise.
1855
1856 2001-11-29  Corey Minyard <minyard@acm.org>
1857
1858         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
1859         instead of plus_constant.
1860         * simplify-rtx.c (neg_const_int): New.
1861         (simplify_gen_binary, simplify_plus_minus): Use it.
1862
1863 2001-12-12  Roger Sayle  <roger@eyesopen.com>
1864
1865         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
1866         expand_builtin_strcpy): Additional arguments TARGET and MODE.
1867         (expand_builtin_bzero, expand_builtin_strcpy,
1868         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
1869         TARGET and MODE parameters to the above functions.
1870         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
1871         case where the LEN parameter is constant zero.
1872         (expand_builtin_memcmp): No longer conditional on
1873         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
1874         the cases where len is either constant zero or one.
1875         Optimize to call to memcpy, even if the memcpy isn't inlined.
1876         (expand_builtin_strncpy): Optimize to call memcpy, even if the
1877         memcpy isn't inlined.
1878         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
1879         to optimize to a call to memcmp.
1880         (expand_builtin): expand_builtin_memcmp can always be called,
1881         and pass the required parameters to expand_builtin_memcmp,
1882         expand_builtin_memset, expand_builtin_memcpy and
1883         expand_builtin_strcpy.
1884
1885 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
1886
1887         * config.gcc (arm-*-freebsd*): Add target.
1888         * config/arm/freebsd.h: New file.
1889         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
1890         (CPP_SPEC): #undef before defining.
1891         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
1892         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
1893         -Amachine=arm.
1894         * config/arm/linux-elf.h: Likewise.
1895         * config/arm/netbsd.h: Likewise.
1896         * config/arm/riscix.h: Likewise.
1897         * config/arm/riscix1-1.h: Likewise.
1898         * config/arm/semiaof.h: Likewise.
1899
1900 2001-12-12  Richard Henderson  <rth@redhat.com>
1901
1902         * regrename.c (copyprop_hardreg_forward): New optimization.
1903         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
1904         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
1905         replace_oldest_value_reg, replace_oldest_value_addr,
1906         replace_oldest_value_mem, copyprop_hardreg_forward_1,
1907         debug_value_data, validate_value_data): New.
1908         * rtl.h (copyprop_hardreg_forward): Declare.
1909         * toplev.c (flag_cprop_registers): New.
1910         (f_options): Add -fcprop-registers
1911         (rest_of_compilation): Invoke it.
1912         (parse_options_and_default_flags): Set it at -O1.
1913         * doc/invoke.texi: Document it.
1914
1915 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1916
1917         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
1918         (DEBUG_RANGES_SECTION_LABEL): Define.
1919         (ranges_section_label): Add.
1920         (add_AT_range_list): New.
1921         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
1922         (output_loc_list): Location expression length is always 2-byte.
1923         (output_die): Handle dw_val_class_range_list.
1924         (gen_lexical_block_die): Call add_AT_range_list.
1925         (dwarf2out_init): Initialize ranges_section_label.
1926         (dwarf2out_finish): Emit ranges_section_label.
1927
1928 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1929
1930         * c-typeck.c (digest_init): Allow initializing
1931         static storage duration objects with compound literals.
1932         * doc/extend.texi (Compound literals): Document the extension.
1933
1934 2001-12-12  Richard Henderson  <rth@redhat.com>
1935
1936         * emit-rtl.c (adjust_address_1): Always copy address to avoid
1937         shared rtl.
1938
1939 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
1940
1941         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
1942         to avoid overflow.
1943
1944 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1945
1946         * cppfiles.c (read_include_file): Set buffer size properly when
1947         file is shorter than expected.
1948
1949 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1950
1951         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
1952         enumeral types - encode them using 'i'.
1953
1954 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1955
1956         * doc/extend.texi (Deprecated Features): Deprecate implicit
1957         typename. Document that named return and initializer lists are now
1958         removed.
1959
1960 2001-12-11  Roger Sayle <roger@eyesopen.com>
1961
1962         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
1963         compiler warning about enumeration values not being handled.
1964
1965 2001-12-11  Momchil Velikov  <velco@fadata.bg>
1966
1967         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
1968         shifts.
1969
1970 2001-12-11  Richard Henderson  <rth@redhat.com>
1971
1972         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
1973         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
1974         * config/alpha/alpha.md (prefetch): New.
1975
1976 2001-12-11  Richard Henderson  <rth@redhat.com>
1977
1978         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
1979         if C has only low bits set and doesn't intersect with X or Y.
1980
1981 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
1982
1983         * basic-block.h (flow_preorder_transversal_compute): Declare.
1984         * cfganal.c (flow_preorder_transversal_compute): Implement.
1985
1986 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
1987
1988         * cfganal.c (flow_depth_first_order_compute): Always
1989         increment dfsnum.
1990
1991 2001-11-30 Alan Matsuoka <alanm@redhat.com>
1992
1993         * combine.c (combine_simplify_rtx) : Can't simplify
1994         cases that use mode class MODE_CC.
1995
1996 2001-12-11  Richard Henderson  <rth@redhat.com>
1997
1998         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
1999         which there is no divide expander.
2000
2001 2001-12-11  Richard Henderson  <rth@redhat.com>
2002
2003         * except.c (sjlj_find_directly_reachable_regions): Don't
2004         consider RNL_BLOCKED a directly reachable region.
2005         (sjlj_assign_call_site_values): Trust directly_reachable.
2006         (sjlj_emit_dispatch_table): Likewise.
2007
2008 2001-12-11  Richard Henderson  <rth@redhat.com>
2009
2010         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
2011         we represent the address load's dependency on the gp.
2012         (divmoddi_internal_er): Likewise.
2013         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
2014
2015 2001-12-11  Richard Henderson  <rth@redhat.com>
2016
2017         * emit-rtl.c (widen_memory_access): New.
2018         * expr.h (widen_memory_access): Declare it.
2019         * config/alpha/alpha.c (get_aligned_mem): Use it.
2020
2021 2001-12-11  Richard Henderson  <rth@redhat.com>
2022
2023         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
2024         simplification above out of range check.
2025
2026 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
2027
2028         * config/sparc/sparc.md (prefetch): New.
2029
2030 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2031
2032         * output.h (regno_uninitialized): Make argument unsigned.
2033
2034         * flow.c (regno_uninitialized): Make regno unsigned.
2035
2036 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2037
2038         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
2039         * config/cris/cris.h (ENDFILE_SPEC): Define.
2040         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
2041         * config/pa/elf.h: Likewise.
2042
2043 2001-12-11  Richard Henderson  <rth@redhat.com>
2044
2045         * objc/objc-act.c (build_string_class_template): New.
2046         (build_objc_string_object): Call it.
2047
2048 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
2049
2050         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2051         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2052         * calls.c (store_unaligned_arguments_into_pseudos): Check
2053         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
2054         are passed/returned.
2055         * expr.c (move_block_from_reg): Ditto.
2056         (move_block_from_reg): Ditto.
2057         (copy_blkmode_from_reg): Ditto.
2058         * stmt.c (expand_return): Ditto.
2059         * stor-layout.c (compute_record_mode): If
2060         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
2061         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
2062         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
2063         so that Structures of one field are still treated as structures.
2064         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
2065         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
2066         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
2067         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
2068         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
2069         to special case handling of structure padding.
2070
2071 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
2072
2073         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
2074         (may_trap_exp): Stores only are risk if they trap, too, not just
2075         if code == MEM.
2076
2077 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2078
2079         * flow.c (find_regno_partial): Indent properly.  Add a default to
2080         switch.
2081
2082 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2083
2084         * c-common.c (combine_strings): Complain if concatenating
2085         __FUNCTION__.
2086         * c-parse.in (yylexname): Flag artificial strings.
2087         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
2088 doc:
2089         * extend.texi: Update.
2090
2091 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2092
2093         * c-common.c (type_for_mode): Handle unsigned vectors.
2094         (type_for_mode): Remove redundant calls to TYPE_MODE.
2095
2096         * tree.c (make_vector): New.
2097         (build_common_tree_nodes_2): Use make_vector for vector types.
2098         Add unsigned vector types.
2099
2100         * tree.h (tree_index): Add unsigned types for vectors.
2101         (unsigned_V16QI_type_node): New.
2102         (unsigned_V4SI_type_node): New.
2103         (unsigned_V8QI_type_node): New.
2104         (unsigned_V8HI_type_node): New.
2105         (unsigned_V4HI_type_node): New.
2106         (unsigned_V2SI_type_node): New.
2107
2108 2001-12-11  Stan Shebs  <shebs@apple.com>
2109
2110         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
2111         test of class names.
2112
2113 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2114
2115         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
2116         cpu configuration headers.
2117         * config/h8300/elf.h: Include dbxelf.h.
2118         * config/m68k/linux.h: Likewise.
2119         * config/m68k/m68020-elf.h: Likewise.
2120         * config/m68k/m68kv4.h: Likewise.
2121         * config/sh/elf.h: Likewise.
2122         * config/m68k/m68kemb.h: Add comment about the its purpose.
2123
2124 2001-12-11  Richard Henderson  <rth@redhat.com>
2125
2126         * objc/objc-act.c (build_constructor): Cast initializer values
2127         to the proper field types.
2128
2129 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
2130
2131         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
2132
2133 2001-12-10  Roger Sayle <roger@eyesopen.com>
2134
2135         * builtins.c (expand_builtin): Use a switch statement to list
2136         those functions not expanded without optimizations, instead of a
2137         series of equality tests.
2138
2139 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2140
2141         * config/alpha/vms.h (LIB_SPEC): Define.
2142         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
2143
2144         * libgcc2.c (_bb): Remove ctime declaration.
2145
2146         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
2147         that works if LN_S = cp.
2148
2149         * config/alpha/x-vms (version): Change "." to "_".
2150
2151         * configure.in: Hardcode that vfork works on VMS host.
2152         * configure: Regenerated.
2153
2154 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
2155
2156         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
2157         unless do_obj true.
2158         (process_command): Modify calls to convert_filename.
2159
2160 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2161
2162         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
2163
2164 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
2165
2166         * combine.c (known_cond): Check mode of each operand to determine
2167         if COND is comparing floating point values.
2168
2169 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
2170
2171         * rs6000.h (processor_type): Add PPC405.
2172         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
2173         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
2174         rios1, rs64, and ppc630 processors.
2175         * rs6000.c (processor_target_table): Add PPC405.
2176
2177 2001-12-10  Richard Henderson  <rth@redhat.com>
2178
2179         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
2180         instead of hardcoding subregs into the _be and _le patterns.
2181
2182 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2183
2184         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
2185
2186 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2187
2188         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
2189         what insn does.
2190
2191 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2192
2193         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
2194         copyright notice formerly conditioned on @ifinfo on @ifnottex
2195         instead.
2196
2197 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2198
2199         * vmsdbgout.c (lookup_filename): Remove warning.
2200
2201 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2202
2203         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
2204
2205         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2206         (exeext, target_alias, prefix, local_prefix): Define.
2207         * config/alpha/x-vms (USE_COLLECT2): Make empty.
2208         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
2209         file specifications. Remove ".".
2210         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
2211         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
2212
2213 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2214
2215         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
2216
2217 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2218
2219         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
2220         Add rules for building [vp]crt0.o
2221         * config/alpha/vms.h (START_FILE_SPEC): Define.
2222         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
2223         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
2224         * doc/invoke.texi: Document special Alpha/VMS options.
2225
2226 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2227
2228         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
2229         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
2230         not GNUC.
2231
2232 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2233                           Douglas B. Rupp  <rupp@gnat.com>
2234
2235         * tree.c (append_random_char): Conditionalize INO for VMS.
2236
2237 2001-12-09  Richard Henderson  <rth@redhat.com>
2238
2239         * cfgcleanup.c (label_is_jump_target_p): New function.
2240         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2241         target of a JUMP_INSN from the preceding block.
2242
2243 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2244
2245         * vmsdbgout.c (lookup_filename): Assign null string instead
2246         of null pointer to fnam.
2247
2248 2001-12-09  Richard Henderson  <rth@redhat.com>
2249
2250         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2251         immediately after a call; insert nops before a call.
2252
2253 2001-12-09  Richard Henderson  <rth@redhat.com>
2254
2255         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2256         not FUNCTION_BOUNDARY.
2257         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2258         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2259         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2260
2261 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
2262
2263         * config/mmix/mmix.c (mmix_function_block_profiler,
2264         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2265         unused functions.
2266         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2267         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2268         prototypes.
2269
2270         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2271         Delete obsoleted macros.
2272
2273 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2274
2275         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2276         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2277
2278         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2279         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2280         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2281         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2282         config/i370/i370.c, config/i386/i386.c,
2283         config/i386/i386-interix.h, config/i386/i386.md,
2284         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2285         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2286         config/rs6000/rs6000.h, config/sparc/linux64.h,
2287         config/sparc/sparc.c, config/v850/v850-protos.h,
2288         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2289         spelling errors.
2290
2291 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2292
2293         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2294         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2295
2296         * config/rs6000/rs6000.c: Ditto.
2297
2298         * config/rs6000/rs6000.md: Ditto.
2299
2300 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2301
2302         * 1750a.md: Add default case in switch.
2303         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2304         if-else statement.
2305         * dsp16xx.c (print_operand_address): Likewise.
2306         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2307         * ia64.md: Add missing braces.
2308         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2309         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2310         if-else statement.
2311         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2312         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2313         * dbxout.c (dbxout_source_file): Move a variable into the scope
2314         where it is used.
2315         * final.c (profile_function): Mark parameter with
2316         ATTRIBUTE_UNUSED.
2317         * genemit.c (gen_expand): Likewise for generated file.
2318         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2319
2320         * vmsdbg.h: Delete spurious close-comment.
2321         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2322         * vmsdbgout.c (write_modbeg): Define return type.
2323
2324         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2325         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2326         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2327         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2328         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2329         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2330         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2331
2332 2001-12-08  Tom Rix  <trix@redhat.com>
2333
2334         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2335         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2336         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2337         for powerpc64.
2338         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2339         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2340         * config/rs6000/rs6000.c (expand_block_move): Do not use
2341         gen_movstrsi_2reg and powerpc64.
2342
2343 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2344
2345         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2346         RID_TYPES_COMPATIBLE_P.
2347
2348         * c-parse.in (reswords): Add __builtin_choose_expr.
2349         Add __builtin_types_compatible_p.
2350         Add CHOOSE_EXPR token.
2351         Add TYPES_COMPATIBLE_P token.
2352         Add production for CHOOSE_EXPR.
2353         Add production for TYPES_COMPATIBLE_P.
2354
2355         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2356         (__builtin_types_compatible_p): Likewise.
2357
2358 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2359
2360         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2361         to unions.
2362
2363 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2364
2365         * c-parse.in: Take string literals in assembler constructs,
2366         not expressions.
2367         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2368         check the strings are STRING_CSTs.
2369
2370 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2371
2372         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2373         using combine_strings to do the concatenation.
2374         * c-parse.in: Replace uses of the string non-terminal with STRING.
2375         Don't attempt string concatenation.
2376         (OBJC_STRING): New terminal.
2377         (string): Remove non-terminal.
2378         (_yylex): Call combine_strings on function names.  Generate
2379         OBJC_STRING terminals; don't pass '@' on to yacc.
2380         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2381         (build_asm_stmt): Similarly.
2382
2383 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2384
2385         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2386
2387 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2388
2389         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2390         (prefetch): Rewrite using PREFETCH RTL primitive.
2391         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2392         * arm.c (arm_init_builtins): Don't initialize a builtin for
2393         __builtin_prefetch here.
2394         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2395
2396 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2397
2398         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2399         in test for a subreg.
2400
2401 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2402
2403         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2404         strings.
2405
2406 2001-12-07  Richard Henderson  <rth@redhat.com>
2407
2408         * doc/extend.texi: Fix typo last change.
2409
2410         * c-decl.c (c_language): Remove duplicate.
2411
2412 2001-12-07  Dale Johannesen  <dalej@apple.com>
2413
2414         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2415         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2416         specific codegen, eliminate a register copy.
2417         (print_operand_address): Add support for Darwin's lo16(constant)
2418         syntax.
2419         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2420         generation of addresses within very large data objects.
2421         (s8bit_cint_operand):  New.
2422         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2423         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2424         Add imul2 and imul3 insn types for multiplication by 16- and
2425         8-bit constants.
2426         Change tablejump patterns to strongly discourage using LR
2427         rather than CTR.
2428         Add %lo16 patterns for Darwin loads and stores.
2429
2430 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2431
2432         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2433
2434 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2435
2436         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2437         with %sp because it can cause the delayed instruction to load
2438         below the stack.
2439
2440 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2441
2442         * alpha.c (alpha_expand_unaligned_store,
2443         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2444         call to immed_double_const.
2445
2446 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2447
2448         * doc/extend.texi (Variable Attributes): Document vector_size.
2449
2450         * attribs.c (c_common_attribute_table): Add vector_size.
2451         (handle_vector_size_attribute): New.
2452         (vector_size_helper): New.
2453         (decl_attributes): Relayout the decl after calculating attribs.
2454
2455 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2456
2457         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2458         description for Trouble section.
2459         * doc/install-old.texi: Adjust for inclusion as chapter of new
2460         installation manual.
2461         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2462         Adjust to include old installation chapter as chapter of new
2463         installation manual.
2464
2465 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2466
2467         * rtl.h (get_jump_table_offset): Declare.
2468         * rtlanal.c (get_jump_table_offset): Implement.
2469
2470 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2471
2472         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2473         Deleted; were used only by BB profiler code.
2474         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2475         (end_final): Delete now-unused vars I, PTR, and SPTR.
2476
2477         * expr.c (store_field): Remove warning.
2478         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2479         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2480         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2481         divisor constant power of 2.
2482         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2483
2484 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2485
2486         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2487         shifting.
2488
2489 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2490
2491         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2492         (DWARF_FRAME_REGISTERS): Delete.
2493
2494 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2495
2496         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2497         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2498         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2499         with defaults for read prefetch with high degree of locality.
2500         * doc/extend.texi (__builtin_prefetch): Update documentation.
2501         * doc/md.texi (prefetch): Add documentation.
2502
2503 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2504
2505         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2506         UNIX V5.1A stdio.h.
2507         * fixinc/fixincl.x: Regenerate.
2508         Fixes PR libf2c/4826.
2509
2510 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2511             Richard Henderson  <rth@redhat.com>
2512
2513         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2514         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2515
2516         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2517         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2518         (frame_state): Same.
2519         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2520
2521 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2522
2523         * langhooks.c (lhd_staticp): Mark parameter with
2524         ATTRIBUTE_UNUSED.
2525
2526 2001-12-06  H.J. Lu <hjl@gnu.org>
2527
2528         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
2529         reduce noise.
2530         (.po.pox): Likewise.
2531         (o/$(PACKAGE).pot): Likewise.
2532
2533 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
2534
2535         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
2536         * tree-inline.c (expand_call_inline): ... here.
2537
2538 2001-12-06  H.J. Lu <hjl@gnu.org>
2539
2540         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
2541         (.po.pox): Likewise.
2542         (o/$(PACKAGE).pot): Likewise.
2543
2544 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
2545
2546         * config.gcc: Include dbxelf.h before elfos.h.
2547         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
2548
2549 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
2550
2551         * cppfiles.c (open_file): If we've opened a directory by
2552         mistake, close it.
2553         (find_include_file): Avoid turning / into // or // into ///.
2554
2555 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2556
2557         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
2558         (STRUCT_VALUE_REGNUM): Restore definition.
2559
2560 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
2561
2562         * flow.c (find_regno_partial): Return register, not the expression
2563         the register is in.
2564
2565 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2566
2567         * function.c (handle_epilogue_set): Check for FP setting case when
2568         SP is set from FP in same insn.
2569
2570 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2571
2572         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
2573         RTX when calling alter_subreg().
2574         (store_multiple_sequence): Pass pointer to RTX when calling
2575         alter_subreg().
2576
2577 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2578
2579         * function.c (assing_parms): Fix typo in last change.
2580         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
2581         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
2582         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2583         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
2584
2585 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
2586
2587         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
2588         correct code selecting section.
2589
2590 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2591
2592         * final.c (count_basic_block, add_bb, add_bb_string):
2593         Kill.
2594         (end_final, final_start_function, final, final_scan_insn,
2595         leaf_function_p): Kill BB profiler related code.
2596         * flags.h (profile_block_flag): Kill.
2597         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
2598         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
2599         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
2600         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
2601         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
2602         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
2603         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
2604         __bb_init_trace_func): Kill.
2605         * toplev.c (profile_block_flag): Kill.
2606         (indepdendent_decode_option, process_options): Kill -a related code.
2607         * alpha.c (direct_call_operand): Likewise.
2608         * arm.c (arm_expand_prologue, thumb_expand_prologue,
2609         thumb_expand_epilogue): Likewise.
2610         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
2611         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2612         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2613         MACHINE_STATE_RESTORE): Kill.
2614         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2615         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2616         MACHINE_STATE_RESTORE): Kill.
2617         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2618         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
2619         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
2620         code.
2621         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
2622         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2623         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2624         MACHINE_STATE_RESTORE): Kill.
2625         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2626         * i960.c (i960_output_function_prologue): Kill BB profiler related
2627         code.
2628         * ia64.c (ia64_compute_frame_size): Likewise.
2629         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2630         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2631         MACHINE_STATE_RESTORE): Kill.
2632         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
2633         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2634         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2635         MACHINE_STATE_RESTORE): Kill.
2636         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
2637         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2638         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2639         MACHINE_STATE_RESTORE): Kill.
2640         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
2641         Kill BB profiler related code.
2642         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2643         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2644         MACHINE_STATE_RESTORE): Kill.
2645         * mips.c (mips_expand_prologue): Kill BB profiler related code.
2646         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2647         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2648         MACHINE_STATE_RESTORE): Kill.
2649         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
2650         * s960.c (s390_function_prologue): Kill BB profiler related code.
2651         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2652         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2653         MACHINE_STATE_RESTORE): Kill.
2654         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2655         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2656         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2657         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2658         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
2659         sparc_nonflat_function_epilogue): Kill BB profiler related code.
2660         (sparc_function_block_profiler, sparc_block_profiler,
2661         sparc_function_block_profiler_exit): Kill.
2662         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
2663         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2664         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2665         MACHINE_STATE_RESTORE): Kill.
2666         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2667         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2668         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2669         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2670         MACHINE_STATE_RESTORE): Kill.
2671         * doc/invoke.texi: Kill documentation of -a and -ax.
2672         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2673         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2674         MACHINE_STATE_RESTORE): Kill.
2675
2676 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
2677
2678         * doc/rtl.texi: Use a table to display RTL format characters.
2679
2680 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
2681
2682         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
2683
2684 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2685
2686         * function.c (keep_stack_depressed): Check global_live_at_start
2687         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
2688
2689 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
2690
2691         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
2692         as set by the generic FreeBSD configure framework.
2693
2694 2001-12-04  Jason Merrill  <jason@redhat.com>
2695
2696         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2697         start_inlining, end_inlining.
2698         * tree-inline.c (expand_call_inline): Call them.
2699         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
2700         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
2701         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
2702         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
2703         (lhd_tree_inlining_end_inlining): New fn.
2704
2705 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2706
2707         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
2708         * c-common.h (shadow_warning): New.
2709         * c-decl.c: Include c-common.h.
2710         (warn_if_shadowing): New, broken out of pushdecl.
2711         (pushdecl): Use warn_if_shadowing.
2712         (store_parm_decls): Prevent duplicate -Wshadow warnings.
2713
2714 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
2715
2716         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
2717         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
2718         (LIB_SPEC): Remove.
2719
2720 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2721
2722         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
2723         (QUAL_UNION_TYPE): New type.
2724
2725         * varasm.c (output_constant, case ERROR_MARK): New case.
2726
2727         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
2728         (c_com): Delete its reference.
2729         * builtins.c: Delete memory checking code.
2730         * calls.c, expr.c, function.c, stmt.c: Likewise.
2731         * builtins.c (expand_builtin_arg_info): Remove reference to
2732         EXPAND_MEMORY_USE_* modifiers.
2733         * explow.c (expr_size): Likewise.
2734         * expr.c (expand_expr, expand_increment): Likewise.
2735         * expr.h (ARGS_SIZE_RTX): Likewise.
2736         * function.c (assign_parms, expand_pending_sizeso): Likewise.
2737         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
2738         * expr.c (in_check_memory_usage): Delete.
2739         (get_push_address, get_memory_usage_from_modifier): Delete.
2740         (expand_assigment): Use EXPAND_WRITE on destination.
2741         (expand_expr): Delete ro_modifier.
2742         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
2743         add EXPAND_WRITE.
2744         (memory_use_mode): Delete.
2745         * flags.h (flag_check_memory_usage): Deleted.
2746         (flag_prefix_function_name): Likewise.
2747         * function.c (expand_function_start): Don't set
2748         current_function_check_memory_usage.
2749         * function.h (check_memory_usage): Delete.
2750         * libfuncs.h, optabs.c: Delete chkr_* stuff.
2751         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
2752         EXPAND_WRITE.
2753         * toplev.c (flag_check_memory_usage): Deleted.
2754         (flag_prefix_function_name): Likewise.
2755         (f_options, process_options): Delete references to above.
2756         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
2757         * varasm.c (CHKR_PREFIX): Deleted.
2758         (make_decl_rtl): Remove flag_prefix_function_name handling.
2759         (assemble_name): Likewise.
2760         * doc/extend.texi: Remove no_check_memory_usage attribute.
2761         * doc/invoke.texi: Remove -fcheck-memory-usage
2762         and -fprefix-function-name.
2763
2764 2001-12-05  Andreas Schwab  <schwab@suse.de>
2765
2766         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
2767         from autoconf.
2768
2769 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
2770
2771         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
2772
2773 2001-12-05  William Cohen  <wcohen@redhat.com>
2774
2775         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
2776         instruction.
2777
2778 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
2779
2780         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
2781         builtins.
2782
2783         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
2784         better reflect reality (change from Apple's tree).
2785         Add more of altivec instructions.
2786         Add ftruncv4sf2 pattern.
2787         Remove more unspecs (vector merge instructions, etc).
2788
2789         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
2790         builtins.
2791         (bdesc_1arg): New, for 1 argument altivec builtins.
2792         (altivec_expand_builtin): Handle unary and ternary ops.
2793         (altivec_init_builtins): Ditto.
2794
2795 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2796
2797         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
2798         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2799
2800 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2801
2802         * gcse.c (store_killed_in_insn): Consider pure calls
2803         as potential store killers in addition to normal calls.
2804
2805 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2806
2807         * expr.c (expand_expr): When checking promoted value, use
2808         DECL_MODE (exp) and not mode.
2809
2810 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2811
2812         * c-typeck.c (output_init_element): Call digest_init
2813         just once, not in each if branch and check its return value for
2814         error_mark_node.
2815
2816 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2817
2818         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
2819         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
2820         (finish_struct): Break the loop if n_incomplete went to 0.
2821         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
2822
2823 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
2824
2825         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
2826
2827 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2828                           Douglas B. Rupp  <rupp@gnat.com>
2829
2830         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
2831         * doc/invoke.texi: Add -gvms.
2832         * doc/passes.texi: Add mention of vmsdbgout.c.
2833         * doc/tm.texi: Document VMS debugging output.
2834
2835 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2836
2837         * function.h (tree, rtx): Remove no-longer-needed definitions.
2838
2839         * function.c (keep_stack_depressed): Refine check for register
2840         clobbered over call.
2841
2842         * expr.c (store_expr): When copying string constant into array,
2843         use functions that update memrefs instead of computations on
2844         addresses to better track MEMs.  Also properly handle 32/64 pointers.
2845         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
2846         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
2847
2848         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
2849         underneath COMPONENT_REFs.
2850         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
2851
2852 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2853
2854         * toplev.c (display_target_options): Don't print twice.
2855
2856 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
2857
2858         * emit-rtl.c (set_unique_reg_note): Don't set
2859         a REG_EQUAL or REG_EQUIV note if multiple sets
2860         are present.
2861
2862 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2863
2864         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
2865         CASE_DROPS_THROUGH.
2866
2867 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2868
2869         * rtl.h (initialize_uninitialized_subregs): New prototype.
2870         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
2871         when optimization is on.
2872         * flow.c (find_regno_partial): Find subregs within an expression.
2873         (initialize_uninitialized_subregs): Initialize live on entry registers
2874         which are used in subreg expressions.
2875
2876 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
2877
2878         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
2879
2880 2001-12-04  DJ Delorie  <dj@redhat.com>
2881
2882         * fixinc/fixincl.c (initialize): Avoid problemsome macro
2883         parameter names (PR 3388).
2884
2885 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
2886
2887         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
2888         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
2889
2890 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2891
2892         * c-common.def (COMPOUND_LITERAL_EXPR): New.
2893         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
2894         (c_staticp): New function.
2895         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
2896         (c_staticp): Declare.
2897         * c-typeck.c (default_function_array_conversion, build_unary_op):
2898         Don't handle CONSTRUCTOR specially.
2899         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
2900         * c-decl.c (build_compound_literal): New function.
2901         * c-tree.h (build_compound_literal): Declare.
2902         * c-parse.in (primary): Use build_compound_literal.
2903         * c-lang.c (LANG_HOOKS_STATICP): Define.
2904         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
2905         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
2906         * doc/extend.texi: Update documentation of compound literals.
2907         Fixes PR c/4787.
2908
2909 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2910
2911         * langhooks.h (struct lang_hooks): Add staticp.
2912         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
2913         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
2914         * langhooks.c (lhd_staticp): New function.
2915         * tree.c (staticp): Call lang_hooks.staticp for language-specific
2916         tree codes.
2917
2918 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2919
2920         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
2921         * gcc.c (process_command): Ensure the cpp driver sees
2922         --help and --target-help, and that the help is printed
2923         exactly once.
2924
2925 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
2926
2927         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2928
2929 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
2930
2931         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
2932         flag_strict_aliasing.  Use separate assignment statements.
2933
2934 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
2935
2936         * build-make, cross-make: Delete file.
2937         * configure.in: Set and substitute CROSS, ALL,
2938         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
2939         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
2940         whether build == host and host == target.  Do not
2941         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
2942         AC_SUBST cross_defines or extra_c_flags.
2943         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
2944         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
2945         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
2946         partially or completely with autoconf-substituted @variable@
2947         notation.
2948         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
2949         @build_overrides@, @extra_c_flags@, all.build, install-build,
2950         install-cross-rest, install-float-h-cross): Deleted.
2951         (install-normal): Rename to install.  Delete old "install"
2952         indirection rule.
2953
2954 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2955
2956         * stmt.c (expand_return): Clear destination instead of clobbering it
2957         when setting a return value via bitsets.
2958
2959 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
2960
2961         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
2962         it has DECL_SAVED_TREE.
2963
2964         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
2965         is in a different binding level, get its abstract origin to be
2966         olddecl.
2967         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
2968         check earlier.
2969         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
2970         DECL_INITIAL is NULL.
2971
2972 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2973
2974         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
2975         Return correct value if one of the subexpressions was optimized to
2976         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
2977         (and_reg_cond): Similarly.
2978
2979 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2980
2981         * function.c (assign_parms): Set last_named only for last named
2982         argument.
2983
2984 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2985
2986         * doc/install.texi: Use the GFDL.  Include years from old install
2987         manual in copyright notice.  Include copyright and GFDL notice on
2988         HTML index page.  Include usual footer on testing.html.
2989         * doc/install.texi2html: Build gfdl.html.  Use -I
2990         $SOURCEDIR/include.
2991         * doc/include/fdl.texi: Adapt for use in the install manual.
2992
2993 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2994
2995         * doc/install.texi: Document that installed native compiler for
2996         building cross compilers should be GCC 2.95 or later.
2997
2998 2001-12-03  Eric Christopher  <echristo@redhat.com>
2999
3000         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
3001         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
3002         patterns.
3003
3004 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
3005
3006         * rtl.def (PREFETCH): New rtx code.
3007         * doc/rtl.texi (PREFETCH): Add documentation.
3008         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
3009         * rtlanal.c (reg_referenced_p): Ditto.
3010         * sched-vis.c (print_exp):  Ditto.
3011         * ssa-dce.c (find_inherently_necessary):  Ditto.
3012
3013         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
3014           (PREFETCH_BLOCK): Define.
3015         * config/ia64/ia64.md (itanium_class): Add lfetch.
3016           (prefetch, prefetch_internal): New.
3017
3018         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
3019         * builtins.def (BUILT_IN_PREFETCH): New.
3020         * builtins.c (expand_builtin_expect): New.
3021           (expand_builtin): Call it.
3022         * doc/extend.texi: Document __builtin_prefetch.
3023
3024         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
3025           conflicts with new generic prefetch functionality.
3026         * config/i386/i386.c (ix86_expand_builtin): Use new name for
3027           prefetch_sse.
3028
3029 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
3030
3031         * objc/Make-lang.in: Update copyright.
3032         (OBJC_OBJS): Add objc-lang.o.
3033         (objc-lang.o): New rule.
3034         * objc/config-lang.in: Fix file description and update
3035         copyright.
3036         * objc/objc-act.c: Do not include langhooks.h and
3037         langhooks-def.h
3038         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
3039         (objc_post_options): Move to objc-lang.c.
3040         (objc_init_options): Move to objc-lang.c.
3041         (objc_init): Make non-static.
3042         (objc_decode_option): Make non-static.
3043         (HASHFUNCTION): Remove macro.
3044         (hash_func): New function.
3045         (hash_enter): Replace HASHFUNCTION with hash_func.
3046         (hash_lookup): Replace HASHFUNCTION with hash_func.
3047         (maybe_objc_tree_codes): New function.
3048         (init_objc): Move ObjC tree code initialization to
3049         maybe_objc_tree_codes().
3050         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
3051         (objc_init): New public prototype.
3052         (objc_decode_option): New public prototype.
3053         (maybe_add_objc_tree_codes): New public prototype.
3054         * objc/objc-lang.c: New file.
3055         (lang_hooks): Moved from objc-act.c.
3056         (objc_post_options): Moved from objc-act.c.
3057         (objc_init_options): Moved from objc-act.c.
3058
3059 2001-12-03  Geoff Keating  <geoffk@redhat.com>
3060
3061         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
3062         of array elements.
3063
3064 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3065
3066         PR c/4988
3067         * gcc.c (process_command): Don't add a preprocessor option for
3068         --help and --target-help; cc1 is enough.
3069
3070 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3071
3072         * c-decl.c (grokdeclarator): Use ISO word.
3073         * cppinit.c: Remove leading capital from diagnostic messages, as
3074         per GNU coding standards.
3075         * emit-rtl.c: Similarly.
3076         * final.c: Similarly.
3077         * gcc.c: Similarly.
3078         * tradcpp.c: Similarly.
3079         * config/arm/arm.c: Similarly.
3080         * config/arm/arm.h: Similarly.
3081         * config/avr/avr.c: Similarly.
3082         * config/avr/avr.h: Similarly.
3083         * config/c4x/c4x.c: Similarly.
3084         * config/cris/cris.c: Similarly.
3085         * config/cris/cris.h: Similarly.
3086         * config/d30v/d30v.c: Similarly.
3087         * config/dsp16xx/dsp16xx.c: Similarly.
3088         * config/dsp16xx/dsp16xx.h: Similarly.
3089         * config/h8300/h8300.c: Similarly.
3090         * config/i386/i386.c: Similarly.
3091         * config/i386/xm-djgpp.h: Similarly.
3092         * config/i960/i960.h: Similarly.
3093         * config/m32r/m32r.c: Similarly.
3094         * config/m68hc11/m68hc11.c: Similarly.
3095         * config/m88k/m88k.c: Similarly.
3096         * config/m88k/m88k.h: Similarly.
3097         * config/mcore/mcore.c: Similarly.
3098         * config/mcore/mcore.h: Similarly.
3099         * config/mips/mips.c: Similarly.
3100         * config/mmix/mmix.c: Similarly.
3101         * config/pa/pa.c: Similarly.
3102         * config/rs6000/rs6000.c: Similarly.
3103         * config/rs6000/sysv4.h: Similarly.
3104         * config/s390/s390.c: Similarly.
3105         * config/sparc/sparc.c: Similarly.
3106         * config/v850/v850-c.c: Similarly.
3107         * config/v850/v850.c: Similarly.
3108
3109 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
3110
3111         * rs6000.h (RETURN_IN_MEMORY): Cast result of
3112         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
3113
3114 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
3115
3116         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
3117         bit twiddling constant.
3118
3119 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3120
3121         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
3122         call purge_dead_edges after removing.
3123         (delete_null_pointer_checks): Do not handle delete_list.
3124
3125         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
3126         (count_basic_blocks): ... here.
3127         (find_basic_blocks, find_bb_boundaries): Cleanup.
3128
3129         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
3130         overflow for types greater then 2 * HOST_WIDE_INT.
3131
3132         * reload.c (find_reloads): Update the duplicates after swapingg.
3133
3134 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3135
3136         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
3137
3138 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
3139
3140         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
3141         MASK_LONG_DOUBLE_128): Delete.
3142         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
3143         TARGET_AIX_STRUCT_RET): New flags.
3144         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
3145         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
3146         and -m(no-)svr4-struct-return.
3147         (TARGET_OPTIONS): Add entry for -mlong-double-.
3148         (rs6000_long_double_size_string, rs6000_long_double_type_size,
3149         rs6000_altivec_abi): Declare.
3150         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
3151         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
3152         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
3153         structures of size <= 8 bytes in registers.
3154         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
3155
3156         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
3157         rs6000_long_double_type_size, rs6000_altivec_abi): New
3158         globals.
3159         (rs6000_override_options): Set rs6000_long_double_type_size
3160         from rs6000_long_double_size_string, if nonzero.  Set the
3161         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
3162         not already set.
3163         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
3164         target_flags bit.
3165         (rs6000_init_builtins): This hook now takes no arguments.
3166
3167         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
3168         DRAFT_V4_STRUCT_RET to 1.
3169
3170 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3171
3172         * c-typeck.c (really_start_incremental_init, push_init_level):
3173         Avoid constructor_max_index being other than an INTEGER_CST.
3174
3175 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3176
3177         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
3178         unsigned.
3179         (ASM_GENERATE_INTERNAL_LABEL): Same.
3180         (UNIQUE_SECTION): Fix typo.
3181
3182 2001-12-02  Richard Henderson  <rth@redhat.com>
3183
3184         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
3185
3186 2001-12-02  Richard Henderson  <rth@redhat.com>
3187
3188         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
3189         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
3190         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
3191         * expr.h, final.c, reload1.c: Adjust users.
3192
3193         * alias.c (nonoverlapping_component_refs_p): New.
3194         (decl_for_component_ref, adjust_offset_for_component_ref): New.
3195         (nonoverlapping_memrefs_p): Use them.
3196         * emit-rtl.c (component_ref_for_mem_expr): New.
3197         (set_mem_attributes): Use it.
3198         (set_mem_offset): New.
3199         * expr.c (expand_assignment): Call set_mem_attributes for
3200         inner references; adjust the memory offset as needed.
3201         * print-rtl.c (print_mem_expr): New.
3202         (print_rtx): Use it.
3203
3204 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
3205
3206         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
3207
3208         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
3209         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
3210         (ASM_SPEC): Don't redefine.
3211         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
3212         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
3213         * config/alpha/vms-dwarf2.asm: New file.
3214
3215         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
3216         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
3217         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
3218         (vmsdbgout_after_prologue): New declaration.
3219         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
3220         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
3221         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
3222         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
3223         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
3224         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
3225         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
3226         Test VMS_DEBUGGING_INFO.
3227         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
3228         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
3229         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
3230         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
3231         VMS_AND_DWARF2_DEBUG.
3232         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
3233         (decode_g_option): Add "vms" to debug_type_names.
3234         (process_options): Set vmsdbg_debug_hooks if -gvms.
3235         (lang_independent_init): Emit line number for VMS unless -g0.
3236         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3237         * vmsdbg.h, vmsdbgout.c: New files.
3238
3239 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3240
3241         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3242
3243 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3244
3245         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3246         * dwarf2out.c (is_cxx): Prototype.
3247         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3248         warning.
3249         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3250
3251 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3252
3253         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3254
3255 2001-12-02  Geoff Keating  <geoffk@redhat.com>
3256
3257         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3258         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3259         rather than simplify_subreg.  Check for volatile-ness.  Check that
3260         we're not splitting one slow operation into two slow operations.
3261
3262 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3263
3264         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3265         before shifting.
3266
3267 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3268
3269         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3270         capital from diagnostics.
3271         * c-lex.c (cb_file_change): Similarly.
3272         * c-parse.in : Similarly.
3273         * cfgrtl.c (verify_flow_info): Similarly.
3274         * collect2.c: Similarly.
3275         * cppfiles.c (find_include_file): Similarly.
3276         * cppinit.c (cpp_handle_option): Similarly.
3277         * cpplex.c (cpp_spell_token): Similarly.
3278         * cppmain.c (do_preprocessing): Similarly.
3279         * gcc.c (translate_options, process_command, do_spec1,
3280         main, pfatal_execute): Similarly.
3281         * genattr.c (main): Similarly.
3282         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3283         write_test_expr, main): Similarly.
3284         * gencodes.c (main): Similarly.
3285         * genconfig.c (main): Similarly.
3286         * genconstants.c (main): Similarly.
3287         * genemit.c (main): Similarly.
3288         * genextract.c (main): Similarly.
3289         * genflags.c (main): Similarly.
3290         * genopinit.c (main): Similarly.
3291         * genoutput.c (process_template, main): Similarly.
3292         * genpeep.c (main): Similarly.
3293         * genrecog.c (main): Similarly.
3294         * gensupport.c (is_predicable, identify_predicable_attribute,
3295         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3296         * ggc-page.c (alloc_anon): Similarly.
3297         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3298         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3299         parse_stabs_common, parse_stabs, write_varray, write_object,
3300         read_seek, copy_object, main, error): Similarly.
3301         * profile.c (compute_branch_probabilities): Similarly.
3302         * reg-stack.c (check_asm_stack_operands): Similarly.
3303         * reload.c (find_reloads): Similarly.
3304         * reload1.c (spill_failure, failed_reload): Similarly.
3305         * rtl-error.c (_fatal_insn_not_found): Similarly.
3306         * toplev.c (read_integral_parameter, crash_signal,
3307         decode_f_option, set_target_switch, parse_options_and_default_flags)
3308         : Similarly.
3309         * tradcif.y (parse_number, yylex): Similarly.
3310         * tradcpp.c (main, fancy_abort): Similarly.
3311         * tree.c (tree_check_failed): Similarly.
3312         * varray.c (varray_check_failed): Similarly.
3313         * xcoffout.c (xcoff_output_standard_types): Similarly.
3314 objc:
3315         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3316         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3317         finish_message_expr, build_protocol_expr, is_public,
3318         start_class): Similarly.
3319
3320 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3321
3322         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3323         trailing period from diagnostics.
3324         * c-lex.c (cb_file_change): Similarly.
3325         * cppmacro.c (check_trad_stringification): Similarly.
3326         * gcc.c (do_spec_1): Similarly.
3327         * genattr.c (main): Similarly.
3328         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3329         * gencodes.c (main): Similarly.
3330         * genconfig.c (main): Similarly.
3331         * genconstants.c (main): Similarly.
3332         * genemit.c (main): Similarly.
3333         * genextract.c (main): Similarly.
3334         * genopinit.c (main): Similarly.
3335         * genoutput.c (main): Similarly.
3336         * genpeep.c (main): Similarly.
3337         * genrecog.c (main): Similarly.
3338         * mips-tfile.c (add_file, error): Similarly.
3339         * profile.c (init_branch_prob): Similarly.
3340         * reload1.c (spill_failure): Similarly.
3341         * stmt.c (parse_output_constraint): Similarly.
3342         * varasm.c (assemble_variable): Similarly.
3343
3344 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3345
3346         * m68k.c (init_FPA_table): Provide static prototype.
3347         * mips/abi64.h (mips_function_value): Move prototype to ...
3348         * mips-protos.h (mips_function_value): ... here.
3349         * mips.c: Include halfpic.h.
3350         * output.h (rdata_section): Prototype.
3351
3352         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3353         * m88k.c (m88k_svr3_asm_out_constructor,
3354         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3355         !OBJECT_FORMAT_ELF.
3356         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3357         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3358         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3359
3360 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3361
3362         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3363         LO_SUM addresses less than word size are not legitimate,
3364         because they lead to invalid SUBREGs.
3365         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3366
3367 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3368
3369         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3370         while scanning for multiple back edges.
3371
3372 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3373
3374         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3375         * config/rs6000/tramp.asm: Use it.
3376
3377 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3378
3379         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3380         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3381         xmalloc.
3382
3383 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3384
3385         * pa.c (output_ascii): Cast `p' to unsigned char.
3386
3387 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3388
3389         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3390         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3391         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3392         (altivec_init_builtins): Ditto.
3393         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3394
3395         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3396         veccomplex, vecfloat, and vecperm, for altivec instructions.
3397         Modify altivec patterns to use appropriate attribute type.
3398         Modify altivec patterns to match RTL operations where appropriate
3399         (IE no unspec where we can avoid it).
3400         Add vector unit scheduling for ppc7450.
3401         Rename patterns to what they are where appropriate
3402         (altivec_vaddfp->addv4sf3, etc)
3403
3404         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3405         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3406
3407         * config/rs6000/sysv4.h: Add -mcpu=7450.
3408
3409         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3410         _builtin_altivec_ld_interal function.
3411
3412 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3413
3414         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3415         strchr, strrchr, isascii, gettimeofday.
3416         * config.in, configure: Regenerate.
3417
3418 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3419
3420         * unroll.c (unroll_loop): Correct special exit cases.
3421
3422 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3423
3424         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3425         accept DFmode and DImode only.
3426
3427 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3428
3429         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3430         (STACK_DYNAMIC_OFFSET): Same.
3431
3432 2001-11-30  Richard Henderson  <rth@redhat.com>
3433
3434         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3435
3436 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3437
3438         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3439         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3440         the values in call_used_registers.
3441
3442 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3443
3444         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3445         gthr-single.
3446
3447 2001-11-30  Jason Merrill  <jason@redhat.com>
3448
3449         * dwarf2out.c (is_cxx): New fn.
3450         (add_data_member_location_attribute): Check it.
3451         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3452
3453 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3454
3455         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3456
3457 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3458
3459         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3460         MODE_VECTOR_FLOAT as allowed.
3461
3462 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3463
3464         Purge cruft now we have build libiberty.
3465
3466         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3467         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3468         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3469         USE_HOST_STRSTR): Delete variables.
3470         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3471         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3472         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3473         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3474         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3475         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3476         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3477         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3478         (HOST_LIBS): Ditto.
3479         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3480         (OBJS): Remove splay-tree.o.
3481         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3482         (distclean): No need to delete splay-tree.c obstack.c
3483         hashtab.c safe-ctype.c.
3484         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3485         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3486         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3487         Delete.
3488         * configure.in: Don't use them.
3489         Set and substitute @FORBUILD@.
3490         * config.in, configure: Regenerate.
3491         * doprint.c: Move to libiberty/_doprnt.c.
3492         * doc/configterms.texi: Document that libiberty is now built
3493         up to three times.  Fix typo.
3494
3495 2001-11-30  Jason Merrill  <jason@redhat.com>
3496
3497         * dwarf2out.c (add_data_member_location_attribute): Do the
3498         right thing for virtual bases.
3499         * dbxout.c (dbxout_type): For a virtual base, print the offset
3500         within the vtable.
3501
3502 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3503
3504         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3505
3506 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3507
3508         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3509         go in memory.
3510         Remove unused attribute for named.
3511
3512 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3513
3514         * genattrtab.c (attr_rtx_1): New function containing the
3515         majority of `attr_rtx'.  Move variable declarations into the
3516         scope where they are used.  Eliminate unnecessary gotos.
3517         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3518         VA_FIXEDARG, and VA_CLOSE.
3519
3520 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3521
3522         * config/cris/cris.c (cris_notice_update_cc): Check first
3523         destination also against overlap with cc_status.value2 and second
3524         destination against overlap with cc_status.value1.  For overlaps,
3525         clear overlapped value, don't just CC_STATUS_INIT.
3526
3527         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
3528         Fix typo in comment.
3529         (LINK_SPEC): Remove whitespace at end of line.
3530
3531 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3532
3533         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
3534
3535 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3536
3537         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
3538         macros for the supported debugging types.
3539
3540 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3541
3542         PR other/4932
3543         * config/i386/i386.c (print_operand):  Verify that the
3544           argument to %c is a constant and not a conditional which
3545           needs to be reversed.
3546
3547 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
3548
3549         * emit-rtl.c (gen_lowpart_common): Fix conversion of
3550         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
3551         of low part of those arrays for 32bit and 64bit hosts.
3552
3553 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3554
3555         * Makefile.in (insn-output.o): Depend on insn-codes.h.
3556
3557 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3558
3559         * configure.in (target_list): Add generated-manpages.
3560         * configure: Regenerate.
3561         * Makefile.in (generated-manpages): Depend on
3562         lang.generated-manpages.
3563         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
3564
3565 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
3566
3567         * config/arm/crti.asm (_init): Add .thumb_func if compiled
3568         with -mthumb.
3569         (_fini): Add .thumb_func if compiled with -mthumb.
3570
3571 2001-11-28  Eric Christopher  <echristo@redhat.com>
3572
3573         * config/mips/mips.c (override_options): Fix thinko in mips_tune
3574         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
3575
3576 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
3577
3578         * alpha.md (tablejump): Use pic_offset_table_rtx
3579         instead of gen_rtx_REG.
3580
3581 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
3582
3583         * expr.c (store_expr): When copying a string constant into an
3584         array, reset the known alignment of the MEM for the section to
3585         be cleared to BITS_PER_UNIT.
3586
3587 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3588
3589         * config/cris/cris.c: Remove whitespace at end of line.
3590
3591 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
3592
3593         * config.gcc (i[34567]86-*-interix3*): New case.
3594         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
3595         New files.
3596
3597 2001-11-28  Richard Henderson  <rth@redhat.com>
3598
3599         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
3600         symbolic_operand as the predicate.
3601
3602 2001-11-28  Richard Henderson  <rth@redhat.com>
3603
3604         * doloop.c (doloop_modify_runtime): Properly select induction
3605         variable; skip late entry test if biv initializer created by loop.
3606
3607 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3608
3609         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
3610         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
3611
3612         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
3613
3614         * tree.h: Add missing checks on some macros; make formatting more
3615         consistent.
3616
3617         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
3618         level; only add to pending_sizes if find it.
3619
3620         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
3621
3622         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
3623         Add casts to remove warnings.
3624
3625         * Makefile.in (OBJS): Sort alphabetically.
3626
3627         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
3628         Also minor cleanups.
3629
3630 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
3631
3632         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
3633         (FLAGS_TO_PASS): Add STAGE_PREFIX.
3634         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
3635         to STAGE_PREFIX.
3636
3637 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3638
3639         * cse.c (true_dependence_in_rtx): New function.
3640         (invalidate): Use it.
3641
3642         * c-common.h (GOTO_FAKE_P): New macro.
3643         * tree-inline.c (GOTO_FAKE_P): Set.
3644         * c-tree.texi (GOTO_FAKE_P): Document.
3645
3646         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
3647         containing pointers.
3648         (output_addressed_constants): Check for local/external relocations.
3649         * elfos.h (SELECT_SECTION): Classify data section.
3650         * tm.texi (SELECT_SECTION): Update documentation.
3651
3652         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
3653         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
3654
3655 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3656
3657         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3658         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
3659         OBJECT_FORMAT_ROSE.
3660
3661 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3662
3663         * config/cris/cris.c: Tweak spacing for prototypes.
3664         (LOSE_AND_RETURN): New macro.
3665         (cris_operand_lossage): New function.
3666         (cris_print_index, cris_print_base): Use cris_operand_lossage
3667         rather than fatal_insn.
3668         (cris_print_operand, cris_print_operand_address): Use
3669         LOSE_AND_RETURN rather than fatal_insn and internal_error.
3670         (cris_output_addr_const): Use LOSE_AND_RETURN and
3671         output_operand_lossage rather than fatal_insn and internal_error
3672         for valid but unexpected rtx expressions.
3673
3674         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
3675         for a SUBREG in src or dest, abort instead.
3676
3677 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3678
3679         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
3680         doc.
3681
3682 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
3683
3684         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
3685         preprocessor define.  If only DBX_DEBUGGING_INFO or only
3686         DWARF2_DEBUGGING_INFO is supported for the target, provide
3687         appropriate definitions.
3688
3689 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3690
3691         * Makefile.in: Update, and add c-objc-common.o dependencies.
3692         * c-lang.c: Remove unnecessary includes.
3693         (c_init): Move bulk of code to c_objc_common_init, and call it.
3694         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
3695         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
3696         c-objc-common.c.
3697         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
3698         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
3699         c_objc_common_init, c_missing_noreturn_ok_p): New.
3700         * toplev.c: Update comment.
3701         * doc/passes.texi: Update.
3702 objc:
3703         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
3704         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
3705         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
3706         (objc_init): Update to use c_objc_common_init.
3707
3708 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3709
3710         * cpphash.c (_cpp_init_hashtable): Update.
3711         * cpphash.h (struct spec_nodes): Remove n_L.
3712         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
3713
3714 2001-11-17  Richard Henderson  <rth@redhat.com>
3715
3716         * unroll.c (loop_iterations): Move last change ...
3717         * doloop.c (doloop_modify_runtime): ... here.
3718
3719 2001-11-17  Corey Minyard  <minyard@acm.org>
3720             Richard Henderson  <rth@redhat.com>
3721
3722         * unroll.c (loop_iterations): Detect one situation in which we
3723         overestimate the number of iterations.
3724
3725 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3726
3727         * gcc.c (set_input): Export.
3728         Move declaration ...
3729         gcc.h (set_input): ... here.
3730
3731 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3732
3733         * gcc.c (set_collect_gcc_options): New function, split out from
3734         main.
3735         Ignore elided switches.
3736         (do_spec): Invoke before executing command.
3737         (do_spec_1): Likewise.
3738         Fixes PR other/3968.
3739
3740 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
3741
3742         * config/cris/cris.h (INT_ASM_OP): Remove.
3743
3744 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3745
3746         * config/i386/sol2.h (WINT_TYPE): Redefine.
3747         (WINT_TYPE_SIZE): Likewise.
3748
3749 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3750
3751         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
3752         (dup2): Make static and add prototype.
3753         * m68k/plexus.h: Don't define NO_DUP2.
3754         * configure.in (AC_CHECK_FUNCS): Add dup2.
3755         * config.in, configure: Regenerate.
3756
3757         * ia64/aix.h (REG_SIZE): Don't #undef.
3758         * sparc.h (REG_SIZE): Delete.
3759         * flow.c (mark_used_regs): Don't use REG_SIZE.
3760         * regs.h (REG_SIZE): Delete.
3761
3762 2001-11-27  Andreas Schwab  <schwab@suse.de>
3763
3764         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
3765         PREFERRED_DEBUGGING_TYPE.
3766
3767 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3768
3769         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
3770         (expr.o, varasm.o): Depends on langhooks.h.
3771         * c-common.c (c_safe_from_p): Always declare.
3772         (c_expand_expr): Refine when declared.
3773         * c-lang.c (c-common.h): Now include.
3774         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
3775         (c_init): Don't set lang_safe_from_expr.
3776         * expr.c (langhooks.h): Now include.
3777         (lang_safe_from_p): No longer define.
3778         (safe_from_p): Use lang hook.
3779         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
3780         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
3781         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
3782         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
3783         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
3784         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
3785         * langhooks.h (struct lang_hooks): New fields expand_constant
3786         and safe_from_p.
3787         * output.h (output_constant): Size arg is HOST_WIDE_INT.
3788         * stmt.c (expand_decl_init): No longer need to expand constant
3789         for CONST_DECL.
3790         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
3791         * toplev.c (lang_expand_constant): Delete var.
3792         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
3793         operations on SAVE_EXPR.
3794         * varasm.c (langhooks.h): Now include.
3795         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
3796         (record_constant_1, output_addressed_constants): Likewise.
3797         (initializer_constant_valid_p, output_constant): Likewise.
3798         (output_constant_def): Process no-defer of string constant.
3799         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
3800         (output_constant): Strip more conversions.
3801         Track our size and pad for the rest.
3802         (array_size_for_constructor): Remove code for non-byte STRING_CST.
3803         (output_constructor): SIZE now HOST_WIDE_INT.
3804
3805 2001-11-27  Richard Henderson  <rth@redhat.com>
3806
3807         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
3808         in computing DIFF.
3809
3810 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
3811
3812         * cppfiles.c (read_include_file): Add comment.
3813
3814 2001-11-26  Richard Henderson  <rth@redhat.com>
3815
3816         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
3817
3818 2001-11-26  Richard Henderson  <rth@redhat.com>
3819
3820         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
3821         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
3822         commented out override.
3823
3824 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3825
3826         * cppfiles.c (stack_include_file): Don't optimize zero-length
3827         files.
3828         (read_include_file): NUL-terminate read files.
3829         * cpplex.c (handle_newline, skip_escaped_newlines,
3830         get_effective_char, skip_whitespace, parse_identifier,
3831         parse_identifier_slow, parse_number, parse_string,
3832         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
3833         NUL-terminated.
3834         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
3835         Be sure buffers are NUL terminated.
3836         * cppmacro.c (warn_of_redefinition): Kill compile warning.
3837
3838 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3839
3840         * c-common.c: Include tree-inline.h.
3841         (c_language): Move separate definitions here.
3842         (c_common_init_options, c_common_post_options): New.
3843         (c_common_lang_init): Rename c_common_init.
3844         * c-common.h (c_common_lang_init): Similarly.
3845         (c_common_init_options, c_common_post_options): New.
3846         * c-lang.c (c_post_options): Move body to c_common_post_options.
3847         (c_init_options): Use c_common_init_options.
3848         (c_init): Update.
3849         * langhooks.def: Rearrange.
3850         * langhooks.h: Rearrange, and improve comments.
3851         * toplev.c (do_compile): New function.
3852         (toplev_main): Use it.
3853         (lang_independent_f_options, parse_options_and_default_flags,
3854         process_options): Remove trailing periods.
3855         * Makefile.in: Update.
3856 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
3857         functions.
3858         (ojbc_init): Update.
3859
3860 2001-11-26  Richard Henderson  <rth@redhat.com>
3861
3862         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
3863
3864 2001-11-26  DJ Delorie  <dj@redhat.com>
3865
3866         * expr.c (store_constructor): Actually use the value computed
3867         if WORD_REGISTER_OPERATIONS.
3868
3869 2001-11-26  Richard Henderson  <rth@redhat.com>
3870
3871         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
3872         for CONSTRUCTOR.
3873
3874 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3875
3876         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
3877         correct function on AIX.
3878
3879 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
3880
3881         * toplev.c (process_options): Don't force
3882         flag_optimize_sibling_calls to zero just because exceptions are
3883         enabled.
3884
3885 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
3886
3887         * df.h (transfer_function_sbitmap): Use PARAMS around argument
3888         list in function prototypes.
3889         (transfer_function_bitmap): Likewise.
3890
3891 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
3892
3893         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
3894         * config/i386/netbsd-elf.h: Likewise.
3895
3896 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3897
3898         * doc/trouble.texi: Remove outdated RS/6000 comments.
3899
3900 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3901
3902         * final.c (walk_alter_subreg): Fix return value.
3903
3904 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3905
3906         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
3907         alter_subreg.
3908         * sparc.md (post-reload splitters): Do not call alter_subreg.
3909         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
3910
3911 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
3912
3913         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
3914
3915 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
3916
3917         * final.c: (insn_lengths): Make it an int *, so that large jump
3918         tables don't overflow.
3919
3920 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3921
3922         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
3923         (format_types): Use it for scanf.
3924         (dollar_arguments_pointer_p): New.
3925         (init_dollar_format_checking): Store details of which arguments
3926         are pointers.
3927         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
3928         (finish_dollar_format_checking): Take extra parameter
3929         pointer_gap_ok.  Treat unused arguments differently if
3930         pointer_gap_ok and the unused arguments are pointers.
3931         (check_format_info_main): Pass extra argument to
3932         finish_dollar_format_checking.
3933         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
3934         unused arguments are present between used arguments with operand
3935         numbers.
3936
3937 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
3938
3939         * df.c: Add prototypes for hybrid_search_bitmap and
3940         hybrid_search_sbitmap.
3941         (hybrid_search_bitmap): New function.
3942         (hybrid_search_sbitmap): New function.
3943         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
3944         (iterative_dataflow_bitmap): Ditto.
3945
3946 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3947
3948         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3949         address computations.
3950
3951 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3952
3953         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
3954         register b (low part of d).
3955
3956 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3957
3958         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
3959         passed to mcount.
3960
3961 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
3962
3963         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
3964         * config/alpha/x-vms: New file, to compile the above.
3965         * config.gcc (alpha*-dec-vms*): Add x-vms.
3966
3967 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
3968
3969         * genextract.c (main): Set ro_loc for peepholes.
3970
3971 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
3972
3973         * fix-header.c (main): Move inf_buffer termination and inf_limit
3974         calculation to after read.
3975
3976         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
3977         (__UNIX_FOPEN): Define.
3978
3979 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3980
3981         * function.c (assign_stack_temp_for_type): Clear alias set before
3982         setting new one.
3983
3984 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
3985
3986         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
3987         format.
3988         * rs6000.md (cmptf): Fix typo.
3989
3990 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
3991
3992         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
3993         * varasm.c (output_constructor): Use assemble_integer rather
3994         than ASM_OUTPUT_BYTE.
3995
3996 2001-11-23  Andreas Jaeger  <aj@suse.de>
3997
3998         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
3999         extension.
4000
4001 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
4002
4003         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
4004         default definition.
4005         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
4006         (MULTILIB_DEFAULTS): Remove previous definition.
4007
4008 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4009
4010         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
4011         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
4012
4013 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4014
4015         * cris.h: Revert thinko in last patch.
4016
4017 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4018
4019         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
4020         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
4021         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
4022         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
4023         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
4024         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
4025
4026         * predict.c, reg-stack.c: Fix spelling errors.
4027
4028 2001-10-09  Andrew Haley  <aph@redhat.com>
4029
4030         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
4031         start of stack slot.
4032
4033 2001-11-22  Graham Stott  <grahams@redhat.com>
4034
4035         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
4036         replacement jump after original jump.
4037
4038         (verify_flow_info): Remove redundent initialisation.
4039         Handle reaching end of insn list before finding a BARRIER.
4040         Only issue one missing barrier diagnostic.
4041
4042 2001-11-22  Graham Stott  <grahams@redhat.com>
4043
4044         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
4045
4046 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4047
4048         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
4049         insn actually does.
4050
4051 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
4052
4053         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
4054         Fix typo -mm32rx=> -m32rx.
4055
4056         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
4057         targets.
4058
4059         * config.gcc (xscale-coff): Add necessary header files to
4060         tm_file variable.
4061
4062 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4063
4064         * rs6000.c (output_cbranch): Use $, not %$, in output template.
4065
4066 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4067
4068         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
4069         (lang_type_quals): Declare.
4070         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
4071         retrieve language-specific qualifiers for a type node, instead of
4072         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
4073         lang_dump_tree.
4074         * tree-dump.h: Rename from c-dump.h.
4075         * c-common.h (C_TYPE_QUALS): Removed.
4076         Move declarations for tree-dump.c interface to...
4077         * tree.h: ... here. Remove lang_dump_tree.
4078         * langhooks.h (struct lang_hooks_for_tree_dump): New.
4079         (struct lang_hooks): Add tree_dump hooks.
4080         * langhooks.c (lhd_tree_dump_dump_tree): New function.
4081         (lhd_tree_dump_type_quals): New function.
4082         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
4083         Declare.
4084         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
4085         * Makefile.in: Move tree-dump.o to language-independent back-end.
4086
4087 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4088
4089         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
4090         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
4091         * arc.h (DBX_REGISTER_NUMBER): Likewise.
4092         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
4093         * avr.h (DBX_REGISTER_NUMBER): Likewise.
4094         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
4095         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
4096         * convex.h (DBX_REGISTER_NUMBER): Likewise.
4097         * cris.h (DBX_REGISTER_NUMBER): Likewise.
4098         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
4099         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
4100         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
4101         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
4102         * i370.h (DBX_REGISTER_NUMBER): Likewise.
4103         * i860.h (DBX_REGISTER_NUMBER): Likewise.
4104         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
4105         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
4106         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4107         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
4108         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
4109         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
4110         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
4111         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
4112         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
4113         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
4114         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
4115         * romp.h (DBX_REGISTER_NUMBER): Likewise.
4116         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
4117         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4118         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
4119         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
4120         * v850.h (DBX_REGISTER_NUMBER): Likewise.
4121         * vax.h (DBX_REGISTER_NUMBER): Likewise.
4122         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
4123
4124         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
4125         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
4126
4127 2001-11-21  H.J. Lu <hjl@gnu.org>
4128
4129         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
4130
4131 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4132
4133         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
4134         emit_cmp_and_jump_insns.
4135
4136         * stormy16.c (xstormy16_expand_builtin_va_arg,
4137         xstormy16_expand_casesi): Likewise.
4138
4139 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4140
4141         * function.c (keep_stack_depressed): Major rework.
4142         (handle_epilogue_set, emit_equiv_load): New functions.
4143         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
4144         has return value.
4145         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
4146         * rtl.h (SET_IS_RETURN_P): New macro.
4147
4148         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
4149         and also support TREE_ADDRESSABLE.
4150         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
4151
4152 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
4153
4154         * rs6000.md (cmptf_internal1): Replace %$ with $.
4155
4156 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
4157
4158         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
4159         (read_include_file): Use STAT_SIZE_TOO_BIG.
4160
4161         * cppinit.c (INO_T_COPY): Define.
4162         (INO_T_EQ): Uppercase parameters.
4163         (append_include_chain): Use INO_T_COPY.
4164
4165 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
4166
4167         * cfg.c: Fix typos and formatting in the introductory comment.
4168
4169 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
4170
4171         * profile.c (compute_branch_probabilites):  Compute probabilities
4172         for entry/exit edges; estimate probabilities for zero counts.
4173
4174 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4175
4176         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
4177         to emit_library_call.
4178         * function.c (expand_main_function, expand_function_start,
4179         expand_function_end): Likewise.
4180         * profile.c (output_func_start_profiler): Likewise.
4181         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
4182         second argument to emit_library_call.
4183         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
4184         as second argument to emit_library_call.
4185         * calls.c (emit_library_call): Update fn_type description.
4186
4187 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4188
4189         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
4190         if fndecl is still DECL_INLINE and has DECL_RESULT.
4191
4192 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4193
4194         * clipper.c (clipper_movstr): Avoid uninitialized warning.
4195         * i960.c (is_mask, legitimize_address): Likewise.
4196         * m88k.c (m88k_expand_prologue): Likewise.
4197         * m88k.md: Likewise.
4198         * mcore.c (emit_new_cond_insn): Likewise.
4199         * stormy16.c (xstormy16_emit_cbranch): Likewise.
4200
4201 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4202
4203         * config.gcc: Delete powerpcle-*-solaris2* stanza.
4204         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
4205         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4206         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
4207         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
4208         config/rs6000/t-ppcos: Expunge all references to Solaris.
4209
4210         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
4211
4212         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
4213         output templates.
4214         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
4215         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
4216
4217 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4218
4219         * sh.md: Avoid uninitialized warnings.
4220         * vax.c (vax_rtx_cost): Likewise.
4221
4222 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4223
4224         * rs6000.c (direct_return): Check if we are saving altivec
4225         registers.
4226         (first_altivec_reg_to_save): New.
4227         Updated stack frame layout comments.
4228         (rs6000_stack_info): Calculate altivec register save size.
4229         Save link register if we saved some altivec registers.
4230         (rs6000_stack_info): Align save size to 16 if altivec abi or
4231         abi_darwin.
4232         (rs6000_stack_info): Calculate altivec register offsets.
4233         (rs6000_stack_info): Add altivec info to save_size.
4234         (debug_stack_info): Add altivec debug info.
4235         (rs6000_emit_prologue): Save altivec registers and vrsave.
4236         (compute_vrsave_mask): New.
4237         (altivec_expand_builtin): Remove unused variables.
4238         (rs6000_parse_abi_options): Add static qualifier.
4239         (rs6000_expand_builtin): Remove unused parameters.
4240         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4241         (altivec_init_builtins): Same.
4242         (is_altivec_return_reg): New.
4243         (vrsave_operation): New.
4244         (ALTIVEC_REG_BIT): New.
4245         (generate_set_vrsave): New.
4246
4247         * rs6000.md (get_vrsave): New.
4248         (set_vrsave): New.
4249         (*set_vrsave_internal): New.
4250
4251         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4252         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4253         altivec_padding_size, vrsave_mask.
4254         (TOTAL_ALTIVEC_REGS): New.
4255         (EPILOGUE_USES): Add VRSAVE_REGNO.
4256
4257 2001-11-20  Jeff Law <law@redhat.com>
4258
4259         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4260         exit label as necessary.
4261
4262 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
4263
4264         * reload1.c (elimination_effects): Use function_invariant_p
4265         instead of CONSTANT_P when considering register equivalences.
4266
4267 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
4268
4269         * config.gcc: Add FreeBSD/PowerPC target.
4270         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4271         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4272         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4273         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4274         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4275         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4276         freebsd-spec.h to tm_file.
4277         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4278         * config/freebsd.h: Tidy up.
4279         (USING_CONFIG_FREEBSD): Define.
4280         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4281         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4282         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4283         (TARGET_HAS_F_SETLKW): Define.
4284         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4285         * config/freebsd-spec.h: New file.
4286         * config/rs6000/freebsd.h: New file.
4287         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4288         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4289         USING_SVR4_H to know when to turn on ELF support.
4290         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4291         define only if not already defined.
4292         Add FreeBSD support.
4293         * config/rs6000/aix.h (TARGET_VERSION): Define.
4294         * config/rs6000/beos.h: Likewise.
4295         * config/rs6000/darwin.h: Likewise.
4296         * config/rs6000/mach.h: Likewise.
4297         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4298         Don't include lynx.h directly.
4299
4300 2001-11-20  Graham Stott  <grahams@redhat.com>
4301
4302         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4303         Fix lossage in last change return OB.
4304
4305 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4306
4307         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4308         Remove unneeded exit related macros.
4309
4310 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4311
4312         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4313
4314         * rs6000.c (rs6000_emit_move): Add TFmode case.
4315         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4316         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4317         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4318         * rs6000.h: ... to here.
4319         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4320         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4321         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4322
4323 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4324
4325         * emit-rtl.c (get_mem_attrs): Fix typo.
4326
4327 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4328
4329         * c-lang.c (finish_file): Backout 2001-11-16
4330         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4331         before calling c_expand_deferred_function.
4332
4333 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4334
4335         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4336         Don't register empty .eh_frame sections.
4337         (__deregister_frame_info_bases, __deregister_frame): Don't
4338         unregister them either.
4339
4340 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4341
4342         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4343         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4344         * configure: Regenerate.
4345         * config.in: Add dummy definitions of new flags.
4346         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4347         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4348         * gcc.c (ASM_DEBUG_SPEC): New macro.
4349         (asm_debug): New static variable.
4350         (default_compilers): Add asm_debug when assembling from
4351         user input.
4352         (static_specs): Add asm_debug.
4353
4354 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4355
4356         * config.gcc (*-*-freebsd*): Remove configuration block.
4357
4358 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4359
4360         bootstrap/4422
4361         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4362         fixinc *as if* it were a proper lang subdirectory.
4363         * configure: Rebuilt.
4364
4365 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4366
4367         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4368
4369 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4370
4371         * 1750a.md: Don't use hex format for a const_int.
4372
4373 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4374
4375         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4376
4377 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4378
4379         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4380         defined (prevents link errors when gettext isn't in the system
4381         library).
4382
4383 2001-11-19  DJ Delorie  <dj@redhat.com>
4384
4385         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4386         (validate_const_int): New.
4387         (read_rtx): Validate constant integers.
4388         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4389
4390 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4391
4392         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4393
4394 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4395
4396         * toplev.c (DUMPFILE_FORMAT): Define default.
4397         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4398         (close_dump_file, compile_file): Likewise.
4399         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4400         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4401
4402 2001-11-19  Jeff Law <law@redhat.com>
4403
4404         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4405         a nop-jump.
4406
4407 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4408
4409         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4410         Don't fall off the base token run.
4411
4412 2001-11-19  Jason Wilkins <fenix@io.com>
4413
4414         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4415
4416 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4417
4418         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4419         * tree.h (handled_component_p): New declaration.
4420         * alias.c (handled_component_p): Move function from here ...
4421         * expr.c (handled_component_p): ... to here and non longer static.
4422         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4423         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4424         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4425         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4426         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4427         (expand_expr, cse ADDR_EXPR): No need to copy if already
4428         BIGGEST_ALIGNMENT.
4429         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4430         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4431         (output_constant): Handle VIEW_CONVERT_EXPR.
4432         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4433         Add new case for VIEW_CONVERT_EXPR.
4434
4435 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4436
4437         * a29k/unix.h (ASM_FILE_START): Const-ify.
4438         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4439         * i386/isc.h (ASM_FILE_START): Const-ify.
4440         * i386/sun386.h (ASM_FILE_START): Likewise.
4441         * m32r.md: Likewise.
4442         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4443         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4444         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4445         * mn10200.md: Initialize variable.
4446
4447 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4448
4449         * gcse.c (try_replace_reg): Copy RTX before creating note.
4450
4451         * df.h (df_ref_flags): New uenum.
4452         (DF_REF_FLAGS): New macro.
4453         (struct ref): Add field "flags".
4454         * df.c (HANDLE_SUBREG): Remove.
4455         (df_ref_create): Likewise; set flags field of ref.
4456         (df_def_record_1): Strip down read_write subreg; remove
4457         commented out code; set READ_WRITE flag.
4458         (read_modify_subreg_p): New static function.
4459         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4460         new argument "flags".
4461         (df_insn_refs_record): Update call of df_uses_record.
4462         (df_insn_modify): Avoid #if 0 around comment.
4463         (df_dump): Dump the read/write flag.
4464
4465         * predict.c (propagate_freq): Make cyclic_probability and frequency
4466         volatile
4467
4468         * i386.c (ix86_cc_mode): Accept USE.
4469
4470         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4471         jump is turned into simplejump.
4472
4473 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4474
4475         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4476         installation chapter.
4477         * doc/gcc.texi: Don't claim that this manual documents
4478         installation.  Mark Installation menu entry as being out of date.
4479
4480 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4481
4482         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4483         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4484         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4485
4486 2001-11-19  Jason Merrill  <jason@redhat.com>
4487
4488         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4489         cur_token, not after.
4490
4491         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4492         Lose ASM_OUTPUT_CONSTRUCTOR.
4493         * system.h: Poison it and INT_ASM_OP.
4494         * c-lang.c (finish_file): Don't check for it.
4495         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4496
4497 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4498
4499         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4500         (mmix_init_machine_status): Make static to match declaration.
4501         (mmix_unique_section): Const-ify.
4502         (mmix_output_quoted_string): Avoid automatic aggregate
4503         initialization.
4504         (mmix_output_register_setting): Likewise.
4505         (mmix_output_shiftvalue_op_from_str): Likewise.
4506
4507         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4508         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4509         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4510
4511 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4512
4513         PR c/4448
4514         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4515         name __objc_thread_exit_status so that it matches the
4516         variable defined in objc/thr.h.
4517
4518 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4519
4520         PR bootstrap/4020
4521         * mklibgcc.in: Add missing semi-colons.
4522         * Makefile.in: Same.
4523
4524 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4525
4526         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
4527         after re-laying out decl in incomplete case.
4528         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
4529
4530 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4531
4532         * doc/install-old.texi: Move some sections out to ...
4533         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
4534         ... here.  New files.  Make into chapters rather than sections.
4535         * doc/gcc.texi: Include the new files and add menu entries for
4536         them.
4537         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4538
4539 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4540
4541         * tree.h (TYPE_ALIGN_OK): New flag.
4542         * emit-rtl.c (set_mem_attributes): Handle it.
4543         * expr.c (emit_single_push_insn): Only set to alias set 0 if
4544         doing sibcall optimization.
4545         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
4546         when make temporary.
4547         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
4548         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
4549
4550         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
4551
4552 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4553
4554         * c-decl.c (c_decode_option): Give deprecation warning for
4555         -traditional.
4556         * doc/invoke.texi (-traditional): Note that this option is
4557         deprecated.
4558
4559 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
4560
4561         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
4562         arg to HOST_WIDE_INT, not long.
4563
4564         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
4565         (HAS_INIT_SECTION): Define.
4566         (REAL_ARITHMETIC): Don't undefine.
4567
4568 2001-11-18  Egor Duda  <deo@logos-m.ru>
4569
4570         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4571
4572 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4573
4574         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
4575         * c-common.c: Include diagnostic.h.
4576         (c_common_finish): New.
4577         * c-common.h (c_common_finish): New.
4578         * c-lang.c (LANG_HOOKS_FINISH): Override.
4579         * c-parse.in: Don't include diagnostic.h.
4580         (finish_parse): Remove.
4581         * langhooks.h: Update comments.
4582         * toplev.c (lang_dependent_init): New prototype.
4583         (finalize): New.
4584         (compile_file): Split cleanup code out to finalize.
4585         (lang_dependent_init): Stop if lang_hooks.init fails.
4586         (toplev_main): Update.
4587         * tree.h (finish_parse): Remove.
4588 objc:
4589         * objc-act.c (LANG_HOOKS_FINISH): Override.
4590
4591 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4592
4593         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
4594         * config/alpha/vms_tramp.asm: New file.
4595         * config/alpha/vms-tramp.asm: Removed.
4596
4597 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4598
4599         * c-common.c (struct disabled_builtin, disabled_builtins,
4600         disable_builtin_function, builtin_function_disabled_p): New.
4601         (builtin_function_2): Check for disabled built-in functions.
4602         * c-common.h (disable_builtin_function): Declare.
4603         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
4604         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
4605         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
4606
4607 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4608
4609         PR target/4606
4610         * config.gcc: Remove reference to va-clipper.h.
4611
4612 2001-11-17  Stan Shebs  <shebs@apple.com>
4613
4614         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
4615         AltiVec-related bitfields.
4616
4617 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4618
4619         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
4620         (mark_eh_region, case ERT_UKNONW): New case.
4621
4622 2001-11-17  Christopher Faylor  <cgf@redhat.com>
4623             Corinna Vinschen  <vinschen@redhat.com>
4624
4625         * config/i386/cygwin.h: Search target specific include directory for
4626         w32api stuff, if appropriate.
4627
4628 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
4629
4630         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
4631
4632 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
4633
4634         * config/rs6000/rs6000.md: Change all ldvx to lvx.
4635
4636 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
4637
4638         * gensupport.c (process_rtx): Don't assume filename is the first
4639         argument of any rtl.
4640
4641 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4642
4643         * vax-protos.h (reg_was_0_p): New prototype.
4644         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
4645         * vax.c (follows_p, reg_was_0_p): New functions.
4646
4647 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4648
4649         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
4650         (casesi1): Likewise.  Define new pattern which arises by simplification
4651         when operand 1 is a constant int.  Correct pattern which arises by
4652         simplification when operand 1 is zero.
4653
4654 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
4655
4656         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
4657         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
4658         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
4659         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
4660         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
4661         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
4662         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
4663         * config/arm/aof.h: Don't include arm.h.
4664         * config/arm/aout.h: Likewise.
4665         * config/arm/coff.h: Don't include semi.h and aout.h.
4666         * config/arm/elf.h: Don't include aout.h.
4667         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
4668         (TARGET_VERSION): Undef before defining.
4669         (ARM_OS_NAME): Likewise
4670         (TARGET_DEFAULT): Likewise
4671         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
4672         * config/arm/pe.h: Don't include arm/coff.h.
4673         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
4674         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
4675         * config/arm/riscix1-1.h: Likewise.
4676         * config/arm/rix-gas.h: Don't include riscix.h.
4677         (DBX_CONTIN_LENGTH): Undef before defining.
4678         * config/arm/semi.h: Don't include aout.h.
4679         * config/arm/semiaof.h: Don't include aof.h.
4680         * config/arm/strongarm-coff.h: Don't include coff.h.
4681         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
4682         * config/arm/vxarm.h: Don't include arm/coff.h.
4683         * config/arm/xscale-coff.h: Don't include coff.h.
4684
4685 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4686
4687         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
4688         emit_cmp_insn.
4689
4690 2001-11-16  Andreas Jaeger  <aj@suse.de>
4691
4692         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
4693         to ....
4694         (fixup_fallthru_exit_predecessor): ... this.
4695         Change callers and prototype.
4696
4697 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
4698
4699         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
4700         hand; don't use gen_setcc_2.
4701         (ix86_expand_builtin): Fix pshufw.
4702         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
4703         case UNORDERED to emit the right assembler instruction.
4704         (mmx_pshufw): Lose operand 2.
4705         (cvtsi2ss): Fix representation.
4706         From Graham Stott:
4707         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
4708
4709 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
4710
4711         * doc/include/linux-and-gnu.texi: Remove.
4712         * doc/gnu.texi: New.
4713         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
4714         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4715
4716 2001-11-16  Kazu Hirata  <kazu@hxi.com>
4717
4718         * config/a29k/a29k.c: Fix comment formatting.
4719         * config/a29k/a29k.h: Likewise.
4720         * config/arc/arc.c: Likewise.
4721         * config/arc/arc.h: Likewise.
4722         * config/vax/vax.c: Likewise.
4723         * config/vax/vax.h: Likewise.
4724         * config/we32k/we32k.c: Likewise.
4725         * config/we32k/we32k.h: Likewise.
4726
4727 2001-11-16  Jeff Law  <law@redhat.com>
4728
4729         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
4730         creating a new jump insn.
4731
4732 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4733
4734         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
4735         copy misaligned data.
4736         * varasm.c (assemble_variable): Set alignment into MEM when changed.
4737
4738 2001-11-16  Graham Stott  <grahams@redhat.com>
4739
4740         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
4741         OPALIGN type.
4742
4743 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
4744
4745         * except.c: Support for catching a list of types with a single handler
4746         (struct eh_region): Change type and filter to lists for catch regions.
4747         (mark_eh_region): Mark the filter list for GC also.
4748         (expand_start_catch): Always build a list if argument not NULL and
4749         register each type of the list through add_type_for_runtime.
4750         (duplicate_eh_region_1): Change type into type_list for catch regions.
4751         (assign_filter_values): Assign a filter to each type associated with a
4752         catch region. Assign filter for NULL types in a unique entry in the
4753         filter list.
4754         (build_post_landing_pads): Emit compare and jump for each filter of
4755         the list associated with a catch region.
4756         (reachable_next_level): When the type thrown is known, stop the search
4757         as soon as one type within a catch list matches. Also, a handler is
4758         potentially reachable only if at least one of the types it catches
4759         has not been previously caught.
4760         (collect_one_action_chain): Retrieve the filter for a NULL type list
4761         from the first filter list entry. For non NULL type lists, add an
4762         action record for every filter assigned.
4763         * except.h: Reflect changes in comment before expand_start_catch.
4764
4765 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4766
4767         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
4768         BLKmode.
4769
4770 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
4771
4772         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
4773
4774 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
4775
4776         * c-lang.c (finish_file): Don't emit static inline functions if
4777         they weren't referenced.
4778
4779 2001-11-15  Stan Shebs  <shebs@apple.com>
4780
4781         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
4782
4783 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4784
4785         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
4786         call.
4787         * config/i386/i386.md: Likewise.
4788
4789 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4790
4791         * timevar.c (rtl.h): Include so get fancy abort.
4792
4793 2001-11-15  Dale Johannesen  <dalej@apple.com>
4794
4795         * config/darwin.h (SELECT_RTX_SECTION):  Force address
4796         initializers into 'const' section
4797         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
4798         if_then_else to match result, not operands
4799
4800 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4801
4802         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
4803         * emit-rtl.c (change_address): Fix typo in default alignment.
4804         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
4805         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
4806         * rtl.h (REGNO_PTR_FRAME_P): New macro.
4807
4808         * expr.c (store_field): Pass tree instead of max size; callers changed.
4809         Change handling of alignment.
4810         Only copy to_rtx if is TARGET.
4811         (expand_expr_unaligned): Delete; callers now use expand_expr.
4812         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
4813         (expand_assignment): Change handling of alignment.
4814         Only copy to_rtx if was original.
4815         (get_inner_reference): No longer return alginment; callers changed.
4816         (expand_expr, case COMPONENT_REF): Change handling of alignment.
4817         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
4818         (compare_from_rtx): Delete ALIGN parm; all callers changed.
4819         (do_compare_rtx_and_jump): Likewise.
4820         * expr.h: Reflect above changes.
4821         * tree.h: Likewise.
4822         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
4823         to get_inner_reference.
4824         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
4825         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
4826         * optabs.c: Likewise.
4827         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
4828         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
4829         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
4830         compare_rtx_and_jump, and emit_cmp_jump_insns.
4831         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
4832         * function.c (assign_stack_temp_for_type): No longer static.
4833         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
4834         (prepare_cmp_insn): Delete declaration.
4835         * rtl.h (assign_stack_temp_for_type): Add declaration.
4836         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
4837         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
4838         * config/i386/i386.c,config/mips/mips.c: Likewise.
4839         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
4840         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
4841
4842 2001-11-15  Stan Shebs  <shebs@apple.com>
4843
4844         * config/rs6000/rs6000.h: Fix a comment typo.
4845         (RTX_COSTS): Sort processor versions better.
4846
4847 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4848
4849         * config/h8300/h8300.md: Fix insn length of bit insns.
4850
4851 2001-11-15  Jason Merrill  <jason@redhat.com>
4852
4853         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
4854         DIEs if there were errors in the source.
4855
4856         * config/alpha/alpha-interix.h, config/alpha/elf.h,
4857         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
4858         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
4859         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
4860         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
4861         config/elfos.h, config/lynx.h, config/netware.h,
4862         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
4863         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
4864         uses to use ASM_LONG.
4865
4866 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
4867
4868         * gensupport.c  process_include : Change call to alloca to
4869         xmalloc.
4870
4871 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4872
4873         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
4874         templates.
4875
4876 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4877
4878         * final.c (alter_subreg): If simplify_subreg can't do anything,
4879         handle REG ourselves and abort for others.
4880
4881 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
4882
4883         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
4884         routines.
4885
4886 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4887
4888         * fix-header.c (read_scan_file): Update.
4889
4890 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4891
4892         * toplev.c (toplev_main): Don't start timing until after
4893         command-line options are parsed.
4894
4895 2001-11-15  Andreas Schwab  <schwab@suse.de>
4896
4897         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
4898         makefile frag, not host makefile frag.
4899         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
4900         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
4901         used.
4902         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
4903         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
4904         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
4905         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
4906         * config/i386/t-dgux (STMP_FIXPROTO): Define.
4907         * config/x-interix: Don't define STMP_FIXPROTO and
4908         FIXPROTO_DEFINES.
4909         * config/t-interix: New file, define STMP_FIXPROTO.
4910         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
4911         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
4912         * config/t-svr4 (FIXPROTO_DEFINES): Define.
4913         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
4914         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
4915         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
4916         * config/m68k/t-hp3200: Renamed from x-hp3200.
4917         * config/i370/t-oe: Renamed from x-oe.
4918         * config/mips/t-iris: Renamed from x-iris.
4919         * config/pa/t-bsd: Renamed from x-pa.
4920         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
4921         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
4922         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
4923         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
4924         config/rs6000/x-cygwin: Remove files.
4925
4926         * configure.in: Check for target objdump and use that in eh_frame
4927         optimization test.
4928         * configure: Regenerated.
4929
4930 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
4931
4932         * jump.c (squeeze_notes): Return true if no real insns were found.
4933         * rtl.h (squeeze_notes): Adjust prototype.
4934         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
4935         squeeze_notes finds no real instructions, abort.
4936         (merge_blocks_move_successor_nojumps): Likewise.
4937         * loop.c (find_and_verify_loops): Likewise.
4938         * stmt.c (expand_end_case): Likewise.
4939         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
4940         find any real instructions.
4941
4942         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
4943
4944         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
4945         conditional jump, request updating life into for the block
4946         containing it.  Fix a typo which prevented life info update.
4947         Clear blocks bitmap before using it.
4948
4949 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4950
4951         * c-common.c: Include c-lex.h.
4952         (c_common_lang_init): Change prototype.  Call init_c_lex and
4953         init_pragma from here.
4954         * c-common.h (c_common_lang_init): Change prototype.
4955         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
4956         * c-lang.c (c_init): Change prototype.  Update.
4957         (c_init_options): Update.
4958         * c-lex.c (cpp_filename): Remove.
4959         (init_c_lex): Update.  Read the main file, and get the original
4960         file name.
4961         (yyparse): Finish the command line options.
4962         * c-parse.in (c_parse_init): Call init_reswords here.
4963         (init_parse): Remove.
4964         * c-tree.h (c_init_decl_processing): New.
4965         * cpphash.c (_cpp_init_hashtable): After initializing the hash
4966         table, populate it.
4967         * cppinit.c (read_original_filename, cpp_finish_options): New.
4968         (cpp_create_reader): New prototype. Defer hash table initialization.
4969         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
4970         hash table.  Get the original filename.
4971         * cpplib.h (cpp_create_reader): Update.
4972         (cpp_start_read): Remove.
4973         (cpp_read_main_file, cpp_finish_options): New.
4974         * cppmain.c (main, do_preprocessing): Update.
4975         * langhooks.h (struct langhooks): Update init prototype.
4976         * toplev.c (general_init, parse_options_and_default_flags,
4977         process_options, lang_indpendent_init, lang_dependent_init,
4978         init_asm_output): New; perform the bulk of initialization.
4979         (compile_file): Move most of initialization to above functions.
4980         (debug_hooks): Initialize statically.
4981         (set_Wunused): Relocate.
4982         (toplev_main): Move most of initialization to other init functions.
4983         Have a clear logic flow.
4984         * tree.h (init_parse, init_decl_processing): Remove.
4985 objc:
4986         * objc-act.c (objc_init): Update prototype, combine with old
4987         init_parse.
4988         (objc_init_options): Update.
4989
4990
4991 2001-11-15  Andreas Jaeger  <aj@suse.de>
4992
4993         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
4994         portability.
4995         * basic-block.h: Adjust prototype.
4996
4997 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4998
4999         * config/rs6000/aix31.h: Fix comment formatting.
5000         * config/rs6000/beos.h: Likewise.
5001         * config/rs6000/darwin.h: Likewise.
5002         * config/rs6000/eabi.asm: Likewise.
5003         * config/rs6000/linux.h: Likewise.
5004         * config/rs6000/linux64.h: Likewise.
5005         * config/rs6000/lynx.h: Likewise.
5006         * config/rs6000/netbsd.h: Likewise.
5007         * config/rs6000/rs6000.c: Likewise.
5008         * config/rs6000/rs6000.h: Likewise.
5009         * config/rs6000/rs6000.md: Likewise.
5010         * config/rs6000/sol2.h: Likewise.
5011         * config/rs6000/tramp.asm: Likewise.
5012         * config/rs6000/xcoff.h: Likewise.
5013         * config/rs6000/xm-beos.h: Likewise.
5014
5015 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
5016
5017         * rtl.def (INCLUDE) : Define.
5018         * gensupport.c  (init_include_reader, process_include,
5019         save_string) :  New functions to implement an include facility
5020         in .md files.
5021         * gensupport.h : Add prototype for init_md_reader_args.
5022         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
5023         genextract.c genflags.c genopinit.c genoutput.c
5024         genpeep.c genrecog.c: Change call to init_md_reader to
5025         init_md_reader_args.
5026         * md.texi: Document (include "path") and -I directives for RTL
5027         generation tools.
5028
5029 2001-11-14  DJ Delorie  <dj@redhat.com>
5030
5031         * integrate.c (get_hard_reg_initial_reg): New.
5032         * integrate.h (get_hard_reg_initial_reg): Prototype.
5033         * local-alloc.c (block_alloc): Don't tie pseudos that
5034         represent call-saved hard regs' initial values.
5035
5036 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5037
5038         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
5039         recursion.
5040
5041 2001-11-14  Roger Sayle <roger@eyesopen.com>
5042
5043         * fold-const.c (fold): Optimize strlen comparisons against zero.
5044
5045 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
5046
5047         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
5048         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
5049         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
5050         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
5051         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
5052         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
5053         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
5054         Include various CPU headers via tm_file.  a.out based platforms now
5055         properly include sparc/aout.h.  sol2.h usage now implies including
5056         elfos.h, svr4.h, and sparc/sysv4.h.
5057         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
5058         Also define to '1'.
5059         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
5060         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5061         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
5062         Remove.  They are a.out specific and belong in sparc/aout.h.
5063         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
5064         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5065         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
5066         sparc/sparc.h.
5067         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
5068         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
5069         Moved here from sparc/sparc.h.
5070         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
5071         defining.
5072         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
5073         * config/sparc/lynx.h:  Don't include lynx.h.
5074         (SELECT_SECTION): Do not undef.
5075         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
5076         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
5077         and sparc/sysv4.h.
5078         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
5079         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
5080         sparc/aout.h now.
5081         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
5082         Don't undef, there is no need.
5083         * config/sparc/splet.h (CPP_PREDEFINES): Define.
5084         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
5085         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
5086         Don't include sparc/sparc.h.
5087         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
5088         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5089         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
5090         elfos.h and svr4.h.
5091         (TARGET_VERSION): Define.
5092         * config/sparc/vxsim.h (TARGET_VERSION): Define.
5093
5094 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5095
5096         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
5097         (cfg_layout_finalize): Use it.
5098         * bb-reorder.c (HAVE_epilogue): Remove.
5099         (make_reorder_chain): Do not care special placement of
5100         last basic block.
5101
5102         * predict.c (expected_value_to_br_prob): Delete the note
5103         once transformed.
5104
5105         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
5106         measure integration time separately.
5107
5108 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5109
5110         * function.c (struct temp_slot): ALIGN now unsigned.
5111
5112 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5113
5114         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
5115         * config/dsp16xx/dsp16xx.h: Likewise.
5116         * config/dsp16xx/dsp16xx.md: Likewise.
5117
5118 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5119
5120         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
5121         that deals with 7-bit shifts in HImode.
5122
5123 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
5124
5125         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
5126         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
5127         (final_scan_insn): Update call of alter_subreg.
5128         (cleanup_subreg_operands): Likewise.
5129         (alter_subreg): Rewrite using simplify_subreg.
5130         (output_address, output_operand): Update call of alter_subreg.
5131         * output.h (alter_subreg): Update prototype.
5132         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
5133         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
5134         * Makefile.in (final.o): Add dependency on expr.h
5135
5136 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5137
5138         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
5139
5140 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
5141
5142         * doc/install.texi (sparc-*-linux*): Mention requirements for
5143         binutils and glibc.
5144
5145 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5146
5147         * Makefile.in (POD2MAN): Don't include --section=1.
5148         (manext): Rename to man1ext.  All users changed.
5149         (man7ext): New.
5150         (man7dir): New.
5151         (generated-manpages): Also depend on $(docdir)/gfdl.7,
5152         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
5153         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
5154         --section=1 in calls to $(POD2MAN).
5155         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
5156         (maintainer-clean, install, uninstall): Handle the new man pages.
5157         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
5158         (installdirs): Create man7dir.
5159         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
5160         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
5161         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
5162         the SEE ALSO man page section.
5163         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
5164         and fsf-funding(7) in the SEE ALSO man page section.
5165         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
5166         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
5167         * doc/include/fdl.texi, doc/include/funding.texi,
5168         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
5169         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
5170
5171 2001-11-13  Richard Henderson  <rth@redhat.com>
5172
5173         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
5174         as appropriate for the artificial decl.
5175
5176 2001-11-13  Richard Henderson  <rth@redhat.com>
5177
5178         * loop.c (combine_movables): Turn off combination until
5179         move_movables validation bugs are fixed.
5180
5181 2001-11-13  DJ Delorie  <dj@redhat.com>
5182
5183         * config.gcc (powerpc|rs6000): Set default cpp options based
5184         on --with-cpu settings.
5185         * config/rs6000/softfloat.h: New.
5186
5187 2001-11-13  Kazu Hirata  <kazu@hxi.com>
5188
5189         * config/h8300/h8300.c (shift_alg_si): Use special code for
5190         25-bit shifts on H8/S.
5191         (get_shift_alg): Generate special code for 25-bit shifts on
5192         H8/S.
5193
5194 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
5195
5196         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
5197         (adjust_automodify_address_1): New.
5198         * expr.h (adjust_address, adjust_address_nv): Adjust.
5199         (adjust_automodify_address, adjust_automodify_address_nv): Define.
5200         (adjust_address_1): Update prototype.
5201         (adjust_automodify_address_1): Add prototype.
5202         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
5203         (store_by_pieces_2): Likewise.
5204
5205 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5206
5207         * Makefile.in (explow.o): Now depends on ggc.h.
5208         * explow.c (ggc.h): Include.
5209         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
5210
5211         * Makefile.in (expr.o): Depends on insn-attr.h.
5212         * expr.c (insn-attr.h): New include.
5213         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
5214         of MEM.
5215         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
5216         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
5217         clean up related usage in ADDR_EXPR.
5218         (expand_expr_unaligned): Likewise.
5219
5220         * emit-rtl.c (change_address): Fix typo in alias setting.
5221
5222 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5223
5224         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
5225
5226 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5227
5228         PR bootstrap/3451
5229         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
5230         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
5231
5232 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5233
5234         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
5235         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5236         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5237         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5238         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5239         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5240         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5241         sparc64-*-linux*):  Include various CPU headers via tm_file.
5242         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5243         (SELECT_SECTION): Likewise.
5244         (SELECT_RTX_SECTION): Likewise.
5245         * config/sparc/sparc_bi.h: New file.
5246         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5247         * config/sparc/linux-aout.h: Likewise.
5248         * config/sparc/linux.h: Don't include sparc/sysv4.h.
5249         * config/sparc/linux64.h: Likewise.
5250         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5251         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
5252         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5253         and dbxcoff.h
5254         (ASM_OUTPUT_IDENT): Do not #undef.
5255         (SELECT_SECTION): Likewise.
5256         (SELECT_RTX_SECTION): Likewise.
5257         * config/sparc/liteelf.h: Don't include gofast.h.
5258         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5259         * config/sparc/lynx.h: Don't include sparc/sparc.h.
5260         * config/sparc/pbd.h: Likewise.
5261         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5262         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5263         * config/sparc/rtemself.h: Don't include rtems.h.
5264         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5265         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5266         sparc_bi.h instead.
5267         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5268         * config/sparc/sol2.h: Include sparc/sparc.h directly.
5269         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5270         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5271         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5272         * config/sparc/sp86x-elf.h: Don't include gofast.h.
5273         * config/sparc/splet.h: Don't include sparc/aout.h.
5274         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5275         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5276         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5277         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5278         * config/sparc/vxsparc64.h: Don't include gofast.h.
5279         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5280
5281 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5282
5283         * doc/standards.texi: Mention C99 TC1.
5284
5285 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5286
5287         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5288         * mips.c (mips_output_conditional_branch): Likewise.
5289
5290 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5291
5292         * config/h8300/h8300.c (shift_alg_si): Use special code for
5293         15-bit logical shifts and 31-bit logical shifts.
5294         (get_shift_alg): Generate special code for 15-bit and 31-bit
5295         logical shifts.
5296
5297 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5298
5299         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5300         doing 6-bit logical shifts on H8/S.
5301         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5302         (get_shift_alg): Generate special code for 21-bit shifts on
5303         H8/S.
5304
5305 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5306
5307         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5308         label.
5309
5310 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5311
5312         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5313         if both size and offset known.
5314
5315 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5316
5317         * config/ia64/freebsd.h: Fix misspelling.
5318
5319 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5320
5321         * doc/gcc.texi: Move several chapters out to ...
5322         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5323         doc/include/linux-and-gnu.texi, doc/interface.texi,
5324         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5325         ... here.  New files.
5326         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5327         contrib.texi.
5328         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5329
5330 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5331
5332         * config/alpha/alpha-interix.h: Fix comment formatting.
5333         * config/alpha/alpha.c: Likewise.
5334         * config/alpha/alpha.h: Likewise.
5335         * config/alpha/alpha32.h: Likewise.
5336         * config/alpha/freebsd.h: Likewise.
5337         * config/alpha/unicosmk.h: Likewise.
5338         * config/alpha/vms.h: Likewise.
5339
5340 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5341
5342         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5343
5344 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5345
5346         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5347         numbers.
5348
5349 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5350
5351         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5352         from type.
5353         (replace_equiv_address): Call update_temp_slot_address.
5354
5355         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5356
5357         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5358
5359 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5360
5361         * config/h8300/h8300.c (shift_alg_qi): New.
5362         (shift_alg_hi): Likewise.
5363         (shift_alg_si): Likewise.
5364         (get_shift_alg): Change the type of count to unsigned int.
5365         Use the tables.
5366
5367 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5368
5369         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5370         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5371         to decide whether to defer a function.
5372         (finish_function): Adjust.
5373         (c_expand_deferred_function): New function.
5374         * c-lang.c (deferred_fns): New variable.
5375         (c_init): Initialize it, and mark it as a root.
5376         (defer_fn): New function.
5377         (finish_file): Expand all deferred functions.
5378         * c-tree.h (defer_fn): Declare.
5379         (c_expand_deferred_function): Likewise.
5380         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5381         * objc-act.c (deferred_fns): New variable.
5382         (objc_init): Initialize it, and mark it as a root.
5383         (defer_fn): New function.
5384         (finish_file): Expand all deferred functions.
5385
5386 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5387
5388         * alpha.c (unicosmk_special_name): Prototype.
5389         (unicosmk_ssib_name): Delete unused variable.
5390         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5391         * alpha/vms.h (PREFIX): Undef before defining.
5392         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5393         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5394         controlling usage.  Const-ify.
5395         (alias_number): Delete unused variable.
5396         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5397         (m32r_expand_block_move): Fix uninitialized warnings.
5398         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5399         always true' warnings.
5400         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5401         * sh/sh.c: Include "integrate.h".
5402         (output_far_jump): Fix uninitialized warning.
5403         * final.c (shorten_branches): Avoid automatic aggregate
5404         initialization.
5405         * integrate.c (subst_constants): Likewise.
5406
5407 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5408
5409         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5410         (get_shift_alg): Remove redundant code.
5411
5412 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5413
5414         * config/pa/milli64.S: Fix comment formatting.
5415         * config/pa/pa-64.h: Likewise.
5416         * config/pa/pa-linux.h: Likewise.
5417         * config/pa/pa-protos.h: Likewise.
5418         * config/pa/pa.c: Likewise.
5419         * config/pa/pa.h: Likewise.
5420         * config/pa/pa32-linux.h: Likewise.
5421         * config/pa/pa32-regs.h: Likewise.
5422         * config/pa/pa64-hpux.h: Likewise.
5423         * config/pa/pa64-regs.h: Likewise.
5424         * config/pa/som.h: Likewise.
5425
5426 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5427
5428         * doc/gcc.texi: Move several chapters out to ...
5429         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5430         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5431         doc/vms.texi: ... here.  New files.
5432         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5433
5434 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5435
5436         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5437         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5438         collect2.c, combine.c, config.in, configure, configure.in,
5439         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5440         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5441         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5442         spelling errors.
5443
5444 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5445
5446         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5447         Adjust operand number in CONST_DOUBLE.
5448
5449         * expmed.c (extract_bit_field): No longer pass in alignment.
5450         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5451         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5452         Likewise.
5453         * expr.c (store_constructor, store_constructor_field): Likewise.
5454         (store_field, emit_group_load, emit_group_store): Likewise.
5455         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5456         (store_bit_field, extract_bit_field): Likewise.
5457         * calls.c, expr.c, function.c: Change calls to above functions.
5458         * ifcvt.c, stmt.c: Likewise.
5459
5460         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5461         constant and one is on frame.
5462         If know memref offset, adjust size from decl.
5463
5464 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5465
5466         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5467         format specifier warning.
5468         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5469         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5470         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5471         warning.
5472         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5473         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5474         * i386-interix.h (gen_stdcall_suffix): Prototype.
5475         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5476         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5477         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5478         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5479         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5480         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5481         specifier warnings.
5482         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5483         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5484         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5485         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5486         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5487         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5488         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5489         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5490         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5491         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5492         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5493         Likewise.
5494         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5495         Likewise.
5496         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5497         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5498         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5499         Likewise.
5500         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5501         Likewise.
5502         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5503         Likewise.
5504         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5505         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5506         * m68k/news.h (PRINT_OPERAND): Likewise.
5507         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5508         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5509         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5510         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5511         definition.
5512         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5513         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5514         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5515         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5516         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5517         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5518         PRINT_OPERAND): Likewise.
5519         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5520         Likewise.
5521         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5522         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5523         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5524         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5525         * mips.c (mips_output_external_libcall): Mark parameter with
5526         ATTRIBUTE_UNUSED.
5527         (mips_asm_file_start): Move variable into the scope where it's
5528         used.
5529         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5530         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5531         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
5532         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5533         * ns32k.c (print_operand): Likewise.
5534         * pa.c (print_operand, output_div_insn): Likewise.
5535         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
5536         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
5537         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
5538         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5539         specifier warnings.
5540         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5541         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5542         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
5543         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5544         specifier warnings.
5545         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5546
5547         * sdbout.c (sdbout_end_epilogue): Mark parameter with
5548         ATTRIBUTE_UNUSED.
5549         * varasm.c (assemble_global): Likewise.
5550
5551 2001-11-11  H.J. Lu <hjl@gnu.org>
5552
5553         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
5554
5555 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
5556
5557         * final.c (*_MAX_SKIP): Use *_max_skip variables.
5558         * flags.h (align_loops_max_skip, align_jumps_max_skip,
5559         align_labels_max_skip): New global variables.
5560         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
5561         align_labels_max_skip): New global variables.
5562         (toplev_main): Set new variables.
5563         * i386.c (override_options): Set max_skip values.
5564
5565 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
5566
5567         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
5568         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5569         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
5570         don't print an @fptr for labels either.
5571         (xstormy16_output_addr_vec): Don't print @fptr here.
5572         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
5573
5574 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
5575
5576         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
5577         an ANSI/ISO definitino.
5578         (ssa_const_prop): Likewise.
5579
5580 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
5581
5582         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
5583         altivec registers.
5584
5585 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5586
5587         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
5588         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
5589         * cppmain.c (general_init): Call hex_init.
5590         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
5591
5592         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
5593
5594         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
5595         of dgux.c:output_file_start().
5596
5597         * i386/dgux.c: Delete file.
5598
5599 2001-11-09  Richard Henderson  <rth@redhat.com>
5600
5601         * config/alpha/alpha.c (decl_in_text_section): New.
5602         (current_file_function_operand): Use it.
5603         (alpha_encode_section_info, alpha_end_function): Likewise.
5604
5605 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
5606
5607         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
5608         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
5609         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
5610         so OS specific files and use CPP_PREDEFINES for their needs.
5611         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
5612         target headers to tm_file.
5613         * config/ia64/aix.h (TARGET_VERSION): Likewise.
5614         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
5615         * config/ia64/linux.h (TARGET_VERSION): Likewise.
5616         (FUNCTION_PROFILER): Remove.
5617         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
5618         version in config/ia64/linux.h.
5619         * config/ia64/freebsd.h: New file.
5620         * config/freebsd.h: Tidy up.
5621         (_USING_CONFIG_FREEBSD): Define.
5622         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
5623         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
5624         (FBSD_STARTFILE_SPEC): Likewise.
5625         (FBSD_ENDFILE_SPEC): Likewise.
5626         (FBSD_LIB_SPEC): Likewise.
5627         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
5628         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
5629         set an ELF-improper one.
5630
5631 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5632
5633         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
5634         constant can be loaded in a single instruction to a register.  When
5635         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
5636         depdi for insertion of most significant 32-bits on 64-bit hosts.
5637         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
5638         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
5639         * pa.md: New addmove pattern for adding constant_int to HImode
5640         register and moving result to HImode register.  Remove HImode HIGH
5641         and LO_SUM patterns.
5642
5643 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5644
5645         * Makefile.in: Update.
5646         * c-decl.c (print_lang_decl, print_lang_type): Remove.
5647         (print_lang_identifier): Rename c_print_identifier.
5648         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5649         (print_lang_statistics, lang_print_xnode): Remove.
5650         * c-parse.in (set_yydebug): Rename c_set_yydebug.
5651         * c-tree.h (c_set_yydebug, c_print_identifier): New.
5652         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
5653         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
5654         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
5655         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5656         (LANG_HOOKS_INITIALIZER): Update.
5657         * langhooks.h (struct lang_hooks): New members.
5658         (lang_print_tree_hook): New.
5659         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
5660         * print-tree.c: Include langhooks.h.
5661         (print_node): Update.
5662         * toplev.c (decode_d_option): Update.
5663         * tree.c: Include langhooks.h.
5664         (dump_tree_statistics): Update.
5665         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
5666         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
5667 objc:
5668         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
5669         LANG_HOOKS_SET_YYDEBUG): Override.
5670         (lang_print_xnode, print_lang_statistics): Remove.
5671
5672 2001-11-09  Richard Henderson  <rth@redhat.com>
5673
5674         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
5675         on the symbol string.
5676
5677 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5678
5679         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
5680         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
5681         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
5682
5683         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
5684
5685         * tlink.c (recompile_files): Copy strings passed to `putenv'.
5686
5687 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
5688
5689         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
5690         (TYPE_READONLY): Likewise.
5691
5692         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
5693
5694         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
5695         don't pass --gdwarf2 to the assembler if the compiler will also
5696         provide debug info.
5697
5698         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
5699         Don't change INDEX.
5700
5701 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5702
5703         * alias.c (nonoverlapping_memrefs_p): New function.
5704         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
5705
5706         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
5707
5708 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
5709
5710         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
5711         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
5712         generating altivec code.
5713         (FIXED_REGISTERS): VRSAVE is fixed.
5714         (CALL_USED_REGISTERS): VRSAVE is call used.
5715
5716 2001-11-09  Jason Eckhardt  <jle@rice.edu>
5717
5718         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
5719         code the branch target as ".+16/.+12", but rather use labels.
5720
5721 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
5722
5723         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
5724         to work around limitations of certain versions of GAS.
5725
5726         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
5727         (muldi3): Update due to SUBREG_BYTE changes.
5728         (casesi): Similarly.
5729
5730 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
5731
5732         * doc/invoke.texi: Remove comment referring to -xf77-version.
5733
5734 2001-11-09  Kazu Hirata  <kazu@hxi.com>
5735
5736         * config/convex/convex.c: Fix comment formatting.
5737         * config/convex/convex.h: Likewise.
5738
5739 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
5740
5741         * Makefile.in (.po.pox): Look both in srcdir and builddir
5742         for $(PACKAGE).pot.
5743         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
5744         to the source directory.
5745
5746 2001-11-09 Ben Elliston  <bje@redhat.com>
5747            Michael Meissner  <meissner@redhat.com>
5748            Andrew MacLeod  <amacleod@redhat.com>
5749            Richard Henderson  <rth@redhat.com>
5750            Nick Clifton  <nickc@redhat.com>
5751            Catherine Moore  <clm@redhat.com>
5752
5753         * m32r.c: Add support for m32rx processor.
5754         * m32r.h: Ditto.
5755         * m32r.md: Ditto.
5756         * t-m32r: Ditto.
5757         * m32r-protos.h: Add prototypes for m32rx functions.
5758         * doc/invoke.texi: Document -m32rx option.
5759
5760 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5761
5762         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
5763         or after reload.
5764
5765 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5766
5767         * doc/install.texi2html: Use $MAKEINFO --no-split.
5768
5769 2001-11-09  Andreas Schwab  <schwab@suse.de>
5770
5771         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
5772         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
5773         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
5774         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
5775         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
5776
5777 2001-11-09  H.J. Lu <hjl@gnu.org>
5778
5779         * config/mips/mips.c (mips_output_function_prologues): Cast
5780         `tsize' to long for output.
5781
5782 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5783
5784         * c-lang.c (LANG_HOOKS_NAME): New.
5785         (lang_hooks): Constify.
5786         (c_init_options): Update.
5787         (lang_identify): Remove.
5788         * c-parse.in (language_string): Remove.
5789         * dbxout.c: Include langhooks.h.
5790         (dbxout_symbol_location): Update.
5791         * dwarf2out.c: Include langhooks.h.
5792         (gen_compile_unit_die): Update.
5793         * dwarfout.c: Include langhooks.h.
5794         (prototyped_attribute, output_compile_unit_die): Update.
5795         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
5796         (LANG_HOOKS_INITIALIZER): Update.
5797         * langhooks.h (struct lang_hooks): New members.  Constify.
5798         * stringpool.c: Don't include toplev.h.
5799         (set_identifier_size): Remove.
5800         * toplev.c (toplev_main): Initialize identifier size.
5801         (print_version): Update.
5802         * tree.h (language_string, init_lex, lang_identify,
5803         set_identifier_size): Remove.
5804         * Makefile.in: Update dependencies.
5805         * config/darwin.c: Include langhooks.h.
5806         (func_name_maybe_scoped): Update.
5807         * config/darwin.h (ASM_END_FILE): Update.
5808         * config/nextstep.h (ASM_END_FILE): Update.
5809         * config/nextstep21.h (ASM_END_FILE): Update.
5810         * config/i386/sun386.h (ASM_END_FILE): Update.
5811         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
5812         (rs6000_output_function_epilogue): Update.
5813 objc:
5814         * objc-act.c (LANG_HOOKS_NAME): Override.
5815         (struct lang_hooks): Constify.
5816         (objc_init_options): Update.
5817         (lang_identify): Remove.
5818
5819 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
5820
5821         * fold-const.c (lshift_double): Honor PREC.
5822         (rshift_double): Likewise.
5823
5824 2001-11-08  Kazu Hirata  <kazu@hxi.com>
5825
5826         * config/1750a/1750a.c: Fix comment formatting.
5827         * config/1750a/1750a.h: Likewise.
5828
5829 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
5830
5831         * configure.in (--enable-languages): Be more permissive about
5832         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
5833         * configure: Regenerated.
5834
5835 2001-11-08  Richard Henderson  <rth@redhat.com>
5836
5837         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
5838
5839 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
5840
5841         * config.gcc: Rename stormy16 to xstormy16.
5842         * config/stormy16/stormy-abi: Likewise.
5843         * config/stormy16/stormy16-protos.h: Likewise.
5844         * config/stormy16/stormy16.c: Likewise.
5845         * config/stormy16/stormy16.h: Likewise.
5846         * config/stormy16/stormy16.md: Likewise.
5847
5848 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
5849
5850         * tree.h (TYPE_VOLATILE): Add enable-checking code.
5851         (TYPE_READONLY): Likewise.
5852
5853 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5854
5855         * reload1.c (reload): Don't delete equiv insn if can throw.
5856
5857         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
5858         (clear_storage): Likewise, for OBJECT.
5859
5860 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
5861
5862         * pa.c (emit_move_sequence): Fix SUBREG expression to
5863         use proper byte offset when extending a constant from
5864         SImode to DImode.
5865
5866 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5867
5868         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
5869         which cannot throw.
5870
5871 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5872
5873         * explow.c (convert_memory_address, case SUBREG): Only return
5874         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
5875
5876 2001-11-08  Richard Henderson  <rth@redhat.com>
5877
5878         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
5879         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
5880         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
5881
5882 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
5883
5884         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
5885
5886 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5887
5888         * dwarf2out.c (debug_str_hash): New.
5889         (struct indirect_string_node): New.
5890         (struct dw_val_struct): Change type of val_str to it.
5891         (DEBUG_STR_SECTION_FLAGS): Define.
5892         (add_AT_string): Push string into hashtable, increment reference
5893         counter.
5894         (AT_string): Return string from ht_identifier.
5895         (AT_string_form): New.
5896         (free_AT): For dw_val_class_str, just decrement reference counter.
5897         (size_of_string): Remove.
5898         (size_of_die): Use AT_string_form to decide what size the string
5899         occupies in DIE.
5900         (size_of_pubnames): Use strlen instead of size_of_string.
5901         (value_format): Use AT_string_form for dw_val_class_str.
5902         (output_die): Output DW_FORM_strp strings using
5903         dw2_asm_output_offset.
5904         (indirect_string_alloc, output_indirect_string): New.
5905         (dwarf2out_finish): Emit .debug_str strings if there are any.
5906
5907 2001-11-08  Andreas Franck  <afranck@gmx.de>
5908
5909         * configure.in: Add AC_ARG_PROGRAM to support program name
5910         transformation with --program-prefix, --program-suffix and
5911         --program-transform-name.
5912         * configure: Regenerated.
5913         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
5914         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
5915         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
5916         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
5917         program_transform_name the way suggested by autoconf.
5918         (GCC_TARGET_INSTALL_NAME): Define.
5919         (install-driver): Use the transformed target alias name.
5920
5921 2001-11-08  Richard Henderson  <rth@redhat.com>
5922
5923         * config/mips/mips.c (save_restore_insns): Remove GP from the
5924         restore registers mask early instead of special casing it inside
5925         the loop.
5926
5927 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5928
5929         * cp/decl.c (shadow_warning): New function.
5930         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
5931         and an error when a block scope decl shadows a parameter.
5932
5933 2001-11-08  Richard Henderson  <rth@redhat.com>
5934
5935         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
5936         case as well.
5937
5938 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5939
5940         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
5941         to implement floating negation on processors prior to PA 2.0.
5942
5943 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5944
5945         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
5946         (USE_LINKONCE_INDIRECT): Define.
5947         (dw2_output_indirect_constant_1): Try to output indirect constants
5948         into linkonce sections if possible.
5949         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
5950         (dw2_output_indirect_constants): Likewise.
5951
5952 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5953
5954         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
5955
5956 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5957
5958         * c-decl.c (pushdecl): Remove file and line.
5959         * c-typeck.c (pop_init_level): Remove size.
5960
5961 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5962
5963         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
5964         for rs6000.
5965
5966         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
5967         (TARGET_ALTIVEC): New.
5968         (TARGET_SWITCHES): Add altivec.
5969         (FIRST_PSEUDO_REGISTER): Change to 109.
5970         (CALL_USED_REGISTERS): Same.
5971         (FIRST_ALTIVEC_REGNO): New.
5972         (LAST_ALTIVEC_REGNO): New.
5973         (ALTIVEC_REGNO_P): New.
5974         (UNITS_PER_ALTIVEC_WORD): New.
5975         (ALTIVEC_VECTOR_MODE): New.
5976         (FIXED_REGISTERS): Add altivec registers.
5977         (REG_ALLOC_ORDER): Same.
5978         (HARD_REGNO_NREGS): Adjust for altivec registers.
5979         (HARD_REGNO_MODE_OK): Same.
5980         (MODES_TIEABLE_P): Same.
5981         (REGISTER_MOVE_COST): Same.
5982         (REGNO_REG_CLASS): Same.
5983         (reg_class): Add ALTIVEC_REGS.
5984         (REG_CLASS_NAMES): Same.
5985         (REG_CLASS_CONTENTS): Same.
5986         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
5987         (ALTIVEC_ARG_RETURN): New.
5988         (FUNCTION_VALUE): Handle VECTOR_TYPE.
5989         (LIBCALL_VALUE): Handle altivec vector modes.
5990         (VECTOR_MODE_SUPPORTED_P): New.
5991         (ALTIVEC_ARG_MIN_REG): New.
5992         (ALTIVEC_ARG_MAX_REG): New.
5993         (ALTIVEC_ARG_NUM_REG): New.
5994         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
5995         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
5996         (REGISTER_NAMES): Add altivec regs.
5997         (DEBUG_REGISTER_NAMES): Same.
5998         (ADDITIONAL_REGISTER_NAMES): Same.
5999         (rs6000_builtins): New.
6000         (MD_EXPAND_BUILTIN): New.
6001         (MD_INIT_BUILTINS): New.
6002         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
6003         for AltiVec instructions.
6004         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
6005         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
6006         registers.
6007         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
6008         (TARGET_SWITCHES): Add no-altivec.
6009         (DATA_ALIGNMENT): Align vectors to 128 bits.
6010         (TARGET_OPTIONS): Add abi= option.
6011         Add rs6000_abi_string extern.
6012         (LOCAL_ALIGNMENT): New.
6013         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
6014         (MASK_ALTIVEC_ABI): New.
6015         (TARGET_ALTIVEC_ABI): New.
6016         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
6017         call-saved.
6018         (STACK_BOUNDARY): Adjust for altivec.
6019         (BIGGEST_ALIGNMENT): Same.
6020         (rs6000_args): Add vregno.
6021         (USE_ALTIVEC_FOR_ARG_P): New.
6022         (FIXED_REGISTERS): Add vrsave register.
6023         (CALL_USED_REGISTERS): Same.
6024         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
6025         (VRSAVE_REGNO): New.
6026         (reg_class): Add VRSAVE_REGS.
6027         (REG_CLASS_NAMES): Same.
6028         (REG_CLASS_CONTENTS): Same.
6029         (REGNO_REG_CLASS): Same.
6030
6031         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
6032         (ABI_STACK_BOUNDARY): Same.
6033         (BIGGEST_ALIGNMENT): Same.
6034         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
6035         (ROUND_TYPE_ALIGN): Same.
6036
6037         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6038         to 64.
6039
6040         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6041         to 64.
6042
6043         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6044         to 64.
6045
6046         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
6047         (altivec_expand_builtin): New.
6048         (altivec_init_builtins): New.
6049         (TARGET_EXPAND_BUILTIN): New.
6050         (TARGET_INIT_BUILTINS): New.
6051         (rs6000_init_builtins): New.
6052         (struct builtin_description): New.
6053         (bdesc_2arg): New.
6054         (rs6000_reg_names): Add altivec registers.
6055         (alt_reg_names): Same.
6056         (secondary_reload_class): Altivec regs can hold altivec regs and
6057         memory.
6058         (rs6000_emit_move): Force constants into memory for AltiVec moves.
6059         (print_operand): Add 'y' case for printing altivec memory
6060         operands.
6061         (rs6000_legitimize_address): Legitimize vector addresses into
6062         [REG+REG] or [REG].
6063         (altivec_expand_binop_builtin): New.
6064         New string rs6000_current_abi.
6065         (rs6000_override_options): Call rs6000_parse_abi_options.
6066         (rs6000_parse_abi_options): New.
6067         (function_arg_boundary): Vector arguments must be 16
6068         byte aligned.
6069         (function_arg_advance): Handle vector arguments.
6070         (function_arg_partial_nregs): Same.
6071         (init_cumulative_args): Same.
6072         (function_arg): Same.
6073
6074         * config/rs6000/rs6000.md (altivec_lvx): New.
6075         (type): Add altivec attribute.
6076         (movv4si): New.
6077         (*movv4si_internal): New.
6078         (movv16qi): New.
6079         (*movv16qi_internal): New.
6080         (movv8hi): New.
6081         (*movv8hi_internal1): New.
6082         (movv4sf): New.
6083         (*movv4sf_internal1): New.
6084         (altivec_stvx): New.
6085         (vaddubm): New.
6086         (vadduhm): New.
6087         (vadduwm): New.
6088         (vaddfp): New.
6089         (vaddcuw): New.
6090         (vaddubs): New.
6091         (vaddsbs): New.
6092         (vadduhs): New.
6093         (vaddshs): New.
6094         (vadduws): New.
6095         (vaddsws): New.
6096         (vand): New.
6097         (vandc): New.
6098         (vavgub): New.
6099         (vavgsb): New.
6100         (vavguh): New.
6101         (vavgsh): New.
6102         (vavguw): New.
6103         (vavgsw): New.
6104         (vcmpbfp): New.
6105         (vcmpequb): New.
6106         (vcmpequh): New.
6107         (vcmpequw): New.
6108         (vcmpeqfp): New.
6109         (vcmpgefp): New.
6110         (vcmpgtub): New.
6111         (vcmpgtsb): New.
6112         (vcmpgtuh): New.
6113         (vcmpgtsh): New.
6114         (vcmpgtuw): New.
6115         (vcmpgtsw): New.
6116         (vcmpgtfp): New.
6117         (vcmpgefp): New.
6118         (vcmpgtub): New.
6119         (vcmpgtsb): New.
6120         (vcmpgtuh): New.
6121         (vcmpgtsh): New.
6122         (vcmpgtuw): New.
6123         (vcmpgtsw): New.
6124         (vcmpgtfp): New.
6125         (vmaxub): New.
6126         (vmaxsb): New.
6127         (vmaxuh): New.
6128         (vmaxsh): New.
6129         (vmaxuw): New.
6130         (vmaxsw): New.
6131         (vmaxfp): New.
6132         (vmrghb): New.
6133         (vmrghh): New.
6134         (vmrghw): New.
6135         (vmrglb): New.
6136         (vmrglh): New.
6137         (vmrglw): New.
6138         (vminub): New.
6139         (vminsb): New.
6140         (vminuh): New.
6141         (vminsh): New.
6142         (vminuw): New.
6143         (vminsw): New.
6144         (vminfp): New.
6145         (vmuleub): New.
6146         (vmulesb): New.
6147         (vmuleuh): New.
6148         (vmulesh): New.
6149         (vmuloub): New.
6150         (vmulosb): New.
6151         (vmulouh): New.
6152         (vmulosh): New.
6153         (vnor): New.
6154         (vor): New.
6155         (vpkuhum): New.
6156         (vpkuwum): New.
6157         (vpkpx): New.
6158         (vpkuhss): New.
6159         (vpkshss): New.
6160         (vpkuwss): New.
6161         (vpkswss): New.
6162         (vpkuhus): New.
6163         (vpkshus): New.
6164         (vpkuwus): New.
6165         (vpkswus): New.
6166         (vrlb): New.
6167         (vrlh): New.
6168         (vrlw): New.
6169         (vslb): New.
6170         (vslh): New.
6171         (vslw): New.
6172         (vsl): New.
6173         (vslo): New.
6174         (vsrb): New.
6175         (vrsh): New.
6176         (vrsw): New.
6177         (vsrab): New.
6178         (vsrah): New.
6179         (vsraw): New.
6180         (vsr): New.
6181         (vsro): New.
6182         (vsububm): New.
6183         (vsubuhm): New.
6184         (vsubuwm): New.
6185         (vsubfp): New.
6186         (vsubcuw): New.
6187         (vsububs): New.
6188         (vsubsbs): New.
6189         (vsubuhs): New.
6190         (vsubshs): New.
6191         (vsubuws): New.
6192         (vsubsws): New.
6193         (vsum4ubs): New.
6194         (vsum4sbs): New.
6195         (vsum4shs): New.
6196         (vsum2sws): New.
6197         (vsumsws): New.
6198         (vxor): New.
6199
6200 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
6201
6202         * Makefile.in (df.o): Add fibheap.h to dependencies.
6203
6204         * df.h: Add prototypes for transfer functions, iterative_dataflow
6205         functions.
6206         (enum df_flow_dir): New enum.
6207         (enum df_confluence_op): New enum.
6208         (struct df): Add inverse_rts_map.
6209
6210         * df.c: Add sbitmap.h to the list of includes.
6211         (df_rd_global_compute): Removed.
6212         (df_ru_global_compute): Removed.
6213         (df_lr_global_compute): Removed.
6214         (df_rd_transfer_function): New function.
6215         (df_ru_transfer_function): New function.
6216         (df_lr_transfer_function): New function.
6217         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
6218         Use iterative_dataflow_bitmap instead of df_*_global_compute.
6219         (iterative_dataflow_sbitmap): New function.
6220         (iterative_dataflow_bitmap): New function.
6221
6222 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6223
6224         * doc/gcc.texi: Move terminology and spelling conventions to
6225         htdocs/codingconventions.html.
6226
6227 2001-11-07  Graham Stott  <grahams@redhat.com>
6228
6229         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
6230
6231 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6232
6233         * expmed.c (expand_mult): Force operand to register before computing
6234         cost.
6235         * i386.c (x86_decompose_lea): New global vairable.
6236         * i386.h (x86_decompose_lea): Declare.
6237         (TARGET_DECOMPOSE_LEA): New macro.
6238         (RTX_COST): Handle leas properly.
6239
6240 2001-11-06  Richard Henderson  <rth@redhat.com>
6241
6242         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6243         defined for a CONSTRUCTOR; don't check it.
6244
6245 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6246
6247         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6248         test for absolute pathnames.
6249
6250 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
6251
6252         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6253         instructions up to the target pc inclusive.
6254
6255 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
6256
6257         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
6258
6259 2001-11-06  Eric Christopher  <echristo@redhat.com>
6260
6261         * config/mips/mips.md(movdf_internal2): Add constraints for float
6262         to general register move.
6263         * config/mips/elf64.h: Add default ABI.
6264
6265 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6266
6267         * alias.c:: Include langhooks.h.
6268         * emit-rtl.c: Similarly.
6269         * toplev.c: Similarly.
6270         * tree-inline.c: Similarly.
6271         * langhooks-def.h: New, the old langhooks.h.  Give the default
6272         hooks a common prefix.
6273         * langhooks.h: Contents extracted from toplev.h.
6274         * toplev.h: Move langhook stuff to langhooks.h.
6275         * langhooks.c: Give default hooks a common prefix.
6276
6277         * c-lang.c: Include langhooks-def.h.
6278         * objc/objc-act.c: Similarly.
6279         * Makefile.in: Update.
6280         * objc/Make-lang.in: Update.
6281
6282 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6283
6284         * doc/install.texi: Document that configure options not listed in
6285         this file are unsupported.  Document --with-system-zlib.
6286
6287 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6288
6289         * rtl.h (mem_for_const_double): New declaration.
6290         * varasm.c (mem_for_const_double): New function.
6291         * config/convex/convex.md (movdf): Use it.
6292         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6293         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6294         * config/m68k/m68kv4.h: Likewise.
6295
6296         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6297         of new GP reg classes.
6298
6299         * expr.c (store_field): When making temp object for unaligned
6300         component, set it to alias set 0.
6301
6302 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6303
6304         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6305         non-lvalue arrays if C99.
6306         * c-typeck.c (default_conversion): Split out code handling
6307         array-to-pointer and function-to-pointer conversions into a
6308         separate default_function_array_conversion function.
6309         (default_function_array_conversion): New function.  Keep track of
6310         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6311         arrays unchanged outside C99 mode instead of giving an error for
6312         them.
6313         (build_component_ref): Use pedantic_non_lvalue when handling
6314         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6315         (convert_arguments): Use default_function_array_conversion.
6316         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6317         non-lvalues are OK.
6318         (unary_complex_lvalue): Likewise.
6319         (internal_build_compound_expr): Use
6320         default_function_array_conversion.  Apply default conversions to
6321         function in compound expression.
6322         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6323         Use default_function_array_conversion.
6324         * doc/extend.texi: Update documentation of subscripting non-lvalue
6325         arrays.
6326         Fixes PR c/461.
6327
6328 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6329
6330         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6331         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6332         corresponding to the complete set of .po and .gmo files in
6333         the source directory's po subdir, modified by LINGUAS.  Don't
6334         look at ALL_LINGUAS.
6335         * configure.in: Don't set ALL_LINGUAS.
6336         * configure: Regenerate.
6337
6338         * Makefile.in (.po.gmo): Don't move into source directory.
6339         (.po.pox): Clarify comments.
6340         (install-po): Look for .gmo files in both srcdir and objdir;
6341         don't fail if a file is totally missing.
6342         (distclean): rmdir ada subdirectory too.
6343
6344 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6345
6346         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6347         CONSTRUCTORs _correctly_.
6348
6349 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6350
6351         * c-decl.c (delete_block): Remove.
6352         * c-tree.h (delete_block): Remove.
6353
6354 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6355
6356         * cppexp.c (lex, parse_defined): Update warning about defined.
6357
6358 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6359
6360         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6361         CONSTRUCTORs too.
6362
6363 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6364
6365         * config/arm/arm.c (arm_return_in_memory): Cope with
6366         int_size_in_bytes returning -1.
6367
6368         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6369         DECL being NULL.
6370
6371 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6372
6373         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6374         remove unneeded dependencies;
6375         (cfglayout.o): New.
6376         * cfglayout.c, cfglayout.h: New files; break out from ...
6377         * bb-reorder.c: ... here; Remove unneeded includes;
6378
6379 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6380
6381         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6382
6383 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6384
6385         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6386         mode as well.  Do not explicitly create intermediate regs.
6387
6388 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6389
6390         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6391         (common_section): Delete unused variable.
6392         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6393         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6394         * arm-protos.h (arm_poke_function_name, aof_add_import,
6395         aof_delete_import): Const-ify.
6396         * arm.c (legitimize_pic_address): Wrap variables in the macro
6397         controlling their usage.
6398         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6399         (arm_poke_function_name, pic_chain, import, aof_add_import,
6400         aof_delete_import): Const-ify.
6401         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6402         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6403         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6404         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6405         * i860/sysv3.h: Add missing comment closure.
6406         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6407         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6408         to symbolic_operand.
6409
6410         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6411         (i960-*-*): Set tmake_file.
6412         (sparc86x-*-elf*): Fix typo in header name.
6413
6414         * sched-rgn.c (schedule_insns): Delete unused variable.
6415
6416 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6417
6418         PR c/2820
6419         * c-typeck.c (lookup_field): Rework to return a chain down to
6420         the looked-up field.
6421         (build_component_ref): Use the new lookup_field to handle
6422         nested anonymous entities correctly.
6423
6424 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6425
6426         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6427         Change parameters to gen_rtx_CONST_DOUBLE.
6428         (GEN_INT64, sparc_emit_set_const64): Likewise.
6429         * config/sparc/sparc.md (movdf split): Likewise.
6430
6431 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6432
6433         * unroll.c (calculate_giv_inc): Use find_last_value rather
6434         than just hoping the last instruction is the right SET.
6435         [Fixes 990604-1.c on stormy16.]
6436
6437         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6438         library at all if -T is used.
6439
6440         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6441         some uses of uninitialized variables in error cases.
6442
6443         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6444         look at 'temp' if we won't be using it.
6445
6446         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6447         (RTX_COSTS): Define.
6448         (ADDRESS_COST): Define.
6449         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6450
6451         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6452
6453         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6454         stormy16_asm_output_mi_thunk.
6455         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6456         function.
6457         * config/stormy16/stormy16-protos.h
6458         (stormy16_asm_output_mi_thunk): New prototype.
6459
6460 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6461
6462         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6463         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6464         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6465         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6466         sched-int.h, toplev.c, config/alpha/alpha.c,
6467         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6468         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6469         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6470         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6471         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6472         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6473         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6474
6475 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6476
6477         * Makefile.in (dbxout.o): Depend on function.h.
6478         * collect2.c (is_in_list): Hide unused function.
6479         * dbxout.c: Include function.h.
6480         (source_label_number, dbxout_source_line, dbxout_source_file,
6481         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6482         macros controlling usage.
6483         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6484         * output.h (exports_section): Prototype.
6485
6486         * convex.c (convex_output_function_prologue): Fix format specifier
6487         warning.
6488         (asm_declare_function_name): Fix signed/unsigned warning.
6489         (print_operand): Fix format specifier warning.
6490         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6491         * dsp16xx-protos.h (uns_comparison_operator,
6492         num_1600_core_shifts): Prototype.
6493         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6494         (frame_size, frame_pointer_offset): Delete.
6495         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6496         Make static.  Fix format specifier warnings.
6497         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6498         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6499         * dsp16xx.md: Add default case in switches.
6500         * fr30.h (IN_RANGE): Delete.
6501         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6502         * mcore-protos.h (mcore_output_cmov): Const-ify.
6503         * mcore.c (mcore_output_cmov): Likewise.
6504         * mcore.h (switch_to_section): Make static and prototype.
6505         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6506         unsigned>=0 warnings.
6507         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6508         * rs6000-protos.h (read_only_data_section,
6509         read_only_private_data_section): Prototype.
6510         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6511         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6512         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6513
6514 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6515
6516         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6517         ATTRIBUTE_UNUSED.
6518         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6519         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6520         Wrap variable in macros controlling its use.
6521         * output.h (sdata_section): Add prototype.
6522
6523         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6524         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
6525         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
6526         (ASM_FILE_START): Const-ify.
6527         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
6528         specifier warning.
6529         * c4x.md: Don't use the 'U' integer suffix.
6530         * clipper.md (clipper_movstr): Delete declaration.
6531         * d30v-protos.h (d30v_move_2words): Const-ify.
6532         (debug_stack_info): Add prototype.
6533         * d30v.c: Include "integrate.h".
6534         (d30v_function_arg_boundary, d30v_function_arg,
6535         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
6536         signed/unsigned warnings.
6537         (d30v_print_operand_memory_reference, d30v_move_2words):
6538         Const-ify.
6539         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
6540         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
6541         * fr30.md: Const-ify.
6542         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6543         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
6544         (mvs_get_label_page): Hide unused static function.
6545         * i860.c (current_function_original_name): Const-ify.
6546         * i860/sysv3.h (current_function_original_name): Likewise.
6547         * i860/sysv4.h (current_function_original_name): Likewise.
6548         * i960.md: Add default case in switches.  Remove unused variable.
6549         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
6550         * m32r.md: Const-ify.
6551         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
6552         * m68hc11.c: Include "reload.h".
6553         (static_chain_reg, print_options, m68hc11_asm_file_start):
6554         Const-ify.
6555         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
6556         around & in comparison.
6557         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6558         * mn10200.c (shift_mode): Remove trailing comma.
6559         * mn10300-protos.h (output_tst): Const-ify.
6560         * mn10300.c (output_tst): Likewise.
6561         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
6562         warnings.
6563         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
6564         * pa.c (output_ascii): Likewise.
6565         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6566         * pdp11.md (expand_unop): Delete declarations.
6567         * pj-protos.h (pj_output_addsi3): Const-ify.
6568         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
6569         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
6570         unique_src_operand): Add prototypes.
6571         (pj_output_store_into_lval): Make definition static.
6572         (pj_function_incoming_arg): Don't use unary plus.
6573         (pj_output_addsi3): Const-ify.
6574         * romp.md (get_symref): Delete declarations.
6575         * v850-c.c (mark_current_function_as_interrupt): Don't return
6576         value from void function.
6577         * v850.c: Include "integrate.h".
6578         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
6579         * vax-protos.h (const_section): Add prototype.
6580
6581 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
6582
6583         * machmode.def: Add documentation for the seventh argument in
6584         vector modes.
6585
6586 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
6587
6588         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
6589         consistently.
6590         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
6591         <-melf>: Don't have markup for ELF acronym.
6592
6593 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
6594
6595         * config.gcc (mmix-*-*): New target.
6596         * doc/invoke.texi: Document MMIX options.
6597         * doc/contrib.texi: Add note about MMIX port to my entry.
6598         * config/mmix/t-mmix: New file.
6599         * config/mmix/mmix.h: New file.
6600         * config/mmix/mmix-protos.h: New file.
6601         * config/mmix/mmix.c: New file.
6602         * config/mmix/mmix.md: New file.
6603         * config/mmix/crti.asm: New file.
6604         * config/mmix/crtn.asm: New file.
6605
6606 2001-11-03  Kazu Hirata  <kazu@hxi.com>
6607
6608         * config/sparc/linux-aout.h: Fix comment formatting.
6609         * config/sparc/linux.h: Likewise.
6610         * config/sparc/linux64.h: Likewise.
6611         * config/sparc/lynx.h: Likewise.
6612         * config/sparc/pbd.h: Likewise.
6613         * config/sparc/sol2-sld-64.h: Likewise.
6614         * config/sparc/sol2.h: Likewise.
6615         * config/sparc/sparc.c: Likewise.
6616         * config/sparc/sparc.h: Likewise.
6617         * config/sparc/sparc.md: Likewise.
6618         * config/sparc/sunos4.h: Likewise.
6619         * config/sparc/vxsim.h: Likewise.
6620         * config/sparc/vxsparc.h: Likewise.
6621         * config/sparc/vxsparc64.h: Likewise.
6622
6623 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6624
6625         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
6626         reference to CONST_DOUBLE_MEM in comment.
6627         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
6628         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
6629         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
6630         * function.c (pop_function_context_from): Don't call
6631         restore_varasm_status.
6632         * function.h (restore_varasm_status): Delete declaration.
6633         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
6634         * rtl.c: Likewise.
6635         * rtl.def (CONST_DOUBLE): Update comment.
6636         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
6637         (CONST_DOUBLE_CHAIN): Likewise.
6638         (CONST_DOUBLE_MEM): Delete.
6639         (gen_rtx_CONST_DOUBLE): Update parameters.
6640         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
6641         Remove reference to CONST_DOUBLE_MEM.
6642         (const_alias_set): New variable.
6643         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
6644         (immed_real_const_1): Adjust tests for 0, 1, and 2.
6645         Don't set CONST_DOUBLE_MEM.
6646         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
6647         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
6648         Put constant in const_alias_set.
6649         (struct pool_constant): ALIGN now unsigned.
6650         OFFSET now HOST_WIDE_INT.
6651         Delete LABEL.
6652         (restore_varasm_status): Deleted.
6653         (mark_pool_constant): Mark desc->rtl.
6654         (force_const_mem): Rework to store rtl in hash table,
6655         not CONST_DOUBLE_MEM.
6656         Put constant in const_alias_set.
6657         (find_pool_constant): Check desc->rtl.
6658         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
6659         (init_varasm_once): Initialize const_alias_set.
6660
6661         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
6662         force_const_mem.
6663
6664         * reload.c (combine_reloads): Don't combine an output reload if there
6665         are other reloads around for part of the output.
6666
6667         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
6668         constant expression.
6669         (set_mem_decl): New function.
6670         * expr.h (set_mem_decl): New declaration.
6671         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
6672         (output_asm_operand_names): Add tab.
6673         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
6674
6675         * builtins.c (get_memory_rtx): Properly set MEM alias set and
6676         attributes.
6677
6678 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6679
6680         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
6681         Use "invalid" instead of "illegal".  Use @r in comments in
6682         examples.
6683
6684 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6685
6686         * c-decl.c (pushdecl): Move block inside if conditional to remove
6687         possibility of a segfault.  Lookup block-level extern
6688         variables in enclosing scopes correctly.
6689
6690         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
6691
6692 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6693
6694         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
6695         SUBREG so we avoid SUBREGing memory.
6696
6697         * expmed.c (store_bit_field): Same.
6698
6699 2001-11-02  DJ Delorie  <dj@redhat.com>
6700
6701         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
6702         using FP registers for DImode mem-mem moves is acceptable.
6703
6704 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6705
6706         * builtins.c (apply_args_size): Handle vector arguments.
6707         (apply_result_size): Same.
6708
6709         * machmode.def: Set WIDER mode field for all vector entries.
6710
6711 2001-11-02  Graham Stott  <grahams@redhat.com>
6712
6713         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
6714
6715 2001-11-01  Eric Christopher  <echristo@redhat.com>
6716
6717         * config.gcc: Revert part of earlier patch.
6718         * config/mips/linux.h: Ditto.
6719         * df.c: Include tm_p.h to avoid warnings.
6720         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
6721         #if/#endif.
6722         * config/mips/mips.c: Define mips_abi regardless.
6723         (mips_output_function_prologues): Add long casts for .frame
6724         output.
6725         (override_options): Allow use of ABI_32.
6726
6727 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6728
6729         * config/m68hc11/m68hc11.c: Fix comment formatting.
6730         * config/m68hc11/m68hc11.h: Likewise.
6731         * config/m68hc11/m68hc11.md: Likewise.
6732
6733 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6734
6735         * c-typeck.c (default_conversion): Retain the original expression
6736         codes.
6737         * gcc.dg/Wparentheses.c: New tests.
6738
6739 2001-11-01  David S. Miller  <davem@redhat.com>
6740
6741         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
6742         64-bit Sparc description more in line with reality.
6743
6744 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
6745
6746         * Makefile.in (GCOV_OBJS): Add version.o.
6747         * gcov.c: Include "version.h" and <getopt.h>.
6748         (gcov_version_string): Remove.
6749         (print_usage): Take a parameter to determine whether this is a
6750         call from --help or an error message.  Give fuller output that
6751         follows the GNU Coding Standards for --help.
6752         (print_version): New function.
6753         (options): New.
6754         (process_args): Use getopt_long.  Support long options.  Follow
6755         GNU Coding Standards for --help and --version.
6756         * doc/gcov.texi: Document long options.
6757         Addresses part of PR other/704.
6758
6759 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6760
6761         * pa.c (output_move_double): Fix typo in double load.
6762
6763 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6764
6765         * config/h8300/h8300.c (h8300_encode_label): Compute a string
6766         before passing it to ggc_alloc_string.
6767
6768 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6769
6770         * config/m68k/3b1.h: Fix comment formatting.
6771         * config/m68k/3b1g.h: Likewise.
6772         * config/m68k/a-ux.h: Likewise.
6773         * config/m68k/amix.h: Likewise.
6774         * config/m68k/apollo68.h: Likewise.
6775         * config/m68k/atari.h: Likewise.
6776         * config/m68k/aux-exit.c: Likewise.
6777         * config/m68k/ccur-GAS.h: Likewise.
6778         * config/m68k/crds.h: Likewise.
6779         * config/m68k/dpx2.h: Likewise.
6780         * config/m68k/dpx2g.h: Likewise.
6781         * config/m68k/hp310.h: Likewise.
6782         * config/m68k/hp320.h: Likewise.
6783         * config/m68k/isi.h: Likewise.
6784         * config/m68k/linux.h: Likewise.
6785         * config/m68k/lynx.h: Likewise.
6786         * config/m68k/m68k-psos.h: Likewise.
6787         * config/m68k/m68k.c: Likewise.
6788         * config/m68k/m68k.h: Likewise.
6789         * config/m68k/m68k.md: Likewise.
6790         * config/m68k/m68kelf.h: Likewise.
6791         * config/m68k/m68kv4.h: Likewise.
6792         * config/m68k/mot3300.h: Likewise.
6793         * config/m68k/news.h: Likewise.
6794         * config/m68k/next.h: Likewise.
6795         * config/m68k/pbb.h: Likewise.
6796         * config/m68k/plexus.h: Likewise.
6797         * config/m68k/sgs.h: Likewise.
6798         * config/m68k/sun3.h: Likewise.
6799         * config/m68k/tower.h: Likewise.
6800         * config/m68k/vxm68k.h: Likewise.
6801
6802 2001-10-31  DJ Delorie  <dj@redhat.com>
6803
6804         * config/mips/mips.h (mips_cache_flush_func): Prototype.
6805         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
6806         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
6807         * config/mips/mips.c (mips_cache_flush_func): New.
6808         * doc/invoke.texi: Document the new options.
6809
6810 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
6811
6812         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
6813         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
6814
6815         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
6816
6817         * config/cris/cris.c: Include output.h after tree.h but before
6818         target.h.
6819
6820 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
6821
6822         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
6823         (INTL_SUBDIRS): Just intl.
6824         (.SUFFIXES): Add .gmo .po .pox.
6825         (native): Also depend on build-@POSUB@.
6826         (intl.all, intl.install): Depend on config.h and things it includes.
6827         (po-generated): New target; depend on c-parse.c and tradcif.c.
6828         (install-normal): Also depend on install-@POSUB@.
6829         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
6830         (build-, install-, build-po, update-po, install-po,
6831         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
6832
6833         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
6834         * configure.in: Don't munge XGETTEXT.  Don't generate
6835         po/Makefile.in.
6836         * configure: Regenerate.
6837
6838         * exgettext: Delete.
6839         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
6840         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
6841
6842 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6843
6844         * config/h8300/h8300.md (two anonymous patterns): New.
6845
6846 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
6847
6848         * tree.h (tree_index): Add support for V16QI and V8HI.
6849         (V8HI_type_node): New.
6850         (V16QI_type_node): New.
6851
6852         * tree.c (build_common_tree_nodes_2): Same.
6853
6854         * c-common.c (type_for_mode): Same.
6855
6856 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6857
6858         * config/i386/att.h: Fix comment formatting.
6859         * config/i386/beos-elf.h: Likewise.
6860         * config/i386/bsd.h: Likewise.
6861         * config/i386/bsd386.h: Likewise.
6862         * config/i386/crtdll.h: Likewise.
6863         * config/i386/cygwin.asm: Likewise.
6864         * config/i386/cygwin.h: Likewise.
6865         * config/i386/djgpp.h: Likewise.
6866         * config/i386/freebsd-aout.h: Likewise.
6867         * config/i386/freebsd.h: Likewise.
6868         * config/i386/gas.h: Likewise.
6869         * config/i386/i386-interix.h: Likewise.
6870         * config/i386/i386-protos.h: Likewise.
6871         * config/i386/i386.c: Likewise.
6872         * config/i386/i386.h: Likewise.
6873         * config/i386/i386.md: Likewise.
6874         * config/i386/i386elf.h: Likewise.
6875         * config/i386/interix.c: Likewise.
6876         * config/i386/isc.h: Likewise.
6877         * config/i386/isccoff.h: Likewise.
6878         * config/i386/iscdbx.h: Likewise.
6879         * config/i386/linux.h: Likewise.
6880         * config/i386/lynx.h: Likewise.
6881         * config/i386/mingw32.h: Likewise.
6882         * config/i386/netbsd-elf.h: Likewise.
6883         * config/i386/next.h: Likewise.
6884         * config/i386/osf1elf.h: Likewise.
6885         * config/i386/osfrose.h: Likewise.
6886         * config/i386/sco5.h: Likewise.
6887         * config/i386/seq-gas.h: Likewise.
6888         * config/i386/seq-sysv3.h: Likewise.
6889         * config/i386/sequent.h: Likewise.
6890         * config/i386/sol2.h: Likewise.
6891         * config/i386/sun386.h: Likewise.
6892         * config/i386/uwin.asm: Likewise.
6893         * config/i386/uwin.h: Likewise.
6894         * config/i386/vxi386.h: Likewise.
6895         * config/i386/win32.h: Likewise.
6896         * config/i386/winnt.c: Likewise.
6897         * config/i386/xm-cygwin.h: Likewise.
6898         * config/i386/xm-mingw32.h: Likewise.
6899
6900 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6901
6902         * builtins.def: Fix comment typos.
6903         * config/alpha.c: Likewise.
6904         * config/arm/arm.c: Likewise.
6905         * config/avr/avr.h: Likewise.
6906         * config/d30v/d30v.c: Likewise.
6907         * config/d30v/d30v.h: Likewise.
6908         * config/d30v/d30v.md: Likewise.
6909         * config/dsp16xx/dsp16xx.c: Likewise.
6910         * config/fr30/fr30.c: Likewise.
6911         * config/fr30/fr30.md: Likewise.
6912         * config/i386/i386.c: Likewise.
6913         * config/i860/i860.c: Likewise.
6914         * config/i960/i960.c: Likewise.
6915         * config/ia64/ia64.c: Likewise.
6916         * config/mips/mips.c: Likewise.
6917         * config/pa/pa.c: Likewise.
6918         * config/rs6000/rs6000.c: Likewise.
6919         * config/s390/s390.c: Likewise.
6920         * config/sparc/sparc.c: Likewise.
6921
6922 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6923
6924         * config/mips/elf.h: Fix comment formatting.
6925         * config/mips/elf64.h: Likewise.
6926         * config/mips/iris5.h: Likewise.
6927         * config/mips/iris5gas.h: Likewise.
6928         * config/mips/iris6.h: Likewise.
6929         * config/mips/isa3264.h: Likewise.
6930         * config/mips/linux.h: Likewise.
6931         * config/mips/mips.c: Likewise.
6932         * config/mips/mips.h: Likewise.
6933         * config/mips/mips.md: Likewise.
6934         * config/mips/mips16.S: Likewise.
6935         * config/mips/netbsd.h: Likewise.
6936         * config/mips/osfrose.h: Likewise.
6937         * config/mips/r3900.h: Likewise.
6938         * config/mips/sni-svr4.h: Likewise.
6939         * config/mips/svr4-t.h: Likewise.
6940         * config/mips/ultrix.h: Likewise.
6941
6942 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
6943
6944         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
6945         when we update head->current.
6946
6947 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6948
6949         * tree.c (id_string_size): Remove.
6950         (dump_tree_statistics): Update.
6951         * toplev.c (compile_file): If dumping stats, dump tree stats too.
6952
6953 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6954
6955         * sched-rgn.c (schedule_insns): Fix comment.
6956
6957 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
6958
6959         * configure.in: Correct previous change: don't assume that
6960         gas's version number _isn't_ the last thing on the line, or
6961         isn't the only number on the line, either.
6962         * configure: Regenerate.
6963
6964 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6965
6966         * cfgcleanup.c: Fix a comment typo.
6967
6968 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6969
6970         * alias.c: Fix comment formatting.
6971         * recog.c: Likewise.
6972         * config/cris/cris.c: Likewise.
6973         * config/cris/cris.h: Likewise.
6974         * config/i960/i960.c: Likewise.
6975         * config/i960/i960.h: Likewise.
6976
6977 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6978
6979         * config/arm/arm.c: Fix a comment typo.
6980         * config/arm/arm.h: Likewise.
6981         * config/ia64/ia64.c: Likewise.
6982
6983 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
6984
6985         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
6986         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
6987         * rtl.h (set_unique_reg_note): Change return value.
6988         * gcse.c (try_replace_reg): Use set_unique_reg_note.
6989         * cse.c (cse_insn): Likewise.
6990         * expr.c (emit_move_insn): Likewise.
6991         * explow.c (force_reg): Likewise.
6992         * local-alloc (update_equiv_regs): Likewise.
6993         * loop.c (move_moveables, load_mems): Likewise.
6994         * reload (find_reloads): Likewise.
6995
6996 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
6997
6998         Localization fixes.
6999         * c-decl.c (parmlist_tags_warning, start_struct,
7000         check_for_loop_decls): Separate messages for struct, union and
7001         enum cases to allow for languages in which they have different
7002         genders.
7003         * c-format.c (scanf_flag_specs): Separate short and long name of
7004         the assignment suppression feature.
7005         (check_format_types): Localize "pointer" and "different types"
7006         strings.
7007         * c-lex.c (lex_number): Localize "an unsigned long int" and
7008         related strings.
7009         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
7010         warning message.
7011         * c-typeck.c (build_unary_up): Separate messages for increment and
7012         decrement cases to allow for languages in which they use different
7013         articles.  Localize the strings "increment" and "decrement" in one
7014         case.
7015
7016 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
7017
7018         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
7019         when no changes has been made.
7020
7021         * gcse.c (reg_set_bitmap): Turn into reg_set.
7022         (modify_mem_list_set, canon_modify_mem_list_set)
7023         (clear_modify_mem_tables, free_modify_mem_tables): New.
7024         (gcse_main); Use free_modify_mem_tables.
7025         (free_gcse_mem): Likewise; free the bitmaps.
7026         (alloc_gcse_main): Initialize the bitmaps.
7027         (canon_list_insert): Set canon_modify_mem_list_set.
7028         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
7029         (compute_hash_table): Use clear_modify_mem_tables.
7030         (reset_opr_set_tables): Likewise.
7031         (oprs_not_set_p): reg_set_bitmap is regset.
7032         (mark_set, mark_clobber): Likewise.
7033
7034         * df.h (DF_EQUIV_NOTES): New constant.
7035         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
7036         when asked for.
7037
7038         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
7039         (init_regions, schedule_insns): Conditionalize the checking
7040         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
7041
7042 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
7043
7044         * i386.md (movti_rex64 splitter): Fix condition.
7045
7046 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
7047
7048         * configure.in: Do not assume that gas's version number is the
7049         last thing on the first line of as --version output.
7050         * configure: Regenerate.
7051
7052         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
7053         MT_WARNING, MT_ERROR, MT_FATAL.
7054         (main): Call gcc_init_libintl.
7055         (v_message): Call gettext on msgid and "warning: "
7056         * tradcif.y: Include intl.h.
7057         (yyerror): Make parameter definition consistent with
7058         prototype.  Call gettext on msgid argument.
7059
7060 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7061
7062         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
7063         warnings.
7064
7065         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
7066
7067 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7068
7069         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
7070         before referencing it.
7071
7072 2001-10-26  DJ Delorie  <dj@redhat.com>
7073
7074         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
7075         override -G, and force -G0.
7076
7077 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7078
7079         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
7080         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
7081         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
7082         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
7083
7084         * loop.h (struct induction): Rename ext_dependant to
7085         ext_dependent.
7086         * loop.c: Change all uses.
7087         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
7088         All callers changed.
7089         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
7090
7091 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7092
7093         * c-parse.in (expr_no_commas, primary), c-typeck.c
7094         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
7095
7096 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
7097
7098         Undo assemble_name change in earlier patch.
7099
7100 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
7101
7102         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
7103         determining the type of the receiver, do not check that TREE_CODE
7104         of receiver is CALL_EXPR before calling receiver_is_class_object().
7105         (receiver_is_class_object): For the GNU runtime: recognize
7106         the case that the receiver is self in a class method context.
7107         Check that TREE_CODE of receiver is CALL_EXPR when checking that
7108         the receiver is a call to objc_get_class.
7109
7110 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7111
7112         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
7113
7114 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7115
7116         * Makefile.in (OBJS): Put all files in alphabetical order.
7117
7118         * dwarf2out.c (add_const_value_attribute): Fix error in last
7119         change.
7120
7121 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7122
7123         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
7124         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
7125         fix warning.
7126         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
7127         (life_analysis): call purge_all_dead_edges after deleting noops.
7128         (delete_noop_move): Do not purge CFG.
7129         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
7130
7131 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
7132
7133         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
7134         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
7135         (ASM_GLOBALIZE_LABEL): Use assemble_name.
7136         (ASM_OUTPUT_COMMON): Likewise.
7137         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
7138         (rs6000_output_function_epilogue): Likewise.
7139         (output_mi_thunk): Fix typo.
7140         (rs6000_output_symbol_ref): Use assemble_name.
7141         (output_toc): Likewise.
7142         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
7143         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
7144         assemble_name calls STRIP_NAME_ENCODING.
7145         (ASM_OUTPUT_LABEL): Use assemble_name.
7146         (ASM_GLOBALIZE_LABEL): Likewise.
7147         (ASM_DECLARE_FUNCTION_NAME): Likewise.
7148         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
7149         (ASM_OUTPUT_LOCAL): Likewise.
7150
7151 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7152
7153         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
7154         (expand_builtin_apply, expand_builtin_return): Likewise.
7155         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
7156
7157 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7158
7159         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7160         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
7161         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
7162         configure, configure.in, except.c, except.h, flow.c, function.c,
7163         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
7164         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
7165         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
7166         unroll.c: Fix spelling errors.
7167
7168         * doc/extend.texi, doc/invoke.texi: Fix spelling.
7169
7170         * doc/gcc.texi: Document use of "dependent" and American spelling.
7171
7172 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7173
7174         * expr.c (emit_group_load): Support CONCATs by storing them to memory
7175         and reloading.
7176
7177 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7178
7179         * expr.c (store_constructor_field): Only call adjust_address on MEM.
7180
7181 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7182
7183         * genrecog.c (write_switch):  Output if before switch for
7184         DT_elt_zero_wide_safe.
7185
7186 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7187
7188         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
7189         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
7190         (FUNCTION_PROFILER): Const-ify.
7191         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
7192         (eliminate_constant_term, assemble_name, output_addr_const):
7193         Remove declarations.
7194         (ptr_half_pic_address_p, half_pic_hash): Prototype.
7195         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
7196         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
7197         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
7198         (half_pic_declare, half_pic_external): Const-ify.
7199         * toplev.c: Include "halfpic.h".
7200
7201 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7202
7203         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
7204         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
7205         config/i386/i386.c, config/i386/i386-interix.h,
7206         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
7207         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
7208         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
7209         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
7210         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
7211         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
7212         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
7213         spelling errors.
7214
7215         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7216         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
7217         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
7218         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
7219         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
7220         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
7221         system.h, toplev.c: Fix spelling errors.
7222
7223 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7224
7225         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
7226
7227         * dwarf2out.c (reg_number): Abort if pseudo.
7228         (reg_loc_descriptor): Return 0 if pseudo.
7229         (is_based_loc): Return 0 if pseudo.
7230         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
7231         recursive calls.
7232         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
7233         (loc_descriptor): Return 0 if can't find location and handle 0
7234         return from recursive calls.
7235         (loc_descriptor_from_tree): Likewise.
7236         Fix handling of indirect.
7237         Also return 0 for PLACEHOLDER_EXPR.
7238         Clean up COMPONENT_REF cases.
7239         (add_AT_location_descriptor): Simplify, but handle 0 return from
7240         loc_descriptor.
7241         (add_const_value_attribute): Avoid shift count warning.
7242         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7243         Set comp_unit_die as context if not in function.
7244
7245         * config/mips/mips-protos.h: Break up long lines.
7246         Remove needless #ifdef/#endif blocks.
7247         Don't declare functions declared in file made by genpreds or recog.h.
7248         * config/mips/mips.c (mips_output_function_prologue): TSIZE
7249         is now HOST_WIDE_INT; delete unneeded casts.
7250         * config/mips/mips.h: Don't use #elif.
7251
7252         * expr.c (stor_constructor_field): Always call adjust_address.
7253         Copy TARGET before changing its alias set.
7254         (store_field): Likewise, for TO_RTX.
7255         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7256         replacement.
7257         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7258         (find_placeholder): Return 0 if can't find object.
7259         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7260         returns 0.
7261
7262 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7263
7264         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7265
7266 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
7267
7268         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7269         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7270         (merge_blocks): Properly udpate life after making edge nonfallthru.
7271         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7272
7273 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7274
7275         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7276
7277 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7278
7279         * c-typeck.c (convert_arguments): When comparing for enumeral
7280         type equality, use TYPE_MAIN_VARIANT.
7281         * gcc.dg/Wconversion.c: New tests.
7282
7283 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7284
7285         * s390/s390.c: Fix comment typos.
7286         * s390/s390.h: Likewise.
7287         * s390/s390.md: Likewise.
7288
7289 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7290
7291         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7292         (walk_tree): Use it for tail calls where appropriate.
7293
7294 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7295
7296         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7297         non-local label_refs.
7298
7299 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7300
7301         * config/h8300/h8300.md (4 anonymous patterns): New.
7302
7303 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7304
7305         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7306         algorithm through the shift_info structure.
7307         (emit_a_shift): Update the use of get_shift_alg.
7308
7309 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7310
7311         * sched-rgn.c: Remove bitset typedef.
7312         Change bitset to sbitmap in prototypes / variable types.
7313         Remove bbset_size.
7314         Remove edgeset_bits.
7315         Remove edgeset_size.
7316         s/BITSET_ADD/SET_BIT/g
7317         s/BITSET_INVERT/sbitmap_ones/g
7318         s/BITSET_INTER/sbitmap_a_and_b/g
7319         s/BITSET_UNION/sbitmap_a_or_b/g
7320         s/BITSET_DIFFER/sbitmap_difference/g
7321         s/bitset_member/TEST_BIT/g
7322         (BITSET_*): Removed.
7323         (bitset_member): Removed.
7324         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7325         EXECUTE_IF_SET_IN_SBITMAP.
7326         (split_edges): Rewrite, use sbitmap functions instead of bitset
7327         operations.
7328         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7329
7330 2001-10-26  Andreas Schwab  <schwab@suse.de>
7331
7332         * reload1.c (emit_input_reload_insns): Fix parens in last
7333         (undocumented) change that was supposed to change only whitespace.
7334
7335 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7336
7337         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7338
7339         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7340         ASM_OPERANDS.
7341
7342 2001-10-26  Andreas Jaeger  <aj@suse.de>
7343
7344         * flow.c (clear_log_links): Remove unused variable.
7345         * cfgcleanup.c (cleanup_cfg): Likewise.
7346
7347 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7348
7349         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7350         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7351
7352 2001-10-26  Richard Henderson  <rth@redhat.com>
7353
7354         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7355         rename PV_REG to R27_REG.
7356         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7357         (REG_CLASS_FROM_LETTER): Update.
7358         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7359         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7360         (udivsi3, modsi3, umodsi3): Likewise.
7361         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7362
7363 2001-10-26  Richard Henderson  <rth@redhat.com>
7364
7365         * cfg.c (clear_aux_for_blocks): Split out of ...
7366         (free_aux_for_blocks): here.
7367         (clear_aux_for_edges): Split from ...
7368         (free_aux_for_edges): here.
7369         * basic-block.h: Declare them.
7370         * lcm.c (compute_antinout_edge): Use them.
7371         (compute_laterin, compute_available, compute_nearerout): Likewise.
7372         (optimize_mode_switching): Likewise.
7373
7374 2001-10-26  Richard Henderson  <rth@redhat.com>
7375
7376         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7377         moving everything back to the main build directory.
7378
7379 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7380
7381         * config/i386/cygwin.h: Search target specific include directory, if
7382         appropriate.
7383
7384 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7385
7386         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7387         of macro guards. Fix #endif comment.
7388
7389         * output.h (default_exception_section, default_eh_frame_section):
7390         Move prototypes outside of macro guard.
7391
7392         * crtstuff.c: Fix #endif comment.
7393
7394 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7395
7396         * doc/md.texi (movMM): Clarify semantics of storing into a
7397         non-paradoxical SUBREG.
7398
7399 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7400
7401         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7402         (lang_hook_default_get_alias_set): Move next to other alias
7403         hooks.
7404         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7405         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7406         (LANG_HOOKS_INITIALIZER): Add it.
7407         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7408         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7409         instead of a loop calling poplevel.
7410
7411 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7412
7413         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7414         occurrences of #elif with #if...#endif.
7415
7416 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7417
7418         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7419
7420 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7421
7422         * alias.c (can_address_p): No longer static.
7423         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7424         Return 0 if all parameters are default values.
7425         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7426         (adjust_address_1): Try harder to compute a size.
7427         * expr.c (expand_assignment, store_constructor): If can't address,
7428         set MEM_KEEP_ALIAS_SET_P.
7429         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7430         (store_field): Likewise.
7431         (store_constructor): Simplify call to store_constructor_field.
7432         * expr.h (can_address_p): New declaration.
7433         * gensupport.c (gen_rtx_CONST_INT): New function.
7434         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7435         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7436         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7437
7438         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7439
7440 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7441
7442         * config/i386/cygwin.h: Use proper path for mingw crt files when
7443         -mno-cygwin.
7444
7445 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7446
7447         * dwarf2out.c (file_info_cmp): Always return consistent results.
7448
7449 2001-10-24  Roger Sayle <roger@eyesopen.com>
7450
7451         * stmt.c (expand_end_case): Index jumptables from zero for
7452         suitably small values of minval.
7453
7454 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7455
7456         * stor-layout.c (place_union_field): If any field was aligned with
7457         attribute aligned, set record type's TYPE_USER_ALIGN.
7458         (place_field): Likewise.
7459         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7460         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7461
7462 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7463
7464         * c-common.h (struct c_common_identifier): Remove rid_code field.
7465         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7466
7467         * c-typeck.c (constructor_designated): New local flag.
7468         (struct constructor_stack): Add "designated" field to match.
7469         (start_init): Clear it.
7470         (really_start_incremental_init, push_init_level): Push and
7471         clear it.
7472         (pop_init_level): Pop it.
7473         (set_designator): Set it.
7474
7475         (pop_init_level): Suppress "missing initializer" warnings if
7476         constructor_designated is true.
7477         (process_init_element): Suppress warning about union
7478         initialization under traditional C, if constructor_designated
7479         is true.
7480
7481 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7482
7483         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7484         change.
7485
7486 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7487
7488         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7489
7490 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7491
7492         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7493         the node was already a set to a constant.
7494
7495 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7496
7497         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7498         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7499
7500 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7501
7502         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7503         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7504         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7505         * s390.c (s390_final_chunkify): Don't use string concatenation.
7506         (s390_function_prologue, s390_function_epilogue): Const-ify.
7507         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7508
7509 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7510
7511         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7512         prototypes.
7513
7514 2001-10-23  Stan Shebs  <shebs@apple.com>
7515
7516         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7517         -traditional-cpp in first-stage compilation.
7518
7519 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7520
7521         * gensupport.c (target_flags): Add.
7522
7523 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7524
7525         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
7526         if needed.
7527         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
7528         * except.c (expand_builtin_frob_return_addr): Likewise.
7529         (expand_builtin_eh_return): Likewise.
7530         * stmt.c (expand_computed_goto): Likewise.
7531         * explow.c (memory_address): Likewise.
7532         (allocate_dynamic_stack_space): Clean up predicate testing.
7533         (probe_stack_range): Convert SIZE to Pmode.
7534         * calls.c (rtx_for_function_call): Only call convert_memory_address
7535         if needed.
7536         Pass function call operand as ptr_mode, not Pmode.
7537         * expr.c (expand_assignment): Clean up calls to convert_memory
7538         address by only doing so when needed and making offsets Pmode.
7539         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
7540         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
7541         is in Pmode, not ptr_mode.
7542
7543 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7544
7545         * darwin-protos.h (constructor_section, destructor_section,
7546         mod_init_section, mod_term_section): Prototype.
7547         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
7548         Const-ify.
7549         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
7550         Likewise.
7551         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
7552         objc_section_init declaration.
7553         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
7554         (objc_section_init, try_section_alias): Make static.
7555         (alias_section): Make static and hide unused function.
7556         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
7557
7558 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7559
7560         * alias.c (can_address_p): Compnonents are not addressable if
7561         the containing type has alias set 0.
7562         (get_alias_set): Rework to use STRIP_NOPS.
7563         Only call front-end routine on object, type, or object with
7564         NOPs stripped, not inner values.
7565         Use language hook to call front-end routine.
7566         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
7567         (expand_builtin_apply): Call set_mem_align on MEMs we make.
7568         Don't pass alignment to emit_block_move.
7569         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
7570         (expand_builtin_memset): Likewise, but for clear_storage.
7571         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
7572         and remove C++ specific parts.
7573         * c-common.h (c_common_get_alias_set): Add declaration.
7574         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
7575         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
7576         (save_fixed_argument_area): Call set_mem_align.
7577         Remove alignment in call to emit_block_move.
7578         (emit_library_call_value_1, store_one_arg): Likewise.
7579         (target_for_arg): Remove; disabled long ago.
7580         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
7581         once and similar cleanups.
7582         (offset_address): Use proper introductory comment.
7583         * expr.c (emit_block_move): Use alignment from that of MEM args, not
7584         from explicit operand; all callers changed.
7585         (clear_storage): Likewise.
7586         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
7587         (store_field): Remove kludge on alias set used for to_rtx.
7588         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
7589         (expand_expr_unaligned): Call set_mem_attributes instead of
7590         set_mem_alias_set.
7591         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
7592         * function.c (assign_stack_temp_for_type): Set MEM alignment.
7593         (expand_function_end): Track MEM attributes of trampolines.
7594         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
7595         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
7596         attributes from original.
7597         * langhooks.c (lang_hook_default_get_alias_set): New function.
7598         (hook_get_alias_set_0): New function.
7599         * langhooks.h (hook_get_alias_set_0): New declaration.
7600         (lang_hook_default_get_alias_set): Likewise.
7601         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
7602         * reload1.c (alter_reg): Use adjust_address_nv.
7603         * rtl.c (get_mode_alignment): Moved to here.
7604         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
7605         change default if unknown from 1 to BITS_PER_UNIT.
7606         * stor-layout.c (get_mode_alignment): Remove from here.
7607         * toplev.h (struct lang_hoks): Add get_alias_set field.
7608         * tree.h (lang_get_alias_set): Delete declaration.
7609         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
7610         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
7611         (ix86_va_arg): Likewise.
7612         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
7613         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
7614         * config/sparc/sparc.c (sparc_va_arg): Likewise.
7615         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
7616         (expand_block_move_mem): Remove dead code.
7617
7618 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7619
7620         * c-common.c (warn_div_by_zero): New.
7621         * c-common.h (warn_div_by_zero): New.
7622         * c-decl.c (c_decode_option): Take it on the command line.
7623         * c-typeck.c (build_binary_op): Warn about division by zero.
7624         * doc/invoke.texi: Document the new command line option, fix
7625         documentation of -Wmultichar.
7626         * testsuite/gcc.dg/divbyzero.c: New tests.
7627         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
7628
7629 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7630
7631         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
7632
7633         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
7634         to avoid update_life_info call.
7635         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
7636         * cfgcleanup.c (bb_flags): New enum.
7637         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
7638         (notice_new_block, update_forwarder_flag): New functions.
7639         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
7640         (try_forward_edges): Likewise; update flags.
7641         (merge_blocks): Likewise.
7642         (outgoing_edges_match): Likewise.
7643         (try_crossjump_to_edge): Likewise.
7644         (try_optimize_cfg): Likewise; initialize and clear the flags;
7645         recompute life info if needed.
7646         (cleanup_cfg): No need to clear aux pointers.
7647
7648 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
7649
7650         * config/i386/i386.c (override_options): Default to minimum
7651         stack alignment when optimizing for code size.
7652         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
7653         change.
7654
7655         * config/i386/i386.c (override_options): Set upper limit of
7656         -mpreferred-stack-boundary to 12.
7657
7658 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
7659
7660         * recog.c (peephole2_optimize): Add default case to switch.
7661
7662 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7663
7664         * doc/gcc.texi (Sending Patches): Remove.
7665
7666 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
7667
7668         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
7669         fields when comparing.
7670
7671 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7672
7673         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
7674         * arm.c (HOST_INT, HOST_UINT): Likewise.
7675
7676 2001-10-22  Stan Shebs  <shebs@apple.com>
7677
7678         * config/darwin-protos.h (darwin_exception_section): Declare.
7679         (darwin_eh_frame_section): Declare.
7680
7681 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
7682
7683         * i386.md (movti_rex64): Fix mode.
7684
7685 2001-10-22  Stan Shebs  <shebs@apple.com>
7686
7687         * target.h (struct gcc_target): Add asm_out.exception_section,
7688         asm_out.eh_frame_section.
7689         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
7690         (TARGET_ASM_EH_FRAME_SECTION): New.
7691         (TARGET_INITIALIZER): Update.
7692         * output.h (default_exception_section): Declare.
7693         (default_eh_frame_section): Declare.
7694         * dwarf2out.c: Include target.h.
7695         (output_call_frame_info): Call target hook for eh frames.
7696         (default_eh_frame_section): New function.
7697         * except.c: Include target.h.
7698         (output_function_exception_table): Call target hook for exception
7699         section.
7700         * varasm.c (default_exception_section): Rename from
7701         exception_section, remove EXCEPTION_SECTION macro.
7702
7703         * config/darwin.h (darwin_eh_frame_section): New function.
7704         (EXCEPTION_SECTION): Remove.
7705         (TARGET_ASM_EXCEPTION_SECTION): Define.
7706         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
7707         (nextstep_exception_section): New function.
7708         (nextstep_eh_frame_section): New function.
7709         (TARGET_ASM_EXCEPTION_SECTION): Define.
7710         (TARGET_ASM_EH_FRAME_SECTION): Define.
7711
7712         * config/pa/som.h (EXCEPTION_SECTION): Remove.
7713         (TARGET_ASM_EXCEPTION_SECTION): Define.
7714         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
7715         (EXCEPTION_SECTION): Remove.
7716         (TARGET_ASM_EXCEPTION_SECTION): Define.
7717         * config/stormy16/stormy16.h: Remove comments referencing
7718         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
7719
7720         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
7721         TARGET_ASM_EH_FRAME_SECTION.
7722
7723 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
7724
7725         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
7726         terms.
7727
7728         * c-format.c: Fix spelling typo in comment.
7729
7730         * sched-int.h: Fix typo in GCC preamble.
7731
7732 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7733
7734         PR debug/4252
7735         * doc/invoke.texi: Remove references to -fdump-translation-unit.
7736
7737 2001-10-22  Richard Henderson  <rth@redhat.com>
7738
7739         * config/i386/i386.c (ix86_expand_clear): New.
7740         * config/i386/i386-protos.h: Declare it.
7741         * config/i386/i386.md (setcc peep2s): Use it.
7742         (movsi_xor): Unexport.
7743
7744 2001-10-22  Richard Henderson  <rth@redhat.com>
7745
7746         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
7747         free_EXPR_LIST_list for LOG_LINKS.
7748
7749 2001-10-21  Robert Lipe  <robertlipe@usa.net>
7750
7751         * config/i386/i386.c (sco_asm_named_section): Delete.
7752         (sco_asm_out_constructor): Delete.
7753         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
7754         (ASM_OUTPUT_DOUBLE_INT): Likewise.
7755         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
7756         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
7757         (EXCEPTION_SECTION): Delete EH scn renaming hack.
7758
7759 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7760
7761         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
7762         and/or fold extra calls into fewer ones.
7763         * collect2.c (dump_file): Likewise.
7764         * cppexp.c (parse_number): Likewise.
7765         * cpplex.c (_cpp_lex_direct): Likewise.
7766         * final.c (output_asm_insn, asm_fprintf): Likewise.
7767         * fix-header.c (inf_scan_ident, main): Likewise.
7768         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
7769         Likewise.
7770         * fold-const.c (real_hex_to_f): Likewise.
7771         * gen-protos.c (parse_fn_proto): Likewise.
7772         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
7773         * genrecog.c (change_state, write_action): Likewise.
7774         * gensupport.c (shift_output_template): Likewise.
7775         * local-alloc.c (requires_inout): Likewise.
7776         * mips-tfile.c (IS_ASM_IDENT): Likewise.
7777         * protoize.c (is_id_char, main): Likewise.
7778         * real.c (asctoeg): Likewise.
7779         * recog.c (asm_operand_ok): Likewise.
7780         * reload.c (find_reloads): Likewise.
7781         * scan.c (scan_identget_token): Likewise.
7782         * sched-vis.c (print_value): Likewise.
7783         * stringpool.c (ggc_alloc_string): Likewise.
7784         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
7785         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
7786         * tradcpp.c (rescan): Likewise.
7787         * tree.c (clean_symbol_name): Likewise.
7788         * varasm.c (decode_reg_name): Likewise.
7789
7790         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
7791         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
7792         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
7793         * m88k.c (output_ascii): Likewise.
7794         * m88k.h (OVERRIDE_OPTIONS): Likewise.
7795         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
7796         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
7797         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
7798
7799 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7800
7801         * langhooks.c (lang_hook_default_do_nothing,
7802         lang_hook_default_decode_option): New defaults.
7803         * langhooks.h: Make hooks unconditional and non-NULL.
7804         * toplev.c (compile_file, toplev_main): Update.
7805         * toplev.h: Update comments.
7806         * objc/objc-act.c (lang_hooks): Update to new paradigm.
7807
7808 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7809
7810         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
7811
7812         * system.h (IN_RANGE): New macro.
7813
7814 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
7815
7816         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
7817         INTLDEPS variable, which does not include $LIBICONV.
7818         * Makefile.in: Use INTLDEPS in LIBDEPS.
7819         * configure: Regenerate.
7820
7821 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7822
7823         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
7824         * cpplex.c (lex_percent, lex_dot): Remove.
7825         (get_effective_char, skip_block_comment, skip_line_comment,
7826         parse_identifier_slow, parse_number, parse_string, save_comment,
7827         _cpp_lex_direct): Update to do lookback freely.
7828         (IF_NEXT_IS, BACKUP): New macros.
7829         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
7830         * cppmacro.c (paste_tokens): Update.
7831
7832 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
7833
7834         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
7835
7836 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
7837
7838         * reload1.c (reload): Check CONSTANT_P before calling
7839         LEGITIMATE_PIC_OPERAND_P.
7840         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
7841         workaround of 2001-10-13.
7842
7843 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
7844
7845         * i386.c (split_di): Handle splitting of DFmode.
7846
7847 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7848
7849         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
7850         (adjust_address_1, offset_address): Likewise.
7851
7852         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
7853         (output_asm_insn): Call it for each line output.
7854         Don't record an operand more than once.
7855
7856         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
7857         * main.c: Include config.h and system.h, but not ansidecl.h.
7858         * Makefile.in (main.o): Update accordingly.
7859
7860 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7861
7862         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
7863
7864 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7865
7866         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
7867         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
7868         Break out from ...
7869         (find_sub_basic_blocks): ... here;
7870         (find_many_sub_basic_blocks): New.
7871         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
7872
7873         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
7874
7875         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
7876
7877         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
7878
7879         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
7880         * flow.c (update_life_info): Measure time.
7881         * c-decl.c: Include timevar.h
7882         (c_expand_body): Measure time.
7883         * toplev.c (rest_of_compilation): Measure time of mode switching
7884         separately.
7885         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
7886
7887         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
7888         (lang_independent_options): Add asynchronous-unwind-tables
7889         (toplev_main): flag_asynchronous_unwind_tables implies
7890         flag_unwind_tables.
7891         * flags.h (flag_asynchronous_unwind_tables): Declare.
7892         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
7893         flag_asynchronous_unwind_tables.
7894         (output_call_frame_info): Likewise.
7895         * invoke.texi (-fasynchronous-unwind-tables): Document.
7896         * i386.c (optimization_options): Enable
7897         flag_asynchronous_unwind_tables.
7898
7899         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
7900         * i386.md (s* expanders): Destination is QImode.
7901
7902         * toplev.c (rest_of_compilation): Do not call clear_log_links.
7903         * rtl.h (clear_log_links): Kill.
7904         * flow.c (clear_log_links): Make static; accept blocks parameter;
7905         do no clear life info.
7906         (update_life_info): Call clear_log_links.
7907
7908         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
7909
7910 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7911
7912         * cpplex.c (handle_newline, skip_escaped_newlines,
7913         get_effective_char, skip_block_comment, skip_line_comment,
7914         parse_identifier_slow, parse_number, parse_string,
7915         _cpp_lex_direct): Update to do more stepping back.
7916         (trigraph_ok): Similarly.  Rename trigraph_p.
7917         (SAVE_STATE, RESTORE_STATE): Remove.
7918         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
7919
7920         * cpplib.c (destringize): Rename destringize_and_run, and
7921         call run_directive directly.
7922         (_cpp_do__Pragma): Simplify.
7923
7924 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7925
7926         * pe.c (arm_pe_unique_section): Const-ify.
7927         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7928         (switch_to_section): Add static prototype.
7929
7930         * output.h (drectve_section): Prototype.
7931
7932 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7933
7934         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
7935         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
7936         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
7937         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
7938         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
7939         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
7940         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
7941         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
7942         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
7943         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
7944         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
7945         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
7946         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
7947         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
7948         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
7949         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
7950         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
7951         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
7952         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
7953         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
7954         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
7955         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
7956         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
7957         cris-*-none, cris-*-linux*: Update ${tmfile} list.
7958         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
7959         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
7960         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
7961         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
7962         v850-*-*): Delete superflous ${cpu_type} setting.
7963         * config/linux.h: Delete svr4.h include.
7964         (SET_ASM_OP): Delete.
7965         * config/netware.h (INT_ASM_OP): Undef before define.
7966         * config/ptx4.h: Delete elfos.h include.
7967         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
7968         * config/svr4.h: Delete elfos.h include. Update commentary.
7969         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
7970         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
7971         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
7972         config/v850/v850.h: Delete svr4.h include.
7973         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
7974         config/m68k/m68kv4.h, config/m88k/sysv4.h,
7975         config/sparc/sysv4.h: Update includes.
7976         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
7977         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
7978         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
7979         config/m88k/dguxbcs.h: Delete includes.
7980         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
7981         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
7982         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
7983         it.
7984         * config/m88k/dgux.h: Delete include.
7985         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
7986         defining it.
7987         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
7988         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
7989         * config/sh/elf.h: Update include.
7990         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
7991         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
7992
7993 2001-10-19  Catherine Moore  <clm@redhat.com>
7994
7995         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
7996         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
7997         base and count fields.
7998         (stormy16_expand_builtin_va_start):  last_reg_count changed to
7999         size_of_reg_args.  Use count + size in first comparison.
8000
8001 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8002
8003         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
8004         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
8005         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
8006         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
8007         Set alignment from type if INDIRECT_REF.
8008         (adjust_address_1, offset_address): Simplify alignment compuitation.
8009         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
8010         here; done by set_mem_attributes.
8011
8012 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8013
8014         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
8015         * arm-protos.h (rdata_section, zero_init_section, common_section):
8016         Prototype.
8017         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
8018         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
8019         traditional mode stringification.
8020         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
8021         in macros controling its use.
8022         * rtlanal.c: Include tm_p.h.
8023         * varasm.c (asm_output_aligned_bss): Mark parameter with
8024         ATTRIBUTE_UNUSED.
8025         (assemble_constant_align, assemble_start_function, assemble_align,
8026         assemble_variable, assemble_trampoline_template,
8027         output_constant_def_contents): Wrap potentially empty if-stmt body
8028         in brackets.
8029
8030 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8031
8032         * a29k-protos.h (literal_section): Prototype.
8033         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
8034         * a29k.md: Ensure function pointers are prototyped.
8035         * genattrtab.c (write_eligible_delay): Mark parameter with
8036         ATTRIBUTE_UNUSED.
8037
8038 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8039
8040         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
8041         * 1750a.c (print_operand): Fix format specifier warning.
8042         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
8043         * 1750a.md: Likewise.
8044         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
8045         * genemit.c (output_add_clobbers): Mark parameter with
8046         ATTRIBUTE_UNUSED.
8047         * genrecog.c (write_subroutine): Likewise.
8048         * integrate.c (expand_inline_function): Delete unused variable.
8049         * varasm.c (remove_from_pending_weak_list): Wrap with
8050         ASM_WEAKEN_LABEL.
8051
8052 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
8053
8054         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
8055         field is different to previous argument's neg field.
8056
8057         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
8058
8059 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8060
8061         * final.c (get_decl_from_op): New function.
8062         (output_asm_insn): Call it; write "*" when item with decl is address.
8063
8064 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
8065
8066         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
8067         about 64-bit support from the 3.0_branch version.
8068
8069 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
8070
8071         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
8072         USE_INCLUDED_LIBINTL when appropriate.
8073         * configure, config.in: Regenerate.
8074         * Makefile.in (datadir): Set to @datadir@.
8075         (intl.o): Also depend on $(CONFIG_H) and system.h.
8076
8077         * intl.c: Factor out common gettext initialization sequence.
8078         (gcc_init_libintl):  New function.
8079         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
8080         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
8081         off NLS.  Add multiple include guard.  No need to #ifdef-guard
8082         an #undef.  Prototype gcc_init_libintl here.
8083
8084         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
8085         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
8086         Use gcc_init_libintl.
8087
8088 2001-10-19  Catherine Moore  <clm@redhat.com>
8089
8090         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
8091
8092         * config/stormy16/stormy16.c (stormy16_split_move):  Make
8093         sure that REG_INC notes are present for auto_inc operands.
8094
8095 2001-10-19  Andreas Jaeger  <aj@suse.de>
8096
8097         * configure: Regenerated.
8098         * configure.in: Add x86_64 to switch statements.
8099
8100 2001-10-18  Richard Henderson  <rth@redhat.com>
8101
8102         * config/alpha/alpha.md (sibcall_osf_1): Load destination
8103         address into $27 explicitly.
8104         (sibcall_value_osf_1): Likewise.
8105
8106 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8107
8108         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
8109         (offset_address): New function.
8110         (free_emit_status): Free regno_decl.
8111         (init_emit): Pass proper number of elements to xcalloc.
8112         Allocate regno_decl.
8113         (mark_emit_status): Mark regno_decl values.
8114         * expr.c (highest_pow2_factor): New function.
8115         (expand_assigment): Use it and offset_address.
8116         Properly handle ptr_mode vs. Pmode in offset calculation.
8117         (store_constructor, expand_expr_unaligned): Likewise.
8118         (expand_expr, case COMPONENT_EXPR): Likewise.
8119         * expr.h (offset_address): New decl.
8120         * function.h (struct emit_status): Add regno_decl.
8121         (REGNO_DECL): New macro.
8122         * final.c (output_asm_name): Move in file and don't conditionalize
8123         on flag_print_asm_name.
8124         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
8125         Output names of operands, if known.
8126         * function.c (assign_parms): Set REGNO_DECL.
8127         * integrate.c (integrate_decl_tree): Likewise.
8128         * stmt.c (expand_decl): Likewise.
8129         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
8130
8131 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
8132
8133         * attribs.c (handle_noinline_attribute): New function.
8134         (handle_used_attribute): Likewise.
8135         (c_common_attribute_table): Added noinline and used.
8136         * doc/extend.texi (Function Attributes): Document them.
8137         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
8138         Warn when merging inline with attribute noinline.
8139         (start_decl, start_function): Warn if inline and attribute
8140         noinline appear in the same declaration.
8141
8142 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8143
8144         * config.gcc: Update c4x and i370 for C front end-specific
8145         dependencies.
8146         * config/c4x/c4x-c.c: New.
8147         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
8148         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8149         New declarations.
8150         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
8151         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8152         Make extern.
8153         (c4x_init_pragma): Remove.
8154         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
8155         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
8156         c4x_pr_ignored): Move to c4x-c.c.
8157         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
8158         * config/c4x/t-c4x: Update.
8159         * config/i370/i370-c.c: New.
8160         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
8161         (i370_pr_map): Move to i370-c.c.
8162         * config/i370/t-i370: New.
8163
8164         * doc/tm.texi: Update.
8165
8166 2001-10-17  Stan Shebs  <shebs@apple.com>
8167
8168         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
8169         typo fixes throughout.
8170         (machopic_output_stub): Remove some dead code.
8171
8172 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
8173
8174         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
8175         leak.
8176
8177 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8178
8179         * Makefile.in (print-rtl.o): Depend on TREE_H.
8180         * alias.c (get_alias_set): Make two passes over objects to first
8181         see if inner object is access via restricted pointer.
8182         Defer allocating alias set for restricted pointer until here.
8183         Call find_placeholder with second arg nonzero.
8184         Minor cleanups.
8185         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
8186         set for restricted pointer types.
8187         * emit-rtl.c (set_mem_attributes): Set more attributes.
8188         (set_mem_align, change_address, adjust_address_1): New functions.
8189         (change_address_1): Now static.
8190         (adjust_address, adjust_address_nv): Deleted.
8191         (replace_equiv_address): Call change_address_1.
8192         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
8193         (find_placeholder): Get starting point from PLIST arg.
8194         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
8195         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
8196         (adjust_address, adjust_address_nv): New macros.
8197         * print-rtl.c (tree.h): New include.
8198         (print_rtx, case MEM): Print all memory attributes.
8199
8200 2001-10-17  Richard Henderson  <rth@redhat.com>
8201
8202         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
8203
8204 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8205
8206         * c-tree.texi: Eliminate duplicated word.
8207         * cpp.texi: Likewise.
8208         * install.texi: Likewise.
8209         * invoke.texi: Likewise.
8210         * tm.texi: Likewise.
8211
8212 2001-10-17  Michael Collison  <collison@isisinc.net>
8213
8214         * dsp16xx.c: Fix comment formatting to match GNU standards.
8215         (dsp16xx_output_function_prologue): Change type of 'size'
8216         parameter from 'int' to HOST_WIDE_INT.
8217         (dsp16xx_output_function_epilogue): Change type of 'size'
8218         parameter from 'int' to HOST_WIDE_INT.
8219
8220 2001-10-16  Richard Henderson  <rth@redhat.com>
8221
8222         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
8223         * configure, config.in: Rebuild.
8224
8225         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
8226         (ix86_output_addr_diff_elt): New.
8227         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
8228         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8229         (JUMP_TABLES_IN_TEXT_SECTION): New.
8230         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
8231         * config/i386/i386-protos.h: Update.
8232
8233         * config/i386/386bsd.h, config/i386/beos-elf.h,
8234         config/i386/freebsd-aout.h, config/i386/freebsd.h,
8235         config/i386/i386-interix.h, config/i386/i386elf.h,
8236         config/i386/linux.h, config/i386/netbsd-elf.h,
8237         config/i386/netbsd.h, config/i386/openbsd.h,
8238         config/i386/ptx4-i.h, config/i386/rtemself.h,
8239         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8240         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8241
8242 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
8243
8244         * stmt.c (expand_asm_operands): Update commentary.
8245
8246 2001-10-16  Stan Shebs  <shebs@apple.com>
8247
8248         * config/darwin.h (GCC_NAME): Remove, no longer used.
8249         (NO_MATH_LIBRARY): Ditto.
8250         (MATH_LIBRARY): Define to emptiness.
8251         (DWARF2_DEBUGGING_INFO): Define.
8252         (PREFERRED_DEBUGGING_TYPE): Define.
8253         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8254         (EXCEPTION_SECTION): Define.
8255         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8256         * config/darwin.c (darwin_encode_section_info): Handle case of
8257         DECL_INITIAL being error_mark_node.
8258
8259 2001-10-16  Richard Henderson  <rth@redhat.com>
8260
8261         * alpha.c (current_file_function_operand): Don't fail for profiling.
8262         (direct_call_operand): New.
8263         * alpha-protos.h: Declare it.
8264         * alpha.h (EXTRA_CONSTRAINT): Use it.
8265         (PREDICATE_CODES): Add it.
8266         (ASM_OUTPUT_MI_THUNK): Remove.
8267         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8268         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8269
8270 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
8271
8272         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8273         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8274
8275 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8276
8277         * cfg.c (free_edge): Break out from ....
8278         (remove_edge): ... here.
8279         (clear_edges): Use free_edge.
8280
8281         * att.h (ASM_QUAD): Add comment.
8282         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8283
8284 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8285
8286         * i386.c (split_ti): New function.
8287         (ix86_split_to_parts): Support TImodes.
8288         * i386.h (VALID_INT_MODE_P): Add TImode.
8289         * i386.md (movdi splitter): Fix.
8290         (movti): Support 64bit integer registers.
8291         (movti_rex64): New function and splitter.
8292
8293         * i386.c (*_cost): Add movsx/movzx cost.
8294         * i386.h (struct processor_costs): Add movsx/movzx fields.
8295         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8296         64bit operations require split on 64bit machine.
8297         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8298
8299         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8300         (ix86_expand_move): Avoid pushes of memory if size does not match;
8301         move long constants to register.
8302         (x86_initialize_trampoline): Fix mode.
8303         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8304         Use ASM_QUAD on 64bit.
8305         * i386.md (test pattern): Disallow impossible constants.
8306         (tablejump PIC expander): Fix emitting of sum.
8307         (movdicc_rex64): Rename to movdicc.
8308         * linux64.h (LINK_SPEC): Add missing '%'.
8309
8310 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8311
8312         * tree-inline.c (inlinable_function_p): Leave it up to the
8313         front-end to turn -finline-functions into DECL_INLINE set for all
8314         functions.
8315
8316 2001-10-16  Stan Shebs  <shebs@apple.com>
8317
8318         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8319
8320 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8321
8322         * recog.c: Formatting and comment typo fixes.
8323
8324         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8325         version in single tree build.
8326         * configure: Regenerate.
8327
8328 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8329
8330         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8331         MODE arguments to gen_rtx and compare operand with const0_rtx.
8332
8333 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8334
8335         * system.h: Poison old unused target macros.
8336         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8337         * config/stormy16/stormy16.c: Update references to obsolete macros.
8338         * config/stormy16/stormy16.h: Similarly.
8339         * config/stormy16/stormy16.md: Similarly.
8340         * config/cris/cris.h: Similarly.
8341
8342 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8343
8344         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8345         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8346         cpp_register_pragma): Update accordingly.
8347
8348 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8349
8350         * c-pragma.h (cpp_register_pragma_space): Remove.
8351         * cpplib.h (cpp_register_pragma_space): Remove.
8352         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8353         (cpp_register_pragma_space): Remove.
8354         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8355         add sanity checks.
8356         (do_pragma): Similarly.
8357         (_cpp_init_internal_pragmas): Don't register namespaces.
8358
8359         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8360         Don't register namespaces.
8361         * cp/lex.c (init_cp_pragma): Similarly.
8362         * doc/tm.texi: Update.
8363
8364 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8365
8366         PR c/4157
8367         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8368
8369 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8370
8371         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8372         add scheduling support.
8373         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8374         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8375         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8376
8377
8378 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8379
8380         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8381         missing CONSTANT_P test in core GCC.
8382
8383 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8384
8385         * cppmain.c (struct printer): New member source.
8386         (scan_translation_unit): Fix spacing at start of lines.
8387         (cb_line_change): Update.
8388
8389         * gcc.dg/cpp/spacing2.c: New test.
8390
8391 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8392
8393         * config/cris/arit.c: Use __builtin_labs, not abs.
8394
8395         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8396
8397         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8398         misplaced sprintf and fprintf argument.
8399
8400 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8401
8402         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8403         * configure.in, Makefile.in: Take out obsolete check-po logic.
8404         * configure, config.in: Regenerate.
8405
8406 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8407
8408         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8409         symtab declarations.
8410
8411 2001-10-12  Stan Shebs  <shebs@apple.com>
8412
8413         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8414         declarations of arguments and local variables.
8415
8416 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8417
8418         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8419         ENDFILE_SPEC definition.
8420
8421 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8422
8423         * gthr-dce.h: Fix comment formatting.
8424         * gthr-posix.h: Likewise.
8425         * gthr-single.h: Likewise.
8426         * gthr-solaris.h: Likewise.
8427         * gthr-vxworks.h: Likewise.
8428         * gthr-win32.h: Likewise.
8429
8430 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8431
8432         * final.c (output_asm_insn): Make sure assembly dialects are
8433         terminated, not nested.  Output `|' and `}' characters if they
8434         don't appear inside assembly dialect selection.
8435         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8436         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8437         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8438         strsetsi_rex_1): Add {} braces.
8439
8440 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8441
8442         * toplev.c (compile_file): Ignore return value from yyparse.
8443         Always pop any nested binding levels after yyparse returns.
8444
8445 2001-10-11  Richard Henderson  <rth@redhat.com>
8446
8447         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8448
8449 2001-10-11  Richard Henderson  <rth@redhat.com>
8450
8451         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8452         fall back to add_AT_long_long for large CONST_INT.
8453
8454 2001-10-11  Richard Henderson  <rth@redhat.com>
8455
8456         * config/i386/i386.md (setcc splitters): Add four splitters to
8457         simplify compound compares that simplify_comparison can't handle.
8458
8459 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8460
8461         * cpplex.c (digraph_spellings, token_spellings): Make static.
8462
8463 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8464
8465         * unroll.c (loop_iterations): Fixup last patch.
8466
8467 2001-10-11  Richard Henderson  <rth@redhat.com>
8468
8469         * rtl.h (REG_VTABLE_REF): New.
8470         * rtl.c (reg_note_name): Add it.
8471         * combine.c (distribute_notes): Handle it.
8472         * final.c (final_scan_insn): Handle it.
8473         * tree.def (VTABLE_REF): New.
8474         * expr.c (expand_expr): Handle it.
8475         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8476         * output.h: Declare them.
8477
8478 2001-10-11  Richard Henderson  <rth@redhat.com>
8479
8480         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8481         for a DECL_INITIAL.
8482
8483 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8484
8485         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8486         available in 64-bit mode.
8487
8488 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8489
8490         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8491         cris-*-linux* cases.
8492         * config/cris/cris-protos.h: New file.
8493         * config/cris/cris.c: New file.
8494         * config/cris/cris.h: New file.
8495         * config/cris/cris.md: New file.
8496         * config/cris/linux.h: New file.
8497         * config/cris/aout.h: New file.
8498         * config/cris/arit.c: New file.
8499         * config/cris/cris_abi_symbol.c: New file.
8500         * config/cris/mulsi3.asm: New file.
8501         * config/cris/t-aout: New file.
8502         * config/cris/t-cris: New file.
8503         * config/cris/t-elfmulti: New file.
8504         * config/cris/t-linux: New file.
8505         * doc/invoke.texi: Add CRIS options.
8506         * doc/install.texi (Specific): Add blurb for CRIS.
8507
8508 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8509
8510         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8511         before using it.
8512         * config/float/i32.h: Likewise.
8513         * config/float-i386.h: Likewise.
8514         * config/float-i64.h: Likewise.
8515         * config/float-m68k.h: Likewise.
8516         * config/float-sh.h: Likewise.
8517         * config/float-sparc.h: Likewise.
8518
8519 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8520
8521         * doc/contrib.texi: Add note about CRIS port to my entry.
8522
8523 2001-10-11  Kazu Hirata  <kazu@hxi.com>
8524
8525         * basic-block.h: Fix formatting.
8526         * bitmap.h: Likewise.
8527         * cpplib.h: Likewise.
8528         * c-tree.h: Likewise.
8529         * diagnostic.h: Likewise.
8530         * flags.h: Likewise.
8531         * ggc.h: Likewise.
8532         * longlong.h: Likewise.
8533         * real.h: Likewise.
8534         * reload.h: Likewise.
8535         * rtl.h: Likewise.
8536         * tree.h: Likewise.
8537
8538 2001-10-10  Richard Henderson  <rth@redhat.com>
8539
8540         * c-parse.in (asm_operand): Allow named operands.
8541         * genconfig.c (max_recog_operands): Set to 29.
8542         * local-alloc.c (requires_inout): Skip multiple digits.
8543         * recog.c (asm_operand_ok): Likewise.
8544         (preprocess_constraints): Use strtoul for matching constraints.
8545         (constrain_operands): Likewise.
8546         * regmove.c (find_matches): Likewise.
8547         * reload.c (find_reloads): Likewise.
8548         * stmt.c (parse_output_constraint): Don't reject in-out
8549         constraint on operands > 9.  Reject '[' in constraint.
8550         (expand_asm_operands): Handle named operands.  Use strtoul
8551         for matching constraints.
8552         (check_operand_nalternatives): Split out from expand_asm_operands.
8553         (check_unique_operand_names): New.
8554         (resolve_operand_names, resolve_operand_name_1): New.
8555
8556         * doc/extend.texi (Extended Asm): Document named operands.
8557         * doc/md.texi (Simple Constraints): Document matching constraints
8558         on operands > 9.
8559
8560 2001-10-10  Richard Henderson  <rth@redhat.com>
8561
8562         * combine.c (try_combine): Handle a SEQUENCE of one insn.
8563
8564         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
8565         (jcc splitters): Add two splitters to simplify compound compares
8566         that simplify_comparison can't handle.
8567
8568 2001-10-10  Richard Henderson  <rth@redhat.com>
8569
8570         * langhooks.c: Include langhooks.h.
8571         * Makefile.in (langhooks.o): Depend on it.
8572
8573 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
8574
8575         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
8576         should not be considered as a no-op.
8577         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
8578
8579 2001-10-10  Stan Shebs  <shebs@apple.com>
8580
8581         * alias.c: Remove uses of "register" specifier in declarations
8582         of arguments and local variables.
8583         * c-common.c: Ditto.
8584         * c-convert.c: Ditto.
8585         * c-decl.c: Ditto.
8586         * c-format.c: Ditto.
8587         * c-semantics.c: Ditto.
8588         * c-typeck.c: Ditto.
8589         * caller-save.c: Ditto.
8590         * calls.c: Ditto.
8591         * cfg.c: Ditto.
8592         * cfgbuild.c: Ditto.
8593         * cfgrtl.c: Ditto.
8594         * collect2.c: Ditto.
8595         * combine.c: Ditto.
8596         * convert.c: Ditto.
8597         * cppexp.c: Ditto.
8598         * cppfiles.c: Ditto.
8599         * cse.c: Ditto.
8600         * dbxout.c: Ditto.
8601         * defaults.h: Ditto.
8602         * df.c: Ditto.
8603         * dwarf2out.c: Ditto.
8604         * dwarfout.c: Ditto.
8605         * emit-rtl.c: Ditto.
8606         * explow.c: Ditto.
8607         * expmed.c: Ditto.
8608         * expr.c: Ditto.
8609         * final.c: Ditto.
8610         * fix-header.c: Ditto.
8611         * floatlib.c: Ditto.
8612         * flow.c: Ditto.
8613         * fold-const.c: Ditto.
8614         * function.c: Ditto.
8615         * gcc.c: Ditto.
8616         * gcse.c: Ditto.
8617         * gen-protos.c: Ditto.
8618         * genattrtab.c: Ditto.
8619         * gencheck.c: Ditto.
8620         * genconfig.c: Ditto.
8621         * genemit.c: Ditto.
8622         * genextract.c: Ditto.
8623         * genflags.c: Ditto.
8624         * gengenrtl.c: Ditto.
8625         * genoutput.c: Ditto.
8626         * genpeep.c: Ditto.
8627         * genrecog.c: Ditto.
8628         * gensupport.c: Ditto.
8629         * global.c: Ditto.
8630         * gmon.c: Ditto.
8631         * graph.c: Ditto.
8632         * haifa-sched.c: Ditto.
8633         * hard-reg-set.h: Ditto.
8634         * hash.c: Ditto.
8635         * integrate.c: Ditto.
8636         * jump.c: Ditto.
8637         * lists.c: Ditto.
8638         * local-alloc.c: Ditto.
8639         * loop.c: Ditto.
8640         * mips-tdump.c: Ditto.
8641         * mips-tfile.c: Ditto.
8642         * optabs.c: Ditto.
8643         * prefix.c: Ditto.
8644         * print-rtl.c: Ditto.
8645         * read-rtl.c: Ditto.
8646         * real.c: Ditto.
8647         * recog.c: Ditto.
8648         * reg-stack.c: Ditto.
8649         * regclass.c: Ditto.
8650         * regmove.c: Ditto.
8651         * reload.c: Ditto.
8652         * reload1.c: Ditto.
8653         * reorg.c: Ditto.
8654         * resource.c: Ditto.
8655         * rtl.c: Ditto.
8656         * rtlanal.c: Ditto.
8657         * scan.c: Ditto.
8658         * sched-deps.c: Ditto.
8659         * sched-rgn.c: Ditto.
8660         * sdbout.c: Ditto.
8661         * simplify-rtx.c: Ditto.
8662         * stmt.c: Ditto.
8663         * stor-layout.c: Ditto.
8664         * toplev.c: Ditto.
8665         * tradcif.y: Ditto.
8666         * tradcpp.c: Ditto.
8667         * tree.c: Ditto.
8668         * unroll.c: Ditto.
8669         * varasm.c: Ditto.
8670         * xcoffout.c: Ditto.
8671
8672 2001-10-10  Richard Henderson  <rth@redhat.com>
8673
8674         * rtl.h (can_reverse_comparison_p): Remove.
8675
8676 2001-10-10  Christopher Faylor <cgf@redhat.com>
8677
8678         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
8679         used.
8680
8681 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8682
8683         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
8684         (Thanks to Chris Faylor for suggesting macro name).
8685         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
8686         WIN32 defines.
8687         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
8688         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
8689         (MATH_LIBRARY): Undef before definition.
8690         (OUTPUT_QUOTED_STRING): Likewise.
8691         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
8692
8693 2001-10-10  Richard Henderson  <rth@redhat.com>
8694
8695         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
8696         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
8697         a tristate comparison value.
8698         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
8699
8700 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8701
8702         PR c++/4512
8703         * unroll.c (loop_iterations): Ignore insns generated by loop
8704         unrolling.
8705
8706         * config.gcc (mips*-*-gnu*): Delete support.
8707         * config/mips/gnu.h: Remove.
8708
8709 2001-10-10  Kazu Hirata  <kazu@hxi.com>
8710
8711         * calls.c: Fix formatting.
8712         * c-decl.c: Likewise.
8713         * cfgcleanup.c: Likewise.
8714         * combine.c: Likewise.
8715         * cppfiles.c: Likewise.
8716         * cpplib.c: Likewise.
8717         * cppmacro.c: Likewise.
8718         * crtstuff.c: Likewise.
8719         * cse.c: Likewise.
8720         * dwarf2out.c: Likewise.
8721         * expmed.c: Likewise.
8722         * expr.c: Likewise.
8723         * fold-const.c: Likewise.
8724         * function.c: Likewise.
8725         * gcse.c: Likewise.
8726         * genattrtab.c: Likewise.
8727         * ggc-page.c: Likewise.
8728         * integrate.c: Likewise.
8729         * libgcc2.c: Likewise.
8730         * loop.c: Likewise.
8731         * optabs.c: Likewise.
8732         * profile.c: Likewise.
8733         * protoize.c: Likewise.
8734         * real.c: Likewise.
8735         * recog.c: Likewise.
8736         * reload1.c: Likewise.
8737         * reload.c: Likewise.
8738         * reorg.c: Likewise.
8739         * resource.c: Likewise.
8740         * sched-rgn.c: Likewise.
8741         * sdbout.c: Likewise.
8742         * stmt.c: Likewise.
8743         * toplev.c: Likewise.
8744         * varasm.c: Likewise.
8745
8746 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
8747
8748         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
8749         * Makefile.in (langhooks.o): Add dependencies.
8750
8751 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
8752
8753         * rs6000.c (rs6000_emit_load_toc_table): Don't
8754         strdup the toc label.
8755         (create_TOC_reference): Likewise.
8756
8757 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8758
8759         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
8760         version default.
8761
8762 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8763
8764         * config/i386/i386.c (ix86_attribute_table): Correct
8765         min_len, max_len fields for dllimport, dllexport and shared.
8766
8767 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
8768
8769         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
8770         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
8771         Consistently use "nonzero" instead of "non-zero".
8772
8773 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8774
8775         * acconfig.h: Fix comment formatting.
8776         * c-dump.h: Likewise.
8777         * c-tree.h: Likewise.
8778         * conditions.h: Likewise.
8779         * expr.h: Likewise.
8780         * function.h: Likewise.
8781         * gthr.h: Likewise.
8782         * hwint.h: Likewise.
8783         * integrate.h: Likewise.
8784         * intl.h: Likewise.
8785         * loop.h: Likewise.
8786         * optabs.h: Likewise.
8787
8788 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8789
8790         * c-common.h: Fix comment formatting.
8791         * c-dump.c: Likewise.
8792         * cfg.c: Likewise.
8793         * diagnostic.h: Likewise.
8794         * except.c: Likewise.
8795         * gcc.h: Likewise.
8796         * gcov-io.h: Likewise.
8797         * genattrtab.c: Likewise.
8798         * output.h: Likewise.
8799         * predict.h: Likewise.
8800         * reload1.c: Likewise.
8801         * reload.h: Likewise.
8802         * resource.h: Likewise.
8803         * scan.h: Likewise.
8804         * system.h: Likewise.
8805         * tree.h: Likewise.
8806         * tree-inline.c: Likewise.
8807         * tsystem.h: Likewise.
8808         * varasm.c: Likewise.
8809         * xcoffout.h: Likewise.
8810
8811 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8812
8813         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
8814
8815 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8816
8817         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
8818         config/i386/i386elf.h, config/i386/netbsd-elf.h,
8819         config/i386/netware.h, config/mcore/gfloat.h,
8820         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
8821         config/netware.h, gccbug.in: Update FSF address.
8822
8823 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8824
8825         * c-common.c: Fix comment typos.
8826         * cfgrtl.c: Likewise.
8827         * collect2.c: Likewise.
8828         * cpplex.c: Likewise.
8829         * doloop.c: Likewise.
8830         * dwarf2out.c: Likewise.
8831         * dwarfout.c: Likewise.
8832         * expr.c: Likewise.
8833         * fold-const.c: Likewise.
8834         * gcc.c: Likewise.
8835         * gcov.c: Likewise.
8836         * gcse.c: Likewise.
8837         * global.c: Likewise.
8838         * ifcvt.c: Likewise.
8839         * loop.c: Likewise.
8840         * optabs.c: Likewise.
8841         * protoize.c: Likewise.
8842         * regclass.c: Likewise.
8843         * reorg.c: Likewise.
8844         * rtl.h: Likewise.
8845         * stmt.c: Likewise.
8846         * tree.h: Likewise.
8847         * doc/cpp.texi: Likewise.
8848         * doc/c-tree.texi: Likewise.
8849         * doc/extend.texi: Likewise.
8850         * doc/invoke.texi: Likewise.
8851         * doc/objc.texi: Likewise.
8852         * doc/tm.texi: Likewise.
8853
8854 2001-10-08  Richard Henderson  <rth@redhat.com>
8855
8856         * varasm.c (set_named_section_flags): Initialize "declared".
8857
8858 2001-10-08  Robert Lipe  <robertlipe@usa.net>
8859
8860         * varasm.c (struct in_named_entry): Add declared.
8861         (named_section_first_declaration): New function.
8862         (default_elf_asm_named_section): Use it.
8863         * output.h (named_section_first_declaration): New.
8864
8865 2001-10-08  Richard Henderson  <rth@redhat.com>
8866
8867         * i386.md (movsi_xor): Export.
8868         (setcc peep2): Use it when available; add an alternative to
8869         match zero_extendhisi2_and.
8870
8871 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8872
8873         * romp-protos.h (romp_initialize_trampoline): New function.
8874         * romp.c (romp_initialize_trampoline): Likewise.
8875         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
8876         romp_initialize_trampoline.
8877
8878 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8879
8880         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
8881         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8882         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8883         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8884
8885 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8886
8887         * unroll.c (loop_iterations): Extend check for multiple back edges.
8888
8889 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
8890
8891         * langhooks.h: New file.
8892         * Makefile.in (OBJS): Added langhooks.o.
8893         (c-lang.o): Depend on langhooks.h.
8894         (c-common.o): Don't depend on tree-inline.h.
8895         (tree-inline.o): Depend on toplev.h.
8896         (langhooks.o): New rule.
8897         * c-common.c: Don't include tree-inline.h.
8898         (c_mark_lang_decl): Mark argument c as unused.
8899         (c_common_lang_init): Don't initialize hooks here.
8900         * c-lang.c: Include langhooks.h, then override some macros.
8901         (lang_hooks): Initialize with macros in langhooks.h.
8902         (c_init): Don't initialize hooks here.
8903         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
8904         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
8905         * tree-inline.c: Include toplev.h.  Don't define hook variables.
8906         * tree-inline.h: Don't define hook types nor declare hook
8907         variables.  Move macros to...
8908         * langhooks.c: ... new file, as functions.  Adjust all callers.
8909
8910 2001-10-08  Jeffrey A Law  <law@cygnus.com>
8911
8912         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
8913         purge_mem_unchanging_flag on all instructions, not just on those
8914         before NOTE_INSN_FUNCTION_BEG.
8915
8916 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8917
8918         * cppmacro.c (_cpp_create_definition): Leave comments off.
8919
8920         * doc/cpp.texi: Update.
8921
8922 2001-10-08  DJ Delorie  <dj@redhat.com>
8923
8924         * c-decl.c (grokfield): Make sure the only unnamed fields
8925         we're allowing are either structs or unions.
8926         * doc/extend.texi: Add documentation for the unnamed field
8927         extension.
8928
8929 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
8930
8931         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
8932         * configure.in: Use it.
8933         * configure: Regenerated.
8934         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
8935         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
8936
8937 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8938
8939         * cppfiles.c (open_file): Don't mark zero-length files
8940         never-reread here.  Don't output diagnostics here either.
8941         (stack_include_file): Mark them never-reread here.
8942         (_cpp_read_file): Update.
8943
8944 2001-10-08  Richard Henderson  <rth@redhat.com>
8945
8946         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8947
8948 2001-10-08  Richard Henderson  <rth@redhat.com>
8949
8950         * expr.c (store_expr): When converting a CONST_INT for storage
8951         in a SUBREG, convert it to both SUBREG modes before stripping
8952         the SUBREG.
8953
8954 2001-10-08  Richard Henderson  <rth@redhat.com>
8955
8956         * varasm.c (restore_varasm_status): New.
8957         * function.h: Declare it.
8958         * function.c (pop_function_context_from): Call it.
8959
8960 2001-10-08  Richard Henderson  <rth@redhat.com>
8961
8962         * c-common.h (struct c_lang_decl): Add declared_inline.
8963         * c-tree.h (DECL_DECLARED_INLINE_P): New.
8964         * c-lang.c (c_disregard_inline_limits): Use it.
8965         * c-decl.c (duplicate_decls): Likewise.
8966         (pushdecl, redeclaration_error_message): Likewise.
8967         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
8968         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
8969         Set DECL_INLINE if -finline-functions.
8970         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
8971
8972 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8973
8974         * cppmacro.c (funlike_invocation_p): Move some logic to caller
8975         in enter_macro_context.  Create a padding token in its own context
8976         if necessary when the search for '(' fails.
8977         (enter_macro_context): Update.
8978
8979 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8980
8981         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
8982         genmultilib, toplev.c: Fix spelling errors of "separate" as
8983         "seperate", and corresponding spelling errors of related words.
8984
8985 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8986
8987         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
8988         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
8989         Likewise.
8990         * c-dump.c (dump_option_value_info): Likewise.
8991         * c-format.c (format_length_info, format_char_info,
8992         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
8993         * collect2.c (names): Likewise.
8994         * cppdefault.h (default_include): Likewise.
8995         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
8996         * flow.c (life_analysis): Likewise.
8997         * gcc.c (dir_separator_str, modify_target, option_map,
8998         target_option_translations, spec_list_1, extra_specs_1,
8999         init_spec): Likewise.
9000         * gcov.c (gcov_version_string): Likewise.
9001         * genattr.c (write_units): Likewise.
9002         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
9003         * gengenrtl.c (rtx_definition, defs): Likewise.
9004         * genrecog.c (pred_table): Likewise.
9005         * global.c (global_alloc): Likewise.
9006         * lcm.c (optimize_mode_switching): Likewise.
9007         * local-alloc.c (find_free_reg): Likewise.
9008         * params.h (param_info): Likewise.
9009         * predict.c (predictor_info): Likewise.
9010         * protoize.c (unexpansion_struct): Likewise.
9011         * real.c (bmask): Likewise.
9012         * recog.h (insn_operand_data, insn_data): Likewise.
9013         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
9014         * stmt.c (expand_nl_goto_receiver): Likewise.
9015         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
9016         target_switches, target_options): Likewise.
9017         * tradcif.y (token, tokentab2, yylex): Likewise.
9018         * tree.h (attribute_spec): Likewise.
9019
9020         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
9021         Likewise.
9022         * arc.c (arc_output_function_epilogue): Likewise.
9023         * arm.c (processors, all_cores, all_architectures,
9024         arm_override_options, isr_attribute_arg, isr_attribute_args,
9025         arm_isr_value): Likewise.
9026         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
9027         Likewise.
9028         * c4x.c (c4x_int_reglist): Likewise.
9029         * d30v.c (override_options): Likewise.
9030         * h8300.c (shift_insn): Likewise.
9031         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
9032         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
9033         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
9034         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
9035         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
9036         * i386.h (processor_costs, ix86_cost): Likewise.
9037         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
9038         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
9039         * m68k.c (codes_68881, codes_FPA): Likewise.
9040         * m88k.c (mode_from_align, max_from_align, all_from_align,
9041         best_from_align, m_options): Likewise.
9042         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
9043         * mcore.c (mode_from_align): Likewise.
9044         * mips/elf64.h (UNIQUE_SECTION): Likewise.
9045         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
9046         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
9047         * mips.h (mips_regno_to_class): Likewise.
9048         * ns32k.c (scales): Likewise.
9049         * pa.c (import_string, magic_milli): Likewise.
9050         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
9051         * sparc.c (leaf_reg_remap, sparc_override_options,
9052         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
9053         Likewise.
9054         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
9055
9056 2001-10-07  Dale Johannesen  <dalej@apple.com>
9057
9058         * reload1.c (reload_reg_free_p): Teach register interference
9059         checking that multiple output reloads are emitted in
9060         reverse order.
9061         reload1.c (reload_reg_reaches_end_p):  Ditto.
9062         reload1.c (reloads_conflict):  Ditto.
9063
9064 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9065
9066         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
9067         NULL_TREE inside @code.
9068
9069 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9070
9071         * doc/gcc.texi: Document consistent style of "32-bit",
9072         "Objective-C", and "@code{NULL}".
9073
9074 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9075
9076         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
9077         (cpp_token_len, cpp_spell_token, cpp_output_token,
9078         _cpp_equiv_tokens): Handle it.
9079         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
9080         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
9081         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
9082         error messages.
9083
9084 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9085
9086         * gcc.c (default_compilers): Remove .ada.
9087
9088 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9089
9090         * doc/cppinternals.texi: Update.
9091
9092 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9093
9094         * gcc.c (main): Set this_file_error if the appropriate
9095         compiler for a language has not been installed.
9096
9097 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
9098
9099         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
9100
9101 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
9102
9103         * gccbug.in (CATEGORIES): Add ada.
9104
9105 2001-10-05  Catherine Moore  <clm@redhat.com>
9106
9107         * config/stormy16/stormy-abi:  Document abi changes.
9108         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
9109         (ICALL_REGS): New register class.
9110         (NUM_ARGUMENT_REGISTERS): Now 6.
9111         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
9112         in registers.
9113         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
9114         * config/stormy16.md (call_internal, call_value_internal,
9115         indirect_jump): Use new 'z' constraint.
9116
9117 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9118
9119         * doc/cppinternals.texi: Update.
9120
9121 2001-10-05  Richard Henderson  <rth@redhat.com>
9122
9123         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
9124         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
9125         the gas section-name-as-label feature.
9126
9127 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9128
9129         * doc/cppinternals.texi: Update.
9130
9131 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9132
9133         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
9134         to ensure valid SImode constants.
9135
9136 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
9137
9138         * Makefile.in (c-decl.o): Depend on tree-inline.h.
9139         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
9140         * c-decl.c: Include tree-inline.h.
9141         (c_expand_body): Call optimize_inline_calls. Determine whether
9142         a function is inlinable upfront, and only clear
9143         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
9144         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
9145         (c_disregard_inline_limits): New function.
9146         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
9147         (c_post_options): Enable tree inlining if inlining is enabled.
9148         Don't inline trees when instrumenting functions.
9149         (c_init): Initialize lang_disregard_inline_limits and
9150         lang_cannot_inline_tree_fn.
9151         * tree-inline.c (initialize_inlined_parameters): Handle calls
9152         with fewer arguments than declared parameters, and fewer
9153         parameters than passed arguments.  Don't assume value is a
9154         DECL.
9155         (declare_return_variable): Convert return value back to the
9156         original type, if it was promoted.
9157         (tree_inlinable_function_p): New function.
9158         (inlinable_function_p): Don't look at DECL_INLINE if we're
9159         inlining all functions.  Make it work with a NULL id.
9160         Re-check DECL_UNINLINABLE after language-specific checks.
9161         * tree-inline.h (tree_inlinable_function_p): Declare it.
9162         * integrate.c (save_for_inline): Don't bother to prepare argvec
9163         when not inlining.
9164         * cse.c (check_for_label_ref): Don't check deleted labels.
9165
9166         * Makefile.in (tree-inline.o): Depend on newly-included headers.
9167         * tree-inline.c: Include headers needed for the functions moved in.
9168         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
9169         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
9170         (copy_body, initialize_inlined_parameters): Likewise.
9171         (declare_return_variable, inlinable_function_p): Likewise.
9172         (expand_call_inline, expand_calls_inline): Likewise.
9173         (optimize_inline_calls, clone_body): Likewise.
9174         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
9175         (copy_tree_r, remap_save_expr): Likewise.
9176
9177 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
9178
9179         * Makefile.in (OBJS): Added tree-inline.o.
9180         (c-common.o): Depend on tree-inline.h.
9181         (tree-inline.o): New target.
9182         * c-common.c: Include tree-inline.h.
9183         (c_mark_lang_decl): Don't mark saved_tree.
9184         (c_common_lang_init): Set lang_anon_aggr_type_p.
9185         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
9186         (struct c_lang_decl): Moved saved_tree to tree_decl.
9187         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
9188         * integrate.h (function_attribute_inlinable_p): Declare it.
9189         * integrate.c (function_attribute_inlinable_p): Export it.
9190         * tree-inline.c: New file.  Define variables declared in...
9191         * tree-inline.h: New file.  Declare functions to be moved to
9192         tree-inline.c.  Define macros and declare types and hooks for
9193         language-specific tree inlining.
9194         (flag_inline_trees): Moved definition from cp/decl2.c.
9195         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
9196         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
9197         (struct tree_decl): Moved saved_tree from c_lang_decl and
9198         inlined_fns from C++'s lang_decl.
9199
9200 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
9201
9202         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
9203         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
9204
9205 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9206
9207         * doc/cppinternals.texi: Update.
9208
9209 2001-10-04  Eric Christopher  <echristo@redhat.com>
9210
9211         * config/mips/mips.c (init_cumulative_args): Remember to set
9212         cum->prototype.
9213         * config.gcc: Redo linux configuration. Add target_cpu_default
9214         of soft-float to all mipsisa32 combinations and tx39.
9215         * config/mips/linux.h: Remove include of mips.h.
9216
9217 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
9218
9219         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
9220         HOST_LDFLAGS and HOST_CPPFLAGS.
9221
9222 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
9223
9224         * c-parse.in (objc_inherit_code, objc_pq_context,
9225         objc_public_flag): Make static.
9226         (objc_interface_context, objc_implementation_context,
9227         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
9228         global tree array in objc/objc-act.[ch].
9229         (methoddef): Remove unnecessary code.
9230
9231         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
9232         Hoist struct definitions to objc-act.h.
9233         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
9234         cat_count): Place declaration in objc-act.h.
9235         (objc_tree_index): Move enumeration to objc-act.h.
9236         (objc_global_trees): Place declaration and macro accessors in
9237         objc-act.h.
9238         (implementation_context): Remove duplicate; use
9239         objc_implementation_context instead:
9240         (method_context): Remove duplicate; use objc_method_context
9241         instead.
9242         (objc_ellipsis_node, objc_method_prototype_template,
9243         implemented_classes, function_type): Move global vars to
9244         objc_global_trees.
9245         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9246         (build_message_expr): Move actual construction of ObjC message
9247         send nodes to finish_message_expr.
9248         (finish_message_expr): New routine, contains code formerly in
9249         build_message_expr.
9250         * objc/objc-act.h (finish_message_expr): New prototype.
9251         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9252         declarations; these vars are now part of objc_global_trees.
9253         (objc_tree_index, objc_global_trees): Move definitions from
9254         objc-act.c.
9255         * objc/objc-tree.def: Update copyright info.
9256
9257 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
9258
9259         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9260         op is NULL.
9261         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9262         only if TARGET_ARCH64.
9263
9264 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
9265
9266         * doc/extend.texi: Fix some problems with previous checkin.
9267         * doc/invoke.texi: Likewise.
9268
9269 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9270
9271         * cpphash.h: Update comments.
9272         (cpp_context): Update.
9273         (spec_nodes): Remove n__Pragma.
9274         * cppinit.c (cpp_create_reader): Update.
9275         (builtin_array): Add _Pragma.
9276         * cpplib.h: Update comments.
9277         (NODE_DISABLED, BT_PRAGMA): New.
9278         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9279         * cppmacro.c (struct cpp_macro): Remove disabled.
9280         (builtin_macro): Return int, handle _Pragma, push the new token
9281         on the context stack.
9282         (funlike_invocation_p): Unconstify, update.
9283         (enter_macro_context): Handle builtins here.
9284         (replace_args, push_token_context, push_ptoken_context):
9285         Update for prototype changes.
9286         (_cpp_pop_context): Update.
9287         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9288         (cpp_sys_macro_p): Update.
9289         (_cpp_free_definition): Clear disabled flag.
9290         (_cpp_create_definition): Upate.
9291         * cppmain.c: Update comments.
9292
9293 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9294                                 Andreas Jaeger <aj@suse.de>,
9295                                 Jan Hubicka    <jh@suse.cz>
9296
9297         * doc/invoke.texi (i386 Options): Document x86-64 options.
9298         (i386 and x86-64 Options): Rename i386 options section.
9299
9300         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9301         (TARGET_SWITCHES): Add -munwind-info.
9302         (MASK_NO_UNWIND_INFO): New.
9303         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9304         biarch compilation.
9305         (ASM_OUTPUT_DOUBLE_INT): New.
9306
9307         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9308         * config.gcc: Fix tm_file settings for x86-64.
9309         * config/i386/x86-64.h: New file with OS independent x86-64
9310         definitions.
9311         * config/i386/biarch64.h: New file used to configure compiler
9312         to biarch/64bit compilation.
9313
9314         * config/i386/i386.c: (override_options): Set flags default
9315         for 64bit compilation.
9316
9317 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9318
9319         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9320         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9321         constants on x86_64.
9322         (ix86_attr_length_immediate_default): Support MODE_DI.
9323         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9324         condition.
9325         (indirect_jump, tablejump): Turn into expander.
9326
9327 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9328
9329         * c-common.c (c_format_attribute_table): Make format and
9330         format_arg attributes apply to function types rather than to
9331         decls.
9332         (is_valid_printf_arglist): Construct an attribute list and pass
9333         that to check_function_format rather than a name.
9334         * c-common.h (check_function_format): Adjust prototype.
9335         * c-decl.c (duplicate_decls): Preserve attributes from type of
9336         built-in decl when allowing for harmless conflict in types.
9337         * c-format.c (record_function_format,
9338         record_international_format, function_format_list,
9339         international_format_info, international_format_list): Remove.
9340         (function_format_info): Remove next, name and assembler_name.
9341         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9342         (decode_format_attr): New.
9343         (handle_format_attribute): Handle receiving a type rather than a
9344         decl.  Call decode_format_attr.  Store format information in a
9345         function_format_info.
9346         (handle_format_arg_attribute): Correct comment.  Handle receiving
9347         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9348         arg_num.
9349         (check_format_info_recurse, check_format_info_main): Take argument
9350         numbers as unsigned HOST_WIDE_INT.
9351         (check_function_format): Take a list of attributes from the
9352         function type rather than a name or assembler name.  Check for
9353         format attributes in that list and the attributes on the type of
9354         the current function rather than looking through
9355         function_format_list.
9356         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9357         numbers.
9358         (check_format_info_recurse): Take format_arg attributes from the
9359         type of the function calls rather than using
9360         international_format_list.  Allow for multiple format_arg
9361         attributes.
9362         * c-typeck.c (build_function_call): Pass type attributes to
9363         check_function_format rather than name or assembler name.  Don't
9364         require there to be a name or assembler name to check formats.
9365
9366 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9367
9368         * attribs.c (decl_attributes): Possibly call
9369         insert_default_attributes to insert default attributes on
9370         functions in a lazy manner.
9371         * builtin-attrs.def: New file; define the default format and
9372         format_arg attributes.
9373         * c-common.c (c_format_attribute_table): Move to earlier in the
9374         file.
9375         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9376         (enum built_in_attribute, built_in_attributes,
9377         c_attrs_initialized, c_init_attributes,
9378         c_common_insert_default_attributes): New.
9379         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9380         call c_init_attributes.
9381         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9382         * c-common.h (init_function_format_info): Don't declare.
9383         (c_common_insert_default_attributes): Declare.
9384         * c-decl.c (implicitly_declare, builtin_function): Call
9385         decl_attributes.
9386         (init_decl_processing): Don't call init_function_format_info.
9387         (insert_default_attributes): New.
9388         * c-format.c (handle_format_attribute,
9389         handle_format_arg_attribute): Be quiet about inappropriate
9390         declaration when applying default attributes.
9391         (init_function_format_info): Remove.
9392         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9393         (insert_default_attributes): Declare.
9394
9395 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9396
9397         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9398
9399 2001-10-01  Jim Wilson  <wilson@redhat.com>
9400
9401         * sched-deps.c (add_dependence): When elide conditional dependence,
9402         check that insn doesn't modify cond2.
9403
9404 2001-10-01  Dale Johannesen  <dalej@apple.com>
9405
9406         * config/rs6000/rs6000.h (enum processor_type): Add support
9407         for 7400 (G4) and 7450.
9408         (RTX_COSTS): Ditto.
9409         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9410         (rs6000_issue_rate): Ditto.
9411         (rs6000_adjust_cost): Fix cycle counts for compares.
9412         (debug_stack_info):  Fix an obvious typo.
9413         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9414         * doc/invoke.texi: Document.
9415         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9416         for Darwin.
9417         (PROCESSOR_DEFAULT): Ditto.
9418
9419 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9420
9421         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9422         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9423         later recursive make invocation.
9424
9425 2001-10-01  Hans Boehm  <boehm@acm.org>
9426
9427         * optabs.c (emit_libcall_block): When using non-call exceptions,
9428         don't add REG_LIBCALL reg notes to trapping calls.
9429
9430 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9431
9432         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9433         (propagate_one_insn):  Update for above change
9434
9435 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9436
9437         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9438         _Unwind_GetTextRelBase): Argument is unused.
9439
9440 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9441
9442         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9443         Loop through NOPs, placeholders, and components.
9444         Don't go through NOPs if change mode.
9445         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9446         * emit-rtl.c (set_mem_alias_set): Enable check.
9447         * expr.c (find_placeholder): New function.
9448         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9449         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9450         to modify it and avoid unneeded copies.
9451         * expr.h (expand_expr): Always define.
9452         (find_placeholder): New declaration.
9453
9454 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9455
9456         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9457         operand 2 is the stack pointer.
9458         ("addr-peephole"): Fix address computation peephole when operand 2
9459         is the stack pointer.
9460
9461 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9462
9463         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9464         (ix86_setup_incoming_varargs): Likewise.
9465
9466 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9467
9468         * stor-layout.c (layout_type): Don't complain about too-large
9469         array here.
9470
9471 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9472
9473         * function.c (keep_stack_depressed): Don't use delete_insn.
9474
9475         * expr.h (set_mem_alias_set): Move decl to here.
9476         * rtl.h (mem_attrs): New typedef and struct.
9477         (union rtunion_def): Add field for mem_attrs.
9478         (X0MEMATTR, MEM_ATTRS): New macros.
9479         (MEM_ALIAS_SET): Use MEM_ATTRS.
9480         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9481         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9482         (set_mem_alias_set): Delete decl from here.
9483
9484         * alias.c (set_mem_alias_set): Delete from here.
9485         * emit-rtl.c (mem_attrs_htab): New variable.
9486         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9487         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9488         (mem_attrs_mark, get_mem_attrs): Likewise.
9489         (gen_rtx_MEM): Clear MEM_ATTRS.
9490         (set_mem_attributes): Move to here.
9491         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9492         (init_emit_once): const_int_htab now deletable htab.
9493         Initialize mem_attrs_htab.
9494         * explow.c (set_mem_attributes): Delete from here.
9495         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9496         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9497         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9498         * reload1.c (reload): Rework changing REG to MEM.
9499
9500 2001-09-30  H.J. Lu <hjl@gnu.org>
9501
9502         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9503         * config.in: Rebuild.
9504
9505 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9506
9507         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9508         ("tsthi_1"): Avoid allocation in register y.
9509         ("*movqi_68hc12"): Reorganize and fix constraints.
9510         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9511         ("addqi3"): Likewise.
9512         ("addhi3"): Fix constraints.
9513         ("*logicalhi3_zexthi"): Disparage soft registers.
9514
9515 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9516
9517         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9518         to tmp reg.
9519
9520 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9521
9522         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
9523         that we use setjmp/longjmp exceptions.
9524
9525 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9526
9527         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
9528         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
9529         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9530         _cpp_pool_alloc, _cpp_next_chunk): Remove.
9531         (_cpp_extend_buff, BUFF_ROOM): Update.
9532         (_cpp_append_extend_buff): New.
9533         (struct cpp_reader): Remove macro_pool, add a_buff.
9534         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
9535         macro_pool.
9536         (cpp_destroy): Free a_buff instead of macro_pool.
9537         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
9538         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9539         _cpp_pool_alloc, ): Remove.
9540         (parse_number, parse_string): Update use of _cpp_extend_buff.
9541         (_cpp_extend_buff): Update.
9542         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
9543         * cpplib.c (glue_header_name, parse_answer):
9544         Update use of _cpp_extend_buff.
9545         (cpp_register_pragma, cpp_register_pragma_space): Use
9546         _cpp_aligned_alloc.
9547         (do_assert, do_unassert): Check for EOL, update.
9548         * cppmacro.c (stringify_arg, collect_args): Update to use
9549         _cpp_extend_buff and _cpp_append_extend_buff.
9550         (save_parameter, parse_params, alloc_expansion_token,
9551         _cpp_create_definition): Rework memory management.
9552
9553 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
9554
9555         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
9556         update md_exec_prefix.
9557         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
9558         to string constant.
9559
9560 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9561
9562         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
9563         (SELECT_CC_MODE): Use s390_select_ccmode.
9564         * config/s390/s390-protos.h (s390_select_ccmode): Add.
9565         * config/s390/s390.c (s390_select_ccmode): New.
9566         (s390_match_ccmode): Add CCLmode.
9567         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
9568         (output_branch_condition, output_inverse_branch_condition): Removed.
9569         (print_operand): Use s390_branch_condition_mnemonic.
9570         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
9571         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
9572         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
9573
9574         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
9575         when converting conditional branches to far branches.
9576         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
9577         cmpint_di): Use CCSmode instead of CCUmode.
9578
9579         * config/s390/s390.c (legitimate_la_operand_p): New.
9580         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
9581         * config/s390/s390.md (movsi): Convert load address patterns to
9582         arithmetic operations when necessary.
9583         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
9584         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
9585         (*do_la_reg_0): Don't use before reload.
9586
9587         * config/s390/s390.c (legitimize_address): Make more efficient
9588         use of two-register addressing mode.
9589
9590         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
9591         with -mno-backchain in some corner cases.
9592
9593         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
9594
9595 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
9596
9597         * reload.c (find_reloads): Mark new USE insns with QImode.
9598         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
9599         find_reloads_subreg_address): Likewise.
9600         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
9601         encountered.
9602         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
9603         CLOBBERs.
9604         (reload): Make sure there are no USEs with mode other than
9605         VOIDmode.  At the end, remove those marked with QImode.
9606
9607 2001-09-29  Per Bothner  <per@bothner.com>
9608
9609         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
9610         * Makefile.in (includedir):  Rename to local_includedir.
9611         (includedir):  Define as $(prefix)/include.
9612         * config.in (PREFIX_INCLUDE_DIR):  New variable.
9613         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
9614
9615 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
9616
9617         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
9618         storehps builtins.
9619         * doc/extend.texi (Vector Extensions): New node.
9620         * doc/invoke.texi (Machine Dependent Options): Add documentation for
9621         i386 -mmmx, -msse, -m3dnow.
9622
9623 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9624
9625         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
9626
9627 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
9628
9629         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
9630
9631         * doc/invoke.texi (Optimize Options): Delete spurious @table.
9632
9633 2001-09-28  Richard Henderson  <rth@redhat.com>
9634
9635         * varasm.c (assemble_integer): Bound alignment check by
9636         BIGGEST_ALIGNMENT.
9637
9638         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
9639
9640 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9641
9642         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
9643
9644 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9645
9646         Mostly from Graham Stott  <grahams@redhat.com>
9647         * c-common.c (type_for_mode): Add support for V2SFmode.
9648         * tree.c (build_common_tree_nodes_2): Likewise.
9649         * tree.h (enum tree_index, global_trees): Likewise.
9650         * config/i386/i386.c (x86_3dnow_a): New variable.
9651         (override_options): Support 3Dnow extensions.
9652         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
9653         Athlon's version of 3Dnow.
9654         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
9655         (ix86_expand_builtin): Handle them.
9656         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
9657         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
9658         TARGET_3DNOW_A): New macros.
9659         (TARGET_SWITCHES): Add 3Dnow switches.
9660         (VALID_MMX_REG_MODE_3DNOW): New macro.
9661         (VECTOR_MODE_SUPPORTED_P): Use it.
9662         (enum ix86_builtins): Add entries for 3Dnow builtins.
9663         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
9664         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
9665         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
9666         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
9667         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
9668         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
9669         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
9670         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
9671         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
9672         sfence_insn, prefetch): Make these available if TARGET_SSE or
9673         TARGET_3DNOW_A.
9674
9675 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9676
9677         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
9678         ix86_va_start, ix86_build_va_list): Declare.
9679         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
9680         ix86_va_start, ix86_build_va_list): New global functions.
9681         * i386.md (sse_prologue_save_insn): New insn.
9682         (sse_prologue_save): New expander.
9683         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
9684         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
9685
9686 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9687
9688         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
9689         Use size_t everywhere, make definitions consistent with
9690         prototypes.
9691
9692 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
9693
9694         * gcse.c (replace_store_insn): Use delete_insn.
9695         * loop.c (move_movables): Likewise; avoid delete_insn
9696         from clobbering notes moved elsewhere.
9697         (check_dbra_loop): Use delete_insn.
9698         * ssa.c (convert_from_ssa): Likewise.
9699         * cse.c (cse_insn): Use delete_insn.
9700
9701 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9702
9703         * cpphash.h (struct cpp_buff): Make unsigned.
9704         (_cpp_get_buff): Take length of size_t.
9705         (_cpp_unaligned_alloc): New.
9706         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
9707         (struct cpp_reader): Remove ident_pool.  Add u_buff.
9708         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
9709         (cpp_destroy): Destroy u_buff, not ident_pool.
9710         * cpplex.c (parse_number, parse_string, save_comment,
9711         cpp_token_as_text): Update to use the unaligned buffer.
9712         (new_buff): Make unsigned.
9713         (_cpp_unaligned_alloc): New.
9714         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
9715         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
9716         Similarly.
9717         (collect_args): Make unsigned.
9718
9719 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
9720
9721         * cpplex.c (cpp_output_token): Use a putc loop for
9722         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
9723
9724         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
9725         * configure, config.in: Regenerate.
9726         * system.h: Replace fwrite and fprintf with their unlocked
9727         variants if available.
9728
9729 2001-09-27  Richard Henderson  <rth@redhat.com>
9730
9731         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
9732         in favour of .eh_frame.
9733
9734 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
9735
9736         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
9737         to macros.
9738         (LIBCALL_VALUE): Likewise.
9739
9740 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9741
9742         * cpphash.h: Update comment.
9743         * cpplex.c: Update comments.
9744         (_cpp_can_paste): Remove.
9745         * cpplib.h (_cpp_can_paste): Remove.
9746         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
9747         lexer rather than _cpp_can_paste.
9748
9749 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9750
9751         * doc/cppinternals.texi: Update.
9752
9753 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9754
9755         * cpphash.h (struct cpp_pool): Remove locks and locked.
9756         (struct cpp_context): Add member buff.
9757         (struct cpp_reader): Remove member argument_pool.
9758         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9759         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
9760         * cpplex.c (chunk_suitable): Remove pool argument.
9761         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
9762         (new_buff, _cpp_extend_buff): Update.
9763         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
9764         which buffer is returned.
9765         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
9766         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9767         * cppmacro.c (lock_pools, unlock_pools): Remove.
9768         (push_ptoken_context): Take a _cpp_buff.
9769         (enter_macro_context): Pool locking removed.
9770         (replace_args): Use a _cpp_buff for the replacement list with
9771         arguments replaced.
9772         (push_token_context): Clear buff.
9773         (expand_arg): Use _cpp_pop_context.
9774         (_cpp_pop_context): Free a context's buffer, if any.
9775
9776 2001-09-26  DJ Delorie  <dj@redhat.com>
9777
9778         * c-typeck.c (digest_init): Check for sizeless arrays.
9779
9780 2001-09-26  Richard Henderson  <rth@redhat.com>
9781
9782         * optabs.c (init_one_libfunc): Create a dummy function type
9783         instead of using error_mark_node.
9784
9785 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9786
9787         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
9788         _cpp_extend_buff, _cpp_free_buff): New.
9789         (struct cpp_reader): New member free_buffs.
9790         * cppinit.c (cpp_destroy): Free buffers.
9791         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
9792         _cpp_extend_buff, _cpp_free_buff): New.
9793         * cpplib.h (struct cpp_options): Remove unused member.
9794         * cppmacro.c (collect_args): New.  Combines the old parse_arg
9795         and parse_args.  Use _cpp_buff for memory allocation.
9796         (funlike_invocation_p, replace_args): Update.
9797
9798 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9799
9800         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
9801
9802 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
9803
9804         * except.c (sjlj_mark_call_sites): Change address inside sequence.
9805
9806 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
9807
9808         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
9809         glibc.
9810
9811 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
9812             Jim Wilson  <wilson@redhat.com>
9813
9814         * doc/install.texi (Specific, ia64-*-linux): Document.
9815
9816 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9817
9818         * Makefile.in (cfgrtl.o): Add.
9819         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9820         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9821         free_aux_for_edge): Declare.
9822         * cfg.c
9823         (HAVE_return): Undefine.
9824         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9825         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9826         free_aux_for_edge): New global functions.
9827         (first_delete_block): New static variable.
9828         (init_flow): Clear first_delete_block.
9829         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
9830          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
9831          try_redirect_by_replacing_jump, last_loop_beg_note,
9832          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
9833          delete_insn, delete_insn_chain, create_basic_block_structure,
9834          create_basic_block, flow_delete_block, compute_bb_for_insn,
9835          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
9836          set_block_for_new_insns, split_block, merge_blocks_nomove,
9837          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
9838          redirect_edge_and_branch, force_nonfallthru_and_redirect,
9839          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
9840          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
9841          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
9842          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9843          purge_all_dead_edges): Move to ....
9844         * cfgrtl.c: New file; .... Here.
9845
9846         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
9847         (reroder_basic_block): Use alloc_aux_for_blocks.
9848         * predict.c (estimate_bb_frequencies): Likewise; use
9849         alloc_aux_for_edges.
9850         * profile.c (compute_branch_probabilities): Likewise.
9851         (branch_prob): Likewise.
9852         * reg-stack.c (reg_to_stack): Likewise.
9853
9854         * emit-rtl.c (emit_insns_after): Never return NULL.
9855
9856         * basic-block.h (set_block_for_new_insns): Delete.
9857         * cfgrtl.c (set_block_for_new_insns): Delete.
9858
9859         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
9860         calls when crossjumping.
9861
9862         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
9863         * unroll.c (copy_loop_body): Use delete_insn.
9864
9865         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
9866         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
9867         keep_stack_depressed): Likewise.
9868         * gcse.c (cprop_cc0_jump): Likewise.
9869         * local-alloc.c (update_equiv_regs): Likewise.
9870         * loop.c (scan_loop, loop_delete_insns): Likewise.
9871         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
9872         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
9873         delete_output_reload, delete_address_reloads_1,
9874         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
9875         Likewise.
9876         * sibcall.c (replace_call_placeholder): Likewise.
9877         * cse.c (cse_insn): Likewise.
9878
9879 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9880
9881         From Graham Stott  <grahams@redhat.com>
9882         (def_builtin): Only define builtins appropriate for target_flags.  All
9883         callers changed.
9884         (builtin_decsription): Add new field mask which is used to determine
9885         when to define the builtin via the macro def_builtin.
9886
9887         (bdesc_comi): Initialise new mask fields.
9888         (bdesc_2srg): Likewise.
9889         (bdesc_1arg): Likewise.
9890
9891         * config/i386/i386.c (ix86_init_builtins): Correct return type
9892         building v4hi_ftype_v4hi_int_int tree node.
9893         (ix86_expand_sse_comi): Fix typo swapping operands.
9894         Don't swap comparision condition, it is already swapped.
9895         (ix86_expand_sse_compare): Before swapping operands
9896         move operand 1 into new rtx and not the target rtx.
9897         Don't swap comparison condition, it is already swapped.
9898         Always check whether we need to create a new TARGET.
9899
9900         * config/i386/i386.md: (sse_comi) Fix typos.
9901         (sse_ucomi): Likewise.
9902         (cvtss2si): Fix operand 0 contraint.
9903         (cvttss2si): Likewise.
9904         (sse_unpckhps): Fix mode for operand 2.
9905         (sse_unpcklps): Likewise.
9906
9907 2001-09-25  Graham Stott  <grahams@redhat.com>
9908
9909         * sibcall.c (skip_copy_to_return_value): Tighten return value
9910         copy check.
9911
9912 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
9913
9914         * rs6000.c (lwa_operand): Address must be word aligned.
9915
9916 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9917
9918         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
9919         number has been set.
9920         (type_hash_mark): Mark type itself.
9921
9922 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9923
9924         * c-lex.c (cb_def_pragma): Update.
9925         (c_lex): Update, and skip padding.
9926         * cppexp.c (lex, parse_defined): Update, remove unused variable.
9927         * cpphash.h (struct toklist): Delete.
9928         (union utoken): New.
9929         (struct cpp_context): Update.
9930         (struct cpp_reader): New members eof, avoid_paste.
9931         (_cpp_temp_token): New.
9932         * cppinit.c (cpp_create_reader): Update.
9933         * cpplex.c (_cpp_temp_token): New.
9934         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
9935         (cpp_output_token): Don't print leading whitespace.
9936         (cpp_output_line): Update.
9937         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
9938         do_include_common, do_line, do_ident, do_pragma,
9939         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
9940         parse_assertion): Update.
9941         (get_token_no_padding): New.
9942         * cpplib.h (CPP_PADDING): New.
9943         (AVOID_LPASTE): Delete.
9944         (struct cpp_token): New union member source.
9945         (cpp_get_token): Update.
9946         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
9947         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
9948         replace_args, quote_string, stringify_arg, parse_arg, next_context,
9949         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
9950         _cpp_backup_tokens, _cpp_create_definition): Update.
9951         (push_arg_context): Delete.
9952         (padding_token, push_token_context, push_ptoken_context): New.
9953         (make_string_token, make_number_token): Update, rename.
9954         (cpp_get_token): Update to handle tokens as pointers to const,
9955         and insert padding appropriately.
9956         * cppmain.c (struct printer): New member prev.
9957         (check_multiline_token): Constify.
9958         (do_preprocessing, cb_line_change): Update.
9959         (scan_translation_unit): Update to handle spacing.
9960         * scan-decls.c (get_a_token): New.
9961         (skip_to_closing_brace, scan_decls): Update.
9962         * fix-header.c (read_scan_file): Update.
9963
9964         * doc/cpp.texi: Update.
9965
9966 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9967
9968         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
9969         leak by passing malloc'ed pointer to reconcat, not concat.
9970
9971 2001-09-24  DJ Delorie  <dj@redhat.com>
9972
9973         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
9974
9975 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
9976
9977         * flow.c (delete_dead_jumptables): Delete jumptable if the only
9978         reference is from the literal pool.
9979
9980 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
9981
9982         * doc/install.texi (Final install): Request additional information
9983         in mail about successful builds.
9984
9985 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9986
9987         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
9988         initial value of return pointer register instead of value in frame-20.
9989         Revise comments.
9990
9991 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9992
9993         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
9994         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
9995         the libcall if there isn't a referenced identifier for the symbol.
9996
9997 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9998
9999         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
10000         non 64-bit machines.  Use these as a plabel for the trampoline.
10001         (TRAMPOLINE_SIZE): Adjust size for new words.
10002         (INITIALIZE_TRAMPOLINE): Initialize new words.
10003         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
10004         pointer to the plabel in the trampoline.
10005
10006 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10007
10008         * pa.c (function_arg): Pass floating arguments in both general and
10009         floating registers in indirect (dynamic) calls when generating code
10010         for the 32 bit ABI and the HP assembler.
10011
10012 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10013
10014         * doc/install.texi: Markup fixes.
10015         Use Solaris 2, SunOS 4 as appropriate.
10016         (Specific, *-*-solaris2*): Explain this.
10017         Unconditionally warn against /usr/ucb tools.
10018         Remove Sun as warning, obsolete.
10019         Move X11 header bug workaround here, update patches.
10020         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
10021         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
10022
10023 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
10024
10025         * errors.h (warning, error, fatal, internal_error): Don't mark
10026         with ATTRIBUTE_PRINTF_n.
10027         * toplev.h (internal_error, fatal_io_error, warning, error,
10028         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
10029         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
10030         Likewise.
10031
10032 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10033
10034         * function.c (pop_function_context_from): var_refs_queue
10035         and temp slots now in GC memory.
10036         (mark_function_status, free_after_compilation): Likewise;
10037         also struct function now in GC memory.
10038         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
10039         (combine_temp_slots): Likewise.
10040         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
10041         (prepare_function_start): Use GC memory for struct function.
10042         (mark_temp_slot): Deleted.
10043         (gcc_mark_struct_function): struct function now in GC memory.
10044
10045         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
10046         code for division, not modulus.
10047
10048         * rtl.def (MEM): Remove obsolete part of comment.
10049
10050 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
10051
10052         * c-format.c (init_function_format_info): Check __builtin_printf
10053         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
10054         in gnu89 mode.
10055
10056 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10057
10058         * c-common.c (format_attribute_table): Remove decl.
10059         * tree.h (format_attribute_table, lang_attribute_table): New decls.
10060         (lang_attribute_common): Likewise.
10061
10062         * function.c (fix_lexical_address): Use set_mem_alias_set.
10063         (expand_function_start): Likewise.
10064         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
10065
10066         * varasm.c (output_constant): Fix unused variable warning.
10067
10068         * attribs.c: New file, from c-common.c.
10069         (attribute_tables): Now four elements.
10070         (format_attribute_table, lang_attribute_common): New variables.
10071         (init_attributes): Reflect above changes.
10072         (handle_mode_attribute): Delete check for wider than uintmax.
10073         * c-common.c: Delete parts moved to attribs.c.
10074         (enum attrs): Deleted; unused.
10075         (c_format_attribute_table): New variable.
10076         (c_common_lang_init): Initialize format_attribute_table with it.
10077         * c-common.h (decl_attributes): Remove decl.
10078         * tree.h (decl_attribute): Move it to here.
10079         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
10080         (attribs.o): New rule.
10081
10082 2001-09-22  Andreas Jaeger  <aj@suse.de>
10083
10084         * builtins.c (c_getstr): Remove unused variable.
10085
10086 2001-09-21  Richard Henderson  <rth@redhat.com>
10087
10088         * reload1.c (reload): Use delete_insn instead of splatting
10089         NOTE_INSN_DELETED.
10090
10091 2001-09-21  Richard Henderson  <rth@redhat.com>
10092
10093         * reload.c (push_secondary_reload): Don't check for "=" in output
10094         constraint after ""->ALL_REGS check.
10095
10096 2001-09-21  Richard Henderson  <rth@redhat.com>
10097
10098         * predict.c (expected_value_to_br_prob): Use pc_set.
10099
10100         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
10101         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
10102
10103 2001-09-21  Richard Henderson  <rth@redhat.com>
10104
10105         * rtl.h (LCT_RETURNS_TWICE): New.
10106         * calls.c (emit_call_1): Set current_function_calls_setjmp for
10107         ECF_RETURNS_TWICE.
10108         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
10109         to ECF_RETURNS_TWICE.
10110         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
10111         call to setjmp.
10112
10113         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
10114
10115         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
10116         (JMP_BUF_SIZE): New.
10117
10118 2001-09-21  Richard Henderson  <rth@redhat.com>
10119
10120         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
10121         to R8_REGS.
10122
10123 2001-09-21  Richard Henderson  <rth@redhat.com>
10124
10125         * tree.def (FDESC_EXPR): New.
10126         * expr.c (expand_expr): Handle it.
10127         * varasm.c (initializer_constant_valid_p): Likewise.
10128         (output_constant): Likewise.
10129         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10130         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10131         (ASM_OUTPUT_FDESC): New.
10132         * doc/tm.texi: Document the new macros.
10133
10134 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10135
10136         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
10137         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
10138         once merging is complete.
10139
10140 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10141
10142         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
10143
10144 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10145
10146         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
10147         that would be invalid after a merge.
10148
10149 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
10150
10151         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
10152         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
10153         remove some labels.
10154         (flow_delete_insn): This one.
10155         (delete_insn_chain): Rename from ...; do not care labels.
10156         (flow_delete_insn_chain): ... this one.
10157         (flow_delete_block): Remove the insns one BB has been expunged.
10158         (merge_blocks_nomove): Likewise.
10159         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
10160         updating BB boundaries.
10161         (tidy_fallthru_edge): Likewise.
10162         (commit_one_edge_insertion): Likewise.
10163         * cfgbuild.c (find_basic_block): Likewise.
10164         (find_basic_blocks_1): Likewise.
10165         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
10166         (try_crossjump_to_edge): Likewise.
10167         (try_optimize_cfg): Likewise.
10168         * cse.c (delete_trivially_dead_insns): Likewise.
10169         * df.c (df_insn_delete): Likewise.
10170         * doloop.c (doloop_modify): Use delete_related_insns.
10171         * emit-rtl.c (try_split): Likewise.
10172         (remove_insn): Update BB boundaries.
10173         * expect.c (connect_post_landing_pads): Use delete_related_insns.
10174         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
10175         updating BB boundaries.
10176         (propagate_block_delete_insn): Likewise.
10177         (propagate_block_delete_libcall): Likewise.
10178         * function.c (delete_handlers): Use delete_related_insns.
10179         (thread_prologue_and_epilogue_insns): Likewise.
10180         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
10181         * genpeep.c (gen_peephole): Use delete_related_insns.
10182         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
10183         BB boundaries.
10184         (find_cond_trap): Likewise.
10185         * integrate.c (save_for_inline): Use delete_related_insns.
10186         (copy_insn_list): Likewise.
10187         * jump.c (pruge_linie_number_notes): Likewise.
10188         (duplicate_loop_exit_test): Likewise.
10189         (delete_computation): Likewise.
10190         (delete_related_insn): Rename from ...; use delete_insn
10191         (delete_insn): ... this one.
10192         (redirect_jump): Use delete_related_insns.
10193         * loop.c (scan_loop): Likewise.
10194         (move_movables): Likewise.
10195         (find_and_verify_loops): Likewise.
10196         (check_dbra_loop): Likewise.
10197         * recog.c (peephole2_optimize): Likewise.
10198         * reg-stack.c (delete_insn_for_stacker): Remove.
10199         (move_for_stack_reg): Use delete_insn.
10200         * regmove.c (combine_stack_adjustments_for_block): Likewise.
10201         * reload1.c (delete_address_reloads): Use delete_related_insns.
10202         (fixup_abnormal_edges): Use delete_insn.
10203         * recog.c (emit_delay_sequence): Use delete_related_insns.
10204         (delete_from-delay_slot): Likewise.
10205         (delete_scheduled_jump): likewise.
10206         (optimize_skip): Likewise.
10207         (try_merge_delay_insns): Likewise.
10208         (full_simple_delay_slots): Likewise.
10209         (fill_slots_from_thread): Likewise.
10210         (relax_delay_slots): Likewise.
10211         (make_return_insns): Likewise.
10212         (dbr_schedule): Likewise.
10213         * rtl.h (delete_insn): Rename to delete_related_insns.
10214         (delete_insn, delete_insn_chain): New prototypes.
10215         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
10216         by df_insn_delete already.
10217         * ssa-dce.c (delete_insn_bb): Use delete_insn.
10218         * ssa.c (convert_from_ssa): Use delete_related_insns.
10219         * unroll.c (unroll_loop): Likewise.
10220         (calculate_giv_inc): Likewise.
10221         (copy_loop_body): Likewise.
10222
10223         * i386-protos.h (ix86_libcall_value, ix86_function_value,
10224         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10225         ix86_return_in_memory, ix86_function_value): Declare.
10226         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
10227         new static valurables.
10228         (x86_64_reg_class): New enum
10229         (x86_64_reg_class_name): New array.
10230         (classify_argument, examine_argument, construct_container,
10231          merge_classes): New static functions.
10232         (optimization_options): Enable flag_omit_frame_pointer and disable
10233         flag_pcc_struct_return on 64bit.
10234         (ix86_libcall_value, ix86_function_value,
10235         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10236         ix86_return_in_memory, ix86_function_value): New global functions.
10237         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10238         (function_arg_advance): Handle x86_64 passing conventions.
10239         (function_arg): Likewise.
10240         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10241         (RETURN_IN_MEMORY): Move offline.
10242         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10243         (FUNCTION_VALUE_REGNO_P): New macro.
10244         (FUNCTION_ARG_REGNO_P): Move offline.
10245         (struct ix86_args): Add maybe_vaarg.
10246         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10247         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10248
10249 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
10250
10251         * s390.md: Changed attributes for scheduling.
10252         * s390.c: (s390_adjust_cost, s390_adjust_priority)
10253         Changed scheduling
10254
10255 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10256
10257         Table-driven attributes.
10258         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10259         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10260         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10261         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10262         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10263         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10264         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10265         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10266         * tree.h (struct tree_decl): Change machine_attributes to
10267         attributes.
10268         * doc/c-tree.texi: Document that all attributes are now attached
10269         to decls and types.
10270         * c-common.c (add_attribute, attrtab, attrtab_idx,
10271         default_valid_lang_attribute, valid_lang_attribute): Remove.
10272         (attribute_tables, attributes_initialized,
10273         c_common_attribute_table, default_lang_attribute_table): New
10274         variables.
10275         (handle_packed_attribute, handle_nocommon_attribute,
10276         handle_common_attribute, handle_noreturn_attribute,
10277         handle_unused_attribute, handle_const_attribute,
10278         handle_transparent_union_attribute, handle_constructor_attribute,
10279         handle_destructor_attribute, handle_mode_attribute,
10280         handle_section_attribute, handle_aligned_attribute,
10281         handle_weak_attribute, handle_alias_attribute,
10282         handle_no_instrument_function_attribute,
10283         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10284         handle_no_limit_stack_attribute, handle_pure_attribute): New
10285         functions.
10286         (init_attributes, decl_attributes): Rewrite to implement
10287         table-driven attributes.
10288         * c-common.h (enum attribute_flags): Move to tree.h.
10289         * c-format.c (decl_handle_format_attribute,
10290         decl_handle_format_arg_attribute): Rename to
10291         handle_format_attribute and handle_format_arg_attribute.  Update
10292         for table-driven attributes.
10293         * c-common.h (decl_handle_format_attribute,
10294         decl_handle_format_arg_attribute): Remove prototypes.
10295         (handle_format_attribute, handle_format_arg_attribute): Add
10296         prototypes.
10297         * c-decl.c (grokdeclarator): Handle attributes nested inside
10298         declarators.
10299         * c-parse.in (setattrs, maybe_setattrs): Remove.
10300         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10301         Update to handle nested attributes properly.
10302         (maybe_resetattrs, after_type_declarator,
10303         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10304         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10305         properly.
10306         (make_pointer_declarator): Update to handle nested attributes
10307         properly.
10308         * doc/extend.texi: Update documentation of limits of attributes
10309         syntax.  Warn about problems with attribute semantics in C++.
10310         * target.h (struct target): Remove valid_decl_attribute and
10311         valid_type_attribute.  Add attribute_table and
10312         function_attribute_inlinable_p.
10313         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10314         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10315         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10316         Add.
10317         (TARGET_INITIALIZER): Update.
10318         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10319         definition.
10320         (function_attribute_inlinable_p): New function.  Check for the
10321         presence of any machine attributes before using
10322         targetm.function_attribute_inlinable_p.
10323         (function_cannot_inline_p): Update.
10324         * Makefile.in (integrate.o): Update dependencies.
10325         * doc/tm.texi: Update documentation of target attributes and
10326         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10327         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10328         Remove.
10329         (default_target_attribute_table,
10330         default_function_attribute_inlinable_p): New.
10331         (lookup_attribute): Update comment to clarify handling of multiple
10332         attributes with the same name.
10333         (merge_attributes, attribute_list_contained): Allow multiple
10334         attributes with the same name but different arguments to appear in
10335         the same attribute list.
10336         * tree.h (default_valid_attribute_p): Remove prototype.
10337         (struct attribute_spec): New.
10338         (default_target_attribute_table): Declare.
10339         (enum attribute_flags): Move from c-common.h.  Add
10340         ATTR_FLAG_TYPE_IN_PLACE.
10341         (default_function_attribute_inlinable_p): Declare.
10342         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10343         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10344         (TARGET_ATTRIBUTE_TABLE): Define.
10345         (vms_attribute_table): New.
10346         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10347         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10348         (TARGET_ATTRIBUTE_TABLE): Define.
10349         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10350         * config/arm/arm.c (arm_valid_type_attribute_p,
10351         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10352         Remove.
10353         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10354         define.
10355         (TARGET_ATTRIBUTE_TABLE): Define.
10356         (arm_attribute_table, arm_handle_fndecl_attribute,
10357         arm_handle_isr_attribute): New.
10358         * config/avr/avr.c (avr_valid_type_attribute,
10359         avr_valid_decl_attribute): Remove.
10360         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10361         define.
10362         (TARGET_ATTRIBUTE_TABLE): Define.
10363         (avr_attribute_table, avr_handle_progmem_attribute,
10364         avr_handle_fndecl_attribute): New.
10365         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10366         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10367         (TARGET_ATTRIBUTE_TABLE): Define.
10368         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10369         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10370         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10371         (TARGET_ATTRIBUTE_TABLE): Define.
10372         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10373         h8300_handle_eightbit_data_attribute,
10374         h8300_handle_tiny_data_attribute): New.
10375         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10376         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10377         Remove prototypes.
10378         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10379         declarations.
10380         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10381         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10382         define.
10383         (TARGET_ATTRIBUTE_TABLE): Define.
10384         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10385         ix86_handle_regparm_attribute): New.
10386         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10387         i386_pe_valid_type_attribute_p): Remove.
10388         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10389         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10390         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10391         (TARGET_ATTRIBUTE_TABLE): Define.
10392         (ia64_attribute_table): New.
10393         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10394         interrupt_ident2, model_ident1, model_ident2): Remove.
10395         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10396         (TARGET_ATTRIBUTE_TABLE): Define.
10397         (init_idents): Update.
10398         (m32r_attribute_table, m32r_handle_model_attribute): New.
10399         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10400         Remove.
10401         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10402         (TARGET_ATTRIBUTE_TABLE): Define.
10403         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10404         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10405         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10406         (TARGET_ATTRIBUTE_TABLE): Define.
10407         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10408         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10409         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10410         (TARGET_ATTRIBUTE_TABLE): Define.
10411         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10412         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10413         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10414         (TARGET_ATTRIBUTE_TABLE): Define.
10415         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10416         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10417         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10418         (TARGET_ATTRIBUTE_TABLE): Define.
10419         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10420         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10421         New.
10422         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10423         Remove.
10424         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10425         (TARGET_ATTRIBUTE_TABLE): Define.
10426         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10427         New.
10428         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10429         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10430         (TARGET_ATTRIBUTE_TABLE): Define.
10431         (v850_attribute_table, v850_handle_interrupt_attribute,
10432         v850_handle_data_area_attribute): New.
10433         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10434         Return void.  Call decl_attributes instead of
10435         valid_machine_attribute.
10436
10437 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10438
10439         * sh-protos.h (sh_pr_n_sets): Declare.
10440         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10441         look at the copy to determine if PR needs to be saved.
10442         sh_pr_n_sets: New function.
10443         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10444         (ALLOCATE_INITIAL_VALUE): Define.
10445
10446         * sh.c (initial_elimination_offset):
10447         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10448
10449 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10450
10451         * integrate.c (allocate_initial_values): New function.
10452         * integrate.h (allocate_initial_values): Declare.
10453         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10454         here...
10455         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10456         from here...
10457         * toplev.c (rest_of_compilation): To here.
10458         Call allocate_initial_values.
10459         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10460
10461 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10462
10463         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10464
10465 2001-09-20  DJ Delorie  <dj@redhat.com>
10466
10467         * c-typeck.c (really_start_incremental_init): Discriminate
10468         between zero-length arrays and flexible arrays.
10469         (push_init_level): Detect zero-length arrays and handle them
10470         like fixed-sized arrays.
10471         * expr.c (store_constructor): Handle zero-length arrays and
10472         flexible arrays correctly.
10473         * doc/extend.texi: Update zero-length array notes.
10474
10475 2001-09-20  Jim Wilson  <wilson@redhat.com>
10476
10477         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10478         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10479         for issue port conflicts.
10480         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10481
10482 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10483
10484         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10485         on ia64.
10486
10487 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10488
10489         * fold-const.c (hashtab.h): Include.
10490         (int_const_binop): Remove FORSIZE arg and compute from type; all
10491         callers changed.
10492         Call size_int_type_wide for all single-word constants.
10493         (size_htab_hash, size_htab_eq): New functions.
10494         (size_int_type_wide): Rework to use hash table.
10495         * ggc-common.c (hashtab.h): Include.
10496         (struct d_htab_root): New struct.
10497         (d_htab_roots): New variable.
10498         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10499         (ggc_mark_roots): Handle deletable htabs.
10500         * ggc-page.c (ggc_marked_p): New function.
10501         * ggc-simple.c (ggc_marked_p): Likewise.
10502         * ggc.h: Reformatting throughout.
10503         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10504         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10505         (type_hash_add): Allocate struct type_hash from GC memory.
10506         (mark_hash_entry, mark_type_hash): Deleted.
10507         (type_hash_marked_p, type_hash_mark): New functions.
10508         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10509
10510 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10511
10512         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10513         than SImode.
10514
10515 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10516
10517         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10518         array-too-large test for signed sizetype.
10519
10520 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10521
10522         * i386.md (indirect_jump): Allow Pmode operand.
10523         (tablejump): LIkewise; perform expansion to 64bit mode.
10524         * i386.c (symbolic_operand): Allow 64bit PIC references.
10525         (pic_symbolic_operand): Likewise.
10526         (ix86_find_base_term): Strip the 64bit PIC references.
10527         (legitimate_pic_address_disp_p): Handle 64bit PIC.
10528         (legitimize_pic_address): Likewise.
10529         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
10530         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
10531
10532 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
10533
10534         * stringpool.c (get_identifier_with_length): New function.
10535         * tree.h (get_identifier_with_length): New prototype.
10536
10537 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
10538             David Edelsohn  <edelsohn@gnu.org>
10539
10540         Revert:
10541         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
10542         already sign-extended.
10543
10544         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
10545         * config/rs6000/rs6000.c (logical_operand): Always compare op as
10546         HOST_WIDE_INT.
10547         (rs6000_emit_set_long_const): Avoid unnecessary shift.
10548         (output_profile_hook): Declare label_name const.
10549         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
10550         to match constraints.
10551
10552 2001-09-19  Stan Shebs  <shebs@apple.com>
10553
10554         * alias.c: Fix typos in comments.
10555         * sched-rgn.c (init_ready_list): Ditto.
10556         * unwind-dw2.c (uw_frame_state_for): Ditto.
10557         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
10558         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
10559         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
10560
10561 2001-09-19  Richard Henderson  <rth@redhat.com>
10562
10563         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
10564         to the exit block.
10565         * Makefile.in (cfg.o): Depend on TM_P_H.
10566
10567 2001-09-19  Richard Henderson  <rth@redhat.com>
10568
10569         * config/alpha/alpha.c (local_symbol_p): Split out from ...
10570         (local_symbolic_operand): ... here.
10571         (small_symbolic_operand): Check mode.
10572         (global_symbolic_operand): New.
10573         (input_operand): Reject symbolics if explicit relocs.
10574         (call_operand): Tidy.
10575         (alpha_legitimize_address): Use movdi_er_high_g.
10576         (alpha_expand_mov): Likewise.
10577         * config/alpha/alpha-protos.h: Update.
10578         * config/alpha/alpha.h (PREDICATE_CODES): Update.
10579         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
10580         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
10581         (UNSPECV_LDGP2): Remove.
10582         (all call patterns): Use 's' not 'i' for symbolic constraint.
10583         (call_osf call_value_osf): Use call_operand.
10584         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
10585         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
10586         (prologue_ldgp_1_er): Remove.
10587         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
10588         (builtin_setjmp_receiver_er patterns): Use them.
10589         (exception_receiver_er): Likewise.
10590
10591 2001-09-19  Richard Henderson  <rth@redhat.com>
10592
10593         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
10594
10595         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
10596         and NON_LOCAL_GOTO notes.
10597         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
10598         copy over CALL_INSN_FUNCTION_USAGE.
10599
10600 2001-09-18  Catherine Moore  <clm@redhat.com>
10601
10602         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
10603         Define as 0.
10604
10605 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
10606
10607         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
10608         new-style tm_file specification.  Specify correct tm_p_file,
10609         md_file, and out_file for s390x.
10610
10611         * config/s390/linux.h, linux64.h:  Don't include other target
10612         macro header files.  Now handled via tm_file.
10613
10614         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
10615         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
10616         are defined before use.
10617
10618 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
10619
10620         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
10621         code generation only for Gnu assembler.
10622
10623 2001-09-18  Catherine Moore  <clm@redhat.com>
10624
10625         * config/stormy16 (LIB_SPEC): Remove -lnosys.
10626
10627 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
10628
10629         * config/mips/mips.c (mips_frame_set): New.
10630         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
10631         a parallel frame-related expression with a set for each register.
10632
10633 2001-09-18  Philip Blundell  <philb@gnu.org>
10634
10635         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
10636         header files.
10637
10638 2001-09-17  Dale Johannesen  <dalej@apple.com>
10639
10640         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
10641         * config/rs6000/aix.h (FIXED_R2): Define.
10642         * config/rs6000/darwin.h (FIXED_R2): Define.
10643         * config/rs6000/sysv4.h (FIXED_R2): Define.
10644
10645 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
10646
10647         * except.c (dw2_build_landing_pads): New local
10648         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
10649         barrier after clobbers.  Fixes c++/4012.
10650
10651 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10652
10653         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
10654
10655 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10656
10657         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
10658         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
10659
10660 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10661
10662         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
10663         alloca/strcpy.
10664
10665 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10666
10667         * cpphash.h (_cpp_lex_direct): New.
10668         * cpplex.c (_cpp_lex_token): Update.
10669         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
10670         and increment that pointer.
10671         * cppmacro.c (alloc_expansion_token): New.
10672         (lex_expansion_token): Lex macro expansion directly into
10673         macro storage.
10674
10675 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
10676
10677         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
10678
10679 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
10680
10681         * basic-block.h (free_bb_for_insn): Declare.
10682         * bb-reorder.c (label_for_bb): Use block_label.
10683         (emit_jump_to_block_after): Remove.
10684         (insert_intra_1): Do not update block_for_insn.
10685         (insert_inter_bb_scope_notes): Likewise; update bb->end
10686         * cfg.c (free_bb_for_insn): New.
10687         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
10688         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
10689         (commit_one_edge_insertion): Likewise.
10690         (commit_one_edge_insertion): Do not update BB boundary.
10691         (commit_edge_insertions): Do not call compute_bb_for_insn.
10692         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
10693         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
10694         (merge_blocks_move_successor_nojumps): Likewise.
10695         (try_crossjump_to_edge): Do not update block_for_insn.
10696         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
10697         * df.c (df_pattern_emit_later): Do not update BB boundary.
10698         (df_jump_pattern_emit_after): Likewise.
10699         (df_insn_move_before): Use emit_insn_before.
10700         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
10701          properly.
10702         (add_insn_after, add_insn_before, emit_insns_after): Update BB
10703         boundaries and basic_block_for_insn.
10704         (reorder_insns_nobb): Rename from reorder_insns.
10705         (reorder_insns): New.
10706         (emit_block_insn_before, emit_block_insn_after): Kill.
10707         * flow.c (check_function_return_warnings): Do not call
10708         compute_bb_for_insn; Do not free basic_block_for_insn.
10709         (attempt_auto_inc): Do not update basic_block_for_insn.
10710         * function.c (emit_return_into_block): Likewise;
10711         do not update BB boundaries.
10712         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
10713         (insert_insn_end_bb): Use emit_insn_before; Likewise.
10714         (pre_insert_copy_insn): Likewise.
10715         (update_ld_motion_notes): Likewise.
10716         (insert_insn_start_bb): Likewise.
10717         (replace_store_insn): Likewise.
10718         * ifcvt.c (noce_process_if_block): Likewise.
10719         (if_convert): Do not call compute_bb_for_insn.
10720         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
10721         Use emit_insn_before and emit_insn_after.
10722         * recog.c (split_all_insns): Do not update BB boundaries;
10723         Do not call compute_bb_for_insn.
10724         (peephole2_optimize): Do not update BB boundaries.
10725         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
10726         emit_insn_before.
10727         (emit_swap_insn): Likewise.
10728         (convert_regs_1): Likewise.
10729         * reload1.c (reload): Call compute_bb_for_insn.
10730         * rtl.h (reorder_insns_nobb): Declare.
10731         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
10732         * toplev.c (rest_of_compilation): Call free_bb_for_insn
10733         at places CFG is invalidated; do not call compute_bb_for_insn.
10734
10735         * cfg.c (expunge_block): Invalidate BB structure.
10736
10737         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
10738         array.
10739
10740         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
10741
10742 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10743
10744         * cpphash.h (_cpp_lex_token): Update prototype.
10745         * cpplex.c (_cpp_lex_token): New prototype.
10746         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
10747         lex_macro_node, read_flag, do_pragma_poison): Update.
10748         * cppmacro.c (cpp_get_token, parse_params,
10749         lex_expansion_token): Update.
10750
10751 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10752
10753         * cppmain.c (scan_translation_unit): Don't worry about
10754         putting a space after hashes.
10755         * cpplib.c (directive_diagnostics): New.
10756         (_cpp_handle_directive): Update to use directive_diagnostics.
10757         (run_directive): Don't toggle prevent_expansion.
10758         (do_line): Backup in case of the line extension.
10759         * cpplib.h (cpp_lexer_pos): Remove.
10760         * cppmacro.c (_cpp_create_definition): Precede a leading #
10761         with whitespace.
10762
10763 2001-09-15  Richard Henderson  <rth@redhat.com>
10764
10765         * c-typeck.c (comptypes): Handle zero-length arrays properly.
10766
10767 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10768
10769         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
10770
10771 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10772
10773         PR preprocessor/3571
10774         * tradcpp.c (handle_directive): Skip non-vertical space.
10775
10776 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10777
10778         * cppmain.c (setup_callbacks): Set line callback only
10779         if outputting preprocessed source.
10780
10781 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10782
10783         * collect2.c (main): Const-ification.
10784         * gcc.c (translate_options, process_command): Use xstrdup in
10785         lieu of xmalloc/strcpy.
10786         (main): Use concat in lieu of xmalloc/strcpy/strcat.
10787
10788 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10789
10790         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
10791         example.
10792
10793 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10794
10795         * scan-decls.c (scan_decls): Fix typo.
10796
10797 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10798
10799         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
10800         Split mlstring_pos into mls_line and mls_col.
10801         * cppinit.c (cpp_create_reader): Initialize line to 1.
10802         (cpp_destroy): Free tokenruns.
10803         (push_include): Don't update lexer_pos.
10804         * cpplex.c (unterminated, parse_string): Update.
10805         (lex_token): Don't update lexer_pos, update.
10806         * cpplib.c (if_stack): Save line instead of line + col.
10807         (start_directive, _cpp_do__Pragma, do_else, do_elif,
10808         push_conditional, _cpp_pop_buffer): Update.
10809         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
10810         (_cpp_create_definition): Update.
10811
10812 2001-09-15  Eric Christopher  <echristo@redhat.com>
10813
10814         * config/mips/abi64.h: Add support for MEABI.
10815
10816 2001-09-15  Eric Christopher  <echristo@redhat.com>
10817
10818         * config/mips/mips.md: Add unspec #2.
10819         (reload_indi): Use.
10820         (reload_outdi): Ditto.
10821         (reload_outsi): Ditto.
10822         (HILO_delay): New.
10823
10824 2001-09-15  Eric Christopher  <echristo@redhat.com>
10825             Jason Eckhardt  <jle@redhat.com>
10826
10827         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
10828         * config/mips/isa32-linux.h: New file.
10829         * config/mips/isa3264.h: Ditto.
10830         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
10831         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
10832         (output_block_mode): Support MEABI.
10833         (function_arg): Ditto. Fix floating point arg passing.
10834         (mips_va_start): Ditto.
10835         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
10836         processors.
10837         (mips_asm_file_start): Add new section to pass abi to gdb.
10838         (function_arg_pass_by_reference): Support MEABI.
10839         (mips_parse_cpu): Support mips32 and mips64 processors.
10840         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
10841         TARGET_MIPS5KC.  Support isa32 and isa64.
10842         (processor_type): Add r4kc, r5kc, r20kc.
10843         (GENERATE_MULT3_SI): New.
10844         (GENERATE_MULT3_DI): Ditto.
10845         (GENERATE_MULT3): Remove.
10846         (ISA_HAS_64BIT_REGS): Add isa == 64.
10847         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
10848         (ISA_HAS_MADD_MSUB): New.
10849         (ISA_HAS_CLZ_CLO): Ditto.
10850         (ISA_HAS_DCLZ_DCLO): Ditto.
10851         (ABI_GAS_ASM_SPEC): New.
10852         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
10853         (ASM_SPEC): Ditto.
10854         (LINK_SPEC): Ditto.
10855         (SUBTARGET_CC1_SPEC): Ditto.
10856         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10857         (PAD_VARARGS_DOWN): Support MEABI.
10858         (HARD_REGNO_NREGS): Move to mips.c.
10859         (ASM_OUTPUT_IDENT): Add #undef.
10860         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
10861         (mulsi3): Use GENERATE_MULT3_SI.
10862         (mulsi3_mult3): Ditto.  Support mips32, mips64.
10863         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
10864         (mul_sub_si): New pattern.
10865         (unnamed splitters): New.
10866         (muldi3): Use GENERATE_MULT3_DI.
10867         (muldi3_internal2): Ditto.
10868         (movdicc): Support mips32.
10869         * config/mips/t-isa3264: New file.
10870
10871 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
10872
10873         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
10874         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
10875         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
10876
10877         * reorg.c (fill_slots_from_thread): After call to
10878         steal_delay_list_from_target, update own_thread as new_thread may
10879         have branched.
10880
10881 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10882
10883         * cpperror.c (print_location): Take line and column, for
10884         default positioning use the previously lexed token.
10885         (_cpp_begin_message): Take line and column.
10886         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10887         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10888         * cpphash.h (_cpp_begin_message): Update prototype.
10889         * cppinit.c (push_include): Don't set output line.
10890         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
10891         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
10892         (do_pragma): Kludge for front ends.  Don't expand macros at all.
10893         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
10894         (struct cpp_token): Remove output_line.
10895         (struct cpp_callbacks): New member line_change.
10896         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
10897         cpp_get_token): Preserve BOL flag.
10898         (cpp_get_line): Remove.
10899         (_cpp_backup_tokens): Remove useless abort().
10900         * cppmain.c (cb_line_change): New.
10901         (scan_translation_unit): Don't worry about starting new lines here.
10902         * scan-decls.c (scan_decls): Update.
10903         * c-lex.c (c_lex, init_c_lex): Update.
10904         (cb_line_change, src_lineno): New.
10905
10906 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
10907
10908         * tree.c (append_random_chars): Generate the random
10909         characters in a reproducable fashion.
10910
10911 2001-09-14  Richard Henderson  <rth@redhat.com>
10912
10913         * config/i386/i386.c (internal_label_prefix): New.
10914         (internal_label_prefix_len): New.
10915         (override_options): Set them.
10916         (local_symbolic_operand): New.
10917         (legitimate_pic_address_disp_p): Use it.
10918         (legitimize_pic_address): Likewise.
10919
10920 2001-09-14  Marc Espie <espie@openbsd.org>
10921
10922         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
10923         correctly.
10924
10925 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10926
10927         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
10928         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
10929
10930 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
10931
10932         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
10933         invocation of SUBREG_REGNO_OFFSET.
10934
10935         * haifa-sched.c: Fix typo in FSF copyright statement.
10936         * sched-deps.c: Fix typo in FSF copyright statement.
10937         * sched-ebb.c: Fix typo in FSF copyright statement.
10938         * sched-rgn.c: Fix typo in FSF copyright statement.
10939         * sched-vis.c: Fix typo in FSF copyright statement.
10940
10941         * config.gcc: Move inclusion of arm elf specific header files
10942         from the files themselves into the tm_file variable.  Make
10943         sure that elfos.h is included before target specific elf
10944         headers.
10945         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
10946         already defined.
10947         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
10948         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
10949         ASM_OUTPUT_CASE_LABEL): Protect definition.
10950         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
10951         not already defined.
10952         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
10953         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
10954         Remove duplicate definition.
10955         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
10956         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
10957         (RDATA_SECTION_FUNCTION): Remove redundant definition.
10958         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
10959         Remove inclusion of arm/elf.h.
10960         * config/arm/unknown-elf.h: as for conix-elf.h.
10961         (STARTFILE_SPEC): Include crti.o and crtn.o.
10962         * config/arm/linux-elf.h: as for conix-elf.h.
10963         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
10964         * config/arm/strongarm-elf.h: Remove inclusion of
10965         unknown-elf.h.
10966         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
10967         * config/arm/unknown-elf-oabi.h: Remove inclusion of
10968         unknown-elf.h and elf.h.
10969         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
10970         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
10971         ASM_WEAKEN_LABEL): Remove redundant definition.
10972         * config/arm/elf.h: Test for inclusion of elfos.h
10973         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
10974         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
10975         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
10976         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
10977         redundant definition.
10978         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
10979         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
10980         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
10981         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
10982         Add rules to build crti.o and crtn.o
10983         * crti.asm: New file.
10984         * crtn.asm: New file.
10985
10986 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10987
10988         * c-parse.in (_yylex): Use _cpp_backup_tokens.
10989         * cpphash.h (struct tokenrun): Add prev.
10990         (struct lexer_state): Remove bol.
10991         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
10992         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
10993         : Remove.
10994         * cppinit.c (cpp_create_reader): Don't set bol.
10995         (cpp_destroy): Don't free lookaheads.
10996         * cpplex.c (lex_directive): Remove.
10997         (next_tokenrun): Update.
10998         (_cpp_lex_token): Clean up logic.
10999         (lex_token): Update to return a pointer to lexed token, since it
11000         can move to the start of the buffer.  Simpify newline handling.
11001         * cpplib.c (SEEN_EOL): Update.
11002         (skip_rest_of_line): Remove lookahead stuff.
11003         (end_directive): Line numbers are already incremented.  Revert
11004         to start of lexed token buffer if we can.
11005         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
11006         parse_answer): Use _cpp_backup_tokens.
11007         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
11008         instead.  Don't check for EOL.
11009         (do_include_common, do_line, do_pragma_system_header): Use
11010         skip_rest_of_line.
11011         * cpplib.h (BOL, _cpp_backup_tokens): New.
11012         * cppmacro.c (save_lookahead_token, take_lookahead_token,
11013         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
11014         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
11015         (builtin_macro): Don't use cpp_get_line.
11016         (cpp_get_line): Short term kludge.
11017         (parse_arg): Handle directives in arguments here.  Back up when
11018         appropriate.  Store EOF at end of argument list.
11019         (funlike_invocation_p): Use _cpp_backup_tokens.
11020         (push_arg_context): Account for EOF at end of list.
11021         (cpp_get_token): Remove lookahead stuff.  Update.
11022
11023 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11024
11025         * c-parse.in (yyerror): Const-ification and/or static-ization.
11026         * c-typeck.c (push_member_name): Likewise.
11027         * collect2.c (main): Likewise.
11028         * dbxout.c (dbxout_parms): Likewise.
11029         * diagnostic.c (format_with_decl): Likewise.
11030         * dwarf2out.c (output_ranges): Likewise.
11031         * dwarfout.c (fundamental_type_code): Likewise.
11032         * except.c (dw2_output_call_site_table): Likewise.
11033         * gcc.c (do_spec_1): Likewise.
11034         * genopinit.c (optabs): Likewise.
11035         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
11036         gen_declaration_1, handle_impent): Likewise.
11037         * protoize.c (default_include, in_system_include_dir, abspath):
11038         Likewise.
11039         * sched-vis.c (visualize_stall_cycles): Likewise.
11040         * sdbout.c (plain_type_1, sdbout_end_function,
11041         sdbout_end_epilogue): Likewise.
11042         * varasm.c (decode_reg_name): Likewise.
11043
11044         * 1750a.c (mod_regno_adjust): Likewise.
11045         * alpha.c (alpha_write_one_linkage,
11046         unicosmk_output_default_externs): Likewise.
11047         * arm.c (arm_condition_codes): Likewise.
11048         * arm.h (arm_condition_codes): Likewise.
11049         * avr.c (output_movsisf, encode_section_info): Likewise.
11050         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
11051         Likewise.
11052         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11053         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11054         * m88k.c (output_function_profiler): Likewise.
11055         * mips.c (mips_output_conditional_branch): Likewise.
11056         * ns32k.c (ns32k_out_reg_names): Likewise.
11057         * ns32k.h (ns32k_out_reg_names): Likewise.
11058         * pj.c (pj_output_rval): Likewise.
11059         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
11060         * sparc.c (sparc_flat_function_prologue,
11061         sparc_flat_function_epilogue): Likewise.
11062
11063 2001-09-13  Markus Werle <numerical.simulation@web.de>
11064             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11065
11066         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
11067         Aachen University of Technology".
11068
11069 2001-09-13  Andreas Schwab  <schwab@suse.de>
11070
11071         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
11072         C99.
11073
11074 2001-09-13  Richard Henderson  <rth@redhat.com>
11075
11076         * config/alpha/alpha.c (small_symbolic_operand): New.
11077         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
11078         (some_operand, input_operand): Don't handle HIGH.
11079         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
11080         (alpha_expand_mov): Likewise.
11081         (print_operand) [H]: Just print HIGH symbol.
11082         (print_operand_address): Handle small data.
11083         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
11084         (TARGET_SWITCHES): Add -msmall-data/large-data.
11085         (PIC_OFFSET_TABLE_REGNUM): New.
11086         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
11087         (PREDICATE_COES): Update.
11088         * config/alpha/alpha.md (adddi_er_high): New.
11089         (adddi_er_low): Handle small data.
11090         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
11091         prefer .sdata to .rodata.
11092         (SELECT_RTX_SECTION): Likewise.
11093
11094 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
11095
11096         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
11097         defining __size_t and leaving size_t undefined.
11098
11099 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
11100
11101         * basic-block.h (expunge_block): Declare.
11102         * cfg.c (expunge_block): Remove static declaration.
11103
11104 2001-09-12  Richard Henderson  <rth@redhat.com>
11105
11106         * integrate.c (copy_insn_list): Copy label name from
11107         NOTE_INSN_DELETED_LABEL.
11108
11109 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11110
11111         * c-common.c (c_tree_code_name): Const-ification.
11112         * c-decl.c (c_decode_option): Likewise.
11113         * c-typeck.c (warn_for_assignment): Likewise.
11114         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
11115         Likewise.
11116         * cppinit.c (output_deps): Likewise.
11117         * dependence.c (dependence_string, direction_string): Likewise.
11118         * dwarf2out.c (output_ranges): Likewise.
11119         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
11120         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
11121         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
11122         standard_startfile_prefix, standard_startfile_prefix_1,
11123         standard_startfile_prefix_2, tooldir_base_prefix,
11124         standard_bindir_prefix, find_a_file): Likewise.
11125         * genattrtab.c (make_length_attrs): Likewise.
11126         * gencheck.c (tree_codes): Likewise.
11127         * genemit.c (gen_split): Likewise.
11128         * genrecog.c (special_mode_pred_table): Likewise.
11129         * graph.c (graph_ext): Likewise.
11130         * protoize (default_include): Likewise.
11131         * reload.c (reload_when_needed_name): Likewise.
11132         * sched-vis.c (visualize_stall_cycles): Likewise.
11133         * tlink.c (recompile_files): Likewise.
11134         * toplev.c (decode_g_option): Likewise.
11135         * tradcpp.c (output_deps): Likewise.
11136         * varasm.c (decode_reg_name): Likewise.
11137
11138         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
11139         Const-ification.
11140         * arm.md: Likewise.
11141         * avr.c (avr_regnames, encode_section_info): Likewise.
11142         * c4x.c (float_reg_names): Likewise.
11143         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
11144         * elfos.h (const_section): Likewise.
11145         * i386.c (ix86_comp_type_attributes): Likewise.
11146         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
11147         * ia64/aix.h (UNIQUE_SECTION): Likewise.
11148         * ia64.c (type_names): Likewise.
11149         * m68hc11.c (reg_class_names): Likewise.
11150         * m88k.c (m_options): Likewise.
11151         * mips.c (mips_output_conditional_branch, mips_unique_section):
11152         Likewise.
11153         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11154         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
11155         ultra_code_names): Likewise.
11156         * sparc.h (OVERRIDE_OPTIONS): Likewise.
11157
11158 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
11159
11160         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
11161         Use --fatal-warnings option for gas.
11162         * configure: Rebuilt.
11163
11164 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11165
11166         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
11167
11168 2001-09-11  Jim Wilson  <wilson@redhat.com>
11169
11170         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
11171
11172 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11173
11174         * builtins.c (c_strlen): Treat an offset too large for a
11175         HOST_WIDE_INT as out of range.
11176
11177 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
11178
11179         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
11180         (EDGE_CRITICAL_P): New predicate.
11181         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
11182         handling.
11183         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
11184         (dump_edge_info): Remove "crit".
11185         * cfganal.c (mark_critical_edges): Kill.
11186         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
11187         * cfgcleanup.c (cleanup_cfg): Likewise.
11188         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
11189         (find_spanning_tree): Likewise.
11190         * reg-stack.c (convert_regs_1): Likewise.
11191         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
11192
11193         * basic-block.h (create_basic_block_structure): New.
11194         (create_basic_block): Update prototype.
11195         (force_nonfallthru): New.
11196         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
11197         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
11198         handle updating of block_for_insn, creating of empty BBs and BBs at
11199         the end of INSN chain.
11200         (create_basic_block): New function.
11201         (split_block): Use create_basic_block.
11202         (force_nonfallthru_and_redirect): Break out from ...; cleanup
11203         (redirect_edge_and_branch_force): ... here.
11204         (force_nonfallthru): New.
11205         (split_edge): Rewrite to use force_nonfallthru and create_block.
11206         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
11207         (find_basic_blocks): Free basic_block_for_insn.
11208         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
11209
11210         * cfg.c: Fix formating.
11211         * cfgcleanup.c: Fix formating.
11212         (merge_blocks, tail_recursion_label_p): Return bool.
11213         (merge_blocks_move_predecessor_nojumps,
11214          merge_blocks_move_successor_nojumps): Return void.
11215
11216 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
11217
11218         * configure.in: Check whether assembler supports section merging.
11219         * config.in: Rebuilt.
11220         * configure: Rebuilt.
11221         * varasm.c (variable_section, output_constant_pool): Pass alignment
11222         to SELECT_SECTION and SELECT_RTX_SECTION.
11223         (mergeable_string_section): New.
11224         (mergeable_constant_section): New.
11225         (default_elf_asm_named_section): Output SECTION_MERGE and
11226         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11227         * output.h (mergeable_string_section): New.
11228         (mergeable_constant_section): New.
11229         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
11230         * toplev.c (flag_merge_constants): New.
11231         (f_options): Add -fmerge-constants and -fmerge-all-constants
11232         options.
11233         (toplev_main): Default to -fno-merge-constants if not optimizing.
11234         * flags.h (flag_merge_constants): Add extern.
11235         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11236         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11237         argument.
11238         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11239         Define if assembler has working .subsection -1 support.
11240         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11241         Put constant into special SHF_MERGE sections if the linker should
11242         attempt to merge duplicates.
11243         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11244         macro argument.
11245         Put constant into special SHF_MERGE sections if the linker should
11246         attempt to merge duplicates.
11247         * config/alpha/elf.h: Likewise.
11248         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11249         has working .subsection -1 support.
11250         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11251         SELECT_SECTION.
11252         * config/svr3.h: Likewise.
11253         * config/darwin.h: Likewise.
11254         * config/arm/aof.h: Likewise.
11255         * config/arm/linux-elf.h: Likewise.
11256         * config/avr/avr.h: Likewise.
11257         * config/c4x/c4x.h: Likewise.
11258         * config/d30v/d30v.h: Likewise.
11259         * config/i386/dgux.h: Likewise.
11260         * config/i386/osfrose.h: Likewise.
11261         * config/i386/sco5.h: Likewise.
11262         * config/i386/svr3gas.h: Likewise.
11263         * config/ia64/aix.h: Likewise.
11264         * config/m32r/m32r.h: Likewise.
11265         * config/m68k/m68k.h: Likewise.
11266         * config/m88k/dgux.h: Likewise.
11267         * config/m88k/m88k.h: Likewise.
11268         * config/mcore/mcore-pe.h: Likewise.
11269         * config/mips/mips.h: Likewise.
11270         * config/pa/pa.h: Likewise.
11271         * config/pa/pa-linux.h: Likewise.
11272         * config/romp/romp.h: Likewise.
11273         * config/rs6000/sysv4.h: Likewise.
11274         * config/rs6000/xcoff.h: Likewise.
11275         * config/s390/linux.h: Likewise.
11276         * config/sparc/sparc.h: Likewise.
11277         * config/sparc/sysv4.h: Likewise.
11278         * config/stormy16/stormy16.h: Likewise.
11279         * config/v850/v850.h: Likewise.
11280         * config/vax/vms.h: Likewise.
11281         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11282         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11283         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11284         default_elf_asm_named_section for SHF_MERGE sections.
11285
11286 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11287
11288         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11289         is OK.
11290
11291 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11292
11293         * c-common.c (split_specs_attrs): Allow for empty attributes with
11294         empty TREE_PURPOSE.  Fixes PR c/4294.
11295
11296 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11297
11298         * basic-block.h (cached_make_edge, make_single_succ): New.
11299         (make_edge): Remove first parameter.
11300         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11301         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11302         created edge; use obstack allocation.
11303         (make_edge, make_single_succ_edge): New.
11304         (first_removed_edge): New static variable.
11305         (init_flow): Initialize first_removed_edge and n_edges.
11306         (clear_edges): Use remove_edge.
11307         (flow_delete_block): Likewise.
11308         (remove_edge): Add removed edges to the removed edges list.
11309         (split_block, redirect_edge_and_branch_force, split_edge):
11310         Use make_edge.
11311         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11312         (add_noreturn_fake_exit_edges): Likewise.
11313         (connect_infinite_loops_to_exit): Liekwise.
11314         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11315         Use cached_make_edge.
11316         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11317         * profile.c (branch_prob): Update make_edge call.
11318         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11319
11320 2001-09-11  Richard Henderson  <rth@redhat.com>
11321
11322         * config/alpha/alpha.c: Tidy formatting.
11323         (local_symbolic_operand): Verify mode.
11324         (alpha_sa_mask): Ignore unicos for eh_return.
11325         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11326         * config/alpha/alpha.md (umk divsi patterns): Remove.
11327         (extendsfdf2): Remove unicos check.
11328         (tablejump): Merge vms and unicos code; always use direct set
11329         plus label_ref use.
11330
11331 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11332
11333         * config.gcc (alpha*-*-unicosmk*): New target.
11334
11335         * config/alpha/alpha-protos.h (symbolic_operand,
11336         unicosmk_add_call_info_word, unicosmk_add_extern,
11337         unicosmk_defer_case_vector, unicosmk_unique_section,
11338         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11339         unicosmk_asm_file_start, unicosmk_asm_file_end,
11340         unicosmk_output_common): Declare.
11341
11342         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11343         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11344         alpha_does_function_need_gp, alpha_end_function): Support Cray
11345         Unicos/Mk.
11346         (alpha_init_machine_status, alpha_mark_machine_status,
11347         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11348         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11349         unicosmk_asm_named_section, unicosmk_insert_attributes,
11350         unicosmk_section_type_flags, symbolic_operand,
11351         unicosmk_output_module_name, unicosmk_output_default_externs,
11352         unicosmk_output_dex, unicosmk_output_externs,
11353         unicosmk_output_addr_vec, unicosmk_ssib_name,
11354         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11355         unicosmk_asm_file_end, unicosmk_output_common,
11356         unicosmk_section_type_flags, unicosmk_unique_section,
11357         unicosmk_add_call_info_word, unicosmk_text_section,
11358         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11359         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11360         unicosmk_dex_count, unicosmk_special_name): New.
11361         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11362         TARGET_ABI_UNICOSMK.
11363         (get_aligned_mem, alpha_expand_unaligned_load,
11364         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11365         alpha_expand_unaligned_store_words): Support big-endian mode.
11366         (print_operand): Likewise. New format specifier 't'. Use
11367         TARGET_AS_SLASH_BEFORE_SUFFIX.
11368         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11369         (alpha_pv_save_size): Update with above change.
11370         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11371         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11372         Unicos/Mk.
11373
11374         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11375         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11376         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11377         (EXTRA_CONSTRAINT): New constraint 'U'.
11378         (PREDICATE_CODES): Add symbolic_operand.
11379
11380         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11381         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11382         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11383         (integer division and modulus patterns): Split in default and
11384         Unicos/Mk versions.
11385         (*divmodsi_internal, *divmoddi_internal): Disable for
11386         TARGET_ABI_UNICOSMK.
11387         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11388         little-endian and big-endian versions.
11389         (ext, ins, msk): Likewise.
11390         (extv, extzv, insv): Support big-endian mode.
11391         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11392         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11393         *tablejump_umk_internal, *call_value_umk): New.
11394         (*movdi_nofix): Add pattern for loading an address into a register on
11395         TARGET_ABI_UNICOSMK.
11396         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11397         (umk_mismatch_args, arg_home_umk): New.
11398         (various insns): Don't use mov, fmov, nop, fnop and unop.
11399         (realign): Support TARGET_ABI_UNICOSMK.
11400
11401         * config/alpha/unicosmk.h: New file.
11402         * config/alpha/t-unicosmk: New file.
11403
11404         * fixinc/inclhack.def (unicosmk_restrict): New.
11405         * fixinc/fixincl.x: Regenerate.
11406
11407         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11408         (wchar_t): Check for and define __WCHAR_T__.
11409
11410 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11411
11412         * combine.c (simplify_shift_const): Treat shifts by the mode
11413         size as undefined.
11414
11415 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11416
11417         * cpphash.h (struct tokenrun): New.
11418         (struct cpp_context): New member bol.
11419         (struct cpp_reader): New members.
11420         (_cpp_init_tokenrun): New.
11421         * cppinit.c (cpp_create_reader): Set up the token runs.
11422         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11423         (lex_token): New internalised version of _cpp_lex_token.  Don't
11424         handle directives or the multiple include optimization here any
11425         more.  Simply lex a token.
11426         * cpplib.c (run_directive): Clear bol.
11427         (_cpp_pop_buffer): Set bol.
11428         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11429         arguments.
11430
11431 2001-09-11  Michael Meissner  <meissner@redhat.com>
11432
11433         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11434         give an error if the user uses -mfp32.
11435         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11436         default options.
11437         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11438         floating point register size.
11439         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11440
11441         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11442         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11443         int_size_in_bytes.
11444         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11445         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11446
11447 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11448
11449         * dbxout.c (dbxout_parms): Fix typo in comment.
11450         * unroll.c (loop_find_equiv_value): Ditto.
11451         * toplev.c (rest_of_compilation): Ditto.
11452         * loop.c (scan_loop): Ditto.
11453         * dwarf2out.c (struct dw_fde_struct): Ditto.
11454
11455 2001-09-10  Zack Weinberg  <zackw@panix.com>
11456
11457         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11458         copying identifier when we're just going to throw it away.
11459         (parse_identifier_slow): New routine to handle abnormal cases.
11460         (_cpp_lex_token): Update call site.
11461
11462         * hashtable.c (ht_lookup): Don't assume that the string we've
11463         been given is NUL-terminated.
11464         * system.h: #define __builtin_expect(a, b) to (a) if not
11465         GCC >=3.0.
11466
11467 2001-09-10  Michael Meissner  <meissner@redhat.com>
11468
11469         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11470         binutils, gdb.
11471
11472 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11473
11474         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11475
11476 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11477
11478         * builtins.c (c_getstr): Correct thinko in last change and further
11479         cleanup.
11480
11481 2001-09-10  Tim Freeman <tim@fungibole.com>
11482
11483         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11484         into varray's and register them as roots with the garbage
11485         collector so they are not collected too soon.
11486
11487 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11488
11489         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11490         New.
11491         * basic-block.h (flow_obstack, label_value_list,
11492         tail_recursion_label_list): Declare
11493         (tidy_fallthru_edges): Declare.
11494         (expunge_block, last_loop_beg_note): Delete.
11495         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11496         * cfg.c: New file
11497         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11498         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11499         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11500         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11501         expunge_block, flow_delete_block, compute_bb_for_insn,
11502         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11503         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11504         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11505         try_redirect_by_replacing_jump, last_loop_beg_note,
11506         redirect_edge_and_branch, redirect_edge_and_branch_force,
11507         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11508         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11509         commit_edge_insertions, dump_flow_info, debug_flow_info,
11510         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11511         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11512         Move here from flow.c
11513         * cfganal.c: New file.
11514         (forwarder_block_p, can_fallthru, mark_critical_edges,
11515          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11516          find_unreachable_blocks, create_edge_list, free_edge_list,
11517          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11518          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11519          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11520          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11521          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11522          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
11523         Move here from flow.c
11524         * cfgbuild.c: New file
11525         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
11526          make_edges, find_basic_blocks_1, find_basic_blocks,
11527          find_sub_basic_blocks): Move here from flow.c
11528         * cfgcleanup.c: New file.
11529         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
11530          merge_blocks_move_predecessor_nojumps,
11531          merge_blocks_move_successor_nojumps, merge_blocks,
11532          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11533          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
11534         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
11535         if succeeded.
11536         * cfgloop.c: New file
11537         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
11538          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
11539          flow_loop_exit_edges_find, flow_loop_nodes_find,
11540          flow_loop_pre_header_scan, flow_loop_pre_header_find,
11541          flow_loop_tree_node_add, flow_loops_tree_build,
11542          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
11543          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
11544         Move here from flow.c
11545         * flow.c: Remove everything moved elsewhere
11546         * output.h (cleanup_cfg): Return bool.
11547
11548         * bb-reorder.c (reorder_block_def): Remove 'index'.
11549         (insert_intra_1): Add argument BB, set block for new note.
11550         (make_reorder_chain): Do not depdent on BB indexes.
11551         (make_reorder_chain_1): Do not use BB indexes.
11552         (label_for_bb): Likewise; set BB for new insn.
11553         (emit_jump_to_block_after): Likewise.
11554         (fixup_reorder_chain): Sanity check that all basic blocks
11555         are chained; verify newly created insn chain; remove
11556         undocnitional jump simplifying; Do not use BB indexes;
11557         properly initialize count and frequency information;
11558         dump reordered sequence.
11559         (insert_intra_bb_scope_notes): update call of insert_intra_1.
11560         (insert_inter_bb_scope_notes): Set block for new insn.
11561         (reorder_basic_blocks): Dump flow info before reoredering.
11562
11563 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11564
11565         * alias.c (clear_reg_alias_info): Use K&R format definition.
11566         Avoid unsigned warning.
11567         * builtins.c: Use "unsigned int", not "unsigned".
11568         (target_char_cast): Use host_integerp and tree_low_cst.
11569         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
11570         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
11571         (c_getstr): Likewise.
11572         (std_expand_builtin_va_arg): Use int_size_in_bytes.
11573         (builtin_memcpy_read_str): Avoid unsigned warning.
11574         (expand_builtin_memcpy): Alignments are unsigned.
11575         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
11576         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
11577         * predict.c (expensive_function_p): LIMIT now unsigned.
11578         * resource.c (mark_target_live_regs): Make some vars unsigned.
11579         * sdbout.c: Use "unsigned int", not "unsigned".
11580         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
11581         (sdbout_source_line): Likewise.
11582         (sdbout_record_type_name): Remove "const" for NAME declaration.
11583         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
11584
11585 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
11586
11587         * calls.c (store_one_arg): Expand comment.
11588
11589 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11590
11591         * calls.c (store_one_arg): Make sure that the entire argument is
11592         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
11593
11594 2001-09-09  Richard Henderson  <rth@redhat.com>
11595
11596         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
11597
11598 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
11599
11600         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
11601
11602 2001-09-09  Richard Henderson  <rth@redhat.com>
11603
11604         * config/alpha/alpha.c (alpha_next_sequence_number): New.
11605         (alpha_this_literal_sequence_number): New.
11606         (alpha_this_gpdisp_sequence_number): New.
11607         (some_operand, input_operand): Add HIGH.
11608         (local_symbolic_operand): New.
11609         (alpha_encode_section_info): New.
11610         (alpha_legitimate_address_p): Allow LO_SUM.
11611         (alpha_legitimize_address): Generate HIGH+LO_SUM.
11612         (alpha_expand_mov): Likewise.
11613         (secondary_reload_class): Check memory_operand not general_operand
11614         for FP_REGS test.
11615         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
11616         (alpha_expand_unaligned_store): Likewise.
11617         (alpha_expand_unaligned_load_words): Likewise.
11618         (alpha_expand_unaligned_store_words): Likewise.
11619         (alpha_expand_block_clear): Likewise.
11620         (print_operand): Handle %#, %*, %H.
11621         (print_operand_address): Handle LO_SUM.
11622         (find_lo_sum): New.
11623         (alpha_does_function_need_gp): Use it.
11624         (alpha_expand_block_move): Fix signed compare warnings.
11625         (alpha_sa_mask, alpha_align_insns): Likewise.
11626         * config/alpha/alpha-protos.h: Update.
11627         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
11628         (MASK_EXPLICIT_RELOCS): New.
11629         (TARGET_SWITCHES): Add -mexplicit-relocs.
11630         (EXTRA_CONSTRAINT): Add 'T'.
11631         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
11632         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
11633         (ENCODE_SECTION_INFO): Out line.
11634         (REDO_SECTION_INFO_P): New.
11635         (STRIP_NAME_ENCODING): New.
11636         (ASM_OUTPUT_LABELREF): New.
11637         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
11638         (PREDICATE_CODES): Update.
11639         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
11640         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
11641         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
11642         builtin_setjmp_receiver_er, exception_receiver_1_er,
11643         call_value_osf_1_er): New patterns.
11644         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
11645         (movqi, movhi, movsi): Add explicit $31 base register to lda.
11646         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
11647         (FINAL_PRESCAN_INSN): New.
11648
11649 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
11650
11651         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
11652
11653 2001-09-08  Andreas Jaeger  <aj@suse.de>
11654
11655         * i386.h (TARGET_SWITCHES): Fix description.
11656
11657 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
11658
11659         * rs6000.c (num_insns_constant): Compute number of instructions
11660         more accurately.
11661
11662         * doc/install.texi: Explain AIX exception handling work-around.
11663         Update URL for AIX fixes.
11664
11665 2001-09-07  Jim Wilson  <wilson@redhat.com>
11666
11667         * alias.c (clear_reg_alias_info): New.
11668         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
11669         * rtl.h (clear_reg_alias_info): Declare.
11670
11671 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11672
11673         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
11674         available.
11675         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
11676         (m16m,edivm,emulm): Change declaration to match definition.
11677
11678 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
11679
11680         * reload.c (push_reload): Check for subreg_lowpart_p instead of
11681         SUBREG_BYTE being 0 when determining if the inner part of a subreg
11682         can be reloaded.
11683
11684 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11685
11686         * c-common.c (signed_or_unsigned_type): Handle machine mode types
11687         which have no corresponding C type.
11688         * fold_const.c (target_isinf,target_isnan,target_negative): Update
11689         the representation of 64-bit doubles to work with 64-bit ints.
11690
11691 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
11692
11693         * config/mips/mips.c (override_options): Do not override ISA when ABI
11694         specified if MIPS_CPU_STRING_DEFAULT was specified.
11695
11696 2001-09-07  Richard Henderson  <rth@redhat.com>
11697
11698         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
11699         (express_from_1): Wrap lines.
11700         * rtlanal.c (commutative_operand_precedence): Rename from
11701         operand_preference; export.
11702         * rtl.h: Declare it.
11703         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
11704         (simplify_binary_operation): Invoke simplify_plus_minus on
11705         (CONST (PLUS ...)) as well.
11706         (struct simplify_plus_minus_op_data): New.
11707         (simplify_plus_minus_op_data_cmp): New.
11708         (simplify_plus_minus): Use them.  Avoid infinite recursion with
11709         simplify_binary_operation wrt CONST.
11710
11711 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
11712
11713         * h8300-protos.h (general_operand_dst_push): Remove.
11714         * h8300.c (general_operand_dst_push): Likewise.
11715         * h8300.h (OK_FOR_T): Likewise.
11716         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
11717         * h8300.md (pushqi_h8300): New.
11718         (pushqi_h8300hs): Likewise.
11719         (pushqi): Likewise.
11720         (pushhi_h8300): Likewise.
11721         (pushhi_h8300hs): Likewise.
11722         (pushhi): Likewise.
11723
11724 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11725
11726         * genattrtab.c (attr_printf): First arg is unsigned.
11727         Clean up formatting of callers.
11728
11729 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
11730
11731         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
11732         registers.
11733
11734 2001-09-07  Andreas Jaeger  <aj@suse.de>
11735
11736         * i386.h (TARGET_SWITCHES): Fix descriptions.
11737
11738 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11739
11740         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
11741
11742 2001-09-06  Ira Ruben  <ira@apple.com>
11743
11744         Remove OP_IDENTIFIER.
11745         * tree.def (OP_IDENTIFIER): Remove.
11746         * tree.c (tree_node_kind enum): Remove op_id_kind.
11747         (tree_node_kind_names): Remove "op_identifiers".
11748         (make_node): Remove OP_IDENTIFIER test.
11749         (build_op_identifier): Removed because it isn't being used.
11750         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
11751         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
11752
11753 2001-09-06  Richard Henderson  <rth@redhat.com>
11754
11755         * simplify-rtx.c (simplify_binary_operation): Revert last change.
11756
11757 2001-09-06  Richard Henderson  <rth@redhat.com>
11758
11759         * simplify-rtx.c (simplify_binary_operation): Simplify contents
11760         of CONST.
11761
11762 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11763
11764         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
11765         number used for CR register.
11766
11767 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11768                           Joern Rennecke (amylaar@cygnus.com)
11769
11770         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
11771         * h8300.c (initial_offset): Handle offset between RP and FP.
11772         (h8300_return_addr_rtx): New function.
11773         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
11774         return register.
11775         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
11776         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11777         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
11778         (CAN_ELIMINATE, REGISTER_NAMES):
11779         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
11780
11781 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
11782
11783         Remove TYPE_NONCOPIED_PARTS.
11784         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
11785         (struct tree_type): Remove noncopied_parts.
11786         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
11787         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
11788         (fixed_type_p): Remove.
11789         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
11790         (expand_expr, MODIFY_EXPR): Likewise.
11791         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
11792         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
11793
11794 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
11795
11796         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
11797         compiler warnings.
11798         (mask64_operand): Likewise.
11799         (includes_rldic_lshift_p): Likewise.
11800         (includes_rldicr_lshift_p): Likewise.
11801
11802 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
11803
11804         * objc/objc-act.c (build_message_expr): If a class method cannot
11805         be found, do not issue a warning if a corresponding instance
11806         method exists in the root class.
11807
11808 2001-09-05  Richard Henderson  <rth@redhat.com>
11809
11810         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
11811
11812 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
11813
11814         * function.c (ggc_mark_struct_function): Mark f->outer.
11815         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
11816         * integrate.c (output_inline_function): ... not here.
11817
11818 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11819
11820         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
11821
11822         * i386.c (size_cost): New static variable.
11823         (override_function): Use size_cost when -Os is specified.
11824
11825         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
11826         properly;  Use current_function_calls_eh_return.
11827         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
11828         use leave to avoid dependency chain.
11829
11830         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
11831         get BB loop_depth instead of computing it from LOOP notes.
11832
11833         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
11834
11835 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11836
11837         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11838         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11839         UNALIGNED_DOUBLE_INT_ASM_OP): Define
11840
11841 2001-09-05  Jeffrey A Law  (law@cygnus.com)
11842             Jason Merrill (jason@redhat.com)
11843
11844         * stor-layout.c (layout_type): Complain if an array's size can
11845         not be represented in a size_t.
11846
11847         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
11848
11849 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
11850
11851         * gcc.c: (process_command) Add parentheses around assignment
11852         used as truth value.
11853
11854 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11855
11856         * config/mips/mips.c (save_restore_insns): Don't mark any register
11857         save slots as unchanging if current_function_calls_eh_return.
11858
11859 2001-09-05  Richard Henderson  <rth@redhat.com>
11860
11861         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
11862         * config/alpha/alpha-protos.h: Declare it.
11863         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
11864         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
11865         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
11866         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
11867         (REG_OK_FOR_BASE_P): Select one of the above.
11868
11869 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11870
11871         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
11872         (crti.o): Prefix name of object file with $(T).
11873         (crtn.o): Likewise.
11874
11875 2001-09-05  David S. Miller  <davem@redhat.com>
11876
11877         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11878         * config/sparc/linux64.h: Likewise.
11879
11880 2001-09-05  Andreas Jaeger  <aj@suse.de>
11881
11882         * doc/invoke.texi (i386 Options): -mwide-multiply is not
11883         available anymore, remove the documentation.
11884         (i386 Options): Fix typo, cleanup index entries.
11885
11886         * prefix.c (concat): Remove, we can use the version from liberty.
11887
11888 2001-09-05  Richard Henderson  <rth@redhat.com>
11889
11890         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
11891         New functions split out of md file expanders.
11892         * config/alpha/alpha-protos.h: Declare them.
11893         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
11894
11895 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11896
11897         * cppmacro.c (funlike_invocation_p): No need to restore context.
11898
11899 2001-09-04  Richard Henderson  <rth@redhat.com>
11900
11901         * reload.c (push_reload): Export.
11902         * reload.h (push_reload): Declare it.
11903
11904         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
11905         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11906         * config/alpha/alpha.c (alpha_legitimize_address): New.
11907         (alpha_legitimize_reload_address): Likewise.
11908         * config/alpha/alpha-protos.h: Declare them.
11909
11910 2001-09-04  Stan Shebs  <shebs@apple.com>
11911
11912         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
11913         * config/darwin.c (machopic_stub_name): Account for internally
11914         generated lib calls such as memcpy.
11915
11916 2001-09-04  Richard Henderson  <rth@redhat.com>
11917
11918         * unwind.h (_UA_END_OF_STACK): New flag.
11919         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
11920
11921 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11922
11923         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
11924
11925 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
11926
11927         * config/mips/mips.c (save_restore_insns): Change base_offset to
11928         fp_offset in second call to mips_emit_frame_related_store.
11929
11930 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
11931
11932         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
11933         sometimes be represented as a NOTE of type
11934         NOTE_INSN_DELETED_LABEL.
11935         (Insns): Document NOTE_INSN_DELETED_LABEL.
11936
11937 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
11938
11939         * c-common.h (tree_dump_index): Add more comments.
11940         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
11941         (dump_option_value_info): New struct.
11942         (dump_options): New array.
11943         (dump_switch_p): Parse switch options symbolically.
11944         * doc/invoke.texi (-fdump-ast): Rename to ...
11945         (-fdump-tree): ... here. Document that options are symbolic, and
11946         not all are applicable.
11947
11948 2001-09-04  David S. Miller  <davem@redhat.com>
11949
11950         * config/sparc/sparc.md (define_splits): Kill constraints.
11951
11952         Cleanup redundant and unused insn attributes.
11953         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
11954         binary, and move.  Mark ialu as default.
11955         (commented out define_function_unit "alu"): Kill.
11956         (define_attr "use_clobbered"): Kill.
11957         (whole file): Kill address insn type references.  Replace
11958         all unary/binary/move references with ialu.
11959         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
11960         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
11961         TYPE_IALU.
11962
11963         Simplify length insn attribute and make more judicious use
11964         of insn attribute defaulting.
11965         * config/sparc/sparc.md (all insns with length > one): Mark as
11966         insn type multi if real instructions, else use default if
11967         it is a forced splitter.
11968         (all insns with length == one): Use default insn length.
11969         (all insns of type ialu): Use default insn type.
11970
11971         Fix erroneous insn attribute settings.
11972         (addx): Set insn type to misc.
11973         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
11974         const_umulsidi3_sp64): Set insn type to imul.
11975
11976         Track SFmode vs DFmode insns according to UltraSPARC
11977         scheduling rules.
11978         * config/sparc/sparc.md ("fptype"): New attribute, default
11979         to "single".
11980         (all DFmode single insns): Mark as fptype "double".
11981
11982 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
11983
11984         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
11985
11986 2001-09-03  Richard Henderson  <rth@redhat.com>
11987
11988         * function.h (struct function): Add arg_pointer_save_area_init.
11989         * function.c (expand_function_end): Init arg_pointer_save_area.
11990         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
11991         when called from a nested function.
11992
11993 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
11994
11995         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
11996         is enabled.
11997
11998 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11999
12000         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
12001
12002 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
12003
12004         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
12005         (emit_push_insn): Use specified padding direction when
12006         STACK_PUSH_CODE is POST_INC.
12007
12008         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
12009
12010 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12011
12012         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
12013
12014 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
12015
12016         * cppinit.c (cpp_start_read): Free the imacros list as we
12017         traverse it.  Don't free the chains before returning.
12018         (_cpp_push_next_buffer): Only try pushing buffers if we've
12019         completed -imacros handling.
12020
12021 2001-08-31  Eric Christopher  <echristo@redhat.com>
12022
12023         * gcc.c (handle_braces): Add explaination for abort.
12024
12025 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
12026
12027         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
12028         move adjustment of bitpos instead.
12029
12030 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
12031
12032         * function.c: Remove all_functions.  Make outer_function_chain
12033         static.
12034         (init_function_start): Don't add new function structure to
12035         all_functions.
12036         (find_function_data, push_function_context_to,
12037         pop_function_context_from, put_var_into_stack,
12038         trampoline_address): Update for changed structure element names.
12039         (push_function_context_to): Disentangle.
12040         (free_after_compilation): Also free F.
12041         (expand_dummy_function_end): Don't free cfun here.
12042         (put_var_into_stack): Comment why we can't use find_function_data here.
12043         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
12044         (mark_function_chain): Split into maybe_mark_struct_function and
12045         ggc_mark_struct_function.  Export the latter.
12046         (init_function_once): Mark from cfun and outer_function_chain;
12047         not all_functions.
12048
12049         * function.h (struct function): Kill next_global.  Rename next
12050         to outer.  All users updated to match.
12051         (all_functions, outer_function_chain): Don't declare.
12052
12053         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
12054         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
12055         don't touch f->inlinable, after calling rest_of_compilation.
12056
12057         * tree.h: Forward-declare struct function.  Prototype
12058         ggc_mark_struct_function.
12059
12060 2001-08-31  Kazu Hirata  <kazu@hxi.com>
12061
12062         * config/h8300/h8300.md (*andorhi3): Fix typos.
12063
12064 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12065
12066         * calls.c (emit_library_call_value): Don't use a fixed
12067         argument after VA_CLOSE, i.e. out of scope in traditional C.
12068
12069         * emit-rtl.c (gen_rtvec): Likewise.
12070
12071 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12072
12073         * Makefile.in (c-pragma.o): Depend on output.h.
12074         (reorg.o): Depend on except.h.
12075
12076         * c-pragma.c: Include output.h.
12077
12078         * reorg.c: Include except.h.
12079
12080         * unwind-dw2.c: Call __builtin_alloca, not alloca.
12081
12082 2001-08-31  Richard Henderson  <rth@redhat.com>
12083
12084         * sched-deps.c (add_dependence): Don't elide dependency if the
12085         conditional used by insn is modified in elem.
12086
12087 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
12088
12089         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
12090
12091 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
12092
12093         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
12094         dump_switch_p.
12095
12096 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12097
12098         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
12099         function.
12100         (stormy16_asm_out_constructor): New function.
12101         (TARGET_ASM_CONSTRUCTOR): Define.
12102         (TARGET_ASM_DESTRUCTOR): Define.
12103
12104 2001-08-31  Andreas Jaeger  <aj@suse.de>
12105
12106         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
12107         * loop.c (add_label_notes): Likewise.
12108         * reload.c (find_reloads): Likewise.
12109         * config/sh/sh.c (machine_dependent_reorg): Likewise.
12110
12111 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
12112
12113         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
12114         code here.  Take _Unwind_{W,Sw}ord*.
12115         (read_encoded_value_with_base): Use them.
12116         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
12117         words.
12118         (extract_cie_info): Simplify read_?leb128 handling.
12119         (execute_stack_op, execute_cfa_program): Likewise.
12120         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
12121
12122 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12123
12124         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
12125         the frame pointer to pop the stack if convenient.
12126
12127         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
12128         Don't use post-increment before combine.
12129         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
12130         a call-saved register.
12131
12132 2001-08-31  Andreas Jaeger  <aj@suse.de>
12133
12134         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
12135         code was correct.
12136
12137 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
12138
12139         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
12140         not DIV/MOD, of course.
12141
12142 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
12143
12144         * rtl.def: Undo my patch commited 2001-08-27.
12145
12146         * genattrtab.c: Ditto.
12147
12148         * rtl.h: Ditto.
12149
12150         * sched-int.h: Ditto.
12151
12152         * target-def.h: Ditto.
12153
12154         * target.h: Ditto.
12155
12156         * haifa-sched.c: Ditto.
12157
12158         * sched-rgn.c: Ditto.
12159
12160         * sched-vis.c: Ditto.
12161
12162         * Makefile.in: Ditto.
12163
12164         * doc/md.texi: Ditto.
12165
12166         * doc/tm.texi: Ditto.
12167
12168         * doc/contrib.texi: Ditto.
12169
12170         * doc/gcc.texi: Ditto.
12171
12172         * genattrtab.h: Remove it.
12173
12174         * genautomata.c: Remove it.
12175
12176         * genattr.c: Undo my patch and Richard Henderson's patch commited
12177         2001-08-27.
12178
12179 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
12180
12181         * config.gcc (h8300-*-elf*): New case.
12182         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
12183         (SUBTARGET_CPP_SPEC): Define.
12184         (EXTRA_SPECS): Define.
12185         (SUBTARGET_EXTRA_SPECS): Define.
12186         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
12187         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
12188
12189 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
12190
12191         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
12192         (LIB2FUNCS_EXTRA): Define.
12193         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
12194         config/h8300/fixunssfsi.c: New file.
12195
12196 2001-08-30  Kazu Hirata  <kazu@hxi.com>
12197
12198         * config/h8300/h8300.md (zero_extendqihi2): Changes to
12199         define_expand to accommodate target-specific attributes.
12200         (anonymous zero_extendqihi2 patterns): New.
12201
12202 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
12203
12204         * h8300.md (*andorhi3): New pattern.
12205
12206 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
12207
12208         * h8300.c (dosize): Fix test for "sub".
12209
12210 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
12211
12212         * c-typeck.c (pointer_diff): Try to eliminate common term before
12213         doing conversions.
12214
12215 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
12216
12217         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12218         Account for the saves of the FP registers.
12219
12220         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
12221         (TEXT_SECTION_ASM_OP): Define.
12222         (INIT_SECTION_ASM_OP): Define.
12223         (FINI_SECTION_ASM_OP): Define.
12224         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
12225         (RDATA_SECTION_FUNCITON): Provide prototype.
12226
12227 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
12228
12229         * reload1.c (move2add_note_store): Correct typo checking for
12230         argument pushes.
12231
12232 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
12233
12234         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
12235         note should not be considered outside the libcall block.
12236
12237 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12238
12239         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12240
12241 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12242
12243         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12244
12245 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12246
12247         * config/h8300/h8300-protos.h: Add a prototype for
12248         emit_logical_op.
12249         * config/h8300/h8300.c (emit_logical_op): New.
12250         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12251         (andsi3): Likewise.
12252         (iorhi3): Likewise.
12253         (iorsi3): Likewise.
12254         (xorhi3): Likewise.
12255         (xorsi3): Likewise.
12256
12257 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12258
12259         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12260         comparison with rtx INTVAL.
12261         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12262         expression.
12263         * pa.h (FUNCTION_ARG_SIZE): Likewise.
12264
12265 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12266
12267         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
12268         comment typos.
12269
12270 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12271
12272         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12273         (reg n) to (mem (pre_dec (reg n))
12274         (anonymous movsi pattern): Likewise.
12275
12276 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12277
12278         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12279
12280 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12281
12282         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12283         several special constants.
12284
12285 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12286
12287         * config/h8300/lib1funcs.asm: Fix comment typos.
12288
12289 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12290
12291         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12292         Fix format specifier warnings.
12293
12294         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12295         inet_makeaddr, semctl): Prototype.
12296
12297         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12298         (save_restore_insns): Use base_offset, not gp_offset.
12299
12300         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12301         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12302
12303 2001-08-29  Richard Henderson  <rth@redhat.com>
12304
12305         * bb-reorder.c (function_tail_eff_head): New.
12306         (record_effective_endpoints): Set it.
12307         (fixup_reorder_chain): Use it.
12308
12309 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12310
12311         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12312
12313 2001-08-28  Dale Johannesen  <dalej@apple.com>
12314
12315         * config/darwin.c (machopic_function_base_name): Add const
12316         qualifier to a string.
12317         (darwin_encode_section_info): Ditto.
12318
12319 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12320
12321         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12322         function definition.
12323
12324 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12325
12326         * df.h (struct df): Add rts_order variable.
12327
12328         * df.c (df_visit_next_rts): New function.
12329         (df_visit_next): Renamed to df_visit_next_rc
12330         (df_analyse_1): Allocate/compute/free rts_order as well.
12331         (df_rd_global_compute): Use df_visit_next_rc instead of
12332         df_visit_next.
12333         (df_ru_global_compute): Use df_visit_next_rts instead of
12334         df_visit_next.
12335
12336         * flow.c (flow_reverse_top_sort_order_compute): New function.
12337
12338         * basic-block.h: Add prototype.
12339
12340 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12341
12342         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12343         blocks, the BB_REACHABLE is now set, rather than aux being
12344         non-NULL. Update the test to reflect this.
12345
12346 2001-08-28  Eric Christopher  <echristo@redhat.com>
12347
12348         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12349         config/mips/crti.asm: Ditto.
12350
12351 2001-08-28  Eric Christopher <echristo@redhat.com>
12352             Richard Henderson <rth@redhat.com>
12353
12354         * c-pragma.h (add_weak): Move prototype from here...
12355         * output.h (add_weak): ... to here.
12356         * varasm.c (add_weak): Fix typo.
12357         * config/mips/crti.asm: New file.
12358         * config/mips/crtn.asm: Ditto.
12359         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12360         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12361         (INVOKE__main): Ditto.
12362         (INIT_SECTION_ASM_OP): New.
12363         (FINI_SECTION_ASM_OP): Ditto.
12364         (STARTFILE_SPEC): Add crti.
12365         (ENDFILE_SPEC): Add crtn.
12366         * config/mips/elf64.h: Same.
12367         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12368         Remove.
12369         * config/mips/vxworks.h: Ditto.
12370         * config/mips/t-elf: Support crti and crtn.
12371
12372 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12373
12374         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12375         INSN_LIST.
12376
12377 2001-08-28  Richard Henderson  <rth@redhat.com>
12378
12379         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12380         (one_cmplbi2 splitter): Remove redundant test.
12381
12382 2001-08-28  Dale Johannesen  <dalej@apple.com>
12383
12384         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12385
12386 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12387
12388         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12389
12390 2001-08-28  Stan Shebs  <shebs@apple.com>
12391
12392         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12393         (UNALIGNED_SHORT_ASM_OP): Define.
12394         (UNALIGNED_INT_ASM_OP): Define.
12395
12396 2001-08-28  Will Cohen  <wcohen@redhat.com>
12397
12398         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12399         generation for first set.
12400
12401 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12402
12403         * flow.c (redirect_edge_succ_nodup): Return new edge.
12404         (try_simplify_condjump): Use new edge.
12405         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12406
12407         * cse.c (cse_basic_block): Skip note instructions.
12408
12409 2001-08-27  Richard Henderson  <rth@redhat.com>
12410
12411         * combine.c (combine_simplify_rtx): Don't reverse condition
12412         if there is no reverse for the condition.
12413         (simplify_comparison): Don't simplify subregs from INT to FP.
12414
12415         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12416         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12417         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12418         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12419         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12420         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12421
12422 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12423
12424         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12425         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12426         (pushqi1): New.
12427         (adddi_dilshr32, adddi_dishl32): Only data register can be
12428         source for mem destination.
12429
12430         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12431         and use bitnum to decide about register move.
12432
12433 2001-08-27  Richard Henderson  <rth@redhat.com>
12434
12435         * genattr.c (main): Emit state_t even when not doing scheduling.
12436
12437 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12438             Richard Henderson  <rth@redhat.com>
12439
12440         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12441         (reg_avail_info, current_bb): ... these.
12442         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12443         (compute_hash_table): Likewise.
12444
12445 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12446
12447         * flow.c (verify_flow_info): Use checksums to verify edges.
12448
12449 2001-08-27  Richard Henderson  <rth@redhat.com>
12450
12451         * genautomata.c (expand_automata): Always create a description.
12452
12453 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12454
12455         * optabs.c (expand_binop): Correctly handle the carry in multiword
12456         add/subtract operations.
12457
12458 2001-08-27  Fred Fish  <fnf@be.com>
12459
12460         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12461         __SIZE_TYPE__.
12462
12463 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12464
12465         * reload.c (find_reloads_toplev): Back out this change:
12466
12467         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12468
12469         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12470         mem if the address is a mode_dependent_address_p.
12471
12472 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12473
12474         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12475         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12476         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12477         RTL constructions.
12478
12479         * genattr.c (main): New variable num_insn_reservations.  Increase
12480         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12481         pipeline hazard recognizer interface.
12482
12483         * genattrtab.h: New file.
12484
12485         * genattrtab.c: Include genattrtab.h.
12486         (attr_printf, check_attr_test, make_internal_attr,
12487         make_numeric_value): Move protypes into genattrtab.h.  Define them
12488         as external.
12489         (num_dfa_decls): New global variable.
12490         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12491         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12492         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12493         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12494
12495         * genautomata.c: New file.
12496
12497         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12498
12499         * sched-int.h: (curr_state): Add the external definition for
12500         automaton pipeline interface.
12501         (haifa_insn_data): Add comments for members blockage and units.
12502
12503         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12504         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12505         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12506         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12507         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12508         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12509         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12510         macros.
12511         (TARGET_SCHED): Use the new macros.
12512
12513         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12514         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12515         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12516         dfa_bubble): New members in gcc_target.sched.
12517
12518         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12519         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12520         (insn_queue): Redefine it as pointer to array.
12521         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12522         INSN_QUEUE_SIZE.
12523         (max_insn_queue_index_macro_value): New variable.
12524         (curr_state, dfa_state_size, ready_try): New varaibles for
12525         automaton interface.
12526         (ready_element, ready_remove, max_issue): New function prototypes
12527         for automaton interface.
12528         (choose_ready): New function prototype.
12529         (insn_unit, blockage_range): Add comments.
12530         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12531         FUNCTION_UNITS_SIZE == 0.
12532         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12533         actual_hazard, potential_hazard): Add comments.
12534         (insn_cost): Use cost -1 as undefined value.  Remove
12535         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
12536         pipeline interface.
12537         (ready_element, ready_remove): New functions for automaton
12538         interface.
12539         (schedule_insn): Add new code for automaton pipeline interface.
12540         (queue_to_ready): Add new code for automaton pipeline interface.
12541         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12542         (debug_ready_list): Print newline when the queue is empty.
12543         (max_issue): New function for automaton pipeline interface.
12544         (choose_ready): New function.
12545         (schedule_block): Add new code for automaton pipeline interface.
12546         Print ready list before scheduling each insn.
12547         (sched_init): Add new code for automaton pipeline interface.
12548         Initiate insn cost by -1.
12549         (sched_finish): Free the current automaton state and finalize
12550         automaton pipeline interface.
12551
12552         * sched-rgn.c: Include target.h.
12553         (init_ready_list, new_ready, debug_dependencies): Add new code for
12554         automaton pipeline interface.
12555
12556         * sched-vis.c: Include target.h.
12557         (get_visual_tbl_length): Add code for automaton interface.
12558         (target_units, print_block_visualization):  Add comments.
12559
12560         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
12561         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12562         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12563         (getruntime.o, genautomata.o): New entries.
12564         (genattrtab.o): Add new dependency file genattrtab.h.
12565         (genattrtab): Add new dependencies.  Link it with `libm.a'.
12566         (getruntime.o, hashtab.o): New entries for canadian cross.
12567
12568         * doc/md.texi: Description of automaton based model.
12569
12570         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12571         Add comments.
12572         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12573         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12574         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12575         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12576         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12577         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12578         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12579         hook descriptions.
12580         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12581         MAX_DFA_ISSUE_RATE): New macro descriptions.
12582
12583         * doc/contrib.texi: Add dfa based scheduler contribution.
12584
12585         * doc/gcc.texi: Add more information about genattrtab.
12586
12587 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
12588
12589         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
12590         an RTL basic block.
12591
12592 2001-08-27  Richard Henderson  <rth@redhat.com>
12593
12594         * function.c (expand_function_end): Don't init arg_pointer_save_area.
12595         (get_arg_pointer_save_area): New.  Create an init it here.
12596         (fix_lexical_addr): Use it.
12597         * function.h: Declare it.
12598         * builtins.c (expand_builtin_setjmp_receiver): Use it.
12599         * stmt.c (expand_nl_goto_receiver): Use it.
12600
12601 2001-08-27  Richard Henderson  <rth@redhat.com>
12602
12603         * final.c (final_scan_insn): Don't enter APP_ON mode for
12604         empty asm strings.
12605
12606         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
12607         alignment for assemble_integer for DW_EH_PE_aligned.
12608         * except.c (output_function_exception_table): Likewise.
12609
12610 2001-08-26  Andreas Jaeger  <aj@suse.de>
12611
12612         * c-tree.h: Add prototyp for c_sizeof_nowarn.
12613
12614 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
12615
12616         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
12617
12618 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
12619
12620         * config/rs6000/rs6000.c (mask_operand): Rewrite without
12621         bit-shifting loop.
12622         (mask64_operand): Likewise.
12623         (rldic_operand): Delete.
12624         (includes_lshift64_p): Delete.
12625         (includes_rldic_lshift_p): New function.
12626         (includes_rldicr_lshift_p): New function.
12627         (print_operand): Don't call rldic_operand in case 'W'.
12628         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
12629         (includes_lshift64_p): Remove.
12630         (includes_rldic_lshift_p): Declare.
12631         (includes_rldicr_lshift_p): Declare.
12632         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
12633         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
12634         Replace match_operand rldic_operand predicate with
12635         const_int_operand.  Replace includes_lshift64_p condition with
12636         includes_rldic_lshift_p.
12637         <ashldi3_internal 64 bit rldicr patterns>: New.
12638
12639 2001-08-27  Andreas Jaeger  <aj@suse.de>
12640
12641         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12642         * errors.c: Likewise.
12643         * final.c: Likewise.
12644         * dwarf2asm.c: Likewise.
12645         * doprint.c (checkit): Likewise.
12646         * diagnostic.c: Likewise.
12647         * collect2.c: Likewise.
12648         * calls.c: Likewise.
12649         * c-semantics.c (build_stmt): Likewise.
12650         * c-format.c (status_warning): Likewise.
12651         * c-errors.c (pedwarn_c99): Likewise.
12652         * builtins.c (validate_arglist): Likewise.
12653         * config/pj/pj.c (pj_printf): Likewise.
12654         * fix-header.c: Likewise.
12655         * gcc.c: Likewise.
12656         * gcov.c (fnotice): Likewise.
12657         * gensupport.c (message_with_line): Likewise.
12658         * mips-tfile.c: Likewise.
12659         * protoize.c (notice): Likewise.
12660         * read-rtl.c (fatal_with_file_and_line): Likewise.
12661         * rtl-error.c: Likewise.
12662         * tradcpp.c: Likewise.
12663         * tree.c: Likewise.
12664         * cp/tree.c (build_min_nt): Likewise.
12665         (build_min): Likewise.
12666         * cp/lex.c: Likewise.
12667         * cp/errfn.c: Likewise.
12668         * cp/rtti.c (create_pseudo_type_info): Likewise.
12669
12670 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
12671
12672         * df.c (df_uses_record): Return after recording all uses
12673         in ASM_OPERANDS.
12674
12675 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
12676
12677         * df.c (df_insn_modify): Realloc the INSN table here, if
12678         necessary, here, too.
12679
12680 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
12681
12682         * config/mips/mips.c (mips_function_value): Handle complex return
12683         values.
12684
12685 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
12686
12687         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
12688         unshared.
12689         * reload.c (make_memloc): Copy result if it is still
12690         reg_equiv_memory_loc[regno] on return.
12691         (subst_reloads) [ENABLE_CHECKING]: Check that none of
12692         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
12693         reg_equiv_mem are modified by the substitutions.
12694
12695 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12696
12697         * predict.c (expensive_function_p): New.
12698         * rtl.h (expensive_function_p): Declare.
12699         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
12700         (use_fast_prologue_epilogue): New static variable.
12701         (expand_prologue): Set it; emit short prologues if unset.
12702         (expand_epilogue): Likewise.
12703
12704 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12705
12706         * config.gcc: Add stormy16-*-elf case.
12707         * config/stormy16/stormy-abi: New file.
12708         * config/stormy16/stormy16-lib2.c: New file.
12709         * config/stormy16/stormy16-protos.h: New file.
12710         * config/stormy16/stormy16.c: New file.
12711         * config/stormy16/stormy16.h: New file.
12712         * config/stormy16/stormy16.md: New file.
12713         * config/stormy16/t-stormy16: New file.
12714
12715 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
12716
12717         * i386.h (no-accumulate-outgoing-args): Use proper mask.
12718
12719 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
12720
12721         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
12722         descriptor members are pointer size, not constant 4.
12723         * config/rs6000/rs6000.md (define_splits): Remove more unused
12724         constraints.
12725
12726 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12727
12728         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
12729
12730 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
12731
12732         * cp/rtti.c (VPARAMS): Fix parameter.
12733
12734 2001-08-24  Zack Weinberg  <zackw@panix.com>
12735
12736         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
12737         to zero.
12738         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
12739         to switch.
12740         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
12741         in if controlling use of insv.
12742         (extract_bit_field): Likewise, for extv and extzv.
12743
12744 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
12745
12746         * i386.md (movcc peep2): Fix load of 0.
12747
12748 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12749
12750         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
12751         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
12752
12753 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
12754
12755         * c-pragma.h: Move weak_syms and weak_decls...
12756         * varasm.c: ...here.  Now static.
12757         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
12758         depend on HANDLE_PRAGMA_WEAK.
12759
12760         * c-common.c (c_alignof, c_alignof_expr): Move here...
12761         * c-typeck.c: ...from here.
12762         * c-tree.h, c-common.h: Adjust.
12763
12764 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
12765
12766         * config/ia64/ia64.c (rws_update): If !pred, set write_count
12767         instead of incrementing it.
12768
12769         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
12770         asm ready, don't try to move them all into the same array element.
12771
12772 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12773
12774         * function.c (thread_prologue_and_epilogue_insns): Avoid
12775         fallthru flag on edge to exit.
12776
12777         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
12778
12779         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
12780         dead edges.
12781
12782 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12783
12784         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
12785         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
12786         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
12787         Remove prototype.
12788
12789 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12790
12791         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
12792         replace "GNU CC" with "GCC".
12793
12794 2001-08-23  Richard Henderson  <rth@redhat.com>
12795
12796         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
12797         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
12798         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
12799         Need GR between FR and not GR_AND_FR.
12800         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
12801         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
12802         AR regs before GR regs.
12803         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12804         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
12805         (REGISTER_MOVE_COST): Update.
12806         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
12807
12808 2001-08-23  Richard Henderson  <rth@redhat.com>
12809
12810         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
12811         a register class.
12812
12813 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12814
12815         * reload1.c (emit_reload_insns): Don't look for notes
12816         on a NULL store_insn.
12817
12818 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12819
12820         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
12821         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
12822         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
12823         format specifier warnings.
12824         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
12825
12826 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
12827
12828         * config/i386/i386-protos.h: Correct declaration of
12829         i386_pe_asm_named_section.
12830
12831 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12832
12833         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
12834         variable i.
12835         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12836
12837 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12838
12839         * cpperror.c (print_location): Don't show _Pragma.
12840         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
12841         and file change callback generation here.
12842         (stack_include_file): Update use of cpp_push_buffer.
12843         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
12844         (struct cpp_buffer): Remove type, pfile members.
12845         * cppinit.c (cpp_handle_option): Use free_chain.
12846         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
12847         (skip_escaped_newlines, get_effective_char, lex_percent): Take
12848         a cpp_reader rather than a cpp_buffer.
12849         (skip_escaped_newlines, get_effective_char, skip_block_comment,
12850         skip_line_comment, parse_string, lex_percent, lex_dot,
12851         _cpp_lex_token): Update accordingly.
12852         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
12853         generation here.
12854         (cpp_push_buffer): Update prototype.
12855         (run_directive): Update use of cpp_push_buffer.
12856         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
12857         handle_assertion): Update use of run_directive.
12858         * cpplib.h (enum cpp_buffer_type): Remove.
12859         (cpp_push_buffer): Update prototype.
12860         * fix-header.c (read_scan_file): Update.
12861
12862 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12863
12864         * gcc.c (struct prefix_list): Change prefix to const char *.
12865
12866 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12867
12868         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
12869
12870 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
12871
12872         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
12873         from a new MEM.
12874
12875         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
12876         a squeezable note.
12877         * rtl.h: Adjust.
12878         * ifcvt.c (dead_or_predicable): Adjust.
12879         * loop.c (find_and_verify_loops): Adjust.
12880         * stmt.c (expand_end_case): Adjust.
12881         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
12882         head and end insn pointers in the basic block, not just local copies.
12883         (merge_blocks_move_predecessor_nojumps): Likewise.
12884
12885 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
12886
12887         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
12888         bitmap.h, builtin-types.def, builtins.c, builtins.def,
12889         c-aux-info.c, c-common.c, c-common.def, c-common.h,
12890         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
12891         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
12892         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
12893         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
12894         conditions.h, config.gcc, configure.frag, configure.in,
12895         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
12896         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
12897         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
12898         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
12899         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
12900         emit-rtl.c, errors.c, errors.h, except.c, except.h,
12901         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
12902         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
12903         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
12904         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
12905         gencheck.c, gencodes.c, genconfig.c, genemit.c,
12906         genextract.c, genflags.c, gengenrtl.c, genmultilib,
12907         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
12908         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
12909         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
12910         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
12911         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
12912         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
12913         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
12914         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
12915         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
12916         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
12917         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
12918         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
12919         params.h, predict.c, predict.def, predict.h, prefix.c,
12920         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
12921         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
12922         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
12923         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
12924         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
12925         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
12926         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
12927         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
12928         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
12929         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
12930         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
12931         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
12932         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
12933         xcoffout.h: replace "GNU CC" with "GCC".
12934
12935 2001-08-21  Richard Henderson  <rth@redhat.com>
12936
12937         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
12938         (final_scan_insn): Consider jump tables data even if we have no
12939         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
12940         ADDR_VEC_ALIGN.
12941         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
12942         (ASM_OUTPUT_CASE_END): Remove.
12943         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
12944         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
12945         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
12946
12947 2001-08-21  Richard Henderson  <rth@redhat.com>
12948
12949         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
12950         at barrier insns.  Emit stop bits before barriers.
12951
12952         * flow.c (flow_find_cross_jump): Don't consider unconditional
12953         return insns for commoning.
12954
12955         * final.c (compute_alignments): Fix typo.
12956
12957         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
12958         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
12959         (store_bit_field): Use mode_for_extraction more places.
12960         (extract_bit_field): Likewise.
12961
12962 2001-08-21  Zack Weinberg  <zackw@panix.com>
12963
12964         * caller-save.c: Don't include insn-codes.h.
12965         (reg_save_code, reg_restore_code): Make arrays of int.
12966         All uses updated to match.
12967         (insert_save, insert_restore): No need to initialize "code"
12968         variable upon declaration.
12969         * Makefile.in: update dependencies; fix typo in clean rule.
12970
12971 2001-08-21  Richard Henderson  <rth@redhat.com>
12972
12973         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
12974         (merge_if_block): Handle fallout from same.
12975
12976 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12977
12978         * builtins.c (type_to_class): Fix typo in last change.
12979
12980 2001-08-21  Richard Henderson  <rth@redhat.com>
12981
12982         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
12983         ia64_asm_output_label.
12984
12985         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
12986         copy of gp while the real gp register contains garbage.
12987
12988 2001-08-21  Zack Weinberg  <zackw@panix.com>
12989
12990         * expmed.c (mode_for_extraction): New function.
12991         (store_bit_field, extract_bit_field): Use it.
12992         * expr.h: Prototype it and provide an enum for its first argument.
12993
12994         * combine.c, function.c, recog.c: Don't include insn-codes.h.
12995         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
12996         and digging through the insn_data tables.
12997         * Makefile.in: Update dependencies.
12998
12999 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
13000
13001         * cppfiles.c (stack_include_file): line-map.c now handles include
13002         depth.
13003         (handle_missing_handler): Similarly.
13004         (_cpp_execute_include): Similarly.
13005         (_cpp_pop_file_buffer): Similarly.
13006         * cpphash.h (struct cpp_reader): Remove system_include_depth,
13007         buffer_stack_depth and include_depth.
13008         * cpplib.c (do_include_common): line-map.c now handles include depth.
13009         (cpp_push_buffer): Similarly.
13010         (_cpp_pop_buffer): Similarly.
13011         * cppmacro.c (builtin_macro): Update.
13012         * line-map.c (init_line_maps): Set depth.
13013         (add_line_map): Increment "used" earlier.  Update and use the
13014         include depth.
13015         (trace_include): Use the include depth.
13016         * line-map.h (struct line_maps): New member depth.
13017
13018 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13019
13020         * cppfiles.c (stack_include_file): Don't handle -H here.
13021         * cppinit.c (cpp_start_read): Set include tracing after
13022         cpp_post_options and after stacking the main file.
13023         * line-map.c (trace_include): New.
13024         (init_line_maps, add_line_map): Update.
13025         * line-map.h (struct line_maps): New member trace_includes.
13026
13027 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13028
13029         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
13030         * cppfiles.c (stack_include_file): Only stack a file if there
13031         is something to do.  Return a boolean indicating whether a
13032         buffer was stacked or not.
13033         (_cpp_execute_include): Similarly.
13034         (_cpp_read_file): Similarly.
13035         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
13036
13037 2001-08-21  Sam Steingold  <sds@gnu.org>
13038
13039         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
13040         (RECACHE): keep obufp_before_macroname up to date
13041
13042 2001-08-21  Zack Weinberg  <zackw@panix.com>
13043
13044         * stmt.c: Don't include insn-codes.h.
13045         (expand_end_case): Machine specific logic moved to expr.c.
13046         No need to worry about __builtin_classify_type.
13047         (check_for_full_enumeration_handling, emit_case_nodes):
13048         Kill #if 0 blocks.
13049
13050         * builtins.o (expand_builtin_classify_type): Split up so code
13051         can be shared with fold_builtin_classify_type.
13052         (type_to_class, fold_builtin_classify_type): New functions.
13053         (fold_builtins): Handle __builtin_classify_type.
13054
13055         * expr.c (do_tablejump): Now static.
13056         (case_values_threshold, try_casesi, try_tablejump): New;
13057         code mostly from stmt.c (expand_end_case).
13058         (expr.h): Update prototypes.
13059
13060         * Makefile.in (stmt.o): Update dependencies.
13061
13062 2001-08-21  Will Cohen  <wcohen@redhat.com>
13063
13064         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
13065         declaration of variable i.
13066         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
13067         declaration of variable i.
13068
13069 2001-08-21  Richard Henderson  <rth@redhat.com>
13070
13071         * crtstuff.c: Fix thinko last change.  Move list tails to start
13072         of CRT_END section.  Tidy ifdefs.
13073         (__EH_FRAME_BEGIN__): Always static for ELF.
13074         (__do_global_ctors_1): Rename from __frame_dummy.
13075         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
13076         name change; don't hide __EH_FRAME_BEGIN__.
13077
13078 2001-08-21  Richard Henderson  <rth@redhat.com>
13079
13080         * gdbinit.in: Move break on exit after break on fancy_abort.
13081
13082         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
13083         sized types.
13084
13085 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13086
13087         * cpphash.h (_cpp_push_next_buffer): New.
13088         * cppinit.c (do_includes): Remove.
13089         (push_include, free_chain, _cpp_push_next_buffer): New.
13090         (cpp_start_read): Use them to rework command line option handling.
13091         (cpp_handle_option): Combine handling of -include and -imacros.
13092         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
13093         appropriate.  Always insert missing \n at EOF.
13094         * cpplib.c (start_directive): Get the directive position right.
13095         * cppmain.c (cb_file_change): Always print the first line, unless
13096         preprocessed.
13097
13098 2001-08-20  Andreas Jaeger  <aj@suse.de>
13099
13100         * profile.c (compute_branch_probabilities): Remove extra new-line
13101         in error message.
13102         * flow.c (verify_flow_info): Likewise.
13103
13104 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13105
13106         * basic-block.h (basic_block): Add new field 'flags'.
13107         (BB_REACHABLE): Define.
13108         (expunge_block): Declare.
13109         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
13110         (EXIT_BLOCK_PTR): Ditto.
13111         (expunge_block): Remove static declaration.
13112         (cleanup_cfg): Clear bb->aux on every basic block.
13113         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
13114         computing reachability.
13115         (delete_unreachable_blocks): Delete block b if b->flags has
13116         BB_REACHABLE unset.
13117
13118 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13119
13120         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
13121
13122 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13123
13124         * sparc.c (sparc_variable_issue): Fix typo in last change.
13125
13126 2001-08-20  Richard Henderson  <rth@redhat.com>
13127
13128         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
13129
13130 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13131
13132         * pa.h (RETURN_IN_MEMORY): Improve comment.
13133
13134 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
13135
13136         * doc/invoke.texi (Profiling options): Clarify the interactions
13137         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
13138
13139 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
13140
13141         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
13142         command.
13143
13144 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13145
13146         * gcc.c (make_relative_prefix): Allocate a sufficiently large
13147         buffer.
13148
13149 2001-08-20  Richard Henderson  <rth@redhat.com>
13150
13151         * final.c (end_final): Fix typo last change.
13152
13153 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
13154
13155         * cppinit.c (init_standard_includes): The returned buffer
13156         is already malloc-ed.
13157         * gcc.c (add_prefix): Similarly.
13158         * prefix.c (translate_name): Update to support clear buffer
13159         ownership rules.
13160         (update_path): Similarly.  Be sure to free any newly allocated
13161         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
13162         (tr): New function.
13163         * prefix.h (update_path): Update prototype and document.
13164         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
13165         up and update to new buffer ownership rules.
13166         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
13167
13168 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
13169
13170         * final.c (compute_alignments): New function.
13171         (init_insn_lengths): Do not care label_align.
13172         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
13173         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
13174         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
13175         (shorted_branches): Realloc label_align array; do
13176         not call init_insn_lengths; Do not care about loop alignments.
13177         * output.h (compute_alignments): Declare.
13178         * toplev.c (rest_of_compilation): Call compute_alignments.
13179         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
13180
13181         * predict.c (block_info_def): Add npredecesors, remove nvisited;
13182         change visited to tovisit.
13183         (propagate_freq): Use faster traversing algorithm.
13184         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
13185         to tovisit; reverse meaning.
13186
13187         * predict.c (struct block_info_def): Remove nvisited.
13188         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13189         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13190
13191 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
13192
13193         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
13194         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
13195         (TARGET_FUSED_MADD): New.
13196         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
13197         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
13198         the multiply-add instructions.
13199
13200 2001-08-19  Richard Henderson  <rth@redhat.com>
13201
13202         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
13203         is aligned to pointer size.
13204
13205 2001-08-19  Richard Henderson  <rth@redhat.com>
13206
13207         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
13208         display markers during final schedule.
13209
13210 2001-08-19  Richard Henderson  <rth@redhat.com>
13211
13212         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
13213
13214 2001-08-19  Richard Henderson  <rth@redhat.com>
13215
13216         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
13217         in the same string.
13218         (ASM_NAME_TO_STRING): Remove.
13219         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
13220         in the same string.  Remove support for expressions.
13221
13222 2001-08-19  Richard Henderson  <rth@redhat.com>
13223
13224         * config/i386/i386.md (tablejump): Make an expander; handle
13225         pic relative addressing here.
13226         (tablejump_1): Rename from tablejump_pic.
13227         (casesi): Remove.
13228
13229 2001-08-19  Richard Henderson  <rth@redhat.com>
13230
13231         * regclass.c (fix_register): Fix typo.
13232
13233 2001-08-18  Richard Henderson  <rth@redhat.com>
13234
13235         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13236         (struct _Unwind_Context): Expand br_loc to hold it.
13237         (uw_frame_state_for): Handle leaf functions better.
13238         (uw_update_reg_address): Update for br_loc change.
13239
13240 2001-08-18  Richard Henderson  <rth@redhat.com>
13241
13242         * crtstuff.c: Move list heads before code that uses them.
13243         (__JCR_LIST__): Remove initial null.
13244         (frame_dummy, __frame_dummy): Do java registration here ...
13245         (__do_global_ctors_aux): ... not here.
13246
13247         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13248         (__do_global_dtors_aux): Update to match.
13249         (__JCR_LIST__, __do_jv_register_classes): New.
13250         (.init): Call it.
13251         * config/ia64/crtend.asm (__JCR_END__): New.
13252         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13253         instead of an indirect LTOFF22 reloc.
13254
13255 2001-08-18  Richard Henderson  <rth@redhat.com>
13256
13257         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13258         * regclass.c (init_reg_sets_1): Fix typo.
13259         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13260         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13261         (ia64_compute_frame_size): Make ar.unat live when in use.
13262         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13263         for ar.pfs; remove ar.unat handling.
13264         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
13265         call-saved.
13266         (PREDICATE_CODES): Add ar_pfs_reg_operand.
13267         * config/ia64/ia64-protos.h: Update decls.
13268         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13269         (sibcall_pic): Likewise.
13270
13271 2001-08-18  Richard Henderson  <rth@redhat.com>
13272
13273         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13274         pred_rel_mutex when searching for insn_group_barrier.
13275         * config/ia64/ia64.md (cycle_display): Combine the expander
13276         and insn patterns.
13277
13278         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13279         bit before asm as needed.
13280
13281 2001-08-18  Richard Henderson  <rth@redhat.com>
13282
13283         * timevar.def (TV_MACH_DEP): New.
13284         * toplev.c (rest_of_compilation): Use it.
13285         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13286
13287 2001-08-18  Zack Weinberg  <zackw@panix.com>
13288
13289         * unwind-dw2.c (execute_stack_op): Add default aborts to
13290         the inner switches to prevent warnings.
13291
13292 2001-08-18  Richard Henderson  <rth@redhat.com>
13293
13294         * timevar.h (struct timevar_time_def): Change element type to float.
13295         (ticks_to_msec, clocks_to_msec): Likewise.
13296         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13297         (get_time): Likewise.
13298         (timevar_print): Adjust zero check and printing to match.
13299
13300 2001-08-18  Zack Weinberg  <zackw@panix.com>
13301
13302         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13303         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13304         Eliminate overfull or underfull hboxes.
13305
13306 2001-08-18  Zack Weinberg  <zackw@panix.com>
13307
13308         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13309
13310 2001-08-18  Zack Weinberg  <zackw@panix.com>
13311
13312         * haifa-sched.c: Convert to target hooks.  Macros replaced
13313         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13314         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13315         MD_SCHED_FINISH, and HAVE_cycle_display.
13316         * target-def.h (TARGET_SCHED_ADJUST_COST,
13317         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13318         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13319         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13320         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13321         New hook #defines to be overridden.
13322         (TARGET_SCHED): Bring them all together.
13323         (TARGET_INITIALIZER): Update.
13324         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13325         instead of 'struct rtx_def *' throughout.
13326         (struct sched): New set of hooks for the scheduler.
13327         * Makefile.in (haifa-sched.o): Depend on target.h.
13328         * doc/tm.texi: Document the new scheduler hooks, together in
13329         their own section, instead of scattered around.
13330         Fix a bunch of underfull/overfull hboxes.
13331
13332         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13333         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13334         sparc.h: Don't define any of the old scheduler macros.
13335
13336         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13337         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13338         sparc.c: Create hook functions from code extracted from
13339         corresponding target header, or make existing hooks static, as
13340         appropriate.  Set the appropriate entries in targetm.
13341
13342         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13343         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13344         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13345         Remove prototypes for functions which are now static.
13346
13347         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13348         related gunk; the Haifa scheduler is now the only choice.
13349
13350 2001-08-18  Zack Weinberg  <zackw@panix.com>
13351
13352         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13353         * genopinit.c: Put floating point divide insns in sdiv_optab.
13354         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13355         * config/gofast.h, config/c4x/c4x.h,
13356         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13357         config/pa/long_double.h, config/rs6000/sysv4.h,
13358         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13359         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13360         (init_optabs): Use init_optabv for overflow-trapping optabs.
13361         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13362         cmp_optab RTX codes so have_insn_for can find them.
13363
13364         * optabs.c (expand_simple_binop, expand_simple_unop,
13365         have_insn_for, gen_sub3_insn): New interfaces.
13366         * expr.h: Prototype new functions.
13367         (enum optab_methods): Move here from optabs.h.
13368
13369         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13370         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13371         Use new functions instead of working directly with optabs.
13372         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13373         unroll.c: Don't include optabs.h.
13374         * caller-save.c, combine.c, function.c, stmt.c: Just include
13375         insn-codes.h, not optabs.h.
13376         * Makefile.in: Update dependencies.
13377
13378         * combine.c (make_compound_operation, simplify_comparison):
13379         Fix typos testing for this or that instruction.
13380
13381 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13382
13383         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13384         generating libgcc.a.
13385
13386 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13387
13388         * except.c (TYPE_HASH): Delete.
13389
13390         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13391         HOST_WIDE_INT.
13392
13393         * tree.c (TYPE_HASH): Delete.
13394
13395         * tree.h (TYPE_HASH): Define.
13396
13397 2001-08-18  Graham Stott  <grahams@redhat.com>
13398
13399         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13400         define_split.
13401         (adddi3_internal_2+2): Likewise.
13402         (eh_set_lr_di+1): Likewise.
13403
13404 2001-08-17  Richard Henderson  <rth@redhat.com>
13405
13406         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13407         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13408         * dwarf2asm.c: ... here.
13409         * dwarfout.c: Remove them.
13410
13411         * varasm.c (assemble_integer): Add align parameter.
13412         (assemble_real, output_constant, output_constructor): Likewise.
13413         * output.h: Update decls.
13414         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13415         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13416         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13417         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13418         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13419         Update all callers.
13420
13421         * final.c (end_final): Abort profile block generation if we
13422         haven't layed it out properly.
13423         * output.h (assemble_eh_integer): Remove stale decl.
13424         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13425         (min_align): New.
13426         (assemble_integer): Handle unaligned data.
13427         (assemble_real): Abort on unaligned data.
13428         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13429         anything useful.
13430         (default_dtor_section_asm_out_destructor): Use assemble_align.
13431         (default_named_section_asm_out_constructor): Likewise.
13432         (default_ctor_section_asm_out_constructor): Likewise.
13433         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13434         (machopic_asm_out_destructor): Likewise.
13435         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13436         (nextstep_asm_out_destructor): Likewise.
13437         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13438         (vms_asm_out_destructor): Likewise.
13439
13440 2001-08-17  Richard Henderson  <rth@redhat.com>
13441
13442         * config/mips/iris6.h (TARGET_IRIX6): New.
13443         (current_section_name, current_section_flags): New.
13444         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13445         (MAX_OFILE_ALIGNMENT): New.
13446         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13447         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13448         (copy_file_data): Split out from
13449         (mips_asm_file_end): ... here.
13450         (mips_asm_file_start): Remove extra .section directive.  Use
13451         tmpfile instead of mips_make_temp_file.
13452         (mips_unique_section): Use const char * as needed for warnings.
13453         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13454         re-add align parameter.
13455         (iris6_asm_named_section): New.
13456         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13457         (iris6_asm_output_align, iris6_section_align_1): New.
13458         (iris6_asm_file_start, iris6_asm_file_end): New.
13459         * config/mips/mips-protos.h: Update decls.
13460
13461 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13462
13463         * doc/install.texi (Install GCC): Add links to build status pages.
13464         (Specific): Ditto.
13465         (Final install): Ditto; request updates for specific info
13466
13467 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13468
13469         * cpperror.c (print_location):  Don't take a file name; use the
13470         line map instead.
13471         (_cpp_begin_message): Similarly.
13472         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13473         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13474         (cpp_pedwarn_with_file_and_line): Remove.
13475         * cppfiles.c (stack_include_file): Update; set filename to stdin
13476         here when appropriate.
13477         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13478         (_cpp_begin_message): Don't take a file name.
13479         * cppinit.c: Add comment.
13480         * cpplex.c: Fix end-of-directive indicator.
13481         * cpplib.c: Don't include intl.h.
13482         (run_directive, do_diagnostic): Update.
13483         (do_line): Update to not use nominal_fname.
13484         (cpp_push_buffer): Don't take a filename.
13485         * cpplib.h (struct ht): Remove.
13486         (cpp_push_buffer): Don't take a filename.
13487         (cpp_pedwarn_with_file_and_line): Remove.
13488         * cppmacro.c (struct cpp_macro): Remove file.
13489         (builtin_macro): Update.
13490         (_cpp_create_definition): Update.
13491         * cppmain.c: Correct comment.
13492         * fix-header.c (read_scan_file): Update.
13493
13494 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13495
13496         * sbitmap.c: Fix comment formatting.
13497         * sched-deps.c: Likewise.
13498         * sibcall.c: Likewise.
13499         * simplify-rtx.c: Likewise.
13500         * ssa.c: Likewise.
13501         * ssa-ccp.c: Likewise.
13502         * stor-layout.c: Likewise.
13503         * timevar.c: Likewise.
13504         * toplev.c: Likewise.
13505         * unwind-dw2.c: Likewise.
13506         * unwind-dw2-fde.c: Likewise.
13507         * varasm.c: Likewise.
13508
13509 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13510
13511         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13512         or larger than an integer in memory.
13513
13514 2001-08-17  Zack Weinberg  <zackw@panix.com>
13515
13516         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13517         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13518         * rtl.h: Don't forward-declare union tree_node here.  Don't
13519         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13520         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13521         and tree respectively.
13522         * tree.h: Don't forward-declare struct rtx_def here.  Don't
13523         typedef tree here.  Change all uses of struct rtx_def *,
13524         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13525         and tree respectively.
13526
13527 2001-08-17  Richard Henderson  <rth@redhat.com>
13528
13529         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
13530         config/mips/openbsd.h: Fix typos last change.
13531
13532 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13533
13534         * doc/invoke.texi (Optimize Options): The default for
13535         -finline-limit is 600.
13536
13537 2001-08-17  Richard Henderson  <rth@redhat.com>
13538
13539         * varasm.c (text_section): Allow TEXT_SECTION to override the
13540         printing of TEXT_SECTION_ASM_OP.
13541         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
13542         (DATA_SECTION, BSS_SECTION): Remove.
13543         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
13544         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
13545         Rename from s/_NAME//.
13546         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
13547         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
13548         (TEXT_SECTION): ... here.  New.
13549         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
13550         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
13551         * config/mips/openbsd.h: Likewise.
13552         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
13553         (mips_asm_file_end): Likewise test.
13554         (mips_output_function_epilogue): Likewise.  Switch back to data
13555         section after emitting the function.
13556
13557         * doc/tm.texi (Sections): Document TEXT_SECTION.
13558
13559 2001-08-17  Richard Henderson  <rth@redhat.com>
13560
13561         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
13562         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
13563
13564 2001-08-17  Richard Henderson  <rth@redhat.com>
13565
13566         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
13567         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
13568         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
13569         Add aligned attribute.
13570
13571 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
13572
13573         * config/sh/sh.md: Add modes to unspecs in first insn to match
13574         those in the second.
13575
13576         * Makefile.in: Fix collect2 copy for Cygwin.
13577
13578 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13579
13580         Install the proper patch.
13581         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13582         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13583         (expand_function_start): Likewise.
13584         * stmt.c (expand_decl): Likewise.
13585         * varasm.c (make_decl_rtx): Likewise.
13586
13587 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13588
13589         * final.c: Undo my previous accidental checkin.
13590         * output.h: Likewise.
13591         * tm.texi: Likewise.
13592
13593 2001-08-16  Richard Henderson  <rth@redhat.com>
13594
13595         * varasm.c (named_section_flags): Remove align parameter.
13596         * varasm.c, dwarf2out.c: Update all callers.
13597         * output.h: Update prototypes.
13598
13599         * target.h (target.asm_out.named_section): Remove align parameter.
13600         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
13601         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
13602         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
13603         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
13604         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
13605
13606         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
13607         (get_named_section_flags, set_named_section_flags): New.
13608         (named_section_flags): Use them.
13609         (named_section): Do decl vs section flags check here...
13610         (default_section_type_flags): ... not here.
13611         (init_varasm_once): Create in_named_htab.
13612         (resolve_unique_section): Mark reloc unused.
13613
13614 2001-08-16  Richard Henderson  <rth@redhat.com>
13615
13616         * varasm.c (force_const_mem): Keep pool alignment in bits.
13617         (output_constant_pool): Use assemble_align.
13618
13619 2001-08-16  Zack Weinberg  <zackw@panix.com>
13620
13621         * doc/tm.texi: Remove extra @table command.
13622
13623 2001-08-16  Zack Weinberg  <zackw@panix.com>
13624
13625         * final.c (shorten_branches): Clear the end of the label_align
13626         array only if we made it larger.  Break up messy expressions
13627         for clarity.
13628
13629         * diagnostic.c (internal_error): Check for error recursion
13630         before doing ICE suppression.
13631
13632         * timevar.c: Timing variables now count in milliseconds.
13633         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
13634         (get_time): Not here.
13635         (timevar_print): Don't print any timer whose user, cpu, and
13636         wall times are all zero as displayed.
13637         * timevar.h: Update comment aboout units.  Make timevar
13638         counters unsigned.
13639
13640 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13641
13642         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13643         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13644         (expand_function_start): Likewise.
13645         * stmt.c (expand_decl): Likewise.
13646         * varasm.c (make_decl_rtx): Likewise.
13647
13648 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
13649
13650         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
13651         (finalize_record_size): Don't set TYPE_USER_ALIGN.
13652
13653 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13654
13655         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
13656         variables.
13657
13658 2001-08-16  Andreas Jaeger  <aj@suse.de>
13659
13660         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
13661         prototype.
13662
13663 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
13664
13665         * rtl.h (only_sets_cc0_p): New prototype.
13666         * jump.c (sets_cc0_p): Handle INSN.
13667         (only_sets_cc0_p): New function.
13668         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
13669         (tidy_fallthru_edge): Likewise.
13670         * integrate.c (copy_insn_list): Likewise.
13671         * unroll.c (unroll_loop): Likewise.
13672         (copy_loop_body): Likewise.
13673
13674 2001-08-15  Jason Eckhardt  <jle@redhat.com>
13675
13676         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
13677
13678 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13679
13680         * predict.c (struct block_info_def): Remove nvisited.
13681         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13682         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13683
13684         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
13685         (ix86_adjust_cost): Teach scheduler that latency to load operand can
13686         be masked.
13687
13688 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
13689
13690         * predict.def: Update hitrates.
13691
13692 2001-08-15  Richard Henderson  <rth@redhat.com>
13693
13694         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
13695
13696 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
13697
13698         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
13699         note from its associated jump.
13700
13701 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13702
13703         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
13704         also on 64-bit s390x targets.
13705
13706 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
13707
13708         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
13709         function.
13710         (arm_expand_prologue): Handled nested functions which take a
13711         variable argument list.
13712         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
13713         macro with an invocation of
13714         arm_compute_initial_elimination_offset.
13715         * config/arm/arm-protos.h: Prototype
13716         arm_compute_initial_elimination_offset.
13717
13718 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13719
13720         * doc/install.texi (Specific, avr): Fix markup.
13721         (Specific, c4x): Ditto.
13722
13723 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13724
13725         * predict.c (dump_prediction): Change `bool' parameter to `int'.
13726
13727 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
13728
13729         * Makefile.in (OBJS): Add rtl-error.o
13730         (rtl-error.o): New rule.
13731         (diagnostic.o): Adjust dependency.
13732         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
13733         error_for_asm, _fatal_insn, _fatal_insn_not_found,
13734         warning_for_asm): Move to...
13735         rtl-error.c: ...here.  New file.
13736
13737 2001-08-14  Richard Henderson  <rth@redhat.com>
13738
13739         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
13740         if USING_SJLJ_EXCEPTIONS.
13741
13742 2001-08-14  Steve Ellcey <sje@cup.hp.com>
13743
13744         * tlink.c (scan_linker_output): Check string for unsatisfied in
13745         addition to undefined and unresolved.
13746
13747 2001-08-14  Graham Stott  <grahams@redhat.com>
13748
13749         * libgcc2.c (*): Replace EH_FRAME_SECTION with
13750         EH_FRAME_SECTION_NAME.
13751
13752 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
13753
13754         * genattrtab.c (simplify_test_exp_in_temp): New function.
13755         (simplify_test_exp): Avoid explicit use of temporary obstack.
13756         (simplify_cond, insert_right_side, evaluate_eq_attr,
13757         simplify_and_tree, simplify_or_tree, eliminate_known_true):
13758         Use simplify_test_exp_in_temp.
13759         (optimize_attrs): Iterate until expression stabilizes.
13760
13761 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
13762
13763         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
13764         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
13765
13766 2001-08-13  Richard Henderson  <rth@redhat.com>
13767
13768         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
13769         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
13770         * config/arm/conix-elf.h: Likewise.
13771
13772 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13773
13774         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
13775         in gcc.c.
13776         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13777
13778         * gcse.c (hash_scan_set): Expressions that are set as part of
13779         jump instructions are not available.
13780
13781 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13782
13783         * config/s390/s390.c (print_operand, s390_function_prologue,
13784         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
13785
13786 2001-08-13  Richard Henderson  <rth@redhat.com>
13787
13788         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
13789         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
13790         * doc/tm.texi (Exception Region Output): Document it.
13791
13792 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13793
13794         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
13795         DWARF2 instead of stabs by default.
13796
13797 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13798
13799         * config/rs6000/rs6000.c: Include optabs.h.
13800
13801 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13802
13803         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
13804         save/restore routines.
13805         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
13806
13807 2001-08-13  Andreas Jaeger  <aj@suse.de>
13808
13809         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
13810         the english is correct.
13811
13812 2001-08-13  Zack Weinberg  <zackw@panix.com>
13813
13814         * expr.h: Split out optab- and libfunc-related code to...
13815         * optabs.h, libfuncs.h: ... these new headers.
13816
13817         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
13818         (OPTABS_H): New.
13819         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
13820         dependencies.
13821         * mkconfig.sh: Don't include insn-codes.h from config.h.
13822
13823         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
13824         enum insn_code is available.  Move reload_in_optab and
13825         reload_out_optab array declarations to optabs.h.
13826         * regmove.c (gen_add3_insn): Move to optabs.c, export from
13827         there, prototype in expr.h.
13828         * gencodes.c: Cleanup: zap global variables, don't use
13829         printf where puts will do, don't bother defining MAX_INSN_CODE
13830         which nothing uses, let CODE_FOR_nothing get its value implicitly.
13831
13832         * genemit.c, genopinit.c: Include optabs.h in generated file.
13833         * genoutput.c: Include insn-codes.h in generated file.
13834         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
13835         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
13836         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
13837         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
13838         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
13839         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
13840         Include optabs.h.
13841         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
13842         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
13843         config/m88k/m88k.c, config/sparc/sparc.c:
13844         Include libfuncs.h.
13845         * reload.c: Include expr.h and optabs.h before reload.h.
13846         * config/alpha/alpha.c: Include tree.h before reload.h.
13847         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
13848         and reload.h in that order.
13849         * config/sparc/sparc.c: Include debug.h.
13850         * recog.c: Include insn-codes.h.
13851
13852 2001-08-13  Andreas Jaeger  <aj@suse.de>
13853
13854         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
13855         s390*linux.
13856
13857 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
13858
13859         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
13860         * gcc.c (init_spec): Fix typo in comment.
13861         * varasm.c (data_section): Fix typo in comment.
13862
13863 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
13864
13865         * predict.c (dump_prediction): New argument "USED".
13866         (combine_predictions_for_insn): Determine the used heuristics,
13867         output the case no heuristic applied.
13868         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
13869
13870 2001-08-13  Andreas Jaeger  <aj@suse.de>
13871
13872         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
13873         register %rip.
13874
13875 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13876
13877         * jump.c: Fix formatting.
13878
13879 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13880
13881         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
13882         length.
13883
13884 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
13885
13886         * loop.c (check_dbra_loop): Use condjump_label to compute
13887         jump_label.
13888
13889         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
13890         to better document the files they're in.
13891
13892 2001-08-12  Zack Weinberg  <zackw@panix.com>
13893
13894         * recog.h (struct insn_operand_data): Shrink 'mode' field
13895         to 16 bits.
13896
13897 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13898
13899         * gcc.c: Fix comment formatting.
13900         * gccspec.c: Likewise.
13901         * gcov.c: Likewise.
13902         * gcse.c: Likewise.
13903         * genemit.c: Likewise.
13904         * gengenrtl.c: Likewise.
13905         * genrecog.c: Likewise.
13906         * gensupport.c: Likewise.
13907         * ggc-page.c: Likewise.
13908         * global.c: Likewise.
13909         * graph.c: Likewise.
13910         * ifcvt.c: Likewise.
13911         * integrate.c: Likewise.
13912         * lcm.c: Likewise.
13913         * libgcc2.c: Likewise.
13914         * loop.c: Likewise.
13915         * mbchar.c: Likewise.
13916         * optabs.c: Likewise.
13917         * predict.c: Likewise.
13918         * prefix.c: Likewise.
13919         * profile.c: Likewise.
13920         * protoize.c: Likewise.
13921         * real.c: Likewise.
13922         * recog.c: Likewise.
13923         * regclass.c: Likewise.
13924         * regmove.c: Likewise.
13925         * reg-stack.c: Likewise.
13926         * reload1.c: Likewise.
13927         * resource.c: Likewise.
13928         * rtlanal.c: Likewise.
13929         * rtl.c: Likewise.
13930
13931 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13932
13933         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
13934         a tree representing a constant is passed to the macro.
13935
13936 2001-08-12  Richard Henderson  <rth@redhat.com>
13937
13938         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
13939         (rs6000_elf_asm_out_destructor): New.
13940         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
13941         (DTORS_SECTION_ASM_OP): Remove.
13942         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13943         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
13944
13945 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
13946
13947         Revert:
13948         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13949         * gcc.c (set_collect_gcc_options): New function, split out from
13950         main.
13951         Ignore elided switches.
13952         (do_spec_1): Invoke before executing command.
13953         (set_input): Export.
13954         Move declaration ...
13955         * gcc.h (set_input): ... here.
13956         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13957         file.
13958
13959 2001-08-12  Richard Henderson  <rth@redhat.com>
13960
13961         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
13962         thinko wrt TARGET_RELOCATABLE.
13963
13964 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13965
13966         * fix-header.c (cb_file_change): Update prototype.
13967
13968 2001-08-11  Zack Weinberg  <zackw@panix.com>
13969
13970         * toplev.c (set_float_handler): Make static.
13971         * toplev.h: Don't prototype set_float_handler.
13972
13973         * simplify-rtx.c: Don't include setjmp.h.
13974         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
13975         New functions.
13976         (simplify_unary_operation, simplify_binary_operation): Use them,
13977         via do_float_handler.
13978
13979         * fold-const.c: Don't include setjmp.h.
13980         (exact_real_inverse_1): New function.
13981         (exact_real_inverse): Use it, via do_float_handler.
13982
13983         * varasm.c: Don't include setjmp.h.
13984         (assemble_real_1): New function.
13985         (assemble_real): Use it, via do_float_handler.
13986         Call internal_error if we get a trap here.
13987
13988         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
13989         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
13990
13991 2001-08-11  Zack Weinberg  <zackw@panix.com>
13992
13993         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
13994         STACK_BOUNDARY if not already defined.
13995
13996         * calls.c, function.c, reload1.c, explow.c: Don't default
13997         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
13998         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
13999
14000         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
14001         to run-time test.
14002
14003         * doc/tm.texi: Document that STACK_BOUNDARY is required;
14004         clarify difference between it and PREFERRED_STACK_BOUNDARY.
14005
14006 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14007
14008         * cppmacro.c (enter_macro_context): Push macro expansions even
14009         if empty.
14010
14011 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14012
14013         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
14014         (rs6000_elf_section_type_flags): Actually return a value.
14015
14016 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14017
14018         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
14019         Clean up code: add missing comments and prototypes, fix warnings,
14020         remove obsolete code, fix spacing to conform to coding style.
14021
14022 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14023
14024         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
14025         and TARGET_ASM_CLOSE_PAREN.
14026         (regclass_map): CC register belongs to class NO_REGS.
14027         (legitimize_pic_address): Don't generate unnecessary moves
14028         (to avoid confusing loop optimization).
14029         (check_and_change_labels): Replace jump_long by indirect_jump.
14030         (s390_final_chunkify): Don't start a new literal pool on section
14031         switch in 64-bit code.
14032         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
14033
14034         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
14035         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
14036         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
14037         modes correctly.
14038         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
14039         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
14040         (CONST_COSTS): Fixed incorrect costs.
14041
14042         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
14043         Use emit_jump instead of emit_jump_insn (gen_jump).
14044         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
14045         (to avoid confusing flow analysis).
14046         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
14047         (casesi, casesi_jump): New.
14048         (jump_long): Removed.  Functionality merged into indirect_jump.
14049         (indirect_jump): Accept address_operand, not just register_operand.
14050         (cjump_long, icjump_long): Use same logic as indirect_jump.
14051         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
14052         Fixed broken setjmp/longjmp handling.
14053         (do_builtin_setjmp_setup): Removed.
14054
14055         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
14056         broken GNU as versions that don't accept .quad with large
14057         negative values.  Use hexadecimal output instead.
14058         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
14059         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
14060         FUNCTION_EPILOGUE): Removed.  Now in targetm.
14061
14062         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
14063
14064         * config/s390/fixdfdi.h: Add missing copyright statement.
14065         Fix type conflicts on 64-bit.  Add missing SFmode routines.
14066
14067         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
14068         email address.
14069
14070 2001-08-11  Richard Henderson  <rth@redhat.com>
14071
14072         * rtl.h (REG_EH_RETHROW): Remove.
14073         * rtl.c (reg_note_name): Update.
14074         * combine.c (distribute_notes): Don't check for it.
14075
14076 2001-08-11  Richard Henderson  <rth@redhat.com>
14077
14078         * combine.c (distribute_notes): Place REG_SETJMP.
14079
14080 2001-08-11  Richard Henderson  <rth@redhat.com>
14081
14082         * doc/extend.texi (Arrays and pointers implementation): Discourage
14083         relying on sign-extension of pointers.
14084
14085 2001-08-11  H.J. Lu <hjl@gnu.org>
14086
14087         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
14088         in_dtors.
14089         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
14090         RDATA_SECTION_ASM_OP.
14091
14092 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14093
14094         * doc/install.texi (Specific, c4x): Fix cross-reference to the
14095         main manual to work both for info and HTML versions.
14096
14097 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14098             Matt Kraai <kraai@alumni.carnegiemellon.edu>
14099
14100         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
14101         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
14102         (struct cpp_pool): New member first.
14103         * cppinit.c (append_include_chain): Plug memory leaks.
14104         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
14105         Allocate pragma structures from the (aligned) macro pool to
14106         avoid leaking memory.
14107         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
14108         so we don't leak memory.
14109         * hashtable.c (ht_destroy): New.
14110         * hashtable.h (ht_destroy): New.
14111
14112 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14113             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14114
14115         * c-lex.c (map): Make const.
14116         (cb_file_change): Update for callback passing a line map.
14117         Don't assume we have a previous map.  Remove sanity check
14118         about popping too many files.
14119         * cpperror.c (print_location): Make map const.
14120         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
14121         (cpp_make_system_header): Similarly.
14122         (search_from): Similarly.
14123         (_cpp_execute_include): Don't remember where we came from.
14124         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
14125         (struct cpp_reader): Make map const.
14126         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
14127         * cpplib.c (do_line): Update; line maps now hold sysp.
14128         (cpp_push_buffer): Similarly.
14129         (_cpp_do_file_change): Similarly; callback with map instead.
14130         (cpp_get_line_maps): Constify return value.
14131         (_cpp_pop_buffer): Update.
14132         * cpplib.h (struct cpp_file_change): Remove.
14133         (struct cpp_callbacks): Update.
14134         (cpp_get_line_maps): Constify return value.
14135         * cppmacro.c (_cpp_create_definition): Update.
14136         * cppmain.c (struct printer): Constify map.
14137         (maybe_print_line): Similarly.
14138         (print_line): Similarly.  Deduce flags 1 and 2 here.
14139         (cb_file_change): Update.
14140         * line-map.c (free_line_maps): Warn regardless.
14141         (add_line_map): Return pointer to const.  When passed NULL to_file
14142         with LC_LEAVE, use the obvious values for the return point so the
14143         caller doesn't have to figure them out.
14144         (lookup_line): Return pointer to const.
14145         (print_containing_files): Take pointer to const.
14146         * line-map.h (struct line_map): New members reason, sysp.
14147         (add_line_map): Return pointer to const.
14148         (lookup_line): Similarly.
14149         (print_containing_files): Take pointer to const.
14150
14151 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
14152             Richard Henderson  <rth@redhat.com>
14153
14154         * regmove.c (regmove_optimize): Avoid setting a register twice in
14155         a parallel set.
14156
14157 2001-08-10  Richard Henderson  <rth@redhat.com>
14158
14159         * doc/extend.texi (Arrays and pointers implementation): Document
14160         behavior of pointer/integer conversion.
14161
14162 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
14163
14164         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
14165
14166 2001-08-10  Richard Henderson  <rth@redhat.com>
14167
14168         * doc/extend.texi (C Implementation): New chapter.
14169         * doc/gcc.texi (Top): Link it in.
14170
14171 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
14172
14173         * doc/install.texi (Specific): Fix CVS merge botch.
14174
14175 2001-08-10  Richard Henderson  <rth@redhat.com>
14176
14177         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
14178         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
14179
14180 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
14181
14182         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
14183         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
14184         this macro is now required.
14185
14186         * cselib.c (cselib_process_insn), flow.c (propagate_block),
14187         loop.c (find_and_verify_loops), reload.c (reload): Check
14188         for rtx code of CALL_INSN, not CALL, when deciding if we
14189         need to check for REG_SETJMP note.
14190
14191         * gcse.c (compute_hash_table, compute_store_table): Update
14192         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
14193         logic.
14194
14195         * config/avr/avr.c: Fix typo.
14196         * config/convex/convex.c (expand_movstr): Use adjust_address.
14197         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
14198         variable.
14199         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
14200         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
14201         Fix typo.
14202         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
14203         Do define STACK_BOUNDARY.
14204         * config/i370/i370.c: Include expr.h.
14205         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
14206         config/pa/som.h, config/v850/v850.h: Take in_ctors and
14207         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
14208         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
14209         * config/m88k/m88k.c: Include c-tree.h after expr.h.
14210         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
14211         * config/romp/romp.c: Include expr.h after tree.h.
14212         Include toplev.h.
14213         (output_fpop): Use xmalloc, not oballoc.
14214         * config/we32k/we32k.c: Include expr.h.
14215
14216 2001-08-10  Kazu Hirata  <kazu@hxi.com>
14217
14218         * config/h8300/h8300.h: Fix formatting.
14219
14220 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14221
14222         * c-common.h (RETURN_NULLIFIED_P): Lose.
14223         * c-semantics.c (genrtl_return_stmt): Don't check it.
14224
14225 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14226
14227         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
14228         (mips_annotate_frame_insn): New function.
14229         (mips_emit_frame_related_store): New function.
14230         (save_restore_insns): Don't mark instructions that set up the base
14231         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
14232         the store instructions instead.
14233         (mips_expand_prologue): If the stack size is moved into a temporary
14234         register, do not mark that move as frame-related.  Add a
14235         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14236
14237 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14238
14239         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14240         stack slot as unchanging if current_function_calls_eh_return.
14241
14242 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14243
14244         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
14245         access the second half of the TFmode scratch operand.
14246
14247 2001-08-10  Anthony Green  <green@redhat.com>
14248
14249         * java/class.c (emit_register_classes): Conditionalize code on
14250         JCR_SECTION_NAME.
14251
14252 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14253
14254         * doc/install.texi (Specific, avr): Fix cross-reference to the
14255         main manual to work both for info and HTML versions.
14256
14257 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14258
14259         * stmt.c (expand_null_return_1): Remove code to generate simple returns
14260         and "use_goto" argument.
14261         (expand_null_return, expand_value_return): Update all callers.
14262         * function.c (expand_function_end): Remove code to generate simple
14263         return.
14264         * config/vax/vax.md (epilogue): New expander for function return.
14265         * doc/md.texi (epilogue): Remove "if defined".
14266
14267 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14268
14269         * Makefile.in: Partially revert my previous change:
14270         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14271         of the hashtab.o and safe-ctype.o rules.
14272
14273 2001-08-09  Richard Henderson  <rth@redhat.com>
14274
14275         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14276         (USE_COLLECT2): Remove duplicate definition.
14277         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14278         (use_collect2): Remove dead code.
14279         * configure.in (use_collect2): Remove will_use_collect2 and
14280         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14281         * configure: Rebuild.
14282
14283         * target.h (targetm.asm_out.constructor): New.
14284         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14285         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14286         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14287         * varasm.c (in_ctors, in_dtors): New.
14288         (assemble_constructor, assemble_destructor): Remove.
14289         (default_stabs_asm_out_destructor): New.
14290         (default_named_section_asm_out_destructor): New.
14291         (dtors_section, default_dtor_section_asm_out_destructor): New.
14292         (default_stabs_asm_out_constructor): New.
14293         (default_named_section_asm_out_constructor): New.
14294         (ctors_section, default_ctor_section_asm_out_constructor): New.
14295         * output.h: Update declarations.
14296         * c-decl.c (c_expand_body): Use target hooks instead of
14297         assemble_constructor and assemble_destructor.
14298         * profile.c (output_func_start_profiler): Likewise.
14299         * objc/objc-act.c (finish_objc): Likewise.
14300         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14301         for the constructor.
14302         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14303
14304         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14305         (DTORS_SECTION_ASM_OP): Likewise.
14306         (__CTOR_LIST__): Use attribute section when possible.
14307         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14308
14309         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14310         ASM_OUTPUT_CONSTRUCTOR.
14311
14312         * config/darwin.c (machopic_asm_out_constructor): New.
14313         (machopic_asm_out_destructor): New.
14314         * config/darwin-protos.h: Update declarations.
14315         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14316         (ASM_OUTPUT_DESTRUCTOR): Remove.
14317         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14318         * config/nextstep.c (nextstep_asm_out_constructor): New.
14319         (nextstep_asm_out_destructor): New.
14320         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14321         (ASM_OUTPUT_DESTRUCTOR): Remove.
14322         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14323         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14324         ASM_OUTPUT_*STRUCTOR.
14325         * config/i386/aix386ng.h: Likewise.
14326
14327         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14328         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14329         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14330         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14331         * config/lynx.h: Likewise.
14332         * config/netware.h: Likewise.
14333         * config/psos.h: Likewise.
14334         * config/alpha/alpha-interix.h: Likewise.
14335         * config/alpha/elf.h: Likewise.
14336         * config/arc/arc.h: Likewise.
14337         * config/arm/aof.h: Likewise.
14338         * config/arm/coff.h: Likewise.
14339         * config/arm/elf.h: Likewise.
14340         * config/c4x/c4x.h: Likewise.
14341         * config/h8300/h8300.h: Likewise.
14342         * config/i386/cygwin.h: Likewise.
14343         * config/i386/djgpp.h: Likewise.
14344         * config/i386/i386-coff.h: Likewise.
14345         * config/i386/i386-interix.h: Likewise.
14346         * config/i386/sco5.h: Likewise.
14347         * config/i386/vsta.h: Likewise.
14348         * config/i386/win32.h: Likewise.
14349         * config/i960/i960-coff.h: Likewise.
14350         * config/ia64/sysv4.h: Likewise.
14351         * config/m68hc11/m68hc11.h: Likewise.
14352         * config/m68k/coff.h: Likewise.
14353         * config/m68k/mot3300.h: Likewise.
14354         * config/m88k/m88k.h: Likewise.
14355         * config/mcore/mcore-pe.h: Likewise.
14356         * config/mcore/mcore.h: Likewise.
14357         * config/mips/elf.h: Likewise.
14358         * config/mips/elf64.h: Likewise.
14359         * config/mips/iris6.h: Likewise.
14360         * config/pa/pa64-hpux.h: Likewise.
14361         * config/rs6000/sysv4.h: Likewise.
14362         * config/sh/sh.h: Likewise.
14363         * config/sparc/litecoff.h: Likewise.
14364
14365         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14366         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14367         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14368         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14369         (ASM_OUTPUT_DESTRUCTOR): Remove.
14370         * config/a29k/a29k.c: Move include of tree.h.
14371         * config/a29k/udi.h: Delete file.
14372         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14373         (vms_asm_out_destructor): New.
14374         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14375         (EXTRA_SECTION_FUNCTIONS): Likewise.
14376         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14377         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14378         * config/c4x/c4x.c: Move include of tree.h.
14379         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14380         (clix_asm_out_destructor): New.
14381         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14382         (ASM_OUTPUT_DESTRUCTOR): Remove.
14383         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14384         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14385         (TARGET_ASM_CONSTRUCTOR): New.
14386         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14387         (sco_asm_out_constructor): New.
14388         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14389         * config/i386/svr3gas.h: Remove stack grows up code.
14390         Remove code duplicated from i386/sysv3.h.
14391         (TARGET_ASM_CONSTRUCTOR): New.
14392         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14393         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14394         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14395         (TARGET_ASM_CONSTRUCTOR): New.
14396         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14397         (m68hc11_asm_out_destructor): New.
14398         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14399         (TARGET_ASM_DESTRUCTOR): New.
14400         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14401         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14402         config/svr3.h pertaining to section manipulation.
14403         * config/m68k/dpx2g.h: Remove #if 0 code.
14404         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14405         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14406         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14407         (TARGET_ASM_CONSTRUCTOR): New.
14408         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14409         (m88k_svr3_asm_out_constructor): New.
14410         (m88k_svr3_asm_out_destructor): New.
14411         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14412         (ASM_OUTPUT_DESTRUCTOR): Remove.
14413         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14414         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14415         * config/rs6000/aix.h: Likewise.
14416         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14417         * config/mips/vxworks.h: Likewise.
14418         * config/rs6000/lynx.h: Likewise.
14419         * config/sh/elf.h: Likewise.
14420         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14421         (DTORS_SECTION_ASM_OP): New.
14422         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14423         (ASM_OUTPUT_DESTRUCTOR): Remove.
14424         * config/sparc/sol2-sld-64.h: Likewise.
14425         * config/vax/vax.c (vms_asm_out_constructor): New.
14426         (vms_asm_out_destructor): New.
14427         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14428         (ASM_OUTPUT_DESTRUCTOR): Remove.
14429         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14430
14431         * doc/tm.texi (@node Initialization): Update.
14432
14433 2001-08-09  Richard Henderson  <rth@redhat.com>
14434
14435         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14436         (__do_global_dtors_aux): Use gp-relative static data to avoid
14437         one dynamic relocation.
14438         (__do_frame_setup): Register Java classes.
14439         * config/alpha/crtend.asm (__JCR_END__): New.
14440
14441 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14442
14443         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14444         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14445         (GEN, STAGESTUFF): Add new files.
14446         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14447         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14448         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14449         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14450         as well as insn-codes.h and insn-flags.h in config.h; and no
14451         extra headers in tconfig.h and hconfig.h.
14452
14453         * gencodes.c: Eliminate code to generate predicate declarations
14454         or #defines for md-file constants.
14455         * genconstants.c, genpreds.c: New files.
14456
14457         * i386.md: Re-order guard expressions such that TARGET_64BIT
14458         comes first, when this permits better optimization.  Add
14459         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14460         why this is desirable.
14461
14462 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14463
14464         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14465         (find_fde_for_dso): Remove.
14466         (_Unwind_IteratePhdrCallback): New.
14467         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14468         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14469
14470 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14471
14472         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14473         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14474
14475 2001-08-09  Graham Stott  <grahams@redhat.com>
14476
14477         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14478         (vis_no_unit): Use it.
14479         (visualize_no_unit): Add the insn only if room exists.
14480
14481 2001-08-09  Graham Stott  <grahams@redhat.com>
14482
14483         * predict.c (estimate_probability): Replace magic numbers with
14484         appropriate enumeration.
14485
14486 2001-08-09  Graham Stott  <grahams@redhat.com>
14487
14488         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14489         parameter.
14490         (EXTRACT_FLAGS): Likewise.
14491
14492 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14493
14494         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14495         CONST_INT in last patch.
14496
14497 2001-08-08  Anthony Green  <green@redhat.com>
14498
14499         * java/class.c (emit_register_classes): Use assemble_jcr if
14500         possible.  Keep the original mechanism as a fallback.
14501         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14502         and weak symbol support.
14503         * crtstuff.c (__JCR_LIST__): Define.
14504         (__JCR_END__): Define.
14505         (_Jv_RegiserClasses): Define weak symbol if possible.
14506         (__do_global_ctors_aux): Register classes for ELF targets with
14507         weak symbol support.
14508
14509 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14510
14511         * dbxout.c: Fix comment formatting.
14512         * dependence.c: Likewise.
14513         * df.c: Likewise.
14514         * diagnostic.c: Likewise.
14515         * dominance.c: Likewise.
14516         * doprint.c: Likewise.
14517         * dwarf2out.c: Likewise.
14518         * dwarfout.c: Likewise.
14519         * emit-rtl.c: Likewise.
14520         * except.c: Likewise.
14521         * explow.c: Likewise.
14522         * expmed.c: Likewise.
14523         * expr.c: Likewise.
14524         * flow.c: Likewise.
14525         * fold-const.c: Likewise.
14526         * function.c: Likewise.
14527
14528 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14529
14530         * global.c (retry_global_alloc): Avoid shadowing allocno.
14531
14532 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
14533
14534         * except.c (remove_fixup_regions): Fix typo.
14535
14536 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
14537
14538         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
14539         unsigned HOST_WIDE_INT to avoid warning.
14540         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
14541         * flow.c (set_block_for_new_insns): Likewise.
14542
14543 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
14544
14545         * sibcall.c (return_value_pseudo): New static variable.
14546         (skip_copy_to_return_value): Handle return_value_pseudo.
14547         (call_ends_block_p): Ensure that return_value_pseudo is set.
14548         (optimize_sibling_and_tail_recursive_call): Discover the
14549         load of pseudo return value in alternate exit block.
14550
14551 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14552
14553         * calls.c (ECF_ALWAYS_RETURN): New constant.
14554         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
14555         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
14556         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
14557         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
14558         * rtl.c (reg_note_name): New name.
14559         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
14560
14561 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
14562
14563         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
14564
14565 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14566
14567         * alias.c (get_alias_set): Return a previously calculated
14568         alias set for a VAR_DECL.
14569         * function.c (gen_mem_addressof): Calculate the alias set before
14570         touching the RTL.
14571
14572 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
14573
14574         * predict.def: Set hitrates according our experimental run.
14575
14576 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
14577
14578         * i386.h (HARD_REGNO_RENAME_OK): New macro.
14579
14580 2001-08-08  H.J. Lu <hjl@gnu.org>
14581
14582         * config/mips/mips.c (mips_unique_section): New. Copied from
14583         config/mips/elf.h.
14584
14585         * config/mips/mips-protos.h (mips_unique_section): New
14586         prototype.
14587
14588         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
14589
14590         * config/mips/little.h: New. Generic little endian mips
14591         targets. Only mips*-*-linux* is converted to use it so far.
14592
14593         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
14594         (WCHAR_TYPE): Defined
14595         (WCHAR_TYPE_SIZE): Likewise.
14596         (INIT_SUBTARGET_OPTABS): Likewise.
14597         (BSS_SECTION_ASM_OP): Likewise.
14598         (SBSS_SECTION_ASM_OP): Likewise.
14599         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14600         (ASM_DECLARE_OBJECT_NAME): Likewise.
14601         (UNIQUE_SECTION): Likewise.
14602         (EXTRA_SECTIONS): Likewise.
14603         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
14604         (ASM_OUTPUT_DESTRUCTOR): Likewise.
14605         (ASM_OUTPUT_DEF): Likewise.
14606         (HANDLE_SYSV_PRAGMA): Removed.
14607         (NO_IMPLICIT_EXTERN_C): Likewise.
14608         (TARGET_MEM_FUNCTIONS): Likewise.
14609         (STARTFILE_SPEC): Likewise.
14610         (ENDFILE_SPEC): Likewise.
14611         (LIB_SPEC): Likewise.
14612         (INVOKE__main): Likewise.
14613         (CTOR_LIST_BEGIN): Likewise.
14614         (CTOR_LIST_END): Likewise.
14615         (DTOR_LIST_BEGIN): Likewise.
14616         (DTOR_LIST_END): Likewise.
14617         (SET_ASM_OP): Likewise.
14618         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14619         (ASM_OUTPUT_DEF): Likewise.
14620         (ASM_OUTPUT_IDENT): Likewise.
14621
14622         * config/mips/mips.h (ASM_SPEC): Undefine before define.
14623         (CPLUSPLUS_CPP_SPEC): Likewise.
14624         (ASM_APP_ON) Redefine only if not defined.
14625         (ASM_APP_OFF): Likewise.
14626         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14627         (ASM_OUTPUT_IDENT): Likewise.
14628
14629         * config.gcc: Update tm_file for Linux/mips.
14630
14631 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
14632
14633         * cselib.c (cselib_record_sets): If insn is predicated, turn
14634         sources into IF_THEN_ELSEs.
14635
14636         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
14637         Turn into define_insn_and_split.
14638
14639         * sched-deps.c: Include "cselib.h".
14640         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
14641         Use cselib to turn memory addresses into VALUEs.
14642         (sched_analyze): Call cselib_init/cselib_finish if necessary.
14643         * sched-int.h (struct sched_info): New member USE_CSELIB.
14644         * sched-ebb.c (ebb_sched_info): Initialize it.
14645         * sched-rgn.c (rgn_sched_info): Likewise.
14646         * Makefile.in (sched-deps.o): Update dependencies.
14647
14648         * cselib.h (cselib_subst_to_values): Declare.
14649         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
14650         that have no value and autoincs to be handled by generating a new
14651         dummy value.
14652
14653 2001-08-08  Graham Stott  <grahams@redhat.com>
14654
14655         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
14656         within fixed length SEQUENCE.
14657
14658 2001-08-08  Graham Stott  <grahams@redhat.com>
14659
14660         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
14661         (diagnostic_prefixing_rule): Likewise.
14662         (diagnostic_line_cutoff): Likewise.
14663         (diagnostic_kind_count): Likewise.
14664
14665 2001-08-08  Graham Stott  <grahams@redhat.com>
14666
14667         * alias.c (find_base_decl): Delete redundent assignment.
14668
14669 2001-08-08  Graham Stott  <grahams@redhat.com>
14670
14671         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
14672         (abs): Uppercase and paranthesize macro parameter.
14673         (MEM_DEPENDENCY): Add whitespace.
14674
14675 2001-08-08  Graham Stott  <grahams@redhat.com>
14676
14677         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
14678         failure check for CONST_INT
14679
14680 2001-08-08  Graham Stott  <grahams@redhat.com>
14681
14682         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
14683         (libcall_dead_p): Likewise.
14684
14685         (mark_used_regs): Constify fmt.
14686         (find_use_as_address): Likewise.
14687
14688 2001-08-08  Graham Stott  <grahams@redhat.com>
14689
14690         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
14691          parameter.
14692
14693 2001-08-08  Graham Stott  <grahams@redhat.com>
14694
14695         * combine.c (combine_simplify_rtx): Update comment and
14696         remove erroneous test.
14697
14698 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14699
14700         * cppinit.c (cpp_finish): Pop the final buffer without comment.
14701         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
14702         take care to avoid multiple no-newline at EOF warnings in that
14703         case.
14704
14705 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
14706
14707         * calls.c (expand_call): Do not emit INSN_SETJMP note.
14708         (emit_library_call_value_1): Likewise.
14709         (emit_call_1): Emit REG_SETJMP note.
14710         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
14711         of INSN_SETJMP
14712         * cselib.c (cselib_process_insn): Likewise.
14713         * flow.c (propagate_block): Likewise.
14714         * loop.c (find_and_verify_loops): Likewise.
14715         * reload.c (find_equiv_regs): Likewise.
14716         * reload1.c (reload): Likewise.
14717         * resource.c (mark_referenced_resources,
14718         mark_set_resources): Likewise.
14719         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
14720         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
14721         * haifa-sched.c (unlink_other_notes): Likewise.
14722         (reemit_notes): Likewise.
14723         * sched-ebb.c (sched_ebb): Likewise.
14724         * sched-rgc.c (sched_region): Likewise.
14725         * rtl.c (note_insn_name): Likewise.
14726         (reg_note_name): Add REG_SETJMP
14727         * rtl.h (reg_note): Add REG_SETJMP.
14728         (insn_note): Remove NOTE_INSN_SETJMP.
14729
14730         * profile.c (branch_prob): Add fake edges for setjmp.
14731
14732 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
14733
14734         * config.gcc: Quote target_cpu_default2 correctly for
14735         powerpc*-*-* targets.
14736
14737 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14738
14739         * cpplib.h, line-map.h: Update comments.
14740         * cppmain.c (printer_init): Move inline.
14741         (maybe_print_line, print_line): Take a map pointer.
14742         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
14743         (cb_file_change): Don't use prior value of print.map.
14744
14745 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
14746
14747         * doc/install.texi: Document fine-grained multilib configuration.
14748
14749 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
14750
14751         * rtlanal.c (find_first_parameter_load): Call note_stores
14752         only on the instructions.
14753
14754 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14755
14756         * alias.c (nonlocal_mentioned_p):
14757         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
14758         * calls.c (emit_call_1): Likewise.
14759         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
14760         * cselib.c (cselib_process_insn): Likewise.
14761         * df.c (df_insns_modify): Likewise.
14762         * flow.c (need_fake_edge_p): Likewise.
14763         (propagate_one_insn): Likewise.
14764         * haifa-sched.c (reemit_notes): Likewise.
14765         * integrate.c (copy_insn_list): Likewise.
14766         * jump.c (delete_prior_computation): Likewise.
14767         * local-alloc.c (validate_equiv_mem): Likewise.
14768         * loop.c (scan_loop): Likewise.
14769         * predict.c (estimate_probability): Likewise.
14770         * reload.c (reload): Likewise.
14771         * sched-deps (sched_analyze): Likewise.
14772         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
14773         * gcse.c (compute_hash_table): Likewise.
14774         (mark_call): Likewise.
14775         (store_killed_in_insn): Likewise.
14776
14777 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
14778
14779         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
14780
14781 2001-08-06  Richard Henderson  <rth@redhat.com>
14782
14783         * varasm.c (assemble_gc_entry): Remove.
14784         * output.h: Likewise.
14785
14786 2001-08-06  Richard Henderson  <rth@redhat.com>
14787
14788         * varasm.c (assemble_constructor): Take a symbol_ref and a
14789         priority instead of a bare string.  Move priority handling
14790         here from cp/decl2.c.
14791         * output.h: Update decls.
14792
14793         * c-decl.c (c_expand_body): Update calls to assemble_constructor
14794         and assemble_destructor.
14795         * profile.c (output_func_start_profiler): Likewise.
14796         * objc/objc-act.c (finish_objc): Likewise.
14797         (build_module_descriptor): Return the symbol not the symbol name.
14798
14799 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
14800
14801         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
14802         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
14803         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
14804         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
14805         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
14806         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
14807
14808 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14809
14810         * cpperror.c (print_containing_files): Moved to line-map.c.
14811         (print_location): line-map.c handles re-listing or otherwise.
14812         * cpphash.h (struct lexer_state): Remove next_bol.
14813         (struct cpp_buffer): Remove include_stack_listed.
14814         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
14815         Remove faked buffer handling.
14816         (_cpp_do_file_change): Tweak.
14817         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
14818         * cppmain.c (struct printer): Remove filename.
14819         (print_line, cb_file_change): Update accordingly.
14820         * line-map.c: Include intl.h.
14821         (init_line_maps): Initialize last_listed.
14822         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
14823         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
14824         (print_containing_files): New.
14825         * line-map.h (struct line_maps): New member last_listed.
14826         (print_containing_files, INCLUDED_FROM): New.
14827         * Makefile.in: Update.
14828         * po/POTFILES.in: Add line-map.c.
14829
14830 2001-08-06  Richard Henderson  <rth@redhat.com>
14831
14832         * except.c (convert_from_eh_region_ranges_1): Never mark
14833         USE or CLOBBER insns as throwing.
14834
14835         * expr.c (store_constructor): Don't clobber memory targets.
14836
14837 2001-08-06  Andreas Jaeger  <aj@suse.de>
14838
14839         * profile.c (branch_prob): Remove unused variable insn.
14840
14841         * Makefile.in (local-alloc.o): Add dependency on except.h.
14842
14843         * local-alloc.c: Include except.h for can_throw_internal prototype.
14844
14845 2001-08-06  Richard Henderson  <rth@redhat.com>
14846
14847         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
14848         * function.c (expand_main_function): Implement it.
14849         * doc/tm.texi: Document it.
14850
14851 2001-08-06  Stan Shebs  <shebs@apple.com>
14852
14853         * doc/install.texi: Document powerpc-*-darwin* details.
14854
14855 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
14856
14857         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
14858         (ASM_CPU_SPEC): Move back to rs6000.h
14859         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
14860
14861         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
14862
14863         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
14864         readded.
14865
14866         * config/rs6000/linux64.h: Ditto.
14867
14868         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14869         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
14870         nothing.
14871
14872         Remove accidently readded definitions of FUNCTION_PROLOGUE,
14873         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
14874
14875         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14876         to rs6000.h
14877
14878 2001-08-05  Richard Henderson  <rth@redhat.com>
14879
14880         * local-alloc.c (update_equiv_regs): Do not move insns that
14881         can throw.
14882
14883 2001-08-05  Jan Hubicka  <jh@suse.cz>
14884
14885         * Makefile.in (reload1.o): Add dedendancy on except.h
14886         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
14887         prototypes.
14888         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
14889         indicating wehther edges has been cleaned up.
14890         * reload1.c: Inlucde except.h
14891         (fixup_abnormal_edges): Accept deleted insns.
14892         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
14893         after combine.
14894
14895 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14896
14897         * cpplib.c (do_line): Correct line number after pop_buffer.
14898
14899 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14900
14901         PR preprocessor/3824
14902         * line-map.c: Update comments.
14903         * line-map.h: Update comments.
14904         * tradcif.y: Don't consider large numbers unsigned.
14905
14906 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14907
14908         PR preprocessor/3081
14909         * c-lex.c (map): New.
14910         (cb_file_change): Update map and use it.
14911         (cb_def_pragma, cb_define, cb_undef): Use map and line.
14912         (c_lex): Update to use map.
14913         * cpperror.c (print_location): Move to using logical line numbers.
14914         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
14915         (cpp_make_system_header): Similarly.
14916         (_cpp_execute_include): Stop line numbering hacks.  Store the
14917         line we will return to.
14918         * cpphash.h (CPP_BUF_LINE): Remove.
14919         (struct cpp_buffer): Remove lineno and pseudo_newlines.
14920         Add map and return_to_line.
14921         (_cpp_do_file_change): Update.
14922         * cppinit.c (cpp_start_read): Update line kludge.
14923         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
14924         (trigraph_ok): Use logical line numbers for diagnostics.
14925         (skip_block_comment): Likewise.
14926         (skip_whitespace): Likewise.
14927         (skip_line_comment): Use pfile->line instead.
14928         (_cpp_lex_token): Update to use logical line numbering exclusively.
14929         Handle BOL locally.  Accept new lines in directives, but keep
14930         pfile->line decremented.  Diagnostics use logical lines.  Update
14931         directive handling.
14932         * cpplib.c (SEEN_EOL): New.
14933         (skip_rest_of_line, check_eol): Use it.
14934         (end_directive): Increase line number when accepting the newline
14935         at the end of a directive.
14936         (run_directive): Simplify.
14937         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
14938         (_cpp_do_file_change): Update to take buffer line number as an
14939         argument, and store the current map in the cpp_reader.  Remove
14940         line number kludges.
14941         (_cpp_do__Pragma): Restore output position after a _Pragma.
14942         (cpp_push_buffer): Don't set output line or lineno.
14943         (_cpp_pop_buffer): Transfer more info from a faked buffer.
14944         Remove line kludge.  Set output_line.
14945         * cppmacro.c (builtin_macro): Update handling of __LINE__.
14946         (parse_arg): Use logical lines.
14947         (save_lookahead_token): Save EOFs too now.
14948         * cppmain.c (struct printer): Fix comments.
14949         (printer_init): Simplify, let caller do errors.
14950         (scan_translation_unit, check_multiline_token, dump_macro): Update.
14951         (maybe_print_line): Simplify.
14952         (print_line): Don't print a linemarker if -P.
14953         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
14954         (cb_file_change): Simplify.
14955         * line-map.h (LAST_SOURCE_LINE): Fix.
14956         (CURRENT_LINE_MAP): New.
14957
14958 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
14959
14960         * doloop.c (doloop_modify_runtime): Properly compute number of
14961         iterations if loop was unrolled.
14962
14963         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
14964         if their CSELIB_VAL_PTRs are.
14965
14966         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
14967         (setup_spill_pointers): Initialize it.
14968         (spill_restore_mem): Set it.
14969         (do_spill, do_restore): Use it to add REG_INC note.
14970         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
14971
14972         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
14973         asms if other insns are available.
14974
14975         * config/ia64/ia64.c (condop_operator): New predicate.
14976         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
14977         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
14978         patterns.
14979
14980         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
14981         temporary register than directly using a MEM.
14982
14983 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14984
14985         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
14986         parameter in last change.
14987
14988 2001-08-04  Zack Weinberg  <zackw@panix.com>
14989
14990         * sparc.md: Don't use #if inside C test expression.
14991
14992 2001-08-04  Richard Henderson  <rth@redhat.com>
14993
14994         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
14995
14996 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14997
14998         * cpphash.h (struct cpp_reader): New member directive_line.
14999         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
15000         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
15001         do_pragma): Pass line to callbacks.
15002         (start_directive): Record line of directive.
15003         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
15004         cb_include): Similarly.
15005         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
15006         Similarly.
15007
15008 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15009
15010         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
15011         comment.
15012
15013 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15014
15015         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
15016
15017         * reload1.c (fixup_abnormal_edges): New static function.
15018         (reload): Use it.
15019
15020         * flow.c (need_fake_edge_p): New function.
15021         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
15022         avoid call insn to be very last insn in the insn stream.
15023
15024         * profile.c (branch_prob): Call flow_call_edges_add instead of
15025         doing that by hand; cleanup cfg to re-merge basic blocks once
15026         we are done.
15027
15028 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15029
15030         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
15031         are also on line-map.h.
15032         * cppfiles.c (stack_include_file): Update.
15033         * cpphash.h (struct cpp_buffer): New member return_at_eof.
15034         (_cpp_pop_buffer): New.
15035         * cppinit.c (cpp_destroy, cpp_finish): Update.
15036         (do_includes): Mark each buffer to return at EOF.
15037         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
15038         return as requested.
15039         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
15040         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
15041         * cpplib.h (cpp_pop_buffer): Remove.
15042         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
15043         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
15044         buffers.
15045         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
15046         to pop buffers.
15047         (do_preprocessing): Update.
15048         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
15049         * c-parse.in (_yylex): Similarly.
15050         * scan-decls.c (scan_decls): Similarly.
15051         * line-map.h: Update comments.
15052
15053         * objc/Make-lang.in (objc-act.o): Update dependencies.
15054
15055 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15056
15057         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
15058         and soft register for operand 0.
15059         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
15060
15061 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15062
15063         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
15064         register for operand 0.
15065         ("bitcmpqi_z_used"): Allow memory for operand 0.
15066         (split "bitcmpqi"): New split to handle address reg as operand 1.
15067
15068 2001-08-04  Andreas Jaeger  <aj@suse.de>
15069
15070         * gcse.c: Revert Daniel's last patch.
15071
15072 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15073
15074         * sparc-protos.h: Add prototypes for fp_zero_operand and
15075         reg_or_0_operand.
15076         * sh-protos.h: Add prototype for fpul_operand.
15077
15078 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15079
15080         * doc/extend.texi (Other Builtins): Fix typo in last change.
15081
15082 2001-08-03  Richard Henderson  <rth@redhat.com>
15083
15084         * target.h (gcc_target): Add asm_out.named_section,
15085         section_type_flags, have_named_sections.
15086         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
15087         (TARGET_HAVE_NAMED_SECTIONS): New.
15088         (TARGET_SECTION_TYPE_FLAGS): New.
15089
15090         * Makefile.in (toplev.o): Depend on TARGET_H.
15091         (varasm.o, dbxout.o): Likewise.
15092         * c-common.c (decl_attributes): Check targetm.have_named_sections
15093         instead of ifdef ASM_OUTPUT_SECTION_NAME.
15094         * dbxout.c (dbxout_function_decl): Likewise.
15095         (dbxout_function_end): Likewise.
15096         * toplev.c (compile_file): Likewise.
15097         * varasm.c (exception_section): Likewise.
15098         * cp/decl2.c (finish_objects): Likewise.
15099
15100         * defaults.h (EH_FRAME_SECTION): Remove.
15101         (EH_FRAME_SECTION_ASM_OP): Remove.
15102         (EH_FRAME_SECTION_NAME): New.
15103         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
15104         (UNIQUE_SECTION_P): Remove.
15105         * dwarf2out.c (SECTION_FORMAT): Remove.
15106         (ASM_OUTPUT_SECTION): Remove.
15107         (output_call_frame_info): Use named_section_flags.
15108         (output_comp_unit, dwarf2out_start_source_file): Likewise.
15109         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
15110         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
15111         * varasm.c (in_eh_frame, eh_frame_section): Remove.
15112         (named_section_flags): New.
15113         (named_section): Use it and targetm.section_type_flags.
15114         (resolve_unique_section): New.
15115         (assemble_start_function): Use it.
15116         (asm_emit_uninitialised, assemble_variable): Likewise.
15117         (default_section_type_flags): New.
15118         (default_no_named_section, default_elf_asm_named_section): New.
15119         (default_coff_asm_named_section, default_pe_asm_named_section): New.
15120         * output.h: Update varasm.c decls.
15121         (SECTION_*): New flags.
15122
15123         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
15124         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
15125
15126         * config/elfos.h (UNIQUE_SECTION_P): Remove.
15127         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
15128         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
15129         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15130         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
15131         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
15132         * config/mips/elf.h, config/mips/elf64.h: Likewise.
15133         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
15134         * config/pa/pa64-hpux.h,
15135
15136         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
15137         (TARGET_ASM_NAMED_SECTION): New.
15138         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
15139         * config/alpha/vms.h, config/arm/coff.h: Likewise.
15140         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
15141         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
15142         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
15143         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
15144         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15145         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
15146         * config/i386/sco5.h, config/i386/win32.h: Likewise.
15147         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
15148         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
15149         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
15150         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
15151         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
15152         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
15153         * config/sparc/sysv4.h: Likewise.
15154
15155         * config/nextstep.h: Error until named sections implemented.
15156
15157         * config/a29k/a29k.c (a29k_asm_named_section): New.
15158         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
15159         (vms_section_type_flags, vms_asm_named_section): New.
15160         * config/arm/arm.c (arm_elf_asm_named_section): New.
15161         * config/avr/avr.c (asm_output_section_name): Remove.
15162         * config/avr/avr-protos.h: Update.
15163         * config/c4x/c4x.c (c4x_asm_named_section): New.
15164         * config/h8300/h8300.c (h8300_asm_named_section): New.
15165         * config/i386/i386.c (sco_asm_named_section): New.
15166         * config/i386/winnt.c (SECTION_PE_SHARED): New.
15167         (i386_pe_section_type_flags): New.
15168         (i386_pe_asm_named_section): New.
15169         * config/i386/i386-protos.h: Update.
15170         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
15171         * config/mcore/mcore.c (mcore_asm_named_section): New.
15172         * config/mips/mips.c (iris6_asm_named_section): New.
15173         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
15174         instead of UNIQUE_SECTION_P.
15175         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
15176         (xcoff_asm_named_section): New.
15177         * config/sh/sh.c (sh_asm_named_section): New.
15178         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
15179
15180         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
15181         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
15182         (EH_FRAME_SECTION_NAME): New.
15183         (EXCEPTION_SECTION): New.
15184         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
15185         (DEBUG_*_SECTION): Remove.
15186         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
15187         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
15188         (EH_FRAME_SECTION_ASM_OP): Remove.
15189
15190         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
15191         (ASM_OUTPUT_SECTION_NAME): Remove.
15192         (TARGET_ASM_NAMED_SECTION): New.
15193         (TARGET_HAVE_NAMED_SECTIONS): New.
15194         (TARGET_SECTION_TYPE_FLAGS): New.
15195         (EH_FRAME_SECTION_ASM_OP): Remove.
15196         (EH_FRAME_SECTION_NAME): New.
15197
15198 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15199
15200         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
15201         for complex expressions when cfun == 0.
15202         * doc/extend.texi: Document that __builtin_constant_p can be
15203         used in data initializers as well as functions.
15204
15205 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
15206
15207         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
15208         variable I locally, instead of expecting a declaration in the
15209         calling context.
15210
15211 2001-08-03  Richard Henderson  <rth@redhat.com>
15212
15213         * except.c (collect_one_action_chain): Add an explicit cleanup
15214         action if regions surrounding a catch were encoded entirely
15215         within the call-site entry.
15216
15217 2001-08-03  Richard Henderson  <rth@redhat.com>
15218
15219         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
15220         don't take REGNO of a non-register.
15221
15222 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15223
15224         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
15225         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
15226         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
15227         (__gthread_mutex_init_function): New function for mutex initialization.
15228
15229 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15230
15231         * Makefile.in: Revert screwed up commit.
15232
15233 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15234
15235         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15236         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15237         merged by linker script to get a final _exit().
15238         (__do_global_dtors): New for destructor handling in specific exit
15239         section.
15240         (__do_global_ctors): New for constructors in specific install section.
15241         (__map_data_section): Map data sections before running constructors.
15242         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15243         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15244         (DTORS_SECTION_ASM_OP): Likewise.
15245         (CTORS_SECTION_FUNCTION): Define to force a reference to
15246         __do_global_ctors.
15247         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15248
15249 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15250
15251         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
15252
15253         * Makefile.in: Add df.h to gcse.c dependencies.
15254
15255 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15256
15257         * varasm.c (output_constant_def_contents): Use for the length of a
15258         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15259         depending on which is larger.
15260
15261 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15262
15263         * gcse.c: Include df.h for use as a dataflow analyzer.
15264         Remove regvec.
15265         Declaration of reg_set_info: gone.
15266         New df_analyzer variable used by store motion.
15267         (reg_set_info): Deleted.
15268         (mark_mem_regs): New function, analyze regs used by a mem.
15269         (store_ops_ok): Use dataflow analyzer results to determine if
15270         necessary regs are changed in the block.
15271         (find_moveable_store): Remove check for symbol ref, we can handle
15272         much more complex expressions now.
15273         (compute_store_table): Remove most of the code, it's unnecessary
15274         now that the dataflow analyzer records the info for us.
15275         (store_killed_after): Add parameter to say whether to do the
15276         store_ops_okay test, used to speed up testing when we already know
15277         the answer, and just want to know if the store itself was killed.
15278         (build_store_vector): Largely rewritten to calculate the various
15279         vectors properly, and somewhat optimized.
15280         (store_motion): Init the df_analyzer, get REG_DEF chains.
15281         Also handle trapping expressions (since mems almost always trap)
15282         (simple_mem): Redefine what a simple mem is.
15283
15284 2001-08-03  DJ Delorie  <dj@redhat.com>
15285
15286         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15287         set from a constant part of the condition.
15288
15289 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15290
15291         * mkdeps.c (deps_add_default_target): Make local variable
15292         ``start'' a const char pointer.
15293         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15294
15295 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15296
15297         * doc/install.texi (Configuration): Fix markup.
15298         (Specific, i?86-*-udk): Likewise.
15299         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15300         --with-gnu-ld.
15301         Document --enable-threads and --enable-libgcj status.
15302         (Specific, mips-sgi-irix*): Canonicalize triples.
15303         (Specific, mips-sgi-irix5): Warn about problems with this config.
15304         Mention required GNU as patch.
15305         Native assembler problems are fixed.
15306         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15307         Document --enable-threads and --enable-libgcj status.
15308
15309 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15310
15311         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15312         of mkinstalldirs.
15313
15314 2001-08-03  Richard Henderson  <rth@redhat.com>
15315
15316         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15317         constant data.
15318
15319 2001-08-03  Richard Henderson  <rth@redhat.com>
15320
15321         * rtlanal.c (find_first_parameter_load): Stop if we
15322         reach a CODE_LABEL at BOUNDARY.
15323
15324 2001-08-03  Richard Henderson  <rth@redhat.com>
15325
15326         * config/alpha/alpha.md (force_movdi): New insn.
15327         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15328         Tweek FRP marking of VMS prologue insns.
15329         * config/alpha/vms.h (EPILOGUE_USES): New.
15330
15331 2001-08-02  Richard Henderson  <rth@redhat.com>
15332
15333         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15334
15335 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15336
15337         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15338         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15339         config/convex/convex.h, config/d30v/d30v.c,
15340         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15341         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15342         config/mips/mips.h, config/mn10200/mn10200.h,
15343         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15344         config/v850/v850.h, config/vax/openbsd.h,
15345         config/vax/openbsd1.h, config/vax/ultrix.h,
15346         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15347         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15348         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15349         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15350         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15351         in comments and documentation.
15352
15353 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15354
15355         * line-map.c: New.
15356         * line-map.h: New.
15357         * Makefile.in (line-map.o): New.
15358         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15359         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15360         * cpperror.c (print_containing_files): Similarly.
15361         (print_location): Update.  Don't output a space before _Pragma.
15362         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15363         (stack_include_filee, cpp_make_system_header): Update.
15364         (_cpp_execute_include): Get logical line number right for calling
15365         as-yet-unterminated #include.
15366         * cpphash.h (struct cpp_reader): Add line_maps.
15367         (_cpp_do_file_change): Update.
15368         * cppinit.c (cpp_create_reader): Initialize line maps.
15369         (cpp_destroy): Destroy line maps.
15370         (cpp_start_read): Get logical line number right.
15371         * cpplex.c (parse_string): Only warn once for multi-line strings.
15372         Use boolean variable for null warning.
15373         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15374         already.
15375         (do_include_common): End the directive early.
15376         (do_line): Don't warn about out-of-range lines in preprocessed
15377         source.  Update.  Remove unused variables.
15378         (_cpp_do_file_change): Update for new line mapping.
15379         (pragma_cb): New typedef.
15380         (cpp_register_pragma): Stop looking ahead before calling the
15381         handler.  Clean up.
15382         (do_pragma_system_header): End directive early.
15383         (cpp_get_line_maps): New.
15384         (cpp_pop_buffer): Fudge logical line.  Update.
15385         * cpplib.h: Include line-map.h
15386         (enum cpp_fc_reason): Remove.
15387         (struct cpp_file_change): Update.
15388         (cpp_get_line_maps): New.
15389         * cppmain.c (struct_printer): New member map.
15390         (cb_file_change): Update for new mappings.
15391         * fix-header.c (cb_file_change): Similarly.
15392
15393 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15394
15395         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15396         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15397
15398 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15399
15400         * config/vax/vax.c: include expr.h.
15401
15402 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15403
15404         * Makefile.in ($(srcdir)/configure): Only rebuild in
15405         maintainer mode.
15406         ($(srcdir)/config.in): Only define in maintainer mode.
15407         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15408
15409 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15410
15411         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15412
15413 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15414
15415         * gcc.c (set_collect_gcc_options): New function, split out from
15416         main.
15417         Ignore elided switches.
15418         (do_spec_1): Invoke before executing command.
15419         (set_input): Export.
15420         Move declaration ...
15421         * gcc.h (set_input): ... here.
15422         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15423         file.
15424
15425 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15426
15427         Kill -fhonor-std.
15428         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15429         interaction.
15430         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15431
15432 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15433
15434         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15435         for the unnamed instructions it expands to.
15436
15437 2001-08-02  Richard Henderson  <rth@redhat.com>
15438
15439         * regclass.c (call_really_used_regs): Conditionally define.
15440         (init_reg_sets_1): Don't use it if not defined.
15441         (fix_register): Similarly, don't set it.
15442
15443 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15444
15445         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15446         Correct comment that had been missed in the previous change.
15447
15448 2001-08-01  Stan Shebs  <shebs@apple.com>
15449
15450         * config/darwin.c (machopic_stub_name): Try matching by name.
15451         (update_stubs): New function.
15452         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15453         unconditionally.
15454
15455 2001-08-01  Richard Henderson  <rth@redhat.com>
15456
15457         * except.c (output_function_exception_table): Use assemble_align.
15458         * varasm.c (assemble_eh_label): Remove.
15459         (assemble_eh_align, assemble_eh_integer): Remove.
15460
15461 2001-08-01  Robert Lipe  <robertl@caldera.com>
15462
15463         * dwarfout.c: Remove reference to README.DWARF.
15464
15465 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15466
15467         * regclass.c (call_really_used_regs): New array for registers which
15468         are actually used by a call.
15469         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15470         new array.
15471         (fix_register): Set call_really_used too.
15472         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15473         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15474
15475 2001-08-01  Richard Henderson  <rth@redhat.com>
15476
15477         * read-rtl.c (read_name): Consider \r whitespace.
15478
15479 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15480
15481         * config.gcc: Recognize powerpc-*-netbsd*.
15482
15483         * doc/install.texi (Host/target specific installation notes for
15484         GCC): Mention powerpc-*-netbsd*.
15485
15486         * config/rs6000/netbsd.h: New file.
15487         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15488         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15489         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15490         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15491         (TARGET_VERSION): Redefine.
15492
15493         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15494         mcall-netbsd as a match for mcall-sysv.
15495         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15496         (ncrti.S, ncrtn.S): New targets.
15497         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15498
15499         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15500         "netbsd' as a V4 ABI.
15501         (ASM_SPEC): Check for -mcall-netbsd.
15502         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15503         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15504         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15505         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15506         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15507         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15508         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15509
15510         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15511         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15512
15513 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15514
15515         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15516         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15517         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15518         including "unwind-pe.h".
15519
15520 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15521
15522         * rs6000.md (define_splits): Kill unused constraints.
15523
15524 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
15525                               Jan Hubicka  <jh@suse.cz>
15526
15527         * function.c (thread_prologue_and_epilogue_insns): Kill code
15528         dealing with non-existent CFG.
15529
15530 2001-08-01  Kazu Hirata  <kazu@hxi.com>
15531
15532         * alias.c: Fix comment formatting.
15533         * bitmap.c: Likewise.
15534         * builtins.c: Likewise.
15535         * calls.c: Likewise.
15536         * c-common.c: Likewise.
15537         * c-decl.c: Likewise.
15538         * c-dump.c: Likewise.
15539         * c-lex.c: Likewise.
15540         * collect2.c: Likewise.
15541         * combine.c: Likewise.
15542         * conflict.c: Likewise.
15543         * cppfiles.c: Likewise.
15544         * cppinit.c: Likewise.
15545         * cpplex.c: Likewise.
15546         * cpplib.c: Likewise.
15547         * cppmacro.c: Likewise.
15548         * cppspec.c: Likewise.
15549         * c-pragma.c: Likewise.
15550         * crtstuff.c: Likewise.
15551         * cse.c: Likewise.
15552         * cselib.c: Likewise.
15553         * c-semantics.c: Likewise.
15554         * c-typeck.c: Likewise.
15555
15556 2001-08-01  H.J. Lu <hjl@gnu.org>
15557
15558         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
15559
15560 2001-08-01  H.J. Lu <hjl@gnu.org>
15561
15562         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
15563
15564 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
15565
15566         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
15567         contextualizing Objective-C class name lookup by the lexer.
15568         (typespec_reserved_nonattr): Disable ObjC class name lookup after
15569         seeing a TYPESPEC.
15570         (protocoldef): Add support for forward @protocol declarations.
15571         (yylexname): Suppress ObjC class name lookup in certain contexts;
15572         re-enable after lookup is complete.
15573         (_yylex): Re-enable ObjC class name lookup when certain
15574         punctuation marks are seen.
15575
15576         * objc/objc-act.c (check_protocol_recursively): New function used
15577         for finding circular dependencies in protocols.
15578         (objc_declare_protocols): New function for handling forward
15579         @protocol declarations.
15580         (receiver_is_class_object): Detect the case when 'self' is used
15581         inside of a class method.
15582         (build_message_expr): Issue a warning if class method is desired
15583         but instance method is found instead.
15584         (conforms_to_protocol): Streamline.
15585         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
15586         protocol Foo, even if 'Bar foo' does not.
15587         (check_protocols): Streamline.
15588         (start_protocol): Add checks for circular and duplicate protocol
15589         definitions.
15590         (encode_aggregate_within): For typedefs of structs, encode the
15591         underlying struct.
15592         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
15593         (objc_declare_protocols): New prototype.
15594
15595 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15596
15597         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
15598         * cpplex.c (handle_newline): Update prototype.  Maintain logical
15599         line number.
15600         (skip_escaped_newlines, skip_block_comment, parse_string):
15601         Update accordingly.
15602         (_cpp_lex_token): Update, and store token position within the token.
15603         * cpplib.h (struct cpp_token): Add line and column entries.
15604         * cppmacro.c (replace_args): Position stringified tokens correctly.
15605
15606 2001-08-01  Andreas Jaeger  <aj@suse.de>
15607
15608         * basic-block.h: Add prototype for last_loop_beg_note.
15609
15610 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
15611
15612         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
15613         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
15614         comment.
15615         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
15616         while handling WITH_CLEANUP_EXPR node. Use second operand calling
15617         expand_decl_cleanup.
15618         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
15619         the first RTX.
15620         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
15621         operand while calling simple_cst_equal.
15622         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
15623         operand is the cleanup expression, the third is the RTL_EXPR.
15624         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
15625
15626 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
15627
15628         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
15629
15630 2001-07-31  matthew green  <mrg@eterna.com.au>
15631
15632         * config.gcc (i386-*-netbsdelf): New description.
15633         * config/i386/netbsd-elf.h: New file.
15634
15635 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
15636
15637         * loop.c (check_dbra_loop): Use single_set to compute
15638         jump_label.
15639
15640 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
15641
15642         PowerPC reorg and support for powerpc64-*-linux*.
15643
15644         Also fixes emitting of constants on 32 bit and 64 bit
15645         platforms.
15646
15647         * config.gcc: powerpc64-*-linux* is a new target.
15648         Things that needed aix.h now also include xcoff.h
15649
15650         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
15651         xcoff.h.
15652         Move AIX specific stuff into aix.h.
15653         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
15654         with more than just XCOFF now.
15655         (SET_ASM_OP): Remove, now defined where needed.
15656         (FUNCTION_PROLOGUE): New macro definition.
15657         (FUNCTION_EPILOGUE): New macro definition.
15658         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
15659
15660         * config/rs6000/xcoff.h: New file.
15661
15662         * config/rs6000/linux64.h: New file.
15663
15664         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
15665
15666 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
15667
15668         * rs6000.c (print_operand_address): Handle ELF syntax.
15669         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
15670         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
15671         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
15672
15673 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
15674
15675         * rs6000.c (rs6000_override_options): Only disable
15676         flag_function_sections for XCOFF.
15677         (exact_log2_cint_operand): New predicate.
15678         (reg_or_{add,sub}_cint64_operand): New predicates.
15679         (add_operand): Compare CONST_INT with fewer function calls.
15680         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
15681         (print_operand, case 'p'): Ensure positive operand.
15682         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
15683         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
15684         (PREDICATE_CODES): Add new predicates.
15685         * rs6000.md (addsi3): Split 32-bit constants more correctly.
15686         (divsi3, modsi3): Ensure positive power-of-2.
15687         (adddi3): Use new predicate.  Split 32-bit constants more
15688         correctly.  Re-arrange splitter to handle any constant.
15689         (subdi3): Use new predicate.
15690         (divdi3, moddi3): Ensure positive power-of-2.
15691         (movdi): Use rs6000_emit_set_const.
15692         (load_toc_v4_pic_di): Delete.
15693
15694 2001-07-31  Graham Stott <grahams@redhat.com>
15695
15696         * function.c (pad_below): Revert 2001-07-26 patch.
15697
15698 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15699
15700         * reg-stack (convert_regs_1): Fix best edge condition.
15701
15702 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15703
15704         * jump.c (duplicate_loop_exit_test): Better test for jumps
15705         entering the loop; create loop pre_header.
15706
15707 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
15708
15709         * doc/install.texi: Add s390 and s390x as new targets.
15710         * doc/invoke.texi: Add documentation of S/390 and zSeries
15711         target options.
15712         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
15713
15714 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15715
15716         * config/m68k/m68k.md: Replace all general_operand with
15717         nonimmediate_operand for all destinations.
15718         * config/m68k/m68k.c (not_sp_operand): Likewise.
15719
15720 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
15721
15722         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
15723
15724 2001-07-30  Richard Henderson  <rth@redhat.com>
15725
15726         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
15727         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
15728
15729 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15730
15731         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
15732         Add missing doc strings
15733         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
15734         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
15735
15736 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
15737
15738         * i386.c (ix86_output_main_function_alignment_hack): New function.
15739         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
15740
15741         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
15742         edges by EDGE_DFS_BACK flag.
15743         (dump_edge_info): Add dfs_back flag.
15744         * basic-block.h (EDGE_DFS_BACK): New constant.
15745         (mark_dfs_back_edges): Declare.
15746         * alias.c (loop_p): Remove.
15747         (mark_constant_function): Use mark_dfs_back_edges.
15748
15749         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
15750         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
15751         (compensate_edge): Break out from ...
15752         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
15753         (convert_regs_2): Set block_done once block is really done;
15754         Do updating of the predecessors counts.
15755
15756         * toplev.c (rest_of_compilation): Recompute block_for_insn
15757         before post-reload cfg_cleanup.
15758         * function.c (thread_prologue_epilogue_insns):
15759         Call set_block_for_new_insns when emitting prologue directly.
15760
15761 2001-07-30  Andreas Jaeger  <aj@suse.de>
15762
15763         * jump.c: Add prototype for mark_modified_reg.
15764
15765         * cse.c (set_live_p): Add unused attribute.
15766
15767         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
15768         overflow.
15769         (scan_for_source_files): Use long for count to avoid overflow.
15770         (output_data): Likewise.
15771         (output_data): Don't use string concatatenation to silence gcc
15772         -traditional.
15773
15774         * predict.c: Fix typos and grammar.
15775
15776         * gcse.c (insert_insn_end_bb): Remove unused variables.
15777
15778 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
15779
15780         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
15781         (attempt_auto_inc): LIkewise.
15782         (mark_used_reg): Likewise.
15783         (try_pre_increment_1): Likewise.
15784         * regclass.c (regclass): Likewise.
15785         * global.c (allocno_compare): Update comment; change scaling factor.
15786         * local-alloc.c (QTY_CMP_PRI): Likewise.
15787         * regs.h (REG_FREQ_FROM_BB): New.
15788         (REG_FREQ_MAX): Likewise.
15789
15790 2001-07-30  H.J. Lu <hjl@gnu.org>
15791
15792         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
15793         -D_GNU_SOURCE.
15794
15795 2001-07-30  H.J. Lu  (hjl@gnu.org)
15796
15797         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
15798         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
15799         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
15800
15801 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
15802
15803         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
15804         as -mthumb-interwork when -mcpu=arm7 is specified.
15805
15806 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15807
15808         * predict.def (noreturn, loop branch, loop exit): Mark as first
15809         match heuristics.
15810
15811 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
15812
15813         * combine.c (try_combine): Avoid barrier after noop jumps.
15814
15815 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15816
15817         * cpphash.h (struct cpp_reader): Remove import_warning.
15818         * cpplib.c (skip_rest_of_line): Don't bother turning off
15819         macro expansion.
15820         (parse_include): Move include handling to...
15821         (do_include_common): ... here.  Move import warning from...
15822         (do_import): ... here.
15823         (do_pragma_poison): Don't do a callback for poison identifiers.
15824         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
15825         * cppmain.c (setup_callbacks): Similarly.
15826
15827 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
15828
15829         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
15830         handle multiple sets.
15831         * except.c (sjlj_mark_call_sites): .... here.
15832         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
15833
15834 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
15835
15836         Suggested by Richard Henderson and Richard Kenner:
15837         * combine.c (recog_for_combine): Use the fake recog
15838         only if instruction does not match.
15839         * rtl.h (NOOP_MOVE_INSN_CODE): New.
15840         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
15841
15842         * combine.c (try_combine): Discover noop jump as direct jump.
15843
15844 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
15845
15846         * df.c (df_rd_global_compute): Add successors to worklist, not
15847         current item.
15848         (df_ru_global_compute): Ditto.
15849
15850 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
15851
15852         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
15853         increment REG_N_SETS.
15854
15855 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15856
15857         * sbitmap.h: New prototype for sbitmap_a_xor_b.
15858
15859         * sbitmap.c (sbitmap_a_xor_b): New function.
15860         ifdef the basic block stuff on IN_GCC.
15861
15862 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15863
15864         * cppexp.c (parse_defined): Always record the macro name.
15865         (lex): Don't worry about identifiers, or special-case
15866         CPP_NOT here.
15867         (_cpp_parse_expr): Figure out at the end of the routine
15868         whether we saw a valid !defined() expression.
15869         * cppfiles.c (stack_include_file): Update for mi_valid.
15870         (_cpp_pop_file_buffer): Similarly.
15871         * cpplex.c (_cpp_lex_token): Similarly.
15872         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
15873         mi_if_not_defined, mi_lexed): Remove.
15874         (mi_valid): New.
15875         * cpplib.c (do_if): Simplify.
15876         (do_endif, push_conditional, _cpp_handle_directive): Update
15877         for renaming of mi_state to mi_valid.
15878 doc:
15879         * cpp.texi: Add index entries for digraphs, and add comment
15880         that C++ refers to them as alternative tokens.
15881
15882 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
15883
15884         * basic-block.h (CLEANUP_PRE_LOOP): New.
15885         * except.c (finish_eh_generation): Update call of cleanup_cfg.
15886         * sibcall.c (optimize_sibling_calls): Likewise.
15887         * toplev.c (rest_of_compilation): Likewise.
15888         * flow.c (try_forward_edges): Take argument MODE;
15889         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
15890         (try_optimize_cfg): Update call of try_forward_edges.
15891
15892 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15893                                 Jan Hubicka  <jh@suse.cz>
15894
15895         * (validate_replace_rtx_1): Fix simplification of MINUS.
15896
15897 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
15898
15899         PR preprocessor/3669
15900         * cppinit.c (init_dependency_output): Turn off dump requests
15901         if sending dependencies to stdout.
15902
15903 2001-07-28  Richard Henderson  <rth@redhat.com>
15904
15905         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
15906         not optimizing.
15907
15908 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
15909
15910         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
15911
15912 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15913
15914         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
15915         is VAR_DECL first to prevent an ICE.
15916
15917 2001-07-28  Richard Henderson  <rth@redhat.com>
15918
15919         * varasm.c (immed_real_const_1): Don't elide special cases for
15920         nested functions.
15921         (clear_const_double_mem): Clear const_tiny_rtx too.
15922
15923 2001-07-28  Richard Henderson  <rth@redhat.com>
15924
15925         * dwarf2out.c (dw_val_class_offset): New.
15926         (struct dw_ranges_struct, dw_ranges_ref): New.
15927         (ranges_table, ranges_table_allocated): New.
15928         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
15929         (add_AT_offset, add_ranges, output_ranges): New.
15930         (print_die, output_die): Handle dw_val_class_offset.
15931         (attr_checksum, size_of_die, value_format): Likewise.
15932         (gen_lexical_block_die): Handle non-contiguous blocks.
15933         (gen_block_die): Likewise.
15934         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
15935         if needed.  Dump the ranges table.
15936         * final.c (final_start_function): Remove unnecessary notes and
15937         rebuild the block tree before numbering the blocks.
15938         * function.c (reorder_blocks_0): Walk the existing block tree
15939         to unmark all blocks.
15940         (reorder_blocks_1): Create block fragments when duplicate block
15941         notes are seen.
15942         (reorder_fix_fragments): New.
15943         (reorder_blocks): Call it.
15944         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
15945
15946 2001-07-28  Richard Henderson  <rth@redhat.com>
15947
15948         * emit-rtl.c (adjust_address): Make a copy of the memory address.
15949
15950 2001-07-28  Richard Henderson  <rth@redhat.com>
15951
15952         * flow.c (add_to_mem_set_list): New function.
15953         (init_propagate_block_info): Use it.
15954         (mark_set_1): Likewise.
15955         (insn_dead_p): Canonicalize memory address for dead store
15956         comparison.  Allow wider mode stores to kill narrower mode stores.
15957         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
15958         (invalidate_mems_from_set): Don't handle MEMs.
15959
15960 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15961
15962         * config/h8300/h8300.h: Fix formatting.
15963
15964 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15965
15966         * basic-block.h (EDGE_FREQUENCY): New macro.
15967         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
15968         for new BB/edges.
15969         * flow.c (find_sub_basic_blocks): Likewise.
15970         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
15971         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
15972
15973         * predict.c (DEF_PREDICTOR): New argument FLAGS.
15974         (HITRATE): New macro.
15975         (PRED_FLAG_FIRST_MATCH): New constant.
15976         (predictor_info): New field flgags.
15977         (combine_predictions_for_insn): Use DS theory to combine
15978         probabilities; set the edge probabilities when finished.
15979         (estimate_probability): Avoid duplicated matches
15980         of LOOP_BRANCH heuristics for nested loops; update comment.
15981         * predict.def: Add flags for each prediction, set probabilities
15982         according to B&L paper.
15983         * predict.h (DEF_PREDICTOR): New argument FLAGS.
15984
15985         * profile.c (compute_branch_probabilities):  Cleanup way the edge
15986         probabilities are computed and REG_BR_PROB notes are dropped; if
15987         values does not match, emit error.
15988         (init_branch_prob): Do error instead of warning when profile driven
15989         feedback is missing or corrupt.
15990
15991 2001-07-27  DJ Delorie  <dj@redhat.com>
15992
15993         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
15994         against a constant, try to adjust the compare to have the desired
15995         constant in it so that min/max optimizations happen more often.
15996
15997 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15998
15999         * flow.c (last_loop_beg_note): New function.
16000         (redirect_edge_and_branch): Use it.
16001         (split_edge): Likewise.
16002
16003         * alias.c (loop_p): Avoid uninitialized memory access.
16004
16005         * flow.c (try_forward_edges): Avoid accessing freed memory.
16006
16007         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
16008         variable access.
16009
16010 2001-07-26  Andrew Haley  <aph@redhat.com>
16011         Joern Rennecke <amylaar@redhat.com>
16012
16013         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
16014         (SUBTARGET_CPP_ENDIAN_SPEC): New.
16015         (SUBTARGET_CPP_SPEC): New.
16016         (CPP_SPEC): Remove.
16017         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
16018         (SUBTARGET_CPP_PTR_SPEC): New.
16019         (CPP_DEFAULT_CPU_SPEC): New.
16020         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
16021         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16022         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
16023         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16024         (SUBTARGET_CPP_SPEC): Define as an empty string.
16025
16026 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16027
16028         * doc/install.texi (Configuration): Properly link the host
16029         specific instructions also when generating HTML.
16030
16031 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
16032
16033         * flow.c (redirect_edge_and_branch_force): Test
16034         target->global_live_at_start.
16035
16036 2001-07-26  Richard Henderson  <rth@redhat.com>
16037
16038         * simplify-rtx.c (avoid_constant_pool_reference): Export.
16039         * rtl.h (avoid_constant_pool_reference): Declare it.
16040         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
16041         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
16042
16043 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16044
16045         * rtl.h (cleanup_barriers): Declare.
16046         * jump.c (cleanup_barriers): New function.
16047         * toplev.c (rest_of_compilation): Call cleanup_barriers
16048         before loop optimizer and after bb_reorder.
16049
16050         * flow.c (back_edge_of_syntactic_loop_p): New.
16051         (split_edge): Use it.
16052
16053 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16054
16055         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
16056
16057 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
16058
16059         * cse.c (cse_process_notes): Replace any registers if the address
16060         remains valid.
16061
16062 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
16063
16064         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
16065         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
16066         (propagate_block): Update prototype.
16067         * flow.c (update_life_info): Simplify the CFG and
16068         recalculate the global regs which are alive when
16069         removing dead code during a global update.
16070         (propagate_block): Return non-zero if an INSN is
16071         deleted.
16072
16073 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16074
16075         * Makefile.in (LIBICONV): Define.
16076
16077 2001-07-26  Catherine Moore  <clm@redhat.com>
16078
16079         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
16080         of conditional to avoid tree checking errors.
16081
16082 2001-07-26  Kazu Hirata  <kazu@hxi.com>
16083
16084         * regmove.c (regmove_optimize): Don't replace a reg with
16085         another reg of a different mode.
16086
16087 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
16088
16089         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
16090         limit length of dependency flush list.
16091         * params.h (MAX_PENDING_LIST_LENGTH): Define.
16092         * sched-int.h  (struct deps): Add pending_flush_length field.
16093         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
16094         has 1 element in it.
16095         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
16096         (sched_analyze): After a jump, if the pending memory flush list is too
16097         large, flush the pending lists.
16098         (init_deps): Initialize pending_flush_length to 0.
16099         * doc/invoke.texi (max_pending_list_length): Document parameter.
16100
16101 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
16102
16103         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
16104         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
16105         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
16106
16107 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16108
16109         * cpphash.h (struct_lexer_state): Delete was_skipping.
16110         Move skipping here from struct cpp_reader.
16111         * cpplex.c (parse_identifier): Update.
16112         (_cpp_lex_token): Don't skip tokens in a directive.
16113         * cpplib.c (struct if_stack): Update.
16114         (start_directive, end_directive): Don't change skipping state.
16115         (_cpp_handle_directive): Update.
16116         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
16117         (do_else, do_endif): Update; only check for excess tokens if not
16118         in a skipped conditional block.
16119         (push_conditional): Update for new struct if_stack.
16120
16121 2001-07-26  Graham Stott  <grahams@redhat.com>
16122
16123         * function.c (locate_and_pad_parm): Also pad initial offset
16124         so that the total argument size also includes the padding.
16125
16126 2001-07-26  Graham Stott <grahams@redhat.com>
16127
16128         * gensupport.c (alter_output_for_insn): Correct enable checking failure
16129         change XSTR to XTMPL.
16130
16131         (process_one_cond_exec): Likewise
16132
16133 2001-07-25  Richard Henderson  <rth@redhat.com>
16134
16135         * varasm.c (assemble_variable): Create DECL_RTL before setting
16136         TREE_ASM_WRITTEN.
16137
16138 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
16139
16140         * predict.c (estimate_probability): Avoid duplicated predictions.
16141
16142         * loop.c (find_and_verify_loops): Grok multiple barriers.
16143
16144 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16145
16146         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
16147
16148         * dbxout.c: Consistently use putc instead of fputc.
16149         (print_wide_int): New function; call instead of direct fprintf.
16150         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
16151         (dbxout_type_fields, dbxout_type_method_1): Likewise.
16152         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
16153         (print_int_cst_octal): Likewise.
16154         (print_octal): Show we wrote characters.
16155         (dbxout_type): Set have_used_extensions in more places.
16156
16157 2001-07-25  Catherine Moore  <clm@redhat.com>
16158
16159         * config/v850/v850.c (v850_va_arg):  Use addr
16160         instead of valist to build incr.
16161
16162 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
16163
16164         * flow.c (delete_dead_jumptables): New function.
16165         (life_analyzis): Call it.
16166         * bb-reorder.c (skip_insns_after_block): Handle contradictory
16167         sequences.
16168
16169 2001-07-25  Richard Henderson  <rth@redhat.com>
16170
16171         * except.c (reachable_handlers): Handle a region being removed
16172         out from under a RESX.
16173
16174 2001-07-25  Richard Henderson  <rth@redhat.com>
16175
16176         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
16177         swap GE/GT if it is an fp comparison.
16178
16179 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
16180
16181         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
16182         operands.
16183
16184 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
16185
16186         * ssa.c (rename_insn_1): Do not wrap an assignment to a
16187         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
16188         glitch.
16189
16190         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
16191         throw an exception.
16192         (visit_expression): When attempting to simplify an expression,
16193         retrieve any modes for arguments before they are simplified
16194         to constants.
16195
16196 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16197             Janis Johnson  <janis@us.ibm.com>
16198
16199         * stmt.c (expand_goto): A nonlocal goto can be a call too.
16200         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
16201         pointer parameters to match documented usage of nonlocal_goto.
16202         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
16203         parameters to their correct order.
16204         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
16205         parameters to their correct order.
16206
16207 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16208
16209         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
16210
16211 2001-07-25  Jan Hubicka  <jh@suse.cz>
16212             Richard Henderson  <rth@redhat.com>
16213
16214         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
16215         the sequence.
16216         (make_edges): New argument update_p; populate the edge cache if set.
16217         (find_basic_blocks): Update make_edges invocation.
16218
16219 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16220
16221         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
16222
16223 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16224
16225         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
16226         -Acpu and -Amachine.h.
16227         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
16228         Corrected header to say ELF not a.out.
16229         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
16230         when given -msoft-float.
16231
16232 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16233
16234         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
16235         extra multilib parts like arm-elf.
16236         (i960-*-coff*, i960-*-rtems): Should not use collect2.
16237         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16238         crtfini.o as extra multilib parts.
16239
16240 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16241
16242         * configure.in: Add rtems as a supported thread model.
16243         * gthr-rtems.h: Add missing entry point __gthread_active_p.
16244         * configure: Rebuilt.
16245
16246 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
16247
16248         * stor-layout.c (get_mode_alignment): make it work when
16249         BITS_PER_UNIT is not a power of two.
16250         * builtins.c (get_pointer_alignment): Likewise.
16251
16252 2001-07-24  Richard Henderson  <rth@redhat.com>
16253
16254         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16255         the retrieved constant into the expected mode.
16256
16257 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16258
16259         * flow.c (try_simplify_condjump): Avoid duplicated edges.
16260         (verify_flow_info): Check for duplicated edges; clarify
16261         error reporting.
16262
16263         * flow.c (block_label): Update basic_block_for_insn.
16264         (commit_edge_insertions): Call compute_bb_for_insn.
16265
16266         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16267         returns too.
16268
16269         * flow.c (redirect_edge_and_branch,
16270         try_optimize_cfg): Use redirect_edge_succ_nodup
16271         (redirect_edge_succ_nodup): New.
16272         * basic_block.h (redirect_edge_succ_nodup): Declare.
16273
16274         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16275         after gcse.
16276
16277 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16278
16279         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16280         (try_crossjump_to_edge): Update commetns.
16281         (try_crossjump_bb): Likewise.
16282
16283 2001-07-24  Richard Henderson  <rth@redhat.com>
16284
16285         * combine.c (distribute_notes): Move set of need_refresh
16286         for noop_move_p down to catch all cases.
16287
16288 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16289
16290         * recog.c (split_all_insns_noflow): New.
16291         * rtl.h (split_all_insns_noflow): Declare.
16292         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16293         * m68hc11.c (m68hc11_reorg): Likewise.
16294         * sh.c (machine_dependent_reorg): Likewise.
16295         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16296         call.
16297
16298 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16299
16300         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16301         (ashlsi3_n splitter): Likewise.
16302         (lshrsi3_n splitter): Likewise.
16303
16304         (GOTaddr2picreg): Make const SImode.
16305         (sym_label2reg): Likewise.
16306         (symGOT2reg): Likewise.
16307         (symGOTOFF2reg) Likewise.
16308
16309         (casesi_worker_0): Make unspec SImode.
16310
16311 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16312
16313         * config/sh/sh.c (barrier_align): Check that an operand really is
16314         an insn before extracting its INSN_CODE.
16315
16316 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16317
16318         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16319         dangling else.
16320
16321         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16322         for SImode to prevent overflow.
16323
16324 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16325
16326         * config/mips/irix6-libc-compat.c: New file.
16327         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16328         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16329         passing workaround.
16330
16331 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16332
16333         * rtl.texi (REG_POINTER): Document.
16334         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16335         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16336
16337 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16338
16339         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16340
16341 2001-07-23  Richard Henderson  <rth@redhat.com>
16342
16343         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16344
16345 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16346
16347         * config/h8300/h8300-protos.h: Add a prototype for
16348         general_operand_dst_push.
16349         * config/h8300/h8300.c (general_operand_dst_push): New.
16350         * config/h8300/h8300.h (OK_FOR_T): New.
16351         (EXTRA_CONSTRAINT): Use it.
16352         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16353         the existing movqi pattern.
16354         (movhi_push): Likewise.
16355
16356         * reload.c: Fix comment typos.
16357
16358 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16359
16360         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16361
16362 2001-07-23  H.J. Lu  (hjl@gnu.org)
16363
16364         * doc/extend.texi: Update __builtin_return_address and
16365         __builtin_frame_address.
16366
16367 2001-07-23  Richard Henderson  <rth@redhat.com>
16368
16369         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16370         before CSE.
16371         * config/i386/i386.md: New setcc+movzbl peephole2.
16372
16373 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16374
16375         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16376         * objc/objc-act.c: Include debug.h.
16377         (synth_module_prologue): Save and restore debug hooks too.
16378
16379 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16380
16381         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16382         and C4X_FLOAT_FORMAT.
16383         (BOOL_TYPE_SIZE): Document.
16384
16385 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16386
16387         * unroll.c (loop_iterations): Fix miscalculation of initial
16388         giv offset.
16389
16390 2001-07-13  Andrew Haley  <aph@redhat.com>
16391
16392         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16393         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16394         * config/sh/sh.c (sh_can_redirect_branch): New function.
16395         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16396         * reorg.c (steal_delay_list_from_target): Use
16397         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16398
16399 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16400
16401         * flow.c (try_simplify_condjump): Unlink insn chain on
16402         fallthru edge; use can_fallthru.
16403
16404 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16405
16406         * basic-block.h (find_sub_basic_block): Declare.
16407         * flow.c (make_edges): New arguments MIN and MAX;
16408         (find_sub_basic_blocks): Revamp to use make_edges
16409         and purge_dead_edges.
16410         (find_basic_blocks): Update call of find_sub_basic_block.
16411
16412         * recog.c (split_all_insns): Always expect CFG to be consistent;
16413         call find_sub_basic_blocks in case something has changed.
16414         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16415         has been built.
16416
16417         * basic-block.h (delete_noop_moves): Declare.
16418         * combine.c (combine_instructions): Call it.
16419         (recog_for_combine): Tolerate noop moves
16420         (distribute_notes): Force refresh when register dies at noop move.
16421         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16422         too.
16423         (life_analysis): Update delete_noop_moves call.
16424         (set_noop_p): Move too ...
16425         * rtlanal.c (noop_move_p): ... here.
16426         * rtl.h (noop_move_p): Declare.
16427
16428         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16429         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16430         after combine.
16431         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16432         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16433
16434 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16435
16436         * reload.c (push_reload): Fix typo in comment.
16437         (find_reloads_address): Ditto.
16438         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16439
16440 2001-07-22  Richard Henderson  <rth@redhat.com>
16441
16442         * flow.c: Grammar check and clarify a lot of comments.
16443         (try_simplify_condjump): Rename variables to be clearer.
16444         (try_forward_edges): Skip complex and fallthru edges.
16445         Rearrange tests to avoid duplicate checks.
16446         (flow_find_cross_jump): Likewise.
16447         (outgoing_edges_match): Allow match if neither branch has
16448         probability data.  Loosen probability match to 5%.
16449         (try_crossjump_to_edge): Hoist repeated indirection into
16450         local variables.
16451         (try_crossjump_bb): Don't check complex edges.  Eliminate
16452         redundant crossjump tests.
16453         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16454         checks before more expensive checks.
16455
16456 2001-07-22  Richard Henderson  <rth@redhat.com>
16457
16458         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16459         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16460         arguments.
16461
16462 2001-07-22  Richard Henderson  <rth@redhat.com>
16463
16464         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16465         (const_sint32_operand): Likewise.
16466         * m68k.md (anon mulsi pattern): Use const_int_operand not
16467         const_sint32_operand.
16468         (umulsi3_highpart): Zero extend a constant input.
16469         (smulsi3_highpart): Don't bother checking SImode constant.
16470         (const_umulsi3_highpart): Give op3 DImode.
16471         (const_smulsi3_highpart): Likewise.
16472
16473 2001-07-22  Richard Henderson  <rth@redhat.com>
16474
16475         * flow.c (split_block): Make sure bb_note is included in the
16476         new block when splitting before a label.
16477
16478 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16479
16480         * basic-block.h (redirect_edge_and_branch_force,
16481         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16482         * flow.c (redirect_edge_and_branch_force,
16483         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16484         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16485         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16486         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16487         instead of label; update CFG after transformation.
16488         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16489         for finishing the transformation; handle even case where ELSE
16490         does not follow THEN.
16491         (find_if_case_2): Update call of dead_or_predictable; simplify
16492         CFG update.
16493
16494         * emit-rtl.c (split_branch_probability): New global variable.
16495         (try_split): Take care to set split_branch_probability and
16496         create REG_BR_PROB note for new jump insns.
16497         * md.texi (define_split): Document new feature.
16498
16499         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16500
16501 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16502
16503         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16504         (asm_out_file): Remove redundant declaration.
16505         (assemble_asm): Remove old #if 0 block.
16506         (assemble_variable): Remove end of function; debug output is
16507         now handled with global_decl.  Remove old #if 0 block.  Update.
16508         Remove saved_in_section and associated no-op code.
16509         * Makefile.in (varasm.o): Correct dependencies.
16510
16511 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16512
16513         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16514         the definition in defaults.h.
16515
16516 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16517
16518         * jump.c: Update comments.
16519         (delete_barrier_successors, delete_unreferenced_labels,
16520         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16521         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16522         jump_optimize, jump_optimize_minimal): Kill.
16523         (rebuild_jump_labels): Move code from jump_optimize_1.
16524         (purge_line_number_notes): Likewise.
16525         (copy_loop_headers): Likewise.
16526         * reg-stack.c: Update comment.
16527         * stmt.c: Likewise.
16528         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
16529         JUMP_AFTER_REGSCAN): Kill.
16530         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
16531         purge_line_number_notes and copy_loop_headers.
16532
16533 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
16534            Richard Henderson  <rth@redhat.com>
16535
16536         * dbxout.c (dbxout_global_decl): New.
16537         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16538         * sdbout.c (sdbout_finish): New.
16539         (sdbout_debug_hooks): Use it, add comments.
16540         (sdbout_global_decl): Defer initialised public vars to
16541         sdbout_finish.
16542         * varasm.c (assemble_variable): Don't output debug information
16543         for file-scope variables.
16544
16545 2001-07-22  Richard Henderson  <rth@redhat.com>
16546
16547         * config/alpha/alpha.c (get_trap_mode_suffix): New.
16548         (get_round_mode_suffix): New.
16549         (print_operand): Use them for [/].  Remove support for [&'`()+].
16550         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
16551         * config/alpha/alpha.md (attr round_suffix): New.
16552         (attr trap_suffix): New.
16553         (all insns): Set them appropriately.  Use %/ instead of the
16554         myriad punctuators.
16555
16556 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16557
16558         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
16559
16560 2001-07-22  Richard Henderson  <rth@redhat.com>
16561
16562         * regrename.c (regrename_optimize): Compute nregs for each
16563         potential target register.
16564
16565 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
16566            Richard Henderson  <rth@redhat.com>
16567
16568         * dbxout.c (dbxout_global_decl): New.
16569         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16570         * sdbout.c (sdbout_finish): New.
16571         (sdbout_debug_hooks): Use it, add comments.
16572         (sdbout_global_decl): Defer initialised public vars to
16573         sdbout_finish.
16574         * varasm.c (assemble_variable): Don't output debug information
16575         for file-scope variables.
16576
16577 2001-07-21  H.J. Lu  (hjl@gnu.org)
16578
16579         * config/mips/mips.c (mips_cpu): Moved into ...
16580         (override_options): Here.
16581
16582         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
16583         mips_tune.
16584         (mips_cpu): Removed.
16585
16586 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16587
16588         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
16589         ("iorqi3"): Likewise.
16590         ("xorqi3"): Likewise.
16591         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
16592         ("*subhi3_sp): Likewise.
16593         ("*subhi3"): Likewise.
16594         ("extendhisi2"): Accept D, X and Y as source operand to avoid
16595         reload problems.
16596
16597 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
16598
16599         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
16600         * config/freebsd.h: Likewise.
16601         * config/linux.h: Likewise.
16602         * config/openbsd.h: Likewise.
16603         * config/alpha/linux-elf.h: Likewise.
16604         * config/arm/linux-elf.h: Likewise.
16605         * config/d30v/d30v.h: Likewise.
16606         * config/fr30/fr30.h: Likewise.
16607         * config/ia64/aix.h: Likewise.
16608         * config/ia64/ia64.h: Likewise.
16609         * config/mips/linux.h: Likewise.
16610         * config/pj/pj.h: Likewise.
16611         * config/rs6000/linux.h: Likewise.
16612         * config/sparc/linux.h: Likewise.
16613         * config/sparc/linux64.h: Likewise.
16614
16615 2001-07-20  Bruce Korb  <bkorb@gnu.org>
16616
16617         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
16618         because getc() and char* may disagree on signedness.
16619
16620 2001-07-20  Richard Henderson  <rth@redhat.com>
16621
16622         * doc/rtl.texi (REG_DEAD): Update for current semantics.
16623
16624         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
16625         insns to delete in the presence of cc0 in a jump insn.
16626
16627 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16628                                 Jan Hubicka  <jh@suse.cz>
16629
16630         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
16631         of doing the change by hand.
16632
16633 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16634
16635         * rtlanal.c (set_noop_p): Return true for noop jumps.
16636
16637         * expr.c (emit_single_push_insn): Add call to push expander.
16638         * expr.h (optab_index): Add OTI_push
16639         (push_optab): New constant.
16640         * genopinit.c (optabs): Add push_optab.
16641         * optabs.c (init_optab): Init push optab.
16642         * md.texi (push??1): Document
16643
16644 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16645
16646         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
16647         expand to emit the pattern; put a REG_INC note for push/pop
16648         instructions.
16649         ("movdf", "movdf_internal"): Likewise.
16650         ("movsi", "movsi_internal"): Likewise.
16651         ("movsf", "movsf_internal"): Likewise.
16652         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
16653
16654 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16655
16656         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
16657         gen_highpart.
16658
16659 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
16660
16661         * params.def: Change default max inline insns to 100.
16662
16663 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
16664
16665         * combine.c (combine_simplify_rtx): Generate a new shift operation
16666         when simplifying the first operand of a (neg (ashift)) expression.
16667
16668 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16669
16670         * regclass.c (N_REG_INTS): Use only 32 bits per element.
16671
16672 2001-07-20  Kelley Cook  <kelley.cook@home.com>
16673
16674         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
16675         information.   Move rest into ...
16676         (*-*-solaris): ... here.  Eliminate redundant information and
16677         reword necessary packages section.  Delete 4.x assembler bug info.
16678         (sparc-sun-*): Merge into ...
16679         (sparc-sun-sunos*): here.
16680
16681 2001-07-20  Catherine Moore  <clm@redhat.com>
16682
16683         * config/v850/v850.md (casesi): Generate LABEL_REF
16684         with Pmode.
16685
16686 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
16687
16688         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
16689         * i386.c (ix86_zero_extend_to_Pmode): Make global.
16690         * i386.md (strclrsi expander): Use it.
16691
16692 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16693
16694         * integrate.c (copy_insn_list): handle
16695         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
16696         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
16697         identically as to CODE_LABEL.
16698
16699         * fold-const (fold): Convert A/B/C to A/(B*C) and
16700         A/(B/C) to (A/B)*C
16701
16702         * except.c (connect_post_landing_pads): Delete the RESX insns.
16703
16704 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
16705
16706         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
16707
16708         * config/mips/mips.md (nmadd/nmsub): Use macro.
16709
16710 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
16711
16712         * cppinit.c (remove_dup_dir): Make static.
16713         (remove_dup_dirs): Make static. Only warn about preempting a
16714         system directory with a non-system directory.
16715
16716 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16717
16718         * ifcvt.c (noce_try_store_flag_constants): Correct order
16719         of parameters to trunc_int_for_mode.
16720
16721 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
16722
16723         * reorg.c (fill_simple_delay_slots): If an instruction might throw
16724         an exception that will be caught within this function, do not fill
16725         its delay slot with any subsequent instruction.
16726
16727 2001-07-19  Steve Ellcey <sje@cup.hp.com>
16728
16729         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
16730         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
16731         pointer extension instruction.
16732         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
16733         * simplify-rtx.c (simplify_unary_operation) Likewise.
16734         * explow.c (convert_memory_address) Check value of
16735         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
16736         less than zero.
16737         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
16738         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
16739         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
16740         Add Multilib Support.
16741         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
16742         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
16743         Add Multilib Support.
16744         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
16745         support.
16746         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
16747         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
16748         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
16749
16750 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
16751
16752         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
16753         old and new operands in `<', `3' and `b'.
16754
16755 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16756
16757         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
16758         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
16759         (toplev.o): Don't depend on xcoffout.h.
16760         * c-decl.c: Include debug.h
16761         (duplicate_decls): Use debug hook.
16762         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
16763         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16764         (dbxout_types): Remove.
16765         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
16766         * debug.c (do_nothing_debug_hooks): Update.
16767         (debug_true_tree, debug_nothing_rtx): New.
16768         * debug.h (struct rtx_def): New.
16769         (struct gcc_debug_hooks): New hooks ignore_block,
16770         outlining_inline_function and label.
16771         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
16772         dwarf2out_frame_finish): New.
16773         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
16774         Make static, update prototype.
16775         (dwarf2_debug_hooks): Update.
16776         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
16777         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
16778         * dwarfout.c (dwarf_debug_hooks): Update.
16779         * emit-rtl.c: Include debug.h.
16780         (remove_unnecessary_notes): Use debug hook.
16781         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
16782         (final_scan_insn): Use debug hook.
16783         * integrate.c (output_inline_function): Use debug hook.
16784         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
16785         (sdb_debug_hooks): Update.
16786         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
16787         * toplev.c: Don't include xcoffout.h.
16788         (note_outlining_of_inline_function, debug_ignore_block): Remove.
16789         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
16790         Remove.
16791         * tree.h (dwarf2out_do_frame): Remove.
16792
16793 2001-07-19  Catherine Moore  <clm@cygnus.com>
16794
16795         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
16796
16797 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16798
16799         * reload1.c (eliminate_regs_in_insn): When updating a set
16800         to the frame pointer to the hardware frame pointer, perform
16801         the update always not just when REPLACE is set.
16802
16803         * reload1.c (choose_reload_regs): Don't inherit a reload
16804         that crosses multiple registers if registers past the first
16805         don't fit in the desired class.
16806
16807         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
16808         when negating constants.
16809
16810 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
16811
16812         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
16813         * doc/tree.texi: Ditto.
16814
16815 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
16816             Jakub Jelinek  <jakub@redhat.com>
16817
16818         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
16819         (extract_cie_info): Handle "eh" augmentation properly,
16820         remember eh_ptr.
16821         (struct frame_state, __frame_state_for): New.
16822
16823 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16824
16825         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
16826         HANDLE_SYSV_PRAGMA): Define.
16827         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
16828         previous args.
16829         (copy_object): Caller changed.
16830
16831 2001-07-19  Andreas Schwab  <schwab@suse.de>
16832
16833         * configure.in (assembler dwarf2 debug_line support): Define nop
16834         insn for m68k.
16835         * configure: Regenerated.
16836
16837 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16838
16839         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
16840         dwarfout.h.
16841         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
16842         to conditionally compiled block.
16843         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16844         * dbxout.h (dbxout_function): Remove.
16845         * debug.c (do_nothing_debug_hooks): Update.
16846         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
16847         global_decl, deferred_inline_function.
16848         * dwarf2out.c (dwarf2_debug_hooks): Update.
16849         (dwarf2out_global_decl): New.
16850         * dwarfout.c: Don't include dwarfout.h.
16851         (dwarfout_global_decl, dwarfout_function_decl,
16852         dwarfout_deferred_inline_function): New.
16853         (dwarf_debug_hooks): Update.
16854         * dwarfout.h: Remove.
16855         * final.c: Don't include dwarfout.h.
16856         * sdbout.c (sdbout_global_decl): New.
16857         (sdbout_debug_hooks): Update.
16858         * toplev.c: Don't include dwarfout.h.
16859         (check_global_declarations, rest_of_compilation): Use new debug hooks.
16860         (note_deferral_of_defined_inline_function): Remove.
16861         * toplev.h (note_deferral_of_defined_inline_function): Remove.
16862         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
16863         * ch/lex.c: Don't include dwarfout.h.
16864         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
16865         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
16866         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
16867         * cp/optimize.c: Include debug.h.
16868         (maybe_clone_body): Use debug hook.
16869         * cp/semantics.c: Include debug.h.
16870         (expand_body): Use debug hook.
16871         * po/POTFILES.in: Remove dwarfout.h.
16872
16873 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16874
16875         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
16876         * c-parse.in (yyerror, _yylex): Similarly.
16877         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
16878         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
16879         Update comments.
16880         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
16881         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
16882
16883 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
16884
16885         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
16886         in-class declaration at -g1.  Fixes c++/2814.
16887
16888 2001-07-18  Richard Henderson  <rth@redhat.com>
16889
16890         * doc/md.texi (reload_in/out): Document restrictions in predicates
16891         and constraints for these patterns.  Document empty string matching
16892         ALL_REGS.
16893
16894 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16895
16896         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
16897
16898 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16899
16900         * cse.c: Undo my previous patch.
16901
16902 2001-07-18  Tom Tromey  <tromey@redhat.com>
16903
16904         For PR java/2812:
16905         * configure: Rebuilt.
16906         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
16907         instead.
16908         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
16909
16910 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
16911                                 Jan Hubicka  <jh@suse.cz>
16912
16913         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
16914         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
16915         * jump.c (mark_jump_label): Do not forward branches.
16916
16917 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
16918
16919         * cse.c (delete_trivially_dead_insns): Delete the libcall block
16920         when return value is unused.
16921
16922 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16923
16924         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
16925
16926 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
16927
16928         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
16929         on error.  We can't blindly return the result of
16930         pthread_mutex_trylock because it returns a positive number on
16931         error, while we must return -1 on error.
16932         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
16933         fixes.
16934         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
16935
16936 2001-07-18  Andreas Jaeger  <aj@suse.de>
16937
16938         * integrate.c (output_inline_function): Correct type of debug_hooks.
16939
16940 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16941
16942         * combine.c (combine_simplify_rtx): DIV can be treated
16943         associatively for floats if unsafe math optimisations are enabled.
16944
16945 2001-07-17  Richard Henderson  <rth@redhat.com>
16946
16947         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
16948
16949 2001-07-17  Richard Henderson  <rth@redhat.com>
16950
16951         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
16952         don't force the function address into a register.
16953         (expand_call, emit_library_call_value_1): Update callers.
16954         * builtins.c (expand_builtin_apply): Likewise.
16955         * expr.h (prepare_call_address): Update decl.
16956
16957 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
16958
16959         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
16960         config directory.
16961         * config/i386/chorus.h: Move up.
16962         * config/sparc/chorus.h: Likewise.
16963         * config/rs6000/chorus.h: Likewise.
16964         * config/chorus.h: Moved here.
16965
16966 2001-07-17  Andreas Schwab  <schwab@suse.de>
16967
16968         * configure.in  (assembler eh_frame optimization): Handle big
16969         endian.
16970         * configure: Regenerated.
16971
16972 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
16973
16974         * expr.c (epxand_expr): Convert divisions into multiplications by
16975         reciprocals if -ffast-math.
16976
16977 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
16978
16979         * dbxout.c (dbxout_really_begin_function): Rename to
16980         dbxout_begin_function.
16981         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16982         (dbxout_begin_function): Remove.
16983         (dbxout_function): Update.
16984         (dbxout_source_line): Update prototype.
16985         * dbxout.h (dbxout_begin_function): Remove.
16986         * debug.c (do_nothing_debug_hooks): Update.
16987         (debug_nothing_tree): Update.
16988         (debug_nothing_charstar_rtx): Remove.
16989         * debug.h (union tree_node): Declare.
16990         (struct rtx_def): Remove.
16991         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
16992         begin_function.  Change source_line prototype.
16993         (debug_nothing_tree): New.
16994         (debug_nothing_charstar_rtx): Delete.
16995         (dwarf2out_begin_prologue): Moved from ...
16996         * tree.h: ... here.
16997         * dwarf2out.c (dwarf2_debug_hooks): Update.
16998         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
16999         debug info, call dwarf2out_source_line.
17000         (dwarf2out_souce_line): Update prototype.
17001         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
17002         Change prototype, make static.
17003         (dwarfout_source_line): Update prototype.
17004         (dwarf_debug_hooks): Update.
17005         * dwarfout.h (dwarfout_begin_function): Remove.
17006         * final.c (final_start_function, final_scan_insn): Use appropriate
17007         debug hooks, update to use notice_source_line.
17008         (output_source_line): Rename notice_source_line.  Don't call the
17009         source_line debug hook.
17010         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
17011         make static, update prototype.
17012         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
17013         prototype.
17014         (sdbout_end_prologue): New.
17015         (sdbout_source_line): Update prototype.
17016         (sdbout_debug_hooks): Update.
17017         (sdbout_symbol): Remove unused var.
17018         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
17019         Delete.
17020         * varasm.c: Include debug.h.
17021         (assemble_start_function): Use begin_function debug_hook.
17022         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17023         update with prototype.
17024         (xcoffout_source_line): Update prototype.
17025         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17026         update prototype.
17027         (xcoffout_source_line): Update prototype.
17028
17029 2001-07-17  Richard Henderson  <rth@redhat.com>
17030
17031         * c-typeck.c (build_binary_op): Do not shorten unsigned
17032         right shift after sign extension.
17033
17034 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
17035
17036         * combine.c (combine_simplify_rtx): Attempt to simplify
17037         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
17038
17039         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
17040         (simplify_binary_operation, simplify_unary_operation,
17041          simplify_relational_operation): Use it.
17042
17043         * combine.c (combine_simplify_rtx): Don't do associative law
17044         on divisions; allow associative law on floats.
17045
17046 2001-07-17  H.J. Lu <hjl@gnu.org>
17047             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17048
17049         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
17050         ASM_OUTPUT_WEAK_ALIAS are defined.
17051         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
17052         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
17053         Moved ...
17054         * config/mips/iris5.h: ... here.
17055         (HANDLE_SYSV_PRAGMA): Defined as 1.
17056         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
17057         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
17058         symbol.
17059
17060 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
17061
17062         * c-parse.in (all_prefix_attributes): New variable.
17063         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
17064         (maybe_resetattrs): New production.
17065         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
17066         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
17067         notype_initdcl, nested_function, notype_nested_function,
17068         component_decl, components, components_notype,
17069         component_declarator, component_notype_declarator,
17070         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
17071         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
17072         after a comma being applied to more than one declarator.
17073         * doc/extend.texi (Attribute Syntax): Update.  Remove
17074         documentation of bugs that are no longer present.
17075
17076 2001-07-13  Eric Christopher  <echristo@redhat.com>
17077
17078         * config/mips/mips.h: Change TUNE_MIPS* options to use
17079         mips_tune.
17080         (EXTRA_SPECS): Add cc1_cpu_spec.
17081         * config/mips/mips.md (muldf3): Fix typo.
17082
17083 2001-07-16  Richard Henderson  <rth@redhat.com>
17084
17085         * config/m68k/m68k.c: Include expr.h and reload.h.
17086         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
17087         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
17088
17089 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17090             Richard Henderson  <rth@redhat.com>
17091
17092         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
17093         (insn_live_p): Fix fall off end of function.
17094         (dead_libcall_p): Remove COUNTS argument; update callers.
17095         (delete_trivially_dead_insns): Remove unused variables.
17096
17097 2001-07-17  Andreas Jaeger  <aj@suse.de>
17098
17099         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
17100         x86-64 pic support.
17101
17102         * lcm.c (optimize_mode_switching): Avoid warning for unused
17103         variable if !NORMAL_MODE.
17104
17105         * flow.c (try_crossjump_to_edge): Remove unused variable.
17106
17107 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17108
17109         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
17110         atexit declaration in stdlib.h.
17111
17112 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
17113
17114         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
17115
17116 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17117
17118         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
17119         * except.c (finish_eh_generation): Update call of cleanup_cfg;
17120         do rebuild_jump_labels instead of jump_optimize
17121         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
17122         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
17123         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
17124
17125         * flow.c: Include timevar.h
17126         (find_basic_block): Push/pop timevar;
17127         (cleanup_cfg): Likewise.
17128         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
17129         * Makefile: Add dependencies on timevar.h
17130
17131         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
17132         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
17133
17134         * rtl.h (delete_trivially_dead_insns): Add new parameter.
17135         * toplev.c (rest_of_compilation): Update calls.
17136         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
17137         (delete_trivially_dead_insns): ... here; accept new argument
17138         preserve_basic_blocks; preserve basic blocks if set.
17139
17140         * reg-stack.c (stack_regs_mentioned): Return 0 if
17141         stack_regs_mentioned_data is not initialized.
17142         (reg_to_stack): Make stack_regs_mentioned survive after the
17143         reg-stack is completted; do not call cleanup_cfg.
17144         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
17145         make cleanup_cfg after bb-reorder to output to debug file.
17146
17147 2001-07-16  Richard Henderson  <rth@redhat.com>
17148
17149         * regclass.c (init_reg_sets): Use only 32 bits per initializer
17150         from int_reg_class_contents.
17151
17152 2001-07-16  Richard Henderson  <rth@redhat.com>
17153
17154         * hard-reg-set.h (regs_invalidated_by_call): Declare.
17155         * regclass.c (regs_invalidated_by_call): Move from cse.c.
17156         (init_reg_sets_1): Move initialization from cse_main.
17157         * cse.c (regs_invalidated_by_call): Move to regclass.c.
17158         (cse_main): Move its initialization also.
17159         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
17160         * flow.c (propagate_one_insn): Likewise.
17161         * gcse.c (compute_hash_table): Likewise.
17162         (compute_kill_rd, compute_store_table): Likewise.
17163         * sched-deps.c (sched_analyze_1): Likewise.
17164
17165 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
17166
17167         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
17168         gen_rtx_SET.
17169
17170 2001-07-16  Steve Ellcey <sje@cup.hp.com>
17171
17172         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
17173         in if statement so we don't access undefined memory.
17174
17175 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17176
17177         * gcse.c: Update comment at top.
17178         Update comment on mem handling.
17179         mem_last_set, mem_first_set, mem_set_in_block: gone.
17180         Declaration of reg_set_info: gone.
17181         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
17182         pointless with load_killed_in_block_p (they are *more*
17183         conservative then it, not less, and less accurate).
17184         (oprs_not_set_p): Ditto.
17185         (alloc_gcse_mem): Don't allocate mem_set_in_block
17186         (free_gcse_mem): Don't free it, either.
17187         (record_last_mem_set_info): Update comment in front, remove
17188         mem_*set_* stuff. Note the reason we don't handle stores directly
17189         here.
17190         (compute_hash_table): Update comments to reflect reality. Remove
17191         mem_*set_* references.
17192         (reset_opr_set_tables): Remove mem_*set_* references.
17193         (mark_call): Ditto.
17194         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
17195         (mark_clobber): Ditto (on both parts, we double set here too).
17196         (expr_killed_p): Remove mem_set_in_block test.
17197         (compute_transp): Remove mem_set_in_block test.
17198
17199         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
17200         of edge, and removal of phi alternative to dump file.
17201         (ssa_ccp_substitute_constants): Add note about register now being
17202         constant, and which uses were replaced in what insns to dump file.
17203
17204 2001-07-16  Andreas Jaeger  <aj@suse.de>
17205
17206         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
17207         variables of type HOST_WIDEST_INT.
17208
17209         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
17210         (__bb_exit_func): Correct type of count_max to avoid overflow.
17211         (num_digits): Handle long long argument.
17212
17213         * combine.c (gen_lowpart_for_combine): Remove unused variable.
17214
17215 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17216
17217         * output.h (sdb_begin_function_line): Restore as an extern
17218         variable.
17219         * sdbout.c (sdb_begin_function_line): Make extern.
17220
17221 2001-07-15  Richard Henderson  <rth@redhat.com>
17222
17223         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
17224         * genrecog.c (maybe_both_true_mode): New.
17225         (maybe_both_true_2): Use it.
17226         (write_switch): Don't put Pmode in a switch.
17227         * rtl.c (mode arrays): Don't explicitly size them.
17228
17229 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17230
17231         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
17232         handling; move unconditional splitting before mode switching.
17233
17234         * i386.md (type): Add fistp type.
17235         (i387, length_attr, scheduling definitions): Handle this type.
17236         (fix_trunc?f?i2): Revamp to use mode switching.
17237         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17238         * i386.h (fp_cw_mode): New enum
17239         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17240         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17241
17242 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17243
17244         * Makefile.in (integrate.o): Add debug.h.
17245         * integrate.c (debug.h): Add.
17246         (output_inline_function): Save, reset, and restore debug_hooks.
17247
17248 2001-07-15  Richard Henderson  <rth@redhat.com>
17249
17250         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17251         instead of COMPARE for the EQUIV expression.
17252
17253 2001-07-15  Richard Henderson  <rth@redhat.com>
17254
17255         * flow.c (redirect_edge_and_branch_force): Initialize
17256         global_live_at_start and global_live_at_end.
17257         (allocate_bb_life_data): Export.
17258         * basic-block.h (allocate_bb_life_data): Declare.
17259         * toplev.c (rest_of_compilation): Call it.
17260
17261 2001-07-15  Richard Henderson  <rth@redhat.com>
17262
17263         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17264         (alpha_tablejump_best_label): New.
17265         * config/alpha/alpha-protos.h: Declare them.
17266         * config/alpha/alpha.md: Use braced strings for code blocks.
17267         (tablejump_osf): Break out add with r29.
17268         (tablejump_osf_internal): Remove.
17269         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17270         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17271
17272 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
17273
17274         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17275         of the movable.
17276
17277         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17278
17279         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17280         (ix86_fp_jump_nontrivial_p): New.
17281         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17282         use ix86_fp_jump_nontrivial_p.
17283         * i386.c (ix86_fp_jump_nontrivial_p): New.
17284         (ix86_split_fp_branch): Accept code instead of rtx.
17285         (ix86_expand_compare): Expand comparison early in case
17286         doing so is resonably cheap.
17287
17288 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17289
17290         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17291         not 'machine'.
17292         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17293         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17294
17295 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17296
17297         * dbxout.c (dbxout_source_line): Make static, update prototype.
17298         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17299         (dbxout_init, dbxout_finish, dbxout_source_line,
17300         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17301         * dbxout.h (dbxout_source_line): Delete.
17302         * debug.c (debug_nothing_file, debug_nothing_file_int,
17303         debug_nothing_file_charstar_rtx): New.
17304         (do_nothing_debug_hooks): Update.
17305         (debug_nothing_void, debug_nothing_charstar_rtx,
17306         dwarf2out_end_epilogue): New.
17307         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17308         * debug.h (struct rtx_def): Declare.
17309         (gcc_debug_hooks): New hooks source_line, end_epilogue
17310         and end_function.
17311         (debug_nothing_void, debug_nothing_charstar_rtx,
17312         dwarf2out_end_epilogue): New.
17313         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17314         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17315         (dwarf2_debug_hooks): Update.
17316         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17317         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17318         * dwarf2out.h (dwarf2out_source_line): Remove.
17319         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17320         Make static, update prototype.
17321         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17322         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17323         (dwarf_debug_hooks): Update.
17324         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17325         dwarfout_end_function): Remove.
17326         * final.c (profile_function): Use debug hooks for ending functions
17327         and epilogues.
17328         (output_source_line, final_end_function): Update prototype,
17329         use debug hooks.
17330         (final_start_function, final_scan_insn): Update.
17331         * output.h (sdb_begin_function_line): Remove.
17332         (final_end_function): Update prototype.
17333         * sdbout.c (sdb_begin_function_line): Make static.
17334         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17335         (sdbout_source_line): New.
17336         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17337         prototypes.
17338         (sdb_debug_hooks): Update.
17339         (sdbout_init, sdbout_source_line,
17340         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17341         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17342         * toplev.c (compile_file, rest_of_compilation): Update.
17343         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17344         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17345         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17346         Update for prototype changes.
17347         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17348         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17349
17350 2001-07-15  Richard Henderson  <rth@redhat.com>
17351
17352         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17353         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17354         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17355         * config/alpha/alpha.c: Likewise.
17356         * config/alpha/alpha.md: Likewise.
17357         * config/alpha/alpha32.h: Likewise.
17358         * config/alpha/vms.h: Likewise.
17359         (OPEN_VMS): Remove.
17360
17361 2001-07-14  Richard Henderson  <rth@redhat.com>
17362
17363         * config/alpha/alpha.md: Use define_constants for unspec values.
17364         Substitute throughout.
17365
17366 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17367
17368         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17369
17370 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17371
17372         * pa.md: Remove unused constraints from define_split's.
17373
17374 2001-04-14  Richard Henderson  <rth@redhat.com>
17375
17376         * ifcvt.c (find_cond_trap): Test for exit block.
17377
17378 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17379
17380         Re-install recently reverted patch.
17381         * emit-rtl.c (try_split): Update mark_jump_label call.
17382         * flow.c (find_sub_basic_blocks): Likewise.
17383         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17384         jump_back_p): Kill.
17385         (mark_all_labels): Kill second parameter.
17386         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17387         (rebuild_jump_labels, jump_optimize_minimal): Update call
17388         of jump_optimize_1.
17389         (jump_optimize_1): Kill crossjumping code.
17390         (mark_jump_label): Kill cross_jump parameter.
17391         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17392         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17393         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17394          splitting.
17395         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17396         DFI_bpro.
17397         (dump_file_info): Likewise.
17398         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17399         reorganize passes to do reg-stack first, bb-reorder second.
17400         * invoke.texi (-d letters doc): Remove the jump2 pass.
17401
17402 2001-07-14  Richard Henderson  <rth@redhat.com>
17403
17404         * ifcvt.c (find_cond_trap): New.
17405         (find_if_header): Call it.
17406         (merge_if_block): Relax existing jump sanity check.
17407         * jump.c (jump_optimize_1): Remove conditional trap handling.
17408
17409 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17410
17411         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17412         millicode.
17413         (insn_refs_are_delayed): Correct comment.
17414         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17415         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17416         instead of r31.  Make associated insn !TARGET_64BIT, and
17417         provide an additional 64-bit insn that clobbers r2.
17418         (divsi3): Likewise.
17419         (udivsi3): Likewise.
17420         (modsi3): Likewise.
17421         (umodsi3): Likewise.
17422
17423 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17424
17425         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17426
17427         * flow.c (redirect_edge_and_branch_force, split_edge,
17428         try_crossjump_to_edge): Use set_block_for_new_insns.
17429         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17430
17431 2001-07-13  H.J. Lu  (hjl@gnu.org)
17432
17433         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17434         the correct patch.
17435
17436 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17437
17438         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17439
17440 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17441
17442         * c-common.c (decl_attributes): Take a pointer to the node to
17443         which attributes are to be attached, and a flags argument.
17444         * c-common.h (enum attribute_flags): New.
17445         (decl_attributes): Update prototype.
17446         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17447         finish_enum, start_function): Update calls to decl_attributes.
17448         * c-parse.in (component_declarator, component_notype_declarator,
17449         label): Update calls to decl_attributes.
17450
17451 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17452
17453         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17454         * config/avr/avr.c (legitimate_address_p): Return value changed
17455         from letter to register classes. For better debugging.
17456
17457 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17458
17459         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17460
17461 2001-07-13  H.J. Lu  (hjl@gnu.org)
17462
17463         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17464
17465 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17466
17467         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17468         correctly for shared configurations.
17469         * config/t-libgcc-pic:  New.
17470         * config/{i386,m68k,sparc}/t-openbsd:  New.
17471         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17472         Support -shared.  Support debugging libraries with -g.
17473         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17474         frame information does not emit pointer diffs.
17475         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17476         emit pointer diffs.
17477
17478 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17479
17480         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17481
17482 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17483
17484         * combine.c (try_combine): Ensure const_int pow2 is positive.
17485
17486 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17487
17488         * config.gcc: Add configuration for s/390.
17489         * config/s390/s390.c: New. Subroutines for code generation.
17490         * config/s390/s390.h: New. Definitions for s/390.
17491         * config/s390/s390-protos.h: New. Prototypes.
17492         * config/s390/linux.h: New. Definitions for linux for s/390.
17493         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17494         * config/s390/t-linux: New. Makefile fragment.
17495         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17496         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17497
17498 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17499
17500         * emit-rtl.c (try_split): Update mark_jump_label call.
17501         * flow.c (find_sub_basic_blocks): Likewise.
17502         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17503         jump_back_p): Kill.
17504         (mark_all_labels): Kill second parameter.
17505         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17506         (rebuild_jump_labels, jump_optimize_minimal): Update call
17507         of jump_optimize_1.
17508         (jump_optimize_1): Kill crossjumping code.
17509         (mark_jump_label): Kill cross_jump parameter.
17510         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17511         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17512         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17513          splitting.
17514         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17515         DFI_bpro.
17516         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17517         reorganize passes to do reg-stack first, bb-reorder second.
17518         * invoke.texi (-d letters doc): Remove the jump2 pass.
17519
17520 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17521
17522         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
17523
17524 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17525
17526         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
17527         basic blocks.
17528         (verify_flow_info): Make diagnostics prettier.
17529
17530 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
17531
17532         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
17533
17534         * flow.c (outgoing_edges_match): Return early if condition reversal
17535         failed.
17536
17537 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
17538
17539         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
17540         (mips_move_2words): When splitting a move into two instructions,
17541         prefix the second address operand with '%D'.
17542
17543 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
17544
17545         * Makefile.in (final.o): Depend on debug.h.
17546         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
17547         (dbx_debug_hooks): Add new hooks.
17548         (xcoff_debug_hooks): New.
17549         * debug.c (debug_nothing_file_int_int): New.
17550         (do_nothing_debug_hooks): Update.
17551         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
17552         (debug_nothing_file_int_int): New.
17553         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
17554         static, update prototype.
17555         (dwarf2_debug_hooks): Update.
17556         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
17557         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
17558         static, update prototype.
17559         (dwarf_debug_hooks): Update.
17560         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
17561         * final.c: Include debug.h.
17562         (final_scan_insn): Use debug hooks when beginning and ending blocks.
17563         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
17564         static, update prototype.
17565         (sdb_debug_hooks): Update.
17566         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
17567         * toplev.c: Distinguish between xcoff and dbx.
17568
17569         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
17570         Call all debug hooks, not just dwarf ones.
17571
17572 2001-07-11  Timothy Wall  <twall@redhat.com>
17573
17574         * config.gcc: Add configuration for AIX5/IA64.
17575         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
17576         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
17577         support prefix/suffix code.
17578         * config/ia64/t-aix: New.  Makefile fragment.
17579         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
17580
17581 2001-07-11  Kazu Hirata  <kazu@hxi.com>
17582
17583         * recog.c (validate_change): Fix a comment typo.
17584
17585 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
17586
17587         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
17588         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
17589         hooks directly.
17590         * dbxout.c (dbx_debug_hooks): Add new hooks.
17591         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
17592         make static.
17593         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
17594         make static.
17595         * dbxout.h (dbxout_start_new_source_file,
17596         dbxout_resume_previous_source_file): Delete.
17597         * debug.c (do_nothing_debug_hooks): Add new hooks.
17598         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17599         (debug_nothing_int_charstar, debug_nothing_int): New.
17600         * debug.h (gcc_debug_hooks): New hooks define, undef,
17601         start_source_file and end_source_file.
17602         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17603         (debug_nothing_int_charstar, debug_nothing_int): New.
17604         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
17605         the conditionally compiled section.
17606         (dwarf2out_start_source_file, dwarf2out_end_source_file,
17607         dwarf2out_define, dwarf2out_undef): Make static.
17608         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
17609         dwarf2out_define, dwarf2out_undef): Remove.
17610         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
17611         (dwarfout_start_source_file, dwarfout_end_source_file,
17612         dwarfout_define, dwarfout_undef): Make static.
17613         (dwarfout_start_source_file_check,
17614         dwarfout_end_source_file_check): New.
17615         (dwarfout_define, dwarfout_finish): Update.
17616         * dwarfout.h (dwarfout_start_new_source_file,
17617         dwarfout_resume_previous_source_file, dwarfout_define,
17618         dwarfout_undef): Remove.
17619         * sdbout.c (sdb_debug_hooks): Add new hooks.
17620         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
17621         make static.
17622         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
17623         make static, take an arg.
17624         * sdbout.h (sdbout_start_new_source_file,
17625         sdbout_resume_previous_source_file): Delete.
17626         * toplev.c (debug_start_source_file, debug_end_source_file,
17627         debug_define, debug_undef): Delete.
17628         * toplev.h (debug_start_source_file, debug_end_source_file,
17629         debug_define, debug_undef): Delete.
17630
17631         * java/jcf-parse.c: Include debug.h.
17632         (parse_class_file): Update to use debug hooks directly.
17633         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
17634
17635 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17636
17637         * alias.c (set_mem_alias_set): New function.
17638         * rtl.h (set_mem_alias_set): Declare it.
17639         * builtins.c (expand_builtin_return_addr): Call it instead of
17640         using MEM_ALIAS_SET accessor.
17641         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
17642         (get_memory_rtx, expand_builtin_va_arg): Likewise.
17643         (expand_builtin_va_copy):Likewise.
17644         * caller-save.c (setup_save_areas): Likewise.
17645         * calls.c (compute_argument_addresses): Likewise.
17646         * explow.c (set_mem_attributes): Likewise.
17647         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
17648         (expand_assignment, store_constructor_field, store_field): Likewise.
17649         (expand_expr_unaligned): Likewise.
17650         * function.c (assign_stack_temp_for_type): Likewise.
17651         (put_reg_into_stack, gen_mem_addressof): Likewise.
17652         * ifcvt.c (noce_try_cmove_arith): Likewise.
17653         * reload1.c (reload, alter_reg): Likewise.
17654         * config/alpha/alpha.c (get_aligned_mem): Likewise.
17655         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
17656         (alpha_expand_unaligned_store): Likewise
17657         (alpha_expand_unaligned_load_words): Likewise.
17658         (alpha_expand_unaligned_store_words): Likewise.
17659         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
17660         (alpha_expand_epilogue): Likewise.
17661         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
17662         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
17663         * config/i386/i386.c (legitimize_pic_address): Likewise.
17664         * config/i960/i960.c (setup_incoming_varargs): Likewise.
17665         * config/ia64/ia64.c (spill_restore_mem): Likewise.
17666         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
17667         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
17668         * config/mips/mips.c (mips_va_arg): Likewise.
17669         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17670         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17671         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
17672         (setup_incoming_varargs, rs6000_va_arg): Likewise.
17673         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
17674         (rs6000_emit_epilogue): Likewise.
17675         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
17676         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17677         * config/v850/v850.c (v850_va_arg): Likewise.
17678
17679 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
17680
17681         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
17682         when fallthru edge is present.
17683         (mege_blocks): Handle case where creation of jump insn
17684         is required.
17685
17686         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
17687         CLEANUP_POST_REGSTACK): New constants.
17688         * except.c (finish_eh_generation): Update call of cleanup_cfg,
17689         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
17690         * output.h (cleanup_cfg): Update prototype.
17691         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
17692         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
17693         cleanup_cfg call; kill missleading comment.
17694         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
17695         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
17696         parameter; control optimizations performed using it.
17697         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
17698         try_crossjump_bb): New functions.
17699
17700 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17701
17702         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
17703         extern.
17704         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
17705         pa_output_function_prologue.
17706         * pa-protos.h (pa_output_function_prologue): New prototype.
17707
17708 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17709
17710         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
17711         and low to get correct sign extension in low+high test.
17712
17713 2001-07-11  Janis Johnson <janis@us.ibm.com>
17714
17715         * gcov.c (arcdata): Use gcov_type to fix branch percentage
17716         for large hit count.
17717
17718         * profile.c (branch_prob): Fix .bbg info for computed gotos
17719         and C++ EH code.
17720
17721 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
17722
17723         * stmt.c (parse_output_constraint): New function, split out
17724         from ...
17725         (expand_asm_operands): ... here.  Use parse_output_constraint.
17726         * tree.h (parse_output_constraint): Declare it.
17727
17728 2001-07-11  Richard Henderson  <rth@redhat.com>
17729
17730         * bitmap.c: Comment some functions; fiddle whitespace.
17731         (bitmap_free): Don't export.
17732         (bitmap_element_allocate): Use memset.
17733         * bitmap.h (bitmap_free): Don't declare.
17734
17735 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
17736
17737         * gcse.c, lcm.c, sched-deps.c:
17738         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
17739
17740         * flow.c (flow_loops_find): Free dom if we found no loops, since
17741         we aren't going to save it.
17742
17743         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
17744         done.
17745
17746 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
17747
17748         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
17749
17750 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17751
17752         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
17753         #ifndef DWARF2_DEBUGGING_INFO.
17754
17755 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17756
17757         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
17758
17759 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17760
17761         * config/mips/mips.c (gen_int_relational): Tell the caller not to
17762         reverse a branch if a NE comparison is implemented with GTU.
17763
17764 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17765             H.J. Lu  <hjl@gnu.org>
17766
17767         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
17768         constant addresses.
17769         (call_internal2): Likewise.
17770         (call_value_internal1): Likewise.
17771         (call_value_internal2): Likewise.
17772         (call_value_multiple_internal1): Likewise.
17773         (call_value_multiple_internal2): Likewise.
17774
17775 2001-07-10  Kazu Hirata  <kazu@hxi.com>
17776
17777         * calls.c (emit_library_call_value_1): Fix a comment typo.
17778         * dwarf2out.c (mem_loc_descriptor): Likewise.
17779         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
17780
17781 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
17782
17783         * simplify-rtx.c (simplify_subreg): Fix typo in comment
17784
17785 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17786
17787         * recog.c (offsettable_address_p): Handle LO_SUM case.
17788         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
17789         instead of plus_constant.
17790
17791 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17792
17793         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
17794         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
17795
17796 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17797
17798         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
17799         adjust_address_nv instead of plus_constant.
17800
17801 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
17802
17803         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
17804         dwarf2out.o): Depend on debug.h, wrap long lines.
17805         * dbxout.c: Include debug.h.
17806         (dbx_debug_hooks): New.
17807         (dbxout_init): Make static, take just 2 args.
17808         (dbxout_finish): Make static.
17809         * dbxout.h (dbxout_init, dbxout_finish): Delete.
17810         * debug.c: New file.
17811         * debug.h: New file.
17812         * dwarf2out.c: Include debug.h.
17813         (dwarf2_debug_hooks): New.
17814         (dwarf2out_init): Make static.
17815         (dwarf2out_finish): Make static, take 2 args.
17816         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
17817         * dwarfout.c: Include debug.h.
17818         (dwarf_debug_hooks): New.
17819         (dwarfout_init): Make static.
17820         (dwarfout_finish): Make static, take 2 args.
17821         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
17822         * sdbout.c: Include debug.h.
17823         (sdb_debug_hooks): New.
17824         (sdbout_init): Make static, take 2 args.
17825         * sdbout.h (sdbout_init): Delete.
17826         * toplev.c: Include debug.h.
17827         (debug_hooks): New.
17828         (compile_file): Set deubg_hooks based on command line options.
17829         Use the hooks unconditionally rather than conditional compilation.
17830
17831 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
17832
17833         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
17834         first_insn_after_basic_block_note instead.
17835
17836         * df.c (df_bb_refs_unlink): #if 0 out for now.
17837
17838 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
17839
17840         * ssa.h: Add prototype for ssa_const_prop
17841         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
17842         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
17843         (ssa_fast_dce): Remove unused variable
17844
17845 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17846
17847         * diagnostic.c (finish_diagnostic): Rename to
17848         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
17849         calls thourghout.
17850
17851 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
17852
17853         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
17854         .loc support.
17855
17856         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
17857         (dump_file): Only pad the demangled name with spaces if the
17858         mangled name was padded with spaces.
17859
17860 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
17861
17862         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
17863         edge detection.
17864
17865 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17866
17867         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
17868         extraction if no direct load if either EXPAND_CONST_ADDRESS or
17869         EXPAND_INITIALIZER.
17870
17871         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
17872         whether can put offset inside LO_SUM to check mode alignment, not size.
17873
17874 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17875
17876         * doc/tm.texi (Misc): Fix thinko.
17877
17878 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
17879
17880         * regmove.c (replace_in_call_usage): Fix warnings.
17881         * sched-deps.c (add_dependence): Fix warnings.
17882         * simplify-rtx.c (simplify_subreg): Likewise.
17883         Return NULL_RTX instead of NULL.
17884
17885         * reg-stack.c (emit_swap_insn): Eliminate warnings.
17886         (subst_asm_stack_regs): Likewise.
17887
17888         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
17889         warnings.
17890
17891         * dwarf2out.c (output_call_frame_info): Declare i as int.
17892         (build_abbrev_table): Declare n_alloc as int.
17893         (dwarf2out_finish): Initialize die.
17894         * except.c: Declare sjlj_funcdef_number as unsigned.
17895         (connect_post_landing_pads): Declare j as unsigned.
17896         (convert_to_eh_region_ranges): Initialize call_site.
17897         (output_function_exception_table): Initialize tt_format_size.
17898         * expr.c (move_by_pieces_1): Initialize to1.
17899         (store_constructor): Initialize minelt and maxelt.
17900         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
17901         * function.c (instantiate_decls): Avoid signed/unsigned warning.
17902
17903         * c-decl.c (combine_parm_decls): Unused, remove.
17904         * c-tree.h: Remove prototype for combine_parm_decls.
17905
17906         * reload.c (push_reload): Fix warning.
17907         (regno_clobbered_p): Likewise.
17908         * reload1.c (replace_pseudos_in_call_usage): Likewise.
17909         (reload_combine): Likewise.
17910
17911         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
17912         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
17913         warnings.
17914         * bitmap.c (bitmap_operation): Change user.
17915         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
17916
17917 2001-07-10  Eric Christopher  <echristo@redhat.com>
17918
17919         * config/mips/mips.c (override_options): Fix typo.
17920
17921 2001-07-09  Stan Shebs  <shebs@apple.com>
17922
17923         * target.h (struct gcc_target): New fields init_builtins and
17924         expand_builtin.
17925         * target-def.h (TARGET_INIT_BUILTINS): New macro.
17926         (TARGET_EXPAND_BUILTIN): New macro.
17927         (TARGET_INITIALIZER): Add them.
17928         * builtins.c: Include target.h.
17929         (expand_builtin): Use targetm.expand_builtin.
17930         (default_init_builtins): New function.
17931         (default_expand_builtin): New function.
17932         * expr.h (default_init_builtins): Declare.
17933         (default_expand_builtin): Declare.
17934         * c-common.c (c_common_nodes_and_builtins): Use
17935         targetm.init_builtins.
17936         * defaults.h (MD_INIT_BUILTINS): Remove.
17937         * Makefile.in (builtins.o): Depend on target.h.
17938
17939         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
17940         (TARGET_EXPAND_BUILTIN): Define.
17941         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
17942         (MD_EXPAND_BUILTIN): Remove.
17943
17944         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
17945         (TARGET_EXPAND_BUILTIN): Define.
17946         (c4x_init_builtins): Make endlink arg a local.
17947         (c4x_print_operand): Fix typos in adjust_address usages.
17948         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
17949         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
17950         (MD_EXPAND_BUILTIN): Remove.
17951
17952         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
17953         (TARGET_EXPAND_BUILTIN): Define.
17954         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
17955         (ix86_init_builtins): Call new function only if TARGET_MMX.
17956         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
17957         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
17958         (MD_EXPAND_BUILTIN): Remove.
17959
17960         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
17961         (TARGET_EXPAND_BUILTIN): Define.
17962         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
17963         (MD_EXPAND_BUILTIN): Remove.
17964
17965         * doc/tm.texi: Document these changes.
17966
17967 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
17968
17969         * basic-block.h (tree_node): Forward declare if needed.
17970         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
17971         (BLOCK_HEAD_TREE): Define.
17972         (BLOCK_END_TREE): Define.
17973         (struct loops): Rename field 'tree' to 'tree_root'.
17974         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
17975         'end_tree'.
17976         (flow_loops_tree_build): Rename reference to field 'tree' to
17977         'tree_root'.
17978         (flow_loops_level_compute): Ditto.
17979         * predict.c (estimate_bb_frequencies): Ditto.
17980         * tree.h (struct tree_common): Add field 'aux'.
17981
17982 2001-07-09  Stan Shebs  <shebs@apple.com>
17983
17984         * config/darwin.c (darwin_encode_section_info): Don't mark any
17985         DECL_EXTERNAL node as defined.
17986
17987 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17988
17989         * pa.c (pa_init_machine_status, pa_mark_machine_status,
17990         pa_free_machine_status, hppa_init_pic_save): Delete.
17991         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
17992         (hppa_profile_hook): Use hppa_pic_save_rtx.
17993         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
17994         hppa_init_pic_save): Delete.
17995         (hppa_pic_save_rtx): Declare.
17996         * pa.md (call, call_value, sibcall, sibcall_value,
17997         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
17998
17999 2001-07-09  Kazu Hirata  <kazu@hxi.com>
18000
18001         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
18002         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
18003
18004 2001-07-09  Andreas Jaeger  <aj@suse.de>
18005
18006         * output.h: Add declaration of final_forward_branch_p.
18007
18008         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
18009
18010         * varray.c: Include errors.h for internal_error and trim_filename
18011         declarations.
18012
18013         * Makefile.in (varray.o): Add errors.h.
18014
18015 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
18016
18017         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
18018         * optabs.c (have_add2_insn): Check whether the add insn chosen
18019         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
18020         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
18021
18022 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
18023
18024         * Makefile.in (OBJS): Add ssa-ccp.o
18025         (ssa-ccp.o): Add dependencies.
18026         * toplev.c (DFI_ssa_ccp): New dump file enum.
18027         (dump_file): Add entry for dumping after SSA CCP.
18028         (flag_ssa_ccp): New flag variable.
18029         (f_options): Add -fssa-ccp.
18030         (rest_of_compilation): Run SSA CCP if requested.
18031         * timevar.def (TV_SSA_CCP): New timevar.
18032         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
18033         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
18034         Fix minor typo in SSA DCE documentation.
18035         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
18036         Add documentation for new dump option.  Renumber dump files
18037         appropriately.
18038
18039 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18040
18041         * emit-rtl.c (gen_highpart_mode): New.
18042         * rtl.h (gen_highpart_mode): Declare.
18043         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
18044         operand can be VOIDmode constant.
18045
18046 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
18047
18048         * flow.c (redirect_edge_and_branch_force): New.
18049         (can_fallthru): Ensure that basic blocks are succeeding.
18050         (try_optimize_cfg): Do not delete basic block if it is the last one.
18051
18052         * flow.c (try_redirect_by_replacing_jump): Do not remove
18053         jumps with side effects, unlink chain on fallthru edge;
18054         set block for new jump instruction; avoid basic block to
18055         over by line number note.
18056
18057         * flow.c (try_simplify_condjump): Verify that the condjump
18058         is not always falling through.
18059
18060         Re-install patch:
18061         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18062
18063         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18064         (try_redirect_by_replacing_jump): Update properly the count
18065         and frequency information.
18066
18067 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18068
18069         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
18070         address that is a LO_SUM specially.
18071         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
18072
18073         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
18074
18075         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
18076         (operand_subword): Use them.
18077         (change_address_1): Renamed from change_address; new arg VALIDATE.
18078         * expr.h: Reflect above changes; change_address now macro.
18079         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
18080         making MEM.
18081         * cselib.c (add_mem_for_addr): Likewise.
18082         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
18083         * regmove.c (try_apply_stack_adjustment): Likewise.
18084         * reload.c (push_reload, make_memloc): Likewise.
18085         * reload1.c (eliminate_regs): Likewise.
18086         * simplify-rtx.c (simplify_replace_rtx): Likewise.
18087         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
18088         adjust_addess.
18089         * combine.c (make_extraction, simplify_shift_const): Likewise.
18090         (gen_lowpart_for_combine): Likewise.
18091         * cse.c (gen_lowpart_if_possible): Likewise.
18092         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
18093         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
18094         * optabs.c (gen_move_insn): Likewise.
18095         * reload1.c (alter_reg): Likewise.
18096         * simplify-rtx.c (simplify_subreg): Likewise.
18097         * stmt.c (expand_anon_union_decl): Likewise.
18098         * recog.c (validate_replace_rtx_1): Likewise.
18099         (expr.h): Include.
18100         * Makefile.in (recog.o): Add $(EXPR_H).
18101         * explow.c (stabilize): Call replace_equiv_address.
18102         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
18103         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
18104
18105 2001-07-03  Andrew Haley  <aph@redhat.com>
18106
18107         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
18108         the mode of the memory location.
18109
18110 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
18111
18112         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
18113
18114 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
18115
18116         * final.c (output_addr_const): Use target opening and
18117         closing parentheses.
18118         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
18119         defaults, add to TARGET_ASM_OUT.
18120         * target.h (struct gcc_target): Add open_paren and close_paren.
18121         * doc/md.texi: Update.
18122         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
18123         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
18124         TARGET_ASM_CLOSE_PAREN.
18125         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18126         Override.
18127         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18128         Override.
18129         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
18130         * config/a29k/a29k.h: Similarly.
18131         * config/alpha/alpha.h: Similarly.
18132         * config/arc/arc.h: Similarly.
18133         * config/arm/aof.h: Similarly.
18134         * config/arm/aout.h: Similarly.
18135         * config/avr/avr.h: Similarly.
18136         * config/c4x/c4x.h: Similarly.
18137         * config/clipper/clipper.h: Similarly.
18138         * config/convex/convex.h: Similarly.
18139         * config/d30v/d30v.h: Similarly.
18140         * config/dsp16xx/dsp16xx.h: Similarly.
18141         * config/elxsi/elxsi.h: Similarly.
18142         * config/fr30/fr30.h: Similarly.
18143         * config/h8300/h8300.h: Similarly.
18144         * config/i370/i370.h: Similarly.
18145         * config/i386/i386.h: Similarly.
18146         * config/i860/i860.h: Similarly.
18147         * config/i960/i960.h: Similarly.
18148         * config/ia64/ia64.h: Similarly.
18149         * config/m32r/m32r.h: Similarly.
18150         * config/m68hc11/m68hc11.h: Similarly.
18151         * config/m68k/m68k.h: Similarly.
18152         * config/m88k/m88k.h: Similarly.
18153         * config/mcore/mcore.h: Similarly.
18154         * config/mips/mips.h: Similarly.
18155         * config/mn10200/mn10200.h: Similarly.
18156         * config/mn10300/mn10300.h: Similarly.
18157         * config/ns32k/ns32k.h: Similarly.
18158         * config/pa/pa.h: Similarly.
18159         * config/pdp11/pdp11.h: Similarly.
18160         * config/pj/pj.h: Similarly.
18161         * config/romp/romp.h: Similarly.
18162         * config/rs6000/rs6000.h: Similarly.
18163         * config/sh/sh.h: Similarly.
18164         * config/sparc/sparc.h: Similarly.
18165         * config/v850/v850.h: Similarly.
18166         * config/vax/vax.h: Similarly.
18167         * config/we32k/we32k.h: Similarly.
18168
18169 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
18170
18171         * doc/c-tree.texi: Document representation of attributes.
18172
18173 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18174
18175         * doc/tm.texi: Update some places for the rename of target to
18176         targetm.  Fix typo.
18177
18178 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18179
18180         * target.h (struct gcc_target): Add insert_attributes.
18181         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
18182         (TARGET_INITIALIZER): Update.
18183         * tree.c, tree.h (default_insert_attributes): New function.
18184         Update comments on other default functions to refer to targetm,
18185         not target.
18186         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
18187         TARGET_INSERT_ATTRIBUTES.
18188         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
18189         * c-common.c (decl_attributes): Use targetm.insert_attributes.
18190         Don't use PRAGMA_INSERT_ATTRIBUTES.
18191         * Makefile.in (c-common.o): Depend on $(TARGET_H).
18192         * c-decl.c (start_decl, start_function): Don't call
18193         SET_DEFAULT_DECL_ATTRIBUTES.
18194         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18195         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
18196         declare.
18197         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
18198         (c4x_check_attribute): Avoid modifying attribute list itself.
18199         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
18200         Make static.
18201         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
18202         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
18203         declare.
18204         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
18205         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
18206         Make static.
18207         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18208         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
18209         declare.
18210         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
18211         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
18212         Adjust parameters.  Make static.
18213
18214 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18215
18216         * c-common.c (decl_attributes): Only take a single attributes
18217         parameter.
18218         * c-common.h (decl_attributes): Update prototype.
18219         * c-decl.c (start_decl, start_function): Only take a single
18220         attributes parameter.  Update calls to decl_attributes.
18221         (finish_struct, finish_enum): Update calls to decl_attributes.
18222         (push_parm_decl): Expect unified list of attributes.  Update call
18223         to decl_attributes.
18224         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
18225         notype_nested_function, component_declarator,
18226         component_notype_declarator, label): Update calls to
18227         decl_attributes.
18228         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
18229         lists that are passed to push_parm_decl.
18230         * c-tree.h (start_function, start_decl): Update prototypes.
18231         * config/sh/sh-protos.h, config/sh/sh.c
18232         (sh_pragma_insert_attributes): Only take a single attributes
18233         parameter.
18234         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
18235         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18236         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18237         build_module_descriptor, generate_static_references,
18238         generate_strings, build_selector_translation_table,
18239         generate_descriptor_table, generate_protocols,
18240         generate_ivars_list, generate_dispatch_table,
18241         generate_protocol_list, generate_category,
18242         generate_shared_structures, really_start_method, add_objc_decls,
18243         generate_classref_translation_entry): Update calls to start_decl
18244         and start_function.
18245         (build_tmp_function_decl, start_method_def): Unify attribute lists
18246         that are passed to push_parm_decl.
18247
18248 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
18249
18250         * final.c (no_asm_to_stream): New.
18251         (final_scan_insn): Use target structures for prologue ends
18252         and epilogue starts.
18253         * output.h (no_asm_to_stream): New.
18254         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18255         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18256         (TARGET_ASM_OUT): Update.
18257         * target.h (struct gcc_target): New members function_end_prologue
18258         and function_begin_epilogue.
18259         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18260         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18261         * config/alpha/alpha.c (output_end_prologue): Rename to
18262         alpha_output_function_end_prologue.  Use in target struct
18263         and make static.
18264         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18265         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18266         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
18267         ia64_output_function_end_prologue.  Use in target struct
18268         and make static.
18269         (ia64_function_prologue, ia64_funciton_epilogue): Rename
18270         mistyped prototypes.
18271         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18272         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18273         Delete.
18274         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18275         an use in target struct, make static.
18276         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18277         Delete.
18278
18279 2001-07-08  Richard Henderson  <rth@redhat.com>
18280
18281         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18282
18283 2001-07-08  Richard Henderson  <rth@redhat.com>
18284
18285         * config/i386/i386.md: Remove constraints strings from define_split
18286         and define_peephole2 patterns.
18287         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18288         (eh_return): Use them.
18289
18290 2001-07-08  Richard Henderson  <rth@redhat.com>
18291
18292         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18293         Document MD_FALLBACK_FRAME_STATE_FOR.
18294
18295 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18296
18297         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18298         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18299         elimination.
18300         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18301
18302 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18303
18304         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18305         of the label inside NAME as opposed to just the end of NAME.
18306
18307 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18308
18309         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18310         * config/alpha/alpha.c (alpha_init_machine_status,
18311         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18312         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18313         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18314         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18315
18316 2001-07-06  Stan Shebs  <shebs@apple.com>
18317
18318         * target.h (targetm): Rename global from "target", so as not to
18319         conflict with local variables.
18320         * c-decl.c: Ditto.
18321         * c-typeck.c: Ditto.
18322         * final.c: Ditto.
18323         * tree.c: Ditto.
18324         * cp/decl.c: Ditto.
18325         * cp/decl2.c: Ditto.
18326         * cp/typeck.c: Ditto.
18327         * 1750a/1750a.c: Ditto.
18328         * a29k/a29k.c: Ditto.
18329         * arc/arc.c: Ditto.
18330         * arm/arm.c: Ditto.
18331         * avr/avr.c: Ditto.
18332         * clipper/clipper.c: Ditto.
18333         * convex/convex.c: Ditto.
18334         * d30v/d30v.c: Ditto.
18335         * dsp16xx/dsp16xx.c: Ditto.
18336         * elxsi/elxsi.c: Ditto.
18337         * fr30/fr30.c: Ditto.
18338         * h8300/h8300.c: Ditto.
18339         * i370/i370.c: Ditto.
18340         * i386/i386.c: Ditto.
18341         * i860/i860.c: Ditto.
18342         * i960/i960.c: Ditto.
18343         * ia64/ia64.c: Ditto.
18344         * m32r/m32r.c: Ditto.
18345         * m68hc11/m68hc11.c: Ditto.
18346         * m68k/m68k.c: Ditto.
18347         * m88k/m88k.c: Ditto.
18348         * mips/mips.c: Ditto.
18349         * ns32k/ns32k.c: Ditto.
18350         * pa/pa.c: Ditto.
18351         * pdp11/pdp11.c: Ditto.
18352         * romp/romp.c: Ditto.
18353         * rs6000/rs6000.c: Ditto.
18354         * sh/sh.c: Ditto.
18355         * sparc/sparc.c: Ditto.
18356         * vax/vax.c: Ditto.
18357         * we32k/we32k.c: Ditto.
18358         * doc/tm.texi: Update the manual to match.
18359
18360 2001-07-06  Richard Henderson  <rth@redhat.com>
18361
18362         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18363         DWARF2_UNWIND_INFO not just whether it is defined.
18364
18365 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18366
18367         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18368         call to simplify_binary_operation returns a new pattern.
18369
18370 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18371
18372         * glimits.h (__SHRT_MAX__): New.
18373         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18374         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18375
18376 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18377
18378         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18379         avoid warnings.
18380
18381 2001-07-06  Richard Henderson  <rth@redhat.com>
18382
18383         * bitmap.c (bitmap_release_memory): Move adjacent to the
18384         allocation functions.
18385         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18386         the implementation.  Binary search for the set bit.
18387         (bitmap_union_of_diff): Allocate the temporary on the stack
18388         instead of using xmalloc.
18389
18390 2001-07-06  Richard Henderson  <rth@redhat.com>
18391
18392         * genrecog.c (validate_pattern): Warn for constraints in
18393         define_{expand,split,peephole2}.  Remove strict_low_part
18394         before looking up match_dup.
18395
18396 2001-07-06  DJ Delorie  <dj@redhat.com>
18397
18398         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18399         chapter about various build hints and history.  Add section
18400         talking about the various types of native and cross builds.
18401
18402 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18403
18404         * Makefile.in (final.o): Depend on target.h.
18405         * final.c: Include target.h.
18406         (default_function_pro_epilogue): New.
18407         (final_start_function): Use target structure for function prologues.
18408         (final_end_function): Use target structure for function epilogues.
18409         * fold-const.c (real_hex_to_f): Constify s and p.
18410         * output.h (default_function_pro_epilogue): New.
18411         * real.h (real_hex_to_f): Update prototype.
18412         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18413         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18414         (TARGET_INITIALIZER): Update.
18415         * target.h (gcc_target): Add struct asm_out.
18416         * doc/tm.texi: Update.
18417
18418 config:
18419         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18420         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18421         in cpu/cpu.c, or rename old functions consistently.  Take
18422         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18423         redundant macros and prototypes.  Make new functions static.
18424
18425         * 1750a/1750a.c: Similarly.
18426         * 1750a/1750a.h: Similarly.
18427         * a29k/a29k-protos.h: Similarly.
18428         * a29k/a29k.c: Similarly.
18429         * a29k/a29k.h: Similarly.
18430         * arc/arc-protos.h: Similarly.
18431         * arc/arc.c: Similarly.
18432         * arc/arc.h: Similarly.
18433         * arm/arm-protos.h: Similarly.
18434         * arm/arm.c: Similarly.
18435         * arm/arm.h: Similarly.
18436         * avr/avr-protos.h: Similarly.
18437         * avr/avr.c: Similarly.
18438         * avr/avr.h: Similarly.
18439         * clipper/clipper-protos.h: Similarly.
18440         * clipper/clipper.c: Similarly.
18441         * clipper/clipper.h: Similarly.
18442         * convex/convex.c: Similarly.
18443         * convex/convex.h: Similarly.
18444         * d30v/d30v-protos.h: Similarly.
18445         * d30v/d30v.c: Similarly.
18446         * d30v/d30v.h: Similarly.
18447         * d30v/d30v.md: Similarly.
18448         * dsp16xx/dsp16xx-protos.h: Similarly.
18449         * dsp16xx/dsp16xx.c: Similarly.
18450         * dsp16xx/dsp16xx.h: Similarly.
18451         * elxsi/elxsi.c: Similarly.
18452         * elxsi/elxsi.h: Similarly.
18453         * fr30/fr30.c: Similarly.
18454         * fr30/fr30.md: Similarly.
18455         * h8300/h8300-protos.h: Similarly.
18456         * h8300/h8300.c: Similarly.
18457         * h8300/h8300.h: Similarly.
18458         * i370/i370-protos.h: Similarly.
18459         * i370/i370.c: Similarly.
18460         * i370/i370.h: Similarly.
18461         * i386/i386.c: Similarly.
18462         * i386/osf1elf.h: Similarly.
18463         * i386/osfrose.h: Similarly.
18464         * i860/i860-protos.h: Similarly.
18465         * i860/i860.c: Similarly.
18466         * i860/i860.h: Similarly.
18467         * i960/i960-protos.h: Similarly.
18468         * i960/i960.c: Similarly.
18469         * i960/i960.h: Similarly.
18470         * ia64/ia64-protos.h: Similarly.
18471         * ia64/ia64.c: Similarly.
18472         * ia64/ia64.h: Similarly.
18473         * m32r/m32r-protos.h: Similarly.
18474         * m32r/m32r.c: Similarly.
18475         * m32r/m32r.h: Similarly.
18476         * m68hc11/m68hc11-protos.h: Similarly.
18477         * m68hc11/m68hc11.c: Similarly.
18478         * m68hc11/m68hc11.h: Similarly.
18479         * m68k/crds.h: Similarly.
18480         * m68k/dpx2.h: Similarly.
18481         * m68k/m68k-protos.h: Similarly.
18482         * m68k/m68k.c: Similarly.
18483         * m68k/m68k.h: Similarly.
18484         * m68k/news.h: Similarly.
18485         * m88k/m88k-protos.h: Similarly.
18486         * m88k/m88k.c: Similarly.
18487         * m88k/m88k.h: Similarly.
18488         * mips/mips-protos.h: Similarly.
18489         * mips/mips.c: Similarly.
18490         * mips/mips.h: Similarly.
18491         * ns32k/merlin.h: Similarly.
18492         * ns32k/ns32k.c: Similarly.
18493         * ns32k/ns32k.h: Similarly.
18494         * ns32k/tek6000.h: Similarly.
18495         * pa/pa-protos.h: Similarly.
18496         * pa/pa.c: Similarly.
18497         * pa/pa.h: Similarly.
18498         * pdp11/2bsd.h: Similarly.
18499         * pdp11/pdp11-protos.h: Similarly.
18500         * pdp11/pdp11.c: Similarly.
18501         * pdp11/pdp11.h: Similarly.
18502         * romp/romp-protos.h: Similarly.
18503         * romp/romp.c: Similarly.
18504         * romp/romp.h: Similarly.
18505         * rs6000/rs6000-protos.h: Similarly.
18506         * rs6000/rs6000.c: Similarly.
18507         * rs6000/rs6000.h: Similarly.
18508         * rs6000/sysv4.h: Similarly.
18509         * sh/sh-protos.h: Similarly.
18510         * sh/sh.c: Similarly.
18511         * sh/sh.h: Similarly.
18512         * sparc/sparc-protos.h: Similarly.
18513         * sparc/sparc.c: Similarly.
18514         * sparc/sparc.h: Similarly.
18515         * vax/vax.c: Similarly.
18516         * vax/vax.h: Similarly.
18517         * vax/vms.h: Similarly.
18518         * we32k/we32k.c: Similarly.
18519         * we32k/we32k.h: Similarly.
18520
18521 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18522
18523         * basic-block.h (first_insn_after_basic_block_note): Declare.
18524         * flow.c (first_insn_after_basic_block_note): Define.  Moved
18525         from...
18526         * ssa.c (first_insn_after_basic_block_note): Remove.
18527         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
18528         necessary.
18529         (ssa_eliminate_dead_code): Properly update the CFG and PHI
18530         nodes when we find a dead conditional branch.  Insert BARRIERs
18531         after any blocks with no successors, but which do not have
18532         any BARRIERs.
18533
18534 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
18535
18536         * varray.c (varray_check_failed): Use internal_error.
18537
18538 2001-07-05  Andrew Haley  <aph@redhat.com>
18539
18540         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
18541         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
18542         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
18543
18544 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
18545
18546         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
18547         reference if the target constant is also a SYMBOL_REF.
18548
18549 2001-07-05  Eric Christopher  <echristo@redhat.com>
18550
18551         * config/mips/mips.h (MASK_MIPS3900): Remove.
18552         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
18553         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
18554         (TARGET_MIPS3900): Change to use mips_arch.
18555         (TARGET_MIPS4000): New.
18556         (TARGET_MIPS4100): New.
18557         (TARGET_MIPS4300): New.
18558         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
18559         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
18560         for -mipsX.
18561         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
18562         (ISA_HAS_BRANCHLIKELY): To here.
18563         (CC1_CPU_SPEC):  New.
18564         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
18565         (mips_arch_string): Declare.
18566         (mips_arch): Declare.
18567         (TARGET_OPTIONS): Add -march and -mtune.
18568
18569         * config/mips/mips.c (mips_arch_string): New.
18570         (mips_arch): New.
18571         (override_options): Handle -march for codegen and -mtune
18572         for scheduling. Use mips_arch. Move tx39 target default here.
18573         (mips_parse_cpu): Move error message to override_options.
18574
18575         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
18576
18577         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
18578
18579         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
18580         (MIPS Options): Ditto.  Change mcpu entry to historical text.
18581
18582 2001-07-05  H.J. Lu  (hjl@gnu.org)
18583
18584         * config/mips/mips.c (mips_parse_cpu): New function to parse
18585         -march=*/-mcpu=*.
18586
18587 2001-07-05  Jim Wilson  <wilson@redhat.com>
18588
18589         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
18590         * config/ia64/t-ia64: Likewise.
18591         (LIB1ASMFUNCS): Update comment.
18592
18593 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
18594
18595         * doc/install.texi (Install GCC: Binaries): Fix typo.
18596
18597 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18598
18599         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
18600         reference using the stack pointer, adjust it since we push Y
18601         temporarily.
18602         ("*ashrsi3"): Likewise.
18603         ("*lshrsi3"): Likewise.
18604
18605 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18606
18607         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
18608         when -fomit-frame-pointer is used.
18609
18610 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
18611
18612         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
18613         (try_redirect_by_replacing_jump): Reverse updating properly the
18614         count and frequency information.  Reverse removing cc0 setter.
18615         (forwarder_block_p): Reverse fixing for fallthru blocks.
18616
18617 2001-07-05  DJ Delorie  <dj@redhat.com>
18618
18619         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
18620         (translate_options): If the above is defined, use it to map
18621         given options to new options.
18622         * doc/tm.texi: Document it.
18623
18624 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
18625             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18626
18627         * doc/invoke.texi (Optimize Options): Document that -fgcse may
18628         cause programs using computed gotos to run more slowly.
18629
18630 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18631
18632         * doc/install.texi (Specific): Markup, spelling and typo fixes.
18633         Fixed sorting.
18634         Consistently require binutils 2.11.2, not prereleases.
18635         (Specific, decstation-*): Canonicalize as mips-dec-*.
18636         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
18637         always necessary.
18638         (Specific, m68k-altos): Removed reference to README.altos, deleted.
18639         (Specific, mips-*): Reword MIPS C compiler requirements.
18640         (Specific, powerpc*-*-*): New, mention --with-cpu once.
18641         (Specific, sunv5): Removed, obsolete.
18642
18643 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18644
18645         * dwarf2out.c (output_loc_list): Use an all ones mask for
18646         .text asm output and don't rely on long long
18647         literals. Reformat some long lines.
18648
18649 2001-07-05  Andreas Jaeger  <aj@suse.de>
18650
18651         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
18652         section.
18653
18654 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18655
18656         * dwarf2out.c (dwarf2out_define): Update comment.
18657         (dwarf2out_undef): Ditto.
18658         (dwarf2out_start_source_file): Ditto.
18659         (dwarf2out_end_source_file): Ditto.
18660         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
18661         since we never call the start/end debug hook for the primary file.
18662
18663 2001-07-04  Kazu Hirata  <kazu@hxi.com>
18664
18665         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
18666         from shll.
18667
18668 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18669
18670         * cppinit.c (remove_dup_dirs): Inform if a system include
18671         directory is being reordered.
18672         * doc/invoke.texi (Directory Options): GCC warns if you hide a
18673         system include.
18674         * doc/cpp.texi (Search Paths): Likewise.
18675         * doc/gcc.texi (Interoperation): Remove information about
18676         -I/usr/include.
18677
18678 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18679
18680         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
18681         (VARRAY_TOP_CHAR_PTR): Likewise.
18682
18683 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18684
18685         * gcc.c (process_command): Don't assign elements of a const char*.
18686
18687 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18688
18689         * emit-rtl.c (change_address): Don't abort if invalid address while
18690         reload is in progress.
18691
18692 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18693
18694         * c-lex.c (cb_file_change): Pass line number to
18695         debug_start_source_file.
18696         (cb_undefine): Pass correct line number to debug_undef.
18697
18698         * toplev.c (debug_start_source_file): Add line number to
18699         parameters. Pass it along to dwarf2out_start_source_file.
18700         (decode_g_option): Stop resetting debug level back to normal when
18701         we change debug formats, unless the current level is
18702         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
18703         3).
18704
18705         * toplev.h (debug_start_source_file): Add line number to
18706         parameters.
18707
18708         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
18709         parameters.
18710
18711         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
18712         parameters.
18713         Output debug_macinfo data for starting file if requested.
18714         (dwarf2out_end_source_file): Output debug_macinfo data for ending
18715         file if requested.
18716         (dwarf2out_define): Output debug_macinfo data for defining a macro
18717         if requested.
18718         (dwarf2out_undef): Output debug_macinfo data for undefining a
18719         macro if requested.
18720         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
18721         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
18722         (macinfo_section_label): New. DWARF2 macro info section label.
18723         (dwarf2out_init): If we want macro info, output the start label
18724         for the section.
18725         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
18726         attribute to the compilation unit die pointing to the macro info.
18727
18728 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18729
18730         * dwarf2out.c (new_loc_list): Move to inside #ifdef
18731         DWARF2_DEBUGGING_INFO.
18732         (add_loc_descr_to_loc_list): Ditto.
18733         (output_loc_list): Ditto.
18734         Also, fix thinko in curr not being initialized.
18735         (gen_internal_sym): Ditto.
18736
18737 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18738
18739         * emit-rtl.c (replace_equiv_address): New function.
18740         * expr.h (replace_equiv_address): New declaration.
18741         * explow.c (validize_mem): Call it instead of change_address and
18742         also call if -fforce-addr and address is constant.
18743         * expr.c: Replace more calls to change_address with adjust_address
18744         and/or replace_equiv_address or to validize_mem.
18745         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
18746         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
18747         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18748         * config/i370/i370.md, config/i860/i860.md: Likewise.
18749         * config/i960/i960.md, config/mips/mips.c: Likewise.
18750         * config/mips/mips.md, config/pa/pa.md: Likewise.
18751         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
18752         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
18753
18754 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18755
18756         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
18757
18758         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
18759         function.
18760
18761 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
18762
18763         * doc/include: New directory.
18764         * doc/fdl.texi: Move to doc/include/fdl.texi.
18765         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
18766         * doc/include/funding.texi, doc/include/gpl.texi: New files.
18767         * doc/gcc.texi: Use funding.texi and gpl.texi.
18768         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
18769         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
18770         Update dependencies and use -I $(docdir)/include.
18771
18772 2001-07-04  Anthony Green  <green@redhat.com>
18773
18774         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
18775
18776 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18777
18778         * doc/install.texi (sparc64-*-*): Remove garbage.
18779
18780 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
18781
18782         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
18783         Fix typo in last change to use adjust_address.
18784
18785 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18786
18787         * doc/install.texi (Specific): Update information for *-*-solaris*.
18788
18789 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18790
18791         * explow.c (plus_constant_wide): Reinitialize Y for restart.
18792
18793 2001-07-03  Stan Shebs  <shebs@apple.com>
18794
18795         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
18796         case for flag_no_mach_text_sections.
18797         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
18798         * config/darwin.c (flag_no_mach_text_sections): Remove.
18799         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
18800
18801 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18802
18803         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
18804         and avoid checking for constant as first operand.
18805         * recog.c (find_constant_term_loc): No longer static.
18806         (adj_offettable_operand): Delete.
18807         * rtl.h (adj_offsettable_operand): Delete declaration.
18808         (find_constant_term): Add declaration.
18809         * caller-save.c: Replace calls to adj_offsettable_operand with calls
18810         to adjust_address.
18811         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
18812         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
18813         * config/i386/i386.c, config/i386/i386.md: Likewise.
18814         * config/i860/i860.c, config/i960/i960.c: Likewise.
18815         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
18816         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
18817         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
18818         * config/mips/mips.c, config/mips/mips.md: Likewise.
18819         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
18820         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
18821         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
18822         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
18823         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
18824         * config/ns32k/ns32k.md: Likewise.
18825
18826 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
18827
18828         * rtl.c (copy_rtx): Handle 'T' format letter.
18829         * gensupport.c (collect_insn_data): Likewise.
18830         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
18831
18832 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
18833
18834         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
18835         -B option.  Use 'dir' not 'foo' as example directory name.
18836
18837 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18838
18839         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18840         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
18841
18842 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18843
18844         * doc/cppinternals.texi: Improve formatting and logical markup.
18845
18846 2001-07-03  Andreas Jaeger  <aj@suse.de>
18847
18848         * Makefile.in (insn-recog.o): Add dependency on reload.h.
18849
18850         * genrecog.c (write_header): Include reload.h for prototypes in
18851         insn-recog.c.
18852
18853 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
18854
18855 config:
18856         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
18857         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18858         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
18859         i386_pe_valid_type_attribute_p): Add.
18860         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
18861         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
18862
18863 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18864
18865         * explow.c (plus_constant_wide, case LO_SUM): New case.
18866         (plus_constant_for_output_wide): Delete.
18867         * rtl.h (plus_constant_for_output): Delete.
18868         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
18869         instead of plus_constant_for_output.
18870         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
18871         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
18872         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
18873         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
18874         * config/sparc/sparc.md: Likewise.
18875         Convert some change_address calls to adjust_address.
18876
18877 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18878
18879         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
18880         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
18881         documentation of -std and -Wwrite-strings.
18882
18883 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18884
18885         * cse.c (canon_hash): Don't register registers in very small
18886         register classes, as extending their lifetime might cause
18887         reload to fail.
18888
18889 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18890
18891         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18892
18893         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18894         (try_redirect_by_replacing_jump): Update properly the count
18895         and frequency information.
18896
18897 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
18898
18899         * toplev.c (dump_file_index): Move SSA dumps just after first
18900         jump dump.
18901         (dump_file): Corresponding changes.
18902         (rest_of_compilation): Move SSA path to just after the first
18903         jump pass.
18904         * doc/gcc.texi (Passes): Update due to movement of SSA path.
18905         * doc/invoke.texi: Update dump file #s as they were completely
18906         out of date with reality.
18907
18908 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18909
18910         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
18911
18912         * expr.c (emit_move_insn_1): Deal with non-default
18913         STACK_PUSH_CODE.
18914
18915         * expr.c (emit_single_push_insn): Fix warning.
18916
18917 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18918
18919         * expr.c (emit_move_insn_1): Avoid modifying
18920         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
18921
18922 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18923
18924         * emit-rtl.c (adjust_address): New function.
18925         * expr.h (adjust_address): Add declaration.
18926         * builtins.c: Replace some calls to change_address with calls to it
18927         or to validize_mem.
18928         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
18929         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
18930         * config/arm/arm.c, config/convex/convex.c: Likewise.
18931         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18932         * config/i386/i386.c, config/i386/i386.md: Likewise.
18933         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
18934         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
18935         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
18936         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
18937         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
18938
18939 2001-07-02  Jim Wilson  <wilson@redhat.com>
18940
18941         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
18942
18943 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
18944
18945         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
18946         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
18947
18948 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18949
18950         * cppinit.c (lang_defaults): New table.
18951         (set_lang): Just read from lang_defaults into the live options
18952         structure.
18953
18954 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18955
18956         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
18957         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
18958         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
18959
18960 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18961
18962         * doc/install.texi: Various spelling and markup fixes.
18963         (Installing GCC): Component specific installation instructions are
18964         gone.
18965         Fix reference.
18966         Warn about removing old install dir in the presence of shared libs.
18967         (Configuration): Invoke with options target to match configure
18968         --help.
18969         Consistently refer to gas, gld pathnames.
18970         Invert --enable-multilib documentation.
18971         Remove references to old compiler versions.
18972
18973 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18974
18975         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
18976
18977 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18978
18979         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
18980         section.
18981         (Specific, mips*-sgi-irix5): Note IDO download.
18982         Reworded MIPS C hints.
18983         Use GNU as instead of GAS.
18984         Markup fixes.
18985         Removed SGI Freeware reference, IRIX 6 only.
18986         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
18987         Note N64 library requirement/workaround.
18988         Update O32 hints.
18989         Complete list of structure passing bug victims.
18990
18991 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18992
18993         * doc/install.texi: Remove CVS Id.
18994
18995 2001-07-02  Andreas Jaeger  <aj@suse.de>
18996
18997         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
18998         (find_inherently_necessary): Remove unused variable.
18999
19000 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
19001
19002         * c-common.h (TDI_inlined): New ast dump phase.
19003         (dump_flag_name): New function.
19004         * c-dump.c (dump_files): Add inlined phase.
19005         (dump_flag_name): Define.
19006         * doc/invoke.texi (-fdump-ast-inlined): Document.
19007
19008 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19009
19010         * stor-layout.c (layout_decl): Revert change to handling of alignment
19011         in packed types.
19012
19013 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19014
19015         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
19016         for FIELD_DECL.
19017
19018 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
19019
19020         * doc/tm.texi (FUNCTION_ARG): Document that the last call
19021         is special.
19022
19023 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
19024
19025         * tlink.c (recompile_files): Remove COMPILER_PATH and
19026         LIBRARY_PATH from the environment.
19027
19028 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
19029
19030         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
19031         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
19032         enumerators.
19033         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
19034
19035         * c-parse.in (OBJC_STRING): Kill.
19036         (objc_string): Decompose to [objc_string] '@' STRING.
19037         (reswords): Take the leading '@' off all the Objective C keywords.
19038         (objc_rid_sans_at): Kill.
19039         (init_reswords): Don't initialize it.
19040         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
19041         (_yylex): Kill reconsider label.  Look ahead one token after
19042         an '@'; if we get an identifier, check whether it's an
19043         Objective C @-keyword.  If so, return the keyword.  Otherwise,
19044         put back the token and return the '@' as a terminal.
19045
19046         * cpplib.c (lex_macro_node): Remove unnecessary check for
19047         leading '@' on identifier.  Clarify control flow and commentary.
19048
19049 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19050
19051         * cse.c (new_label_ref): Variable deleted.
19052         (insert): Remove set of new_label_ref.
19053         (check_for_label_ref): New function.
19054         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
19055
19056 See ChangeLog.5 for earlier changes.