OSDN Git Service

* cfglayout.c (insert_intra_before_1): New.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
2
3         * cfglayout.c (insert_intra_before_1): New.
4         (insert_inter_bb_scope_notes): Emit sibling block notes which don't
5         span multiple basic blocks.
6
7 2001-12-29  Richard Henderson  <rth@redhat.com>
8
9         * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
10         edges.  Rearrange jump interpretation code to use pc_set.
11         (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
12
13         * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
14         all insns that can throw, not just if flag_non_call_exceptions.
15
16 2001-12-29  Stan Shebs  <shebs@apple.com>
17
18         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
19         (default_constant_string_class_name): New global.
20         (objc_init): Set it.
21         (synth_module_prologue): Use it.
22
23         * objc/objc-act.c: Apply various cosmetic and formatting changes.
24
25 2001-12-29  Kazu Hirata  <kazu@hxi.com>
26
27         * config/rs6000/darwin-tramp.asm: Fix comment formatting.
28         * config/rs6000/freebsd.h: Likewise.
29         * config/rs6000/rs6000.c: Likewise.
30         * config/sh/sh.c: Likewise.
31         * config/sh/sh.h: Likewise.
32
33 2001-12-28  Stan Shebs  <shebs@apple.com>
34
35         * objc/objc-act.c (build_module_descriptor): Make sure the init
36         function is not deferred.
37         (build_dispatch_table_initializer): Compute the method encoding if
38         not already done.
39
40 2001-12-28  Kazu Hirata  <kazu@hxi.com>
41
42         * doc/md.texi: Add @findex define_insn_and_split.
43
44 2001-12-28  Hans Bohem  <hans_boehm@hp.com>
45
46         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
47         * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
48         bsp setup.  Set pri_unat_loc to something reasonable.
49         (uw_install_context): Add missing cast.
50         (unw_access_gr): Fix off-by-1 indexing error.
51
52 2001-12-28  Kazu Hirata  <kazu@hxi.com>
53
54         * except.c: Fix comment formatting.
55         * flags.h: Likewise.
56         * flow.c: Likewise.
57         * predict.c: Likewise.
58         * simplify-rtx.c: Likewise.
59         * system.h: Likewise.
60         * vmsdbg.h: Likewise.
61         * vmsdbgout.c: Likewise.
62
63 2001-12-28  Kazu Hirata  <kazu@hxi.com>
64
65         * config/h8300/h8300.md: Fix formatting.
66
67 2001-12-28  Geoff Keating  <geoffk@redhat.com>
68
69         * varasm.c (record_constant_1): Correct parameter to recursive
70         call in default case.
71
72 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
73
74         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
75         ASM_OUTPUT_DWARF_PCREL): Define.
76         * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
77         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
78         .uaword %r_disp32() and linker handles it correctly.
79         * configure, config.in: Rebuilt.
80
81 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
82
83         * c-typeck.c (store_init_value): If initializing object with array
84         type of unknown size by a compound literal, set object's size from
85         compound literal size.
86         * doc/extend.texi (Compound Literals): Adjust documentation.
87
88 2001-12-28  Richard Henderson  <rth@redhat.com>
89
90         * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
91         (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
92         (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
93         * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
94         INTEL_EXTENDED_IEEE_FORMAT.
95
96 2001-12-27  Geoff Keating  <geoffk@redhat.com>
97
98         * combine.c (try_combine): Mask off sign bits when combining
99         stores to the low and high parts of a two-word value.
100
101         * expr.c (expand_expr): Don't mark memory for non-constants as
102         constant.
103
104 Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
105
106         * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
107         and not for LHS, clear RTX_UNCHANGING_P.
108
109 2001-12-28  Philipp Thomas  <pthomas@suse.de>
110
111         * cppfiles.c (stack_include_file): Don't translate <stdin>.
112
113 2001-12-27  Roger Sayle <roger@eyesopen.com>
114
115         * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
116         when all arguments are known constant.  Fixes PR opt/3508.
117
118 2001-12-27  Kazu Hirata  <kazu@hxi.com>
119
120         * config/h8300/h8300.md (two anonymous patterns): Remove.
121
122 2001-12-27  Richard Henderson  <rth@redhat.com>
123
124         * haifa-sched.c (reemit_other_notes): New.
125         (schedule_block): Use it.
126         * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
127         * sched-rgn.c (schedule_insns): Likewise.
128         * cfglayout.c (remove_scope_notes): Handle removing note at
129         the end of the insn chain.
130         * function.c (debug_find_var_in_block_tree): New.
131
132 2001-12-27  Alan Modra  <amodra@bigpond.net.au>
133             David Edelsohn  <edelsohn@gnu.org>
134
135         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
136
137 2001-12-27  Jakub Jelinek  <jakub@redhat.com>
138
139         * toplev.c (independent_decode_option): Re-add -aux-info option
140         handling.
141
142 Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
143
144         * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
145         if special value.
146
147 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
148
149         * collect2.c (is_ctor_dtor): Const-ify.
150         * m88k-protos.h (output_file_start): Likewise.
151         * m88k.c (m88k_lang_independent_options, output_options,
152         output_file_start): Likewise.
153         * fix-header.c (files_to_ignore, std_include_entry, include_entry,
154         std_include_table, main): Likewise.
155         * protoize.c (longopts): Likewise.
156         * regclass.c (int_reg_class_contents): Likewise.
157         * toplev.c (dump_file, f_options, W_options): Make static.
158         (lang_independent_options, f_options, W_options): Const-ify.
159         * tree-dump.c (dump_file_info): Likewise.
160         * unroll.c (_factor): Make static.
161
162 Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
163
164         * config/alpha/alpha.c (alpha_align_insns): Remove warning.
165
166         * config/sparc/sparc.md (call struct patterns): Show starting
167         at two words long.
168
169 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
170
171         * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
172         * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
173
174 2001-12-26  DJ Delorie  <dj@redhat.com>
175
176         * function.c (expand_main_function): Make sure stack adjustments
177         happen before sjlj exception setup.
178
179 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
180
181         * rs6000.md (indirect_jump): Prefer CTR over LR.
182         * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
183
184 Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
185
186         * dwarf2out.c: Reformatting and minor code rearrangement.
187
188 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
189
190         * configure.in (quoted_stage_prefix_set_by_configure): Generate.
191         * configure: Regenerated.
192         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
193         quoted_stage_prefix_set_by_configure.
194
195 Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
196
197         * rtl.h (in_expr_list_p): New declaration.
198         * rtlanal.c (in_expr_list_p): New function.
199         * cfgcleanup.c: Reformatting and minor code rearrangement.
200         * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
201
202 2001-12-23  Richard Henderson  <rth@redhat.com>
203
204         PR c/5163:
205         * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
206         we have a function body associated.  Minor cleanups.
207         (grokdeclarator): Do not set DECL_INLINE without a function body.
208
209 2001-12-23  Richard Henderson  <rth@redhat.com>
210
211         * stmt.c (resolve_operand_names): Handle operand modifiers.
212
213 2001-12-23  Richard Henderson  <rth@redhat.com>
214
215         * stmt.c (parse_input_constraint): Break out from ...
216         (expand_asm_operands): ... here.  Loop over the operands twice,
217         the first time only calling mark_addressable.  Correct and simplify
218         the conditions for spilling an output operand to memory.
219
220 2001-12-23  Richard Henderson  <rth@redhat.com>
221
222         * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
223
224         * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
225         (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
226         (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
227
228 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
229
230         * c-typeck.c (c_start_case): Don't strip conversions from the
231         controlling expression.  Partially fixes PR c/2454.
232
233 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
234
235         * Makefile.in (USER_H): Remove proto.h.
236         * config.gcc (c*-convex-*): Set extra_headers=proto.h.
237
238 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
239
240         * arc.c (arc_hard_regno_mode_ok): Const-ify.
241         * arc.h (arc_hard_regno_mode_ok): Likewise.
242         * i386.c (x86_64_reg_class_name): Make static.
243         * m68k.c (regno_reg_class): Const-ify.
244         * m68k.h (regno_reg_class): Likewise.
245         * mcore.c (reg_class_from_letter): Likewise.
246         * mcore.h (reg_class_from_letter): Likewise.
247         * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
248         ext_shift_insns, ext_shift_amounts): Likewise.
249         * sh.h (reg_class_from_letter): Likewise.
250         * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
251         hard_64bit_mode_classes): Likewise.
252         * sparc.h (hard_regno_mode_classes): Likewise.
253
254         * gcc.c (modify_target): Make static.
255         * gengenrtl.c (defs, formats): Likewise.
256         * reload1.c (elim_table_1, init_elim_table): Const-ify.
257         * tradcpp.c (directive, directive_table, handle_directive,
258         skip_if_group, run_directive): Likewise.
259
260 2001-12-23  Richard Henderson  <rth@redhat.com>
261
262         * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
263         an invalid result register; do end the sequence properly.
264         (emit_library_call_value_1): Likewise.
265
266 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
267
268         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
269
270         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
271
272         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
273         (altivec_init_builtins): Add tree types for builtins with 4 bit
274         literals.
275         (bdesc_3arg): Add vsldoi variants.
276
277 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
278
279         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
280         * a29k.h (a29k_debug_reg_map): Likewise.
281         * arc.h (arc_regno_reg_class): Likewise.
282         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
283         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
284         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
285         * i386.h (regclass_map): Likewise.
286         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
287         * mcore.h (regno_reg_class): Likewise.
288         * mips.h (mips_print_operand_punct, mips_char_to_class):
289         Likewise.
290         * ns32k.h (regclass_map): Likewise.
291         * pj.h (pj_debugreg_renumber_vec): Likewise.
292         * s390.h (regclass_map): Likewise.
293         * sh.h (regno_reg_class): Likewise.
294         * sparc.h (sparc_regno_reg_class): Likewise.
295
296         * hard-reg-set.h (reg_class_contents): Likewise.
297         * machmode.h (class_narrowest_mode): Likewise.
298
299 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
300
301         * loop.c (scan_loop, move_movables, count_one_set): Do not
302         overlook hard registers when computing statistics.
303
304 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
305
306         * calls.c (ECF_LIBCALL_BLOCK): New constant.
307         (emit_call_1, initialize_argument_information,
308         precompute_arguments, expand_call,
309         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
310         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
311
312 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
313
314         * config.gcc (extra_headers): Move settings to math-68881.h and
315         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
316         m68k targets.
317         (header_files): Remove unused setting.
318
319 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
320
321         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
322         `call_used_regs' explicitly.
323         * i860.c: Likewise.
324         * m68k.c: Likewise.
325         * ns32k.c: Likewise.
326         * pa.c: Likewise.
327         * vax.c: Likewise.
328         * we32k.c: Likewise.
329
330 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
331
332         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
333         (TARGET_CPU_DEFAULT_*): Renumber.
334
335 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
336
337         * rtl.h (subreg_lsb): Declare.
338         * rtlanal.c (subreg_lsb): Implement.
339
340 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
341
342         * predict.c: Reformatting and minor cleanups.
343         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
344
345         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
346         SAVE_EXPR.
347         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
348         (put_addressof_into_stack): Clarify code in setting of used_p.
349
350         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
351         (expand_call): Delete from here.
352         Do pending stack adjustments if ECF_SP_DEPRESSED.
353
354         * dwarf2out.c (save_rtx): Deleted.
355         (mem_loc_descriptor): Do equivalent operation.
356         (add_const_value_attribute, case CONST): Likewise.
357         (add_name_and_src_coords_attributes): Likewise.
358
359 2001-12-21  Kazu Hirata  <kazu@hxi.com>
360
361         * config/h8300/h8300.h: Fix comment formatting.
362
363 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
364
365         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
366         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
367
368 2001-12-21  Robert Lipe  <robertlipe@usa.net>
369
370          * system.h (PREFETCH): Explictly undefine.
371
372 2001-12-21  Richard Henderson  <rth@redhat.com>
373
374         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
375         (RESTORE_WARN_FLAGS): Restore it.
376         (extension): Zero warn_traditional.
377
378 2001-12-21  Kazu Hirata  <kazu@hxi.com>
379
380         * doc/passes.texi: Fix a typo.
381
382 2001-12-21  Kazu Hirata  <kazu@hxi.com>
383
384         * config/h8300/h8300.h: Fix a comment typo.
385
386 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
387
388         * combine.c (nonzero_bits): If using reg_nonzero_bits,
389         we don't know anything about bits outside of X mode.
390         (num_sign_bit_copies): Likewise.
391
392 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
393
394         * config/arm/arm.md (prefetch): Use 'a' operand code.
395
396 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
397
398         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
399         subshells.
400         * configure.in: Likewise for perl Pod::Man.
401
402         * configure: Regenerated.
403
404 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
405
406         * builtin-attrs.def (__builtin_printf_unlocked,
407         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
408         Mark with the __printf__ attribute.
409         
410         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
411         and set the replacement function depending on it.
412         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
413         Handle BUILT_IN_*_UNLOCKED when optimizing.
414         
415         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
416         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
417         Declare the "unlocked" stdio functions.
418         
419         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
420         Add an `unlocked' parameter and set the replacement function
421         depending on it.
422         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
423         BUILT_IN_FPRINTF_UNLOCKED.
424
425         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
426         fputs_unlocked): Document.
427
428 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
429
430         * cfgloop.c (flow_loops_find): Use the information of the depth
431         first search order of the CFG correctly when finding natural loops.
432
433 2001-12-20  Richard Henderson  <rth@redhat.com>
434
435         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
436
437 2001-12-20  Richard Henderson  <rth@redhat.com>
438
439         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
440         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
441         operand into $27.
442
443 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
444
445         * configure.in (all_headers, all_lib2funcs): Remove.
446         * configure: Regenerate.
447         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
448         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
449         * config/alpha/t-interix (USER_H): Don't include
450         $(LANG_EXTRA_HEADERS).
451         * config/i386/t-interix: Likewise.
452         * config/t-openbsd: Likewise.
453
454 2001-12-20  Andreas Jaeger  <aj@suse.de>
455
456         * libgcc2.c (__bb_exit_func): Remove unused variable.
457         (num_digits): Remove unused function.
458
459 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
460
461         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
462         to use ldmfd instead of ldmea.
463         * config/arm/arm.c (arm_compute_initial_elimination_offset):
464         Modified to reflect behavior of arm_expand_prologue when generating
465         interrupt handlers
466
467 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
468
469         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
470         function. Compute which of registers r0 through r12 should be
471         saved onto the stack during a function's prologue.
472         (arm_compute_save_reg_mask): Use
473         arm_compute_save_reg0_reg12_mask.
474         (arm_compute_initial_elimination_offset): Use
475         arm_compute_save_reg0_reg12_mask.
476
477         (arm_expand_prologue): Do not mark as save of the IP register
478         for an interrupt handler as being part of the frame creation
479         code.
480
481 2001-12-20  Richard Henderson  <rth@redhat.com>
482
483         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
484         to emit floating point values.
485         (assemble_real_1): Remove.
486
487         * 1750a/1750a.c (real_value_to_target_single): New.
488         (real_value_to_target_double): New.
489         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
490         (REAL_VALUE_TO_TARGET_SINGLE): New.
491         (REAL_VALUE_TO_TARGET_DOUBLE): New.
492         * 1750a/1750a-protos.h: Update.
493
494         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
495         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
496         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
497         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
498         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
499         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
500         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
501         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
502         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
503         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
504         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
505         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
506         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
507         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
508         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
509         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
510         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
511         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
512         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
513         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
514         associated support routines.
515
516 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
517
518         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
519         if one of block does not contain jump.
520         (outgoing_edge_math): Revert last path; require edges to be noncomplex
521         nonfake to match single exit edge; require conditional jumps to not
522         have side effect.
523
524 2001-12-20  Turly O'Connor  <turly@apple.com>
525
526         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
527         "recog_operand" to "recog_data.operand".
528         * rtl.def: Likewise.
529
530 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
531
532         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
533         narrower mode than op0, only return the bits in DIV's mode.
534
535 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
536
537         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
538         to JUMP_INSNs with JUMP_LABEL.
539
540 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
541
542         * doc/install.texi: Add documentation for --enable-altivec.
543
544         * config.gcc: Add support for --enable-altivec.
545
546         * config/rs6000/altivec.h: New.
547
548         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
549         Define.  Fix typo.
550
551         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
552         unspec_volatile.
553         (generate_set_vrsave): Generate the unspec here instead of calling
554         an .md pattern.
555         (generate_set_vrsave): Use gen_rtvec.
556         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
557         gen_rtx_SET.
558
559         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
560         for setting special registers.
561         ("*set_vrsave_internal"): Use unspec_volatile.
562         ("set_vrsave"): Remove.
563         ("get_vrsave"): Remove.
564
565         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
566         SPECIAL_REGS.
567
568 2001-12-19  Bruce Korb  <bkorb@gnu.org>
569
570         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
571         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
572         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
573         * gcc/fixinc/base/...: adjust for changes in fixes
574
575 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
576
577         * po/gcc.pot: Regenerate.
578
579         * configure.in (all_diff_excludes, diff_excludes): Remove.
580         * configure: Regenerate.
581         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
582         * objc/config-lang.in (diff_excludes): Remove.
583
584 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
585
586         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
587         the destination register as a parameter to mems_ok_for_ldd_peep.
588         For store peepholes pass NULL_RTX.  Move all volatile checks ...
589         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
590         register parameter, check it's not the same as base for an address.
591         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
592
593 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
594
595         * config/ia64/ia64.c (ia64_single_set): Return first set for
596         prologue_allocate_stack and epilogue_deallocate_stack instructions.
597
598 2001-12-19  Dale Johannesen  <dalej@apple.com>
599
600          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
601          redefine in terms of rs6000_legitimize_reload_address().
602          * config/rs6000/rs6000-protos.h: Add this function.
603          * config/rs6000/rs6000.c: Add this function.  Includes
604          handling for Darwin FP constants.
605
606 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
607
608         * config/pa/t-hpux-shlib: New file.
609         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
610         for 32bit hpux10 & hpux11 configurations.
611
612 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
613
614         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
615         -mno-fpu onto gas unless -mhard-float is specified.
616         (MULTILIB_DEFAULTS): Include msoft-float.
617
618         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
619
620         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
621         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
622
623 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
624
625         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
626         descriptor output.
627
628 2001-12-18  Stan Shebs  <shebs@apple.com>
629
630         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
631
632 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
633
634         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
635         on an INTEGER_CST.
636
637 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
638
639         * rs6000.c (rs6000_override_options): Only use DI ops when
640         TARGET_64BIT.  Fix typo.
641
642 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
643
644         * att.h (ASM_FILE_START): Use asm_dialect.
645         * linux.h (ASM_FILE_START): Likewise.
646         * gas.h (ASM_FILE_START): Likewise.
647         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
648         ix86_asm_string, ix86_asm_dialect): New.
649         (override_options): Set asm_dialect.
650         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
651         MASK_DEBUG_ADDR): Kill.
652         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
653         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
654         (ASSEMBLER_DIALECT): Use asm_dialect.
655         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
656         remove debug-addr and debug-arg.
657         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
658         (asm_dialect): New enum.
659         (ix86_debug_arg_string, ix86_debug_addr_string,
660         ix86_asm_string, ix86_asm_dialect): Declare.
661         * invoke.texi (-mintel-syntax): Remove.
662         (-masm): Document.
663
664 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
665
666         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
667
668 2001-12-18  Jason Merrill  <jason@redhat.com>
669
670         C++ ABI change: destroy value arguments in caller.
671         * calls.c (initialize_argument_information): Pass the address of
672         the TARGET_EXPR temporary rather than storing it into another.
673
674 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
675
676         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
677         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
678
679 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
680
681         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
682         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
683         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
684         (CC1_SPEC): Don't default to -gstabs+ if -m32.
685
686 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
687
688         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
689
690 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
691
692         * po/gcc.pot: Regenerate.
693
694 2001-12-18  Kazu Hirata  <kazu@hxi.com>
695
696         * config/h8300/h8300.c: Fix comment typos.
697         * config/h8300/h8300.h: Fix comment formatting.
698
699 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
700
701         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
702         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
703         declaration to NUM_MACHINE_MODES.
704         (mode_size, mode_unit_size): Set array type to unsigned char.
705         (mode_bitsize): Set array type to unsigned short.
706
707         * rtl.c (rtx_length): Set array type to unsigned char.
708         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
709         NUM_RTX_CODE.
710         (mode_bitsize): Set array type to unsigned short.
711         (mode_size, mode_unit_size): Set array type to unsigned char.
712         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
713         mode_wider_mode, mode_mask_array): Set array size to
714         NUM_MACHINE_MODES.
715
716         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
717         size in declaration to NUM_RTX_CODE.
718
719 2001-12-17  Richard Henderson  <rth@redhat.com>
720
721         * config/alpha/alpha.md (unop): Encode RB as $sp.
722
723 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
724
725         * Makefile.in: Update dependencies.
726         * c-lang.c: Remove unnecessary includes.
727         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
728         c-objc-common.c.
729         (finish_file): Move body to c_common_finish_file.
730         * c-objc-common.c: Include varray.h and ggc.h.
731         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
732         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
733         (c_objc_common_init): Initialize deferred function array.
734         * c-tree.h (c_objc_common_finish_file,
735         static_ctors, static_dtors): New.
736 objc:
737         * Make-lang.in: Update dependencies.
738         * objc/objc-act.c: Don't include varray.h.
739         (defer_fn, deferred_fns): Move to c-objc-common.c.
740         (objc_init): Similarly for initialization of it.
741         (finish_file): Move some to c-objc-common.c, use
742         c_objc_common_finish_file.
743
744 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
745
746         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
747
748 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
749
750         * doc/cppinternals.texi: Update.
751
752 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
753
754         * expmed.c (emit_store_flag): Extract updated comparison code
755         from the return value of compare_from_rtx.
756         * expr.c (do_store_flag): Similarly.
757
758 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
759
760         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
761         preference to BASE_REG_CLASS.
762         * recog.c (preprocess_constraints): Ditto.
763         * regclass.c (record_operand_costs, scan_one_insn, regclass,
764         record_reg_classes, record_address_regs): Ditto.
765         * regrename.c (scan_rtx_address, scan_rtx,
766         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
767         * reload.c (find_reloads, find_reloads_address,
768         find_reloads_address_1): Ditto.
769         * reload1.c (maybe_fix_stack_asms): Ditto.
770         * defaults.h (MODE_BASE_REG_CLASS): Provide default
771         definition.
772         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
773
774         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
775
776 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
777
778         * doc/install.texi2html: Use -I $SOURCEDIR.
779
780         Separate user and internals manuals.
781         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
782         dependencies.
783         ($(docdir)/gccint.info, gccint.dvi): New targets.
784         (maintainer-clean, install-info, uninstall): Update.
785         * doc/.cvsignore: Add gccint.info*.
786         * doc/include/gcc-common.texi: New file.
787         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
788         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
789         is defined.
790         * doc/gccint.texi: New file.
791         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
792         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
793         Update for separate user and internals manuals.
794
795 2001-12-17  Dale Johannesen  <dalej@apple.com>
796
797          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
798          ASM_CPU_SPEC: Ditto.
799          RTX_COSTS: Fix timing info for 7450 multiply.
800          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
801          Allow floats to be kept in int regs in movsf_low,
802          movsf_low_st (Darwin only)
803
804 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
805
806         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
807         parallel.
808         (is_gpr_return_reg): New.
809         (rs6000_emit_prologue): Call generate_set_vrsave with additional
810         argument.  Save only registers in the mask.  Attach
811         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
812         rs6000_frame_related when saving VRSAVE.
813         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
814         argument.  Restore only registers in the mask.  Restore altivec
815         registers after we restore CR.
816         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
817         sets instead of clobbers for call saved registers.
818         (altivec_frame_fixup): New.
819
820 2001-12-17  Richard Henderson  <rth@redhat.com>
821
822         * config/sparc/sparc.md (movdi_zero): Remove.
823         (movdi_insn_sp32_v9): New.
824
825 2001-12-17  Richard Henderson  <rth@redhat.com>
826
827         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
828         a single outgoing edge too.
829
830 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
831
832         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
833         edges resulting from computed jump
834
835 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
836
837         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
838         * basic-block.h (CLEANUP_THREADING): New constant.
839         * cfgcleanup.c: Include cselib.h
840         (thread_jump, mark_effect): New functions.
841         (try_forward_edges): Do jump threading when asked for.
842         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
843         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
844         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
845         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
846         CLEANUP_THREAD instead.
847
848 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
849
850         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
851
852 2001-12-17  Tom Rix  <trix@redhat.com>
853
854         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
855         of bytes.
856
857 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
858
859         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
860         asm_out.integer): New fields.
861         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
862         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
863         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
864         the individual initialisers together.
865         (TARGET_ASM_OUT): Add the new initialisers.
866         * output.h (assemble_integer): Return bool.
867         (integer_asm_op): Declare.
868         (default_assemble_integer): Declare.
869         (assemble_aligned_integer): New interface to assemble_integer.
870         * varasm.c (integer_asm_op): New function to select pseudo-op.
871         (default_assemble_integer): Default implementation of asm_out.integer.
872         (assemble_integer): Use the new target hook.  Split objects into
873         words or bytes if the target hook fails.  Return bool.
874         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
875         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
876         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
877         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
878         Document new target hooks.
879
880         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
881         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
882         (dw2_assemble_integer): New.
883         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
884         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
885         dw2_asm_output_encoded_addr_rtx): Use it.
886         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
887         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
888         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
889         if it returns NULL.
890         * dwarf2asm.h (dw2_assemble_integer): Declare.
891         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
892         default implementation of most macros.
893         (output_unsigned_leb128): Use dw2_asm_output_data.
894         (output_signed_leb128, dwarfout_source_line): Likewise.
895         (output_reg_number): Use dw2_assemble_integer.
896         (generate_macinfo_entry): Separate the type and offset arguments.
897         Use assemble_integer to write the value.
898         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
899         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
900         * final.c (output_addr_const): Don't put brackets round a subtracted
901         symbol value or ".".
902         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
903
904         * config/1750a/1750a.c (assemble_integer_1750a): New,
905         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
906         * config/arc/arc.c (arc_assemble_integer): New.
907         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
908         * config/arm/arm.c (arm_poke_function_name): Likewise.
909         (arm_assemble_integer): New, extracted from...
910         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
911         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
912         (ARM_FUNCTION_PROFILER): Likewise.
913         * config/avr/avr-protos.h (asm_output_byte): Remove.
914         (asm_output_char, asm_output_short): Remove.
915         * config/avr/avr.c (avr_assemble_integer): New.
916         (asm_output_byte, asm_output_char, asm_output_short): Remove.
917         * config/clipper/clipper.h (ASM_LONG): Remove.
918         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
919         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
920         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
921         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
922         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
923         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
924         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
925         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
926         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
927         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
928         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
929         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
930         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
931         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
932         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
933         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
934         (ASM_SHORT, ASM_LONG): Undefine.
935         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
936         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
937         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
938         * config/ia64/ia64.c (ia64_assemble_integer): New.
939         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
940         (ASM_OUTPUT_DWARF_PCREL): Likewise.
941         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
942         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
943         (ASM_SHORT, ASM_LONG): Remove.
944         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
945         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
946         macros, the allowed values for INT_OP_GROUP.
947         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
948         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
949         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
950         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
951         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
952         * config/m68k/dpx2.h (ASM_LONG): Undefine.
953         (INT_OP_GROUP): Define to INT_OP_DC.
954         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
955         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
956         * config/m68k/lynx.h (ASM_LONG): Undefine.
957         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
958         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
959         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
960         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
961         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
962         for GAS and INT_OP_NO_DOT otherwise.
963         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
964         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
965         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
966         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
967         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
968         (INT_OP_GROUP): Define to INT_OP_STANDARD.
969         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
970         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
971         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
972         * config/m68k/tower-as.h (ASM_LONG): Remove.
973         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
974         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
975         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
976         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
977         * config/mips/iris5.h (TARGET_IRIX5): Define.
978         * config/mips/mips.c (mips_assemble_integer): New.
979         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
980         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
981         * config/mmix/mmix.c (mmix_assemble_integer): New.
982         (mmix_asm_output_double_int): Remove.
983         (mmix_print_operand): Call mmix_output_octa directly.
984         * config/mmix/mmix.h (ASM_LONG): Remove.
985         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
986         * config/pa/pa.c (pa_assemble_integer): New.
987         (pa_override_options): Only use aligned DI ops on 64-bit targets.
988         Only use the unaligned ops if TARGET_GAS.
989         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
990         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
991         * config/pj/pj.h (ASM_LONG): Undefine.
992         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
993         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
994         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
995         and in_toc_section() rather than the in_section variable.
996         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
997         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
998         (RELOCATABLE_NEEDS_FIXUP): Define.
999         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
1000         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
1001         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
1002         to get the word directive.
1003         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1004         * config/s390/s390.c (s390_assemble_integer): New.
1005         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
1006         integer_asm_op to get the word directive.
1007         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
1008         * config/sparc/sparc-protos.h (output_double_int): Remove.
1009         * config/sparc/sparc.c (output_double_int): Move to...
1010         (sparc_assemble_integer): ...this new function.
1011         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
1012         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
1013         * config/sparc/sysv4.h (ASM_LONG): Remove.
1014         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
1015         ASM_LONG.
1016         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
1017         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
1018
1019         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
1020         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
1021         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
1022         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
1023         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
1024         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
1025         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1026         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
1027         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
1028         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
1029         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
1030         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
1031         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
1032         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
1033         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
1034         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
1035         appropriate.
1036
1037         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
1038         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
1039         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
1040         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
1041         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
1042         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
1043         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
1044         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
1045         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
1046         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
1047         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
1048         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
1049         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
1050         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
1051         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
1052         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
1053         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
1054         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
1055         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
1056         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
1057         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
1058         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1059         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
1060         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
1061         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1062         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
1063
1064 2001-12-17  Stan Shebs  <shebs@apple.com>
1065
1066         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
1067         (STACK_BOUNDARY): Remove definition.
1068         (CPP_PREDEFINES): Define __POWERPC__.
1069
1070 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1071
1072         * doc/c-tree.texi (Trees): Only refer to GCC.
1073
1074 2001-12-17  Andreas Jaeger  <aj@suse.de>
1075
1076         * c-common.def: Fix typo in comment.
1077
1078 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
1079
1080         * config.gcc (sparc64-*-freebsd*): Add target.
1081         * config/sparc/freebsd.h: New file.
1082         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
1083         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
1084         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
1085
1086 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1087
1088         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
1089         PLUS operands into registers for altivec mode.
1090
1091 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1092
1093         * builtins.c (apply_args_size): Change regno to unsigned.
1094
1095 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1096
1097         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
1098         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
1099
1100 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
1101
1102         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
1103         gettext on argument before printing.
1104
1105         * fold-const.c (negate_expr): Always call fold on new
1106         NEGATE_EXPR.
1107
1108 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1109
1110         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
1111         a DECL directly.
1112         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
1113         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
1114         * c-decl.c (build_compound_literal): Put the decl inside a
1115         DECL_STMT.
1116         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
1117         Fixes PR c/5105.
1118
1119 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
1120
1121         * config.gcc: Add powerpc-*-eabisimaltivec*.
1122
1123 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1124
1125         * c-common.c, c-common.h (back_end_hook): Remove.
1126         * c-lang.c (finish_file): Remove back_end_hook.
1127
1128 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1129
1130         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
1131         last change.
1132
1133 2001-12-16  Richard Henderson  <rth@redhat.com>
1134
1135         * toplev.c (parse_options_and_default_flags): Don't enable
1136         flag_cprop_registers at -O1.
1137
1138 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1139
1140         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
1141         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
1142         * avr.h (reg_class): Likewise.
1143         * avr.md: Likewise.
1144         * mcore.c (try_constant_tricks, mcore_byte_offset,
1145         mcore_halfword_offset): Likewise.
1146         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
1147         * v850.c (not_power_of_two_operand): Likewise.
1148
1149         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
1150         warnings.
1151         * convex.h (ASM_OUTPUT_ASCII): Likewise.
1152         * i370.h (ASM_OUTPUT_ASCII): Likewise.
1153         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
1154         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
1155         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
1156         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
1157         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
1158         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
1159         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
1160         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
1161         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
1162         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
1163         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
1164         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
1165         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
1166         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1167         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
1168         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
1169         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
1170         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
1171         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
1172         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
1173         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
1174         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1175         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
1176         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
1177
1178         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
1179         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
1180         * psos.h (CPP_PREDEFINES): Likewise.
1181         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
1182         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
1183         ASM_OUTPUT_EXTERNAL): Likewise.
1184         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1185         Likewise.
1186         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
1187         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1188         Likewise.
1189         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
1190
1191         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
1192         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
1193         * fold-const.c (real_hex_to_f): Use hex_value.
1194         * real.c (asctoeg): Use hex_value & ISXDIGIT.
1195         * toplev.c (toplev_main): Call hex_init.
1196         * tradcpp.c (main): Call hex_init.
1197
1198         * nextstep-protos.h: New file.
1199         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
1200         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
1201         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
1202         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
1203         handle_pragma): Move prototypes to nextstep-protos.h.
1204         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
1205         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
1206
1207 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1208
1209         PR other/3725
1210         * configure.in: Add AC_SUBST(target_alias).
1211         * configure: Regenerated.
1212
1213 2001-12-15  Richard Henderson  <rth@redhat.com>
1214
1215         * config/alpha/alpha.md (sibcall_osf_1_er): New.
1216         (sibcall_value_osf_1_er): New.
1217
1218 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
1219
1220         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
1221         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
1222         addrs; eliminate restriction of only using fp and sp as base
1223         registers.
1224         * config/sparc/sparc-protos.h: Update.
1225         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
1226         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1227         from old define_peepholes.
1228         Convert all the ldd/std peepholes to peephole2.
1229
1230 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1231
1232         * s390.md (prologue, epilogue, *return_si, *return_di): New.
1233         s390.c (find_unused_clobbered_reg, s390_frame_info,
1234         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1235         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1236         s390.c (s390_arg_frame_offset): Use s390_frame_info.
1237         (leaf_function_flag, cur_is_leaf_function,
1238         save_fprs, restore_fprs, force_const_mem_late): Remove.
1239         (s390_function_prologue, s390_function_epilogue): Mostly remove.
1240         s390.md (lit): New.  Uses ...
1241         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1242         s390-protos.h (s390_output_constant_pool): Declare.
1243         s390.md (load_multiple, store_multiple): Allow use after reload.
1244         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1245         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1246         s390.h (CALL_REALLY_USED_REGISTERS): Define.
1247         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1248         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1249         s390.c (s390_sr_alias_set): New global variable, initialized ...
1250         (override_options): ... here.  New.
1251         s390-protos.h (override_options): Declare.
1252         s390.h (OVERRIDE_OPTIONS): Call it.
1253         s390.c (s390_function_profiler): New.
1254         s390-protos.h (s390_function_profiler): Declare.
1255         s390.h (FUNCTION_PROFILER): Call it.
1256         s390.c (s390_profile): Remove.
1257
1258         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1259         (addr_generation_dependency_p): Consider literal pool register loads.
1260         (s390_adjust_priority): Do not schedule load_multiple.
1261         s390.md (attribute "type"): Define some additional types.
1262         (function_unit "integer"): Adapt.
1263         (many insns): Adapt "type" attribute setting.
1264
1265         * s390.c (general_s_operand, s_imm_operand): New.
1266         (s_operand): Remove old definition, call general_s_operand instead.
1267         s390-protos.h (s_imm_operand): Declare.
1268         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1269         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1270         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1271         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1272         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1273         s390.md (many insns): Rework insn predicates.
1274
1275         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1276         non-symbolic constants.  Reload will force them because of ...
1277         (s390_preferred_reload_class): ... this.  New.
1278         s390-protos.h (s390_preferred_reload_class): Declare.
1279         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1280         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1281         *reload_la_31 splitters): Handle constants after reload.
1282         (many insns): no longer force all constants immediately.
1283         s390.c (legitimate_reload_constant_p): New helper routine.
1284         s390-protos.h (legitimate_reload_constant_p): Declare.
1285         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1286
1287         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1288         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1289         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1290         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1291         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1292         (DWARF_FRAME_REGISTERS): Define.
1293         s390.c (regclass_map): Add virtual frame pointer.
1294         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1295         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1296         (addaddr, addsi_64): Delete.
1297
1298         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1299         floating point registers.
1300         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1301         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1302         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1303
1304         * s390.md (movti): Replace multi-insn output with splitters.
1305         (movdi_31, movdf_31): Likewise.
1306         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1307         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1308         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1309         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1310         (movsf_64, movsf_31): Remove, replace by ...
1311         (movsf): ... this.
1312         (movqi_64): Use lhi instead of llill.
1313         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1314
1315         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1316         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1317         extendqihi2 and associated splitters): Reworked.
1318         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1319         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1320         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1321         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1322         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1323         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1324         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1325         and associated splitters): Likewise.
1326         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1327         and associated splitters): New.
1328         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1329         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1330         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1331         s390.h (PROMOTE_PROTOTYPES): Remove.
1332         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1333
1334         * s390.md (muldi3): Delete, use instead ...
1335         (mulsidi3): ... this.
1336         (*muldi3_64): Rename to muldi3.
1337         (mulsi_6432): Fix template.
1338         (divdi3, moddi3): Delete, replace by ...
1339         (divmoddi4): ... this.
1340         (divmodtidi3): Fix template.
1341         (divmodtisi3): New.
1342         (udivdi3, umoddi3): Delete, replace by ...
1343         (udivmoddi4): ... this.
1344         (udivmodtidi3): Fix template.
1345         (divsi3, modsi3): Delete, replace by ...
1346         (divmodsi4): ... this.
1347         (divmoddisi3): Fix template.
1348         (udivsi3, umodsi3): Adapt.
1349
1350         * s390.md (anddi3): Remove SS alternative, use instead ...
1351         (anddi3_ss, anddi3_ss_inv): ... these.
1352         (anddi3_ni): New.
1353         (andsi3*, andhi3*, andqi3*): Likewise.
1354         (iordi3): Remove SS alternative, use instead ...
1355         (iordi3_ss, iordi3_ss_inv): ... these.
1356         (iordi3_oi): New.
1357         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1358         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1359         (xordi3): Remove SS alternative, use instead ...
1360         (xordi3_ss, xordi3_ss_inv): ... these.
1361         (xordi3_oi): New.
1362         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1363         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1364         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1365         Expand to XOR with -1.
1366         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1367         (cmpdi_tm): Delete, replace by ...
1368         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1369         (cmpsi_cct): Delete, replace by ...
1370         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1371         (cmpdi_tm2, cmpsi_tm2): Improve.
1372         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1373         s390.c (s390_single_hi, s390_extract_hi,
1374         s390_single_qi, s390_extract_qi): New helper routines.
1375         s390-protos.h (s390_single_hi, s390_extract_hi,
1376         s390_single_qi, s390_extract_qi): Declare.
1377         s390.c (tmxx_operand, const1_operand): Remove.
1378         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1379         s390.h (PREDICATE_CODES): Likewise.
1380
1381         * s390.md (sqrtdf2, sqrtsf2): New.
1382
1383         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1384         (check_and_change_labels): Remove section-change special case.
1385
1386         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1387         in leaf functions.  Needs ...
1388         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1389
1390         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1391
1392         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1393         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1394         input operands using a match_dup clause.
1395         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1396
1397         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1398         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1399
1400         * s390.md (floatsidf2_ibm): Use correct operand.
1401
1402         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1403         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1404         non-portable constants.
1405         s390.c (s390_gen_rtx_const_DI): New helper routine.
1406         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1407
1408         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1409
1410         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1411         ASM_OUTPUT_BYTE): Clean up assembly output.
1412         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1413         (ASM_OUTPUT_ASCII): Remove.
1414
1415         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1416
1417 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1418
1419         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1420         before including unwind-dw2-fde.c, if we are not using the
1421         special code in this file.
1422
1423 2001-12-15  Richard Henderson  <rth@redhat.com>
1424
1425         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1426         MASK_EXPLICIT_RELOCS if the assembler supports it.
1427         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1428         * configure, config.in: Rebuild.
1429
1430 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1431
1432         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1433         for rounded_stack_size.
1434
1435 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1436
1437         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1438         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1439         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1440         "bit-field" spellings in messages.
1441         * po/gcc.pot: Regenerate.
1442
1443 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1444
1445         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1446         American spelling in messages.
1447         * po/gcc.pot: Regenerate.
1448
1449 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1450
1451         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1452         constraints from expanders.  Replace \@ with @.
1453
1454 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1455
1456         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1457
1458 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1459
1460         * regrename.c (copyprop_hardreg_forward): Do not keep register
1461         value data live across abnormal call or eh egdes.
1462
1463 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1464
1465         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1466         BIGGEST_ALIGNMENT for 0.
1467
1468 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1469
1470         * predict.def (PRED_NORETURN): Make probabilities match reality.
1471         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1472         Likewise.
1473
1474 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1475
1476         * configure.in: Check for ld.
1477         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1478         * configure, config.in: Rebuilt.
1479         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1480         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1481         frame unwinding on Linux.
1482         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1483         frame unwinding.
1484         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1485         (LINK_EH_SPEC): Define.
1486         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1487         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1488         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1489         iterate further if pc falls into current library, but fde was not
1490         found.
1491         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1492         if using glibc.
1493         (LINK_EH_SPEC): Define.
1494         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1495         Use crtbeginT.o for -static.
1496         (LINK_EH_SPEC): Define.
1497         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1498         * Makefile.in (crtbeginT.o): Add rule.
1499         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1500         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1501         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1502         If none of the above switches are passed, use -lgcc -lgcc_eh.
1503         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1504         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1505         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1506         * unwind-dw2-fde.c: Don't include any headers if this file
1507         is included from other .c file.
1508         * unwind-dw2-fde-glibc.c: New file.
1509         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1510         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1511
1512 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1513
1514         * builtins.c (expand_builtin_memcmp): Mark parameter with
1515         ATTRIBUTE_UNUSED.
1516         * cfgcleanup.c (insns_match_p): Likewise.
1517         * regrename.c (mode_change_ok): Likewise.
1518         * gcc.c (execute): Const-ify.
1519
1520 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
1521
1522         * c-parse.in (typename): Do not split attributes.
1523         Remove unsupported attributes warning.
1524
1525         * c-decl.c (groktypename): Apply attributes.
1526
1527 2001-12-14  Richard Henderson  <rth@redhat.com>
1528
1529         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
1530         initialization as possibly dead.
1531
1532 2001-12-14  Richard Henderson  <rth@redhat.com>
1533
1534         * regrename.c (mode_change_ok): New.
1535         (find_oldest_value_reg): Use it.
1536
1537 2001-12-14  Richard Henderson  <rth@redhat.com>
1538
1539         * regrename.c (struct value_data): Add max_value_regs.
1540         (init_value_data): Initialize it.
1541         (kill_value): Kill values that overlap the dying register.
1542         (set_value_regno): New.
1543         (kill_set_value, kill_autoinc_value, copy_value): Use it.
1544         (copyprop_hardreg_forward_1): Kill earlyclobber operands
1545         before looking at inputs.
1546
1547 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
1548
1549         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
1550         DECL_WEAK for function descriptors.
1551         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
1552         weak support present.
1553         (ASM_WEAKEN_LABEL): Same.
1554
1555 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1556
1557         * config/h8300/h8300.md (anonymous pattern): Add a missing
1558         mode.
1559
1560 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1561
1562         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
1563         comment typo.
1564
1565 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1566
1567         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
1568         Remove the initialization requierment.
1569         (h8300_handle_tiny_data_attribute): Likewise.
1570
1571 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1572
1573         * config/h8300/h8300.md (udivqi3): Remove.
1574         (divqi3): Likewise.
1575         (udivhi3): Likewise.
1576         (divhi3): Likewise.
1577         (umodqi3): Likewise.
1578         (modqi3): Likewise.
1579         (umodhi3): Likewise.
1580         (modhi3): Likewise.
1581         (udivmodqi3): New.
1582         (divmodqi3): Likewise.
1583         (udivmodhi3): Likewise.
1584         (divmodhi3): Likewise.
1585
1586 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1587
1588         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
1589         by active_insn_p; count conditional jump as instruction.
1590
1591 2001-12-14  DJ Delorie  <dj@redhat.com>
1592             Danny Smith  <dannysmith@users.sourceforge.net>
1593
1594         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
1595         at SYM_NAME[0] or SYM_NAME[3].
1596         (STRIP_NAME_ENCODING): Don't check for leading '*'.
1597
1598 2001-12-14  Ira Ruben   <ira@apple.com>
1599
1600         Add -### option (displays driver-generated commands without
1601         executing and quotes all arguments).
1602         * doc/invoke.texi: Add -###.
1603         * gcc.c (verbose_only_flag) - New flag.
1604         * (execute): If -### write quoted arguments and return.
1605         * (display_help): Print meaning of -###.
1606         * (process_command): Handle -###.
1607
1608 2001-12-14  Ira Ruben   <ira@apple.com>
1609
1610         Fix to no allow -save-temps to clobber user's source file.
1611         * gcc.c: Add static globals input_stat and input_stat_set.
1612         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
1613         set, check that user's input file is not overwritten.
1614         (set_input): Reset input_stat_set for each new file.
1615
1616 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1617
1618         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
1619
1620 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
1621
1622         * combine.c (record_dead_and_set_regs): Use
1623         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
1624
1625 2001-12-14  Roger Sayle <roger@eyesopen.com>
1626
1627         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
1628         __builtin_fsqrt to __builtin_sqrt.
1629
1630         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
1631         * doc/extend.texi: Simplify documentation to match patch.
1632
1633 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1634
1635         * config.gcc: Revamp target_cpu_default2 to strings;
1636         support new x86 variants.
1637         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
1638         properly; set prefetch_sse.
1639         * i386.h (x86_prefetch_sse): Declare.
1640         (TARGET_PREFETCH_SSE): New.
1641         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
1642         (TARGET_CPU_DEFAULT_*): New.
1643
1644 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
1645                               Jan Hubicka  <jh@suse.cz>
1646
1647         * config/i386/i386.h (struct processor_costs): Add new members
1648           prefetch_block and simultaneous_prefetches.
1649           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
1650         * config/i386/i386.c (processor_costs structs): Add values for
1651           prefetch_block and simultaneous_prefetches.
1652         * config/i386/i386.md (unspec values): Remove values for prefetch
1653           operations, which now use the PREFETCH rtx code.
1654           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
1655           unified prefetch support.
1656
1657 2001-12-14  Jason Merrill  <jason@redhat.com>
1658
1659         * diagnostic.c (sorry): Increment sorrycount before saving the
1660         buffer state.
1661
1662 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1663
1664         * i386.md (sqrt?f): Fix conditionals.
1665
1666 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
1667
1668         * config.gcc (alpha64-dec-*vms*): New case.
1669         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
1670         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
1671         * config/alpha/xm-vms64.h: Likewise.
1672
1673         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
1674         (alpha_write_linkage): Test for null alpha_links.
1675         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
1676         (vms_section_type_flags, vms_asm_named_section): Handle them.
1677
1678 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1679
1680         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
1681         (override_option): Set ix86_fpmath.
1682         * i386.h (MASK_MIX_SSE_I387): Remove.
1683         (TARGET_SSE_MATH): New.
1684         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
1685         (TARGET_SWITCHES): Remove "mix-sse-i387".
1686         (fpmath_unit): New enum.
1687         (ix86_fpmath, ix86_fpmath_string): Declare.
1688         * i386.md (swapsf): Fix condition.
1689         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
1690         (fp_?f_*_nosse): New.
1691         (fp_*): Use TARGET_SSE_MATH.
1692         * invoke.texi (-mfpmath): Document.
1693         (-msse2): Add.
1694
1695 2001-12-14  Jason Merrill  <jason@redhat.com>
1696
1697         * dwarf2out.c (output_die): Print the string in the comment for
1698         a DW_FORM_strp.
1699
1700 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
1701
1702         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
1703         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
1704         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1705         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
1706
1707 2001-12-13  Richard Henderson  <rth@redhat.com>
1708
1709         * regrename.c (kill_value_regno): Simplify chain removal.
1710         (kill_value): Kill all of HARD_REGNO_NREGS.
1711         (kill_set_value): Use kill_value not kill_value_regno.
1712         (kill_autoinc_value): Likewise.
1713         (copyprop_hardreg_forward): Don't collect refresh_blocks.
1714         Call delete_noop_moves.
1715
1716 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1717
1718         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
1719         for the mode attribute.
1720         (handle_mode_attribute): Handle types, not decls.
1721
1722 2001-12-13  Jason Merrill  <jason@redhat.com>
1723
1724         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
1725
1726 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1727
1728         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
1729         constraint to base register.
1730         (eh_set_lr_si): Same.
1731
1732 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
1733
1734         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
1735         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
1736         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
1737
1738 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1739
1740         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
1741         warning and reformat comments.
1742         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
1743         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
1744         if overflow.
1745
1746 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
1747
1748         * config/rs6000/rs6000.c (rs6000_override_options): Add
1749         SUBSUBTARGET_OVERRIDE_OPTIONS.
1750
1751         * config/rs6000/eabialtivec.h: New file.
1752
1753         * config/rs6000/linuxaltivec.h: New file.
1754
1755         * config.gcc: Add powerpc-*-eabialtivec and
1756         powerpc-*-linux-gnualtivec.
1757
1758 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1759
1760         * toplev.c (process_options, parse_options_and_default_flags):
1761         Set flag_no_inline before the post_options hook.
1762
1763 2001-12-13  Richard Henderson  <rth@redhat.com>
1764
1765         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
1766         is false.
1767
1768 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1769
1770         * collect2.c (COLLECT_SHARED_INIT_FUNC)
1771         (COLLECT_SHARD_FINI_FUNC): Define default values.
1772         (write_c_file_stat): Use them to call construtor and destructor
1773         functions in shared libraries.
1774         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1775         (COLLECT_SHARD_FINI_FUNC): Document them.
1776         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
1777         (COLLECT_SHARD_FINI_FUNC): Define.
1778
1779         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
1780         shared library.  Pass -shared through to the linker.
1781         * config/arm/netbsd.h (LINK_SPEC): Likewise.
1782
1783         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
1784         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
1785         (SHLIB_INSTALL): Define.
1786
1787 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1788
1789         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
1790         the same way as we handle SYMBOL_REFS.
1791
1792 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1793
1794         * loop.c (remove_constant_addition): Fix prototype and whitespace.
1795         (emit_prefetch_instructions): Remove warnings and whitespace
1796         changes.
1797
1798 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
1799
1800         * config/alpha/vms-cc.c (preprocess_args): Fix forward
1801         declaration.
1802
1803 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1804
1805         * predict.c (estimate_probability): Reorganize opcode heuristics.
1806         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
1807         PRED_FPOPCODE): New.
1808
1809         * i386.c (override_options): Recognize various CPU variants and set
1810         SSE/MMX/3dNOW flags accordingly.
1811         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
1812         MASK_3DNOW_A_SET): New.
1813         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
1814         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
1815         (MASK_*): Renumber.
1816         (TARGET_FLAGS): Use new masks.
1817         (CPP_CPU_SPECS): Recognize new CPU variants.
1818         * invoke.texi (-mcpu): Update documentation.
1819
1820         * flags.h (flag_prefetch_loop_arrays): Declare.
1821         * loop.h (LOOP_PREFETCH): Define new constant.
1822         * loop.c (strength_reduce): Call emit_prefetch_instructions.
1823         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
1824         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
1825         constants.
1826         (check_store_data): New structure.
1827         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
1828         New functions.
1829         * toplev.c: Include insn-flags.h.
1830         (flag_prefetch_loop_arrays): New global variable.
1831         (lang_independent_option): Add -fprefetch-loop-arrays.
1832         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
1833         is set.
1834         * Makefile.in (toplev.c): Depend on insn-flags.h.
1835         * invoke.texi (-fprefetch-loop-arrays): Document.
1836
1837         * predict.c (estimate_probability): Distribute the loop exit
1838         probability according to number of exit edges.
1839
1840         * cfgcleanup.c (insns_match_p): Break out from ...;
1841         (flow_find_cross_jump): ... here;
1842         (outgoing_edges_match): Add parameter MODE; attempt to match everything
1843         except for tablejumps.
1844         (try_crossjump_to_edge): Accept complex edges.
1845         (try_crossjump_bb): Likewise.
1846
1847 2001-11-29  Corey Minyard <minyard@acm.org>
1848
1849         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
1850         instead of plus_constant.
1851         * simplify-rtx.c (neg_const_int): New.
1852         (simplify_gen_binary, simplify_plus_minus): Use it.
1853
1854 2001-12-12  Roger Sayle  <roger@eyesopen.com>
1855
1856         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
1857         expand_builtin_strcpy): Additional arguments TARGET and MODE.
1858         (expand_builtin_bzero, expand_builtin_strcpy,
1859         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
1860         TARGET and MODE parameters to the above functions.
1861         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
1862         case where the LEN parameter is constant zero.
1863         (expand_builtin_memcmp): No longer conditional on
1864         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
1865         the cases where len is either constant zero or one.
1866         Optimize to call to memcpy, even if the memcpy isn't inlined.
1867         (expand_builtin_strncpy): Optimize to call memcpy, even if the
1868         memcpy isn't inlined.
1869         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
1870         to optimize to a call to memcmp.
1871         (expand_builtin): expand_builtin_memcmp can always be called,
1872         and pass the required parameters to expand_builtin_memcmp,
1873         expand_builtin_memset, expand_builtin_memcpy and
1874         expand_builtin_strcpy.
1875
1876 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
1877
1878         * config.gcc (arm-*-freebsd*): Add target.
1879         * config/arm/freebsd.h: New file.
1880         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
1881         (CPP_SPEC): #undef before defining.
1882         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
1883         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
1884         -Amachine=arm.
1885         * config/arm/linux-elf.h: Likewise.
1886         * config/arm/netbsd.h: Likewise.
1887         * config/arm/riscix.h: Likewise.
1888         * config/arm/riscix1-1.h: Likewise.
1889         * config/arm/semiaof.h: Likewise.
1890
1891 2001-12-12  Richard Henderson  <rth@redhat.com>
1892
1893         * regrename.c (copyprop_hardreg_forward): New optimization.
1894         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
1895         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
1896         replace_oldest_value_reg, replace_oldest_value_addr,
1897         replace_oldest_value_mem, copyprop_hardreg_forward_1,
1898         debug_value_data, validate_value_data): New.
1899         * rtl.h (copyprop_hardreg_forward): Declare.
1900         * toplev.c (flag_cprop_registers): New.
1901         (f_options): Add -fcprop-registers
1902         (rest_of_compilation): Invoke it.
1903         (parse_options_and_default_flags): Set it at -O1.
1904         * doc/invoke.texi: Document it.
1905
1906 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1907
1908         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
1909         (DEBUG_RANGES_SECTION_LABEL): Define.
1910         (ranges_section_label): Add.
1911         (add_AT_range_list): New.
1912         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
1913         (output_loc_list): Location expression length is always 2-byte.
1914         (output_die): Handle dw_val_class_range_list.
1915         (gen_lexical_block_die): Call add_AT_range_list.
1916         (dwarf2out_init): Initialize ranges_section_label.
1917         (dwarf2out_finish): Emit ranges_section_label.
1918
1919 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1920
1921         * c-typeck.c (digest_init): Allow initializing
1922         static storage duration objects with compound literals.
1923         * doc/extend.texi (Compound literals): Document the extension.
1924
1925 2001-12-12  Richard Henderson  <rth@redhat.com>
1926
1927         * emit-rtl.c (adjust_address_1): Always copy address to avoid
1928         shared rtl.
1929
1930 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
1931
1932         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
1933         to avoid overflow.
1934
1935 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1936
1937         * cppfiles.c (read_include_file): Set buffer size properly when
1938         file is shorter than expected.
1939
1940 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1941
1942         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
1943         enumeral types - encode them using 'i'.
1944
1945 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1946
1947         * doc/extend.texi (Deprecated Features): Deprecate implicit
1948         typename. Document that named return and initializer lists are now
1949         removed.
1950
1951 2001-12-11  Roger Sayle <roger@eyesopen.com>
1952
1953         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
1954         compiler warning about enumeration values not being handled.
1955
1956 2001-12-11  Momchil Velikov  <velco@fadata.bg>
1957
1958         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
1959         shifts.
1960
1961 2001-12-11  Richard Henderson  <rth@redhat.com>
1962
1963         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
1964         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
1965         * config/alpha/alpha.md (prefetch): New.
1966
1967 2001-12-11  Richard Henderson  <rth@redhat.com>
1968
1969         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
1970         if C has only low bits set and doesn't intersect with X or Y.
1971
1972 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
1973
1974         * basic-block.h (flow_preorder_transversal_compute): Declare.
1975         * cfganal.c (flow_preorder_transversal_compute): Implement.
1976
1977 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
1978
1979         * cfganal.c (flow_depth_first_order_compute): Always
1980         increment dfsnum.
1981
1982 2001-11-30 Alan Matsuoka <alanm@redhat.com>
1983
1984         * combine.c (combine_simplify_rtx) : Can't simplify
1985         cases that use mode class MODE_CC.
1986
1987 2001-12-11  Richard Henderson  <rth@redhat.com>
1988
1989         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
1990         which there is no divide expander.
1991
1992 2001-12-11  Richard Henderson  <rth@redhat.com>
1993
1994         * except.c (sjlj_find_directly_reachable_regions): Don't
1995         consider RNL_BLOCKED a directly reachable region.
1996         (sjlj_assign_call_site_values): Trust directly_reachable.
1997         (sjlj_emit_dispatch_table): Likewise.
1998
1999 2001-12-11  Richard Henderson  <rth@redhat.com>
2000
2001         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
2002         we represent the address load's dependency on the gp.
2003         (divmoddi_internal_er): Likewise.
2004         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
2005
2006 2001-12-11  Richard Henderson  <rth@redhat.com>
2007
2008         * emit-rtl.c (widen_memory_access): New.
2009         * expr.h (widen_memory_access): Declare it.
2010         * config/alpha/alpha.c (get_aligned_mem): Use it.
2011
2012 2001-12-11  Richard Henderson  <rth@redhat.com>
2013
2014         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
2015         simplification above out of range check.
2016
2017 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
2018
2019         * config/sparc/sparc.md (prefetch): New.
2020
2021 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2022
2023         * output.h (regno_uninitialized): Make argument unsigned.
2024
2025         * flow.c (regno_uninitialized): Make regno unsigned.
2026
2027 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2028
2029         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
2030         * config/cris/cris.h (ENDFILE_SPEC): Define.
2031         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
2032         * config/pa/elf.h: Likewise.
2033
2034 2001-12-11  Richard Henderson  <rth@redhat.com>
2035
2036         * objc/objc-act.c (build_string_class_template): New.
2037         (build_objc_string_object): Call it.
2038
2039 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
2040
2041         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2042         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2043         * calls.c (store_unaligned_arguments_into_pseudos): Check
2044         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
2045         are passed/returned.
2046         * expr.c (move_block_from_reg): Ditto.
2047         (move_block_from_reg): Ditto.
2048         (copy_blkmode_from_reg): Ditto.
2049         * stmt.c (expand_return): Ditto.
2050         * stor-layout.c (compute_record_mode): If
2051         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
2052         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
2053         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
2054         so that Structures of one field are still treated as structures.
2055         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
2056         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
2057         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
2058         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
2059         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
2060         to special case handling of structure padding.
2061
2062 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
2063
2064         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
2065         (may_trap_exp): Stores only are risk if they trap, too, not just
2066         if code == MEM.
2067
2068 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2069
2070         * flow.c (find_regno_partial): Indent properly.  Add a default to
2071         switch.
2072
2073 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2074
2075         * c-common.c (combine_strings): Complain if concatenating
2076         __FUNCTION__.
2077         * c-parse.in (yylexname): Flag artificial strings.
2078         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
2079 doc:
2080         * extend.texi: Update.
2081
2082 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
2083
2084         * c-common.c (type_for_mode): Handle unsigned vectors.
2085         (type_for_mode): Remove redundant calls to TYPE_MODE.
2086
2087         * tree.c (make_vector): New.
2088         (build_common_tree_nodes_2): Use make_vector for vector types.
2089         Add unsigned vector types.
2090
2091         * tree.h (tree_index): Add unsigned types for vectors.
2092         (unsigned_V16QI_type_node): New.
2093         (unsigned_V4SI_type_node): New.
2094         (unsigned_V8QI_type_node): New.
2095         (unsigned_V8HI_type_node): New.
2096         (unsigned_V4HI_type_node): New.
2097         (unsigned_V2SI_type_node): New.
2098
2099 2001-12-11  Stan Shebs  <shebs@apple.com>
2100
2101         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
2102         test of class names.
2103
2104 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
2105
2106         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
2107         cpu configuration headers.
2108         * config/h8300/elf.h: Include dbxelf.h.
2109         * config/m68k/linux.h: Likewise.
2110         * config/m68k/m68020-elf.h: Likewise.
2111         * config/m68k/m68kv4.h: Likewise.
2112         * config/sh/elf.h: Likewise.
2113         * config/m68k/m68kemb.h: Add comment about the its purpose.
2114
2115 2001-12-11  Richard Henderson  <rth@redhat.com>
2116
2117         * objc/objc-act.c (build_constructor): Cast initializer values
2118         to the proper field types.
2119
2120 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
2121
2122         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
2123
2124 2001-12-10  Roger Sayle <roger@eyesopen.com>
2125
2126         * builtins.c (expand_builtin): Use a switch statement to list
2127         those functions not expanded without optimizations, instead of a
2128         series of equality tests.
2129
2130 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2131
2132         * config/alpha/vms.h (LIB_SPEC): Define.
2133         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
2134
2135         * libgcc2.c (_bb): Remove ctime declaration.
2136
2137         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
2138         that works if LN_S = cp.
2139
2140         * config/alpha/x-vms (version): Change "." to "_".
2141
2142         * configure.in: Hardcode that vfork works on VMS host.
2143         * configure: Regenerated.
2144
2145 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
2146
2147         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
2148         unless do_obj true.
2149         (process_command): Modify calls to convert_filename.
2150
2151 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2152
2153         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
2154
2155 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
2156
2157         * combine.c (known_cond): Check mode of each operand to determine
2158         if COND is comparing floating point values.
2159
2160 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
2161
2162         * rs6000.h (processor_type): Add PPC405.
2163         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
2164         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
2165         rios1, rs64, and ppc630 processors.
2166         * rs6000.c (processor_target_table): Add PPC405.
2167
2168 2001-12-10  Richard Henderson  <rth@redhat.com>
2169
2170         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
2171         instead of hardcoding subregs into the _be and _le patterns.
2172
2173 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2174
2175         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
2176
2177 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2178
2179         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
2180         what insn does.
2181
2182 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2183
2184         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
2185         copyright notice formerly conditioned on @ifinfo on @ifnottex
2186         instead.
2187
2188 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2189
2190         * vmsdbgout.c (lookup_filename): Remove warning.
2191
2192 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2193
2194         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
2195
2196         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2197         (exeext, target_alias, prefix, local_prefix): Define.
2198         * config/alpha/x-vms (USE_COLLECT2): Make empty.
2199         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
2200         file specifications. Remove ".".
2201         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
2202         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
2203
2204 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2205
2206         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
2207
2208 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2209
2210         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
2211         Add rules for building [vp]crt0.o
2212         * config/alpha/vms.h (START_FILE_SPEC): Define.
2213         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
2214         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
2215         * doc/invoke.texi: Document special Alpha/VMS options.
2216
2217 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2218
2219         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
2220         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
2221         not GNUC.
2222
2223 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2224                           Douglas B. Rupp  <rupp@gnat.com>
2225
2226         * tree.c (append_random_char): Conditionalize INO for VMS.
2227
2228 2001-12-09  Richard Henderson  <rth@redhat.com>
2229
2230         * cfgcleanup.c (label_is_jump_target_p): New function.
2231         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2232         target of a JUMP_INSN from the preceding block.
2233
2234 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2235
2236         * vmsdbgout.c (lookup_filename): Assign null string instead
2237         of null pointer to fnam.
2238
2239 2001-12-09  Richard Henderson  <rth@redhat.com>
2240
2241         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2242         immediately after a call; insert nops before a call.
2243
2244 2001-12-09  Richard Henderson  <rth@redhat.com>
2245
2246         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2247         not FUNCTION_BOUNDARY.
2248         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2249         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2250         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2251
2252 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
2253
2254         * config/mmix/mmix.c (mmix_function_block_profiler,
2255         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2256         unused functions.
2257         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2258         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2259         prototypes.
2260
2261         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2262         Delete obsoleted macros.
2263
2264 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2265
2266         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2267         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2268
2269         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2270         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2271         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2272         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2273         config/i370/i370.c, config/i386/i386.c,
2274         config/i386/i386-interix.h, config/i386/i386.md,
2275         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2276         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2277         config/rs6000/rs6000.h, config/sparc/linux64.h,
2278         config/sparc/sparc.c, config/v850/v850-protos.h,
2279         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2280         spelling errors.
2281
2282 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2283
2284         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2285         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2286
2287         * config/rs6000/rs6000.c: Ditto.
2288
2289         * config/rs6000/rs6000.md: Ditto.
2290
2291 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2292
2293         * 1750a.md: Add default case in switch.
2294         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2295         if-else statement.
2296         * dsp16xx.c (print_operand_address): Likewise.
2297         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2298         * ia64.md: Add missing braces.
2299         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2300         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2301         if-else statement.
2302         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2303         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2304         * dbxout.c (dbxout_source_file): Move a variable into the scope
2305         where it is used.
2306         * final.c (profile_function): Mark parameter with
2307         ATTRIBUTE_UNUSED.
2308         * genemit.c (gen_expand): Likewise for generated file.
2309         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2310
2311         * vmsdbg.h: Delete spurious close-comment.
2312         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2313         * vmsdbgout.c (write_modbeg): Define return type.
2314
2315         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2316         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2317         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2318         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2319         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2320         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2321         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2322
2323 2001-12-08  Tom Rix  <trix@redhat.com>
2324
2325         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2326         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2327         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2328         for powerpc64.
2329         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2330         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2331         * config/rs6000/rs6000.c (expand_block_move): Do not use
2332         gen_movstrsi_2reg and powerpc64.
2333
2334 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2335
2336         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2337         RID_TYPES_COMPATIBLE_P.
2338
2339         * c-parse.in (reswords): Add __builtin_choose_expr.
2340         Add __builtin_types_compatible_p.
2341         Add CHOOSE_EXPR token.
2342         Add TYPES_COMPATIBLE_P token.
2343         Add production for CHOOSE_EXPR.
2344         Add production for TYPES_COMPATIBLE_P.
2345
2346         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2347         (__builtin_types_compatible_p): Likewise.
2348
2349 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2350
2351         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2352         to unions.
2353
2354 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2355
2356         * c-parse.in: Take string literals in assembler constructs,
2357         not expressions.
2358         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2359         check the strings are STRING_CSTs.
2360
2361 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2362
2363         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2364         using combine_strings to do the concatenation.
2365         * c-parse.in: Replace uses of the string non-terminal with STRING.
2366         Don't attempt string concatenation.
2367         (OBJC_STRING): New terminal.
2368         (string): Remove non-terminal.
2369         (_yylex): Call combine_strings on function names.  Generate
2370         OBJC_STRING terminals; don't pass '@' on to yacc.
2371         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2372         (build_asm_stmt): Similarly.
2373
2374 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2375
2376         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2377
2378 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2379
2380         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2381         (prefetch): Rewrite using PREFETCH RTL primitive.
2382         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2383         * arm.c (arm_init_builtins): Don't initialize a builtin for
2384         __builtin_prefetch here.
2385         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2386
2387 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2388
2389         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2390         in test for a subreg.
2391
2392 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2393
2394         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2395         strings.
2396
2397 2001-12-07  Richard Henderson  <rth@redhat.com>
2398
2399         * doc/extend.texi: Fix typo last change.
2400
2401         * c-decl.c (c_language): Remove duplicate.
2402
2403 2001-12-07  Dale Johannesen  <dalej@apple.com>
2404
2405         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2406         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2407         specific codegen, eliminate a register copy.
2408         (print_operand_address): Add support for Darwin's lo16(constant)
2409         syntax.
2410         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2411         generation of addresses within very large data objects.
2412         (s8bit_cint_operand):  New.
2413         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2414         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2415         Add imul2 and imul3 insn types for multiplication by 16- and
2416         8-bit constants.
2417         Change tablejump patterns to strongly discourage using LR
2418         rather than CTR.
2419         Add %lo16 patterns for Darwin loads and stores.
2420
2421 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2422
2423         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2424
2425 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2426
2427         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2428         with %sp because it can cause the delayed instruction to load
2429         below the stack.
2430
2431 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2432
2433         * alpha.c (alpha_expand_unaligned_store,
2434         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2435         call to immed_double_const.
2436
2437 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2438
2439         * doc/extend.texi (Variable Attributes): Document vector_size.
2440
2441         * attribs.c (c_common_attribute_table): Add vector_size.
2442         (handle_vector_size_attribute): New.
2443         (vector_size_helper): New.
2444         (decl_attributes): Relayout the decl after calculating attribs.
2445
2446 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2447
2448         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2449         description for Trouble section.
2450         * doc/install-old.texi: Adjust for inclusion as chapter of new
2451         installation manual.
2452         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2453         Adjust to include old installation chapter as chapter of new
2454         installation manual.
2455
2456 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2457
2458         * rtl.h (get_jump_table_offset): Declare.
2459         * rtlanal.c (get_jump_table_offset): Implement.
2460
2461 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2462
2463         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2464         Deleted; were used only by BB profiler code.
2465         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2466         (end_final): Delete now-unused vars I, PTR, and SPTR.
2467
2468         * expr.c (store_field): Remove warning.
2469         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2470         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2471         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2472         divisor constant power of 2.
2473         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2474
2475 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2476
2477         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2478         shifting.
2479
2480 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2481
2482         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2483         (DWARF_FRAME_REGISTERS): Delete.
2484
2485 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2486
2487         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2488         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2489         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2490         with defaults for read prefetch with high degree of locality.
2491         * doc/extend.texi (__builtin_prefetch): Update documentation.
2492         * doc/md.texi (prefetch): Add documentation.
2493
2494 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2495
2496         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2497         UNIX V5.1A stdio.h.
2498         * fixinc/fixincl.x: Regenerate.
2499         Fixes PR libf2c/4826.
2500
2501 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2502             Richard Henderson  <rth@redhat.com>
2503
2504         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2505         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2506
2507         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2508         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2509         (frame_state): Same.
2510         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2511
2512 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2513
2514         * langhooks.c (lhd_staticp): Mark parameter with
2515         ATTRIBUTE_UNUSED.
2516
2517 2001-12-06  H.J. Lu <hjl@gnu.org>
2518
2519         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
2520         reduce noise.
2521         (.po.pox): Likewise.
2522         (o/$(PACKAGE).pot): Likewise.
2523
2524 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
2525
2526         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
2527         * tree-inline.c (expand_call_inline): ... here.
2528
2529 2001-12-06  H.J. Lu <hjl@gnu.org>
2530
2531         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
2532         (.po.pox): Likewise.
2533         (o/$(PACKAGE).pot): Likewise.
2534
2535 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
2536
2537         * config.gcc: Include dbxelf.h before elfos.h.
2538         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
2539
2540 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
2541
2542         * cppfiles.c (open_file): If we've opened a directory by
2543         mistake, close it.
2544         (find_include_file): Avoid turning / into // or // into ///.
2545
2546 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2547
2548         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
2549         (STRUCT_VALUE_REGNUM): Restore definition.
2550
2551 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
2552
2553         * flow.c (find_regno_partial): Return register, not the expression
2554         the register is in.
2555
2556 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2557
2558         * function.c (handle_epilogue_set): Check for FP setting case when
2559         SP is set from FP in same insn.
2560
2561 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2562
2563         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
2564         RTX when calling alter_subreg().
2565         (store_multiple_sequence): Pass pointer to RTX when calling
2566         alter_subreg().
2567
2568 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2569
2570         * function.c (assing_parms): Fix typo in last change.
2571         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
2572         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
2573         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2574         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
2575
2576 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
2577
2578         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
2579         correct code selecting section.
2580
2581 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2582
2583         * final.c (count_basic_block, add_bb, add_bb_string):
2584         Kill.
2585         (end_final, final_start_function, final, final_scan_insn,
2586         leaf_function_p): Kill BB profiler related code.
2587         * flags.h (profile_block_flag): Kill.
2588         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
2589         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
2590         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
2591         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
2592         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
2593         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
2594         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
2595         __bb_init_trace_func): Kill.
2596         * toplev.c (profile_block_flag): Kill.
2597         (indepdendent_decode_option, process_options): Kill -a related code.
2598         * alpha.c (direct_call_operand): Likewise.
2599         * arm.c (arm_expand_prologue, thumb_expand_prologue,
2600         thumb_expand_epilogue): Likewise.
2601         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
2602         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2603         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2604         MACHINE_STATE_RESTORE): Kill.
2605         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2606         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2607         MACHINE_STATE_RESTORE): Kill.
2608         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2609         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
2610         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
2611         code.
2612         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
2613         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2614         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2615         MACHINE_STATE_RESTORE): Kill.
2616         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2617         * i960.c (i960_output_function_prologue): Kill BB profiler related
2618         code.
2619         * ia64.c (ia64_compute_frame_size): Likewise.
2620         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2621         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2622         MACHINE_STATE_RESTORE): Kill.
2623         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
2624         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2625         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2626         MACHINE_STATE_RESTORE): Kill.
2627         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
2628         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2629         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2630         MACHINE_STATE_RESTORE): Kill.
2631         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
2632         Kill BB profiler related code.
2633         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2634         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2635         MACHINE_STATE_RESTORE): Kill.
2636         * mips.c (mips_expand_prologue): Kill BB profiler related code.
2637         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2638         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2639         MACHINE_STATE_RESTORE): Kill.
2640         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
2641         * s960.c (s390_function_prologue): Kill BB profiler related code.
2642         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2643         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2644         MACHINE_STATE_RESTORE): Kill.
2645         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2646         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2647         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2648         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2649         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
2650         sparc_nonflat_function_epilogue): Kill BB profiler related code.
2651         (sparc_function_block_profiler, sparc_block_profiler,
2652         sparc_function_block_profiler_exit): Kill.
2653         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
2654         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2655         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2656         MACHINE_STATE_RESTORE): Kill.
2657         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2658         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2659         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2660         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2661         MACHINE_STATE_RESTORE): Kill.
2662         * doc/invoke.texi: Kill documentation of -a and -ax.
2663         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2664         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2665         MACHINE_STATE_RESTORE): Kill.
2666
2667 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
2668
2669         * doc/rtl.texi: Use a table to display RTL format characters.
2670
2671 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
2672
2673         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
2674
2675 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2676
2677         * function.c (keep_stack_depressed): Check global_live_at_start
2678         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
2679
2680 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
2681
2682         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
2683         as set by the generic FreeBSD configure framework.
2684
2685 2001-12-04  Jason Merrill  <jason@redhat.com>
2686
2687         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2688         start_inlining, end_inlining.
2689         * tree-inline.c (expand_call_inline): Call them.
2690         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
2691         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
2692         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
2693         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
2694         (lhd_tree_inlining_end_inlining): New fn.
2695
2696 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2697
2698         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
2699         * c-common.h (shadow_warning): New.
2700         * c-decl.c: Include c-common.h.
2701         (warn_if_shadowing): New, broken out of pushdecl.
2702         (pushdecl): Use warn_if_shadowing.
2703         (store_parm_decls): Prevent duplicate -Wshadow warnings.
2704
2705 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
2706
2707         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
2708         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
2709         (LIB_SPEC): Remove.
2710
2711 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2712
2713         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
2714         (QUAL_UNION_TYPE): New type.
2715
2716         * varasm.c (output_constant, case ERROR_MARK): New case.
2717
2718         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
2719         (c_com): Delete its reference.
2720         * builtins.c: Delete memory checking code.
2721         * calls.c, expr.c, function.c, stmt.c: Likewise.
2722         * builtins.c (expand_builtin_arg_info): Remove reference to
2723         EXPAND_MEMORY_USE_* modifiers.
2724         * explow.c (expr_size): Likewise.
2725         * expr.c (expand_expr, expand_increment): Likewise.
2726         * expr.h (ARGS_SIZE_RTX): Likewise.
2727         * function.c (assign_parms, expand_pending_sizeso): Likewise.
2728         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
2729         * expr.c (in_check_memory_usage): Delete.
2730         (get_push_address, get_memory_usage_from_modifier): Delete.
2731         (expand_assigment): Use EXPAND_WRITE on destination.
2732         (expand_expr): Delete ro_modifier.
2733         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
2734         add EXPAND_WRITE.
2735         (memory_use_mode): Delete.
2736         * flags.h (flag_check_memory_usage): Deleted.
2737         (flag_prefix_function_name): Likewise.
2738         * function.c (expand_function_start): Don't set
2739         current_function_check_memory_usage.
2740         * function.h (check_memory_usage): Delete.
2741         * libfuncs.h, optabs.c: Delete chkr_* stuff.
2742         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
2743         EXPAND_WRITE.
2744         * toplev.c (flag_check_memory_usage): Deleted.
2745         (flag_prefix_function_name): Likewise.
2746         (f_options, process_options): Delete references to above.
2747         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
2748         * varasm.c (CHKR_PREFIX): Deleted.
2749         (make_decl_rtl): Remove flag_prefix_function_name handling.
2750         (assemble_name): Likewise.
2751         * doc/extend.texi: Remove no_check_memory_usage attribute.
2752         * doc/invoke.texi: Remove -fcheck-memory-usage
2753         and -fprefix-function-name.
2754
2755 2001-12-05  Andreas Schwab  <schwab@suse.de>
2756
2757         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
2758         from autoconf.
2759
2760 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
2761
2762         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
2763
2764 2001-12-05  William Cohen  <wcohen@redhat.com>
2765
2766         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
2767         instruction.
2768
2769 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
2770
2771         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
2772         builtins.
2773
2774         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
2775         better reflect reality (change from Apple's tree).
2776         Add more of altivec instructions.
2777         Add ftruncv4sf2 pattern.
2778         Remove more unspecs (vector merge instructions, etc).
2779
2780         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
2781         builtins.
2782         (bdesc_1arg): New, for 1 argument altivec builtins.
2783         (altivec_expand_builtin): Handle unary and ternary ops.
2784         (altivec_init_builtins): Ditto.
2785
2786 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2787
2788         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
2789         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2790
2791 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2792
2793         * gcse.c (store_killed_in_insn): Consider pure calls
2794         as potential store killers in addition to normal calls.
2795
2796 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2797
2798         * expr.c (expand_expr): When checking promoted value, use
2799         DECL_MODE (exp) and not mode.
2800
2801 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2802
2803         * c-typeck.c (output_init_element): Call digest_init
2804         just once, not in each if branch and check its return value for
2805         error_mark_node.
2806
2807 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2808
2809         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
2810         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
2811         (finish_struct): Break the loop if n_incomplete went to 0.
2812         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
2813
2814 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
2815
2816         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
2817
2818 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2819                           Douglas B. Rupp  <rupp@gnat.com>
2820
2821         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
2822         * doc/invoke.texi: Add -gvms.
2823         * doc/passes.texi: Add mention of vmsdbgout.c.
2824         * doc/tm.texi: Document VMS debugging output.
2825
2826 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2827
2828         * function.h (tree, rtx): Remove no-longer-needed definitions.
2829
2830         * function.c (keep_stack_depressed): Refine check for register
2831         clobbered over call.
2832
2833         * expr.c (store_expr): When copying string constant into array,
2834         use functions that update memrefs instead of computations on
2835         addresses to better track MEMs.  Also properly handle 32/64 pointers.
2836         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
2837         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
2838
2839         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
2840         underneath COMPONENT_REFs.
2841         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
2842
2843 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2844
2845         * toplev.c (display_target_options): Don't print twice.
2846
2847 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
2848
2849         * emit-rtl.c (set_unique_reg_note): Don't set
2850         a REG_EQUAL or REG_EQUIV note if multiple sets
2851         are present.
2852
2853 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2854
2855         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
2856         CASE_DROPS_THROUGH.
2857
2858 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2859
2860         * rtl.h (initialize_uninitialized_subregs): New prototype.
2861         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
2862         when optimization is on.
2863         * flow.c (find_regno_partial): Find subregs within an expression.
2864         (initialize_uninitialized_subregs): Initialize live on entry registers
2865         which are used in subreg expressions.
2866
2867 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
2868
2869         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
2870
2871 2001-12-04  DJ Delorie  <dj@redhat.com>
2872
2873         * fixinc/fixincl.c (initialize): Avoid problemsome macro
2874         parameter names (PR 3388).
2875
2876 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
2877
2878         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
2879         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
2880
2881 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2882
2883         * c-common.def (COMPOUND_LITERAL_EXPR): New.
2884         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
2885         (c_staticp): New function.
2886         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
2887         (c_staticp): Declare.
2888         * c-typeck.c (default_function_array_conversion, build_unary_op):
2889         Don't handle CONSTRUCTOR specially.
2890         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
2891         * c-decl.c (build_compound_literal): New function.
2892         * c-tree.h (build_compound_literal): Declare.
2893         * c-parse.in (primary): Use build_compound_literal.
2894         * c-lang.c (LANG_HOOKS_STATICP): Define.
2895         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
2896         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
2897         * doc/extend.texi: Update documentation of compound literals.
2898         Fixes PR c/4787.
2899
2900 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2901
2902         * langhooks.h (struct lang_hooks): Add staticp.
2903         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
2904         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
2905         * langhooks.c (lhd_staticp): New function.
2906         * tree.c (staticp): Call lang_hooks.staticp for language-specific
2907         tree codes.
2908
2909 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2910
2911         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
2912         * gcc.c (process_command): Ensure the cpp driver sees
2913         --help and --target-help, and that the help is printed
2914         exactly once.
2915
2916 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
2917
2918         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2919
2920 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
2921
2922         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
2923         flag_strict_aliasing.  Use separate assignment statements.
2924
2925 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
2926
2927         * build-make, cross-make: Delete file.
2928         * configure.in: Set and substitute CROSS, ALL,
2929         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
2930         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
2931         whether build == host and host == target.  Do not
2932         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
2933         AC_SUBST cross_defines or extra_c_flags.
2934         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
2935         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
2936         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
2937         partially or completely with autoconf-substituted @variable@
2938         notation.
2939         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
2940         @build_overrides@, @extra_c_flags@, all.build, install-build,
2941         install-cross-rest, install-float-h-cross): Deleted.
2942         (install-normal): Rename to install.  Delete old "install"
2943         indirection rule.
2944
2945 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2946
2947         * stmt.c (expand_return): Clear destination instead of clobbering it
2948         when setting a return value via bitsets.
2949
2950 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
2951
2952         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
2953         it has DECL_SAVED_TREE.
2954
2955         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
2956         is in a different binding level, get its abstract origin to be
2957         olddecl.
2958         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
2959         check earlier.
2960         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
2961         DECL_INITIAL is NULL.
2962
2963 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2964
2965         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
2966         Return correct value if one of the subexpressions was optimized to
2967         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
2968         (and_reg_cond): Similarly.
2969
2970 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2971
2972         * function.c (assign_parms): Set last_named only for last named
2973         argument.
2974
2975 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2976
2977         * doc/install.texi: Use the GFDL.  Include years from old install
2978         manual in copyright notice.  Include copyright and GFDL notice on
2979         HTML index page.  Include usual footer on testing.html.
2980         * doc/install.texi2html: Build gfdl.html.  Use -I
2981         $SOURCEDIR/include.
2982         * doc/include/fdl.texi: Adapt for use in the install manual.
2983
2984 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2985
2986         * doc/install.texi: Document that installed native compiler for
2987         building cross compilers should be GCC 2.95 or later.
2988
2989 2001-12-03  Eric Christopher  <echristo@redhat.com>
2990
2991         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
2992         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
2993         patterns.
2994
2995 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
2996
2997         * rtl.def (PREFETCH): New rtx code.
2998         * doc/rtl.texi (PREFETCH): Add documentation.
2999         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
3000         * rtlanal.c (reg_referenced_p): Ditto.
3001         * sched-vis.c (print_exp):  Ditto.
3002         * ssa-dce.c (find_inherently_necessary):  Ditto.
3003
3004         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
3005           (PREFETCH_BLOCK): Define.
3006         * config/ia64/ia64.md (itanium_class): Add lfetch.
3007           (prefetch, prefetch_internal): New.
3008
3009         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
3010         * builtins.def (BUILT_IN_PREFETCH): New.
3011         * builtins.c (expand_builtin_expect): New.
3012           (expand_builtin): Call it.
3013         * doc/extend.texi: Document __builtin_prefetch.
3014
3015         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
3016           conflicts with new generic prefetch functionality.
3017         * config/i386/i386.c (ix86_expand_builtin): Use new name for
3018           prefetch_sse.
3019
3020 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
3021
3022         * objc/Make-lang.in: Update copyright.
3023         (OBJC_OBJS): Add objc-lang.o.
3024         (objc-lang.o): New rule.
3025         * objc/config-lang.in: Fix file description and update
3026         copyright.
3027         * objc/objc-act.c: Do not include langhooks.h and
3028         langhooks-def.h
3029         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
3030         (objc_post_options): Move to objc-lang.c.
3031         (objc_init_options): Move to objc-lang.c.
3032         (objc_init): Make non-static.
3033         (objc_decode_option): Make non-static.
3034         (HASHFUNCTION): Remove macro.
3035         (hash_func): New function.
3036         (hash_enter): Replace HASHFUNCTION with hash_func.
3037         (hash_lookup): Replace HASHFUNCTION with hash_func.
3038         (maybe_objc_tree_codes): New function.
3039         (init_objc): Move ObjC tree code initialization to
3040         maybe_objc_tree_codes().
3041         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
3042         (objc_init): New public prototype.
3043         (objc_decode_option): New public prototype.
3044         (maybe_add_objc_tree_codes): New public prototype.
3045         * objc/objc-lang.c: New file.
3046         (lang_hooks): Moved from objc-act.c.
3047         (objc_post_options): Moved from objc-act.c.
3048         (objc_init_options): Moved from objc-act.c.
3049
3050 2001-12-03  Geoff Keating  <geoffk@redhat.com>
3051
3052         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
3053         of array elements.
3054
3055 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3056
3057         PR c/4988
3058         * gcc.c (process_command): Don't add a preprocessor option for
3059         --help and --target-help; cc1 is enough.
3060
3061 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3062
3063         * c-decl.c (grokdeclarator): Use ISO word.
3064         * cppinit.c: Remove leading capital from diagnostic messages, as
3065         per GNU coding standards.
3066         * emit-rtl.c: Similarly.
3067         * final.c: Similarly.
3068         * gcc.c: Similarly.
3069         * tradcpp.c: Similarly.
3070         * config/arm/arm.c: Similarly.
3071         * config/arm/arm.h: Similarly.
3072         * config/avr/avr.c: Similarly.
3073         * config/avr/avr.h: Similarly.
3074         * config/c4x/c4x.c: Similarly.
3075         * config/cris/cris.c: Similarly.
3076         * config/cris/cris.h: Similarly.
3077         * config/d30v/d30v.c: Similarly.
3078         * config/dsp16xx/dsp16xx.c: Similarly.
3079         * config/dsp16xx/dsp16xx.h: Similarly.
3080         * config/h8300/h8300.c: Similarly.
3081         * config/i386/i386.c: Similarly.
3082         * config/i386/xm-djgpp.h: Similarly.
3083         * config/i960/i960.h: Similarly.
3084         * config/m32r/m32r.c: Similarly.
3085         * config/m68hc11/m68hc11.c: Similarly.
3086         * config/m88k/m88k.c: Similarly.
3087         * config/m88k/m88k.h: Similarly.
3088         * config/mcore/mcore.c: Similarly.
3089         * config/mcore/mcore.h: Similarly.
3090         * config/mips/mips.c: Similarly.
3091         * config/mmix/mmix.c: Similarly.
3092         * config/pa/pa.c: Similarly.
3093         * config/rs6000/rs6000.c: Similarly.
3094         * config/rs6000/sysv4.h: Similarly.
3095         * config/s390/s390.c: Similarly.
3096         * config/sparc/sparc.c: Similarly.
3097         * config/v850/v850-c.c: Similarly.
3098         * config/v850/v850.c: Similarly.
3099
3100 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
3101
3102         * rs6000.h (RETURN_IN_MEMORY): Cast result of
3103         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
3104
3105 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
3106
3107         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
3108         bit twiddling constant.
3109
3110 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3111
3112         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
3113         call purge_dead_edges after removing.
3114         (delete_null_pointer_checks): Do not handle delete_list.
3115
3116         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
3117         (count_basic_blocks): ... here.
3118         (find_basic_blocks, find_bb_boundaries): Cleanup.
3119
3120         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
3121         overflow for types greater then 2 * HOST_WIDE_INT.
3122
3123         * reload.c (find_reloads): Update the duplicates after swapingg.
3124
3125 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3126
3127         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
3128
3129 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
3130
3131         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
3132         MASK_LONG_DOUBLE_128): Delete.
3133         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
3134         TARGET_AIX_STRUCT_RET): New flags.
3135         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
3136         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
3137         and -m(no-)svr4-struct-return.
3138         (TARGET_OPTIONS): Add entry for -mlong-double-.
3139         (rs6000_long_double_size_string, rs6000_long_double_type_size,
3140         rs6000_altivec_abi): Declare.
3141         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
3142         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
3143         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
3144         structures of size <= 8 bytes in registers.
3145         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
3146
3147         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
3148         rs6000_long_double_type_size, rs6000_altivec_abi): New
3149         globals.
3150         (rs6000_override_options): Set rs6000_long_double_type_size
3151         from rs6000_long_double_size_string, if nonzero.  Set the
3152         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
3153         not already set.
3154         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
3155         target_flags bit.
3156         (rs6000_init_builtins): This hook now takes no arguments.
3157
3158         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
3159         DRAFT_V4_STRUCT_RET to 1.
3160
3161 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3162
3163         * c-typeck.c (really_start_incremental_init, push_init_level):
3164         Avoid constructor_max_index being other than an INTEGER_CST.
3165
3166 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3167
3168         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
3169         unsigned.
3170         (ASM_GENERATE_INTERNAL_LABEL): Same.
3171         (UNIQUE_SECTION): Fix typo.
3172
3173 2001-12-02  Richard Henderson  <rth@redhat.com>
3174
3175         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
3176
3177 2001-12-02  Richard Henderson  <rth@redhat.com>
3178
3179         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
3180         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
3181         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
3182         * expr.h, final.c, reload1.c: Adjust users.
3183
3184         * alias.c (nonoverlapping_component_refs_p): New.
3185         (decl_for_component_ref, adjust_offset_for_component_ref): New.
3186         (nonoverlapping_memrefs_p): Use them.
3187         * emit-rtl.c (component_ref_for_mem_expr): New.
3188         (set_mem_attributes): Use it.
3189         (set_mem_offset): New.
3190         * expr.c (expand_assignment): Call set_mem_attributes for
3191         inner references; adjust the memory offset as needed.
3192         * print-rtl.c (print_mem_expr): New.
3193         (print_rtx): Use it.
3194
3195 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
3196
3197         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
3198
3199         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
3200         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
3201         (ASM_SPEC): Don't redefine.
3202         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
3203         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
3204         * config/alpha/vms-dwarf2.asm: New file.
3205
3206         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
3207         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
3208         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
3209         (vmsdbgout_after_prologue): New declaration.
3210         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
3211         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
3212         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
3213         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
3214         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
3215         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
3216         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
3217         Test VMS_DEBUGGING_INFO.
3218         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
3219         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
3220         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
3221         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
3222         VMS_AND_DWARF2_DEBUG.
3223         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
3224         (decode_g_option): Add "vms" to debug_type_names.
3225         (process_options): Set vmsdbg_debug_hooks if -gvms.
3226         (lang_independent_init): Emit line number for VMS unless -g0.
3227         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3228         * vmsdbg.h, vmsdbgout.c: New files.
3229
3230 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3231
3232         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3233
3234 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3235
3236         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3237         * dwarf2out.c (is_cxx): Prototype.
3238         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3239         warning.
3240         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3241
3242 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3243
3244         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3245
3246 2001-12-02  Geoff Keating  <geoffk@redhat.com>
3247
3248         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3249         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3250         rather than simplify_subreg.  Check for volatile-ness.  Check that
3251         we're not splitting one slow operation into two slow operations.
3252
3253 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3254
3255         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3256         before shifting.
3257
3258 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3259
3260         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3261         capital from diagnostics.
3262         * c-lex.c (cb_file_change): Similarly.
3263         * c-parse.in : Similarly.
3264         * cfgrtl.c (verify_flow_info): Similarly.
3265         * collect2.c: Similarly.
3266         * cppfiles.c (find_include_file): Similarly.
3267         * cppinit.c (cpp_handle_option): Similarly.
3268         * cpplex.c (cpp_spell_token): Similarly.
3269         * cppmain.c (do_preprocessing): Similarly.
3270         * gcc.c (translate_options, process_command, do_spec1,
3271         main, pfatal_execute): Similarly.
3272         * genattr.c (main): Similarly.
3273         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3274         write_test_expr, main): Similarly.
3275         * gencodes.c (main): Similarly.
3276         * genconfig.c (main): Similarly.
3277         * genconstants.c (main): Similarly.
3278         * genemit.c (main): Similarly.
3279         * genextract.c (main): Similarly.
3280         * genflags.c (main): Similarly.
3281         * genopinit.c (main): Similarly.
3282         * genoutput.c (process_template, main): Similarly.
3283         * genpeep.c (main): Similarly.
3284         * genrecog.c (main): Similarly.
3285         * gensupport.c (is_predicable, identify_predicable_attribute,
3286         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3287         * ggc-page.c (alloc_anon): Similarly.
3288         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3289         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3290         parse_stabs_common, parse_stabs, write_varray, write_object,
3291         read_seek, copy_object, main, error): Similarly.
3292         * profile.c (compute_branch_probabilities): Similarly.
3293         * reg-stack.c (check_asm_stack_operands): Similarly.
3294         * reload.c (find_reloads): Similarly.
3295         * reload1.c (spill_failure, failed_reload): Similarly.
3296         * rtl-error.c (_fatal_insn_not_found): Similarly.
3297         * toplev.c (read_integral_parameter, crash_signal,
3298         decode_f_option, set_target_switch, parse_options_and_default_flags)
3299         : Similarly.
3300         * tradcif.y (parse_number, yylex): Similarly.
3301         * tradcpp.c (main, fancy_abort): Similarly.
3302         * tree.c (tree_check_failed): Similarly.
3303         * varray.c (varray_check_failed): Similarly.
3304         * xcoffout.c (xcoff_output_standard_types): Similarly.
3305 objc:
3306         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3307         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3308         finish_message_expr, build_protocol_expr, is_public,
3309         start_class): Similarly.
3310
3311 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3312
3313         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3314         trailing period from diagnostics.
3315         * c-lex.c (cb_file_change): Similarly.
3316         * cppmacro.c (check_trad_stringification): Similarly.
3317         * gcc.c (do_spec_1): Similarly.
3318         * genattr.c (main): Similarly.
3319         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3320         * gencodes.c (main): Similarly.
3321         * genconfig.c (main): Similarly.
3322         * genconstants.c (main): Similarly.
3323         * genemit.c (main): Similarly.
3324         * genextract.c (main): Similarly.
3325         * genopinit.c (main): Similarly.
3326         * genoutput.c (main): Similarly.
3327         * genpeep.c (main): Similarly.
3328         * genrecog.c (main): Similarly.
3329         * mips-tfile.c (add_file, error): Similarly.
3330         * profile.c (init_branch_prob): Similarly.
3331         * reload1.c (spill_failure): Similarly.
3332         * stmt.c (parse_output_constraint): Similarly.
3333         * varasm.c (assemble_variable): Similarly.
3334
3335 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3336
3337         * m68k.c (init_FPA_table): Provide static prototype.
3338         * mips/abi64.h (mips_function_value): Move prototype to ...
3339         * mips-protos.h (mips_function_value): ... here.
3340         * mips.c: Include halfpic.h.
3341         * output.h (rdata_section): Prototype.
3342
3343         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3344         * m88k.c (m88k_svr3_asm_out_constructor,
3345         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3346         !OBJECT_FORMAT_ELF.
3347         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3348         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3349         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3350
3351 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3352
3353         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3354         LO_SUM addresses less than word size are not legitimate,
3355         because they lead to invalid SUBREGs.
3356         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3357
3358 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3359
3360         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3361         while scanning for multiple back edges.
3362
3363 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3364
3365         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3366         * config/rs6000/tramp.asm: Use it.
3367
3368 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3369
3370         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3371         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3372         xmalloc.
3373
3374 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3375
3376         * pa.c (output_ascii): Cast `p' to unsigned char.
3377
3378 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3379
3380         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3381         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3382         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3383         (altivec_init_builtins): Ditto.
3384         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3385
3386         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3387         veccomplex, vecfloat, and vecperm, for altivec instructions.
3388         Modify altivec patterns to use appropriate attribute type.
3389         Modify altivec patterns to match RTL operations where appropriate
3390         (IE no unspec where we can avoid it).
3391         Add vector unit scheduling for ppc7450.
3392         Rename patterns to what they are where appropriate
3393         (altivec_vaddfp->addv4sf3, etc)
3394
3395         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3396         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3397
3398         * config/rs6000/sysv4.h: Add -mcpu=7450.
3399
3400         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3401         _builtin_altivec_ld_interal function.
3402
3403 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3404
3405         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3406         strchr, strrchr, isascii, gettimeofday.
3407         * config.in, configure: Regenerate.
3408
3409 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3410
3411         * unroll.c (unroll_loop): Correct special exit cases.
3412
3413 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3414
3415         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3416         accept DFmode and DImode only.
3417
3418 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3419
3420         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3421         (STACK_DYNAMIC_OFFSET): Same.
3422
3423 2001-11-30  Richard Henderson  <rth@redhat.com>
3424
3425         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3426
3427 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3428
3429         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3430         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3431         the values in call_used_registers.
3432
3433 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3434
3435         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3436         gthr-single.
3437
3438 2001-11-30  Jason Merrill  <jason@redhat.com>
3439
3440         * dwarf2out.c (is_cxx): New fn.
3441         (add_data_member_location_attribute): Check it.
3442         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3443
3444 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3445
3446         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3447
3448 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3449
3450         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3451         MODE_VECTOR_FLOAT as allowed.
3452
3453 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3454
3455         Purge cruft now we have build libiberty.
3456
3457         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3458         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3459         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3460         USE_HOST_STRSTR): Delete variables.
3461         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3462         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3463         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3464         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3465         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3466         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3467         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3468         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3469         (HOST_LIBS): Ditto.
3470         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3471         (OBJS): Remove splay-tree.o.
3472         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3473         (distclean): No need to delete splay-tree.c obstack.c
3474         hashtab.c safe-ctype.c.
3475         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3476         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3477         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3478         Delete.
3479         * configure.in: Don't use them.
3480         Set and substitute @FORBUILD@.
3481         * config.in, configure: Regenerate.
3482         * doprint.c: Move to libiberty/_doprnt.c.
3483         * doc/configterms.texi: Document that libiberty is now built
3484         up to three times.  Fix typo.
3485
3486 2001-11-30  Jason Merrill  <jason@redhat.com>
3487
3488         * dwarf2out.c (add_data_member_location_attribute): Do the
3489         right thing for virtual bases.
3490         * dbxout.c (dbxout_type): For a virtual base, print the offset
3491         within the vtable.
3492
3493 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3494
3495         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3496
3497 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3498
3499         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3500         go in memory.
3501         Remove unused attribute for named.
3502
3503 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3504
3505         * genattrtab.c (attr_rtx_1): New function containing the
3506         majority of `attr_rtx'.  Move variable declarations into the
3507         scope where they are used.  Eliminate unnecessary gotos.
3508         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3509         VA_FIXEDARG, and VA_CLOSE.
3510
3511 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3512
3513         * config/cris/cris.c (cris_notice_update_cc): Check first
3514         destination also against overlap with cc_status.value2 and second
3515         destination against overlap with cc_status.value1.  For overlaps,
3516         clear overlapped value, don't just CC_STATUS_INIT.
3517
3518         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
3519         Fix typo in comment.
3520         (LINK_SPEC): Remove whitespace at end of line.
3521
3522 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3523
3524         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
3525
3526 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3527
3528         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
3529         macros for the supported debugging types.
3530
3531 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3532
3533         PR other/4932
3534         * config/i386/i386.c (print_operand):  Verify that the
3535           argument to %c is a constant and not a conditional which
3536           needs to be reversed.
3537
3538 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
3539
3540         * emit-rtl.c (gen_lowpart_common): Fix conversion of
3541         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
3542         of low part of those arrays for 32bit and 64bit hosts.
3543
3544 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3545
3546         * Makefile.in (insn-output.o): Depend on insn-codes.h.
3547
3548 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3549
3550         * configure.in (target_list): Add generated-manpages.
3551         * configure: Regenerate.
3552         * Makefile.in (generated-manpages): Depend on
3553         lang.generated-manpages.
3554         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
3555
3556 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
3557
3558         * config/arm/crti.asm (_init): Add .thumb_func if compiled
3559         with -mthumb.
3560         (_fini): Add .thumb_func if compiled with -mthumb.
3561
3562 2001-11-28  Eric Christopher  <echristo@redhat.com>
3563
3564         * config/mips/mips.c (override_options): Fix thinko in mips_tune
3565         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
3566
3567 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
3568
3569         * alpha.md (tablejump): Use pic_offset_table_rtx
3570         instead of gen_rtx_REG.
3571
3572 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
3573
3574         * expr.c (store_expr): When copying a string constant into an
3575         array, reset the known alignment of the MEM for the section to
3576         be cleared to BITS_PER_UNIT.
3577
3578 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3579
3580         * config/cris/cris.c: Remove whitespace at end of line.
3581
3582 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
3583
3584         * config.gcc (i[34567]86-*-interix3*): New case.
3585         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
3586         New files.
3587
3588 2001-11-28  Richard Henderson  <rth@redhat.com>
3589
3590         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
3591         symbolic_operand as the predicate.
3592
3593 2001-11-28  Richard Henderson  <rth@redhat.com>
3594
3595         * doloop.c (doloop_modify_runtime): Properly select induction
3596         variable; skip late entry test if biv initializer created by loop.
3597
3598 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3599
3600         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
3601         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
3602
3603         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
3604
3605         * tree.h: Add missing checks on some macros; make formatting more
3606         consistent.
3607
3608         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
3609         level; only add to pending_sizes if find it.
3610
3611         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
3612
3613         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
3614         Add casts to remove warnings.
3615
3616         * Makefile.in (OBJS): Sort alphabetically.
3617
3618         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
3619         Also minor cleanups.
3620
3621 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
3622
3623         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
3624         (FLAGS_TO_PASS): Add STAGE_PREFIX.
3625         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
3626         to STAGE_PREFIX.
3627
3628 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3629
3630         * cse.c (true_dependence_in_rtx): New function.
3631         (invalidate): Use it.
3632
3633         * c-common.h (GOTO_FAKE_P): New macro.
3634         * tree-inline.c (GOTO_FAKE_P): Set.
3635         * c-tree.texi (GOTO_FAKE_P): Document.
3636
3637         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
3638         containing pointers.
3639         (output_addressed_constants): Check for local/external relocations.
3640         * elfos.h (SELECT_SECTION): Classify data section.
3641         * tm.texi (SELECT_SECTION): Update documentation.
3642
3643         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
3644         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
3645
3646 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3647
3648         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3649         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
3650         OBJECT_FORMAT_ROSE.
3651
3652 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3653
3654         * config/cris/cris.c: Tweak spacing for prototypes.
3655         (LOSE_AND_RETURN): New macro.
3656         (cris_operand_lossage): New function.
3657         (cris_print_index, cris_print_base): Use cris_operand_lossage
3658         rather than fatal_insn.
3659         (cris_print_operand, cris_print_operand_address): Use
3660         LOSE_AND_RETURN rather than fatal_insn and internal_error.
3661         (cris_output_addr_const): Use LOSE_AND_RETURN and
3662         output_operand_lossage rather than fatal_insn and internal_error
3663         for valid but unexpected rtx expressions.
3664
3665         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
3666         for a SUBREG in src or dest, abort instead.
3667
3668 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3669
3670         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
3671         doc.
3672
3673 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
3674
3675         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
3676         preprocessor define.  If only DBX_DEBUGGING_INFO or only
3677         DWARF2_DEBUGGING_INFO is supported for the target, provide
3678         appropriate definitions.
3679
3680 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3681
3682         * Makefile.in: Update, and add c-objc-common.o dependencies.
3683         * c-lang.c: Remove unnecessary includes.
3684         (c_init): Move bulk of code to c_objc_common_init, and call it.
3685         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
3686         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
3687         c-objc-common.c.
3688         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
3689         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
3690         c_objc_common_init, c_missing_noreturn_ok_p): New.
3691         * toplev.c: Update comment.
3692         * doc/passes.texi: Update.
3693 objc:
3694         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
3695         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
3696         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
3697         (objc_init): Update to use c_objc_common_init.
3698
3699 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3700
3701         * cpphash.c (_cpp_init_hashtable): Update.
3702         * cpphash.h (struct spec_nodes): Remove n_L.
3703         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
3704
3705 2001-11-17  Richard Henderson  <rth@redhat.com>
3706
3707         * unroll.c (loop_iterations): Move last change ...
3708         * doloop.c (doloop_modify_runtime): ... here.
3709
3710 2001-11-17  Corey Minyard  <minyard@acm.org>
3711             Richard Henderson  <rth@redhat.com>
3712
3713         * unroll.c (loop_iterations): Detect one situation in which we
3714         overestimate the number of iterations.
3715
3716 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3717
3718         * gcc.c (set_input): Export.
3719         Move declaration ...
3720         gcc.h (set_input): ... here.
3721
3722 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3723
3724         * gcc.c (set_collect_gcc_options): New function, split out from
3725         main.
3726         Ignore elided switches.
3727         (do_spec): Invoke before executing command.
3728         (do_spec_1): Likewise.
3729         Fixes PR other/3968.
3730
3731 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
3732
3733         * config/cris/cris.h (INT_ASM_OP): Remove.
3734
3735 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3736
3737         * config/i386/sol2.h (WINT_TYPE): Redefine.
3738         (WINT_TYPE_SIZE): Likewise.
3739
3740 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3741
3742         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
3743         (dup2): Make static and add prototype.
3744         * m68k/plexus.h: Don't define NO_DUP2.
3745         * configure.in (AC_CHECK_FUNCS): Add dup2.
3746         * config.in, configure: Regenerate.
3747
3748         * ia64/aix.h (REG_SIZE): Don't #undef.
3749         * sparc.h (REG_SIZE): Delete.
3750         * flow.c (mark_used_regs): Don't use REG_SIZE.
3751         * regs.h (REG_SIZE): Delete.
3752
3753 2001-11-27  Andreas Schwab  <schwab@suse.de>
3754
3755         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
3756         PREFERRED_DEBUGGING_TYPE.
3757
3758 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3759
3760         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
3761         (expr.o, varasm.o): Depends on langhooks.h.
3762         * c-common.c (c_safe_from_p): Always declare.
3763         (c_expand_expr): Refine when declared.
3764         * c-lang.c (c-common.h): Now include.
3765         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
3766         (c_init): Don't set lang_safe_from_expr.
3767         * expr.c (langhooks.h): Now include.
3768         (lang_safe_from_p): No longer define.
3769         (safe_from_p): Use lang hook.
3770         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
3771         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
3772         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
3773         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
3774         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
3775         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
3776         * langhooks.h (struct lang_hooks): New fields expand_constant
3777         and safe_from_p.
3778         * output.h (output_constant): Size arg is HOST_WIDE_INT.
3779         * stmt.c (expand_decl_init): No longer need to expand constant
3780         for CONST_DECL.
3781         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
3782         * toplev.c (lang_expand_constant): Delete var.
3783         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
3784         operations on SAVE_EXPR.
3785         * varasm.c (langhooks.h): Now include.
3786         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
3787         (record_constant_1, output_addressed_constants): Likewise.
3788         (initializer_constant_valid_p, output_constant): Likewise.
3789         (output_constant_def): Process no-defer of string constant.
3790         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
3791         (output_constant): Strip more conversions.
3792         Track our size and pad for the rest.
3793         (array_size_for_constructor): Remove code for non-byte STRING_CST.
3794         (output_constructor): SIZE now HOST_WIDE_INT.
3795
3796 2001-11-27  Richard Henderson  <rth@redhat.com>
3797
3798         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
3799         in computing DIFF.
3800
3801 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
3802
3803         * cppfiles.c (read_include_file): Add comment.
3804
3805 2001-11-26  Richard Henderson  <rth@redhat.com>
3806
3807         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
3808
3809 2001-11-26  Richard Henderson  <rth@redhat.com>
3810
3811         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
3812         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
3813         commented out override.
3814
3815 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3816
3817         * cppfiles.c (stack_include_file): Don't optimize zero-length
3818         files.
3819         (read_include_file): NUL-terminate read files.
3820         * cpplex.c (handle_newline, skip_escaped_newlines,
3821         get_effective_char, skip_whitespace, parse_identifier,
3822         parse_identifier_slow, parse_number, parse_string,
3823         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
3824         NUL-terminated.
3825         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
3826         Be sure buffers are NUL terminated.
3827         * cppmacro.c (warn_of_redefinition): Kill compile warning.
3828
3829 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3830
3831         * c-common.c: Include tree-inline.h.
3832         (c_language): Move separate definitions here.
3833         (c_common_init_options, c_common_post_options): New.
3834         (c_common_lang_init): Rename c_common_init.
3835         * c-common.h (c_common_lang_init): Similarly.
3836         (c_common_init_options, c_common_post_options): New.
3837         * c-lang.c (c_post_options): Move body to c_common_post_options.
3838         (c_init_options): Use c_common_init_options.
3839         (c_init): Update.
3840         * langhooks.def: Rearrange.
3841         * langhooks.h: Rearrange, and improve comments.
3842         * toplev.c (do_compile): New function.
3843         (toplev_main): Use it.
3844         (lang_independent_f_options, parse_options_and_default_flags,
3845         process_options): Remove trailing periods.
3846         * Makefile.in: Update.
3847 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
3848         functions.
3849         (ojbc_init): Update.
3850
3851 2001-11-26  Richard Henderson  <rth@redhat.com>
3852
3853         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
3854
3855 2001-11-26  DJ Delorie  <dj@redhat.com>
3856
3857         * expr.c (store_constructor): Actually use the value computed
3858         if WORD_REGISTER_OPERATIONS.
3859
3860 2001-11-26  Richard Henderson  <rth@redhat.com>
3861
3862         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
3863         for CONSTRUCTOR.
3864
3865 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3866
3867         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
3868         correct function on AIX.
3869
3870 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
3871
3872         * toplev.c (process_options): Don't force
3873         flag_optimize_sibling_calls to zero just because exceptions are
3874         enabled.
3875
3876 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
3877
3878         * df.h (transfer_function_sbitmap): Use PARAMS around argument
3879         list in function prototypes.
3880         (transfer_function_bitmap): Likewise.
3881
3882 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
3883
3884         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
3885         * config/i386/netbsd-elf.h: Likewise.
3886
3887 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3888
3889         * doc/trouble.texi: Remove outdated RS/6000 comments.
3890
3891 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3892
3893         * final.c (walk_alter_subreg): Fix return value.
3894
3895 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3896
3897         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
3898         alter_subreg.
3899         * sparc.md (post-reload splitters): Do not call alter_subreg.
3900         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
3901
3902 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
3903
3904         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
3905
3906 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
3907
3908         * final.c: (insn_lengths): Make it an int *, so that large jump
3909         tables don't overflow.
3910
3911 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3912
3913         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
3914         (format_types): Use it for scanf.
3915         (dollar_arguments_pointer_p): New.
3916         (init_dollar_format_checking): Store details of which arguments
3917         are pointers.
3918         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
3919         (finish_dollar_format_checking): Take extra parameter
3920         pointer_gap_ok.  Treat unused arguments differently if
3921         pointer_gap_ok and the unused arguments are pointers.
3922         (check_format_info_main): Pass extra argument to
3923         finish_dollar_format_checking.
3924         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
3925         unused arguments are present between used arguments with operand
3926         numbers.
3927
3928 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
3929
3930         * df.c: Add prototypes for hybrid_search_bitmap and
3931         hybrid_search_sbitmap.
3932         (hybrid_search_bitmap): New function.
3933         (hybrid_search_sbitmap): New function.
3934         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
3935         (iterative_dataflow_bitmap): Ditto.
3936
3937 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3938
3939         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3940         address computations.
3941
3942 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3943
3944         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
3945         register b (low part of d).
3946
3947 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3948
3949         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
3950         passed to mcount.
3951
3952 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
3953
3954         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
3955         * config/alpha/x-vms: New file, to compile the above.
3956         * config.gcc (alpha*-dec-vms*): Add x-vms.
3957
3958 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
3959
3960         * genextract.c (main): Set ro_loc for peepholes.
3961
3962 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
3963
3964         * fix-header.c (main): Move inf_buffer termination and inf_limit
3965         calculation to after read.
3966
3967         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
3968         (__UNIX_FOPEN): Define.
3969
3970 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3971
3972         * function.c (assign_stack_temp_for_type): Clear alias set before
3973         setting new one.
3974
3975 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
3976
3977         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
3978         format.
3979         * rs6000.md (cmptf): Fix typo.
3980
3981 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
3982
3983         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
3984         * varasm.c (output_constructor): Use assemble_integer rather
3985         than ASM_OUTPUT_BYTE.
3986
3987 2001-11-23  Andreas Jaeger  <aj@suse.de>
3988
3989         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
3990         extension.
3991
3992 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
3993
3994         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
3995         default definition.
3996         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
3997         (MULTILIB_DEFAULTS): Remove previous definition.
3998
3999 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4000
4001         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
4002         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
4003
4004 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4005
4006         * cris.h: Revert thinko in last patch.
4007
4008 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4009
4010         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
4011         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
4012         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
4013         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
4014         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
4015         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
4016
4017         * predict.c, reg-stack.c: Fix spelling errors.
4018
4019 2001-10-09  Andrew Haley  <aph@redhat.com>
4020
4021         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
4022         start of stack slot.
4023
4024 2001-11-22  Graham Stott  <grahams@redhat.com>
4025
4026         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
4027         replacement jump after original jump.
4028
4029         (verify_flow_info): Remove redundent initialisation.
4030         Handle reaching end of insn list before finding a BARRIER.
4031         Only issue one missing barrier diagnostic.
4032
4033 2001-11-22  Graham Stott  <grahams@redhat.com>
4034
4035         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
4036
4037 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4038
4039         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
4040         insn actually does.
4041
4042 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
4043
4044         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
4045         Fix typo -mm32rx=> -m32rx.
4046
4047         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
4048         targets.
4049
4050         * config.gcc (xscale-coff): Add necessary header files to
4051         tm_file variable.
4052
4053 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4054
4055         * rs6000.c (output_cbranch): Use $, not %$, in output template.
4056
4057 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4058
4059         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
4060         (lang_type_quals): Declare.
4061         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
4062         retrieve language-specific qualifiers for a type node, instead of
4063         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
4064         lang_dump_tree.
4065         * tree-dump.h: Rename from c-dump.h.
4066         * c-common.h (C_TYPE_QUALS): Removed.
4067         Move declarations for tree-dump.c interface to...
4068         * tree.h: ... here. Remove lang_dump_tree.
4069         * langhooks.h (struct lang_hooks_for_tree_dump): New.
4070         (struct lang_hooks): Add tree_dump hooks.
4071         * langhooks.c (lhd_tree_dump_dump_tree): New function.
4072         (lhd_tree_dump_type_quals): New function.
4073         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
4074         Declare.
4075         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
4076         * Makefile.in: Move tree-dump.o to language-independent back-end.
4077
4078 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4079
4080         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
4081         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
4082         * arc.h (DBX_REGISTER_NUMBER): Likewise.
4083         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
4084         * avr.h (DBX_REGISTER_NUMBER): Likewise.
4085         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
4086         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
4087         * convex.h (DBX_REGISTER_NUMBER): Likewise.
4088         * cris.h (DBX_REGISTER_NUMBER): Likewise.
4089         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
4090         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
4091         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
4092         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
4093         * i370.h (DBX_REGISTER_NUMBER): Likewise.
4094         * i860.h (DBX_REGISTER_NUMBER): Likewise.
4095         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
4096         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
4097         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4098         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
4099         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
4100         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
4101         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
4102         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
4103         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
4104         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
4105         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
4106         * romp.h (DBX_REGISTER_NUMBER): Likewise.
4107         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
4108         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4109         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
4110         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
4111         * v850.h (DBX_REGISTER_NUMBER): Likewise.
4112         * vax.h (DBX_REGISTER_NUMBER): Likewise.
4113         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
4114
4115         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
4116         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
4117
4118 2001-11-21  H.J. Lu <hjl@gnu.org>
4119
4120         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
4121
4122 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4123
4124         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
4125         emit_cmp_and_jump_insns.
4126
4127         * stormy16.c (xstormy16_expand_builtin_va_arg,
4128         xstormy16_expand_casesi): Likewise.
4129
4130 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4131
4132         * function.c (keep_stack_depressed): Major rework.
4133         (handle_epilogue_set, emit_equiv_load): New functions.
4134         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
4135         has return value.
4136         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
4137         * rtl.h (SET_IS_RETURN_P): New macro.
4138
4139         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
4140         and also support TREE_ADDRESSABLE.
4141         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
4142
4143 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
4144
4145         * rs6000.md (cmptf_internal1): Replace %$ with $.
4146
4147 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
4148
4149         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
4150         (read_include_file): Use STAT_SIZE_TOO_BIG.
4151
4152         * cppinit.c (INO_T_COPY): Define.
4153         (INO_T_EQ): Uppercase parameters.
4154         (append_include_chain): Use INO_T_COPY.
4155
4156 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
4157
4158         * cfg.c: Fix typos and formatting in the introductory comment.
4159
4160 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
4161
4162         * profile.c (compute_branch_probabilites):  Compute probabilities
4163         for entry/exit edges; estimate probabilities for zero counts.
4164
4165 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4166
4167         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
4168         to emit_library_call.
4169         * function.c (expand_main_function, expand_function_start,
4170         expand_function_end): Likewise.
4171         * profile.c (output_func_start_profiler): Likewise.
4172         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
4173         second argument to emit_library_call.
4174         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
4175         as second argument to emit_library_call.
4176         * calls.c (emit_library_call): Update fn_type description.
4177
4178 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4179
4180         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
4181         if fndecl is still DECL_INLINE and has DECL_RESULT.
4182
4183 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4184
4185         * clipper.c (clipper_movstr): Avoid uninitialized warning.
4186         * i960.c (is_mask, legitimize_address): Likewise.
4187         * m88k.c (m88k_expand_prologue): Likewise.
4188         * m88k.md: Likewise.
4189         * mcore.c (emit_new_cond_insn): Likewise.
4190         * stormy16.c (xstormy16_emit_cbranch): Likewise.
4191
4192 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4193
4194         * config.gcc: Delete powerpcle-*-solaris2* stanza.
4195         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
4196         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4197         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
4198         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
4199         config/rs6000/t-ppcos: Expunge all references to Solaris.
4200
4201         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
4202
4203         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
4204         output templates.
4205         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
4206         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
4207
4208 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4209
4210         * sh.md: Avoid uninitialized warnings.
4211         * vax.c (vax_rtx_cost): Likewise.
4212
4213 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4214
4215         * rs6000.c (direct_return): Check if we are saving altivec
4216         registers.
4217         (first_altivec_reg_to_save): New.
4218         Updated stack frame layout comments.
4219         (rs6000_stack_info): Calculate altivec register save size.
4220         Save link register if we saved some altivec registers.
4221         (rs6000_stack_info): Align save size to 16 if altivec abi or
4222         abi_darwin.
4223         (rs6000_stack_info): Calculate altivec register offsets.
4224         (rs6000_stack_info): Add altivec info to save_size.
4225         (debug_stack_info): Add altivec debug info.
4226         (rs6000_emit_prologue): Save altivec registers and vrsave.
4227         (compute_vrsave_mask): New.
4228         (altivec_expand_builtin): Remove unused variables.
4229         (rs6000_parse_abi_options): Add static qualifier.
4230         (rs6000_expand_builtin): Remove unused parameters.
4231         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4232         (altivec_init_builtins): Same.
4233         (is_altivec_return_reg): New.
4234         (vrsave_operation): New.
4235         (ALTIVEC_REG_BIT): New.
4236         (generate_set_vrsave): New.
4237
4238         * rs6000.md (get_vrsave): New.
4239         (set_vrsave): New.
4240         (*set_vrsave_internal): New.
4241
4242         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4243         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4244         altivec_padding_size, vrsave_mask.
4245         (TOTAL_ALTIVEC_REGS): New.
4246         (EPILOGUE_USES): Add VRSAVE_REGNO.
4247
4248 2001-11-20  Jeff Law <law@redhat.com>
4249
4250         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4251         exit label as necessary.
4252
4253 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
4254
4255         * reload1.c (elimination_effects): Use function_invariant_p
4256         instead of CONSTANT_P when considering register equivalences.
4257
4258 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
4259
4260         * config.gcc: Add FreeBSD/PowerPC target.
4261         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4262         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4263         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4264         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4265         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4266         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4267         freebsd-spec.h to tm_file.
4268         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4269         * config/freebsd.h: Tidy up.
4270         (USING_CONFIG_FREEBSD): Define.
4271         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4272         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4273         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4274         (TARGET_HAS_F_SETLKW): Define.
4275         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4276         * config/freebsd-spec.h: New file.
4277         * config/rs6000/freebsd.h: New file.
4278         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4279         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4280         USING_SVR4_H to know when to turn on ELF support.
4281         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4282         define only if not already defined.
4283         Add FreeBSD support.
4284         * config/rs6000/aix.h (TARGET_VERSION): Define.
4285         * config/rs6000/beos.h: Likewise.
4286         * config/rs6000/darwin.h: Likewise.
4287         * config/rs6000/mach.h: Likewise.
4288         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4289         Don't include lynx.h directly.
4290
4291 2001-11-20  Graham Stott  <grahams@redhat.com>
4292
4293         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4294         Fix lossage in last change return OB.
4295
4296 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4297
4298         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4299         Remove unneeded exit related macros.
4300
4301 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4302
4303         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4304
4305         * rs6000.c (rs6000_emit_move): Add TFmode case.
4306         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4307         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4308         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4309         * rs6000.h: ... to here.
4310         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4311         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4312         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4313
4314 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4315
4316         * emit-rtl.c (get_mem_attrs): Fix typo.
4317
4318 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4319
4320         * c-lang.c (finish_file): Backout 2001-11-16
4321         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4322         before calling c_expand_deferred_function.
4323
4324 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4325
4326         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4327         Don't register empty .eh_frame sections.
4328         (__deregister_frame_info_bases, __deregister_frame): Don't
4329         unregister them either.
4330
4331 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4332
4333         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4334         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4335         * configure: Regenerate.
4336         * config.in: Add dummy definitions of new flags.
4337         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4338         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4339         * gcc.c (ASM_DEBUG_SPEC): New macro.
4340         (asm_debug): New static variable.
4341         (default_compilers): Add asm_debug when assembling from
4342         user input.
4343         (static_specs): Add asm_debug.
4344
4345 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4346
4347         * config.gcc (*-*-freebsd*): Remove configuration block.
4348
4349 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4350
4351         bootstrap/4422
4352         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4353         fixinc *as if* it were a proper lang subdirectory.
4354         * configure: Rebuilt.
4355
4356 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4357
4358         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4359
4360 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4361
4362         * 1750a.md: Don't use hex format for a const_int.
4363
4364 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4365
4366         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4367
4368 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4369
4370         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4371         defined (prevents link errors when gettext isn't in the system
4372         library).
4373
4374 2001-11-19  DJ Delorie  <dj@redhat.com>
4375
4376         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4377         (validate_const_int): New.
4378         (read_rtx): Validate constant integers.
4379         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4380
4381 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4382
4383         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4384
4385 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4386
4387         * toplev.c (DUMPFILE_FORMAT): Define default.
4388         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4389         (close_dump_file, compile_file): Likewise.
4390         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4391         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4392
4393 2001-11-19  Jeff Law <law@redhat.com>
4394
4395         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4396         a nop-jump.
4397
4398 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4399
4400         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4401         Don't fall off the base token run.
4402
4403 2001-11-19  Jason Wilkins <fenix@io.com>
4404
4405         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4406
4407 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4408
4409         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4410         * tree.h (handled_component_p): New declaration.
4411         * alias.c (handled_component_p): Move function from here ...
4412         * expr.c (handled_component_p): ... to here and non longer static.
4413         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4414         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4415         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4416         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4417         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4418         (expand_expr, cse ADDR_EXPR): No need to copy if already
4419         BIGGEST_ALIGNMENT.
4420         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4421         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4422         (output_constant): Handle VIEW_CONVERT_EXPR.
4423         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4424         Add new case for VIEW_CONVERT_EXPR.
4425
4426 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4427
4428         * a29k/unix.h (ASM_FILE_START): Const-ify.
4429         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4430         * i386/isc.h (ASM_FILE_START): Const-ify.
4431         * i386/sun386.h (ASM_FILE_START): Likewise.
4432         * m32r.md: Likewise.
4433         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4434         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4435         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4436         * mn10200.md: Initialize variable.
4437
4438 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4439
4440         * gcse.c (try_replace_reg): Copy RTX before creating note.
4441
4442         * df.h (df_ref_flags): New uenum.
4443         (DF_REF_FLAGS): New macro.
4444         (struct ref): Add field "flags".
4445         * df.c (HANDLE_SUBREG): Remove.
4446         (df_ref_create): Likewise; set flags field of ref.
4447         (df_def_record_1): Strip down read_write subreg; remove
4448         commented out code; set READ_WRITE flag.
4449         (read_modify_subreg_p): New static function.
4450         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4451         new argument "flags".
4452         (df_insn_refs_record): Update call of df_uses_record.
4453         (df_insn_modify): Avoid #if 0 around comment.
4454         (df_dump): Dump the read/write flag.
4455
4456         * predict.c (propagate_freq): Make cyclic_probability and frequency
4457         volatile
4458
4459         * i386.c (ix86_cc_mode): Accept USE.
4460
4461         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4462         jump is turned into simplejump.
4463
4464 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4465
4466         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4467         installation chapter.
4468         * doc/gcc.texi: Don't claim that this manual documents
4469         installation.  Mark Installation menu entry as being out of date.
4470
4471 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4472
4473         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4474         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4475         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4476
4477 2001-11-19  Jason Merrill  <jason@redhat.com>
4478
4479         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4480         cur_token, not after.
4481
4482         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4483         Lose ASM_OUTPUT_CONSTRUCTOR.
4484         * system.h: Poison it and INT_ASM_OP.
4485         * c-lang.c (finish_file): Don't check for it.
4486         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4487
4488 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4489
4490         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4491         (mmix_init_machine_status): Make static to match declaration.
4492         (mmix_unique_section): Const-ify.
4493         (mmix_output_quoted_string): Avoid automatic aggregate
4494         initialization.
4495         (mmix_output_register_setting): Likewise.
4496         (mmix_output_shiftvalue_op_from_str): Likewise.
4497
4498         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4499         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4500         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4501
4502 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4503
4504         PR c/4448
4505         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4506         name __objc_thread_exit_status so that it matches the
4507         variable defined in objc/thr.h.
4508
4509 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4510
4511         PR bootstrap/4020
4512         * mklibgcc.in: Add missing semi-colons.
4513         * Makefile.in: Same.
4514
4515 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4516
4517         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
4518         after re-laying out decl in incomplete case.
4519         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
4520
4521 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4522
4523         * doc/install-old.texi: Move some sections out to ...
4524         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
4525         ... here.  New files.  Make into chapters rather than sections.
4526         * doc/gcc.texi: Include the new files and add menu entries for
4527         them.
4528         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4529
4530 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4531
4532         * tree.h (TYPE_ALIGN_OK): New flag.
4533         * emit-rtl.c (set_mem_attributes): Handle it.
4534         * expr.c (emit_single_push_insn): Only set to alias set 0 if
4535         doing sibcall optimization.
4536         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
4537         when make temporary.
4538         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
4539         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
4540
4541         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
4542
4543 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4544
4545         * c-decl.c (c_decode_option): Give deprecation warning for
4546         -traditional.
4547         * doc/invoke.texi (-traditional): Note that this option is
4548         deprecated.
4549
4550 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
4551
4552         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
4553         arg to HOST_WIDE_INT, not long.
4554
4555         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
4556         (HAS_INIT_SECTION): Define.
4557         (REAL_ARITHMETIC): Don't undefine.
4558
4559 2001-11-18  Egor Duda  <deo@logos-m.ru>
4560
4561         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4562
4563 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4564
4565         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
4566         * c-common.c: Include diagnostic.h.
4567         (c_common_finish): New.
4568         * c-common.h (c_common_finish): New.
4569         * c-lang.c (LANG_HOOKS_FINISH): Override.
4570         * c-parse.in: Don't include diagnostic.h.
4571         (finish_parse): Remove.
4572         * langhooks.h: Update comments.
4573         * toplev.c (lang_dependent_init): New prototype.
4574         (finalize): New.
4575         (compile_file): Split cleanup code out to finalize.
4576         (lang_dependent_init): Stop if lang_hooks.init fails.
4577         (toplev_main): Update.
4578         * tree.h (finish_parse): Remove.
4579 objc:
4580         * objc-act.c (LANG_HOOKS_FINISH): Override.
4581
4582 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4583
4584         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
4585         * config/alpha/vms_tramp.asm: New file.
4586         * config/alpha/vms-tramp.asm: Removed.
4587
4588 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4589
4590         * c-common.c (struct disabled_builtin, disabled_builtins,
4591         disable_builtin_function, builtin_function_disabled_p): New.
4592         (builtin_function_2): Check for disabled built-in functions.
4593         * c-common.h (disable_builtin_function): Declare.
4594         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
4595         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
4596         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
4597
4598 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4599
4600         PR target/4606
4601         * config.gcc: Remove reference to va-clipper.h.
4602
4603 2001-11-17  Stan Shebs  <shebs@apple.com>
4604
4605         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
4606         AltiVec-related bitfields.
4607
4608 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4609
4610         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
4611         (mark_eh_region, case ERT_UKNONW): New case.
4612
4613 2001-11-17  Christopher Faylor  <cgf@redhat.com>
4614             Corinna Vinschen  <vinschen@redhat.com>
4615
4616         * config/i386/cygwin.h: Search target specific include directory for
4617         w32api stuff, if appropriate.
4618
4619 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
4620
4621         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
4622
4623 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
4624
4625         * config/rs6000/rs6000.md: Change all ldvx to lvx.
4626
4627 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
4628
4629         * gensupport.c (process_rtx): Don't assume filename is the first
4630         argument of any rtl.
4631
4632 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4633
4634         * vax-protos.h (reg_was_0_p): New prototype.
4635         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
4636         * vax.c (follows_p, reg_was_0_p): New functions.
4637
4638 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4639
4640         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
4641         (casesi1): Likewise.  Define new pattern which arises by simplification
4642         when operand 1 is a constant int.  Correct pattern which arises by
4643         simplification when operand 1 is zero.
4644
4645 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
4646
4647         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
4648         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
4649         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
4650         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
4651         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
4652         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
4653         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
4654         * config/arm/aof.h: Don't include arm.h.
4655         * config/arm/aout.h: Likewise.
4656         * config/arm/coff.h: Don't include semi.h and aout.h.
4657         * config/arm/elf.h: Don't include aout.h.
4658         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
4659         (TARGET_VERSION): Undef before defining.
4660         (ARM_OS_NAME): Likewise
4661         (TARGET_DEFAULT): Likewise
4662         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
4663         * config/arm/pe.h: Don't include arm/coff.h.
4664         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
4665         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
4666         * config/arm/riscix1-1.h: Likewise.
4667         * config/arm/rix-gas.h: Don't include riscix.h.
4668         (DBX_CONTIN_LENGTH): Undef before defining.
4669         * config/arm/semi.h: Don't include aout.h.
4670         * config/arm/semiaof.h: Don't include aof.h.
4671         * config/arm/strongarm-coff.h: Don't include coff.h.
4672         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
4673         * config/arm/vxarm.h: Don't include arm/coff.h.
4674         * config/arm/xscale-coff.h: Don't include coff.h.
4675
4676 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4677
4678         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
4679         emit_cmp_insn.
4680
4681 2001-11-16  Andreas Jaeger  <aj@suse.de>
4682
4683         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
4684         to ....
4685         (fixup_fallthru_exit_predecessor): ... this.
4686         Change callers and prototype.
4687
4688 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
4689
4690         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
4691         hand; don't use gen_setcc_2.
4692         (ix86_expand_builtin): Fix pshufw.
4693         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
4694         case UNORDERED to emit the right assembler instruction.
4695         (mmx_pshufw): Lose operand 2.
4696         (cvtsi2ss): Fix representation.
4697         From Graham Stott:
4698         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
4699
4700 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
4701
4702         * doc/include/linux-and-gnu.texi: Remove.
4703         * doc/gnu.texi: New.
4704         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
4705         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4706
4707 2001-11-16  Kazu Hirata  <kazu@hxi.com>
4708
4709         * config/a29k/a29k.c: Fix comment formatting.
4710         * config/a29k/a29k.h: Likewise.
4711         * config/arc/arc.c: Likewise.
4712         * config/arc/arc.h: Likewise.
4713         * config/vax/vax.c: Likewise.
4714         * config/vax/vax.h: Likewise.
4715         * config/we32k/we32k.c: Likewise.
4716         * config/we32k/we32k.h: Likewise.
4717
4718 2001-11-16  Jeff Law  <law@redhat.com>
4719
4720         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
4721         creating a new jump insn.
4722
4723 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4724
4725         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
4726         copy misaligned data.
4727         * varasm.c (assemble_variable): Set alignment into MEM when changed.
4728
4729 2001-11-16  Graham Stott  <grahams@redhat.com>
4730
4731         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
4732         OPALIGN type.
4733
4734 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
4735
4736         * except.c: Support for catching a list of types with a single handler
4737         (struct eh_region): Change type and filter to lists for catch regions.
4738         (mark_eh_region): Mark the filter list for GC also.
4739         (expand_start_catch): Always build a list if argument not NULL and
4740         register each type of the list through add_type_for_runtime.
4741         (duplicate_eh_region_1): Change type into type_list for catch regions.
4742         (assign_filter_values): Assign a filter to each type associated with a
4743         catch region. Assign filter for NULL types in a unique entry in the
4744         filter list.
4745         (build_post_landing_pads): Emit compare and jump for each filter of
4746         the list associated with a catch region.
4747         (reachable_next_level): When the type thrown is known, stop the search
4748         as soon as one type within a catch list matches. Also, a handler is
4749         potentially reachable only if at least one of the types it catches
4750         has not been previously caught.
4751         (collect_one_action_chain): Retrieve the filter for a NULL type list
4752         from the first filter list entry. For non NULL type lists, add an
4753         action record for every filter assigned.
4754         * except.h: Reflect changes in comment before expand_start_catch.
4755
4756 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4757
4758         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
4759         BLKmode.
4760
4761 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
4762
4763         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
4764
4765 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
4766
4767         * c-lang.c (finish_file): Don't emit static inline functions if
4768         they weren't referenced.
4769
4770 2001-11-15  Stan Shebs  <shebs@apple.com>
4771
4772         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
4773
4774 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4775
4776         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
4777         call.
4778         * config/i386/i386.md: Likewise.
4779
4780 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4781
4782         * timevar.c (rtl.h): Include so get fancy abort.
4783
4784 2001-11-15  Dale Johannesen  <dalej@apple.com>
4785
4786         * config/darwin.h (SELECT_RTX_SECTION):  Force address
4787         initializers into 'const' section
4788         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
4789         if_then_else to match result, not operands
4790
4791 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4792
4793         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
4794         * emit-rtl.c (change_address): Fix typo in default alignment.
4795         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
4796         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
4797         * rtl.h (REGNO_PTR_FRAME_P): New macro.
4798
4799         * expr.c (store_field): Pass tree instead of max size; callers changed.
4800         Change handling of alignment.
4801         Only copy to_rtx if is TARGET.
4802         (expand_expr_unaligned): Delete; callers now use expand_expr.
4803         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
4804         (expand_assignment): Change handling of alignment.
4805         Only copy to_rtx if was original.
4806         (get_inner_reference): No longer return alginment; callers changed.
4807         (expand_expr, case COMPONENT_REF): Change handling of alignment.
4808         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
4809         (compare_from_rtx): Delete ALIGN parm; all callers changed.
4810         (do_compare_rtx_and_jump): Likewise.
4811         * expr.h: Reflect above changes.
4812         * tree.h: Likewise.
4813         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
4814         to get_inner_reference.
4815         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
4816         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
4817         * optabs.c: Likewise.
4818         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
4819         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
4820         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
4821         compare_rtx_and_jump, and emit_cmp_jump_insns.
4822         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
4823         * function.c (assign_stack_temp_for_type): No longer static.
4824         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
4825         (prepare_cmp_insn): Delete declaration.
4826         * rtl.h (assign_stack_temp_for_type): Add declaration.
4827         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
4828         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
4829         * config/i386/i386.c,config/mips/mips.c: Likewise.
4830         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
4831         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
4832
4833 2001-11-15  Stan Shebs  <shebs@apple.com>
4834
4835         * config/rs6000/rs6000.h: Fix a comment typo.
4836         (RTX_COSTS): Sort processor versions better.
4837
4838 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4839
4840         * config/h8300/h8300.md: Fix insn length of bit insns.
4841
4842 2001-11-15  Jason Merrill  <jason@redhat.com>
4843
4844         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
4845         DIEs if there were errors in the source.
4846
4847         * config/alpha/alpha-interix.h, config/alpha/elf.h,
4848         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
4849         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
4850         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
4851         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
4852         config/elfos.h, config/lynx.h, config/netware.h,
4853         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
4854         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
4855         uses to use ASM_LONG.
4856
4857 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
4858
4859         * gensupport.c  process_include : Change call to alloca to
4860         xmalloc.
4861
4862 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4863
4864         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
4865         templates.
4866
4867 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4868
4869         * final.c (alter_subreg): If simplify_subreg can't do anything,
4870         handle REG ourselves and abort for others.
4871
4872 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
4873
4874         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
4875         routines.
4876
4877 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4878
4879         * fix-header.c (read_scan_file): Update.
4880
4881 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4882
4883         * toplev.c (toplev_main): Don't start timing until after
4884         command-line options are parsed.
4885
4886 2001-11-15  Andreas Schwab  <schwab@suse.de>
4887
4888         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
4889         makefile frag, not host makefile frag.
4890         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
4891         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
4892         used.
4893         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
4894         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
4895         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
4896         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
4897         * config/i386/t-dgux (STMP_FIXPROTO): Define.
4898         * config/x-interix: Don't define STMP_FIXPROTO and
4899         FIXPROTO_DEFINES.
4900         * config/t-interix: New file, define STMP_FIXPROTO.
4901         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
4902         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
4903         * config/t-svr4 (FIXPROTO_DEFINES): Define.
4904         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
4905         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
4906         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
4907         * config/m68k/t-hp3200: Renamed from x-hp3200.
4908         * config/i370/t-oe: Renamed from x-oe.
4909         * config/mips/t-iris: Renamed from x-iris.
4910         * config/pa/t-bsd: Renamed from x-pa.
4911         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
4912         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
4913         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
4914         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
4915         config/rs6000/x-cygwin: Remove files.
4916
4917         * configure.in: Check for target objdump and use that in eh_frame
4918         optimization test.
4919         * configure: Regenerated.
4920
4921 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
4922
4923         * jump.c (squeeze_notes): Return true if no real insns were found.
4924         * rtl.h (squeeze_notes): Adjust prototype.
4925         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
4926         squeeze_notes finds no real instructions, abort.
4927         (merge_blocks_move_successor_nojumps): Likewise.
4928         * loop.c (find_and_verify_loops): Likewise.
4929         * stmt.c (expand_end_case): Likewise.
4930         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
4931         find any real instructions.
4932
4933         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
4934
4935         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
4936         conditional jump, request updating life into for the block
4937         containing it.  Fix a typo which prevented life info update.
4938         Clear blocks bitmap before using it.
4939
4940 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4941
4942         * c-common.c: Include c-lex.h.
4943         (c_common_lang_init): Change prototype.  Call init_c_lex and
4944         init_pragma from here.
4945         * c-common.h (c_common_lang_init): Change prototype.
4946         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
4947         * c-lang.c (c_init): Change prototype.  Update.
4948         (c_init_options): Update.
4949         * c-lex.c (cpp_filename): Remove.
4950         (init_c_lex): Update.  Read the main file, and get the original
4951         file name.
4952         (yyparse): Finish the command line options.
4953         * c-parse.in (c_parse_init): Call init_reswords here.
4954         (init_parse): Remove.
4955         * c-tree.h (c_init_decl_processing): New.
4956         * cpphash.c (_cpp_init_hashtable): After initializing the hash
4957         table, populate it.
4958         * cppinit.c (read_original_filename, cpp_finish_options): New.
4959         (cpp_create_reader): New prototype. Defer hash table initialization.
4960         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
4961         hash table.  Get the original filename.
4962         * cpplib.h (cpp_create_reader): Update.
4963         (cpp_start_read): Remove.
4964         (cpp_read_main_file, cpp_finish_options): New.
4965         * cppmain.c (main, do_preprocessing): Update.
4966         * langhooks.h (struct langhooks): Update init prototype.
4967         * toplev.c (general_init, parse_options_and_default_flags,
4968         process_options, lang_indpendent_init, lang_dependent_init,
4969         init_asm_output): New; perform the bulk of initialization.
4970         (compile_file): Move most of initialization to above functions.
4971         (debug_hooks): Initialize statically.
4972         (set_Wunused): Relocate.
4973         (toplev_main): Move most of initialization to other init functions.
4974         Have a clear logic flow.
4975         * tree.h (init_parse, init_decl_processing): Remove.
4976 objc:
4977         * objc-act.c (objc_init): Update prototype, combine with old
4978         init_parse.
4979         (objc_init_options): Update.
4980
4981
4982 2001-11-15  Andreas Jaeger  <aj@suse.de>
4983
4984         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
4985         portability.
4986         * basic-block.h: Adjust prototype.
4987
4988 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4989
4990         * config/rs6000/aix31.h: Fix comment formatting.
4991         * config/rs6000/beos.h: Likewise.
4992         * config/rs6000/darwin.h: Likewise.
4993         * config/rs6000/eabi.asm: Likewise.
4994         * config/rs6000/linux.h: Likewise.
4995         * config/rs6000/linux64.h: Likewise.
4996         * config/rs6000/lynx.h: Likewise.
4997         * config/rs6000/netbsd.h: Likewise.
4998         * config/rs6000/rs6000.c: Likewise.
4999         * config/rs6000/rs6000.h: Likewise.
5000         * config/rs6000/rs6000.md: Likewise.
5001         * config/rs6000/sol2.h: Likewise.
5002         * config/rs6000/tramp.asm: Likewise.
5003         * config/rs6000/xcoff.h: Likewise.
5004         * config/rs6000/xm-beos.h: Likewise.
5005
5006 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
5007
5008         * rtl.def (INCLUDE) : Define.
5009         * gensupport.c  (init_include_reader, process_include,
5010         save_string) :  New functions to implement an include facility
5011         in .md files.
5012         * gensupport.h : Add prototype for init_md_reader_args.
5013         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
5014         genextract.c genflags.c genopinit.c genoutput.c
5015         genpeep.c genrecog.c: Change call to init_md_reader to
5016         init_md_reader_args.
5017         * md.texi: Document (include "path") and -I directives for RTL
5018         generation tools.
5019
5020 2001-11-14  DJ Delorie  <dj@redhat.com>
5021
5022         * integrate.c (get_hard_reg_initial_reg): New.
5023         * integrate.h (get_hard_reg_initial_reg): Prototype.
5024         * local-alloc.c (block_alloc): Don't tie pseudos that
5025         represent call-saved hard regs' initial values.
5026
5027 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5028
5029         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
5030         recursion.
5031
5032 2001-11-14  Roger Sayle <roger@eyesopen.com>
5033
5034         * fold-const.c (fold): Optimize strlen comparisons against zero.
5035
5036 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
5037
5038         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
5039         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
5040         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
5041         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
5042         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
5043         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
5044         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
5045         Include various CPU headers via tm_file.  a.out based platforms now
5046         properly include sparc/aout.h.  sol2.h usage now implies including
5047         elfos.h, svr4.h, and sparc/sysv4.h.
5048         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
5049         Also define to '1'.
5050         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
5051         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5052         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
5053         Remove.  They are a.out specific and belong in sparc/aout.h.
5054         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
5055         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5056         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
5057         sparc/sparc.h.
5058         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
5059         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
5060         Moved here from sparc/sparc.h.
5061         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
5062         defining.
5063         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
5064         * config/sparc/lynx.h:  Don't include lynx.h.
5065         (SELECT_SECTION): Do not undef.
5066         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
5067         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
5068         and sparc/sysv4.h.
5069         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
5070         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
5071         sparc/aout.h now.
5072         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
5073         Don't undef, there is no need.
5074         * config/sparc/splet.h (CPP_PREDEFINES): Define.
5075         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
5076         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
5077         Don't include sparc/sparc.h.
5078         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
5079         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5080         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
5081         elfos.h and svr4.h.
5082         (TARGET_VERSION): Define.
5083         * config/sparc/vxsim.h (TARGET_VERSION): Define.
5084
5085 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
5086
5087         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
5088         (cfg_layout_finalize): Use it.
5089         * bb-reorder.c (HAVE_epilogue): Remove.
5090         (make_reorder_chain): Do not care special placement of
5091         last basic block.
5092
5093         * predict.c (expected_value_to_br_prob): Delete the note
5094         once transformed.
5095
5096         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
5097         measure integration time separately.
5098
5099 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5100
5101         * function.c (struct temp_slot): ALIGN now unsigned.
5102
5103 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5104
5105         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
5106         * config/dsp16xx/dsp16xx.h: Likewise.
5107         * config/dsp16xx/dsp16xx.md: Likewise.
5108
5109 2001-11-14  Kazu Hirata  <kazu@hxi.com>
5110
5111         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
5112         that deals with 7-bit shifts in HImode.
5113
5114 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
5115
5116         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
5117         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
5118         (final_scan_insn): Update call of alter_subreg.
5119         (cleanup_subreg_operands): Likewise.
5120         (alter_subreg): Rewrite using simplify_subreg.
5121         (output_address, output_operand): Update call of alter_subreg.
5122         * output.h (alter_subreg): Update prototype.
5123         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
5124         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
5125         * Makefile.in (final.o): Add dependency on expr.h
5126
5127 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5128
5129         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
5130
5131 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
5132
5133         * doc/install.texi (sparc-*-linux*): Mention requirements for
5134         binutils and glibc.
5135
5136 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5137
5138         * Makefile.in (POD2MAN): Don't include --section=1.
5139         (manext): Rename to man1ext.  All users changed.
5140         (man7ext): New.
5141         (man7dir): New.
5142         (generated-manpages): Also depend on $(docdir)/gfdl.7,
5143         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
5144         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
5145         --section=1 in calls to $(POD2MAN).
5146         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
5147         (maintainer-clean, install, uninstall): Handle the new man pages.
5148         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
5149         (installdirs): Create man7dir.
5150         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
5151         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
5152         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
5153         the SEE ALSO man page section.
5154         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
5155         and fsf-funding(7) in the SEE ALSO man page section.
5156         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
5157         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
5158         * doc/include/fdl.texi, doc/include/funding.texi,
5159         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
5160         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
5161
5162 2001-11-13  Richard Henderson  <rth@redhat.com>
5163
5164         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
5165         as appropriate for the artificial decl.
5166
5167 2001-11-13  Richard Henderson  <rth@redhat.com>
5168
5169         * loop.c (combine_movables): Turn off combination until
5170         move_movables validation bugs are fixed.
5171
5172 2001-11-13  DJ Delorie  <dj@redhat.com>
5173
5174         * config.gcc (powerpc|rs6000): Set default cpp options based
5175         on --with-cpu settings.
5176         * config/rs6000/softfloat.h: New.
5177
5178 2001-11-13  Kazu Hirata  <kazu@hxi.com>
5179
5180         * config/h8300/h8300.c (shift_alg_si): Use special code for
5181         25-bit shifts on H8/S.
5182         (get_shift_alg): Generate special code for 25-bit shifts on
5183         H8/S.
5184
5185 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
5186
5187         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
5188         (adjust_automodify_address_1): New.
5189         * expr.h (adjust_address, adjust_address_nv): Adjust.
5190         (adjust_automodify_address, adjust_automodify_address_nv): Define.
5191         (adjust_address_1): Update prototype.
5192         (adjust_automodify_address_1): Add prototype.
5193         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
5194         (store_by_pieces_2): Likewise.
5195
5196 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5197
5198         * Makefile.in (explow.o): Now depends on ggc.h.
5199         * explow.c (ggc.h): Include.
5200         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
5201
5202         * Makefile.in (expr.o): Depends on insn-attr.h.
5203         * expr.c (insn-attr.h): New include.
5204         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
5205         of MEM.
5206         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
5207         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
5208         clean up related usage in ADDR_EXPR.
5209         (expand_expr_unaligned): Likewise.
5210
5211         * emit-rtl.c (change_address): Fix typo in alias setting.
5212
5213 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5214
5215         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
5216
5217 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5218
5219         PR bootstrap/3451
5220         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
5221         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
5222
5223 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5224
5225         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
5226         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5227         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5228         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5229         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5230         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5231         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5232         sparc64-*-linux*):  Include various CPU headers via tm_file.
5233         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5234         (SELECT_SECTION): Likewise.
5235         (SELECT_RTX_SECTION): Likewise.
5236         * config/sparc/sparc_bi.h: New file.
5237         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5238         * config/sparc/linux-aout.h: Likewise.
5239         * config/sparc/linux.h: Don't include sparc/sysv4.h.
5240         * config/sparc/linux64.h: Likewise.
5241         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5242         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
5243         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5244         and dbxcoff.h
5245         (ASM_OUTPUT_IDENT): Do not #undef.
5246         (SELECT_SECTION): Likewise.
5247         (SELECT_RTX_SECTION): Likewise.
5248         * config/sparc/liteelf.h: Don't include gofast.h.
5249         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5250         * config/sparc/lynx.h: Don't include sparc/sparc.h.
5251         * config/sparc/pbd.h: Likewise.
5252         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5253         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5254         * config/sparc/rtemself.h: Don't include rtems.h.
5255         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5256         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5257         sparc_bi.h instead.
5258         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5259         * config/sparc/sol2.h: Include sparc/sparc.h directly.
5260         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5261         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5262         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5263         * config/sparc/sp86x-elf.h: Don't include gofast.h.
5264         * config/sparc/splet.h: Don't include sparc/aout.h.
5265         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5266         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5267         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5268         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5269         * config/sparc/vxsparc64.h: Don't include gofast.h.
5270         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5271
5272 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5273
5274         * doc/standards.texi: Mention C99 TC1.
5275
5276 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5277
5278         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5279         * mips.c (mips_output_conditional_branch): Likewise.
5280
5281 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5282
5283         * config/h8300/h8300.c (shift_alg_si): Use special code for
5284         15-bit logical shifts and 31-bit logical shifts.
5285         (get_shift_alg): Generate special code for 15-bit and 31-bit
5286         logical shifts.
5287
5288 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5289
5290         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5291         doing 6-bit logical shifts on H8/S.
5292         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5293         (get_shift_alg): Generate special code for 21-bit shifts on
5294         H8/S.
5295
5296 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5297
5298         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5299         label.
5300
5301 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5302
5303         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5304         if both size and offset known.
5305
5306 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5307
5308         * config/ia64/freebsd.h: Fix misspelling.
5309
5310 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5311
5312         * doc/gcc.texi: Move several chapters out to ...
5313         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5314         doc/include/linux-and-gnu.texi, doc/interface.texi,
5315         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5316         ... here.  New files.
5317         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5318         contrib.texi.
5319         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5320
5321 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5322
5323         * config/alpha/alpha-interix.h: Fix comment formatting.
5324         * config/alpha/alpha.c: Likewise.
5325         * config/alpha/alpha.h: Likewise.
5326         * config/alpha/alpha32.h: Likewise.
5327         * config/alpha/freebsd.h: Likewise.
5328         * config/alpha/unicosmk.h: Likewise.
5329         * config/alpha/vms.h: Likewise.
5330
5331 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5332
5333         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5334
5335 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5336
5337         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5338         numbers.
5339
5340 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5341
5342         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5343         from type.
5344         (replace_equiv_address): Call update_temp_slot_address.
5345
5346         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5347
5348         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5349
5350 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5351
5352         * config/h8300/h8300.c (shift_alg_qi): New.
5353         (shift_alg_hi): Likewise.
5354         (shift_alg_si): Likewise.
5355         (get_shift_alg): Change the type of count to unsigned int.
5356         Use the tables.
5357
5358 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5359
5360         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5361         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5362         to decide whether to defer a function.
5363         (finish_function): Adjust.
5364         (c_expand_deferred_function): New function.
5365         * c-lang.c (deferred_fns): New variable.
5366         (c_init): Initialize it, and mark it as a root.
5367         (defer_fn): New function.
5368         (finish_file): Expand all deferred functions.
5369         * c-tree.h (defer_fn): Declare.
5370         (c_expand_deferred_function): Likewise.
5371         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5372         * objc-act.c (deferred_fns): New variable.
5373         (objc_init): Initialize it, and mark it as a root.
5374         (defer_fn): New function.
5375         (finish_file): Expand all deferred functions.
5376
5377 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5378
5379         * alpha.c (unicosmk_special_name): Prototype.
5380         (unicosmk_ssib_name): Delete unused variable.
5381         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5382         * alpha/vms.h (PREFIX): Undef before defining.
5383         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5384         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5385         controlling usage.  Const-ify.
5386         (alias_number): Delete unused variable.
5387         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5388         (m32r_expand_block_move): Fix uninitialized warnings.
5389         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5390         always true' warnings.
5391         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5392         * sh/sh.c: Include "integrate.h".
5393         (output_far_jump): Fix uninitialized warning.
5394         * final.c (shorten_branches): Avoid automatic aggregate
5395         initialization.
5396         * integrate.c (subst_constants): Likewise.
5397
5398 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5399
5400         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5401         (get_shift_alg): Remove redundant code.
5402
5403 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5404
5405         * config/pa/milli64.S: Fix comment formatting.
5406         * config/pa/pa-64.h: Likewise.
5407         * config/pa/pa-linux.h: Likewise.
5408         * config/pa/pa-protos.h: Likewise.
5409         * config/pa/pa.c: Likewise.
5410         * config/pa/pa.h: Likewise.
5411         * config/pa/pa32-linux.h: Likewise.
5412         * config/pa/pa32-regs.h: Likewise.
5413         * config/pa/pa64-hpux.h: Likewise.
5414         * config/pa/pa64-regs.h: Likewise.
5415         * config/pa/som.h: Likewise.
5416
5417 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5418
5419         * doc/gcc.texi: Move several chapters out to ...
5420         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5421         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5422         doc/vms.texi: ... here.  New files.
5423         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5424
5425 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5426
5427         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5428         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5429         collect2.c, combine.c, config.in, configure, configure.in,
5430         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5431         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5432         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5433         spelling errors.
5434
5435 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5436
5437         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5438         Adjust operand number in CONST_DOUBLE.
5439
5440         * expmed.c (extract_bit_field): No longer pass in alignment.
5441         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5442         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5443         Likewise.
5444         * expr.c (store_constructor, store_constructor_field): Likewise.
5445         (store_field, emit_group_load, emit_group_store): Likewise.
5446         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5447         (store_bit_field, extract_bit_field): Likewise.
5448         * calls.c, expr.c, function.c: Change calls to above functions.
5449         * ifcvt.c, stmt.c: Likewise.
5450
5451         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5452         constant and one is on frame.
5453         If know memref offset, adjust size from decl.
5454
5455 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5456
5457         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5458         format specifier warning.
5459         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5460         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5461         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5462         warning.
5463         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5464         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5465         * i386-interix.h (gen_stdcall_suffix): Prototype.
5466         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5467         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5468         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5469         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5470         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5471         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5472         specifier warnings.
5473         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5474         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5475         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5476         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5477         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5478         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5479         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5480         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5481         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5482         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5483         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5484         Likewise.
5485         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5486         Likewise.
5487         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5488         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5489         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5490         Likewise.
5491         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5492         Likewise.
5493         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5494         Likewise.
5495         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5496         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5497         * m68k/news.h (PRINT_OPERAND): Likewise.
5498         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5499         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5500         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5501         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5502         definition.
5503         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5504         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5505         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5506         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5507         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5508         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5509         PRINT_OPERAND): Likewise.
5510         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5511         Likewise.
5512         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5513         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5514         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5515         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5516         * mips.c (mips_output_external_libcall): Mark parameter with
5517         ATTRIBUTE_UNUSED.
5518         (mips_asm_file_start): Move variable into the scope where it's
5519         used.
5520         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5521         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5522         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
5523         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5524         * ns32k.c (print_operand): Likewise.
5525         * pa.c (print_operand, output_div_insn): Likewise.
5526         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
5527         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
5528         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
5529         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5530         specifier warnings.
5531         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5532         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5533         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
5534         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5535         specifier warnings.
5536         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5537
5538         * sdbout.c (sdbout_end_epilogue): Mark parameter with
5539         ATTRIBUTE_UNUSED.
5540         * varasm.c (assemble_global): Likewise.
5541
5542 2001-11-11  H.J. Lu <hjl@gnu.org>
5543
5544         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
5545
5546 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
5547
5548         * final.c (*_MAX_SKIP): Use *_max_skip variables.
5549         * flags.h (align_loops_max_skip, align_jumps_max_skip,
5550         align_labels_max_skip): New global variables.
5551         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
5552         align_labels_max_skip): New global variables.
5553         (toplev_main): Set new variables.
5554         * i386.c (override_options): Set max_skip values.
5555
5556 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
5557
5558         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
5559         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5560         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
5561         don't print an @fptr for labels either.
5562         (xstormy16_output_addr_vec): Don't print @fptr here.
5563         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
5564
5565 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
5566
5567         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
5568         an ANSI/ISO definitino.
5569         (ssa_const_prop): Likewise.
5570
5571 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
5572
5573         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
5574         altivec registers.
5575
5576 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5577
5578         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
5579         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
5580         * cppmain.c (general_init): Call hex_init.
5581         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
5582
5583         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
5584
5585         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
5586         of dgux.c:output_file_start().
5587
5588         * i386/dgux.c: Delete file.
5589
5590 2001-11-09  Richard Henderson  <rth@redhat.com>
5591
5592         * config/alpha/alpha.c (decl_in_text_section): New.
5593         (current_file_function_operand): Use it.
5594         (alpha_encode_section_info, alpha_end_function): Likewise.
5595
5596 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
5597
5598         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
5599         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
5600         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
5601         so OS specific files and use CPP_PREDEFINES for their needs.
5602         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
5603         target headers to tm_file.
5604         * config/ia64/aix.h (TARGET_VERSION): Likewise.
5605         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
5606         * config/ia64/linux.h (TARGET_VERSION): Likewise.
5607         (FUNCTION_PROFILER): Remove.
5608         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
5609         version in config/ia64/linux.h.
5610         * config/ia64/freebsd.h: New file.
5611         * config/freebsd.h: Tidy up.
5612         (_USING_CONFIG_FREEBSD): Define.
5613         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
5614         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
5615         (FBSD_STARTFILE_SPEC): Likewise.
5616         (FBSD_ENDFILE_SPEC): Likewise.
5617         (FBSD_LIB_SPEC): Likewise.
5618         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
5619         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
5620         set an ELF-improper one.
5621
5622 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5623
5624         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
5625         constant can be loaded in a single instruction to a register.  When
5626         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
5627         depdi for insertion of most significant 32-bits on 64-bit hosts.
5628         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
5629         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
5630         * pa.md: New addmove pattern for adding constant_int to HImode
5631         register and moving result to HImode register.  Remove HImode HIGH
5632         and LO_SUM patterns.
5633
5634 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5635
5636         * Makefile.in: Update.
5637         * c-decl.c (print_lang_decl, print_lang_type): Remove.
5638         (print_lang_identifier): Rename c_print_identifier.
5639         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5640         (print_lang_statistics, lang_print_xnode): Remove.
5641         * c-parse.in (set_yydebug): Rename c_set_yydebug.
5642         * c-tree.h (c_set_yydebug, c_print_identifier): New.
5643         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
5644         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
5645         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
5646         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5647         (LANG_HOOKS_INITIALIZER): Update.
5648         * langhooks.h (struct lang_hooks): New members.
5649         (lang_print_tree_hook): New.
5650         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
5651         * print-tree.c: Include langhooks.h.
5652         (print_node): Update.
5653         * toplev.c (decode_d_option): Update.
5654         * tree.c: Include langhooks.h.
5655         (dump_tree_statistics): Update.
5656         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
5657         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
5658 objc:
5659         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
5660         LANG_HOOKS_SET_YYDEBUG): Override.
5661         (lang_print_xnode, print_lang_statistics): Remove.
5662
5663 2001-11-09  Richard Henderson  <rth@redhat.com>
5664
5665         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
5666         on the symbol string.
5667
5668 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5669
5670         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
5671         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
5672         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
5673
5674         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
5675
5676         * tlink.c (recompile_files): Copy strings passed to `putenv'.
5677
5678 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
5679
5680         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
5681         (TYPE_READONLY): Likewise.
5682
5683         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
5684
5685         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
5686         don't pass --gdwarf2 to the assembler if the compiler will also
5687         provide debug info.
5688
5689         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
5690         Don't change INDEX.
5691
5692 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5693
5694         * alias.c (nonoverlapping_memrefs_p): New function.
5695         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
5696
5697         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
5698
5699 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
5700
5701         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
5702         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
5703         generating altivec code.
5704         (FIXED_REGISTERS): VRSAVE is fixed.
5705         (CALL_USED_REGISTERS): VRSAVE is call used.
5706
5707 2001-11-09  Jason Eckhardt  <jle@rice.edu>
5708
5709         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
5710         code the branch target as ".+16/.+12", but rather use labels.
5711
5712 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
5713
5714         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
5715         to work around limitations of certain versions of GAS.
5716
5717         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
5718         (muldi3): Update due to SUBREG_BYTE changes.
5719         (casesi): Similarly.
5720
5721 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
5722
5723         * doc/invoke.texi: Remove comment referring to -xf77-version.
5724
5725 2001-11-09  Kazu Hirata  <kazu@hxi.com>
5726
5727         * config/convex/convex.c: Fix comment formatting.
5728         * config/convex/convex.h: Likewise.
5729
5730 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
5731
5732         * Makefile.in (.po.pox): Look both in srcdir and builddir
5733         for $(PACKAGE).pot.
5734         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
5735         to the source directory.
5736
5737 2001-11-09 Ben Elliston  <bje@redhat.com>
5738            Michael Meissner  <meissner@redhat.com>
5739            Andrew MacLeod  <amacleod@redhat.com>
5740            Richard Henderson  <rth@redhat.com>
5741            Nick Clifton  <nickc@redhat.com>
5742            Catherine Moore  <clm@redhat.com>
5743
5744         * m32r.c: Add support for m32rx processor.
5745         * m32r.h: Ditto.
5746         * m32r.md: Ditto.
5747         * t-m32r: Ditto.
5748         * m32r-protos.h: Add prototypes for m32rx functions.
5749         * doc/invoke.texi: Document -m32rx option.
5750
5751 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5752
5753         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
5754         or after reload.
5755
5756 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5757
5758         * doc/install.texi2html: Use $MAKEINFO --no-split.
5759
5760 2001-11-09  Andreas Schwab  <schwab@suse.de>
5761
5762         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
5763         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
5764         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
5765         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
5766         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
5767
5768 2001-11-09  H.J. Lu <hjl@gnu.org>
5769
5770         * config/mips/mips.c (mips_output_function_prologues): Cast
5771         `tsize' to long for output.
5772
5773 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5774
5775         * c-lang.c (LANG_HOOKS_NAME): New.
5776         (lang_hooks): Constify.
5777         (c_init_options): Update.
5778         (lang_identify): Remove.
5779         * c-parse.in (language_string): Remove.
5780         * dbxout.c: Include langhooks.h.
5781         (dbxout_symbol_location): Update.
5782         * dwarf2out.c: Include langhooks.h.
5783         (gen_compile_unit_die): Update.
5784         * dwarfout.c: Include langhooks.h.
5785         (prototyped_attribute, output_compile_unit_die): Update.
5786         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
5787         (LANG_HOOKS_INITIALIZER): Update.
5788         * langhooks.h (struct lang_hooks): New members.  Constify.
5789         * stringpool.c: Don't include toplev.h.
5790         (set_identifier_size): Remove.
5791         * toplev.c (toplev_main): Initialize identifier size.
5792         (print_version): Update.
5793         * tree.h (language_string, init_lex, lang_identify,
5794         set_identifier_size): Remove.
5795         * Makefile.in: Update dependencies.
5796         * config/darwin.c: Include langhooks.h.
5797         (func_name_maybe_scoped): Update.
5798         * config/darwin.h (ASM_END_FILE): Update.
5799         * config/nextstep.h (ASM_END_FILE): Update.
5800         * config/nextstep21.h (ASM_END_FILE): Update.
5801         * config/i386/sun386.h (ASM_END_FILE): Update.
5802         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
5803         (rs6000_output_function_epilogue): Update.
5804 objc:
5805         * objc-act.c (LANG_HOOKS_NAME): Override.
5806         (struct lang_hooks): Constify.
5807         (objc_init_options): Update.
5808         (lang_identify): Remove.
5809
5810 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
5811
5812         * fold-const.c (lshift_double): Honor PREC.
5813         (rshift_double): Likewise.
5814
5815 2001-11-08  Kazu Hirata  <kazu@hxi.com>
5816
5817         * config/1750a/1750a.c: Fix comment formatting.
5818         * config/1750a/1750a.h: Likewise.
5819
5820 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
5821
5822         * configure.in (--enable-languages): Be more permissive about
5823         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
5824         * configure: Regenerated.
5825
5826 2001-11-08  Richard Henderson  <rth@redhat.com>
5827
5828         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
5829
5830 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
5831
5832         * config.gcc: Rename stormy16 to xstormy16.
5833         * config/stormy16/stormy-abi: Likewise.
5834         * config/stormy16/stormy16-protos.h: Likewise.
5835         * config/stormy16/stormy16.c: Likewise.
5836         * config/stormy16/stormy16.h: Likewise.
5837         * config/stormy16/stormy16.md: Likewise.
5838
5839 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
5840
5841         * tree.h (TYPE_VOLATILE): Add enable-checking code.
5842         (TYPE_READONLY): Likewise.
5843
5844 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5845
5846         * reload1.c (reload): Don't delete equiv insn if can throw.
5847
5848         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
5849         (clear_storage): Likewise, for OBJECT.
5850
5851 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
5852
5853         * pa.c (emit_move_sequence): Fix SUBREG expression to
5854         use proper byte offset when extending a constant from
5855         SImode to DImode.
5856
5857 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5858
5859         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
5860         which cannot throw.
5861
5862 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5863
5864         * explow.c (convert_memory_address, case SUBREG): Only return
5865         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
5866
5867 2001-11-08  Richard Henderson  <rth@redhat.com>
5868
5869         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
5870         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
5871         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
5872
5873 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
5874
5875         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
5876
5877 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5878
5879         * dwarf2out.c (debug_str_hash): New.
5880         (struct indirect_string_node): New.
5881         (struct dw_val_struct): Change type of val_str to it.
5882         (DEBUG_STR_SECTION_FLAGS): Define.
5883         (add_AT_string): Push string into hashtable, increment reference
5884         counter.
5885         (AT_string): Return string from ht_identifier.
5886         (AT_string_form): New.
5887         (free_AT): For dw_val_class_str, just decrement reference counter.
5888         (size_of_string): Remove.
5889         (size_of_die): Use AT_string_form to decide what size the string
5890         occupies in DIE.
5891         (size_of_pubnames): Use strlen instead of size_of_string.
5892         (value_format): Use AT_string_form for dw_val_class_str.
5893         (output_die): Output DW_FORM_strp strings using
5894         dw2_asm_output_offset.
5895         (indirect_string_alloc, output_indirect_string): New.
5896         (dwarf2out_finish): Emit .debug_str strings if there are any.
5897
5898 2001-11-08  Andreas Franck  <afranck@gmx.de>
5899
5900         * configure.in: Add AC_ARG_PROGRAM to support program name
5901         transformation with --program-prefix, --program-suffix and
5902         --program-transform-name.
5903         * configure: Regenerated.
5904         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
5905         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
5906         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
5907         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
5908         program_transform_name the way suggested by autoconf.
5909         (GCC_TARGET_INSTALL_NAME): Define.
5910         (install-driver): Use the transformed target alias name.
5911
5912 2001-11-08  Richard Henderson  <rth@redhat.com>
5913
5914         * config/mips/mips.c (save_restore_insns): Remove GP from the
5915         restore registers mask early instead of special casing it inside
5916         the loop.
5917
5918 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5919
5920         * cp/decl.c (shadow_warning): New function.
5921         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
5922         and an error when a block scope decl shadows a parameter.
5923
5924 2001-11-08  Richard Henderson  <rth@redhat.com>
5925
5926         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
5927         case as well.
5928
5929 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5930
5931         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
5932         to implement floating negation on processors prior to PA 2.0.
5933
5934 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5935
5936         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
5937         (USE_LINKONCE_INDIRECT): Define.
5938         (dw2_output_indirect_constant_1): Try to output indirect constants
5939         into linkonce sections if possible.
5940         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
5941         (dw2_output_indirect_constants): Likewise.
5942
5943 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5944
5945         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
5946
5947 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5948
5949         * c-decl.c (pushdecl): Remove file and line.
5950         * c-typeck.c (pop_init_level): Remove size.
5951
5952 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5953
5954         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
5955         for rs6000.
5956
5957         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
5958         (TARGET_ALTIVEC): New.
5959         (TARGET_SWITCHES): Add altivec.
5960         (FIRST_PSEUDO_REGISTER): Change to 109.
5961         (CALL_USED_REGISTERS): Same.
5962         (FIRST_ALTIVEC_REGNO): New.
5963         (LAST_ALTIVEC_REGNO): New.
5964         (ALTIVEC_REGNO_P): New.
5965         (UNITS_PER_ALTIVEC_WORD): New.
5966         (ALTIVEC_VECTOR_MODE): New.
5967         (FIXED_REGISTERS): Add altivec registers.
5968         (REG_ALLOC_ORDER): Same.
5969         (HARD_REGNO_NREGS): Adjust for altivec registers.
5970         (HARD_REGNO_MODE_OK): Same.
5971         (MODES_TIEABLE_P): Same.
5972         (REGISTER_MOVE_COST): Same.
5973         (REGNO_REG_CLASS): Same.
5974         (reg_class): Add ALTIVEC_REGS.
5975         (REG_CLASS_NAMES): Same.
5976         (REG_CLASS_CONTENTS): Same.
5977         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
5978         (ALTIVEC_ARG_RETURN): New.
5979         (FUNCTION_VALUE): Handle VECTOR_TYPE.
5980         (LIBCALL_VALUE): Handle altivec vector modes.
5981         (VECTOR_MODE_SUPPORTED_P): New.
5982         (ALTIVEC_ARG_MIN_REG): New.
5983         (ALTIVEC_ARG_MAX_REG): New.
5984         (ALTIVEC_ARG_NUM_REG): New.
5985         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
5986         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
5987         (REGISTER_NAMES): Add altivec regs.
5988         (DEBUG_REGISTER_NAMES): Same.
5989         (ADDITIONAL_REGISTER_NAMES): Same.
5990         (rs6000_builtins): New.
5991         (MD_EXPAND_BUILTIN): New.
5992         (MD_INIT_BUILTINS): New.
5993         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
5994         for AltiVec instructions.
5995         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
5996         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
5997         registers.
5998         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
5999         (TARGET_SWITCHES): Add no-altivec.
6000         (DATA_ALIGNMENT): Align vectors to 128 bits.
6001         (TARGET_OPTIONS): Add abi= option.
6002         Add rs6000_abi_string extern.
6003         (LOCAL_ALIGNMENT): New.
6004         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
6005         (MASK_ALTIVEC_ABI): New.
6006         (TARGET_ALTIVEC_ABI): New.
6007         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
6008         call-saved.
6009         (STACK_BOUNDARY): Adjust for altivec.
6010         (BIGGEST_ALIGNMENT): Same.
6011         (rs6000_args): Add vregno.
6012         (USE_ALTIVEC_FOR_ARG_P): New.
6013         (FIXED_REGISTERS): Add vrsave register.
6014         (CALL_USED_REGISTERS): Same.
6015         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
6016         (VRSAVE_REGNO): New.
6017         (reg_class): Add VRSAVE_REGS.
6018         (REG_CLASS_NAMES): Same.
6019         (REG_CLASS_CONTENTS): Same.
6020         (REGNO_REG_CLASS): Same.
6021
6022         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
6023         (ABI_STACK_BOUNDARY): Same.
6024         (BIGGEST_ALIGNMENT): Same.
6025         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
6026         (ROUND_TYPE_ALIGN): Same.
6027
6028         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6029         to 64.
6030
6031         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6032         to 64.
6033
6034         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6035         to 64.
6036
6037         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
6038         (altivec_expand_builtin): New.
6039         (altivec_init_builtins): New.
6040         (TARGET_EXPAND_BUILTIN): New.
6041         (TARGET_INIT_BUILTINS): New.
6042         (rs6000_init_builtins): New.
6043         (struct builtin_description): New.
6044         (bdesc_2arg): New.
6045         (rs6000_reg_names): Add altivec registers.
6046         (alt_reg_names): Same.
6047         (secondary_reload_class): Altivec regs can hold altivec regs and
6048         memory.
6049         (rs6000_emit_move): Force constants into memory for AltiVec moves.
6050         (print_operand): Add 'y' case for printing altivec memory
6051         operands.
6052         (rs6000_legitimize_address): Legitimize vector addresses into
6053         [REG+REG] or [REG].
6054         (altivec_expand_binop_builtin): New.
6055         New string rs6000_current_abi.
6056         (rs6000_override_options): Call rs6000_parse_abi_options.
6057         (rs6000_parse_abi_options): New.
6058         (function_arg_boundary): Vector arguments must be 16
6059         byte aligned.
6060         (function_arg_advance): Handle vector arguments.
6061         (function_arg_partial_nregs): Same.
6062         (init_cumulative_args): Same.
6063         (function_arg): Same.
6064
6065         * config/rs6000/rs6000.md (altivec_lvx): New.
6066         (type): Add altivec attribute.
6067         (movv4si): New.
6068         (*movv4si_internal): New.
6069         (movv16qi): New.
6070         (*movv16qi_internal): New.
6071         (movv8hi): New.
6072         (*movv8hi_internal1): New.
6073         (movv4sf): New.
6074         (*movv4sf_internal1): New.
6075         (altivec_stvx): New.
6076         (vaddubm): New.
6077         (vadduhm): New.
6078         (vadduwm): New.
6079         (vaddfp): New.
6080         (vaddcuw): New.
6081         (vaddubs): New.
6082         (vaddsbs): New.
6083         (vadduhs): New.
6084         (vaddshs): New.
6085         (vadduws): New.
6086         (vaddsws): New.
6087         (vand): New.
6088         (vandc): New.
6089         (vavgub): New.
6090         (vavgsb): New.
6091         (vavguh): New.
6092         (vavgsh): New.
6093         (vavguw): New.
6094         (vavgsw): New.
6095         (vcmpbfp): New.
6096         (vcmpequb): New.
6097         (vcmpequh): New.
6098         (vcmpequw): New.
6099         (vcmpeqfp): New.
6100         (vcmpgefp): New.
6101         (vcmpgtub): New.
6102         (vcmpgtsb): New.
6103         (vcmpgtuh): New.
6104         (vcmpgtsh): New.
6105         (vcmpgtuw): New.
6106         (vcmpgtsw): New.
6107         (vcmpgtfp): New.
6108         (vcmpgefp): New.
6109         (vcmpgtub): New.
6110         (vcmpgtsb): New.
6111         (vcmpgtuh): New.
6112         (vcmpgtsh): New.
6113         (vcmpgtuw): New.
6114         (vcmpgtsw): New.
6115         (vcmpgtfp): New.
6116         (vmaxub): New.
6117         (vmaxsb): New.
6118         (vmaxuh): New.
6119         (vmaxsh): New.
6120         (vmaxuw): New.
6121         (vmaxsw): New.
6122         (vmaxfp): New.
6123         (vmrghb): New.
6124         (vmrghh): New.
6125         (vmrghw): New.
6126         (vmrglb): New.
6127         (vmrglh): New.
6128         (vmrglw): New.
6129         (vminub): New.
6130         (vminsb): New.
6131         (vminuh): New.
6132         (vminsh): New.
6133         (vminuw): New.
6134         (vminsw): New.
6135         (vminfp): New.
6136         (vmuleub): New.
6137         (vmulesb): New.
6138         (vmuleuh): New.
6139         (vmulesh): New.
6140         (vmuloub): New.
6141         (vmulosb): New.
6142         (vmulouh): New.
6143         (vmulosh): New.
6144         (vnor): New.
6145         (vor): New.
6146         (vpkuhum): New.
6147         (vpkuwum): New.
6148         (vpkpx): New.
6149         (vpkuhss): New.
6150         (vpkshss): New.
6151         (vpkuwss): New.
6152         (vpkswss): New.
6153         (vpkuhus): New.
6154         (vpkshus): New.
6155         (vpkuwus): New.
6156         (vpkswus): New.
6157         (vrlb): New.
6158         (vrlh): New.
6159         (vrlw): New.
6160         (vslb): New.
6161         (vslh): New.
6162         (vslw): New.
6163         (vsl): New.
6164         (vslo): New.
6165         (vsrb): New.
6166         (vrsh): New.
6167         (vrsw): New.
6168         (vsrab): New.
6169         (vsrah): New.
6170         (vsraw): New.
6171         (vsr): New.
6172         (vsro): New.
6173         (vsububm): New.
6174         (vsubuhm): New.
6175         (vsubuwm): New.
6176         (vsubfp): New.
6177         (vsubcuw): New.
6178         (vsububs): New.
6179         (vsubsbs): New.
6180         (vsubuhs): New.
6181         (vsubshs): New.
6182         (vsubuws): New.
6183         (vsubsws): New.
6184         (vsum4ubs): New.
6185         (vsum4sbs): New.
6186         (vsum4shs): New.
6187         (vsum2sws): New.
6188         (vsumsws): New.
6189         (vxor): New.
6190
6191 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
6192
6193         * Makefile.in (df.o): Add fibheap.h to dependencies.
6194
6195         * df.h: Add prototypes for transfer functions, iterative_dataflow
6196         functions.
6197         (enum df_flow_dir): New enum.
6198         (enum df_confluence_op): New enum.
6199         (struct df): Add inverse_rts_map.
6200
6201         * df.c: Add sbitmap.h to the list of includes.
6202         (df_rd_global_compute): Removed.
6203         (df_ru_global_compute): Removed.
6204         (df_lr_global_compute): Removed.
6205         (df_rd_transfer_function): New function.
6206         (df_ru_transfer_function): New function.
6207         (df_lr_transfer_function): New function.
6208         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
6209         Use iterative_dataflow_bitmap instead of df_*_global_compute.
6210         (iterative_dataflow_sbitmap): New function.
6211         (iterative_dataflow_bitmap): New function.
6212
6213 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6214
6215         * doc/gcc.texi: Move terminology and spelling conventions to
6216         htdocs/codingconventions.html.
6217
6218 2001-11-07  Graham Stott  <grahams@redhat.com>
6219
6220         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
6221
6222 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6223
6224         * expmed.c (expand_mult): Force operand to register before computing
6225         cost.
6226         * i386.c (x86_decompose_lea): New global vairable.
6227         * i386.h (x86_decompose_lea): Declare.
6228         (TARGET_DECOMPOSE_LEA): New macro.
6229         (RTX_COST): Handle leas properly.
6230
6231 2001-11-06  Richard Henderson  <rth@redhat.com>
6232
6233         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6234         defined for a CONSTRUCTOR; don't check it.
6235
6236 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6237
6238         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6239         test for absolute pathnames.
6240
6241 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
6242
6243         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6244         instructions up to the target pc inclusive.
6245
6246 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
6247
6248         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
6249
6250 2001-11-06  Eric Christopher  <echristo@redhat.com>
6251
6252         * config/mips/mips.md(movdf_internal2): Add constraints for float
6253         to general register move.
6254         * config/mips/elf64.h: Add default ABI.
6255
6256 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6257
6258         * alias.c:: Include langhooks.h.
6259         * emit-rtl.c: Similarly.
6260         * toplev.c: Similarly.
6261         * tree-inline.c: Similarly.
6262         * langhooks-def.h: New, the old langhooks.h.  Give the default
6263         hooks a common prefix.
6264         * langhooks.h: Contents extracted from toplev.h.
6265         * toplev.h: Move langhook stuff to langhooks.h.
6266         * langhooks.c: Give default hooks a common prefix.
6267
6268         * c-lang.c: Include langhooks-def.h.
6269         * objc/objc-act.c: Similarly.
6270         * Makefile.in: Update.
6271         * objc/Make-lang.in: Update.
6272
6273 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6274
6275         * doc/install.texi: Document that configure options not listed in
6276         this file are unsupported.  Document --with-system-zlib.
6277
6278 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6279
6280         * rtl.h (mem_for_const_double): New declaration.
6281         * varasm.c (mem_for_const_double): New function.
6282         * config/convex/convex.md (movdf): Use it.
6283         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6284         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6285         * config/m68k/m68kv4.h: Likewise.
6286
6287         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6288         of new GP reg classes.
6289
6290         * expr.c (store_field): When making temp object for unaligned
6291         component, set it to alias set 0.
6292
6293 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6294
6295         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6296         non-lvalue arrays if C99.
6297         * c-typeck.c (default_conversion): Split out code handling
6298         array-to-pointer and function-to-pointer conversions into a
6299         separate default_function_array_conversion function.
6300         (default_function_array_conversion): New function.  Keep track of
6301         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6302         arrays unchanged outside C99 mode instead of giving an error for
6303         them.
6304         (build_component_ref): Use pedantic_non_lvalue when handling
6305         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6306         (convert_arguments): Use default_function_array_conversion.
6307         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6308         non-lvalues are OK.
6309         (unary_complex_lvalue): Likewise.
6310         (internal_build_compound_expr): Use
6311         default_function_array_conversion.  Apply default conversions to
6312         function in compound expression.
6313         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6314         Use default_function_array_conversion.
6315         * doc/extend.texi: Update documentation of subscripting non-lvalue
6316         arrays.
6317         Fixes PR c/461.
6318
6319 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6320
6321         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6322         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6323         corresponding to the complete set of .po and .gmo files in
6324         the source directory's po subdir, modified by LINGUAS.  Don't
6325         look at ALL_LINGUAS.
6326         * configure.in: Don't set ALL_LINGUAS.
6327         * configure: Regenerate.
6328
6329         * Makefile.in (.po.gmo): Don't move into source directory.
6330         (.po.pox): Clarify comments.
6331         (install-po): Look for .gmo files in both srcdir and objdir;
6332         don't fail if a file is totally missing.
6333         (distclean): rmdir ada subdirectory too.
6334
6335 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6336
6337         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6338         CONSTRUCTORs _correctly_.
6339
6340 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6341
6342         * c-decl.c (delete_block): Remove.
6343         * c-tree.h (delete_block): Remove.
6344
6345 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6346
6347         * cppexp.c (lex, parse_defined): Update warning about defined.
6348
6349 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6350
6351         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6352         CONSTRUCTORs too.
6353
6354 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6355
6356         * config/arm/arm.c (arm_return_in_memory): Cope with
6357         int_size_in_bytes returning -1.
6358
6359         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6360         DECL being NULL.
6361
6362 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6363
6364         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6365         remove unneeded dependencies;
6366         (cfglayout.o): New.
6367         * cfglayout.c, cfglayout.h: New files; break out from ...
6368         * bb-reorder.c: ... here; Remove unneeded includes;
6369
6370 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6371
6372         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6373
6374 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6375
6376         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6377         mode as well.  Do not explicitly create intermediate regs.
6378
6379 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6380
6381         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6382         (common_section): Delete unused variable.
6383         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6384         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6385         * arm-protos.h (arm_poke_function_name, aof_add_import,
6386         aof_delete_import): Const-ify.
6387         * arm.c (legitimize_pic_address): Wrap variables in the macro
6388         controlling their usage.
6389         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6390         (arm_poke_function_name, pic_chain, import, aof_add_import,
6391         aof_delete_import): Const-ify.
6392         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6393         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6394         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6395         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6396         * i860/sysv3.h: Add missing comment closure.
6397         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6398         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6399         to symbolic_operand.
6400
6401         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6402         (i960-*-*): Set tmake_file.
6403         (sparc86x-*-elf*): Fix typo in header name.
6404
6405         * sched-rgn.c (schedule_insns): Delete unused variable.
6406
6407 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6408
6409         PR c/2820
6410         * c-typeck.c (lookup_field): Rework to return a chain down to
6411         the looked-up field.
6412         (build_component_ref): Use the new lookup_field to handle
6413         nested anonymous entities correctly.
6414
6415 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6416
6417         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6418         Change parameters to gen_rtx_CONST_DOUBLE.
6419         (GEN_INT64, sparc_emit_set_const64): Likewise.
6420         * config/sparc/sparc.md (movdf split): Likewise.
6421
6422 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6423
6424         * unroll.c (calculate_giv_inc): Use find_last_value rather
6425         than just hoping the last instruction is the right SET.
6426         [Fixes 990604-1.c on stormy16.]
6427
6428         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6429         library at all if -T is used.
6430
6431         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6432         some uses of uninitialized variables in error cases.
6433
6434         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6435         look at 'temp' if we won't be using it.
6436
6437         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6438         (RTX_COSTS): Define.
6439         (ADDRESS_COST): Define.
6440         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6441
6442         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6443
6444         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6445         stormy16_asm_output_mi_thunk.
6446         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6447         function.
6448         * config/stormy16/stormy16-protos.h
6449         (stormy16_asm_output_mi_thunk): New prototype.
6450
6451 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6452
6453         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6454         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6455         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6456         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6457         sched-int.h, toplev.c, config/alpha/alpha.c,
6458         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6459         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6460         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6461         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6462         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6463         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6464         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6465
6466 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6467
6468         * Makefile.in (dbxout.o): Depend on function.h.
6469         * collect2.c (is_in_list): Hide unused function.
6470         * dbxout.c: Include function.h.
6471         (source_label_number, dbxout_source_line, dbxout_source_file,
6472         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6473         macros controlling usage.
6474         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6475         * output.h (exports_section): Prototype.
6476
6477         * convex.c (convex_output_function_prologue): Fix format specifier
6478         warning.
6479         (asm_declare_function_name): Fix signed/unsigned warning.
6480         (print_operand): Fix format specifier warning.
6481         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6482         * dsp16xx-protos.h (uns_comparison_operator,
6483         num_1600_core_shifts): Prototype.
6484         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6485         (frame_size, frame_pointer_offset): Delete.
6486         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6487         Make static.  Fix format specifier warnings.
6488         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6489         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6490         * dsp16xx.md: Add default case in switches.
6491         * fr30.h (IN_RANGE): Delete.
6492         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6493         * mcore-protos.h (mcore_output_cmov): Const-ify.
6494         * mcore.c (mcore_output_cmov): Likewise.
6495         * mcore.h (switch_to_section): Make static and prototype.
6496         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6497         unsigned>=0 warnings.
6498         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6499         * rs6000-protos.h (read_only_data_section,
6500         read_only_private_data_section): Prototype.
6501         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6502         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6503         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6504
6505 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6506
6507         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6508         ATTRIBUTE_UNUSED.
6509         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6510         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6511         Wrap variable in macros controlling its use.
6512         * output.h (sdata_section): Add prototype.
6513
6514         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6515         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
6516         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
6517         (ASM_FILE_START): Const-ify.
6518         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
6519         specifier warning.
6520         * c4x.md: Don't use the 'U' integer suffix.
6521         * clipper.md (clipper_movstr): Delete declaration.
6522         * d30v-protos.h (d30v_move_2words): Const-ify.
6523         (debug_stack_info): Add prototype.
6524         * d30v.c: Include "integrate.h".
6525         (d30v_function_arg_boundary, d30v_function_arg,
6526         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
6527         signed/unsigned warnings.
6528         (d30v_print_operand_memory_reference, d30v_move_2words):
6529         Const-ify.
6530         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
6531         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
6532         * fr30.md: Const-ify.
6533         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6534         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
6535         (mvs_get_label_page): Hide unused static function.
6536         * i860.c (current_function_original_name): Const-ify.
6537         * i860/sysv3.h (current_function_original_name): Likewise.
6538         * i860/sysv4.h (current_function_original_name): Likewise.
6539         * i960.md: Add default case in switches.  Remove unused variable.
6540         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
6541         * m32r.md: Const-ify.
6542         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
6543         * m68hc11.c: Include "reload.h".
6544         (static_chain_reg, print_options, m68hc11_asm_file_start):
6545         Const-ify.
6546         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
6547         around & in comparison.
6548         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6549         * mn10200.c (shift_mode): Remove trailing comma.
6550         * mn10300-protos.h (output_tst): Const-ify.
6551         * mn10300.c (output_tst): Likewise.
6552         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
6553         warnings.
6554         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
6555         * pa.c (output_ascii): Likewise.
6556         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6557         * pdp11.md (expand_unop): Delete declarations.
6558         * pj-protos.h (pj_output_addsi3): Const-ify.
6559         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
6560         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
6561         unique_src_operand): Add prototypes.
6562         (pj_output_store_into_lval): Make definition static.
6563         (pj_function_incoming_arg): Don't use unary plus.
6564         (pj_output_addsi3): Const-ify.
6565         * romp.md (get_symref): Delete declarations.
6566         * v850-c.c (mark_current_function_as_interrupt): Don't return
6567         value from void function.
6568         * v850.c: Include "integrate.h".
6569         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
6570         * vax-protos.h (const_section): Add prototype.
6571
6572 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
6573
6574         * machmode.def: Add documentation for the seventh argument in
6575         vector modes.
6576
6577 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
6578
6579         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
6580         consistently.
6581         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
6582         <-melf>: Don't have markup for ELF acronym.
6583
6584 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
6585
6586         * config.gcc (mmix-*-*): New target.
6587         * doc/invoke.texi: Document MMIX options.
6588         * doc/contrib.texi: Add note about MMIX port to my entry.
6589         * config/mmix/t-mmix: New file.
6590         * config/mmix/mmix.h: New file.
6591         * config/mmix/mmix-protos.h: New file.
6592         * config/mmix/mmix.c: New file.
6593         * config/mmix/mmix.md: New file.
6594         * config/mmix/crti.asm: New file.
6595         * config/mmix/crtn.asm: New file.
6596
6597 2001-11-03  Kazu Hirata  <kazu@hxi.com>
6598
6599         * config/sparc/linux-aout.h: Fix comment formatting.
6600         * config/sparc/linux.h: Likewise.
6601         * config/sparc/linux64.h: Likewise.
6602         * config/sparc/lynx.h: Likewise.
6603         * config/sparc/pbd.h: Likewise.
6604         * config/sparc/sol2-sld-64.h: Likewise.
6605         * config/sparc/sol2.h: Likewise.
6606         * config/sparc/sparc.c: Likewise.
6607         * config/sparc/sparc.h: Likewise.
6608         * config/sparc/sparc.md: Likewise.
6609         * config/sparc/sunos4.h: Likewise.
6610         * config/sparc/vxsim.h: Likewise.
6611         * config/sparc/vxsparc.h: Likewise.
6612         * config/sparc/vxsparc64.h: Likewise.
6613
6614 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6615
6616         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
6617         reference to CONST_DOUBLE_MEM in comment.
6618         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
6619         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
6620         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
6621         * function.c (pop_function_context_from): Don't call
6622         restore_varasm_status.
6623         * function.h (restore_varasm_status): Delete declaration.
6624         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
6625         * rtl.c: Likewise.
6626         * rtl.def (CONST_DOUBLE): Update comment.
6627         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
6628         (CONST_DOUBLE_CHAIN): Likewise.
6629         (CONST_DOUBLE_MEM): Delete.
6630         (gen_rtx_CONST_DOUBLE): Update parameters.
6631         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
6632         Remove reference to CONST_DOUBLE_MEM.
6633         (const_alias_set): New variable.
6634         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
6635         (immed_real_const_1): Adjust tests for 0, 1, and 2.
6636         Don't set CONST_DOUBLE_MEM.
6637         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
6638         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
6639         Put constant in const_alias_set.
6640         (struct pool_constant): ALIGN now unsigned.
6641         OFFSET now HOST_WIDE_INT.
6642         Delete LABEL.
6643         (restore_varasm_status): Deleted.
6644         (mark_pool_constant): Mark desc->rtl.
6645         (force_const_mem): Rework to store rtl in hash table,
6646         not CONST_DOUBLE_MEM.
6647         Put constant in const_alias_set.
6648         (find_pool_constant): Check desc->rtl.
6649         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
6650         (init_varasm_once): Initialize const_alias_set.
6651
6652         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
6653         force_const_mem.
6654
6655         * reload.c (combine_reloads): Don't combine an output reload if there
6656         are other reloads around for part of the output.
6657
6658         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
6659         constant expression.
6660         (set_mem_decl): New function.
6661         * expr.h (set_mem_decl): New declaration.
6662         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
6663         (output_asm_operand_names): Add tab.
6664         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
6665
6666         * builtins.c (get_memory_rtx): Properly set MEM alias set and
6667         attributes.
6668
6669 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6670
6671         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
6672         Use "invalid" instead of "illegal".  Use @r in comments in
6673         examples.
6674
6675 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6676
6677         * c-decl.c (pushdecl): Move block inside if conditional to remove
6678         possibility of a segfault.  Lookup block-level extern
6679         variables in enclosing scopes correctly.
6680
6681         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
6682
6683 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6684
6685         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
6686         SUBREG so we avoid SUBREGing memory.
6687
6688         * expmed.c (store_bit_field): Same.
6689
6690 2001-11-02  DJ Delorie  <dj@redhat.com>
6691
6692         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
6693         using FP registers for DImode mem-mem moves is acceptable.
6694
6695 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6696
6697         * builtins.c (apply_args_size): Handle vector arguments.
6698         (apply_result_size): Same.
6699
6700         * machmode.def: Set WIDER mode field for all vector entries.
6701
6702 2001-11-02  Graham Stott  <grahams@redhat.com>
6703
6704         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
6705
6706 2001-11-01  Eric Christopher  <echristo@redhat.com>
6707
6708         * config.gcc: Revert part of earlier patch.
6709         * config/mips/linux.h: Ditto.
6710         * df.c: Include tm_p.h to avoid warnings.
6711         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
6712         #if/#endif.
6713         * config/mips/mips.c: Define mips_abi regardless.
6714         (mips_output_function_prologues): Add long casts for .frame
6715         output.
6716         (override_options): Allow use of ABI_32.
6717
6718 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6719
6720         * config/m68hc11/m68hc11.c: Fix comment formatting.
6721         * config/m68hc11/m68hc11.h: Likewise.
6722         * config/m68hc11/m68hc11.md: Likewise.
6723
6724 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6725
6726         * c-typeck.c (default_conversion): Retain the original expression
6727         codes.
6728         * gcc.dg/Wparentheses.c: New tests.
6729
6730 2001-11-01  David S. Miller  <davem@redhat.com>
6731
6732         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
6733         64-bit Sparc description more in line with reality.
6734
6735 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
6736
6737         * Makefile.in (GCOV_OBJS): Add version.o.
6738         * gcov.c: Include "version.h" and <getopt.h>.
6739         (gcov_version_string): Remove.
6740         (print_usage): Take a parameter to determine whether this is a
6741         call from --help or an error message.  Give fuller output that
6742         follows the GNU Coding Standards for --help.
6743         (print_version): New function.
6744         (options): New.
6745         (process_args): Use getopt_long.  Support long options.  Follow
6746         GNU Coding Standards for --help and --version.
6747         * doc/gcov.texi: Document long options.
6748         Addresses part of PR other/704.
6749
6750 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6751
6752         * pa.c (output_move_double): Fix typo in double load.
6753
6754 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6755
6756         * config/h8300/h8300.c (h8300_encode_label): Compute a string
6757         before passing it to ggc_alloc_string.
6758
6759 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6760
6761         * config/m68k/3b1.h: Fix comment formatting.
6762         * config/m68k/3b1g.h: Likewise.
6763         * config/m68k/a-ux.h: Likewise.
6764         * config/m68k/amix.h: Likewise.
6765         * config/m68k/apollo68.h: Likewise.
6766         * config/m68k/atari.h: Likewise.
6767         * config/m68k/aux-exit.c: Likewise.
6768         * config/m68k/ccur-GAS.h: Likewise.
6769         * config/m68k/crds.h: Likewise.
6770         * config/m68k/dpx2.h: Likewise.
6771         * config/m68k/dpx2g.h: Likewise.
6772         * config/m68k/hp310.h: Likewise.
6773         * config/m68k/hp320.h: Likewise.
6774         * config/m68k/isi.h: Likewise.
6775         * config/m68k/linux.h: Likewise.
6776         * config/m68k/lynx.h: Likewise.
6777         * config/m68k/m68k-psos.h: Likewise.
6778         * config/m68k/m68k.c: Likewise.
6779         * config/m68k/m68k.h: Likewise.
6780         * config/m68k/m68k.md: Likewise.
6781         * config/m68k/m68kelf.h: Likewise.
6782         * config/m68k/m68kv4.h: Likewise.
6783         * config/m68k/mot3300.h: Likewise.
6784         * config/m68k/news.h: Likewise.
6785         * config/m68k/next.h: Likewise.
6786         * config/m68k/pbb.h: Likewise.
6787         * config/m68k/plexus.h: Likewise.
6788         * config/m68k/sgs.h: Likewise.
6789         * config/m68k/sun3.h: Likewise.
6790         * config/m68k/tower.h: Likewise.
6791         * config/m68k/vxm68k.h: Likewise.
6792
6793 2001-10-31  DJ Delorie  <dj@redhat.com>
6794
6795         * config/mips/mips.h (mips_cache_flush_func): Prototype.
6796         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
6797         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
6798         * config/mips/mips.c (mips_cache_flush_func): New.
6799         * doc/invoke.texi: Document the new options.
6800
6801 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
6802
6803         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
6804         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
6805
6806         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
6807
6808         * config/cris/cris.c: Include output.h after tree.h but before
6809         target.h.
6810
6811 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
6812
6813         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
6814         (INTL_SUBDIRS): Just intl.
6815         (.SUFFIXES): Add .gmo .po .pox.
6816         (native): Also depend on build-@POSUB@.
6817         (intl.all, intl.install): Depend on config.h and things it includes.
6818         (po-generated): New target; depend on c-parse.c and tradcif.c.
6819         (install-normal): Also depend on install-@POSUB@.
6820         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
6821         (build-, install-, build-po, update-po, install-po,
6822         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
6823
6824         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
6825         * configure.in: Don't munge XGETTEXT.  Don't generate
6826         po/Makefile.in.
6827         * configure: Regenerate.
6828
6829         * exgettext: Delete.
6830         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
6831         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
6832
6833 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6834
6835         * config/h8300/h8300.md (two anonymous patterns): New.
6836
6837 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
6838
6839         * tree.h (tree_index): Add support for V16QI and V8HI.
6840         (V8HI_type_node): New.
6841         (V16QI_type_node): New.
6842
6843         * tree.c (build_common_tree_nodes_2): Same.
6844
6845         * c-common.c (type_for_mode): Same.
6846
6847 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6848
6849         * config/i386/att.h: Fix comment formatting.
6850         * config/i386/beos-elf.h: Likewise.
6851         * config/i386/bsd.h: Likewise.
6852         * config/i386/bsd386.h: Likewise.
6853         * config/i386/crtdll.h: Likewise.
6854         * config/i386/cygwin.asm: Likewise.
6855         * config/i386/cygwin.h: Likewise.
6856         * config/i386/djgpp.h: Likewise.
6857         * config/i386/freebsd-aout.h: Likewise.
6858         * config/i386/freebsd.h: Likewise.
6859         * config/i386/gas.h: Likewise.
6860         * config/i386/i386-interix.h: Likewise.
6861         * config/i386/i386-protos.h: Likewise.
6862         * config/i386/i386.c: Likewise.
6863         * config/i386/i386.h: Likewise.
6864         * config/i386/i386.md: Likewise.
6865         * config/i386/i386elf.h: Likewise.
6866         * config/i386/interix.c: Likewise.
6867         * config/i386/isc.h: Likewise.
6868         * config/i386/isccoff.h: Likewise.
6869         * config/i386/iscdbx.h: Likewise.
6870         * config/i386/linux.h: Likewise.
6871         * config/i386/lynx.h: Likewise.
6872         * config/i386/mingw32.h: Likewise.
6873         * config/i386/netbsd-elf.h: Likewise.
6874         * config/i386/next.h: Likewise.
6875         * config/i386/osf1elf.h: Likewise.
6876         * config/i386/osfrose.h: Likewise.
6877         * config/i386/sco5.h: Likewise.
6878         * config/i386/seq-gas.h: Likewise.
6879         * config/i386/seq-sysv3.h: Likewise.
6880         * config/i386/sequent.h: Likewise.
6881         * config/i386/sol2.h: Likewise.
6882         * config/i386/sun386.h: Likewise.
6883         * config/i386/uwin.asm: Likewise.
6884         * config/i386/uwin.h: Likewise.
6885         * config/i386/vxi386.h: Likewise.
6886         * config/i386/win32.h: Likewise.
6887         * config/i386/winnt.c: Likewise.
6888         * config/i386/xm-cygwin.h: Likewise.
6889         * config/i386/xm-mingw32.h: Likewise.
6890
6891 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6892
6893         * builtins.def: Fix comment typos.
6894         * config/alpha.c: Likewise.
6895         * config/arm/arm.c: Likewise.
6896         * config/avr/avr.h: Likewise.
6897         * config/d30v/d30v.c: Likewise.
6898         * config/d30v/d30v.h: Likewise.
6899         * config/d30v/d30v.md: Likewise.
6900         * config/dsp16xx/dsp16xx.c: Likewise.
6901         * config/fr30/fr30.c: Likewise.
6902         * config/fr30/fr30.md: Likewise.
6903         * config/i386/i386.c: Likewise.
6904         * config/i860/i860.c: Likewise.
6905         * config/i960/i960.c: Likewise.
6906         * config/ia64/ia64.c: Likewise.
6907         * config/mips/mips.c: Likewise.
6908         * config/pa/pa.c: Likewise.
6909         * config/rs6000/rs6000.c: Likewise.
6910         * config/s390/s390.c: Likewise.
6911         * config/sparc/sparc.c: Likewise.
6912
6913 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6914
6915         * config/mips/elf.h: Fix comment formatting.
6916         * config/mips/elf64.h: Likewise.
6917         * config/mips/iris5.h: Likewise.
6918         * config/mips/iris5gas.h: Likewise.
6919         * config/mips/iris6.h: Likewise.
6920         * config/mips/isa3264.h: Likewise.
6921         * config/mips/linux.h: Likewise.
6922         * config/mips/mips.c: Likewise.
6923         * config/mips/mips.h: Likewise.
6924         * config/mips/mips.md: Likewise.
6925         * config/mips/mips16.S: Likewise.
6926         * config/mips/netbsd.h: Likewise.
6927         * config/mips/osfrose.h: Likewise.
6928         * config/mips/r3900.h: Likewise.
6929         * config/mips/sni-svr4.h: Likewise.
6930         * config/mips/svr4-t.h: Likewise.
6931         * config/mips/ultrix.h: Likewise.
6932
6933 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
6934
6935         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
6936         when we update head->current.
6937
6938 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6939
6940         * tree.c (id_string_size): Remove.
6941         (dump_tree_statistics): Update.
6942         * toplev.c (compile_file): If dumping stats, dump tree stats too.
6943
6944 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6945
6946         * sched-rgn.c (schedule_insns): Fix comment.
6947
6948 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
6949
6950         * configure.in: Correct previous change: don't assume that
6951         gas's version number _isn't_ the last thing on the line, or
6952         isn't the only number on the line, either.
6953         * configure: Regenerate.
6954
6955 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6956
6957         * cfgcleanup.c: Fix a comment typo.
6958
6959 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6960
6961         * alias.c: Fix comment formatting.
6962         * recog.c: Likewise.
6963         * config/cris/cris.c: Likewise.
6964         * config/cris/cris.h: Likewise.
6965         * config/i960/i960.c: Likewise.
6966         * config/i960/i960.h: Likewise.
6967
6968 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6969
6970         * config/arm/arm.c: Fix a comment typo.
6971         * config/arm/arm.h: Likewise.
6972         * config/ia64/ia64.c: Likewise.
6973
6974 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
6975
6976         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
6977         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
6978         * rtl.h (set_unique_reg_note): Change return value.
6979         * gcse.c (try_replace_reg): Use set_unique_reg_note.
6980         * cse.c (cse_insn): Likewise.
6981         * expr.c (emit_move_insn): Likewise.
6982         * explow.c (force_reg): Likewise.
6983         * local-alloc (update_equiv_regs): Likewise.
6984         * loop.c (move_moveables, load_mems): Likewise.
6985         * reload (find_reloads): Likewise.
6986
6987 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
6988
6989         Localization fixes.
6990         * c-decl.c (parmlist_tags_warning, start_struct,
6991         check_for_loop_decls): Separate messages for struct, union and
6992         enum cases to allow for languages in which they have different
6993         genders.
6994         * c-format.c (scanf_flag_specs): Separate short and long name of
6995         the assignment suppression feature.
6996         (check_format_types): Localize "pointer" and "different types"
6997         strings.
6998         * c-lex.c (lex_number): Localize "an unsigned long int" and
6999         related strings.
7000         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
7001         warning message.
7002         * c-typeck.c (build_unary_up): Separate messages for increment and
7003         decrement cases to allow for languages in which they use different
7004         articles.  Localize the strings "increment" and "decrement" in one
7005         case.
7006
7007 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
7008
7009         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
7010         when no changes has been made.
7011
7012         * gcse.c (reg_set_bitmap): Turn into reg_set.
7013         (modify_mem_list_set, canon_modify_mem_list_set)
7014         (clear_modify_mem_tables, free_modify_mem_tables): New.
7015         (gcse_main); Use free_modify_mem_tables.
7016         (free_gcse_mem): Likewise; free the bitmaps.
7017         (alloc_gcse_main): Initialize the bitmaps.
7018         (canon_list_insert): Set canon_modify_mem_list_set.
7019         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
7020         (compute_hash_table): Use clear_modify_mem_tables.
7021         (reset_opr_set_tables): Likewise.
7022         (oprs_not_set_p): reg_set_bitmap is regset.
7023         (mark_set, mark_clobber): Likewise.
7024
7025         * df.h (DF_EQUIV_NOTES): New constant.
7026         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
7027         when asked for.
7028
7029         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
7030         (init_regions, schedule_insns): Conditionalize the checking
7031         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
7032
7033 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
7034
7035         * i386.md (movti_rex64 splitter): Fix condition.
7036
7037 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
7038
7039         * configure.in: Do not assume that gas's version number is the
7040         last thing on the first line of as --version output.
7041         * configure: Regenerate.
7042
7043         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
7044         MT_WARNING, MT_ERROR, MT_FATAL.
7045         (main): Call gcc_init_libintl.
7046         (v_message): Call gettext on msgid and "warning: "
7047         * tradcif.y: Include intl.h.
7048         (yyerror): Make parameter definition consistent with
7049         prototype.  Call gettext on msgid argument.
7050
7051 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7052
7053         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
7054         warnings.
7055
7056         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
7057
7058 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7059
7060         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
7061         before referencing it.
7062
7063 2001-10-26  DJ Delorie  <dj@redhat.com>
7064
7065         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
7066         override -G, and force -G0.
7067
7068 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7069
7070         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
7071         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
7072         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
7073         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
7074
7075         * loop.h (struct induction): Rename ext_dependant to
7076         ext_dependent.
7077         * loop.c: Change all uses.
7078         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
7079         All callers changed.
7080         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
7081
7082 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
7083
7084         * c-parse.in (expr_no_commas, primary), c-typeck.c
7085         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
7086
7087 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
7088
7089         Undo assemble_name change in earlier patch.
7090
7091 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
7092
7093         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
7094         determining the type of the receiver, do not check that TREE_CODE
7095         of receiver is CALL_EXPR before calling receiver_is_class_object().
7096         (receiver_is_class_object): For the GNU runtime: recognize
7097         the case that the receiver is self in a class method context.
7098         Check that TREE_CODE of receiver is CALL_EXPR when checking that
7099         the receiver is a call to objc_get_class.
7100
7101 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7102
7103         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
7104
7105 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7106
7107         * Makefile.in (OBJS): Put all files in alphabetical order.
7108
7109         * dwarf2out.c (add_const_value_attribute): Fix error in last
7110         change.
7111
7112 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7113
7114         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
7115         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
7116         fix warning.
7117         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
7118         (life_analysis): call purge_all_dead_edges after deleting noops.
7119         (delete_noop_move): Do not purge CFG.
7120         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
7121
7122 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
7123
7124         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
7125         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
7126         (ASM_GLOBALIZE_LABEL): Use assemble_name.
7127         (ASM_OUTPUT_COMMON): Likewise.
7128         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
7129         (rs6000_output_function_epilogue): Likewise.
7130         (output_mi_thunk): Fix typo.
7131         (rs6000_output_symbol_ref): Use assemble_name.
7132         (output_toc): Likewise.
7133         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
7134         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
7135         assemble_name calls STRIP_NAME_ENCODING.
7136         (ASM_OUTPUT_LABEL): Use assemble_name.
7137         (ASM_GLOBALIZE_LABEL): Likewise.
7138         (ASM_DECLARE_FUNCTION_NAME): Likewise.
7139         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
7140         (ASM_OUTPUT_LOCAL): Likewise.
7141
7142 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7143
7144         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
7145         (expand_builtin_apply, expand_builtin_return): Likewise.
7146         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
7147
7148 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7149
7150         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7151         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
7152         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
7153         configure, configure.in, except.c, except.h, flow.c, function.c,
7154         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
7155         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
7156         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
7157         unroll.c: Fix spelling errors.
7158
7159         * doc/extend.texi, doc/invoke.texi: Fix spelling.
7160
7161         * doc/gcc.texi: Document use of "dependent" and American spelling.
7162
7163 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7164
7165         * expr.c (emit_group_load): Support CONCATs by storing them to memory
7166         and reloading.
7167
7168 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7169
7170         * expr.c (store_constructor_field): Only call adjust_address on MEM.
7171
7172 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7173
7174         * genrecog.c (write_switch):  Output if before switch for
7175         DT_elt_zero_wide_safe.
7176
7177 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7178
7179         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
7180         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
7181         (FUNCTION_PROFILER): Const-ify.
7182         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
7183         (eliminate_constant_term, assemble_name, output_addr_const):
7184         Remove declarations.
7185         (ptr_half_pic_address_p, half_pic_hash): Prototype.
7186         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
7187         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
7188         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
7189         (half_pic_declare, half_pic_external): Const-ify.
7190         * toplev.c: Include "halfpic.h".
7191
7192 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7193
7194         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
7195         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
7196         config/i386/i386.c, config/i386/i386-interix.h,
7197         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
7198         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
7199         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
7200         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
7201         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
7202         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
7203         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
7204         spelling errors.
7205
7206         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7207         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
7208         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
7209         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
7210         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
7211         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
7212         system.h, toplev.c: Fix spelling errors.
7213
7214 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7215
7216         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
7217
7218         * dwarf2out.c (reg_number): Abort if pseudo.
7219         (reg_loc_descriptor): Return 0 if pseudo.
7220         (is_based_loc): Return 0 if pseudo.
7221         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
7222         recursive calls.
7223         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
7224         (loc_descriptor): Return 0 if can't find location and handle 0
7225         return from recursive calls.
7226         (loc_descriptor_from_tree): Likewise.
7227         Fix handling of indirect.
7228         Also return 0 for PLACEHOLDER_EXPR.
7229         Clean up COMPONENT_REF cases.
7230         (add_AT_location_descriptor): Simplify, but handle 0 return from
7231         loc_descriptor.
7232         (add_const_value_attribute): Avoid shift count warning.
7233         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7234         Set comp_unit_die as context if not in function.
7235
7236         * config/mips/mips-protos.h: Break up long lines.
7237         Remove needless #ifdef/#endif blocks.
7238         Don't declare functions declared in file made by genpreds or recog.h.
7239         * config/mips/mips.c (mips_output_function_prologue): TSIZE
7240         is now HOST_WIDE_INT; delete unneeded casts.
7241         * config/mips/mips.h: Don't use #elif.
7242
7243         * expr.c (stor_constructor_field): Always call adjust_address.
7244         Copy TARGET before changing its alias set.
7245         (store_field): Likewise, for TO_RTX.
7246         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7247         replacement.
7248         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7249         (find_placeholder): Return 0 if can't find object.
7250         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7251         returns 0.
7252
7253 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7254
7255         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7256
7257 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
7258
7259         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7260         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7261         (merge_blocks): Properly udpate life after making edge nonfallthru.
7262         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7263
7264 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7265
7266         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7267
7268 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7269
7270         * c-typeck.c (convert_arguments): When comparing for enumeral
7271         type equality, use TYPE_MAIN_VARIANT.
7272         * gcc.dg/Wconversion.c: New tests.
7273
7274 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7275
7276         * s390/s390.c: Fix comment typos.
7277         * s390/s390.h: Likewise.
7278         * s390/s390.md: Likewise.
7279
7280 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7281
7282         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7283         (walk_tree): Use it for tail calls where appropriate.
7284
7285 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7286
7287         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7288         non-local label_refs.
7289
7290 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7291
7292         * config/h8300/h8300.md (4 anonymous patterns): New.
7293
7294 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7295
7296         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7297         algorithm through the shift_info structure.
7298         (emit_a_shift): Update the use of get_shift_alg.
7299
7300 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7301
7302         * sched-rgn.c: Remove bitset typedef.
7303         Change bitset to sbitmap in prototypes / variable types.
7304         Remove bbset_size.
7305         Remove edgeset_bits.
7306         Remove edgeset_size.
7307         s/BITSET_ADD/SET_BIT/g
7308         s/BITSET_INVERT/sbitmap_ones/g
7309         s/BITSET_INTER/sbitmap_a_and_b/g
7310         s/BITSET_UNION/sbitmap_a_or_b/g
7311         s/BITSET_DIFFER/sbitmap_difference/g
7312         s/bitset_member/TEST_BIT/g
7313         (BITSET_*): Removed.
7314         (bitset_member): Removed.
7315         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7316         EXECUTE_IF_SET_IN_SBITMAP.
7317         (split_edges): Rewrite, use sbitmap functions instead of bitset
7318         operations.
7319         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7320
7321 2001-10-26  Andreas Schwab  <schwab@suse.de>
7322
7323         * reload1.c (emit_input_reload_insns): Fix parens in last
7324         (undocumented) change that was supposed to change only whitespace.
7325
7326 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7327
7328         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7329
7330         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7331         ASM_OPERANDS.
7332
7333 2001-10-26  Andreas Jaeger  <aj@suse.de>
7334
7335         * flow.c (clear_log_links): Remove unused variable.
7336         * cfgcleanup.c (cleanup_cfg): Likewise.
7337
7338 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7339
7340         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7341         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7342
7343 2001-10-26  Richard Henderson  <rth@redhat.com>
7344
7345         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7346         rename PV_REG to R27_REG.
7347         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7348         (REG_CLASS_FROM_LETTER): Update.
7349         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7350         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7351         (udivsi3, modsi3, umodsi3): Likewise.
7352         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7353
7354 2001-10-26  Richard Henderson  <rth@redhat.com>
7355
7356         * cfg.c (clear_aux_for_blocks): Split out of ...
7357         (free_aux_for_blocks): here.
7358         (clear_aux_for_edges): Split from ...
7359         (free_aux_for_edges): here.
7360         * basic-block.h: Declare them.
7361         * lcm.c (compute_antinout_edge): Use them.
7362         (compute_laterin, compute_available, compute_nearerout): Likewise.
7363         (optimize_mode_switching): Likewise.
7364
7365 2001-10-26  Richard Henderson  <rth@redhat.com>
7366
7367         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7368         moving everything back to the main build directory.
7369
7370 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7371
7372         * config/i386/cygwin.h: Search target specific include directory, if
7373         appropriate.
7374
7375 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7376
7377         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7378         of macro guards. Fix #endif comment.
7379
7380         * output.h (default_exception_section, default_eh_frame_section):
7381         Move prototypes outside of macro guard.
7382
7383         * crtstuff.c: Fix #endif comment.
7384
7385 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7386
7387         * doc/md.texi (movMM): Clarify semantics of storing into a
7388         non-paradoxical SUBREG.
7389
7390 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7391
7392         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7393         (lang_hook_default_get_alias_set): Move next to other alias
7394         hooks.
7395         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7396         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7397         (LANG_HOOKS_INITIALIZER): Add it.
7398         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7399         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7400         instead of a loop calling poplevel.
7401
7402 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7403
7404         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7405         occurrences of #elif with #if...#endif.
7406
7407 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7408
7409         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7410
7411 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7412
7413         * alias.c (can_address_p): No longer static.
7414         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7415         Return 0 if all parameters are default values.
7416         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7417         (adjust_address_1): Try harder to compute a size.
7418         * expr.c (expand_assignment, store_constructor): If can't address,
7419         set MEM_KEEP_ALIAS_SET_P.
7420         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7421         (store_field): Likewise.
7422         (store_constructor): Simplify call to store_constructor_field.
7423         * expr.h (can_address_p): New declaration.
7424         * gensupport.c (gen_rtx_CONST_INT): New function.
7425         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7426         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7427         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7428
7429         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7430
7431 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7432
7433         * config/i386/cygwin.h: Use proper path for mingw crt files when
7434         -mno-cygwin.
7435
7436 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7437
7438         * dwarf2out.c (file_info_cmp): Always return consistent results.
7439
7440 2001-10-24  Roger Sayle <roger@eyesopen.com>
7441
7442         * stmt.c (expand_end_case): Index jumptables from zero for
7443         suitably small values of minval.
7444
7445 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7446
7447         * stor-layout.c (place_union_field): If any field was aligned with
7448         attribute aligned, set record type's TYPE_USER_ALIGN.
7449         (place_field): Likewise.
7450         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7451         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7452
7453 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7454
7455         * c-common.h (struct c_common_identifier): Remove rid_code field.
7456         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7457
7458         * c-typeck.c (constructor_designated): New local flag.
7459         (struct constructor_stack): Add "designated" field to match.
7460         (start_init): Clear it.
7461         (really_start_incremental_init, push_init_level): Push and
7462         clear it.
7463         (pop_init_level): Pop it.
7464         (set_designator): Set it.
7465
7466         (pop_init_level): Suppress "missing initializer" warnings if
7467         constructor_designated is true.
7468         (process_init_element): Suppress warning about union
7469         initialization under traditional C, if constructor_designated
7470         is true.
7471
7472 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7473
7474         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7475         change.
7476
7477 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7478
7479         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7480
7481 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7482
7483         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7484         the node was already a set to a constant.
7485
7486 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7487
7488         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7489         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7490
7491 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7492
7493         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7494         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7495         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7496         * s390.c (s390_final_chunkify): Don't use string concatenation.
7497         (s390_function_prologue, s390_function_epilogue): Const-ify.
7498         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7499
7500 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7501
7502         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7503         prototypes.
7504
7505 2001-10-23  Stan Shebs  <shebs@apple.com>
7506
7507         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7508         -traditional-cpp in first-stage compilation.
7509
7510 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7511
7512         * gensupport.c (target_flags): Add.
7513
7514 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7515
7516         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
7517         if needed.
7518         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
7519         * except.c (expand_builtin_frob_return_addr): Likewise.
7520         (expand_builtin_eh_return): Likewise.
7521         * stmt.c (expand_computed_goto): Likewise.
7522         * explow.c (memory_address): Likewise.
7523         (allocate_dynamic_stack_space): Clean up predicate testing.
7524         (probe_stack_range): Convert SIZE to Pmode.
7525         * calls.c (rtx_for_function_call): Only call convert_memory_address
7526         if needed.
7527         Pass function call operand as ptr_mode, not Pmode.
7528         * expr.c (expand_assignment): Clean up calls to convert_memory
7529         address by only doing so when needed and making offsets Pmode.
7530         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
7531         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
7532         is in Pmode, not ptr_mode.
7533
7534 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7535
7536         * darwin-protos.h (constructor_section, destructor_section,
7537         mod_init_section, mod_term_section): Prototype.
7538         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
7539         Const-ify.
7540         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
7541         Likewise.
7542         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
7543         objc_section_init declaration.
7544         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
7545         (objc_section_init, try_section_alias): Make static.
7546         (alias_section): Make static and hide unused function.
7547         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
7548
7549 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7550
7551         * alias.c (can_address_p): Compnonents are not addressable if
7552         the containing type has alias set 0.
7553         (get_alias_set): Rework to use STRIP_NOPS.
7554         Only call front-end routine on object, type, or object with
7555         NOPs stripped, not inner values.
7556         Use language hook to call front-end routine.
7557         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
7558         (expand_builtin_apply): Call set_mem_align on MEMs we make.
7559         Don't pass alignment to emit_block_move.
7560         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
7561         (expand_builtin_memset): Likewise, but for clear_storage.
7562         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
7563         and remove C++ specific parts.
7564         * c-common.h (c_common_get_alias_set): Add declaration.
7565         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
7566         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
7567         (save_fixed_argument_area): Call set_mem_align.
7568         Remove alignment in call to emit_block_move.
7569         (emit_library_call_value_1, store_one_arg): Likewise.
7570         (target_for_arg): Remove; disabled long ago.
7571         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
7572         once and similar cleanups.
7573         (offset_address): Use proper introductory comment.
7574         * expr.c (emit_block_move): Use alignment from that of MEM args, not
7575         from explicit operand; all callers changed.
7576         (clear_storage): Likewise.
7577         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
7578         (store_field): Remove kludge on alias set used for to_rtx.
7579         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
7580         (expand_expr_unaligned): Call set_mem_attributes instead of
7581         set_mem_alias_set.
7582         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
7583         * function.c (assign_stack_temp_for_type): Set MEM alignment.
7584         (expand_function_end): Track MEM attributes of trampolines.
7585         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
7586         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
7587         attributes from original.
7588         * langhooks.c (lang_hook_default_get_alias_set): New function.
7589         (hook_get_alias_set_0): New function.
7590         * langhooks.h (hook_get_alias_set_0): New declaration.
7591         (lang_hook_default_get_alias_set): Likewise.
7592         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
7593         * reload1.c (alter_reg): Use adjust_address_nv.
7594         * rtl.c (get_mode_alignment): Moved to here.
7595         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
7596         change default if unknown from 1 to BITS_PER_UNIT.
7597         * stor-layout.c (get_mode_alignment): Remove from here.
7598         * toplev.h (struct lang_hoks): Add get_alias_set field.
7599         * tree.h (lang_get_alias_set): Delete declaration.
7600         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
7601         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
7602         (ix86_va_arg): Likewise.
7603         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
7604         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
7605         * config/sparc/sparc.c (sparc_va_arg): Likewise.
7606         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
7607         (expand_block_move_mem): Remove dead code.
7608
7609 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7610
7611         * c-common.c (warn_div_by_zero): New.
7612         * c-common.h (warn_div_by_zero): New.
7613         * c-decl.c (c_decode_option): Take it on the command line.
7614         * c-typeck.c (build_binary_op): Warn about division by zero.
7615         * doc/invoke.texi: Document the new command line option, fix
7616         documentation of -Wmultichar.
7617         * testsuite/gcc.dg/divbyzero.c: New tests.
7618         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
7619
7620 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7621
7622         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
7623
7624         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
7625         to avoid update_life_info call.
7626         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
7627         * cfgcleanup.c (bb_flags): New enum.
7628         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
7629         (notice_new_block, update_forwarder_flag): New functions.
7630         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
7631         (try_forward_edges): Likewise; update flags.
7632         (merge_blocks): Likewise.
7633         (outgoing_edges_match): Likewise.
7634         (try_crossjump_to_edge): Likewise.
7635         (try_optimize_cfg): Likewise; initialize and clear the flags;
7636         recompute life info if needed.
7637         (cleanup_cfg): No need to clear aux pointers.
7638
7639 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
7640
7641         * config/i386/i386.c (override_options): Default to minimum
7642         stack alignment when optimizing for code size.
7643         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
7644         change.
7645
7646         * config/i386/i386.c (override_options): Set upper limit of
7647         -mpreferred-stack-boundary to 12.
7648
7649 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
7650
7651         * recog.c (peephole2_optimize): Add default case to switch.
7652
7653 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7654
7655         * doc/gcc.texi (Sending Patches): Remove.
7656
7657 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
7658
7659         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
7660         fields when comparing.
7661
7662 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7663
7664         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
7665         * arm.c (HOST_INT, HOST_UINT): Likewise.
7666
7667 2001-10-22  Stan Shebs  <shebs@apple.com>
7668
7669         * config/darwin-protos.h (darwin_exception_section): Declare.
7670         (darwin_eh_frame_section): Declare.
7671
7672 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
7673
7674         * i386.md (movti_rex64): Fix mode.
7675
7676 2001-10-22  Stan Shebs  <shebs@apple.com>
7677
7678         * target.h (struct gcc_target): Add asm_out.exception_section,
7679         asm_out.eh_frame_section.
7680         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
7681         (TARGET_ASM_EH_FRAME_SECTION): New.
7682         (TARGET_INITIALIZER): Update.
7683         * output.h (default_exception_section): Declare.
7684         (default_eh_frame_section): Declare.
7685         * dwarf2out.c: Include target.h.
7686         (output_call_frame_info): Call target hook for eh frames.
7687         (default_eh_frame_section): New function.
7688         * except.c: Include target.h.
7689         (output_function_exception_table): Call target hook for exception
7690         section.
7691         * varasm.c (default_exception_section): Rename from
7692         exception_section, remove EXCEPTION_SECTION macro.
7693
7694         * config/darwin.h (darwin_eh_frame_section): New function.
7695         (EXCEPTION_SECTION): Remove.
7696         (TARGET_ASM_EXCEPTION_SECTION): Define.
7697         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
7698         (nextstep_exception_section): New function.
7699         (nextstep_eh_frame_section): New function.
7700         (TARGET_ASM_EXCEPTION_SECTION): Define.
7701         (TARGET_ASM_EH_FRAME_SECTION): Define.
7702
7703         * config/pa/som.h (EXCEPTION_SECTION): Remove.
7704         (TARGET_ASM_EXCEPTION_SECTION): Define.
7705         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
7706         (EXCEPTION_SECTION): Remove.
7707         (TARGET_ASM_EXCEPTION_SECTION): Define.
7708         * config/stormy16/stormy16.h: Remove comments referencing
7709         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
7710
7711         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
7712         TARGET_ASM_EH_FRAME_SECTION.
7713
7714 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
7715
7716         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
7717         terms.
7718
7719         * c-format.c: Fix spelling typo in comment.
7720
7721         * sched-int.h: Fix typo in GCC preamble.
7722
7723 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7724
7725         PR debug/4252
7726         * doc/invoke.texi: Remove references to -fdump-translation-unit.
7727
7728 2001-10-22  Richard Henderson  <rth@redhat.com>
7729
7730         * config/i386/i386.c (ix86_expand_clear): New.
7731         * config/i386/i386-protos.h: Declare it.
7732         * config/i386/i386.md (setcc peep2s): Use it.
7733         (movsi_xor): Unexport.
7734
7735 2001-10-22  Richard Henderson  <rth@redhat.com>
7736
7737         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
7738         free_EXPR_LIST_list for LOG_LINKS.
7739
7740 2001-10-21  Robert Lipe  <robertlipe@usa.net>
7741
7742         * config/i386/i386.c (sco_asm_named_section): Delete.
7743         (sco_asm_out_constructor): Delete.
7744         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
7745         (ASM_OUTPUT_DOUBLE_INT): Likewise.
7746         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
7747         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
7748         (EXCEPTION_SECTION): Delete EH scn renaming hack.
7749
7750 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7751
7752         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
7753         and/or fold extra calls into fewer ones.
7754         * collect2.c (dump_file): Likewise.
7755         * cppexp.c (parse_number): Likewise.
7756         * cpplex.c (_cpp_lex_direct): Likewise.
7757         * final.c (output_asm_insn, asm_fprintf): Likewise.
7758         * fix-header.c (inf_scan_ident, main): Likewise.
7759         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
7760         Likewise.
7761         * fold-const.c (real_hex_to_f): Likewise.
7762         * gen-protos.c (parse_fn_proto): Likewise.
7763         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
7764         * genrecog.c (change_state, write_action): Likewise.
7765         * gensupport.c (shift_output_template): Likewise.
7766         * local-alloc.c (requires_inout): Likewise.
7767         * mips-tfile.c (IS_ASM_IDENT): Likewise.
7768         * protoize.c (is_id_char, main): Likewise.
7769         * real.c (asctoeg): Likewise.
7770         * recog.c (asm_operand_ok): Likewise.
7771         * reload.c (find_reloads): Likewise.
7772         * scan.c (scan_identget_token): Likewise.
7773         * sched-vis.c (print_value): Likewise.
7774         * stringpool.c (ggc_alloc_string): Likewise.
7775         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
7776         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
7777         * tradcpp.c (rescan): Likewise.
7778         * tree.c (clean_symbol_name): Likewise.
7779         * varasm.c (decode_reg_name): Likewise.
7780
7781         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
7782         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
7783         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
7784         * m88k.c (output_ascii): Likewise.
7785         * m88k.h (OVERRIDE_OPTIONS): Likewise.
7786         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
7787         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
7788         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
7789
7790 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7791
7792         * langhooks.c (lang_hook_default_do_nothing,
7793         lang_hook_default_decode_option): New defaults.
7794         * langhooks.h: Make hooks unconditional and non-NULL.
7795         * toplev.c (compile_file, toplev_main): Update.
7796         * toplev.h: Update comments.
7797         * objc/objc-act.c (lang_hooks): Update to new paradigm.
7798
7799 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7800
7801         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
7802
7803         * system.h (IN_RANGE): New macro.
7804
7805 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
7806
7807         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
7808         INTLDEPS variable, which does not include $LIBICONV.
7809         * Makefile.in: Use INTLDEPS in LIBDEPS.
7810         * configure: Regenerate.
7811
7812 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7813
7814         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
7815         * cpplex.c (lex_percent, lex_dot): Remove.
7816         (get_effective_char, skip_block_comment, skip_line_comment,
7817         parse_identifier_slow, parse_number, parse_string, save_comment,
7818         _cpp_lex_direct): Update to do lookback freely.
7819         (IF_NEXT_IS, BACKUP): New macros.
7820         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
7821         * cppmacro.c (paste_tokens): Update.
7822
7823 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
7824
7825         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
7826
7827 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
7828
7829         * reload1.c (reload): Check CONSTANT_P before calling
7830         LEGITIMATE_PIC_OPERAND_P.
7831         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
7832         workaround of 2001-10-13.
7833
7834 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
7835
7836         * i386.c (split_di): Handle splitting of DFmode.
7837
7838 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7839
7840         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
7841         (adjust_address_1, offset_address): Likewise.
7842
7843         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
7844         (output_asm_insn): Call it for each line output.
7845         Don't record an operand more than once.
7846
7847         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
7848         * main.c: Include config.h and system.h, but not ansidecl.h.
7849         * Makefile.in (main.o): Update accordingly.
7850
7851 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7852
7853         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
7854
7855 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7856
7857         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
7858         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
7859         Break out from ...
7860         (find_sub_basic_blocks): ... here;
7861         (find_many_sub_basic_blocks): New.
7862         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
7863
7864         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
7865
7866         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
7867
7868         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
7869
7870         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
7871         * flow.c (update_life_info): Measure time.
7872         * c-decl.c: Include timevar.h
7873         (c_expand_body): Measure time.
7874         * toplev.c (rest_of_compilation): Measure time of mode switching
7875         separately.
7876         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
7877
7878         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
7879         (lang_independent_options): Add asynchronous-unwind-tables
7880         (toplev_main): flag_asynchronous_unwind_tables implies
7881         flag_unwind_tables.
7882         * flags.h (flag_asynchronous_unwind_tables): Declare.
7883         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
7884         flag_asynchronous_unwind_tables.
7885         (output_call_frame_info): Likewise.
7886         * invoke.texi (-fasynchronous-unwind-tables): Document.
7887         * i386.c (optimization_options): Enable
7888         flag_asynchronous_unwind_tables.
7889
7890         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
7891         * i386.md (s* expanders): Destination is QImode.
7892
7893         * toplev.c (rest_of_compilation): Do not call clear_log_links.
7894         * rtl.h (clear_log_links): Kill.
7895         * flow.c (clear_log_links): Make static; accept blocks parameter;
7896         do no clear life info.
7897         (update_life_info): Call clear_log_links.
7898
7899         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
7900
7901 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7902
7903         * cpplex.c (handle_newline, skip_escaped_newlines,
7904         get_effective_char, skip_block_comment, skip_line_comment,
7905         parse_identifier_slow, parse_number, parse_string,
7906         _cpp_lex_direct): Update to do more stepping back.
7907         (trigraph_ok): Similarly.  Rename trigraph_p.
7908         (SAVE_STATE, RESTORE_STATE): Remove.
7909         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
7910
7911         * cpplib.c (destringize): Rename destringize_and_run, and
7912         call run_directive directly.
7913         (_cpp_do__Pragma): Simplify.
7914
7915 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7916
7917         * pe.c (arm_pe_unique_section): Const-ify.
7918         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7919         (switch_to_section): Add static prototype.
7920
7921         * output.h (drectve_section): Prototype.
7922
7923 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7924
7925         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
7926         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
7927         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
7928         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
7929         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
7930         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
7931         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
7932         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
7933         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
7934         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
7935         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
7936         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
7937         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
7938         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
7939         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
7940         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
7941         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
7942         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
7943         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
7944         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
7945         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
7946         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
7947         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
7948         cris-*-none, cris-*-linux*: Update ${tmfile} list.
7949         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
7950         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
7951         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
7952         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
7953         v850-*-*): Delete superflous ${cpu_type} setting.
7954         * config/linux.h: Delete svr4.h include.
7955         (SET_ASM_OP): Delete.
7956         * config/netware.h (INT_ASM_OP): Undef before define.
7957         * config/ptx4.h: Delete elfos.h include.
7958         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
7959         * config/svr4.h: Delete elfos.h include. Update commentary.
7960         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
7961         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
7962         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
7963         config/v850/v850.h: Delete svr4.h include.
7964         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
7965         config/m68k/m68kv4.h, config/m88k/sysv4.h,
7966         config/sparc/sysv4.h: Update includes.
7967         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
7968         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
7969         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
7970         config/m88k/dguxbcs.h: Delete includes.
7971         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
7972         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
7973         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
7974         it.
7975         * config/m88k/dgux.h: Delete include.
7976         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
7977         defining it.
7978         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
7979         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
7980         * config/sh/elf.h: Update include.
7981         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
7982         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
7983
7984 2001-10-19  Catherine Moore  <clm@redhat.com>
7985
7986         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
7987         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
7988         base and count fields.
7989         (stormy16_expand_builtin_va_start):  last_reg_count changed to
7990         size_of_reg_args.  Use count + size in first comparison.
7991
7992 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7993
7994         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
7995         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
7996         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
7997         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
7998         Set alignment from type if INDIRECT_REF.
7999         (adjust_address_1, offset_address): Simplify alignment compuitation.
8000         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
8001         here; done by set_mem_attributes.
8002
8003 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8004
8005         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
8006         * arm-protos.h (rdata_section, zero_init_section, common_section):
8007         Prototype.
8008         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
8009         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
8010         traditional mode stringification.
8011         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
8012         in macros controling its use.
8013         * rtlanal.c: Include tm_p.h.
8014         * varasm.c (asm_output_aligned_bss): Mark parameter with
8015         ATTRIBUTE_UNUSED.
8016         (assemble_constant_align, assemble_start_function, assemble_align,
8017         assemble_variable, assemble_trampoline_template,
8018         output_constant_def_contents): Wrap potentially empty if-stmt body
8019         in brackets.
8020
8021 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8022
8023         * a29k-protos.h (literal_section): Prototype.
8024         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
8025         * a29k.md: Ensure function pointers are prototyped.
8026         * genattrtab.c (write_eligible_delay): Mark parameter with
8027         ATTRIBUTE_UNUSED.
8028
8029 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8030
8031         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
8032         * 1750a.c (print_operand): Fix format specifier warning.
8033         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
8034         * 1750a.md: Likewise.
8035         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
8036         * genemit.c (output_add_clobbers): Mark parameter with
8037         ATTRIBUTE_UNUSED.
8038         * genrecog.c (write_subroutine): Likewise.
8039         * integrate.c (expand_inline_function): Delete unused variable.
8040         * varasm.c (remove_from_pending_weak_list): Wrap with
8041         ASM_WEAKEN_LABEL.
8042
8043 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
8044
8045         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
8046         field is different to previous argument's neg field.
8047
8048         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
8049
8050 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8051
8052         * final.c (get_decl_from_op): New function.
8053         (output_asm_insn): Call it; write "*" when item with decl is address.
8054
8055 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
8056
8057         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
8058         about 64-bit support from the 3.0_branch version.
8059
8060 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
8061
8062         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
8063         USE_INCLUDED_LIBINTL when appropriate.
8064         * configure, config.in: Regenerate.
8065         * Makefile.in (datadir): Set to @datadir@.
8066         (intl.o): Also depend on $(CONFIG_H) and system.h.
8067
8068         * intl.c: Factor out common gettext initialization sequence.
8069         (gcc_init_libintl):  New function.
8070         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
8071         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
8072         off NLS.  Add multiple include guard.  No need to #ifdef-guard
8073         an #undef.  Prototype gcc_init_libintl here.
8074
8075         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
8076         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
8077         Use gcc_init_libintl.
8078
8079 2001-10-19  Catherine Moore  <clm@redhat.com>
8080
8081         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
8082
8083         * config/stormy16/stormy16.c (stormy16_split_move):  Make
8084         sure that REG_INC notes are present for auto_inc operands.
8085
8086 2001-10-19  Andreas Jaeger  <aj@suse.de>
8087
8088         * configure: Regenerated.
8089         * configure.in: Add x86_64 to switch statements.
8090
8091 2001-10-18  Richard Henderson  <rth@redhat.com>
8092
8093         * config/alpha/alpha.md (sibcall_osf_1): Load destination
8094         address into $27 explicitly.
8095         (sibcall_value_osf_1): Likewise.
8096
8097 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8098
8099         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
8100         (offset_address): New function.
8101         (free_emit_status): Free regno_decl.
8102         (init_emit): Pass proper number of elements to xcalloc.
8103         Allocate regno_decl.
8104         (mark_emit_status): Mark regno_decl values.
8105         * expr.c (highest_pow2_factor): New function.
8106         (expand_assigment): Use it and offset_address.
8107         Properly handle ptr_mode vs. Pmode in offset calculation.
8108         (store_constructor, expand_expr_unaligned): Likewise.
8109         (expand_expr, case COMPONENT_EXPR): Likewise.
8110         * expr.h (offset_address): New decl.
8111         * function.h (struct emit_status): Add regno_decl.
8112         (REGNO_DECL): New macro.
8113         * final.c (output_asm_name): Move in file and don't conditionalize
8114         on flag_print_asm_name.
8115         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
8116         Output names of operands, if known.
8117         * function.c (assign_parms): Set REGNO_DECL.
8118         * integrate.c (integrate_decl_tree): Likewise.
8119         * stmt.c (expand_decl): Likewise.
8120         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
8121
8122 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
8123
8124         * attribs.c (handle_noinline_attribute): New function.
8125         (handle_used_attribute): Likewise.
8126         (c_common_attribute_table): Added noinline and used.
8127         * doc/extend.texi (Function Attributes): Document them.
8128         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
8129         Warn when merging inline with attribute noinline.
8130         (start_decl, start_function): Warn if inline and attribute
8131         noinline appear in the same declaration.
8132
8133 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
8134
8135         * config.gcc: Update c4x and i370 for C front end-specific
8136         dependencies.
8137         * config/c4x/c4x-c.c: New.
8138         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
8139         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8140         New declarations.
8141         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
8142         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8143         Make extern.
8144         (c4x_init_pragma): Remove.
8145         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
8146         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
8147         c4x_pr_ignored): Move to c4x-c.c.
8148         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
8149         * config/c4x/t-c4x: Update.
8150         * config/i370/i370-c.c: New.
8151         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
8152         (i370_pr_map): Move to i370-c.c.
8153         * config/i370/t-i370: New.
8154
8155         * doc/tm.texi: Update.
8156
8157 2001-10-17  Stan Shebs  <shebs@apple.com>
8158
8159         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
8160         typo fixes throughout.
8161         (machopic_output_stub): Remove some dead code.
8162
8163 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
8164
8165         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
8166         leak.
8167
8168 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8169
8170         * Makefile.in (print-rtl.o): Depend on TREE_H.
8171         * alias.c (get_alias_set): Make two passes over objects to first
8172         see if inner object is access via restricted pointer.
8173         Defer allocating alias set for restricted pointer until here.
8174         Call find_placeholder with second arg nonzero.
8175         Minor cleanups.
8176         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
8177         set for restricted pointer types.
8178         * emit-rtl.c (set_mem_attributes): Set more attributes.
8179         (set_mem_align, change_address, adjust_address_1): New functions.
8180         (change_address_1): Now static.
8181         (adjust_address, adjust_address_nv): Deleted.
8182         (replace_equiv_address): Call change_address_1.
8183         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
8184         (find_placeholder): Get starting point from PLIST arg.
8185         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
8186         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
8187         (adjust_address, adjust_address_nv): New macros.
8188         * print-rtl.c (tree.h): New include.
8189         (print_rtx, case MEM): Print all memory attributes.
8190
8191 2001-10-17  Richard Henderson  <rth@redhat.com>
8192
8193         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
8194
8195 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8196
8197         * c-tree.texi: Eliminate duplicated word.
8198         * cpp.texi: Likewise.
8199         * install.texi: Likewise.
8200         * invoke.texi: Likewise.
8201         * tm.texi: Likewise.
8202
8203 2001-10-17  Michael Collison  <collison@isisinc.net>
8204
8205         * dsp16xx.c: Fix comment formatting to match GNU standards.
8206         (dsp16xx_output_function_prologue): Change type of 'size'
8207         parameter from 'int' to HOST_WIDE_INT.
8208         (dsp16xx_output_function_epilogue): Change type of 'size'
8209         parameter from 'int' to HOST_WIDE_INT.
8210
8211 2001-10-16  Richard Henderson  <rth@redhat.com>
8212
8213         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
8214         * configure, config.in: Rebuild.
8215
8216         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
8217         (ix86_output_addr_diff_elt): New.
8218         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
8219         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8220         (JUMP_TABLES_IN_TEXT_SECTION): New.
8221         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
8222         * config/i386/i386-protos.h: Update.
8223
8224         * config/i386/386bsd.h, config/i386/beos-elf.h,
8225         config/i386/freebsd-aout.h, config/i386/freebsd.h,
8226         config/i386/i386-interix.h, config/i386/i386elf.h,
8227         config/i386/linux.h, config/i386/netbsd-elf.h,
8228         config/i386/netbsd.h, config/i386/openbsd.h,
8229         config/i386/ptx4-i.h, config/i386/rtemself.h,
8230         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8231         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8232
8233 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
8234
8235         * stmt.c (expand_asm_operands): Update commentary.
8236
8237 2001-10-16  Stan Shebs  <shebs@apple.com>
8238
8239         * config/darwin.h (GCC_NAME): Remove, no longer used.
8240         (NO_MATH_LIBRARY): Ditto.
8241         (MATH_LIBRARY): Define to emptiness.
8242         (DWARF2_DEBUGGING_INFO): Define.
8243         (PREFERRED_DEBUGGING_TYPE): Define.
8244         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8245         (EXCEPTION_SECTION): Define.
8246         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8247         * config/darwin.c (darwin_encode_section_info): Handle case of
8248         DECL_INITIAL being error_mark_node.
8249
8250 2001-10-16  Richard Henderson  <rth@redhat.com>
8251
8252         * alpha.c (current_file_function_operand): Don't fail for profiling.
8253         (direct_call_operand): New.
8254         * alpha-protos.h: Declare it.
8255         * alpha.h (EXTRA_CONSTRAINT): Use it.
8256         (PREDICATE_CODES): Add it.
8257         (ASM_OUTPUT_MI_THUNK): Remove.
8258         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8259         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8260
8261 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
8262
8263         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8264         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8265
8266 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8267
8268         * cfg.c (free_edge): Break out from ....
8269         (remove_edge): ... here.
8270         (clear_edges): Use free_edge.
8271
8272         * att.h (ASM_QUAD): Add comment.
8273         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8274
8275 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8276
8277         * i386.c (split_ti): New function.
8278         (ix86_split_to_parts): Support TImodes.
8279         * i386.h (VALID_INT_MODE_P): Add TImode.
8280         * i386.md (movdi splitter): Fix.
8281         (movti): Support 64bit integer registers.
8282         (movti_rex64): New function and splitter.
8283
8284         * i386.c (*_cost): Add movsx/movzx cost.
8285         * i386.h (struct processor_costs): Add movsx/movzx fields.
8286         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8287         64bit operations require split on 64bit machine.
8288         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8289
8290         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8291         (ix86_expand_move): Avoid pushes of memory if size does not match;
8292         move long constants to register.
8293         (x86_initialize_trampoline): Fix mode.
8294         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8295         Use ASM_QUAD on 64bit.
8296         * i386.md (test pattern): Disallow impossible constants.
8297         (tablejump PIC expander): Fix emitting of sum.
8298         (movdicc_rex64): Rename to movdicc.
8299         * linux64.h (LINK_SPEC): Add missing '%'.
8300
8301 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8302
8303         * tree-inline.c (inlinable_function_p): Leave it up to the
8304         front-end to turn -finline-functions into DECL_INLINE set for all
8305         functions.
8306
8307 2001-10-16  Stan Shebs  <shebs@apple.com>
8308
8309         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8310
8311 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8312
8313         * recog.c: Formatting and comment typo fixes.
8314
8315         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8316         version in single tree build.
8317         * configure: Regenerate.
8318
8319 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8320
8321         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8322         MODE arguments to gen_rtx and compare operand with const0_rtx.
8323
8324 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8325
8326         * system.h: Poison old unused target macros.
8327         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8328         * config/stormy16/stormy16.c: Update references to obsolete macros.
8329         * config/stormy16/stormy16.h: Similarly.
8330         * config/stormy16/stormy16.md: Similarly.
8331         * config/cris/cris.h: Similarly.
8332
8333 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8334
8335         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8336         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8337         cpp_register_pragma): Update accordingly.
8338
8339 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8340
8341         * c-pragma.h (cpp_register_pragma_space): Remove.
8342         * cpplib.h (cpp_register_pragma_space): Remove.
8343         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8344         (cpp_register_pragma_space): Remove.
8345         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8346         add sanity checks.
8347         (do_pragma): Similarly.
8348         (_cpp_init_internal_pragmas): Don't register namespaces.
8349
8350         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8351         Don't register namespaces.
8352         * cp/lex.c (init_cp_pragma): Similarly.
8353         * doc/tm.texi: Update.
8354
8355 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8356
8357         PR c/4157
8358         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8359
8360 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8361
8362         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8363         add scheduling support.
8364         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8365         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8366         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8367
8368
8369 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8370
8371         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8372         missing CONSTANT_P test in core GCC.
8373
8374 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8375
8376         * cppmain.c (struct printer): New member source.
8377         (scan_translation_unit): Fix spacing at start of lines.
8378         (cb_line_change): Update.
8379
8380         * gcc.dg/cpp/spacing2.c: New test.
8381
8382 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8383
8384         * config/cris/arit.c: Use __builtin_labs, not abs.
8385
8386         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8387
8388         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8389         misplaced sprintf and fprintf argument.
8390
8391 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8392
8393         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8394         * configure.in, Makefile.in: Take out obsolete check-po logic.
8395         * configure, config.in: Regenerate.
8396
8397 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8398
8399         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8400         symtab declarations.
8401
8402 2001-10-12  Stan Shebs  <shebs@apple.com>
8403
8404         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8405         declarations of arguments and local variables.
8406
8407 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8408
8409         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8410         ENDFILE_SPEC definition.
8411
8412 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8413
8414         * gthr-dce.h: Fix comment formatting.
8415         * gthr-posix.h: Likewise.
8416         * gthr-single.h: Likewise.
8417         * gthr-solaris.h: Likewise.
8418         * gthr-vxworks.h: Likewise.
8419         * gthr-win32.h: Likewise.
8420
8421 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8422
8423         * final.c (output_asm_insn): Make sure assembly dialects are
8424         terminated, not nested.  Output `|' and `}' characters if they
8425         don't appear inside assembly dialect selection.
8426         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8427         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8428         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8429         strsetsi_rex_1): Add {} braces.
8430
8431 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8432
8433         * toplev.c (compile_file): Ignore return value from yyparse.
8434         Always pop any nested binding levels after yyparse returns.
8435
8436 2001-10-11  Richard Henderson  <rth@redhat.com>
8437
8438         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8439
8440 2001-10-11  Richard Henderson  <rth@redhat.com>
8441
8442         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8443         fall back to add_AT_long_long for large CONST_INT.
8444
8445 2001-10-11  Richard Henderson  <rth@redhat.com>
8446
8447         * config/i386/i386.md (setcc splitters): Add four splitters to
8448         simplify compound compares that simplify_comparison can't handle.
8449
8450 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8451
8452         * cpplex.c (digraph_spellings, token_spellings): Make static.
8453
8454 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8455
8456         * unroll.c (loop_iterations): Fixup last patch.
8457
8458 2001-10-11  Richard Henderson  <rth@redhat.com>
8459
8460         * rtl.h (REG_VTABLE_REF): New.
8461         * rtl.c (reg_note_name): Add it.
8462         * combine.c (distribute_notes): Handle it.
8463         * final.c (final_scan_insn): Handle it.
8464         * tree.def (VTABLE_REF): New.
8465         * expr.c (expand_expr): Handle it.
8466         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8467         * output.h: Declare them.
8468
8469 2001-10-11  Richard Henderson  <rth@redhat.com>
8470
8471         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8472         for a DECL_INITIAL.
8473
8474 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8475
8476         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8477         available in 64-bit mode.
8478
8479 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8480
8481         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8482         cris-*-linux* cases.
8483         * config/cris/cris-protos.h: New file.
8484         * config/cris/cris.c: New file.
8485         * config/cris/cris.h: New file.
8486         * config/cris/cris.md: New file.
8487         * config/cris/linux.h: New file.
8488         * config/cris/aout.h: New file.
8489         * config/cris/arit.c: New file.
8490         * config/cris/cris_abi_symbol.c: New file.
8491         * config/cris/mulsi3.asm: New file.
8492         * config/cris/t-aout: New file.
8493         * config/cris/t-cris: New file.
8494         * config/cris/t-elfmulti: New file.
8495         * config/cris/t-linux: New file.
8496         * doc/invoke.texi: Add CRIS options.
8497         * doc/install.texi (Specific): Add blurb for CRIS.
8498
8499 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8500
8501         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8502         before using it.
8503         * config/float/i32.h: Likewise.
8504         * config/float-i386.h: Likewise.
8505         * config/float-i64.h: Likewise.
8506         * config/float-m68k.h: Likewise.
8507         * config/float-sh.h: Likewise.
8508         * config/float-sparc.h: Likewise.
8509
8510 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8511
8512         * doc/contrib.texi: Add note about CRIS port to my entry.
8513
8514 2001-10-11  Kazu Hirata  <kazu@hxi.com>
8515
8516         * basic-block.h: Fix formatting.
8517         * bitmap.h: Likewise.
8518         * cpplib.h: Likewise.
8519         * c-tree.h: Likewise.
8520         * diagnostic.h: Likewise.
8521         * flags.h: Likewise.
8522         * ggc.h: Likewise.
8523         * longlong.h: Likewise.
8524         * real.h: Likewise.
8525         * reload.h: Likewise.
8526         * rtl.h: Likewise.
8527         * tree.h: Likewise.
8528
8529 2001-10-10  Richard Henderson  <rth@redhat.com>
8530
8531         * c-parse.in (asm_operand): Allow named operands.
8532         * genconfig.c (max_recog_operands): Set to 29.
8533         * local-alloc.c (requires_inout): Skip multiple digits.
8534         * recog.c (asm_operand_ok): Likewise.
8535         (preprocess_constraints): Use strtoul for matching constraints.
8536         (constrain_operands): Likewise.
8537         * regmove.c (find_matches): Likewise.
8538         * reload.c (find_reloads): Likewise.
8539         * stmt.c (parse_output_constraint): Don't reject in-out
8540         constraint on operands > 9.  Reject '[' in constraint.
8541         (expand_asm_operands): Handle named operands.  Use strtoul
8542         for matching constraints.
8543         (check_operand_nalternatives): Split out from expand_asm_operands.
8544         (check_unique_operand_names): New.
8545         (resolve_operand_names, resolve_operand_name_1): New.
8546
8547         * doc/extend.texi (Extended Asm): Document named operands.
8548         * doc/md.texi (Simple Constraints): Document matching constraints
8549         on operands > 9.
8550
8551 2001-10-10  Richard Henderson  <rth@redhat.com>
8552
8553         * combine.c (try_combine): Handle a SEQUENCE of one insn.
8554
8555         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
8556         (jcc splitters): Add two splitters to simplify compound compares
8557         that simplify_comparison can't handle.
8558
8559 2001-10-10  Richard Henderson  <rth@redhat.com>
8560
8561         * langhooks.c: Include langhooks.h.
8562         * Makefile.in (langhooks.o): Depend on it.
8563
8564 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
8565
8566         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
8567         should not be considered as a no-op.
8568         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
8569
8570 2001-10-10  Stan Shebs  <shebs@apple.com>
8571
8572         * alias.c: Remove uses of "register" specifier in declarations
8573         of arguments and local variables.
8574         * c-common.c: Ditto.
8575         * c-convert.c: Ditto.
8576         * c-decl.c: Ditto.
8577         * c-format.c: Ditto.
8578         * c-semantics.c: Ditto.
8579         * c-typeck.c: Ditto.
8580         * caller-save.c: Ditto.
8581         * calls.c: Ditto.
8582         * cfg.c: Ditto.
8583         * cfgbuild.c: Ditto.
8584         * cfgrtl.c: Ditto.
8585         * collect2.c: Ditto.
8586         * combine.c: Ditto.
8587         * convert.c: Ditto.
8588         * cppexp.c: Ditto.
8589         * cppfiles.c: Ditto.
8590         * cse.c: Ditto.
8591         * dbxout.c: Ditto.
8592         * defaults.h: Ditto.
8593         * df.c: Ditto.
8594         * dwarf2out.c: Ditto.
8595         * dwarfout.c: Ditto.
8596         * emit-rtl.c: Ditto.
8597         * explow.c: Ditto.
8598         * expmed.c: Ditto.
8599         * expr.c: Ditto.
8600         * final.c: Ditto.
8601         * fix-header.c: Ditto.
8602         * floatlib.c: Ditto.
8603         * flow.c: Ditto.
8604         * fold-const.c: Ditto.
8605         * function.c: Ditto.
8606         * gcc.c: Ditto.
8607         * gcse.c: Ditto.
8608         * gen-protos.c: Ditto.
8609         * genattrtab.c: Ditto.
8610         * gencheck.c: Ditto.
8611         * genconfig.c: Ditto.
8612         * genemit.c: Ditto.
8613         * genextract.c: Ditto.
8614         * genflags.c: Ditto.
8615         * gengenrtl.c: Ditto.
8616         * genoutput.c: Ditto.
8617         * genpeep.c: Ditto.
8618         * genrecog.c: Ditto.
8619         * gensupport.c: Ditto.
8620         * global.c: Ditto.
8621         * gmon.c: Ditto.
8622         * graph.c: Ditto.
8623         * haifa-sched.c: Ditto.
8624         * hard-reg-set.h: Ditto.
8625         * hash.c: Ditto.
8626         * integrate.c: Ditto.
8627         * jump.c: Ditto.
8628         * lists.c: Ditto.
8629         * local-alloc.c: Ditto.
8630         * loop.c: Ditto.
8631         * mips-tdump.c: Ditto.
8632         * mips-tfile.c: Ditto.
8633         * optabs.c: Ditto.
8634         * prefix.c: Ditto.
8635         * print-rtl.c: Ditto.
8636         * read-rtl.c: Ditto.
8637         * real.c: Ditto.
8638         * recog.c: Ditto.
8639         * reg-stack.c: Ditto.
8640         * regclass.c: Ditto.
8641         * regmove.c: Ditto.
8642         * reload.c: Ditto.
8643         * reload1.c: Ditto.
8644         * reorg.c: Ditto.
8645         * resource.c: Ditto.
8646         * rtl.c: Ditto.
8647         * rtlanal.c: Ditto.
8648         * scan.c: Ditto.
8649         * sched-deps.c: Ditto.
8650         * sched-rgn.c: Ditto.
8651         * sdbout.c: Ditto.
8652         * simplify-rtx.c: Ditto.
8653         * stmt.c: Ditto.
8654         * stor-layout.c: Ditto.
8655         * toplev.c: Ditto.
8656         * tradcif.y: Ditto.
8657         * tradcpp.c: Ditto.
8658         * tree.c: Ditto.
8659         * unroll.c: Ditto.
8660         * varasm.c: Ditto.
8661         * xcoffout.c: Ditto.
8662
8663 2001-10-10  Richard Henderson  <rth@redhat.com>
8664
8665         * rtl.h (can_reverse_comparison_p): Remove.
8666
8667 2001-10-10  Christopher Faylor <cgf@redhat.com>
8668
8669         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
8670         used.
8671
8672 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8673
8674         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
8675         (Thanks to Chris Faylor for suggesting macro name).
8676         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
8677         WIN32 defines.
8678         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
8679         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
8680         (MATH_LIBRARY): Undef before definition.
8681         (OUTPUT_QUOTED_STRING): Likewise.
8682         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
8683
8684 2001-10-10  Richard Henderson  <rth@redhat.com>
8685
8686         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
8687         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
8688         a tristate comparison value.
8689         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
8690
8691 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8692
8693         PR c++/4512
8694         * unroll.c (loop_iterations): Ignore insns generated by loop
8695         unrolling.
8696
8697         * config.gcc (mips*-*-gnu*): Delete support.
8698         * config/mips/gnu.h: Remove.
8699
8700 2001-10-10  Kazu Hirata  <kazu@hxi.com>
8701
8702         * calls.c: Fix formatting.
8703         * c-decl.c: Likewise.
8704         * cfgcleanup.c: Likewise.
8705         * combine.c: Likewise.
8706         * cppfiles.c: Likewise.
8707         * cpplib.c: Likewise.
8708         * cppmacro.c: Likewise.
8709         * crtstuff.c: Likewise.
8710         * cse.c: Likewise.
8711         * dwarf2out.c: Likewise.
8712         * expmed.c: Likewise.
8713         * expr.c: Likewise.
8714         * fold-const.c: Likewise.
8715         * function.c: Likewise.
8716         * gcse.c: Likewise.
8717         * genattrtab.c: Likewise.
8718         * ggc-page.c: Likewise.
8719         * integrate.c: Likewise.
8720         * libgcc2.c: Likewise.
8721         * loop.c: Likewise.
8722         * optabs.c: Likewise.
8723         * profile.c: Likewise.
8724         * protoize.c: Likewise.
8725         * real.c: Likewise.
8726         * recog.c: Likewise.
8727         * reload1.c: Likewise.
8728         * reload.c: Likewise.
8729         * reorg.c: Likewise.
8730         * resource.c: Likewise.
8731         * sched-rgn.c: Likewise.
8732         * sdbout.c: Likewise.
8733         * stmt.c: Likewise.
8734         * toplev.c: Likewise.
8735         * varasm.c: Likewise.
8736
8737 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
8738
8739         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
8740         * Makefile.in (langhooks.o): Add dependencies.
8741
8742 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
8743
8744         * rs6000.c (rs6000_emit_load_toc_table): Don't
8745         strdup the toc label.
8746         (create_TOC_reference): Likewise.
8747
8748 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8749
8750         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
8751         version default.
8752
8753 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8754
8755         * config/i386/i386.c (ix86_attribute_table): Correct
8756         min_len, max_len fields for dllimport, dllexport and shared.
8757
8758 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
8759
8760         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
8761         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
8762         Consistently use "nonzero" instead of "non-zero".
8763
8764 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8765
8766         * acconfig.h: Fix comment formatting.
8767         * c-dump.h: Likewise.
8768         * c-tree.h: Likewise.
8769         * conditions.h: Likewise.
8770         * expr.h: Likewise.
8771         * function.h: Likewise.
8772         * gthr.h: Likewise.
8773         * hwint.h: Likewise.
8774         * integrate.h: Likewise.
8775         * intl.h: Likewise.
8776         * loop.h: Likewise.
8777         * optabs.h: Likewise.
8778
8779 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8780
8781         * c-common.h: Fix comment formatting.
8782         * c-dump.c: Likewise.
8783         * cfg.c: Likewise.
8784         * diagnostic.h: Likewise.
8785         * except.c: Likewise.
8786         * gcc.h: Likewise.
8787         * gcov-io.h: Likewise.
8788         * genattrtab.c: Likewise.
8789         * output.h: Likewise.
8790         * predict.h: Likewise.
8791         * reload1.c: Likewise.
8792         * reload.h: Likewise.
8793         * resource.h: Likewise.
8794         * scan.h: Likewise.
8795         * system.h: Likewise.
8796         * tree.h: Likewise.
8797         * tree-inline.c: Likewise.
8798         * tsystem.h: Likewise.
8799         * varasm.c: Likewise.
8800         * xcoffout.h: Likewise.
8801
8802 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8803
8804         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
8805
8806 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8807
8808         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
8809         config/i386/i386elf.h, config/i386/netbsd-elf.h,
8810         config/i386/netware.h, config/mcore/gfloat.h,
8811         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
8812         config/netware.h, gccbug.in: Update FSF address.
8813
8814 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8815
8816         * c-common.c: Fix comment typos.
8817         * cfgrtl.c: Likewise.
8818         * collect2.c: Likewise.
8819         * cpplex.c: Likewise.
8820         * doloop.c: Likewise.
8821         * dwarf2out.c: Likewise.
8822         * dwarfout.c: Likewise.
8823         * expr.c: Likewise.
8824         * fold-const.c: Likewise.
8825         * gcc.c: Likewise.
8826         * gcov.c: Likewise.
8827         * gcse.c: Likewise.
8828         * global.c: Likewise.
8829         * ifcvt.c: Likewise.
8830         * loop.c: Likewise.
8831         * optabs.c: Likewise.
8832         * protoize.c: Likewise.
8833         * regclass.c: Likewise.
8834         * reorg.c: Likewise.
8835         * rtl.h: Likewise.
8836         * stmt.c: Likewise.
8837         * tree.h: Likewise.
8838         * doc/cpp.texi: Likewise.
8839         * doc/c-tree.texi: Likewise.
8840         * doc/extend.texi: Likewise.
8841         * doc/invoke.texi: Likewise.
8842         * doc/objc.texi: Likewise.
8843         * doc/tm.texi: Likewise.
8844
8845 2001-10-08  Richard Henderson  <rth@redhat.com>
8846
8847         * varasm.c (set_named_section_flags): Initialize "declared".
8848
8849 2001-10-08  Robert Lipe  <robertlipe@usa.net>
8850
8851         * varasm.c (struct in_named_entry): Add declared.
8852         (named_section_first_declaration): New function.
8853         (default_elf_asm_named_section): Use it.
8854         * output.h (named_section_first_declaration): New.
8855
8856 2001-10-08  Richard Henderson  <rth@redhat.com>
8857
8858         * i386.md (movsi_xor): Export.
8859         (setcc peep2): Use it when available; add an alternative to
8860         match zero_extendhisi2_and.
8861
8862 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8863
8864         * romp-protos.h (romp_initialize_trampoline): New function.
8865         * romp.c (romp_initialize_trampoline): Likewise.
8866         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
8867         romp_initialize_trampoline.
8868
8869 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8870
8871         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
8872         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8873         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8874         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8875
8876 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8877
8878         * unroll.c (loop_iterations): Extend check for multiple back edges.
8879
8880 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
8881
8882         * langhooks.h: New file.
8883         * Makefile.in (OBJS): Added langhooks.o.
8884         (c-lang.o): Depend on langhooks.h.
8885         (c-common.o): Don't depend on tree-inline.h.
8886         (tree-inline.o): Depend on toplev.h.
8887         (langhooks.o): New rule.
8888         * c-common.c: Don't include tree-inline.h.
8889         (c_mark_lang_decl): Mark argument c as unused.
8890         (c_common_lang_init): Don't initialize hooks here.
8891         * c-lang.c: Include langhooks.h, then override some macros.
8892         (lang_hooks): Initialize with macros in langhooks.h.
8893         (c_init): Don't initialize hooks here.
8894         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
8895         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
8896         * tree-inline.c: Include toplev.h.  Don't define hook variables.
8897         * tree-inline.h: Don't define hook types nor declare hook
8898         variables.  Move macros to...
8899         * langhooks.c: ... new file, as functions.  Adjust all callers.
8900
8901 2001-10-08  Jeffrey A Law  <law@cygnus.com>
8902
8903         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
8904         purge_mem_unchanging_flag on all instructions, not just on those
8905         before NOTE_INSN_FUNCTION_BEG.
8906
8907 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8908
8909         * cppmacro.c (_cpp_create_definition): Leave comments off.
8910
8911         * doc/cpp.texi: Update.
8912
8913 2001-10-08  DJ Delorie  <dj@redhat.com>
8914
8915         * c-decl.c (grokfield): Make sure the only unnamed fields
8916         we're allowing are either structs or unions.
8917         * doc/extend.texi: Add documentation for the unnamed field
8918         extension.
8919
8920 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
8921
8922         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
8923         * configure.in: Use it.
8924         * configure: Regenerated.
8925         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
8926         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
8927
8928 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8929
8930         * cppfiles.c (open_file): Don't mark zero-length files
8931         never-reread here.  Don't output diagnostics here either.
8932         (stack_include_file): Mark them never-reread here.
8933         (_cpp_read_file): Update.
8934
8935 2001-10-08  Richard Henderson  <rth@redhat.com>
8936
8937         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8938
8939 2001-10-08  Richard Henderson  <rth@redhat.com>
8940
8941         * expr.c (store_expr): When converting a CONST_INT for storage
8942         in a SUBREG, convert it to both SUBREG modes before stripping
8943         the SUBREG.
8944
8945 2001-10-08  Richard Henderson  <rth@redhat.com>
8946
8947         * varasm.c (restore_varasm_status): New.
8948         * function.h: Declare it.
8949         * function.c (pop_function_context_from): Call it.
8950
8951 2001-10-08  Richard Henderson  <rth@redhat.com>
8952
8953         * c-common.h (struct c_lang_decl): Add declared_inline.
8954         * c-tree.h (DECL_DECLARED_INLINE_P): New.
8955         * c-lang.c (c_disregard_inline_limits): Use it.
8956         * c-decl.c (duplicate_decls): Likewise.
8957         (pushdecl, redeclaration_error_message): Likewise.
8958         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
8959         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
8960         Set DECL_INLINE if -finline-functions.
8961         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
8962
8963 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8964
8965         * cppmacro.c (funlike_invocation_p): Move some logic to caller
8966         in enter_macro_context.  Create a padding token in its own context
8967         if necessary when the search for '(' fails.
8968         (enter_macro_context): Update.
8969
8970 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8971
8972         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
8973         genmultilib, toplev.c: Fix spelling errors of "separate" as
8974         "seperate", and corresponding spelling errors of related words.
8975
8976 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8977
8978         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
8979         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
8980         Likewise.
8981         * c-dump.c (dump_option_value_info): Likewise.
8982         * c-format.c (format_length_info, format_char_info,
8983         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
8984         * collect2.c (names): Likewise.
8985         * cppdefault.h (default_include): Likewise.
8986         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
8987         * flow.c (life_analysis): Likewise.
8988         * gcc.c (dir_separator_str, modify_target, option_map,
8989         target_option_translations, spec_list_1, extra_specs_1,
8990         init_spec): Likewise.
8991         * gcov.c (gcov_version_string): Likewise.
8992         * genattr.c (write_units): Likewise.
8993         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
8994         * gengenrtl.c (rtx_definition, defs): Likewise.
8995         * genrecog.c (pred_table): Likewise.
8996         * global.c (global_alloc): Likewise.
8997         * lcm.c (optimize_mode_switching): Likewise.
8998         * local-alloc.c (find_free_reg): Likewise.
8999         * params.h (param_info): Likewise.
9000         * predict.c (predictor_info): Likewise.
9001         * protoize.c (unexpansion_struct): Likewise.
9002         * real.c (bmask): Likewise.
9003         * recog.h (insn_operand_data, insn_data): Likewise.
9004         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
9005         * stmt.c (expand_nl_goto_receiver): Likewise.
9006         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
9007         target_switches, target_options): Likewise.
9008         * tradcif.y (token, tokentab2, yylex): Likewise.
9009         * tree.h (attribute_spec): Likewise.
9010
9011         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
9012         Likewise.
9013         * arc.c (arc_output_function_epilogue): Likewise.
9014         * arm.c (processors, all_cores, all_architectures,
9015         arm_override_options, isr_attribute_arg, isr_attribute_args,
9016         arm_isr_value): Likewise.
9017         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
9018         Likewise.
9019         * c4x.c (c4x_int_reglist): Likewise.
9020         * d30v.c (override_options): Likewise.
9021         * h8300.c (shift_insn): Likewise.
9022         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
9023         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
9024         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
9025         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
9026         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
9027         * i386.h (processor_costs, ix86_cost): Likewise.
9028         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
9029         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
9030         * m68k.c (codes_68881, codes_FPA): Likewise.
9031         * m88k.c (mode_from_align, max_from_align, all_from_align,
9032         best_from_align, m_options): Likewise.
9033         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
9034         * mcore.c (mode_from_align): Likewise.
9035         * mips/elf64.h (UNIQUE_SECTION): Likewise.
9036         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
9037         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
9038         * mips.h (mips_regno_to_class): Likewise.
9039         * ns32k.c (scales): Likewise.
9040         * pa.c (import_string, magic_milli): Likewise.
9041         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
9042         * sparc.c (leaf_reg_remap, sparc_override_options,
9043         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
9044         Likewise.
9045         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
9046
9047 2001-10-07  Dale Johannesen  <dalej@apple.com>
9048
9049         * reload1.c (reload_reg_free_p): Teach register interference
9050         checking that multiple output reloads are emitted in
9051         reverse order.
9052         reload1.c (reload_reg_reaches_end_p):  Ditto.
9053         reload1.c (reloads_conflict):  Ditto.
9054
9055 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9056
9057         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
9058         NULL_TREE inside @code.
9059
9060 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9061
9062         * doc/gcc.texi: Document consistent style of "32-bit",
9063         "Objective-C", and "@code{NULL}".
9064
9065 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9066
9067         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
9068         (cpp_token_len, cpp_spell_token, cpp_output_token,
9069         _cpp_equiv_tokens): Handle it.
9070         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
9071         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
9072         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
9073         error messages.
9074
9075 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9076
9077         * gcc.c (default_compilers): Remove .ada.
9078
9079 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9080
9081         * doc/cppinternals.texi: Update.
9082
9083 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
9084
9085         * gcc.c (main): Set this_file_error if the appropriate
9086         compiler for a language has not been installed.
9087
9088 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
9089
9090         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
9091
9092 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
9093
9094         * gccbug.in (CATEGORIES): Add ada.
9095
9096 2001-10-05  Catherine Moore  <clm@redhat.com>
9097
9098         * config/stormy16/stormy-abi:  Document abi changes.
9099         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
9100         (ICALL_REGS): New register class.
9101         (NUM_ARGUMENT_REGISTERS): Now 6.
9102         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
9103         in registers.
9104         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
9105         * config/stormy16.md (call_internal, call_value_internal,
9106         indirect_jump): Use new 'z' constraint.
9107
9108 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9109
9110         * doc/cppinternals.texi: Update.
9111
9112 2001-10-05  Richard Henderson  <rth@redhat.com>
9113
9114         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
9115         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
9116         the gas section-name-as-label feature.
9117
9118 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
9119
9120         * doc/cppinternals.texi: Update.
9121
9122 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9123
9124         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
9125         to ensure valid SImode constants.
9126
9127 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
9128
9129         * Makefile.in (c-decl.o): Depend on tree-inline.h.
9130         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
9131         * c-decl.c: Include tree-inline.h.
9132         (c_expand_body): Call optimize_inline_calls. Determine whether
9133         a function is inlinable upfront, and only clear
9134         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
9135         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
9136         (c_disregard_inline_limits): New function.
9137         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
9138         (c_post_options): Enable tree inlining if inlining is enabled.
9139         Don't inline trees when instrumenting functions.
9140         (c_init): Initialize lang_disregard_inline_limits and
9141         lang_cannot_inline_tree_fn.
9142         * tree-inline.c (initialize_inlined_parameters): Handle calls
9143         with fewer arguments than declared parameters, and fewer
9144         parameters than passed arguments.  Don't assume value is a
9145         DECL.
9146         (declare_return_variable): Convert return value back to the
9147         original type, if it was promoted.
9148         (tree_inlinable_function_p): New function.
9149         (inlinable_function_p): Don't look at DECL_INLINE if we're
9150         inlining all functions.  Make it work with a NULL id.
9151         Re-check DECL_UNINLINABLE after language-specific checks.
9152         * tree-inline.h (tree_inlinable_function_p): Declare it.
9153         * integrate.c (save_for_inline): Don't bother to prepare argvec
9154         when not inlining.
9155         * cse.c (check_for_label_ref): Don't check deleted labels.
9156
9157         * Makefile.in (tree-inline.o): Depend on newly-included headers.
9158         * tree-inline.c: Include headers needed for the functions moved in.
9159         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
9160         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
9161         (copy_body, initialize_inlined_parameters): Likewise.
9162         (declare_return_variable, inlinable_function_p): Likewise.
9163         (expand_call_inline, expand_calls_inline): Likewise.
9164         (optimize_inline_calls, clone_body): Likewise.
9165         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
9166         (copy_tree_r, remap_save_expr): Likewise.
9167
9168 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
9169
9170         * Makefile.in (OBJS): Added tree-inline.o.
9171         (c-common.o): Depend on tree-inline.h.
9172         (tree-inline.o): New target.
9173         * c-common.c: Include tree-inline.h.
9174         (c_mark_lang_decl): Don't mark saved_tree.
9175         (c_common_lang_init): Set lang_anon_aggr_type_p.
9176         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
9177         (struct c_lang_decl): Moved saved_tree to tree_decl.
9178         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
9179         * integrate.h (function_attribute_inlinable_p): Declare it.
9180         * integrate.c (function_attribute_inlinable_p): Export it.
9181         * tree-inline.c: New file.  Define variables declared in...
9182         * tree-inline.h: New file.  Declare functions to be moved to
9183         tree-inline.c.  Define macros and declare types and hooks for
9184         language-specific tree inlining.
9185         (flag_inline_trees): Moved definition from cp/decl2.c.
9186         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
9187         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
9188         (struct tree_decl): Moved saved_tree from c_lang_decl and
9189         inlined_fns from C++'s lang_decl.
9190
9191 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
9192
9193         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
9194         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
9195
9196 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9197
9198         * doc/cppinternals.texi: Update.
9199
9200 2001-10-04  Eric Christopher  <echristo@redhat.com>
9201
9202         * config/mips/mips.c (init_cumulative_args): Remember to set
9203         cum->prototype.
9204         * config.gcc: Redo linux configuration. Add target_cpu_default
9205         of soft-float to all mipsisa32 combinations and tx39.
9206         * config/mips/linux.h: Remove include of mips.h.
9207
9208 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
9209
9210         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
9211         HOST_LDFLAGS and HOST_CPPFLAGS.
9212
9213 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
9214
9215         * c-parse.in (objc_inherit_code, objc_pq_context,
9216         objc_public_flag): Make static.
9217         (objc_interface_context, objc_implementation_context,
9218         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
9219         global tree array in objc/objc-act.[ch].
9220         (methoddef): Remove unnecessary code.
9221
9222         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
9223         Hoist struct definitions to objc-act.h.
9224         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
9225         cat_count): Place declaration in objc-act.h.
9226         (objc_tree_index): Move enumeration to objc-act.h.
9227         (objc_global_trees): Place declaration and macro accessors in
9228         objc-act.h.
9229         (implementation_context): Remove duplicate; use
9230         objc_implementation_context instead:
9231         (method_context): Remove duplicate; use objc_method_context
9232         instead.
9233         (objc_ellipsis_node, objc_method_prototype_template,
9234         implemented_classes, function_type): Move global vars to
9235         objc_global_trees.
9236         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9237         (build_message_expr): Move actual construction of ObjC message
9238         send nodes to finish_message_expr.
9239         (finish_message_expr): New routine, contains code formerly in
9240         build_message_expr.
9241         * objc/objc-act.h (finish_message_expr): New prototype.
9242         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9243         declarations; these vars are now part of objc_global_trees.
9244         (objc_tree_index, objc_global_trees): Move definitions from
9245         objc-act.c.
9246         * objc/objc-tree.def: Update copyright info.
9247
9248 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
9249
9250         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9251         op is NULL.
9252         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9253         only if TARGET_ARCH64.
9254
9255 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
9256
9257         * doc/extend.texi: Fix some problems with previous checkin.
9258         * doc/invoke.texi: Likewise.
9259
9260 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9261
9262         * cpphash.h: Update comments.
9263         (cpp_context): Update.
9264         (spec_nodes): Remove n__Pragma.
9265         * cppinit.c (cpp_create_reader): Update.
9266         (builtin_array): Add _Pragma.
9267         * cpplib.h: Update comments.
9268         (NODE_DISABLED, BT_PRAGMA): New.
9269         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9270         * cppmacro.c (struct cpp_macro): Remove disabled.
9271         (builtin_macro): Return int, handle _Pragma, push the new token
9272         on the context stack.
9273         (funlike_invocation_p): Unconstify, update.
9274         (enter_macro_context): Handle builtins here.
9275         (replace_args, push_token_context, push_ptoken_context):
9276         Update for prototype changes.
9277         (_cpp_pop_context): Update.
9278         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9279         (cpp_sys_macro_p): Update.
9280         (_cpp_free_definition): Clear disabled flag.
9281         (_cpp_create_definition): Upate.
9282         * cppmain.c: Update comments.
9283
9284 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9285                                 Andreas Jaeger <aj@suse.de>,
9286                                 Jan Hubicka    <jh@suse.cz>
9287
9288         * doc/invoke.texi (i386 Options): Document x86-64 options.
9289         (i386 and x86-64 Options): Rename i386 options section.
9290
9291         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9292         (TARGET_SWITCHES): Add -munwind-info.
9293         (MASK_NO_UNWIND_INFO): New.
9294         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9295         biarch compilation.
9296         (ASM_OUTPUT_DOUBLE_INT): New.
9297
9298         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9299         * config.gcc: Fix tm_file settings for x86-64.
9300         * config/i386/x86-64.h: New file with OS independent x86-64
9301         definitions.
9302         * config/i386/biarch64.h: New file used to configure compiler
9303         to biarch/64bit compilation.
9304
9305         * config/i386/i386.c: (override_options): Set flags default
9306         for 64bit compilation.
9307
9308 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9309
9310         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9311         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9312         constants on x86_64.
9313         (ix86_attr_length_immediate_default): Support MODE_DI.
9314         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9315         condition.
9316         (indirect_jump, tablejump): Turn into expander.
9317
9318 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9319
9320         * c-common.c (c_format_attribute_table): Make format and
9321         format_arg attributes apply to function types rather than to
9322         decls.
9323         (is_valid_printf_arglist): Construct an attribute list and pass
9324         that to check_function_format rather than a name.
9325         * c-common.h (check_function_format): Adjust prototype.
9326         * c-decl.c (duplicate_decls): Preserve attributes from type of
9327         built-in decl when allowing for harmless conflict in types.
9328         * c-format.c (record_function_format,
9329         record_international_format, function_format_list,
9330         international_format_info, international_format_list): Remove.
9331         (function_format_info): Remove next, name and assembler_name.
9332         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9333         (decode_format_attr): New.
9334         (handle_format_attribute): Handle receiving a type rather than a
9335         decl.  Call decode_format_attr.  Store format information in a
9336         function_format_info.
9337         (handle_format_arg_attribute): Correct comment.  Handle receiving
9338         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9339         arg_num.
9340         (check_format_info_recurse, check_format_info_main): Take argument
9341         numbers as unsigned HOST_WIDE_INT.
9342         (check_function_format): Take a list of attributes from the
9343         function type rather than a name or assembler name.  Check for
9344         format attributes in that list and the attributes on the type of
9345         the current function rather than looking through
9346         function_format_list.
9347         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9348         numbers.
9349         (check_format_info_recurse): Take format_arg attributes from the
9350         type of the function calls rather than using
9351         international_format_list.  Allow for multiple format_arg
9352         attributes.
9353         * c-typeck.c (build_function_call): Pass type attributes to
9354         check_function_format rather than name or assembler name.  Don't
9355         require there to be a name or assembler name to check formats.
9356
9357 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9358
9359         * attribs.c (decl_attributes): Possibly call
9360         insert_default_attributes to insert default attributes on
9361         functions in a lazy manner.
9362         * builtin-attrs.def: New file; define the default format and
9363         format_arg attributes.
9364         * c-common.c (c_format_attribute_table): Move to earlier in the
9365         file.
9366         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9367         (enum built_in_attribute, built_in_attributes,
9368         c_attrs_initialized, c_init_attributes,
9369         c_common_insert_default_attributes): New.
9370         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9371         call c_init_attributes.
9372         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9373         * c-common.h (init_function_format_info): Don't declare.
9374         (c_common_insert_default_attributes): Declare.
9375         * c-decl.c (implicitly_declare, builtin_function): Call
9376         decl_attributes.
9377         (init_decl_processing): Don't call init_function_format_info.
9378         (insert_default_attributes): New.
9379         * c-format.c (handle_format_attribute,
9380         handle_format_arg_attribute): Be quiet about inappropriate
9381         declaration when applying default attributes.
9382         (init_function_format_info): Remove.
9383         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9384         (insert_default_attributes): Declare.
9385
9386 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9387
9388         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9389
9390 2001-10-01  Jim Wilson  <wilson@redhat.com>
9391
9392         * sched-deps.c (add_dependence): When elide conditional dependence,
9393         check that insn doesn't modify cond2.
9394
9395 2001-10-01  Dale Johannesen  <dalej@apple.com>
9396
9397         * config/rs6000/rs6000.h (enum processor_type): Add support
9398         for 7400 (G4) and 7450.
9399         (RTX_COSTS): Ditto.
9400         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9401         (rs6000_issue_rate): Ditto.
9402         (rs6000_adjust_cost): Fix cycle counts for compares.
9403         (debug_stack_info):  Fix an obvious typo.
9404         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9405         * doc/invoke.texi: Document.
9406         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9407         for Darwin.
9408         (PROCESSOR_DEFAULT): Ditto.
9409
9410 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9411
9412         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9413         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9414         later recursive make invocation.
9415
9416 2001-10-01  Hans Boehm  <boehm@acm.org>
9417
9418         * optabs.c (emit_libcall_block): When using non-call exceptions,
9419         don't add REG_LIBCALL reg notes to trapping calls.
9420
9421 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9422
9423         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9424         (propagate_one_insn):  Update for above change
9425
9426 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9427
9428         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9429         _Unwind_GetTextRelBase): Argument is unused.
9430
9431 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9432
9433         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9434         Loop through NOPs, placeholders, and components.
9435         Don't go through NOPs if change mode.
9436         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9437         * emit-rtl.c (set_mem_alias_set): Enable check.
9438         * expr.c (find_placeholder): New function.
9439         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9440         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9441         to modify it and avoid unneeded copies.
9442         * expr.h (expand_expr): Always define.
9443         (find_placeholder): New declaration.
9444
9445 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9446
9447         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9448         operand 2 is the stack pointer.
9449         ("addr-peephole"): Fix address computation peephole when operand 2
9450         is the stack pointer.
9451
9452 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9453
9454         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9455         (ix86_setup_incoming_varargs): Likewise.
9456
9457 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9458
9459         * stor-layout.c (layout_type): Don't complain about too-large
9460         array here.
9461
9462 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9463
9464         * function.c (keep_stack_depressed): Don't use delete_insn.
9465
9466         * expr.h (set_mem_alias_set): Move decl to here.
9467         * rtl.h (mem_attrs): New typedef and struct.
9468         (union rtunion_def): Add field for mem_attrs.
9469         (X0MEMATTR, MEM_ATTRS): New macros.
9470         (MEM_ALIAS_SET): Use MEM_ATTRS.
9471         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9472         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9473         (set_mem_alias_set): Delete decl from here.
9474
9475         * alias.c (set_mem_alias_set): Delete from here.
9476         * emit-rtl.c (mem_attrs_htab): New variable.
9477         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9478         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9479         (mem_attrs_mark, get_mem_attrs): Likewise.
9480         (gen_rtx_MEM): Clear MEM_ATTRS.
9481         (set_mem_attributes): Move to here.
9482         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9483         (init_emit_once): const_int_htab now deletable htab.
9484         Initialize mem_attrs_htab.
9485         * explow.c (set_mem_attributes): Delete from here.
9486         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9487         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9488         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9489         * reload1.c (reload): Rework changing REG to MEM.
9490
9491 2001-09-30  H.J. Lu <hjl@gnu.org>
9492
9493         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9494         * config.in: Rebuild.
9495
9496 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9497
9498         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9499         ("tsthi_1"): Avoid allocation in register y.
9500         ("*movqi_68hc12"): Reorganize and fix constraints.
9501         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9502         ("addqi3"): Likewise.
9503         ("addhi3"): Fix constraints.
9504         ("*logicalhi3_zexthi"): Disparage soft registers.
9505
9506 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9507
9508         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9509         to tmp reg.
9510
9511 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9512
9513         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
9514         that we use setjmp/longjmp exceptions.
9515
9516 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9517
9518         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
9519         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
9520         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9521         _cpp_pool_alloc, _cpp_next_chunk): Remove.
9522         (_cpp_extend_buff, BUFF_ROOM): Update.
9523         (_cpp_append_extend_buff): New.
9524         (struct cpp_reader): Remove macro_pool, add a_buff.
9525         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
9526         macro_pool.
9527         (cpp_destroy): Free a_buff instead of macro_pool.
9528         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
9529         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9530         _cpp_pool_alloc, ): Remove.
9531         (parse_number, parse_string): Update use of _cpp_extend_buff.
9532         (_cpp_extend_buff): Update.
9533         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
9534         * cpplib.c (glue_header_name, parse_answer):
9535         Update use of _cpp_extend_buff.
9536         (cpp_register_pragma, cpp_register_pragma_space): Use
9537         _cpp_aligned_alloc.
9538         (do_assert, do_unassert): Check for EOL, update.
9539         * cppmacro.c (stringify_arg, collect_args): Update to use
9540         _cpp_extend_buff and _cpp_append_extend_buff.
9541         (save_parameter, parse_params, alloc_expansion_token,
9542         _cpp_create_definition): Rework memory management.
9543
9544 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
9545
9546         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
9547         update md_exec_prefix.
9548         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
9549         to string constant.
9550
9551 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9552
9553         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
9554         (SELECT_CC_MODE): Use s390_select_ccmode.
9555         * config/s390/s390-protos.h (s390_select_ccmode): Add.
9556         * config/s390/s390.c (s390_select_ccmode): New.
9557         (s390_match_ccmode): Add CCLmode.
9558         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
9559         (output_branch_condition, output_inverse_branch_condition): Removed.
9560         (print_operand): Use s390_branch_condition_mnemonic.
9561         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
9562         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
9563         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
9564
9565         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
9566         when converting conditional branches to far branches.
9567         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
9568         cmpint_di): Use CCSmode instead of CCUmode.
9569
9570         * config/s390/s390.c (legitimate_la_operand_p): New.
9571         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
9572         * config/s390/s390.md (movsi): Convert load address patterns to
9573         arithmetic operations when necessary.
9574         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
9575         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
9576         (*do_la_reg_0): Don't use before reload.
9577
9578         * config/s390/s390.c (legitimize_address): Make more efficient
9579         use of two-register addressing mode.
9580
9581         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
9582         with -mno-backchain in some corner cases.
9583
9584         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
9585
9586 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
9587
9588         * reload.c (find_reloads): Mark new USE insns with QImode.
9589         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
9590         find_reloads_subreg_address): Likewise.
9591         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
9592         encountered.
9593         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
9594         CLOBBERs.
9595         (reload): Make sure there are no USEs with mode other than
9596         VOIDmode.  At the end, remove those marked with QImode.
9597
9598 2001-09-29  Per Bothner  <per@bothner.com>
9599
9600         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
9601         * Makefile.in (includedir):  Rename to local_includedir.
9602         (includedir):  Define as $(prefix)/include.
9603         * config.in (PREFIX_INCLUDE_DIR):  New variable.
9604         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
9605
9606 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
9607
9608         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
9609         storehps builtins.
9610         * doc/extend.texi (Vector Extensions): New node.
9611         * doc/invoke.texi (Machine Dependent Options): Add documentation for
9612         i386 -mmmx, -msse, -m3dnow.
9613
9614 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9615
9616         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
9617
9618 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
9619
9620         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
9621
9622         * doc/invoke.texi (Optimize Options): Delete spurious @table.
9623
9624 2001-09-28  Richard Henderson  <rth@redhat.com>
9625
9626         * varasm.c (assemble_integer): Bound alignment check by
9627         BIGGEST_ALIGNMENT.
9628
9629         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
9630
9631 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9632
9633         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
9634
9635 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9636
9637         Mostly from Graham Stott  <grahams@redhat.com>
9638         * c-common.c (type_for_mode): Add support for V2SFmode.
9639         * tree.c (build_common_tree_nodes_2): Likewise.
9640         * tree.h (enum tree_index, global_trees): Likewise.
9641         * config/i386/i386.c (x86_3dnow_a): New variable.
9642         (override_options): Support 3Dnow extensions.
9643         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
9644         Athlon's version of 3Dnow.
9645         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
9646         (ix86_expand_builtin): Handle them.
9647         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
9648         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
9649         TARGET_3DNOW_A): New macros.
9650         (TARGET_SWITCHES): Add 3Dnow switches.
9651         (VALID_MMX_REG_MODE_3DNOW): New macro.
9652         (VECTOR_MODE_SUPPORTED_P): Use it.
9653         (enum ix86_builtins): Add entries for 3Dnow builtins.
9654         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
9655         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
9656         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
9657         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
9658         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
9659         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
9660         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
9661         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
9662         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
9663         sfence_insn, prefetch): Make these available if TARGET_SSE or
9664         TARGET_3DNOW_A.
9665
9666 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9667
9668         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
9669         ix86_va_start, ix86_build_va_list): Declare.
9670         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
9671         ix86_va_start, ix86_build_va_list): New global functions.
9672         * i386.md (sse_prologue_save_insn): New insn.
9673         (sse_prologue_save): New expander.
9674         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
9675         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
9676
9677 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9678
9679         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
9680         Use size_t everywhere, make definitions consistent with
9681         prototypes.
9682
9683 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
9684
9685         * gcse.c (replace_store_insn): Use delete_insn.
9686         * loop.c (move_movables): Likewise; avoid delete_insn
9687         from clobbering notes moved elsewhere.
9688         (check_dbra_loop): Use delete_insn.
9689         * ssa.c (convert_from_ssa): Likewise.
9690         * cse.c (cse_insn): Use delete_insn.
9691
9692 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9693
9694         * cpphash.h (struct cpp_buff): Make unsigned.
9695         (_cpp_get_buff): Take length of size_t.
9696         (_cpp_unaligned_alloc): New.
9697         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
9698         (struct cpp_reader): Remove ident_pool.  Add u_buff.
9699         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
9700         (cpp_destroy): Destroy u_buff, not ident_pool.
9701         * cpplex.c (parse_number, parse_string, save_comment,
9702         cpp_token_as_text): Update to use the unaligned buffer.
9703         (new_buff): Make unsigned.
9704         (_cpp_unaligned_alloc): New.
9705         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
9706         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
9707         Similarly.
9708         (collect_args): Make unsigned.
9709
9710 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
9711
9712         * cpplex.c (cpp_output_token): Use a putc loop for
9713         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
9714
9715         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
9716         * configure, config.in: Regenerate.
9717         * system.h: Replace fwrite and fprintf with their unlocked
9718         variants if available.
9719
9720 2001-09-27  Richard Henderson  <rth@redhat.com>
9721
9722         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
9723         in favour of .eh_frame.
9724
9725 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
9726
9727         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
9728         to macros.
9729         (LIBCALL_VALUE): Likewise.
9730
9731 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9732
9733         * cpphash.h: Update comment.
9734         * cpplex.c: Update comments.
9735         (_cpp_can_paste): Remove.
9736         * cpplib.h (_cpp_can_paste): Remove.
9737         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
9738         lexer rather than _cpp_can_paste.
9739
9740 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9741
9742         * doc/cppinternals.texi: Update.
9743
9744 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9745
9746         * cpphash.h (struct cpp_pool): Remove locks and locked.
9747         (struct cpp_context): Add member buff.
9748         (struct cpp_reader): Remove member argument_pool.
9749         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9750         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
9751         * cpplex.c (chunk_suitable): Remove pool argument.
9752         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
9753         (new_buff, _cpp_extend_buff): Update.
9754         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
9755         which buffer is returned.
9756         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
9757         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9758         * cppmacro.c (lock_pools, unlock_pools): Remove.
9759         (push_ptoken_context): Take a _cpp_buff.
9760         (enter_macro_context): Pool locking removed.
9761         (replace_args): Use a _cpp_buff for the replacement list with
9762         arguments replaced.
9763         (push_token_context): Clear buff.
9764         (expand_arg): Use _cpp_pop_context.
9765         (_cpp_pop_context): Free a context's buffer, if any.
9766
9767 2001-09-26  DJ Delorie  <dj@redhat.com>
9768
9769         * c-typeck.c (digest_init): Check for sizeless arrays.
9770
9771 2001-09-26  Richard Henderson  <rth@redhat.com>
9772
9773         * optabs.c (init_one_libfunc): Create a dummy function type
9774         instead of using error_mark_node.
9775
9776 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9777
9778         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
9779         _cpp_extend_buff, _cpp_free_buff): New.
9780         (struct cpp_reader): New member free_buffs.
9781         * cppinit.c (cpp_destroy): Free buffers.
9782         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
9783         _cpp_extend_buff, _cpp_free_buff): New.
9784         * cpplib.h (struct cpp_options): Remove unused member.
9785         * cppmacro.c (collect_args): New.  Combines the old parse_arg
9786         and parse_args.  Use _cpp_buff for memory allocation.
9787         (funlike_invocation_p, replace_args): Update.
9788
9789 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9790
9791         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
9792
9793 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
9794
9795         * except.c (sjlj_mark_call_sites): Change address inside sequence.
9796
9797 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
9798
9799         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
9800         glibc.
9801
9802 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
9803             Jim Wilson  <wilson@redhat.com>
9804
9805         * doc/install.texi (Specific, ia64-*-linux): Document.
9806
9807 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9808
9809         * Makefile.in (cfgrtl.o): Add.
9810         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9811         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9812         free_aux_for_edge): Declare.
9813         * cfg.c
9814         (HAVE_return): Undefine.
9815         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9816         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9817         free_aux_for_edge): New global functions.
9818         (first_delete_block): New static variable.
9819         (init_flow): Clear first_delete_block.
9820         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
9821          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
9822          try_redirect_by_replacing_jump, last_loop_beg_note,
9823          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
9824          delete_insn, delete_insn_chain, create_basic_block_structure,
9825          create_basic_block, flow_delete_block, compute_bb_for_insn,
9826          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
9827          set_block_for_new_insns, split_block, merge_blocks_nomove,
9828          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
9829          redirect_edge_and_branch, force_nonfallthru_and_redirect,
9830          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
9831          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
9832          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
9833          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9834          purge_all_dead_edges): Move to ....
9835         * cfgrtl.c: New file; .... Here.
9836
9837         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
9838         (reroder_basic_block): Use alloc_aux_for_blocks.
9839         * predict.c (estimate_bb_frequencies): Likewise; use
9840         alloc_aux_for_edges.
9841         * profile.c (compute_branch_probabilities): Likewise.
9842         (branch_prob): Likewise.
9843         * reg-stack.c (reg_to_stack): Likewise.
9844
9845         * emit-rtl.c (emit_insns_after): Never return NULL.
9846
9847         * basic-block.h (set_block_for_new_insns): Delete.
9848         * cfgrtl.c (set_block_for_new_insns): Delete.
9849
9850         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
9851         calls when crossjumping.
9852
9853         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
9854         * unroll.c (copy_loop_body): Use delete_insn.
9855
9856         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
9857         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
9858         keep_stack_depressed): Likewise.
9859         * gcse.c (cprop_cc0_jump): Likewise.
9860         * local-alloc.c (update_equiv_regs): Likewise.
9861         * loop.c (scan_loop, loop_delete_insns): Likewise.
9862         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
9863         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
9864         delete_output_reload, delete_address_reloads_1,
9865         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
9866         Likewise.
9867         * sibcall.c (replace_call_placeholder): Likewise.
9868         * cse.c (cse_insn): Likewise.
9869
9870 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9871
9872         From Graham Stott  <grahams@redhat.com>
9873         (def_builtin): Only define builtins appropriate for target_flags.  All
9874         callers changed.
9875         (builtin_decsription): Add new field mask which is used to determine
9876         when to define the builtin via the macro def_builtin.
9877
9878         (bdesc_comi): Initialise new mask fields.
9879         (bdesc_2srg): Likewise.
9880         (bdesc_1arg): Likewise.
9881
9882         * config/i386/i386.c (ix86_init_builtins): Correct return type
9883         building v4hi_ftype_v4hi_int_int tree node.
9884         (ix86_expand_sse_comi): Fix typo swapping operands.
9885         Don't swap comparision condition, it is already swapped.
9886         (ix86_expand_sse_compare): Before swapping operands
9887         move operand 1 into new rtx and not the target rtx.
9888         Don't swap comparison condition, it is already swapped.
9889         Always check whether we need to create a new TARGET.
9890
9891         * config/i386/i386.md: (sse_comi) Fix typos.
9892         (sse_ucomi): Likewise.
9893         (cvtss2si): Fix operand 0 contraint.
9894         (cvttss2si): Likewise.
9895         (sse_unpckhps): Fix mode for operand 2.
9896         (sse_unpcklps): Likewise.
9897
9898 2001-09-25  Graham Stott  <grahams@redhat.com>
9899
9900         * sibcall.c (skip_copy_to_return_value): Tighten return value
9901         copy check.
9902
9903 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
9904
9905         * rs6000.c (lwa_operand): Address must be word aligned.
9906
9907 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9908
9909         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
9910         number has been set.
9911         (type_hash_mark): Mark type itself.
9912
9913 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9914
9915         * c-lex.c (cb_def_pragma): Update.
9916         (c_lex): Update, and skip padding.
9917         * cppexp.c (lex, parse_defined): Update, remove unused variable.
9918         * cpphash.h (struct toklist): Delete.
9919         (union utoken): New.
9920         (struct cpp_context): Update.
9921         (struct cpp_reader): New members eof, avoid_paste.
9922         (_cpp_temp_token): New.
9923         * cppinit.c (cpp_create_reader): Update.
9924         * cpplex.c (_cpp_temp_token): New.
9925         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
9926         (cpp_output_token): Don't print leading whitespace.
9927         (cpp_output_line): Update.
9928         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
9929         do_include_common, do_line, do_ident, do_pragma,
9930         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
9931         parse_assertion): Update.
9932         (get_token_no_padding): New.
9933         * cpplib.h (CPP_PADDING): New.
9934         (AVOID_LPASTE): Delete.
9935         (struct cpp_token): New union member source.
9936         (cpp_get_token): Update.
9937         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
9938         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
9939         replace_args, quote_string, stringify_arg, parse_arg, next_context,
9940         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
9941         _cpp_backup_tokens, _cpp_create_definition): Update.
9942         (push_arg_context): Delete.
9943         (padding_token, push_token_context, push_ptoken_context): New.
9944         (make_string_token, make_number_token): Update, rename.
9945         (cpp_get_token): Update to handle tokens as pointers to const,
9946         and insert padding appropriately.
9947         * cppmain.c (struct printer): New member prev.
9948         (check_multiline_token): Constify.
9949         (do_preprocessing, cb_line_change): Update.
9950         (scan_translation_unit): Update to handle spacing.
9951         * scan-decls.c (get_a_token): New.
9952         (skip_to_closing_brace, scan_decls): Update.
9953         * fix-header.c (read_scan_file): Update.
9954
9955         * doc/cpp.texi: Update.
9956
9957 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9958
9959         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
9960         leak by passing malloc'ed pointer to reconcat, not concat.
9961
9962 2001-09-24  DJ Delorie  <dj@redhat.com>
9963
9964         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
9965
9966 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
9967
9968         * flow.c (delete_dead_jumptables): Delete jumptable if the only
9969         reference is from the literal pool.
9970
9971 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
9972
9973         * doc/install.texi (Final install): Request additional information
9974         in mail about successful builds.
9975
9976 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9977
9978         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
9979         initial value of return pointer register instead of value in frame-20.
9980         Revise comments.
9981
9982 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9983
9984         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
9985         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
9986         the libcall if there isn't a referenced identifier for the symbol.
9987
9988 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9989
9990         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
9991         non 64-bit machines.  Use these as a plabel for the trampoline.
9992         (TRAMPOLINE_SIZE): Adjust size for new words.
9993         (INITIALIZE_TRAMPOLINE): Initialize new words.
9994         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
9995         pointer to the plabel in the trampoline.
9996
9997 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9998
9999         * pa.c (function_arg): Pass floating arguments in both general and
10000         floating registers in indirect (dynamic) calls when generating code
10001         for the 32 bit ABI and the HP assembler.
10002
10003 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10004
10005         * doc/install.texi: Markup fixes.
10006         Use Solaris 2, SunOS 4 as appropriate.
10007         (Specific, *-*-solaris2*): Explain this.
10008         Unconditionally warn against /usr/ucb tools.
10009         Remove Sun as warning, obsolete.
10010         Move X11 header bug workaround here, update patches.
10011         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
10012         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
10013
10014 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
10015
10016         * errors.h (warning, error, fatal, internal_error): Don't mark
10017         with ATTRIBUTE_PRINTF_n.
10018         * toplev.h (internal_error, fatal_io_error, warning, error,
10019         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
10020         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
10021         Likewise.
10022
10023 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10024
10025         * function.c (pop_function_context_from): var_refs_queue
10026         and temp slots now in GC memory.
10027         (mark_function_status, free_after_compilation): Likewise;
10028         also struct function now in GC memory.
10029         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
10030         (combine_temp_slots): Likewise.
10031         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
10032         (prepare_function_start): Use GC memory for struct function.
10033         (mark_temp_slot): Deleted.
10034         (gcc_mark_struct_function): struct function now in GC memory.
10035
10036         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
10037         code for division, not modulus.
10038
10039         * rtl.def (MEM): Remove obsolete part of comment.
10040
10041 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
10042
10043         * c-format.c (init_function_format_info): Check __builtin_printf
10044         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
10045         in gnu89 mode.
10046
10047 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10048
10049         * c-common.c (format_attribute_table): Remove decl.
10050         * tree.h (format_attribute_table, lang_attribute_table): New decls.
10051         (lang_attribute_common): Likewise.
10052
10053         * function.c (fix_lexical_address): Use set_mem_alias_set.
10054         (expand_function_start): Likewise.
10055         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
10056
10057         * varasm.c (output_constant): Fix unused variable warning.
10058
10059         * attribs.c: New file, from c-common.c.
10060         (attribute_tables): Now four elements.
10061         (format_attribute_table, lang_attribute_common): New variables.
10062         (init_attributes): Reflect above changes.
10063         (handle_mode_attribute): Delete check for wider than uintmax.
10064         * c-common.c: Delete parts moved to attribs.c.
10065         (enum attrs): Deleted; unused.
10066         (c_format_attribute_table): New variable.
10067         (c_common_lang_init): Initialize format_attribute_table with it.
10068         * c-common.h (decl_attributes): Remove decl.
10069         * tree.h (decl_attribute): Move it to here.
10070         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
10071         (attribs.o): New rule.
10072
10073 2001-09-22  Andreas Jaeger  <aj@suse.de>
10074
10075         * builtins.c (c_getstr): Remove unused variable.
10076
10077 2001-09-21  Richard Henderson  <rth@redhat.com>
10078
10079         * reload1.c (reload): Use delete_insn instead of splatting
10080         NOTE_INSN_DELETED.
10081
10082 2001-09-21  Richard Henderson  <rth@redhat.com>
10083
10084         * reload.c (push_secondary_reload): Don't check for "=" in output
10085         constraint after ""->ALL_REGS check.
10086
10087 2001-09-21  Richard Henderson  <rth@redhat.com>
10088
10089         * predict.c (expected_value_to_br_prob): Use pc_set.
10090
10091         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
10092         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
10093
10094 2001-09-21  Richard Henderson  <rth@redhat.com>
10095
10096         * rtl.h (LCT_RETURNS_TWICE): New.
10097         * calls.c (emit_call_1): Set current_function_calls_setjmp for
10098         ECF_RETURNS_TWICE.
10099         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
10100         to ECF_RETURNS_TWICE.
10101         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
10102         call to setjmp.
10103
10104         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
10105
10106         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
10107         (JMP_BUF_SIZE): New.
10108
10109 2001-09-21  Richard Henderson  <rth@redhat.com>
10110
10111         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
10112         to R8_REGS.
10113
10114 2001-09-21  Richard Henderson  <rth@redhat.com>
10115
10116         * tree.def (FDESC_EXPR): New.
10117         * expr.c (expand_expr): Handle it.
10118         * varasm.c (initializer_constant_valid_p): Likewise.
10119         (output_constant): Likewise.
10120         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10121         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10122         (ASM_OUTPUT_FDESC): New.
10123         * doc/tm.texi: Document the new macros.
10124
10125 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10126
10127         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
10128         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
10129         once merging is complete.
10130
10131 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10132
10133         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
10134
10135 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
10136
10137         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
10138         that would be invalid after a merge.
10139
10140 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
10141
10142         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
10143         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
10144         remove some labels.
10145         (flow_delete_insn): This one.
10146         (delete_insn_chain): Rename from ...; do not care labels.
10147         (flow_delete_insn_chain): ... this one.
10148         (flow_delete_block): Remove the insns one BB has been expunged.
10149         (merge_blocks_nomove): Likewise.
10150         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
10151         updating BB boundaries.
10152         (tidy_fallthru_edge): Likewise.
10153         (commit_one_edge_insertion): Likewise.
10154         * cfgbuild.c (find_basic_block): Likewise.
10155         (find_basic_blocks_1): Likewise.
10156         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
10157         (try_crossjump_to_edge): Likewise.
10158         (try_optimize_cfg): Likewise.
10159         * cse.c (delete_trivially_dead_insns): Likewise.
10160         * df.c (df_insn_delete): Likewise.
10161         * doloop.c (doloop_modify): Use delete_related_insns.
10162         * emit-rtl.c (try_split): Likewise.
10163         (remove_insn): Update BB boundaries.
10164         * expect.c (connect_post_landing_pads): Use delete_related_insns.
10165         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
10166         updating BB boundaries.
10167         (propagate_block_delete_insn): Likewise.
10168         (propagate_block_delete_libcall): Likewise.
10169         * function.c (delete_handlers): Use delete_related_insns.
10170         (thread_prologue_and_epilogue_insns): Likewise.
10171         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
10172         * genpeep.c (gen_peephole): Use delete_related_insns.
10173         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
10174         BB boundaries.
10175         (find_cond_trap): Likewise.
10176         * integrate.c (save_for_inline): Use delete_related_insns.
10177         (copy_insn_list): Likewise.
10178         * jump.c (pruge_linie_number_notes): Likewise.
10179         (duplicate_loop_exit_test): Likewise.
10180         (delete_computation): Likewise.
10181         (delete_related_insn): Rename from ...; use delete_insn
10182         (delete_insn): ... this one.
10183         (redirect_jump): Use delete_related_insns.
10184         * loop.c (scan_loop): Likewise.
10185         (move_movables): Likewise.
10186         (find_and_verify_loops): Likewise.
10187         (check_dbra_loop): Likewise.
10188         * recog.c (peephole2_optimize): Likewise.
10189         * reg-stack.c (delete_insn_for_stacker): Remove.
10190         (move_for_stack_reg): Use delete_insn.
10191         * regmove.c (combine_stack_adjustments_for_block): Likewise.
10192         * reload1.c (delete_address_reloads): Use delete_related_insns.
10193         (fixup_abnormal_edges): Use delete_insn.
10194         * recog.c (emit_delay_sequence): Use delete_related_insns.
10195         (delete_from-delay_slot): Likewise.
10196         (delete_scheduled_jump): likewise.
10197         (optimize_skip): Likewise.
10198         (try_merge_delay_insns): Likewise.
10199         (full_simple_delay_slots): Likewise.
10200         (fill_slots_from_thread): Likewise.
10201         (relax_delay_slots): Likewise.
10202         (make_return_insns): Likewise.
10203         (dbr_schedule): Likewise.
10204         * rtl.h (delete_insn): Rename to delete_related_insns.
10205         (delete_insn, delete_insn_chain): New prototypes.
10206         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
10207         by df_insn_delete already.
10208         * ssa-dce.c (delete_insn_bb): Use delete_insn.
10209         * ssa.c (convert_from_ssa): Use delete_related_insns.
10210         * unroll.c (unroll_loop): Likewise.
10211         (calculate_giv_inc): Likewise.
10212         (copy_loop_body): Likewise.
10213
10214         * i386-protos.h (ix86_libcall_value, ix86_function_value,
10215         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10216         ix86_return_in_memory, ix86_function_value): Declare.
10217         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
10218         new static valurables.
10219         (x86_64_reg_class): New enum
10220         (x86_64_reg_class_name): New array.
10221         (classify_argument, examine_argument, construct_container,
10222          merge_classes): New static functions.
10223         (optimization_options): Enable flag_omit_frame_pointer and disable
10224         flag_pcc_struct_return on 64bit.
10225         (ix86_libcall_value, ix86_function_value,
10226         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10227         ix86_return_in_memory, ix86_function_value): New global functions.
10228         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10229         (function_arg_advance): Handle x86_64 passing conventions.
10230         (function_arg): Likewise.
10231         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10232         (RETURN_IN_MEMORY): Move offline.
10233         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10234         (FUNCTION_VALUE_REGNO_P): New macro.
10235         (FUNCTION_ARG_REGNO_P): Move offline.
10236         (struct ix86_args): Add maybe_vaarg.
10237         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10238         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10239
10240 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
10241
10242         * s390.md: Changed attributes for scheduling.
10243         * s390.c: (s390_adjust_cost, s390_adjust_priority)
10244         Changed scheduling
10245
10246 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10247
10248         Table-driven attributes.
10249         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10250         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10251         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10252         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10253         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10254         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10255         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10256         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10257         * tree.h (struct tree_decl): Change machine_attributes to
10258         attributes.
10259         * doc/c-tree.texi: Document that all attributes are now attached
10260         to decls and types.
10261         * c-common.c (add_attribute, attrtab, attrtab_idx,
10262         default_valid_lang_attribute, valid_lang_attribute): Remove.
10263         (attribute_tables, attributes_initialized,
10264         c_common_attribute_table, default_lang_attribute_table): New
10265         variables.
10266         (handle_packed_attribute, handle_nocommon_attribute,
10267         handle_common_attribute, handle_noreturn_attribute,
10268         handle_unused_attribute, handle_const_attribute,
10269         handle_transparent_union_attribute, handle_constructor_attribute,
10270         handle_destructor_attribute, handle_mode_attribute,
10271         handle_section_attribute, handle_aligned_attribute,
10272         handle_weak_attribute, handle_alias_attribute,
10273         handle_no_instrument_function_attribute,
10274         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10275         handle_no_limit_stack_attribute, handle_pure_attribute): New
10276         functions.
10277         (init_attributes, decl_attributes): Rewrite to implement
10278         table-driven attributes.
10279         * c-common.h (enum attribute_flags): Move to tree.h.
10280         * c-format.c (decl_handle_format_attribute,
10281         decl_handle_format_arg_attribute): Rename to
10282         handle_format_attribute and handle_format_arg_attribute.  Update
10283         for table-driven attributes.
10284         * c-common.h (decl_handle_format_attribute,
10285         decl_handle_format_arg_attribute): Remove prototypes.
10286         (handle_format_attribute, handle_format_arg_attribute): Add
10287         prototypes.
10288         * c-decl.c (grokdeclarator): Handle attributes nested inside
10289         declarators.
10290         * c-parse.in (setattrs, maybe_setattrs): Remove.
10291         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10292         Update to handle nested attributes properly.
10293         (maybe_resetattrs, after_type_declarator,
10294         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10295         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10296         properly.
10297         (make_pointer_declarator): Update to handle nested attributes
10298         properly.
10299         * doc/extend.texi: Update documentation of limits of attributes
10300         syntax.  Warn about problems with attribute semantics in C++.
10301         * target.h (struct target): Remove valid_decl_attribute and
10302         valid_type_attribute.  Add attribute_table and
10303         function_attribute_inlinable_p.
10304         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10305         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10306         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10307         Add.
10308         (TARGET_INITIALIZER): Update.
10309         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10310         definition.
10311         (function_attribute_inlinable_p): New function.  Check for the
10312         presence of any machine attributes before using
10313         targetm.function_attribute_inlinable_p.
10314         (function_cannot_inline_p): Update.
10315         * Makefile.in (integrate.o): Update dependencies.
10316         * doc/tm.texi: Update documentation of target attributes and
10317         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10318         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10319         Remove.
10320         (default_target_attribute_table,
10321         default_function_attribute_inlinable_p): New.
10322         (lookup_attribute): Update comment to clarify handling of multiple
10323         attributes with the same name.
10324         (merge_attributes, attribute_list_contained): Allow multiple
10325         attributes with the same name but different arguments to appear in
10326         the same attribute list.
10327         * tree.h (default_valid_attribute_p): Remove prototype.
10328         (struct attribute_spec): New.
10329         (default_target_attribute_table): Declare.
10330         (enum attribute_flags): Move from c-common.h.  Add
10331         ATTR_FLAG_TYPE_IN_PLACE.
10332         (default_function_attribute_inlinable_p): Declare.
10333         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10334         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10335         (TARGET_ATTRIBUTE_TABLE): Define.
10336         (vms_attribute_table): New.
10337         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10338         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10339         (TARGET_ATTRIBUTE_TABLE): Define.
10340         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10341         * config/arm/arm.c (arm_valid_type_attribute_p,
10342         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10343         Remove.
10344         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10345         define.
10346         (TARGET_ATTRIBUTE_TABLE): Define.
10347         (arm_attribute_table, arm_handle_fndecl_attribute,
10348         arm_handle_isr_attribute): New.
10349         * config/avr/avr.c (avr_valid_type_attribute,
10350         avr_valid_decl_attribute): Remove.
10351         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10352         define.
10353         (TARGET_ATTRIBUTE_TABLE): Define.
10354         (avr_attribute_table, avr_handle_progmem_attribute,
10355         avr_handle_fndecl_attribute): New.
10356         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10357         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10358         (TARGET_ATTRIBUTE_TABLE): Define.
10359         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10360         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10361         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10362         (TARGET_ATTRIBUTE_TABLE): Define.
10363         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10364         h8300_handle_eightbit_data_attribute,
10365         h8300_handle_tiny_data_attribute): New.
10366         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10367         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10368         Remove prototypes.
10369         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10370         declarations.
10371         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10372         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10373         define.
10374         (TARGET_ATTRIBUTE_TABLE): Define.
10375         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10376         ix86_handle_regparm_attribute): New.
10377         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10378         i386_pe_valid_type_attribute_p): Remove.
10379         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10380         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10381         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10382         (TARGET_ATTRIBUTE_TABLE): Define.
10383         (ia64_attribute_table): New.
10384         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10385         interrupt_ident2, model_ident1, model_ident2): Remove.
10386         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10387         (TARGET_ATTRIBUTE_TABLE): Define.
10388         (init_idents): Update.
10389         (m32r_attribute_table, m32r_handle_model_attribute): New.
10390         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10391         Remove.
10392         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10393         (TARGET_ATTRIBUTE_TABLE): Define.
10394         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10395         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10396         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10397         (TARGET_ATTRIBUTE_TABLE): Define.
10398         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10399         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10400         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10401         (TARGET_ATTRIBUTE_TABLE): Define.
10402         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10403         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10404         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10405         (TARGET_ATTRIBUTE_TABLE): Define.
10406         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10407         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10408         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10409         (TARGET_ATTRIBUTE_TABLE): Define.
10410         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10411         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10412         New.
10413         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10414         Remove.
10415         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10416         (TARGET_ATTRIBUTE_TABLE): Define.
10417         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10418         New.
10419         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10420         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10421         (TARGET_ATTRIBUTE_TABLE): Define.
10422         (v850_attribute_table, v850_handle_interrupt_attribute,
10423         v850_handle_data_area_attribute): New.
10424         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10425         Return void.  Call decl_attributes instead of
10426         valid_machine_attribute.
10427
10428 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10429
10430         * sh-protos.h (sh_pr_n_sets): Declare.
10431         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10432         look at the copy to determine if PR needs to be saved.
10433         sh_pr_n_sets: New function.
10434         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10435         (ALLOCATE_INITIAL_VALUE): Define.
10436
10437         * sh.c (initial_elimination_offset):
10438         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10439
10440 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10441
10442         * integrate.c (allocate_initial_values): New function.
10443         * integrate.h (allocate_initial_values): Declare.
10444         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10445         here...
10446         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10447         from here...
10448         * toplev.c (rest_of_compilation): To here.
10449         Call allocate_initial_values.
10450         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10451
10452 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10453
10454         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10455
10456 2001-09-20  DJ Delorie  <dj@redhat.com>
10457
10458         * c-typeck.c (really_start_incremental_init): Discriminate
10459         between zero-length arrays and flexible arrays.
10460         (push_init_level): Detect zero-length arrays and handle them
10461         like fixed-sized arrays.
10462         * expr.c (store_constructor): Handle zero-length arrays and
10463         flexible arrays correctly.
10464         * doc/extend.texi: Update zero-length array notes.
10465
10466 2001-09-20  Jim Wilson  <wilson@redhat.com>
10467
10468         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10469         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10470         for issue port conflicts.
10471         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10472
10473 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10474
10475         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10476         on ia64.
10477
10478 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10479
10480         * fold-const.c (hashtab.h): Include.
10481         (int_const_binop): Remove FORSIZE arg and compute from type; all
10482         callers changed.
10483         Call size_int_type_wide for all single-word constants.
10484         (size_htab_hash, size_htab_eq): New functions.
10485         (size_int_type_wide): Rework to use hash table.
10486         * ggc-common.c (hashtab.h): Include.
10487         (struct d_htab_root): New struct.
10488         (d_htab_roots): New variable.
10489         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10490         (ggc_mark_roots): Handle deletable htabs.
10491         * ggc-page.c (ggc_marked_p): New function.
10492         * ggc-simple.c (ggc_marked_p): Likewise.
10493         * ggc.h: Reformatting throughout.
10494         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10495         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10496         (type_hash_add): Allocate struct type_hash from GC memory.
10497         (mark_hash_entry, mark_type_hash): Deleted.
10498         (type_hash_marked_p, type_hash_mark): New functions.
10499         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10500
10501 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10502
10503         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10504         than SImode.
10505
10506 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10507
10508         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10509         array-too-large test for signed sizetype.
10510
10511 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10512
10513         * i386.md (indirect_jump): Allow Pmode operand.
10514         (tablejump): LIkewise; perform expansion to 64bit mode.
10515         * i386.c (symbolic_operand): Allow 64bit PIC references.
10516         (pic_symbolic_operand): Likewise.
10517         (ix86_find_base_term): Strip the 64bit PIC references.
10518         (legitimate_pic_address_disp_p): Handle 64bit PIC.
10519         (legitimize_pic_address): Likewise.
10520         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
10521         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
10522
10523 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
10524
10525         * stringpool.c (get_identifier_with_length): New function.
10526         * tree.h (get_identifier_with_length): New prototype.
10527
10528 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
10529             David Edelsohn  <edelsohn@gnu.org>
10530
10531         Revert:
10532         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
10533         already sign-extended.
10534
10535         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
10536         * config/rs6000/rs6000.c (logical_operand): Always compare op as
10537         HOST_WIDE_INT.
10538         (rs6000_emit_set_long_const): Avoid unnecessary shift.
10539         (output_profile_hook): Declare label_name const.
10540         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
10541         to match constraints.
10542
10543 2001-09-19  Stan Shebs  <shebs@apple.com>
10544
10545         * alias.c: Fix typos in comments.
10546         * sched-rgn.c (init_ready_list): Ditto.
10547         * unwind-dw2.c (uw_frame_state_for): Ditto.
10548         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
10549         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
10550         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
10551
10552 2001-09-19  Richard Henderson  <rth@redhat.com>
10553
10554         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
10555         to the exit block.
10556         * Makefile.in (cfg.o): Depend on TM_P_H.
10557
10558 2001-09-19  Richard Henderson  <rth@redhat.com>
10559
10560         * config/alpha/alpha.c (local_symbol_p): Split out from ...
10561         (local_symbolic_operand): ... here.
10562         (small_symbolic_operand): Check mode.
10563         (global_symbolic_operand): New.
10564         (input_operand): Reject symbolics if explicit relocs.
10565         (call_operand): Tidy.
10566         (alpha_legitimize_address): Use movdi_er_high_g.
10567         (alpha_expand_mov): Likewise.
10568         * config/alpha/alpha-protos.h: Update.
10569         * config/alpha/alpha.h (PREDICATE_CODES): Update.
10570         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
10571         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
10572         (UNSPECV_LDGP2): Remove.
10573         (all call patterns): Use 's' not 'i' for symbolic constraint.
10574         (call_osf call_value_osf): Use call_operand.
10575         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
10576         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
10577         (prologue_ldgp_1_er): Remove.
10578         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
10579         (builtin_setjmp_receiver_er patterns): Use them.
10580         (exception_receiver_er): Likewise.
10581
10582 2001-09-19  Richard Henderson  <rth@redhat.com>
10583
10584         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
10585
10586         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
10587         and NON_LOCAL_GOTO notes.
10588         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
10589         copy over CALL_INSN_FUNCTION_USAGE.
10590
10591 2001-09-18  Catherine Moore  <clm@redhat.com>
10592
10593         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
10594         Define as 0.
10595
10596 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
10597
10598         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
10599         new-style tm_file specification.  Specify correct tm_p_file,
10600         md_file, and out_file for s390x.
10601
10602         * config/s390/linux.h, linux64.h:  Don't include other target
10603         macro header files.  Now handled via tm_file.
10604
10605         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
10606         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
10607         are defined before use.
10608
10609 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
10610
10611         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
10612         code generation only for Gnu assembler.
10613
10614 2001-09-18  Catherine Moore  <clm@redhat.com>
10615
10616         * config/stormy16 (LIB_SPEC): Remove -lnosys.
10617
10618 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
10619
10620         * config/mips/mips.c (mips_frame_set): New.
10621         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
10622         a parallel frame-related expression with a set for each register.
10623
10624 2001-09-18  Philip Blundell  <philb@gnu.org>
10625
10626         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
10627         header files.
10628
10629 2001-09-17  Dale Johannesen  <dalej@apple.com>
10630
10631         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
10632         * config/rs6000/aix.h (FIXED_R2): Define.
10633         * config/rs6000/darwin.h (FIXED_R2): Define.
10634         * config/rs6000/sysv4.h (FIXED_R2): Define.
10635
10636 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
10637
10638         * except.c (dw2_build_landing_pads): New local
10639         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
10640         barrier after clobbers.  Fixes c++/4012.
10641
10642 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10643
10644         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
10645
10646 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10647
10648         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
10649         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
10650
10651 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10652
10653         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
10654         alloca/strcpy.
10655
10656 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10657
10658         * cpphash.h (_cpp_lex_direct): New.
10659         * cpplex.c (_cpp_lex_token): Update.
10660         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
10661         and increment that pointer.
10662         * cppmacro.c (alloc_expansion_token): New.
10663         (lex_expansion_token): Lex macro expansion directly into
10664         macro storage.
10665
10666 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
10667
10668         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
10669
10670 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
10671
10672         * basic-block.h (free_bb_for_insn): Declare.
10673         * bb-reorder.c (label_for_bb): Use block_label.
10674         (emit_jump_to_block_after): Remove.
10675         (insert_intra_1): Do not update block_for_insn.
10676         (insert_inter_bb_scope_notes): Likewise; update bb->end
10677         * cfg.c (free_bb_for_insn): New.
10678         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
10679         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
10680         (commit_one_edge_insertion): Likewise.
10681         (commit_one_edge_insertion): Do not update BB boundary.
10682         (commit_edge_insertions): Do not call compute_bb_for_insn.
10683         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
10684         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
10685         (merge_blocks_move_successor_nojumps): Likewise.
10686         (try_crossjump_to_edge): Do not update block_for_insn.
10687         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
10688         * df.c (df_pattern_emit_later): Do not update BB boundary.
10689         (df_jump_pattern_emit_after): Likewise.
10690         (df_insn_move_before): Use emit_insn_before.
10691         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
10692          properly.
10693         (add_insn_after, add_insn_before, emit_insns_after): Update BB
10694         boundaries and basic_block_for_insn.
10695         (reorder_insns_nobb): Rename from reorder_insns.
10696         (reorder_insns): New.
10697         (emit_block_insn_before, emit_block_insn_after): Kill.
10698         * flow.c (check_function_return_warnings): Do not call
10699         compute_bb_for_insn; Do not free basic_block_for_insn.
10700         (attempt_auto_inc): Do not update basic_block_for_insn.
10701         * function.c (emit_return_into_block): Likewise;
10702         do not update BB boundaries.
10703         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
10704         (insert_insn_end_bb): Use emit_insn_before; Likewise.
10705         (pre_insert_copy_insn): Likewise.
10706         (update_ld_motion_notes): Likewise.
10707         (insert_insn_start_bb): Likewise.
10708         (replace_store_insn): Likewise.
10709         * ifcvt.c (noce_process_if_block): Likewise.
10710         (if_convert): Do not call compute_bb_for_insn.
10711         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
10712         Use emit_insn_before and emit_insn_after.
10713         * recog.c (split_all_insns): Do not update BB boundaries;
10714         Do not call compute_bb_for_insn.
10715         (peephole2_optimize): Do not update BB boundaries.
10716         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
10717         emit_insn_before.
10718         (emit_swap_insn): Likewise.
10719         (convert_regs_1): Likewise.
10720         * reload1.c (reload): Call compute_bb_for_insn.
10721         * rtl.h (reorder_insns_nobb): Declare.
10722         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
10723         * toplev.c (rest_of_compilation): Call free_bb_for_insn
10724         at places CFG is invalidated; do not call compute_bb_for_insn.
10725
10726         * cfg.c (expunge_block): Invalidate BB structure.
10727
10728         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
10729         array.
10730
10731         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
10732
10733 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10734
10735         * cpphash.h (_cpp_lex_token): Update prototype.
10736         * cpplex.c (_cpp_lex_token): New prototype.
10737         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
10738         lex_macro_node, read_flag, do_pragma_poison): Update.
10739         * cppmacro.c (cpp_get_token, parse_params,
10740         lex_expansion_token): Update.
10741
10742 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10743
10744         * cppmain.c (scan_translation_unit): Don't worry about
10745         putting a space after hashes.
10746         * cpplib.c (directive_diagnostics): New.
10747         (_cpp_handle_directive): Update to use directive_diagnostics.
10748         (run_directive): Don't toggle prevent_expansion.
10749         (do_line): Backup in case of the line extension.
10750         * cpplib.h (cpp_lexer_pos): Remove.
10751         * cppmacro.c (_cpp_create_definition): Precede a leading #
10752         with whitespace.
10753
10754 2001-09-15  Richard Henderson  <rth@redhat.com>
10755
10756         * c-typeck.c (comptypes): Handle zero-length arrays properly.
10757
10758 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10759
10760         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
10761
10762 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10763
10764         PR preprocessor/3571
10765         * tradcpp.c (handle_directive): Skip non-vertical space.
10766
10767 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10768
10769         * cppmain.c (setup_callbacks): Set line callback only
10770         if outputting preprocessed source.
10771
10772 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10773
10774         * collect2.c (main): Const-ification.
10775         * gcc.c (translate_options, process_command): Use xstrdup in
10776         lieu of xmalloc/strcpy.
10777         (main): Use concat in lieu of xmalloc/strcpy/strcat.
10778
10779 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10780
10781         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
10782         example.
10783
10784 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10785
10786         * scan-decls.c (scan_decls): Fix typo.
10787
10788 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10789
10790         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
10791         Split mlstring_pos into mls_line and mls_col.
10792         * cppinit.c (cpp_create_reader): Initialize line to 1.
10793         (cpp_destroy): Free tokenruns.
10794         (push_include): Don't update lexer_pos.
10795         * cpplex.c (unterminated, parse_string): Update.
10796         (lex_token): Don't update lexer_pos, update.
10797         * cpplib.c (if_stack): Save line instead of line + col.
10798         (start_directive, _cpp_do__Pragma, do_else, do_elif,
10799         push_conditional, _cpp_pop_buffer): Update.
10800         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
10801         (_cpp_create_definition): Update.
10802
10803 2001-09-15  Eric Christopher  <echristo@redhat.com>
10804
10805         * config/mips/abi64.h: Add support for MEABI.
10806
10807 2001-09-15  Eric Christopher  <echristo@redhat.com>
10808
10809         * config/mips/mips.md: Add unspec #2.
10810         (reload_indi): Use.
10811         (reload_outdi): Ditto.
10812         (reload_outsi): Ditto.
10813         (HILO_delay): New.
10814
10815 2001-09-15  Eric Christopher  <echristo@redhat.com>
10816             Jason Eckhardt  <jle@redhat.com>
10817
10818         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
10819         * config/mips/isa32-linux.h: New file.
10820         * config/mips/isa3264.h: Ditto.
10821         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
10822         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
10823         (output_block_mode): Support MEABI.
10824         (function_arg): Ditto. Fix floating point arg passing.
10825         (mips_va_start): Ditto.
10826         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
10827         processors.
10828         (mips_asm_file_start): Add new section to pass abi to gdb.
10829         (function_arg_pass_by_reference): Support MEABI.
10830         (mips_parse_cpu): Support mips32 and mips64 processors.
10831         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
10832         TARGET_MIPS5KC.  Support isa32 and isa64.
10833         (processor_type): Add r4kc, r5kc, r20kc.
10834         (GENERATE_MULT3_SI): New.
10835         (GENERATE_MULT3_DI): Ditto.
10836         (GENERATE_MULT3): Remove.
10837         (ISA_HAS_64BIT_REGS): Add isa == 64.
10838         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
10839         (ISA_HAS_MADD_MSUB): New.
10840         (ISA_HAS_CLZ_CLO): Ditto.
10841         (ISA_HAS_DCLZ_DCLO): Ditto.
10842         (ABI_GAS_ASM_SPEC): New.
10843         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
10844         (ASM_SPEC): Ditto.
10845         (LINK_SPEC): Ditto.
10846         (SUBTARGET_CC1_SPEC): Ditto.
10847         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10848         (PAD_VARARGS_DOWN): Support MEABI.
10849         (HARD_REGNO_NREGS): Move to mips.c.
10850         (ASM_OUTPUT_IDENT): Add #undef.
10851         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
10852         (mulsi3): Use GENERATE_MULT3_SI.
10853         (mulsi3_mult3): Ditto.  Support mips32, mips64.
10854         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
10855         (mul_sub_si): New pattern.
10856         (unnamed splitters): New.
10857         (muldi3): Use GENERATE_MULT3_DI.
10858         (muldi3_internal2): Ditto.
10859         (movdicc): Support mips32.
10860         * config/mips/t-isa3264: New file.
10861
10862 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
10863
10864         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
10865         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
10866         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
10867
10868         * reorg.c (fill_slots_from_thread): After call to
10869         steal_delay_list_from_target, update own_thread as new_thread may
10870         have branched.
10871
10872 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10873
10874         * cpperror.c (print_location): Take line and column, for
10875         default positioning use the previously lexed token.
10876         (_cpp_begin_message): Take line and column.
10877         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10878         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10879         * cpphash.h (_cpp_begin_message): Update prototype.
10880         * cppinit.c (push_include): Don't set output line.
10881         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
10882         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
10883         (do_pragma): Kludge for front ends.  Don't expand macros at all.
10884         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
10885         (struct cpp_token): Remove output_line.
10886         (struct cpp_callbacks): New member line_change.
10887         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
10888         cpp_get_token): Preserve BOL flag.
10889         (cpp_get_line): Remove.
10890         (_cpp_backup_tokens): Remove useless abort().
10891         * cppmain.c (cb_line_change): New.
10892         (scan_translation_unit): Don't worry about starting new lines here.
10893         * scan-decls.c (scan_decls): Update.
10894         * c-lex.c (c_lex, init_c_lex): Update.
10895         (cb_line_change, src_lineno): New.
10896
10897 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
10898
10899         * tree.c (append_random_chars): Generate the random
10900         characters in a reproducable fashion.
10901
10902 2001-09-14  Richard Henderson  <rth@redhat.com>
10903
10904         * config/i386/i386.c (internal_label_prefix): New.
10905         (internal_label_prefix_len): New.
10906         (override_options): Set them.
10907         (local_symbolic_operand): New.
10908         (legitimate_pic_address_disp_p): Use it.
10909         (legitimize_pic_address): Likewise.
10910
10911 2001-09-14  Marc Espie <espie@openbsd.org>
10912
10913         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
10914         correctly.
10915
10916 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10917
10918         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
10919         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
10920
10921 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
10922
10923         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
10924         invocation of SUBREG_REGNO_OFFSET.
10925
10926         * haifa-sched.c: Fix typo in FSF copyright statement.
10927         * sched-deps.c: Fix typo in FSF copyright statement.
10928         * sched-ebb.c: Fix typo in FSF copyright statement.
10929         * sched-rgn.c: Fix typo in FSF copyright statement.
10930         * sched-vis.c: Fix typo in FSF copyright statement.
10931
10932         * config.gcc: Move inclusion of arm elf specific header files
10933         from the files themselves into the tm_file variable.  Make
10934         sure that elfos.h is included before target specific elf
10935         headers.
10936         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
10937         already defined.
10938         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
10939         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
10940         ASM_OUTPUT_CASE_LABEL): Protect definition.
10941         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
10942         not already defined.
10943         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
10944         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
10945         Remove duplicate definition.
10946         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
10947         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
10948         (RDATA_SECTION_FUNCTION): Remove redundant definition.
10949         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
10950         Remove inclusion of arm/elf.h.
10951         * config/arm/unknown-elf.h: as for conix-elf.h.
10952         (STARTFILE_SPEC): Include crti.o and crtn.o.
10953         * config/arm/linux-elf.h: as for conix-elf.h.
10954         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
10955         * config/arm/strongarm-elf.h: Remove inclusion of
10956         unknown-elf.h.
10957         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
10958         * config/arm/unknown-elf-oabi.h: Remove inclusion of
10959         unknown-elf.h and elf.h.
10960         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
10961         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
10962         ASM_WEAKEN_LABEL): Remove redundant definition.
10963         * config/arm/elf.h: Test for inclusion of elfos.h
10964         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
10965         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
10966         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
10967         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
10968         redundant definition.
10969         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
10970         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
10971         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
10972         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
10973         Add rules to build crti.o and crtn.o
10974         * crti.asm: New file.
10975         * crtn.asm: New file.
10976
10977 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10978
10979         * c-parse.in (_yylex): Use _cpp_backup_tokens.
10980         * cpphash.h (struct tokenrun): Add prev.
10981         (struct lexer_state): Remove bol.
10982         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
10983         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
10984         : Remove.
10985         * cppinit.c (cpp_create_reader): Don't set bol.
10986         (cpp_destroy): Don't free lookaheads.
10987         * cpplex.c (lex_directive): Remove.
10988         (next_tokenrun): Update.
10989         (_cpp_lex_token): Clean up logic.
10990         (lex_token): Update to return a pointer to lexed token, since it
10991         can move to the start of the buffer.  Simpify newline handling.
10992         * cpplib.c (SEEN_EOL): Update.
10993         (skip_rest_of_line): Remove lookahead stuff.
10994         (end_directive): Line numbers are already incremented.  Revert
10995         to start of lexed token buffer if we can.
10996         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
10997         parse_answer): Use _cpp_backup_tokens.
10998         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
10999         instead.  Don't check for EOL.
11000         (do_include_common, do_line, do_pragma_system_header): Use
11001         skip_rest_of_line.
11002         * cpplib.h (BOL, _cpp_backup_tokens): New.
11003         * cppmacro.c (save_lookahead_token, take_lookahead_token,
11004         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
11005         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
11006         (builtin_macro): Don't use cpp_get_line.
11007         (cpp_get_line): Short term kludge.
11008         (parse_arg): Handle directives in arguments here.  Back up when
11009         appropriate.  Store EOF at end of argument list.
11010         (funlike_invocation_p): Use _cpp_backup_tokens.
11011         (push_arg_context): Account for EOF at end of list.
11012         (cpp_get_token): Remove lookahead stuff.  Update.
11013
11014 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11015
11016         * c-parse.in (yyerror): Const-ification and/or static-ization.
11017         * c-typeck.c (push_member_name): Likewise.
11018         * collect2.c (main): Likewise.
11019         * dbxout.c (dbxout_parms): Likewise.
11020         * diagnostic.c (format_with_decl): Likewise.
11021         * dwarf2out.c (output_ranges): Likewise.
11022         * dwarfout.c (fundamental_type_code): Likewise.
11023         * except.c (dw2_output_call_site_table): Likewise.
11024         * gcc.c (do_spec_1): Likewise.
11025         * genopinit.c (optabs): Likewise.
11026         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
11027         gen_declaration_1, handle_impent): Likewise.
11028         * protoize.c (default_include, in_system_include_dir, abspath):
11029         Likewise.
11030         * sched-vis.c (visualize_stall_cycles): Likewise.
11031         * sdbout.c (plain_type_1, sdbout_end_function,
11032         sdbout_end_epilogue): Likewise.
11033         * varasm.c (decode_reg_name): Likewise.
11034
11035         * 1750a.c (mod_regno_adjust): Likewise.
11036         * alpha.c (alpha_write_one_linkage,
11037         unicosmk_output_default_externs): Likewise.
11038         * arm.c (arm_condition_codes): Likewise.
11039         * arm.h (arm_condition_codes): Likewise.
11040         * avr.c (output_movsisf, encode_section_info): Likewise.
11041         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
11042         Likewise.
11043         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11044         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11045         * m88k.c (output_function_profiler): Likewise.
11046         * mips.c (mips_output_conditional_branch): Likewise.
11047         * ns32k.c (ns32k_out_reg_names): Likewise.
11048         * ns32k.h (ns32k_out_reg_names): Likewise.
11049         * pj.c (pj_output_rval): Likewise.
11050         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
11051         * sparc.c (sparc_flat_function_prologue,
11052         sparc_flat_function_epilogue): Likewise.
11053
11054 2001-09-13  Markus Werle <numerical.simulation@web.de>
11055             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11056
11057         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
11058         Aachen University of Technology".
11059
11060 2001-09-13  Andreas Schwab  <schwab@suse.de>
11061
11062         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
11063         C99.
11064
11065 2001-09-13  Richard Henderson  <rth@redhat.com>
11066
11067         * config/alpha/alpha.c (small_symbolic_operand): New.
11068         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
11069         (some_operand, input_operand): Don't handle HIGH.
11070         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
11071         (alpha_expand_mov): Likewise.
11072         (print_operand) [H]: Just print HIGH symbol.
11073         (print_operand_address): Handle small data.
11074         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
11075         (TARGET_SWITCHES): Add -msmall-data/large-data.
11076         (PIC_OFFSET_TABLE_REGNUM): New.
11077         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
11078         (PREDICATE_COES): Update.
11079         * config/alpha/alpha.md (adddi_er_high): New.
11080         (adddi_er_low): Handle small data.
11081         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
11082         prefer .sdata to .rodata.
11083         (SELECT_RTX_SECTION): Likewise.
11084
11085 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
11086
11087         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
11088         defining __size_t and leaving size_t undefined.
11089
11090 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
11091
11092         * basic-block.h (expunge_block): Declare.
11093         * cfg.c (expunge_block): Remove static declaration.
11094
11095 2001-09-12  Richard Henderson  <rth@redhat.com>
11096
11097         * integrate.c (copy_insn_list): Copy label name from
11098         NOTE_INSN_DELETED_LABEL.
11099
11100 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11101
11102         * c-common.c (c_tree_code_name): Const-ification.
11103         * c-decl.c (c_decode_option): Likewise.
11104         * c-typeck.c (warn_for_assignment): Likewise.
11105         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
11106         Likewise.
11107         * cppinit.c (output_deps): Likewise.
11108         * dependence.c (dependence_string, direction_string): Likewise.
11109         * dwarf2out.c (output_ranges): Likewise.
11110         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
11111         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
11112         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
11113         standard_startfile_prefix, standard_startfile_prefix_1,
11114         standard_startfile_prefix_2, tooldir_base_prefix,
11115         standard_bindir_prefix, find_a_file): Likewise.
11116         * genattrtab.c (make_length_attrs): Likewise.
11117         * gencheck.c (tree_codes): Likewise.
11118         * genemit.c (gen_split): Likewise.
11119         * genrecog.c (special_mode_pred_table): Likewise.
11120         * graph.c (graph_ext): Likewise.
11121         * protoize (default_include): Likewise.
11122         * reload.c (reload_when_needed_name): Likewise.
11123         * sched-vis.c (visualize_stall_cycles): Likewise.
11124         * tlink.c (recompile_files): Likewise.
11125         * toplev.c (decode_g_option): Likewise.
11126         * tradcpp.c (output_deps): Likewise.
11127         * varasm.c (decode_reg_name): Likewise.
11128
11129         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
11130         Const-ification.
11131         * arm.md: Likewise.
11132         * avr.c (avr_regnames, encode_section_info): Likewise.
11133         * c4x.c (float_reg_names): Likewise.
11134         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
11135         * elfos.h (const_section): Likewise.
11136         * i386.c (ix86_comp_type_attributes): Likewise.
11137         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
11138         * ia64/aix.h (UNIQUE_SECTION): Likewise.
11139         * ia64.c (type_names): Likewise.
11140         * m68hc11.c (reg_class_names): Likewise.
11141         * m88k.c (m_options): Likewise.
11142         * mips.c (mips_output_conditional_branch, mips_unique_section):
11143         Likewise.
11144         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11145         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
11146         ultra_code_names): Likewise.
11147         * sparc.h (OVERRIDE_OPTIONS): Likewise.
11148
11149 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
11150
11151         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
11152         Use --fatal-warnings option for gas.
11153         * configure: Rebuilt.
11154
11155 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11156
11157         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
11158
11159 2001-09-11  Jim Wilson  <wilson@redhat.com>
11160
11161         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
11162
11163 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11164
11165         * builtins.c (c_strlen): Treat an offset too large for a
11166         HOST_WIDE_INT as out of range.
11167
11168 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
11169
11170         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
11171         (EDGE_CRITICAL_P): New predicate.
11172         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
11173         handling.
11174         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
11175         (dump_edge_info): Remove "crit".
11176         * cfganal.c (mark_critical_edges): Kill.
11177         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
11178         * cfgcleanup.c (cleanup_cfg): Likewise.
11179         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
11180         (find_spanning_tree): Likewise.
11181         * reg-stack.c (convert_regs_1): Likewise.
11182         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
11183
11184         * basic-block.h (create_basic_block_structure): New.
11185         (create_basic_block): Update prototype.
11186         (force_nonfallthru): New.
11187         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
11188         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
11189         handle updating of block_for_insn, creating of empty BBs and BBs at
11190         the end of INSN chain.
11191         (create_basic_block): New function.
11192         (split_block): Use create_basic_block.
11193         (force_nonfallthru_and_redirect): Break out from ...; cleanup
11194         (redirect_edge_and_branch_force): ... here.
11195         (force_nonfallthru): New.
11196         (split_edge): Rewrite to use force_nonfallthru and create_block.
11197         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
11198         (find_basic_blocks): Free basic_block_for_insn.
11199         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
11200
11201         * cfg.c: Fix formating.
11202         * cfgcleanup.c: Fix formating.
11203         (merge_blocks, tail_recursion_label_p): Return bool.
11204         (merge_blocks_move_predecessor_nojumps,
11205          merge_blocks_move_successor_nojumps): Return void.
11206
11207 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
11208
11209         * configure.in: Check whether assembler supports section merging.
11210         * config.in: Rebuilt.
11211         * configure: Rebuilt.
11212         * varasm.c (variable_section, output_constant_pool): Pass alignment
11213         to SELECT_SECTION and SELECT_RTX_SECTION.
11214         (mergeable_string_section): New.
11215         (mergeable_constant_section): New.
11216         (default_elf_asm_named_section): Output SECTION_MERGE and
11217         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11218         * output.h (mergeable_string_section): New.
11219         (mergeable_constant_section): New.
11220         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
11221         * toplev.c (flag_merge_constants): New.
11222         (f_options): Add -fmerge-constants and -fmerge-all-constants
11223         options.
11224         (toplev_main): Default to -fno-merge-constants if not optimizing.
11225         * flags.h (flag_merge_constants): Add extern.
11226         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11227         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11228         argument.
11229         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11230         Define if assembler has working .subsection -1 support.
11231         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11232         Put constant into special SHF_MERGE sections if the linker should
11233         attempt to merge duplicates.
11234         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11235         macro argument.
11236         Put constant into special SHF_MERGE sections if the linker should
11237         attempt to merge duplicates.
11238         * config/alpha/elf.h: Likewise.
11239         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11240         has working .subsection -1 support.
11241         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11242         SELECT_SECTION.
11243         * config/svr3.h: Likewise.
11244         * config/darwin.h: Likewise.
11245         * config/arm/aof.h: Likewise.
11246         * config/arm/linux-elf.h: Likewise.
11247         * config/avr/avr.h: Likewise.
11248         * config/c4x/c4x.h: Likewise.
11249         * config/d30v/d30v.h: Likewise.
11250         * config/i386/dgux.h: Likewise.
11251         * config/i386/osfrose.h: Likewise.
11252         * config/i386/sco5.h: Likewise.
11253         * config/i386/svr3gas.h: Likewise.
11254         * config/ia64/aix.h: Likewise.
11255         * config/m32r/m32r.h: Likewise.
11256         * config/m68k/m68k.h: Likewise.
11257         * config/m88k/dgux.h: Likewise.
11258         * config/m88k/m88k.h: Likewise.
11259         * config/mcore/mcore-pe.h: Likewise.
11260         * config/mips/mips.h: Likewise.
11261         * config/pa/pa.h: Likewise.
11262         * config/pa/pa-linux.h: Likewise.
11263         * config/romp/romp.h: Likewise.
11264         * config/rs6000/sysv4.h: Likewise.
11265         * config/rs6000/xcoff.h: Likewise.
11266         * config/s390/linux.h: Likewise.
11267         * config/sparc/sparc.h: Likewise.
11268         * config/sparc/sysv4.h: Likewise.
11269         * config/stormy16/stormy16.h: Likewise.
11270         * config/v850/v850.h: Likewise.
11271         * config/vax/vms.h: Likewise.
11272         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11273         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11274         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11275         default_elf_asm_named_section for SHF_MERGE sections.
11276
11277 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11278
11279         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11280         is OK.
11281
11282 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11283
11284         * c-common.c (split_specs_attrs): Allow for empty attributes with
11285         empty TREE_PURPOSE.  Fixes PR c/4294.
11286
11287 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11288
11289         * basic-block.h (cached_make_edge, make_single_succ): New.
11290         (make_edge): Remove first parameter.
11291         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11292         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11293         created edge; use obstack allocation.
11294         (make_edge, make_single_succ_edge): New.
11295         (first_removed_edge): New static variable.
11296         (init_flow): Initialize first_removed_edge and n_edges.
11297         (clear_edges): Use remove_edge.
11298         (flow_delete_block): Likewise.
11299         (remove_edge): Add removed edges to the removed edges list.
11300         (split_block, redirect_edge_and_branch_force, split_edge):
11301         Use make_edge.
11302         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11303         (add_noreturn_fake_exit_edges): Likewise.
11304         (connect_infinite_loops_to_exit): Liekwise.
11305         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11306         Use cached_make_edge.
11307         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11308         * profile.c (branch_prob): Update make_edge call.
11309         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11310
11311 2001-09-11  Richard Henderson  <rth@redhat.com>
11312
11313         * config/alpha/alpha.c: Tidy formatting.
11314         (local_symbolic_operand): Verify mode.
11315         (alpha_sa_mask): Ignore unicos for eh_return.
11316         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11317         * config/alpha/alpha.md (umk divsi patterns): Remove.
11318         (extendsfdf2): Remove unicos check.
11319         (tablejump): Merge vms and unicos code; always use direct set
11320         plus label_ref use.
11321
11322 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11323
11324         * config.gcc (alpha*-*-unicosmk*): New target.
11325
11326         * config/alpha/alpha-protos.h (symbolic_operand,
11327         unicosmk_add_call_info_word, unicosmk_add_extern,
11328         unicosmk_defer_case_vector, unicosmk_unique_section,
11329         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11330         unicosmk_asm_file_start, unicosmk_asm_file_end,
11331         unicosmk_output_common): Declare.
11332
11333         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11334         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11335         alpha_does_function_need_gp, alpha_end_function): Support Cray
11336         Unicos/Mk.
11337         (alpha_init_machine_status, alpha_mark_machine_status,
11338         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11339         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11340         unicosmk_asm_named_section, unicosmk_insert_attributes,
11341         unicosmk_section_type_flags, symbolic_operand,
11342         unicosmk_output_module_name, unicosmk_output_default_externs,
11343         unicosmk_output_dex, unicosmk_output_externs,
11344         unicosmk_output_addr_vec, unicosmk_ssib_name,
11345         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11346         unicosmk_asm_file_end, unicosmk_output_common,
11347         unicosmk_section_type_flags, unicosmk_unique_section,
11348         unicosmk_add_call_info_word, unicosmk_text_section,
11349         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11350         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11351         unicosmk_dex_count, unicosmk_special_name): New.
11352         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11353         TARGET_ABI_UNICOSMK.
11354         (get_aligned_mem, alpha_expand_unaligned_load,
11355         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11356         alpha_expand_unaligned_store_words): Support big-endian mode.
11357         (print_operand): Likewise. New format specifier 't'. Use
11358         TARGET_AS_SLASH_BEFORE_SUFFIX.
11359         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11360         (alpha_pv_save_size): Update with above change.
11361         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11362         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11363         Unicos/Mk.
11364
11365         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11366         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11367         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11368         (EXTRA_CONSTRAINT): New constraint 'U'.
11369         (PREDICATE_CODES): Add symbolic_operand.
11370
11371         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11372         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11373         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11374         (integer division and modulus patterns): Split in default and
11375         Unicos/Mk versions.
11376         (*divmodsi_internal, *divmoddi_internal): Disable for
11377         TARGET_ABI_UNICOSMK.
11378         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11379         little-endian and big-endian versions.
11380         (ext, ins, msk): Likewise.
11381         (extv, extzv, insv): Support big-endian mode.
11382         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11383         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11384         *tablejump_umk_internal, *call_value_umk): New.
11385         (*movdi_nofix): Add pattern for loading an address into a register on
11386         TARGET_ABI_UNICOSMK.
11387         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11388         (umk_mismatch_args, arg_home_umk): New.
11389         (various insns): Don't use mov, fmov, nop, fnop and unop.
11390         (realign): Support TARGET_ABI_UNICOSMK.
11391
11392         * config/alpha/unicosmk.h: New file.
11393         * config/alpha/t-unicosmk: New file.
11394
11395         * fixinc/inclhack.def (unicosmk_restrict): New.
11396         * fixinc/fixincl.x: Regenerate.
11397
11398         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11399         (wchar_t): Check for and define __WCHAR_T__.
11400
11401 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11402
11403         * combine.c (simplify_shift_const): Treat shifts by the mode
11404         size as undefined.
11405
11406 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11407
11408         * cpphash.h (struct tokenrun): New.
11409         (struct cpp_context): New member bol.
11410         (struct cpp_reader): New members.
11411         (_cpp_init_tokenrun): New.
11412         * cppinit.c (cpp_create_reader): Set up the token runs.
11413         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11414         (lex_token): New internalised version of _cpp_lex_token.  Don't
11415         handle directives or the multiple include optimization here any
11416         more.  Simply lex a token.
11417         * cpplib.c (run_directive): Clear bol.
11418         (_cpp_pop_buffer): Set bol.
11419         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11420         arguments.
11421
11422 2001-09-11  Michael Meissner  <meissner@redhat.com>
11423
11424         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11425         give an error if the user uses -mfp32.
11426         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11427         default options.
11428         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11429         floating point register size.
11430         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11431
11432         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11433         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11434         int_size_in_bytes.
11435         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11436         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11437
11438 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11439
11440         * dbxout.c (dbxout_parms): Fix typo in comment.
11441         * unroll.c (loop_find_equiv_value): Ditto.
11442         * toplev.c (rest_of_compilation): Ditto.
11443         * loop.c (scan_loop): Ditto.
11444         * dwarf2out.c (struct dw_fde_struct): Ditto.
11445
11446 2001-09-10  Zack Weinberg  <zackw@panix.com>
11447
11448         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11449         copying identifier when we're just going to throw it away.
11450         (parse_identifier_slow): New routine to handle abnormal cases.
11451         (_cpp_lex_token): Update call site.
11452
11453         * hashtable.c (ht_lookup): Don't assume that the string we've
11454         been given is NUL-terminated.
11455         * system.h: #define __builtin_expect(a, b) to (a) if not
11456         GCC >=3.0.
11457
11458 2001-09-10  Michael Meissner  <meissner@redhat.com>
11459
11460         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11461         binutils, gdb.
11462
11463 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11464
11465         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11466
11467 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11468
11469         * builtins.c (c_getstr): Correct thinko in last change and further
11470         cleanup.
11471
11472 2001-09-10  Tim Freeman <tim@fungibole.com>
11473
11474         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11475         into varray's and register them as roots with the garbage
11476         collector so they are not collected too soon.
11477
11478 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11479
11480         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11481         New.
11482         * basic-block.h (flow_obstack, label_value_list,
11483         tail_recursion_label_list): Declare
11484         (tidy_fallthru_edges): Declare.
11485         (expunge_block, last_loop_beg_note): Delete.
11486         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11487         * cfg.c: New file
11488         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11489         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11490         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11491         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11492         expunge_block, flow_delete_block, compute_bb_for_insn,
11493         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11494         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11495         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11496         try_redirect_by_replacing_jump, last_loop_beg_note,
11497         redirect_edge_and_branch, redirect_edge_and_branch_force,
11498         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11499         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11500         commit_edge_insertions, dump_flow_info, debug_flow_info,
11501         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11502         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11503         Move here from flow.c
11504         * cfganal.c: New file.
11505         (forwarder_block_p, can_fallthru, mark_critical_edges,
11506          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11507          find_unreachable_blocks, create_edge_list, free_edge_list,
11508          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11509          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11510          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11511          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11512          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11513          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
11514         Move here from flow.c
11515         * cfgbuild.c: New file
11516         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
11517          make_edges, find_basic_blocks_1, find_basic_blocks,
11518          find_sub_basic_blocks): Move here from flow.c
11519         * cfgcleanup.c: New file.
11520         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
11521          merge_blocks_move_predecessor_nojumps,
11522          merge_blocks_move_successor_nojumps, merge_blocks,
11523          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11524          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
11525         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
11526         if succeeded.
11527         * cfgloop.c: New file
11528         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
11529          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
11530          flow_loop_exit_edges_find, flow_loop_nodes_find,
11531          flow_loop_pre_header_scan, flow_loop_pre_header_find,
11532          flow_loop_tree_node_add, flow_loops_tree_build,
11533          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
11534          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
11535         Move here from flow.c
11536         * flow.c: Remove everything moved elsewhere
11537         * output.h (cleanup_cfg): Return bool.
11538
11539         * bb-reorder.c (reorder_block_def): Remove 'index'.
11540         (insert_intra_1): Add argument BB, set block for new note.
11541         (make_reorder_chain): Do not depdent on BB indexes.
11542         (make_reorder_chain_1): Do not use BB indexes.
11543         (label_for_bb): Likewise; set BB for new insn.
11544         (emit_jump_to_block_after): Likewise.
11545         (fixup_reorder_chain): Sanity check that all basic blocks
11546         are chained; verify newly created insn chain; remove
11547         undocnitional jump simplifying; Do not use BB indexes;
11548         properly initialize count and frequency information;
11549         dump reordered sequence.
11550         (insert_intra_bb_scope_notes): update call of insert_intra_1.
11551         (insert_inter_bb_scope_notes): Set block for new insn.
11552         (reorder_basic_blocks): Dump flow info before reoredering.
11553
11554 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11555
11556         * alias.c (clear_reg_alias_info): Use K&R format definition.
11557         Avoid unsigned warning.
11558         * builtins.c: Use "unsigned int", not "unsigned".
11559         (target_char_cast): Use host_integerp and tree_low_cst.
11560         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
11561         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
11562         (c_getstr): Likewise.
11563         (std_expand_builtin_va_arg): Use int_size_in_bytes.
11564         (builtin_memcpy_read_str): Avoid unsigned warning.
11565         (expand_builtin_memcpy): Alignments are unsigned.
11566         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
11567         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
11568         * predict.c (expensive_function_p): LIMIT now unsigned.
11569         * resource.c (mark_target_live_regs): Make some vars unsigned.
11570         * sdbout.c: Use "unsigned int", not "unsigned".
11571         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
11572         (sdbout_source_line): Likewise.
11573         (sdbout_record_type_name): Remove "const" for NAME declaration.
11574         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
11575
11576 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
11577
11578         * calls.c (store_one_arg): Expand comment.
11579
11580 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11581
11582         * calls.c (store_one_arg): Make sure that the entire argument is
11583         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
11584
11585 2001-09-09  Richard Henderson  <rth@redhat.com>
11586
11587         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
11588
11589 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
11590
11591         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
11592
11593 2001-09-09  Richard Henderson  <rth@redhat.com>
11594
11595         * config/alpha/alpha.c (alpha_next_sequence_number): New.
11596         (alpha_this_literal_sequence_number): New.
11597         (alpha_this_gpdisp_sequence_number): New.
11598         (some_operand, input_operand): Add HIGH.
11599         (local_symbolic_operand): New.
11600         (alpha_encode_section_info): New.
11601         (alpha_legitimate_address_p): Allow LO_SUM.
11602         (alpha_legitimize_address): Generate HIGH+LO_SUM.
11603         (alpha_expand_mov): Likewise.
11604         (secondary_reload_class): Check memory_operand not general_operand
11605         for FP_REGS test.
11606         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
11607         (alpha_expand_unaligned_store): Likewise.
11608         (alpha_expand_unaligned_load_words): Likewise.
11609         (alpha_expand_unaligned_store_words): Likewise.
11610         (alpha_expand_block_clear): Likewise.
11611         (print_operand): Handle %#, %*, %H.
11612         (print_operand_address): Handle LO_SUM.
11613         (find_lo_sum): New.
11614         (alpha_does_function_need_gp): Use it.
11615         (alpha_expand_block_move): Fix signed compare warnings.
11616         (alpha_sa_mask, alpha_align_insns): Likewise.
11617         * config/alpha/alpha-protos.h: Update.
11618         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
11619         (MASK_EXPLICIT_RELOCS): New.
11620         (TARGET_SWITCHES): Add -mexplicit-relocs.
11621         (EXTRA_CONSTRAINT): Add 'T'.
11622         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
11623         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
11624         (ENCODE_SECTION_INFO): Out line.
11625         (REDO_SECTION_INFO_P): New.
11626         (STRIP_NAME_ENCODING): New.
11627         (ASM_OUTPUT_LABELREF): New.
11628         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
11629         (PREDICATE_CODES): Update.
11630         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
11631         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
11632         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
11633         builtin_setjmp_receiver_er, exception_receiver_1_er,
11634         call_value_osf_1_er): New patterns.
11635         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
11636         (movqi, movhi, movsi): Add explicit $31 base register to lda.
11637         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
11638         (FINAL_PRESCAN_INSN): New.
11639
11640 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
11641
11642         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
11643
11644 2001-09-08  Andreas Jaeger  <aj@suse.de>
11645
11646         * i386.h (TARGET_SWITCHES): Fix description.
11647
11648 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
11649
11650         * rs6000.c (num_insns_constant): Compute number of instructions
11651         more accurately.
11652
11653         * doc/install.texi: Explain AIX exception handling work-around.
11654         Update URL for AIX fixes.
11655
11656 2001-09-07  Jim Wilson  <wilson@redhat.com>
11657
11658         * alias.c (clear_reg_alias_info): New.
11659         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
11660         * rtl.h (clear_reg_alias_info): Declare.
11661
11662 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11663
11664         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
11665         available.
11666         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
11667         (m16m,edivm,emulm): Change declaration to match definition.
11668
11669 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
11670
11671         * reload.c (push_reload): Check for subreg_lowpart_p instead of
11672         SUBREG_BYTE being 0 when determining if the inner part of a subreg
11673         can be reloaded.
11674
11675 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11676
11677         * c-common.c (signed_or_unsigned_type): Handle machine mode types
11678         which have no corresponding C type.
11679         * fold_const.c (target_isinf,target_isnan,target_negative): Update
11680         the representation of 64-bit doubles to work with 64-bit ints.
11681
11682 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
11683
11684         * config/mips/mips.c (override_options): Do not override ISA when ABI
11685         specified if MIPS_CPU_STRING_DEFAULT was specified.
11686
11687 2001-09-07  Richard Henderson  <rth@redhat.com>
11688
11689         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
11690         (express_from_1): Wrap lines.
11691         * rtlanal.c (commutative_operand_precedence): Rename from
11692         operand_preference; export.
11693         * rtl.h: Declare it.
11694         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
11695         (simplify_binary_operation): Invoke simplify_plus_minus on
11696         (CONST (PLUS ...)) as well.
11697         (struct simplify_plus_minus_op_data): New.
11698         (simplify_plus_minus_op_data_cmp): New.
11699         (simplify_plus_minus): Use them.  Avoid infinite recursion with
11700         simplify_binary_operation wrt CONST.
11701
11702 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
11703
11704         * h8300-protos.h (general_operand_dst_push): Remove.
11705         * h8300.c (general_operand_dst_push): Likewise.
11706         * h8300.h (OK_FOR_T): Likewise.
11707         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
11708         * h8300.md (pushqi_h8300): New.
11709         (pushqi_h8300hs): Likewise.
11710         (pushqi): Likewise.
11711         (pushhi_h8300): Likewise.
11712         (pushhi_h8300hs): Likewise.
11713         (pushhi): Likewise.
11714
11715 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11716
11717         * genattrtab.c (attr_printf): First arg is unsigned.
11718         Clean up formatting of callers.
11719
11720 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
11721
11722         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
11723         registers.
11724
11725 2001-09-07  Andreas Jaeger  <aj@suse.de>
11726
11727         * i386.h (TARGET_SWITCHES): Fix descriptions.
11728
11729 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11730
11731         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
11732
11733 2001-09-06  Ira Ruben  <ira@apple.com>
11734
11735         Remove OP_IDENTIFIER.
11736         * tree.def (OP_IDENTIFIER): Remove.
11737         * tree.c (tree_node_kind enum): Remove op_id_kind.
11738         (tree_node_kind_names): Remove "op_identifiers".
11739         (make_node): Remove OP_IDENTIFIER test.
11740         (build_op_identifier): Removed because it isn't being used.
11741         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
11742         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
11743
11744 2001-09-06  Richard Henderson  <rth@redhat.com>
11745
11746         * simplify-rtx.c (simplify_binary_operation): Revert last change.
11747
11748 2001-09-06  Richard Henderson  <rth@redhat.com>
11749
11750         * simplify-rtx.c (simplify_binary_operation): Simplify contents
11751         of CONST.
11752
11753 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11754
11755         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
11756         number used for CR register.
11757
11758 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11759                           Joern Rennecke (amylaar@cygnus.com)
11760
11761         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
11762         * h8300.c (initial_offset): Handle offset between RP and FP.
11763         (h8300_return_addr_rtx): New function.
11764         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
11765         return register.
11766         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
11767         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11768         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
11769         (CAN_ELIMINATE, REGISTER_NAMES):
11770         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
11771
11772 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
11773
11774         Remove TYPE_NONCOPIED_PARTS.
11775         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
11776         (struct tree_type): Remove noncopied_parts.
11777         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
11778         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
11779         (fixed_type_p): Remove.
11780         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
11781         (expand_expr, MODIFY_EXPR): Likewise.
11782         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
11783         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
11784
11785 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
11786
11787         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
11788         compiler warnings.
11789         (mask64_operand): Likewise.
11790         (includes_rldic_lshift_p): Likewise.
11791         (includes_rldicr_lshift_p): Likewise.
11792
11793 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
11794
11795         * objc/objc-act.c (build_message_expr): If a class method cannot
11796         be found, do not issue a warning if a corresponding instance
11797         method exists in the root class.
11798
11799 2001-09-05  Richard Henderson  <rth@redhat.com>
11800
11801         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
11802
11803 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
11804
11805         * function.c (ggc_mark_struct_function): Mark f->outer.
11806         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
11807         * integrate.c (output_inline_function): ... not here.
11808
11809 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11810
11811         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
11812
11813         * i386.c (size_cost): New static variable.
11814         (override_function): Use size_cost when -Os is specified.
11815
11816         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
11817         properly;  Use current_function_calls_eh_return.
11818         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
11819         use leave to avoid dependency chain.
11820
11821         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
11822         get BB loop_depth instead of computing it from LOOP notes.
11823
11824         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
11825
11826 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11827
11828         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11829         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11830         UNALIGNED_DOUBLE_INT_ASM_OP): Define
11831
11832 2001-09-05  Jeffrey A Law  (law@cygnus.com)
11833             Jason Merrill (jason@redhat.com)
11834
11835         * stor-layout.c (layout_type): Complain if an array's size can
11836         not be represented in a size_t.
11837
11838         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
11839
11840 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
11841
11842         * gcc.c: (process_command) Add parentheses around assignment
11843         used as truth value.
11844
11845 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11846
11847         * config/mips/mips.c (save_restore_insns): Don't mark any register
11848         save slots as unchanging if current_function_calls_eh_return.
11849
11850 2001-09-05  Richard Henderson  <rth@redhat.com>
11851
11852         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
11853         * config/alpha/alpha-protos.h: Declare it.
11854         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
11855         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
11856         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
11857         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
11858         (REG_OK_FOR_BASE_P): Select one of the above.
11859
11860 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11861
11862         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
11863         (crti.o): Prefix name of object file with $(T).
11864         (crtn.o): Likewise.
11865
11866 2001-09-05  David S. Miller  <davem@redhat.com>
11867
11868         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11869         * config/sparc/linux64.h: Likewise.
11870
11871 2001-09-05  Andreas Jaeger  <aj@suse.de>
11872
11873         * doc/invoke.texi (i386 Options): -mwide-multiply is not
11874         available anymore, remove the documentation.
11875         (i386 Options): Fix typo, cleanup index entries.
11876
11877         * prefix.c (concat): Remove, we can use the version from liberty.
11878
11879 2001-09-05  Richard Henderson  <rth@redhat.com>
11880
11881         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
11882         New functions split out of md file expanders.
11883         * config/alpha/alpha-protos.h: Declare them.
11884         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
11885
11886 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11887
11888         * cppmacro.c (funlike_invocation_p): No need to restore context.
11889
11890 2001-09-04  Richard Henderson  <rth@redhat.com>
11891
11892         * reload.c (push_reload): Export.
11893         * reload.h (push_reload): Declare it.
11894
11895         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
11896         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11897         * config/alpha/alpha.c (alpha_legitimize_address): New.
11898         (alpha_legitimize_reload_address): Likewise.
11899         * config/alpha/alpha-protos.h: Declare them.
11900
11901 2001-09-04  Stan Shebs  <shebs@apple.com>
11902
11903         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
11904         * config/darwin.c (machopic_stub_name): Account for internally
11905         generated lib calls such as memcpy.
11906
11907 2001-09-04  Richard Henderson  <rth@redhat.com>
11908
11909         * unwind.h (_UA_END_OF_STACK): New flag.
11910         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
11911
11912 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11913
11914         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
11915
11916 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
11917
11918         * config/mips/mips.c (save_restore_insns): Change base_offset to
11919         fp_offset in second call to mips_emit_frame_related_store.
11920
11921 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
11922
11923         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
11924         sometimes be represented as a NOTE of type
11925         NOTE_INSN_DELETED_LABEL.
11926         (Insns): Document NOTE_INSN_DELETED_LABEL.
11927
11928 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
11929
11930         * c-common.h (tree_dump_index): Add more comments.
11931         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
11932         (dump_option_value_info): New struct.
11933         (dump_options): New array.
11934         (dump_switch_p): Parse switch options symbolically.
11935         * doc/invoke.texi (-fdump-ast): Rename to ...
11936         (-fdump-tree): ... here. Document that options are symbolic, and
11937         not all are applicable.
11938
11939 2001-09-04  David S. Miller  <davem@redhat.com>
11940
11941         * config/sparc/sparc.md (define_splits): Kill constraints.
11942
11943         Cleanup redundant and unused insn attributes.
11944         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
11945         binary, and move.  Mark ialu as default.
11946         (commented out define_function_unit "alu"): Kill.
11947         (define_attr "use_clobbered"): Kill.
11948         (whole file): Kill address insn type references.  Replace
11949         all unary/binary/move references with ialu.
11950         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
11951         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
11952         TYPE_IALU.
11953
11954         Simplify length insn attribute and make more judicious use
11955         of insn attribute defaulting.
11956         * config/sparc/sparc.md (all insns with length > one): Mark as
11957         insn type multi if real instructions, else use default if
11958         it is a forced splitter.
11959         (all insns with length == one): Use default insn length.
11960         (all insns of type ialu): Use default insn type.
11961
11962         Fix erroneous insn attribute settings.
11963         (addx): Set insn type to misc.
11964         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
11965         const_umulsidi3_sp64): Set insn type to imul.
11966
11967         Track SFmode vs DFmode insns according to UltraSPARC
11968         scheduling rules.
11969         * config/sparc/sparc.md ("fptype"): New attribute, default
11970         to "single".
11971         (all DFmode single insns): Mark as fptype "double".
11972
11973 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
11974
11975         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
11976
11977 2001-09-03  Richard Henderson  <rth@redhat.com>
11978
11979         * function.h (struct function): Add arg_pointer_save_area_init.
11980         * function.c (expand_function_end): Init arg_pointer_save_area.
11981         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
11982         when called from a nested function.
11983
11984 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
11985
11986         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
11987         is enabled.
11988
11989 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11990
11991         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
11992
11993 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
11994
11995         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
11996         (emit_push_insn): Use specified padding direction when
11997         STACK_PUSH_CODE is POST_INC.
11998
11999         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
12000
12001 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12002
12003         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
12004
12005 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
12006
12007         * cppinit.c (cpp_start_read): Free the imacros list as we
12008         traverse it.  Don't free the chains before returning.
12009         (_cpp_push_next_buffer): Only try pushing buffers if we've
12010         completed -imacros handling.
12011
12012 2001-08-31  Eric Christopher  <echristo@redhat.com>
12013
12014         * gcc.c (handle_braces): Add explaination for abort.
12015
12016 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
12017
12018         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
12019         move adjustment of bitpos instead.
12020
12021 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
12022
12023         * function.c: Remove all_functions.  Make outer_function_chain
12024         static.
12025         (init_function_start): Don't add new function structure to
12026         all_functions.
12027         (find_function_data, push_function_context_to,
12028         pop_function_context_from, put_var_into_stack,
12029         trampoline_address): Update for changed structure element names.
12030         (push_function_context_to): Disentangle.
12031         (free_after_compilation): Also free F.
12032         (expand_dummy_function_end): Don't free cfun here.
12033         (put_var_into_stack): Comment why we can't use find_function_data here.
12034         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
12035         (mark_function_chain): Split into maybe_mark_struct_function and
12036         ggc_mark_struct_function.  Export the latter.
12037         (init_function_once): Mark from cfun and outer_function_chain;
12038         not all_functions.
12039
12040         * function.h (struct function): Kill next_global.  Rename next
12041         to outer.  All users updated to match.
12042         (all_functions, outer_function_chain): Don't declare.
12043
12044         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
12045         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
12046         don't touch f->inlinable, after calling rest_of_compilation.
12047
12048         * tree.h: Forward-declare struct function.  Prototype
12049         ggc_mark_struct_function.
12050
12051 2001-08-31  Kazu Hirata  <kazu@hxi.com>
12052
12053         * config/h8300/h8300.md (*andorhi3): Fix typos.
12054
12055 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12056
12057         * calls.c (emit_library_call_value): Don't use a fixed
12058         argument after VA_CLOSE, i.e. out of scope in traditional C.
12059
12060         * emit-rtl.c (gen_rtvec): Likewise.
12061
12062 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12063
12064         * Makefile.in (c-pragma.o): Depend on output.h.
12065         (reorg.o): Depend on except.h.
12066
12067         * c-pragma.c: Include output.h.
12068
12069         * reorg.c: Include except.h.
12070
12071         * unwind-dw2.c: Call __builtin_alloca, not alloca.
12072
12073 2001-08-31  Richard Henderson  <rth@redhat.com>
12074
12075         * sched-deps.c (add_dependence): Don't elide dependency if the
12076         conditional used by insn is modified in elem.
12077
12078 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
12079
12080         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
12081
12082 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
12083
12084         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
12085         dump_switch_p.
12086
12087 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12088
12089         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
12090         function.
12091         (stormy16_asm_out_constructor): New function.
12092         (TARGET_ASM_CONSTRUCTOR): Define.
12093         (TARGET_ASM_DESTRUCTOR): Define.
12094
12095 2001-08-31  Andreas Jaeger  <aj@suse.de>
12096
12097         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
12098         * loop.c (add_label_notes): Likewise.
12099         * reload.c (find_reloads): Likewise.
12100         * config/sh/sh.c (machine_dependent_reorg): Likewise.
12101
12102 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
12103
12104         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
12105         code here.  Take _Unwind_{W,Sw}ord*.
12106         (read_encoded_value_with_base): Use them.
12107         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
12108         words.
12109         (extract_cie_info): Simplify read_?leb128 handling.
12110         (execute_stack_op, execute_cfa_program): Likewise.
12111         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
12112
12113 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
12114
12115         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
12116         the frame pointer to pop the stack if convenient.
12117
12118         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
12119         Don't use post-increment before combine.
12120         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
12121         a call-saved register.
12122
12123 2001-08-31  Andreas Jaeger  <aj@suse.de>
12124
12125         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
12126         code was correct.
12127
12128 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
12129
12130         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
12131         not DIV/MOD, of course.
12132
12133 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
12134
12135         * rtl.def: Undo my patch commited 2001-08-27.
12136
12137         * genattrtab.c: Ditto.
12138
12139         * rtl.h: Ditto.
12140
12141         * sched-int.h: Ditto.
12142
12143         * target-def.h: Ditto.
12144
12145         * target.h: Ditto.
12146
12147         * haifa-sched.c: Ditto.
12148
12149         * sched-rgn.c: Ditto.
12150
12151         * sched-vis.c: Ditto.
12152
12153         * Makefile.in: Ditto.
12154
12155         * doc/md.texi: Ditto.
12156
12157         * doc/tm.texi: Ditto.
12158
12159         * doc/contrib.texi: Ditto.
12160
12161         * doc/gcc.texi: Ditto.
12162
12163         * genattrtab.h: Remove it.
12164
12165         * genautomata.c: Remove it.
12166
12167         * genattr.c: Undo my patch and Richard Henderson's patch commited
12168         2001-08-27.
12169
12170 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
12171
12172         * config.gcc (h8300-*-elf*): New case.
12173         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
12174         (SUBTARGET_CPP_SPEC): Define.
12175         (EXTRA_SPECS): Define.
12176         (SUBTARGET_EXTRA_SPECS): Define.
12177         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
12178         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
12179
12180 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
12181
12182         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
12183         (LIB2FUNCS_EXTRA): Define.
12184         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
12185         config/h8300/fixunssfsi.c: New file.
12186
12187 2001-08-30  Kazu Hirata  <kazu@hxi.com>
12188
12189         * config/h8300/h8300.md (zero_extendqihi2): Changes to
12190         define_expand to accommodate target-specific attributes.
12191         (anonymous zero_extendqihi2 patterns): New.
12192
12193 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
12194
12195         * h8300.md (*andorhi3): New pattern.
12196
12197 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
12198
12199         * h8300.c (dosize): Fix test for "sub".
12200
12201 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
12202
12203         * c-typeck.c (pointer_diff): Try to eliminate common term before
12204         doing conversions.
12205
12206 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
12207
12208         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12209         Account for the saves of the FP registers.
12210
12211         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
12212         (TEXT_SECTION_ASM_OP): Define.
12213         (INIT_SECTION_ASM_OP): Define.
12214         (FINI_SECTION_ASM_OP): Define.
12215         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
12216         (RDATA_SECTION_FUNCITON): Provide prototype.
12217
12218 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
12219
12220         * reload1.c (move2add_note_store): Correct typo checking for
12221         argument pushes.
12222
12223 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
12224
12225         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
12226         note should not be considered outside the libcall block.
12227
12228 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12229
12230         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12231
12232 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12233
12234         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12235
12236 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12237
12238         * config/h8300/h8300-protos.h: Add a prototype for
12239         emit_logical_op.
12240         * config/h8300/h8300.c (emit_logical_op): New.
12241         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12242         (andsi3): Likewise.
12243         (iorhi3): Likewise.
12244         (iorsi3): Likewise.
12245         (xorhi3): Likewise.
12246         (xorsi3): Likewise.
12247
12248 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12249
12250         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12251         comparison with rtx INTVAL.
12252         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12253         expression.
12254         * pa.h (FUNCTION_ARG_SIZE): Likewise.
12255
12256 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12257
12258         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
12259         comment typos.
12260
12261 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12262
12263         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12264         (reg n) to (mem (pre_dec (reg n))
12265         (anonymous movsi pattern): Likewise.
12266
12267 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12268
12269         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12270
12271 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12272
12273         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12274         several special constants.
12275
12276 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12277
12278         * config/h8300/lib1funcs.asm: Fix comment typos.
12279
12280 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12281
12282         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12283         Fix format specifier warnings.
12284
12285         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12286         inet_makeaddr, semctl): Prototype.
12287
12288         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12289         (save_restore_insns): Use base_offset, not gp_offset.
12290
12291         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12292         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12293
12294 2001-08-29  Richard Henderson  <rth@redhat.com>
12295
12296         * bb-reorder.c (function_tail_eff_head): New.
12297         (record_effective_endpoints): Set it.
12298         (fixup_reorder_chain): Use it.
12299
12300 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12301
12302         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12303
12304 2001-08-28  Dale Johannesen  <dalej@apple.com>
12305
12306         * config/darwin.c (machopic_function_base_name): Add const
12307         qualifier to a string.
12308         (darwin_encode_section_info): Ditto.
12309
12310 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12311
12312         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12313         function definition.
12314
12315 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12316
12317         * df.h (struct df): Add rts_order variable.
12318
12319         * df.c (df_visit_next_rts): New function.
12320         (df_visit_next): Renamed to df_visit_next_rc
12321         (df_analyse_1): Allocate/compute/free rts_order as well.
12322         (df_rd_global_compute): Use df_visit_next_rc instead of
12323         df_visit_next.
12324         (df_ru_global_compute): Use df_visit_next_rts instead of
12325         df_visit_next.
12326
12327         * flow.c (flow_reverse_top_sort_order_compute): New function.
12328
12329         * basic-block.h: Add prototype.
12330
12331 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12332
12333         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12334         blocks, the BB_REACHABLE is now set, rather than aux being
12335         non-NULL. Update the test to reflect this.
12336
12337 2001-08-28  Eric Christopher  <echristo@redhat.com>
12338
12339         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12340         config/mips/crti.asm: Ditto.
12341
12342 2001-08-28  Eric Christopher <echristo@redhat.com>
12343             Richard Henderson <rth@redhat.com>
12344
12345         * c-pragma.h (add_weak): Move prototype from here...
12346         * output.h (add_weak): ... to here.
12347         * varasm.c (add_weak): Fix typo.
12348         * config/mips/crti.asm: New file.
12349         * config/mips/crtn.asm: Ditto.
12350         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12351         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12352         (INVOKE__main): Ditto.
12353         (INIT_SECTION_ASM_OP): New.
12354         (FINI_SECTION_ASM_OP): Ditto.
12355         (STARTFILE_SPEC): Add crti.
12356         (ENDFILE_SPEC): Add crtn.
12357         * config/mips/elf64.h: Same.
12358         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12359         Remove.
12360         * config/mips/vxworks.h: Ditto.
12361         * config/mips/t-elf: Support crti and crtn.
12362
12363 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12364
12365         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12366         INSN_LIST.
12367
12368 2001-08-28  Richard Henderson  <rth@redhat.com>
12369
12370         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12371         (one_cmplbi2 splitter): Remove redundant test.
12372
12373 2001-08-28  Dale Johannesen  <dalej@apple.com>
12374
12375         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12376
12377 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12378
12379         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12380
12381 2001-08-28  Stan Shebs  <shebs@apple.com>
12382
12383         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12384         (UNALIGNED_SHORT_ASM_OP): Define.
12385         (UNALIGNED_INT_ASM_OP): Define.
12386
12387 2001-08-28  Will Cohen  <wcohen@redhat.com>
12388
12389         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12390         generation for first set.
12391
12392 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12393
12394         * flow.c (redirect_edge_succ_nodup): Return new edge.
12395         (try_simplify_condjump): Use new edge.
12396         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12397
12398         * cse.c (cse_basic_block): Skip note instructions.
12399
12400 2001-08-27  Richard Henderson  <rth@redhat.com>
12401
12402         * combine.c (combine_simplify_rtx): Don't reverse condition
12403         if there is no reverse for the condition.
12404         (simplify_comparison): Don't simplify subregs from INT to FP.
12405
12406         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12407         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12408         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12409         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12410         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12411         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12412
12413 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12414
12415         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12416         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12417         (pushqi1): New.
12418         (adddi_dilshr32, adddi_dishl32): Only data register can be
12419         source for mem destination.
12420
12421         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12422         and use bitnum to decide about register move.
12423
12424 2001-08-27  Richard Henderson  <rth@redhat.com>
12425
12426         * genattr.c (main): Emit state_t even when not doing scheduling.
12427
12428 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12429             Richard Henderson  <rth@redhat.com>
12430
12431         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12432         (reg_avail_info, current_bb): ... these.
12433         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12434         (compute_hash_table): Likewise.
12435
12436 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12437
12438         * flow.c (verify_flow_info): Use checksums to verify edges.
12439
12440 2001-08-27  Richard Henderson  <rth@redhat.com>
12441
12442         * genautomata.c (expand_automata): Always create a description.
12443
12444 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12445
12446         * optabs.c (expand_binop): Correctly handle the carry in multiword
12447         add/subtract operations.
12448
12449 2001-08-27  Fred Fish  <fnf@be.com>
12450
12451         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12452         __SIZE_TYPE__.
12453
12454 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12455
12456         * reload.c (find_reloads_toplev): Back out this change:
12457
12458         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12459
12460         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12461         mem if the address is a mode_dependent_address_p.
12462
12463 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12464
12465         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12466         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12467         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12468         RTL constructions.
12469
12470         * genattr.c (main): New variable num_insn_reservations.  Increase
12471         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12472         pipeline hazard recognizer interface.
12473
12474         * genattrtab.h: New file.
12475
12476         * genattrtab.c: Include genattrtab.h.
12477         (attr_printf, check_attr_test, make_internal_attr,
12478         make_numeric_value): Move protypes into genattrtab.h.  Define them
12479         as external.
12480         (num_dfa_decls): New global variable.
12481         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12482         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12483         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12484         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12485
12486         * genautomata.c: New file.
12487
12488         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12489
12490         * sched-int.h: (curr_state): Add the external definition for
12491         automaton pipeline interface.
12492         (haifa_insn_data): Add comments for members blockage and units.
12493
12494         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12495         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12496         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12497         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12498         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12499         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12500         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12501         macros.
12502         (TARGET_SCHED): Use the new macros.
12503
12504         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12505         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12506         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12507         dfa_bubble): New members in gcc_target.sched.
12508
12509         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12510         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12511         (insn_queue): Redefine it as pointer to array.
12512         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12513         INSN_QUEUE_SIZE.
12514         (max_insn_queue_index_macro_value): New variable.
12515         (curr_state, dfa_state_size, ready_try): New varaibles for
12516         automaton interface.
12517         (ready_element, ready_remove, max_issue): New function prototypes
12518         for automaton interface.
12519         (choose_ready): New function prototype.
12520         (insn_unit, blockage_range): Add comments.
12521         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12522         FUNCTION_UNITS_SIZE == 0.
12523         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12524         actual_hazard, potential_hazard): Add comments.
12525         (insn_cost): Use cost -1 as undefined value.  Remove
12526         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
12527         pipeline interface.
12528         (ready_element, ready_remove): New functions for automaton
12529         interface.
12530         (schedule_insn): Add new code for automaton pipeline interface.
12531         (queue_to_ready): Add new code for automaton pipeline interface.
12532         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12533         (debug_ready_list): Print newline when the queue is empty.
12534         (max_issue): New function for automaton pipeline interface.
12535         (choose_ready): New function.
12536         (schedule_block): Add new code for automaton pipeline interface.
12537         Print ready list before scheduling each insn.
12538         (sched_init): Add new code for automaton pipeline interface.
12539         Initiate insn cost by -1.
12540         (sched_finish): Free the current automaton state and finalize
12541         automaton pipeline interface.
12542
12543         * sched-rgn.c: Include target.h.
12544         (init_ready_list, new_ready, debug_dependencies): Add new code for
12545         automaton pipeline interface.
12546
12547         * sched-vis.c: Include target.h.
12548         (get_visual_tbl_length): Add code for automaton interface.
12549         (target_units, print_block_visualization):  Add comments.
12550
12551         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
12552         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12553         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12554         (getruntime.o, genautomata.o): New entries.
12555         (genattrtab.o): Add new dependency file genattrtab.h.
12556         (genattrtab): Add new dependencies.  Link it with `libm.a'.
12557         (getruntime.o, hashtab.o): New entries for canadian cross.
12558
12559         * doc/md.texi: Description of automaton based model.
12560
12561         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12562         Add comments.
12563         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12564         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12565         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12566         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12567         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12568         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12569         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12570         hook descriptions.
12571         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12572         MAX_DFA_ISSUE_RATE): New macro descriptions.
12573
12574         * doc/contrib.texi: Add dfa based scheduler contribution.
12575
12576         * doc/gcc.texi: Add more information about genattrtab.
12577
12578 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
12579
12580         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
12581         an RTL basic block.
12582
12583 2001-08-27  Richard Henderson  <rth@redhat.com>
12584
12585         * function.c (expand_function_end): Don't init arg_pointer_save_area.
12586         (get_arg_pointer_save_area): New.  Create an init it here.
12587         (fix_lexical_addr): Use it.
12588         * function.h: Declare it.
12589         * builtins.c (expand_builtin_setjmp_receiver): Use it.
12590         * stmt.c (expand_nl_goto_receiver): Use it.
12591
12592 2001-08-27  Richard Henderson  <rth@redhat.com>
12593
12594         * final.c (final_scan_insn): Don't enter APP_ON mode for
12595         empty asm strings.
12596
12597         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
12598         alignment for assemble_integer for DW_EH_PE_aligned.
12599         * except.c (output_function_exception_table): Likewise.
12600
12601 2001-08-26  Andreas Jaeger  <aj@suse.de>
12602
12603         * c-tree.h: Add prototyp for c_sizeof_nowarn.
12604
12605 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
12606
12607         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
12608
12609 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
12610
12611         * config/rs6000/rs6000.c (mask_operand): Rewrite without
12612         bit-shifting loop.
12613         (mask64_operand): Likewise.
12614         (rldic_operand): Delete.
12615         (includes_lshift64_p): Delete.
12616         (includes_rldic_lshift_p): New function.
12617         (includes_rldicr_lshift_p): New function.
12618         (print_operand): Don't call rldic_operand in case 'W'.
12619         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
12620         (includes_lshift64_p): Remove.
12621         (includes_rldic_lshift_p): Declare.
12622         (includes_rldicr_lshift_p): Declare.
12623         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
12624         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
12625         Replace match_operand rldic_operand predicate with
12626         const_int_operand.  Replace includes_lshift64_p condition with
12627         includes_rldic_lshift_p.
12628         <ashldi3_internal 64 bit rldicr patterns>: New.
12629
12630 2001-08-27  Andreas Jaeger  <aj@suse.de>
12631
12632         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12633         * errors.c: Likewise.
12634         * final.c: Likewise.
12635         * dwarf2asm.c: Likewise.
12636         * doprint.c (checkit): Likewise.
12637         * diagnostic.c: Likewise.
12638         * collect2.c: Likewise.
12639         * calls.c: Likewise.
12640         * c-semantics.c (build_stmt): Likewise.
12641         * c-format.c (status_warning): Likewise.
12642         * c-errors.c (pedwarn_c99): Likewise.
12643         * builtins.c (validate_arglist): Likewise.
12644         * config/pj/pj.c (pj_printf): Likewise.
12645         * fix-header.c: Likewise.
12646         * gcc.c: Likewise.
12647         * gcov.c (fnotice): Likewise.
12648         * gensupport.c (message_with_line): Likewise.
12649         * mips-tfile.c: Likewise.
12650         * protoize.c (notice): Likewise.
12651         * read-rtl.c (fatal_with_file_and_line): Likewise.
12652         * rtl-error.c: Likewise.
12653         * tradcpp.c: Likewise.
12654         * tree.c: Likewise.
12655         * cp/tree.c (build_min_nt): Likewise.
12656         (build_min): Likewise.
12657         * cp/lex.c: Likewise.
12658         * cp/errfn.c: Likewise.
12659         * cp/rtti.c (create_pseudo_type_info): Likewise.
12660
12661 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
12662
12663         * df.c (df_uses_record): Return after recording all uses
12664         in ASM_OPERANDS.
12665
12666 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
12667
12668         * df.c (df_insn_modify): Realloc the INSN table here, if
12669         necessary, here, too.
12670
12671 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
12672
12673         * config/mips/mips.c (mips_function_value): Handle complex return
12674         values.
12675
12676 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
12677
12678         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
12679         unshared.
12680         * reload.c (make_memloc): Copy result if it is still
12681         reg_equiv_memory_loc[regno] on return.
12682         (subst_reloads) [ENABLE_CHECKING]: Check that none of
12683         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
12684         reg_equiv_mem are modified by the substitutions.
12685
12686 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12687
12688         * predict.c (expensive_function_p): New.
12689         * rtl.h (expensive_function_p): Declare.
12690         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
12691         (use_fast_prologue_epilogue): New static variable.
12692         (expand_prologue): Set it; emit short prologues if unset.
12693         (expand_epilogue): Likewise.
12694
12695 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12696
12697         * config.gcc: Add stormy16-*-elf case.
12698         * config/stormy16/stormy-abi: New file.
12699         * config/stormy16/stormy16-lib2.c: New file.
12700         * config/stormy16/stormy16-protos.h: New file.
12701         * config/stormy16/stormy16.c: New file.
12702         * config/stormy16/stormy16.h: New file.
12703         * config/stormy16/stormy16.md: New file.
12704         * config/stormy16/t-stormy16: New file.
12705
12706 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
12707
12708         * i386.h (no-accumulate-outgoing-args): Use proper mask.
12709
12710 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
12711
12712         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
12713         descriptor members are pointer size, not constant 4.
12714         * config/rs6000/rs6000.md (define_splits): Remove more unused
12715         constraints.
12716
12717 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12718
12719         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
12720
12721 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
12722
12723         * cp/rtti.c (VPARAMS): Fix parameter.
12724
12725 2001-08-24  Zack Weinberg  <zackw@panix.com>
12726
12727         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
12728         to zero.
12729         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
12730         to switch.
12731         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
12732         in if controlling use of insv.
12733         (extract_bit_field): Likewise, for extv and extzv.
12734
12735 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
12736
12737         * i386.md (movcc peep2): Fix load of 0.
12738
12739 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12740
12741         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
12742         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
12743
12744 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
12745
12746         * c-pragma.h: Move weak_syms and weak_decls...
12747         * varasm.c: ...here.  Now static.
12748         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
12749         depend on HANDLE_PRAGMA_WEAK.
12750
12751         * c-common.c (c_alignof, c_alignof_expr): Move here...
12752         * c-typeck.c: ...from here.
12753         * c-tree.h, c-common.h: Adjust.
12754
12755 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
12756
12757         * config/ia64/ia64.c (rws_update): If !pred, set write_count
12758         instead of incrementing it.
12759
12760         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
12761         asm ready, don't try to move them all into the same array element.
12762
12763 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12764
12765         * function.c (thread_prologue_and_epilogue_insns): Avoid
12766         fallthru flag on edge to exit.
12767
12768         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
12769
12770         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
12771         dead edges.
12772
12773 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12774
12775         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
12776         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
12777         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
12778         Remove prototype.
12779
12780 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12781
12782         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
12783         replace "GNU CC" with "GCC".
12784
12785 2001-08-23  Richard Henderson  <rth@redhat.com>
12786
12787         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
12788         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
12789         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
12790         Need GR between FR and not GR_AND_FR.
12791         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
12792         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
12793         AR regs before GR regs.
12794         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12795         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
12796         (REGISTER_MOVE_COST): Update.
12797         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
12798
12799 2001-08-23  Richard Henderson  <rth@redhat.com>
12800
12801         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
12802         a register class.
12803
12804 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12805
12806         * reload1.c (emit_reload_insns): Don't look for notes
12807         on a NULL store_insn.
12808
12809 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12810
12811         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
12812         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
12813         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
12814         format specifier warnings.
12815         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
12816
12817 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
12818
12819         * config/i386/i386-protos.h: Correct declaration of
12820         i386_pe_asm_named_section.
12821
12822 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12823
12824         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
12825         variable i.
12826         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12827
12828 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12829
12830         * cpperror.c (print_location): Don't show _Pragma.
12831         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
12832         and file change callback generation here.
12833         (stack_include_file): Update use of cpp_push_buffer.
12834         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
12835         (struct cpp_buffer): Remove type, pfile members.
12836         * cppinit.c (cpp_handle_option): Use free_chain.
12837         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
12838         (skip_escaped_newlines, get_effective_char, lex_percent): Take
12839         a cpp_reader rather than a cpp_buffer.
12840         (skip_escaped_newlines, get_effective_char, skip_block_comment,
12841         skip_line_comment, parse_string, lex_percent, lex_dot,
12842         _cpp_lex_token): Update accordingly.
12843         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
12844         generation here.
12845         (cpp_push_buffer): Update prototype.
12846         (run_directive): Update use of cpp_push_buffer.
12847         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
12848         handle_assertion): Update use of run_directive.
12849         * cpplib.h (enum cpp_buffer_type): Remove.
12850         (cpp_push_buffer): Update prototype.
12851         * fix-header.c (read_scan_file): Update.
12852
12853 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12854
12855         * gcc.c (struct prefix_list): Change prefix to const char *.
12856
12857 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12858
12859         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
12860
12861 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
12862
12863         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
12864         from a new MEM.
12865
12866         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
12867         a squeezable note.
12868         * rtl.h: Adjust.
12869         * ifcvt.c (dead_or_predicable): Adjust.
12870         * loop.c (find_and_verify_loops): Adjust.
12871         * stmt.c (expand_end_case): Adjust.
12872         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
12873         head and end insn pointers in the basic block, not just local copies.
12874         (merge_blocks_move_predecessor_nojumps): Likewise.
12875
12876 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
12877
12878         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
12879         bitmap.h, builtin-types.def, builtins.c, builtins.def,
12880         c-aux-info.c, c-common.c, c-common.def, c-common.h,
12881         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
12882         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
12883         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
12884         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
12885         conditions.h, config.gcc, configure.frag, configure.in,
12886         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
12887         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
12888         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
12889         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
12890         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
12891         emit-rtl.c, errors.c, errors.h, except.c, except.h,
12892         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
12893         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
12894         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
12895         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
12896         gencheck.c, gencodes.c, genconfig.c, genemit.c,
12897         genextract.c, genflags.c, gengenrtl.c, genmultilib,
12898         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
12899         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
12900         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
12901         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
12902         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
12903         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
12904         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
12905         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
12906         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
12907         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
12908         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
12909         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
12910         params.h, predict.c, predict.def, predict.h, prefix.c,
12911         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
12912         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
12913         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
12914         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
12915         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
12916         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
12917         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
12918         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
12919         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
12920         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
12921         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
12922         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
12923         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
12924         xcoffout.h: replace "GNU CC" with "GCC".
12925
12926 2001-08-21  Richard Henderson  <rth@redhat.com>
12927
12928         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
12929         (final_scan_insn): Consider jump tables data even if we have no
12930         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
12931         ADDR_VEC_ALIGN.
12932         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
12933         (ASM_OUTPUT_CASE_END): Remove.
12934         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
12935         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
12936         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
12937
12938 2001-08-21  Richard Henderson  <rth@redhat.com>
12939
12940         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
12941         at barrier insns.  Emit stop bits before barriers.
12942
12943         * flow.c (flow_find_cross_jump): Don't consider unconditional
12944         return insns for commoning.
12945
12946         * final.c (compute_alignments): Fix typo.
12947
12948         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
12949         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
12950         (store_bit_field): Use mode_for_extraction more places.
12951         (extract_bit_field): Likewise.
12952
12953 2001-08-21  Zack Weinberg  <zackw@panix.com>
12954
12955         * caller-save.c: Don't include insn-codes.h.
12956         (reg_save_code, reg_restore_code): Make arrays of int.
12957         All uses updated to match.
12958         (insert_save, insert_restore): No need to initialize "code"
12959         variable upon declaration.
12960         * Makefile.in: update dependencies; fix typo in clean rule.
12961
12962 2001-08-21  Richard Henderson  <rth@redhat.com>
12963
12964         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
12965         (merge_if_block): Handle fallout from same.
12966
12967 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12968
12969         * builtins.c (type_to_class): Fix typo in last change.
12970
12971 2001-08-21  Richard Henderson  <rth@redhat.com>
12972
12973         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
12974         ia64_asm_output_label.
12975
12976         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
12977         copy of gp while the real gp register contains garbage.
12978
12979 2001-08-21  Zack Weinberg  <zackw@panix.com>
12980
12981         * expmed.c (mode_for_extraction): New function.
12982         (store_bit_field, extract_bit_field): Use it.
12983         * expr.h: Prototype it and provide an enum for its first argument.
12984
12985         * combine.c, function.c, recog.c: Don't include insn-codes.h.
12986         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
12987         and digging through the insn_data tables.
12988         * Makefile.in: Update dependencies.
12989
12990 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12991
12992         * cppfiles.c (stack_include_file): line-map.c now handles include
12993         depth.
12994         (handle_missing_handler): Similarly.
12995         (_cpp_execute_include): Similarly.
12996         (_cpp_pop_file_buffer): Similarly.
12997         * cpphash.h (struct cpp_reader): Remove system_include_depth,
12998         buffer_stack_depth and include_depth.
12999         * cpplib.c (do_include_common): line-map.c now handles include depth.
13000         (cpp_push_buffer): Similarly.
13001         (_cpp_pop_buffer): Similarly.
13002         * cppmacro.c (builtin_macro): Update.
13003         * line-map.c (init_line_maps): Set depth.
13004         (add_line_map): Increment "used" earlier.  Update and use the
13005         include depth.
13006         (trace_include): Use the include depth.
13007         * line-map.h (struct line_maps): New member depth.
13008
13009 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13010
13011         * cppfiles.c (stack_include_file): Don't handle -H here.
13012         * cppinit.c (cpp_start_read): Set include tracing after
13013         cpp_post_options and after stacking the main file.
13014         * line-map.c (trace_include): New.
13015         (init_line_maps, add_line_map): Update.
13016         * line-map.h (struct line_maps): New member trace_includes.
13017
13018 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13019
13020         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
13021         * cppfiles.c (stack_include_file): Only stack a file if there
13022         is something to do.  Return a boolean indicating whether a
13023         buffer was stacked or not.
13024         (_cpp_execute_include): Similarly.
13025         (_cpp_read_file): Similarly.
13026         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
13027
13028 2001-08-21  Sam Steingold  <sds@gnu.org>
13029
13030         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
13031         (RECACHE): keep obufp_before_macroname up to date
13032
13033 2001-08-21  Zack Weinberg  <zackw@panix.com>
13034
13035         * stmt.c: Don't include insn-codes.h.
13036         (expand_end_case): Machine specific logic moved to expr.c.
13037         No need to worry about __builtin_classify_type.
13038         (check_for_full_enumeration_handling, emit_case_nodes):
13039         Kill #if 0 blocks.
13040
13041         * builtins.o (expand_builtin_classify_type): Split up so code
13042         can be shared with fold_builtin_classify_type.
13043         (type_to_class, fold_builtin_classify_type): New functions.
13044         (fold_builtins): Handle __builtin_classify_type.
13045
13046         * expr.c (do_tablejump): Now static.
13047         (case_values_threshold, try_casesi, try_tablejump): New;
13048         code mostly from stmt.c (expand_end_case).
13049         (expr.h): Update prototypes.
13050
13051         * Makefile.in (stmt.o): Update dependencies.
13052
13053 2001-08-21  Will Cohen  <wcohen@redhat.com>
13054
13055         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
13056         declaration of variable i.
13057         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
13058         declaration of variable i.
13059
13060 2001-08-21  Richard Henderson  <rth@redhat.com>
13061
13062         * crtstuff.c: Fix thinko last change.  Move list tails to start
13063         of CRT_END section.  Tidy ifdefs.
13064         (__EH_FRAME_BEGIN__): Always static for ELF.
13065         (__do_global_ctors_1): Rename from __frame_dummy.
13066         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
13067         name change; don't hide __EH_FRAME_BEGIN__.
13068
13069 2001-08-21  Richard Henderson  <rth@redhat.com>
13070
13071         * gdbinit.in: Move break on exit after break on fancy_abort.
13072
13073         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
13074         sized types.
13075
13076 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
13077
13078         * cpphash.h (_cpp_push_next_buffer): New.
13079         * cppinit.c (do_includes): Remove.
13080         (push_include, free_chain, _cpp_push_next_buffer): New.
13081         (cpp_start_read): Use them to rework command line option handling.
13082         (cpp_handle_option): Combine handling of -include and -imacros.
13083         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
13084         appropriate.  Always insert missing \n at EOF.
13085         * cpplib.c (start_directive): Get the directive position right.
13086         * cppmain.c (cb_file_change): Always print the first line, unless
13087         preprocessed.
13088
13089 2001-08-20  Andreas Jaeger  <aj@suse.de>
13090
13091         * profile.c (compute_branch_probabilities): Remove extra new-line
13092         in error message.
13093         * flow.c (verify_flow_info): Likewise.
13094
13095 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13096
13097         * basic-block.h (basic_block): Add new field 'flags'.
13098         (BB_REACHABLE): Define.
13099         (expunge_block): Declare.
13100         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
13101         (EXIT_BLOCK_PTR): Ditto.
13102         (expunge_block): Remove static declaration.
13103         (cleanup_cfg): Clear bb->aux on every basic block.
13104         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
13105         computing reachability.
13106         (delete_unreachable_blocks): Delete block b if b->flags has
13107         BB_REACHABLE unset.
13108
13109 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
13110
13111         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
13112
13113 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13114
13115         * sparc.c (sparc_variable_issue): Fix typo in last change.
13116
13117 2001-08-20  Richard Henderson  <rth@redhat.com>
13118
13119         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
13120
13121 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13122
13123         * pa.h (RETURN_IN_MEMORY): Improve comment.
13124
13125 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
13126
13127         * doc/invoke.texi (Profiling options): Clarify the interactions
13128         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
13129
13130 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
13131
13132         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
13133         command.
13134
13135 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13136
13137         * gcc.c (make_relative_prefix): Allocate a sufficiently large
13138         buffer.
13139
13140 2001-08-20  Richard Henderson  <rth@redhat.com>
13141
13142         * final.c (end_final): Fix typo last change.
13143
13144 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
13145
13146         * cppinit.c (init_standard_includes): The returned buffer
13147         is already malloc-ed.
13148         * gcc.c (add_prefix): Similarly.
13149         * prefix.c (translate_name): Update to support clear buffer
13150         ownership rules.
13151         (update_path): Similarly.  Be sure to free any newly allocated
13152         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
13153         (tr): New function.
13154         * prefix.h (update_path): Update prototype and document.
13155         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
13156         up and update to new buffer ownership rules.
13157         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
13158
13159 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
13160
13161         * final.c (compute_alignments): New function.
13162         (init_insn_lengths): Do not care label_align.
13163         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
13164         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
13165         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
13166         (shorted_branches): Realloc label_align array; do
13167         not call init_insn_lengths; Do not care about loop alignments.
13168         * output.h (compute_alignments): Declare.
13169         * toplev.c (rest_of_compilation): Call compute_alignments.
13170         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
13171
13172         * predict.c (block_info_def): Add npredecesors, remove nvisited;
13173         change visited to tovisit.
13174         (propagate_freq): Use faster traversing algorithm.
13175         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
13176         to tovisit; reverse meaning.
13177
13178         * predict.c (struct block_info_def): Remove nvisited.
13179         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13180         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13181
13182 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
13183
13184         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
13185         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
13186         (TARGET_FUSED_MADD): New.
13187         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
13188         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
13189         the multiply-add instructions.
13190
13191 2001-08-19  Richard Henderson  <rth@redhat.com>
13192
13193         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
13194         is aligned to pointer size.
13195
13196 2001-08-19  Richard Henderson  <rth@redhat.com>
13197
13198         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
13199         display markers during final schedule.
13200
13201 2001-08-19  Richard Henderson  <rth@redhat.com>
13202
13203         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
13204
13205 2001-08-19  Richard Henderson  <rth@redhat.com>
13206
13207         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
13208         in the same string.
13209         (ASM_NAME_TO_STRING): Remove.
13210         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
13211         in the same string.  Remove support for expressions.
13212
13213 2001-08-19  Richard Henderson  <rth@redhat.com>
13214
13215         * config/i386/i386.md (tablejump): Make an expander; handle
13216         pic relative addressing here.
13217         (tablejump_1): Rename from tablejump_pic.
13218         (casesi): Remove.
13219
13220 2001-08-19  Richard Henderson  <rth@redhat.com>
13221
13222         * regclass.c (fix_register): Fix typo.
13223
13224 2001-08-18  Richard Henderson  <rth@redhat.com>
13225
13226         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13227         (struct _Unwind_Context): Expand br_loc to hold it.
13228         (uw_frame_state_for): Handle leaf functions better.
13229         (uw_update_reg_address): Update for br_loc change.
13230
13231 2001-08-18  Richard Henderson  <rth@redhat.com>
13232
13233         * crtstuff.c: Move list heads before code that uses them.
13234         (__JCR_LIST__): Remove initial null.
13235         (frame_dummy, __frame_dummy): Do java registration here ...
13236         (__do_global_ctors_aux): ... not here.
13237
13238         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13239         (__do_global_dtors_aux): Update to match.
13240         (__JCR_LIST__, __do_jv_register_classes): New.
13241         (.init): Call it.
13242         * config/ia64/crtend.asm (__JCR_END__): New.
13243         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13244         instead of an indirect LTOFF22 reloc.
13245
13246 2001-08-18  Richard Henderson  <rth@redhat.com>
13247
13248         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13249         * regclass.c (init_reg_sets_1): Fix typo.
13250         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13251         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13252         (ia64_compute_frame_size): Make ar.unat live when in use.
13253         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13254         for ar.pfs; remove ar.unat handling.
13255         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
13256         call-saved.
13257         (PREDICATE_CODES): Add ar_pfs_reg_operand.
13258         * config/ia64/ia64-protos.h: Update decls.
13259         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13260         (sibcall_pic): Likewise.
13261
13262 2001-08-18  Richard Henderson  <rth@redhat.com>
13263
13264         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13265         pred_rel_mutex when searching for insn_group_barrier.
13266         * config/ia64/ia64.md (cycle_display): Combine the expander
13267         and insn patterns.
13268
13269         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13270         bit before asm as needed.
13271
13272 2001-08-18  Richard Henderson  <rth@redhat.com>
13273
13274         * timevar.def (TV_MACH_DEP): New.
13275         * toplev.c (rest_of_compilation): Use it.
13276         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13277
13278 2001-08-18  Zack Weinberg  <zackw@panix.com>
13279
13280         * unwind-dw2.c (execute_stack_op): Add default aborts to
13281         the inner switches to prevent warnings.
13282
13283 2001-08-18  Richard Henderson  <rth@redhat.com>
13284
13285         * timevar.h (struct timevar_time_def): Change element type to float.
13286         (ticks_to_msec, clocks_to_msec): Likewise.
13287         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13288         (get_time): Likewise.
13289         (timevar_print): Adjust zero check and printing to match.
13290
13291 2001-08-18  Zack Weinberg  <zackw@panix.com>
13292
13293         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13294         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13295         Eliminate overfull or underfull hboxes.
13296
13297 2001-08-18  Zack Weinberg  <zackw@panix.com>
13298
13299         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13300
13301 2001-08-18  Zack Weinberg  <zackw@panix.com>
13302
13303         * haifa-sched.c: Convert to target hooks.  Macros replaced
13304         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13305         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13306         MD_SCHED_FINISH, and HAVE_cycle_display.
13307         * target-def.h (TARGET_SCHED_ADJUST_COST,
13308         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13309         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13310         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13311         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13312         New hook #defines to be overridden.
13313         (TARGET_SCHED): Bring them all together.
13314         (TARGET_INITIALIZER): Update.
13315         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13316         instead of 'struct rtx_def *' throughout.
13317         (struct sched): New set of hooks for the scheduler.
13318         * Makefile.in (haifa-sched.o): Depend on target.h.
13319         * doc/tm.texi: Document the new scheduler hooks, together in
13320         their own section, instead of scattered around.
13321         Fix a bunch of underfull/overfull hboxes.
13322
13323         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13324         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13325         sparc.h: Don't define any of the old scheduler macros.
13326
13327         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13328         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13329         sparc.c: Create hook functions from code extracted from
13330         corresponding target header, or make existing hooks static, as
13331         appropriate.  Set the appropriate entries in targetm.
13332
13333         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13334         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13335         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13336         Remove prototypes for functions which are now static.
13337
13338         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13339         related gunk; the Haifa scheduler is now the only choice.
13340
13341 2001-08-18  Zack Weinberg  <zackw@panix.com>
13342
13343         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13344         * genopinit.c: Put floating point divide insns in sdiv_optab.
13345         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13346         * config/gofast.h, config/c4x/c4x.h,
13347         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13348         config/pa/long_double.h, config/rs6000/sysv4.h,
13349         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13350         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13351         (init_optabs): Use init_optabv for overflow-trapping optabs.
13352         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13353         cmp_optab RTX codes so have_insn_for can find them.
13354
13355         * optabs.c (expand_simple_binop, expand_simple_unop,
13356         have_insn_for, gen_sub3_insn): New interfaces.
13357         * expr.h: Prototype new functions.
13358         (enum optab_methods): Move here from optabs.h.
13359
13360         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13361         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13362         Use new functions instead of working directly with optabs.
13363         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13364         unroll.c: Don't include optabs.h.
13365         * caller-save.c, combine.c, function.c, stmt.c: Just include
13366         insn-codes.h, not optabs.h.
13367         * Makefile.in: Update dependencies.
13368
13369         * combine.c (make_compound_operation, simplify_comparison):
13370         Fix typos testing for this or that instruction.
13371
13372 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13373
13374         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13375         generating libgcc.a.
13376
13377 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13378
13379         * except.c (TYPE_HASH): Delete.
13380
13381         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13382         HOST_WIDE_INT.
13383
13384         * tree.c (TYPE_HASH): Delete.
13385
13386         * tree.h (TYPE_HASH): Define.
13387
13388 2001-08-18  Graham Stott  <grahams@redhat.com>
13389
13390         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13391         define_split.
13392         (adddi3_internal_2+2): Likewise.
13393         (eh_set_lr_di+1): Likewise.
13394
13395 2001-08-17  Richard Henderson  <rth@redhat.com>
13396
13397         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13398         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13399         * dwarf2asm.c: ... here.
13400         * dwarfout.c: Remove them.
13401
13402         * varasm.c (assemble_integer): Add align parameter.
13403         (assemble_real, output_constant, output_constructor): Likewise.
13404         * output.h: Update decls.
13405         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13406         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13407         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13408         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13409         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13410         Update all callers.
13411
13412         * final.c (end_final): Abort profile block generation if we
13413         haven't layed it out properly.
13414         * output.h (assemble_eh_integer): Remove stale decl.
13415         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13416         (min_align): New.
13417         (assemble_integer): Handle unaligned data.
13418         (assemble_real): Abort on unaligned data.
13419         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13420         anything useful.
13421         (default_dtor_section_asm_out_destructor): Use assemble_align.
13422         (default_named_section_asm_out_constructor): Likewise.
13423         (default_ctor_section_asm_out_constructor): Likewise.
13424         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13425         (machopic_asm_out_destructor): Likewise.
13426         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13427         (nextstep_asm_out_destructor): Likewise.
13428         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13429         (vms_asm_out_destructor): Likewise.
13430
13431 2001-08-17  Richard Henderson  <rth@redhat.com>
13432
13433         * config/mips/iris6.h (TARGET_IRIX6): New.
13434         (current_section_name, current_section_flags): New.
13435         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13436         (MAX_OFILE_ALIGNMENT): New.
13437         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13438         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13439         (copy_file_data): Split out from
13440         (mips_asm_file_end): ... here.
13441         (mips_asm_file_start): Remove extra .section directive.  Use
13442         tmpfile instead of mips_make_temp_file.
13443         (mips_unique_section): Use const char * as needed for warnings.
13444         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13445         re-add align parameter.
13446         (iris6_asm_named_section): New.
13447         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13448         (iris6_asm_output_align, iris6_section_align_1): New.
13449         (iris6_asm_file_start, iris6_asm_file_end): New.
13450         * config/mips/mips-protos.h: Update decls.
13451
13452 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13453
13454         * doc/install.texi (Install GCC): Add links to build status pages.
13455         (Specific): Ditto.
13456         (Final install): Ditto; request updates for specific info
13457
13458 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13459
13460         * cpperror.c (print_location):  Don't take a file name; use the
13461         line map instead.
13462         (_cpp_begin_message): Similarly.
13463         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13464         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13465         (cpp_pedwarn_with_file_and_line): Remove.
13466         * cppfiles.c (stack_include_file): Update; set filename to stdin
13467         here when appropriate.
13468         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13469         (_cpp_begin_message): Don't take a file name.
13470         * cppinit.c: Add comment.
13471         * cpplex.c: Fix end-of-directive indicator.
13472         * cpplib.c: Don't include intl.h.
13473         (run_directive, do_diagnostic): Update.
13474         (do_line): Update to not use nominal_fname.
13475         (cpp_push_buffer): Don't take a filename.
13476         * cpplib.h (struct ht): Remove.
13477         (cpp_push_buffer): Don't take a filename.
13478         (cpp_pedwarn_with_file_and_line): Remove.
13479         * cppmacro.c (struct cpp_macro): Remove file.
13480         (builtin_macro): Update.
13481         (_cpp_create_definition): Update.
13482         * cppmain.c: Correct comment.
13483         * fix-header.c (read_scan_file): Update.
13484
13485 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13486
13487         * sbitmap.c: Fix comment formatting.
13488         * sched-deps.c: Likewise.
13489         * sibcall.c: Likewise.
13490         * simplify-rtx.c: Likewise.
13491         * ssa.c: Likewise.
13492         * ssa-ccp.c: Likewise.
13493         * stor-layout.c: Likewise.
13494         * timevar.c: Likewise.
13495         * toplev.c: Likewise.
13496         * unwind-dw2.c: Likewise.
13497         * unwind-dw2-fde.c: Likewise.
13498         * varasm.c: Likewise.
13499
13500 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13501
13502         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13503         or larger than an integer in memory.
13504
13505 2001-08-17  Zack Weinberg  <zackw@panix.com>
13506
13507         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13508         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13509         * rtl.h: Don't forward-declare union tree_node here.  Don't
13510         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13511         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13512         and tree respectively.
13513         * tree.h: Don't forward-declare struct rtx_def here.  Don't
13514         typedef tree here.  Change all uses of struct rtx_def *,
13515         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13516         and tree respectively.
13517
13518 2001-08-17  Richard Henderson  <rth@redhat.com>
13519
13520         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
13521         config/mips/openbsd.h: Fix typos last change.
13522
13523 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13524
13525         * doc/invoke.texi (Optimize Options): The default for
13526         -finline-limit is 600.
13527
13528 2001-08-17  Richard Henderson  <rth@redhat.com>
13529
13530         * varasm.c (text_section): Allow TEXT_SECTION to override the
13531         printing of TEXT_SECTION_ASM_OP.
13532         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
13533         (DATA_SECTION, BSS_SECTION): Remove.
13534         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
13535         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
13536         Rename from s/_NAME//.
13537         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
13538         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
13539         (TEXT_SECTION): ... here.  New.
13540         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
13541         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
13542         * config/mips/openbsd.h: Likewise.
13543         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
13544         (mips_asm_file_end): Likewise test.
13545         (mips_output_function_epilogue): Likewise.  Switch back to data
13546         section after emitting the function.
13547
13548         * doc/tm.texi (Sections): Document TEXT_SECTION.
13549
13550 2001-08-17  Richard Henderson  <rth@redhat.com>
13551
13552         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
13553         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
13554
13555 2001-08-17  Richard Henderson  <rth@redhat.com>
13556
13557         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
13558         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
13559         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
13560         Add aligned attribute.
13561
13562 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
13563
13564         * config/sh/sh.md: Add modes to unspecs in first insn to match
13565         those in the second.
13566
13567         * Makefile.in: Fix collect2 copy for Cygwin.
13568
13569 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13570
13571         Install the proper patch.
13572         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13573         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13574         (expand_function_start): Likewise.
13575         * stmt.c (expand_decl): Likewise.
13576         * varasm.c (make_decl_rtx): Likewise.
13577
13578 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13579
13580         * final.c: Undo my previous accidental checkin.
13581         * output.h: Likewise.
13582         * tm.texi: Likewise.
13583
13584 2001-08-16  Richard Henderson  <rth@redhat.com>
13585
13586         * varasm.c (named_section_flags): Remove align parameter.
13587         * varasm.c, dwarf2out.c: Update all callers.
13588         * output.h: Update prototypes.
13589
13590         * target.h (target.asm_out.named_section): Remove align parameter.
13591         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
13592         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
13593         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
13594         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
13595         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
13596
13597         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
13598         (get_named_section_flags, set_named_section_flags): New.
13599         (named_section_flags): Use them.
13600         (named_section): Do decl vs section flags check here...
13601         (default_section_type_flags): ... not here.
13602         (init_varasm_once): Create in_named_htab.
13603         (resolve_unique_section): Mark reloc unused.
13604
13605 2001-08-16  Richard Henderson  <rth@redhat.com>
13606
13607         * varasm.c (force_const_mem): Keep pool alignment in bits.
13608         (output_constant_pool): Use assemble_align.
13609
13610 2001-08-16  Zack Weinberg  <zackw@panix.com>
13611
13612         * doc/tm.texi: Remove extra @table command.
13613
13614 2001-08-16  Zack Weinberg  <zackw@panix.com>
13615
13616         * final.c (shorten_branches): Clear the end of the label_align
13617         array only if we made it larger.  Break up messy expressions
13618         for clarity.
13619
13620         * diagnostic.c (internal_error): Check for error recursion
13621         before doing ICE suppression.
13622
13623         * timevar.c: Timing variables now count in milliseconds.
13624         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
13625         (get_time): Not here.
13626         (timevar_print): Don't print any timer whose user, cpu, and
13627         wall times are all zero as displayed.
13628         * timevar.h: Update comment aboout units.  Make timevar
13629         counters unsigned.
13630
13631 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13632
13633         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13634         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13635         (expand_function_start): Likewise.
13636         * stmt.c (expand_decl): Likewise.
13637         * varasm.c (make_decl_rtx): Likewise.
13638
13639 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
13640
13641         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
13642         (finalize_record_size): Don't set TYPE_USER_ALIGN.
13643
13644 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13645
13646         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
13647         variables.
13648
13649 2001-08-16  Andreas Jaeger  <aj@suse.de>
13650
13651         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
13652         prototype.
13653
13654 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
13655
13656         * rtl.h (only_sets_cc0_p): New prototype.
13657         * jump.c (sets_cc0_p): Handle INSN.
13658         (only_sets_cc0_p): New function.
13659         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
13660         (tidy_fallthru_edge): Likewise.
13661         * integrate.c (copy_insn_list): Likewise.
13662         * unroll.c (unroll_loop): Likewise.
13663         (copy_loop_body): Likewise.
13664
13665 2001-08-15  Jason Eckhardt  <jle@redhat.com>
13666
13667         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
13668
13669 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13670
13671         * predict.c (struct block_info_def): Remove nvisited.
13672         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13673         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13674
13675         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
13676         (ix86_adjust_cost): Teach scheduler that latency to load operand can
13677         be masked.
13678
13679 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
13680
13681         * predict.def: Update hitrates.
13682
13683 2001-08-15  Richard Henderson  <rth@redhat.com>
13684
13685         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
13686
13687 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
13688
13689         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
13690         note from its associated jump.
13691
13692 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13693
13694         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
13695         also on 64-bit s390x targets.
13696
13697 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
13698
13699         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
13700         function.
13701         (arm_expand_prologue): Handled nested functions which take a
13702         variable argument list.
13703         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
13704         macro with an invocation of
13705         arm_compute_initial_elimination_offset.
13706         * config/arm/arm-protos.h: Prototype
13707         arm_compute_initial_elimination_offset.
13708
13709 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13710
13711         * doc/install.texi (Specific, avr): Fix markup.
13712         (Specific, c4x): Ditto.
13713
13714 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13715
13716         * predict.c (dump_prediction): Change `bool' parameter to `int'.
13717
13718 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
13719
13720         * Makefile.in (OBJS): Add rtl-error.o
13721         (rtl-error.o): New rule.
13722         (diagnostic.o): Adjust dependency.
13723         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
13724         error_for_asm, _fatal_insn, _fatal_insn_not_found,
13725         warning_for_asm): Move to...
13726         rtl-error.c: ...here.  New file.
13727
13728 2001-08-14  Richard Henderson  <rth@redhat.com>
13729
13730         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
13731         if USING_SJLJ_EXCEPTIONS.
13732
13733 2001-08-14  Steve Ellcey <sje@cup.hp.com>
13734
13735         * tlink.c (scan_linker_output): Check string for unsatisfied in
13736         addition to undefined and unresolved.
13737
13738 2001-08-14  Graham Stott  <grahams@redhat.com>
13739
13740         * libgcc2.c (*): Replace EH_FRAME_SECTION with
13741         EH_FRAME_SECTION_NAME.
13742
13743 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
13744
13745         * genattrtab.c (simplify_test_exp_in_temp): New function.
13746         (simplify_test_exp): Avoid explicit use of temporary obstack.
13747         (simplify_cond, insert_right_side, evaluate_eq_attr,
13748         simplify_and_tree, simplify_or_tree, eliminate_known_true):
13749         Use simplify_test_exp_in_temp.
13750         (optimize_attrs): Iterate until expression stabilizes.
13751
13752 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
13753
13754         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
13755         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
13756
13757 2001-08-13  Richard Henderson  <rth@redhat.com>
13758
13759         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
13760         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
13761         * config/arm/conix-elf.h: Likewise.
13762
13763 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13764
13765         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
13766         in gcc.c.
13767         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13768
13769         * gcse.c (hash_scan_set): Expressions that are set as part of
13770         jump instructions are not available.
13771
13772 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13773
13774         * config/s390/s390.c (print_operand, s390_function_prologue,
13775         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
13776
13777 2001-08-13  Richard Henderson  <rth@redhat.com>
13778
13779         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
13780         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
13781         * doc/tm.texi (Exception Region Output): Document it.
13782
13783 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13784
13785         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
13786         DWARF2 instead of stabs by default.
13787
13788 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13789
13790         * config/rs6000/rs6000.c: Include optabs.h.
13791
13792 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13793
13794         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
13795         save/restore routines.
13796         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
13797
13798 2001-08-13  Andreas Jaeger  <aj@suse.de>
13799
13800         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
13801         the english is correct.
13802
13803 2001-08-13  Zack Weinberg  <zackw@panix.com>
13804
13805         * expr.h: Split out optab- and libfunc-related code to...
13806         * optabs.h, libfuncs.h: ... these new headers.
13807
13808         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
13809         (OPTABS_H): New.
13810         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
13811         dependencies.
13812         * mkconfig.sh: Don't include insn-codes.h from config.h.
13813
13814         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
13815         enum insn_code is available.  Move reload_in_optab and
13816         reload_out_optab array declarations to optabs.h.
13817         * regmove.c (gen_add3_insn): Move to optabs.c, export from
13818         there, prototype in expr.h.
13819         * gencodes.c: Cleanup: zap global variables, don't use
13820         printf where puts will do, don't bother defining MAX_INSN_CODE
13821         which nothing uses, let CODE_FOR_nothing get its value implicitly.
13822
13823         * genemit.c, genopinit.c: Include optabs.h in generated file.
13824         * genoutput.c: Include insn-codes.h in generated file.
13825         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
13826         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
13827         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
13828         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
13829         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
13830         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
13831         Include optabs.h.
13832         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
13833         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
13834         config/m88k/m88k.c, config/sparc/sparc.c:
13835         Include libfuncs.h.
13836         * reload.c: Include expr.h and optabs.h before reload.h.
13837         * config/alpha/alpha.c: Include tree.h before reload.h.
13838         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
13839         and reload.h in that order.
13840         * config/sparc/sparc.c: Include debug.h.
13841         * recog.c: Include insn-codes.h.
13842
13843 2001-08-13  Andreas Jaeger  <aj@suse.de>
13844
13845         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
13846         s390*linux.
13847
13848 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
13849
13850         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
13851         * gcc.c (init_spec): Fix typo in comment.
13852         * varasm.c (data_section): Fix typo in comment.
13853
13854 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
13855
13856         * predict.c (dump_prediction): New argument "USED".
13857         (combine_predictions_for_insn): Determine the used heuristics,
13858         output the case no heuristic applied.
13859         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
13860
13861 2001-08-13  Andreas Jaeger  <aj@suse.de>
13862
13863         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
13864         register %rip.
13865
13866 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13867
13868         * jump.c: Fix formatting.
13869
13870 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13871
13872         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
13873         length.
13874
13875 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
13876
13877         * loop.c (check_dbra_loop): Use condjump_label to compute
13878         jump_label.
13879
13880         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
13881         to better document the files they're in.
13882
13883 2001-08-12  Zack Weinberg  <zackw@panix.com>
13884
13885         * recog.h (struct insn_operand_data): Shrink 'mode' field
13886         to 16 bits.
13887
13888 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13889
13890         * gcc.c: Fix comment formatting.
13891         * gccspec.c: Likewise.
13892         * gcov.c: Likewise.
13893         * gcse.c: Likewise.
13894         * genemit.c: Likewise.
13895         * gengenrtl.c: Likewise.
13896         * genrecog.c: Likewise.
13897         * gensupport.c: Likewise.
13898         * ggc-page.c: Likewise.
13899         * global.c: Likewise.
13900         * graph.c: Likewise.
13901         * ifcvt.c: Likewise.
13902         * integrate.c: Likewise.
13903         * lcm.c: Likewise.
13904         * libgcc2.c: Likewise.
13905         * loop.c: Likewise.
13906         * mbchar.c: Likewise.
13907         * optabs.c: Likewise.
13908         * predict.c: Likewise.
13909         * prefix.c: Likewise.
13910         * profile.c: Likewise.
13911         * protoize.c: Likewise.
13912         * real.c: Likewise.
13913         * recog.c: Likewise.
13914         * regclass.c: Likewise.
13915         * regmove.c: Likewise.
13916         * reg-stack.c: Likewise.
13917         * reload1.c: Likewise.
13918         * resource.c: Likewise.
13919         * rtlanal.c: Likewise.
13920         * rtl.c: Likewise.
13921
13922 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13923
13924         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
13925         a tree representing a constant is passed to the macro.
13926
13927 2001-08-12  Richard Henderson  <rth@redhat.com>
13928
13929         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
13930         (rs6000_elf_asm_out_destructor): New.
13931         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
13932         (DTORS_SECTION_ASM_OP): Remove.
13933         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13934         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
13935
13936 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
13937
13938         Revert:
13939         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13940         * gcc.c (set_collect_gcc_options): New function, split out from
13941         main.
13942         Ignore elided switches.
13943         (do_spec_1): Invoke before executing command.
13944         (set_input): Export.
13945         Move declaration ...
13946         * gcc.h (set_input): ... here.
13947         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13948         file.
13949
13950 2001-08-12  Richard Henderson  <rth@redhat.com>
13951
13952         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
13953         thinko wrt TARGET_RELOCATABLE.
13954
13955 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13956
13957         * fix-header.c (cb_file_change): Update prototype.
13958
13959 2001-08-11  Zack Weinberg  <zackw@panix.com>
13960
13961         * toplev.c (set_float_handler): Make static.
13962         * toplev.h: Don't prototype set_float_handler.
13963
13964         * simplify-rtx.c: Don't include setjmp.h.
13965         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
13966         New functions.
13967         (simplify_unary_operation, simplify_binary_operation): Use them,
13968         via do_float_handler.
13969
13970         * fold-const.c: Don't include setjmp.h.
13971         (exact_real_inverse_1): New function.
13972         (exact_real_inverse): Use it, via do_float_handler.
13973
13974         * varasm.c: Don't include setjmp.h.
13975         (assemble_real_1): New function.
13976         (assemble_real): Use it, via do_float_handler.
13977         Call internal_error if we get a trap here.
13978
13979         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
13980         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
13981
13982 2001-08-11  Zack Weinberg  <zackw@panix.com>
13983
13984         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
13985         STACK_BOUNDARY if not already defined.
13986
13987         * calls.c, function.c, reload1.c, explow.c: Don't default
13988         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
13989         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
13990
13991         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
13992         to run-time test.
13993
13994         * doc/tm.texi: Document that STACK_BOUNDARY is required;
13995         clarify difference between it and PREFERRED_STACK_BOUNDARY.
13996
13997 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13998
13999         * cppmacro.c (enter_macro_context): Push macro expansions even
14000         if empty.
14001
14002 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14003
14004         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
14005         (rs6000_elf_section_type_flags): Actually return a value.
14006
14007 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14008
14009         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
14010         Clean up code: add missing comments and prototypes, fix warnings,
14011         remove obsolete code, fix spacing to conform to coding style.
14012
14013 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
14014
14015         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
14016         and TARGET_ASM_CLOSE_PAREN.
14017         (regclass_map): CC register belongs to class NO_REGS.
14018         (legitimize_pic_address): Don't generate unnecessary moves
14019         (to avoid confusing loop optimization).
14020         (check_and_change_labels): Replace jump_long by indirect_jump.
14021         (s390_final_chunkify): Don't start a new literal pool on section
14022         switch in 64-bit code.
14023         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
14024
14025         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
14026         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
14027         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
14028         modes correctly.
14029         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
14030         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
14031         (CONST_COSTS): Fixed incorrect costs.
14032
14033         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
14034         Use emit_jump instead of emit_jump_insn (gen_jump).
14035         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
14036         (to avoid confusing flow analysis).
14037         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
14038         (casesi, casesi_jump): New.
14039         (jump_long): Removed.  Functionality merged into indirect_jump.
14040         (indirect_jump): Accept address_operand, not just register_operand.
14041         (cjump_long, icjump_long): Use same logic as indirect_jump.
14042         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
14043         Fixed broken setjmp/longjmp handling.
14044         (do_builtin_setjmp_setup): Removed.
14045
14046         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
14047         broken GNU as versions that don't accept .quad with large
14048         negative values.  Use hexadecimal output instead.
14049         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
14050         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
14051         FUNCTION_EPILOGUE): Removed.  Now in targetm.
14052
14053         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
14054
14055         * config/s390/fixdfdi.h: Add missing copyright statement.
14056         Fix type conflicts on 64-bit.  Add missing SFmode routines.
14057
14058         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
14059         email address.
14060
14061 2001-08-11  Richard Henderson  <rth@redhat.com>
14062
14063         * rtl.h (REG_EH_RETHROW): Remove.
14064         * rtl.c (reg_note_name): Update.
14065         * combine.c (distribute_notes): Don't check for it.
14066
14067 2001-08-11  Richard Henderson  <rth@redhat.com>
14068
14069         * combine.c (distribute_notes): Place REG_SETJMP.
14070
14071 2001-08-11  Richard Henderson  <rth@redhat.com>
14072
14073         * doc/extend.texi (Arrays and pointers implementation): Discourage
14074         relying on sign-extension of pointers.
14075
14076 2001-08-11  H.J. Lu <hjl@gnu.org>
14077
14078         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
14079         in_dtors.
14080         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
14081         RDATA_SECTION_ASM_OP.
14082
14083 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14084
14085         * doc/install.texi (Specific, c4x): Fix cross-reference to the
14086         main manual to work both for info and HTML versions.
14087
14088 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14089             Matt Kraai <kraai@alumni.carnegiemellon.edu>
14090
14091         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
14092         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
14093         (struct cpp_pool): New member first.
14094         * cppinit.c (append_include_chain): Plug memory leaks.
14095         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
14096         Allocate pragma structures from the (aligned) macro pool to
14097         avoid leaking memory.
14098         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
14099         so we don't leak memory.
14100         * hashtable.c (ht_destroy): New.
14101         * hashtable.h (ht_destroy): New.
14102
14103 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
14104             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14105
14106         * c-lex.c (map): Make const.
14107         (cb_file_change): Update for callback passing a line map.
14108         Don't assume we have a previous map.  Remove sanity check
14109         about popping too many files.
14110         * cpperror.c (print_location): Make map const.
14111         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
14112         (cpp_make_system_header): Similarly.
14113         (search_from): Similarly.
14114         (_cpp_execute_include): Don't remember where we came from.
14115         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
14116         (struct cpp_reader): Make map const.
14117         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
14118         * cpplib.c (do_line): Update; line maps now hold sysp.
14119         (cpp_push_buffer): Similarly.
14120         (_cpp_do_file_change): Similarly; callback with map instead.
14121         (cpp_get_line_maps): Constify return value.
14122         (_cpp_pop_buffer): Update.
14123         * cpplib.h (struct cpp_file_change): Remove.
14124         (struct cpp_callbacks): Update.
14125         (cpp_get_line_maps): Constify return value.
14126         * cppmacro.c (_cpp_create_definition): Update.
14127         * cppmain.c (struct printer): Constify map.
14128         (maybe_print_line): Similarly.
14129         (print_line): Similarly.  Deduce flags 1 and 2 here.
14130         (cb_file_change): Update.
14131         * line-map.c (free_line_maps): Warn regardless.
14132         (add_line_map): Return pointer to const.  When passed NULL to_file
14133         with LC_LEAVE, use the obvious values for the return point so the
14134         caller doesn't have to figure them out.
14135         (lookup_line): Return pointer to const.
14136         (print_containing_files): Take pointer to const.
14137         * line-map.h (struct line_map): New members reason, sysp.
14138         (add_line_map): Return pointer to const.
14139         (lookup_line): Similarly.
14140         (print_containing_files): Take pointer to const.
14141
14142 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
14143             Richard Henderson  <rth@redhat.com>
14144
14145         * regmove.c (regmove_optimize): Avoid setting a register twice in
14146         a parallel set.
14147
14148 2001-08-10  Richard Henderson  <rth@redhat.com>
14149
14150         * doc/extend.texi (Arrays and pointers implementation): Document
14151         behavior of pointer/integer conversion.
14152
14153 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
14154
14155         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
14156
14157 2001-08-10  Richard Henderson  <rth@redhat.com>
14158
14159         * doc/extend.texi (C Implementation): New chapter.
14160         * doc/gcc.texi (Top): Link it in.
14161
14162 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
14163
14164         * doc/install.texi (Specific): Fix CVS merge botch.
14165
14166 2001-08-10  Richard Henderson  <rth@redhat.com>
14167
14168         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
14169         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
14170
14171 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
14172
14173         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
14174         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
14175         this macro is now required.
14176
14177         * cselib.c (cselib_process_insn), flow.c (propagate_block),
14178         loop.c (find_and_verify_loops), reload.c (reload): Check
14179         for rtx code of CALL_INSN, not CALL, when deciding if we
14180         need to check for REG_SETJMP note.
14181
14182         * gcse.c (compute_hash_table, compute_store_table): Update
14183         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
14184         logic.
14185
14186         * config/avr/avr.c: Fix typo.
14187         * config/convex/convex.c (expand_movstr): Use adjust_address.
14188         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
14189         variable.
14190         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
14191         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
14192         Fix typo.
14193         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
14194         Do define STACK_BOUNDARY.
14195         * config/i370/i370.c: Include expr.h.
14196         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
14197         config/pa/som.h, config/v850/v850.h: Take in_ctors and
14198         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
14199         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
14200         * config/m88k/m88k.c: Include c-tree.h after expr.h.
14201         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
14202         * config/romp/romp.c: Include expr.h after tree.h.
14203         Include toplev.h.
14204         (output_fpop): Use xmalloc, not oballoc.
14205         * config/we32k/we32k.c: Include expr.h.
14206
14207 2001-08-10  Kazu Hirata  <kazu@hxi.com>
14208
14209         * config/h8300/h8300.h: Fix formatting.
14210
14211 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14212
14213         * c-common.h (RETURN_NULLIFIED_P): Lose.
14214         * c-semantics.c (genrtl_return_stmt): Don't check it.
14215
14216 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14217
14218         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
14219         (mips_annotate_frame_insn): New function.
14220         (mips_emit_frame_related_store): New function.
14221         (save_restore_insns): Don't mark instructions that set up the base
14222         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
14223         the store instructions instead.
14224         (mips_expand_prologue): If the stack size is moved into a temporary
14225         register, do not mark that move as frame-related.  Add a
14226         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14227
14228 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14229
14230         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14231         stack slot as unchanging if current_function_calls_eh_return.
14232
14233 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14234
14235         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
14236         access the second half of the TFmode scratch operand.
14237
14238 2001-08-10  Anthony Green  <green@redhat.com>
14239
14240         * java/class.c (emit_register_classes): Conditionalize code on
14241         JCR_SECTION_NAME.
14242
14243 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14244
14245         * doc/install.texi (Specific, avr): Fix cross-reference to the
14246         main manual to work both for info and HTML versions.
14247
14248 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14249
14250         * stmt.c (expand_null_return_1): Remove code to generate simple returns
14251         and "use_goto" argument.
14252         (expand_null_return, expand_value_return): Update all callers.
14253         * function.c (expand_function_end): Remove code to generate simple
14254         return.
14255         * config/vax/vax.md (epilogue): New expander for function return.
14256         * doc/md.texi (epilogue): Remove "if defined".
14257
14258 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14259
14260         * Makefile.in: Partially revert my previous change:
14261         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14262         of the hashtab.o and safe-ctype.o rules.
14263
14264 2001-08-09  Richard Henderson  <rth@redhat.com>
14265
14266         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14267         (USE_COLLECT2): Remove duplicate definition.
14268         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14269         (use_collect2): Remove dead code.
14270         * configure.in (use_collect2): Remove will_use_collect2 and
14271         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14272         * configure: Rebuild.
14273
14274         * target.h (targetm.asm_out.constructor): New.
14275         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14276         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14277         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14278         * varasm.c (in_ctors, in_dtors): New.
14279         (assemble_constructor, assemble_destructor): Remove.
14280         (default_stabs_asm_out_destructor): New.
14281         (default_named_section_asm_out_destructor): New.
14282         (dtors_section, default_dtor_section_asm_out_destructor): New.
14283         (default_stabs_asm_out_constructor): New.
14284         (default_named_section_asm_out_constructor): New.
14285         (ctors_section, default_ctor_section_asm_out_constructor): New.
14286         * output.h: Update declarations.
14287         * c-decl.c (c_expand_body): Use target hooks instead of
14288         assemble_constructor and assemble_destructor.
14289         * profile.c (output_func_start_profiler): Likewise.
14290         * objc/objc-act.c (finish_objc): Likewise.
14291         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14292         for the constructor.
14293         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14294
14295         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14296         (DTORS_SECTION_ASM_OP): Likewise.
14297         (__CTOR_LIST__): Use attribute section when possible.
14298         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14299
14300         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14301         ASM_OUTPUT_CONSTRUCTOR.
14302
14303         * config/darwin.c (machopic_asm_out_constructor): New.
14304         (machopic_asm_out_destructor): New.
14305         * config/darwin-protos.h: Update declarations.
14306         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14307         (ASM_OUTPUT_DESTRUCTOR): Remove.
14308         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14309         * config/nextstep.c (nextstep_asm_out_constructor): New.
14310         (nextstep_asm_out_destructor): New.
14311         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14312         (ASM_OUTPUT_DESTRUCTOR): Remove.
14313         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14314         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14315         ASM_OUTPUT_*STRUCTOR.
14316         * config/i386/aix386ng.h: Likewise.
14317
14318         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14319         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14320         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14321         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14322         * config/lynx.h: Likewise.
14323         * config/netware.h: Likewise.
14324         * config/psos.h: Likewise.
14325         * config/alpha/alpha-interix.h: Likewise.
14326         * config/alpha/elf.h: Likewise.
14327         * config/arc/arc.h: Likewise.
14328         * config/arm/aof.h: Likewise.
14329         * config/arm/coff.h: Likewise.
14330         * config/arm/elf.h: Likewise.
14331         * config/c4x/c4x.h: Likewise.
14332         * config/h8300/h8300.h: Likewise.
14333         * config/i386/cygwin.h: Likewise.
14334         * config/i386/djgpp.h: Likewise.
14335         * config/i386/i386-coff.h: Likewise.
14336         * config/i386/i386-interix.h: Likewise.
14337         * config/i386/sco5.h: Likewise.
14338         * config/i386/vsta.h: Likewise.
14339         * config/i386/win32.h: Likewise.
14340         * config/i960/i960-coff.h: Likewise.
14341         * config/ia64/sysv4.h: Likewise.
14342         * config/m68hc11/m68hc11.h: Likewise.
14343         * config/m68k/coff.h: Likewise.
14344         * config/m68k/mot3300.h: Likewise.
14345         * config/m88k/m88k.h: Likewise.
14346         * config/mcore/mcore-pe.h: Likewise.
14347         * config/mcore/mcore.h: Likewise.
14348         * config/mips/elf.h: Likewise.
14349         * config/mips/elf64.h: Likewise.
14350         * config/mips/iris6.h: Likewise.
14351         * config/pa/pa64-hpux.h: Likewise.
14352         * config/rs6000/sysv4.h: Likewise.
14353         * config/sh/sh.h: Likewise.
14354         * config/sparc/litecoff.h: Likewise.
14355
14356         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14357         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14358         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14359         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14360         (ASM_OUTPUT_DESTRUCTOR): Remove.
14361         * config/a29k/a29k.c: Move include of tree.h.
14362         * config/a29k/udi.h: Delete file.
14363         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14364         (vms_asm_out_destructor): New.
14365         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14366         (EXTRA_SECTION_FUNCTIONS): Likewise.
14367         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14368         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14369         * config/c4x/c4x.c: Move include of tree.h.
14370         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14371         (clix_asm_out_destructor): New.
14372         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14373         (ASM_OUTPUT_DESTRUCTOR): Remove.
14374         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14375         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14376         (TARGET_ASM_CONSTRUCTOR): New.
14377         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14378         (sco_asm_out_constructor): New.
14379         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14380         * config/i386/svr3gas.h: Remove stack grows up code.
14381         Remove code duplicated from i386/sysv3.h.
14382         (TARGET_ASM_CONSTRUCTOR): New.
14383         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14384         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14385         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14386         (TARGET_ASM_CONSTRUCTOR): New.
14387         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14388         (m68hc11_asm_out_destructor): New.
14389         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14390         (TARGET_ASM_DESTRUCTOR): New.
14391         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14392         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14393         config/svr3.h pertaining to section manipulation.
14394         * config/m68k/dpx2g.h: Remove #if 0 code.
14395         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14396         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14397         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14398         (TARGET_ASM_CONSTRUCTOR): New.
14399         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14400         (m88k_svr3_asm_out_constructor): New.
14401         (m88k_svr3_asm_out_destructor): New.
14402         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14403         (ASM_OUTPUT_DESTRUCTOR): Remove.
14404         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14405         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14406         * config/rs6000/aix.h: Likewise.
14407         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14408         * config/mips/vxworks.h: Likewise.
14409         * config/rs6000/lynx.h: Likewise.
14410         * config/sh/elf.h: Likewise.
14411         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14412         (DTORS_SECTION_ASM_OP): New.
14413         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14414         (ASM_OUTPUT_DESTRUCTOR): Remove.
14415         * config/sparc/sol2-sld-64.h: Likewise.
14416         * config/vax/vax.c (vms_asm_out_constructor): New.
14417         (vms_asm_out_destructor): New.
14418         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14419         (ASM_OUTPUT_DESTRUCTOR): Remove.
14420         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14421
14422         * doc/tm.texi (@node Initialization): Update.
14423
14424 2001-08-09  Richard Henderson  <rth@redhat.com>
14425
14426         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14427         (__do_global_dtors_aux): Use gp-relative static data to avoid
14428         one dynamic relocation.
14429         (__do_frame_setup): Register Java classes.
14430         * config/alpha/crtend.asm (__JCR_END__): New.
14431
14432 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14433
14434         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14435         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14436         (GEN, STAGESTUFF): Add new files.
14437         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14438         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14439         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14440         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14441         as well as insn-codes.h and insn-flags.h in config.h; and no
14442         extra headers in tconfig.h and hconfig.h.
14443
14444         * gencodes.c: Eliminate code to generate predicate declarations
14445         or #defines for md-file constants.
14446         * genconstants.c, genpreds.c: New files.
14447
14448         * i386.md: Re-order guard expressions such that TARGET_64BIT
14449         comes first, when this permits better optimization.  Add
14450         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14451         why this is desirable.
14452
14453 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14454
14455         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14456         (find_fde_for_dso): Remove.
14457         (_Unwind_IteratePhdrCallback): New.
14458         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14459         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14460
14461 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14462
14463         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14464         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14465
14466 2001-08-09  Graham Stott  <grahams@redhat.com>
14467
14468         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14469         (vis_no_unit): Use it.
14470         (visualize_no_unit): Add the insn only if room exists.
14471
14472 2001-08-09  Graham Stott  <grahams@redhat.com>
14473
14474         * predict.c (estimate_probability): Replace magic numbers with
14475         appropriate enumeration.
14476
14477 2001-08-09  Graham Stott  <grahams@redhat.com>
14478
14479         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14480         parameter.
14481         (EXTRACT_FLAGS): Likewise.
14482
14483 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14484
14485         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14486         CONST_INT in last patch.
14487
14488 2001-08-08  Anthony Green  <green@redhat.com>
14489
14490         * java/class.c (emit_register_classes): Use assemble_jcr if
14491         possible.  Keep the original mechanism as a fallback.
14492         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14493         and weak symbol support.
14494         * crtstuff.c (__JCR_LIST__): Define.
14495         (__JCR_END__): Define.
14496         (_Jv_RegiserClasses): Define weak symbol if possible.
14497         (__do_global_ctors_aux): Register classes for ELF targets with
14498         weak symbol support.
14499
14500 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14501
14502         * dbxout.c: Fix comment formatting.
14503         * dependence.c: Likewise.
14504         * df.c: Likewise.
14505         * diagnostic.c: Likewise.
14506         * dominance.c: Likewise.
14507         * doprint.c: Likewise.
14508         * dwarf2out.c: Likewise.
14509         * dwarfout.c: Likewise.
14510         * emit-rtl.c: Likewise.
14511         * except.c: Likewise.
14512         * explow.c: Likewise.
14513         * expmed.c: Likewise.
14514         * expr.c: Likewise.
14515         * flow.c: Likewise.
14516         * fold-const.c: Likewise.
14517         * function.c: Likewise.
14518
14519 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14520
14521         * global.c (retry_global_alloc): Avoid shadowing allocno.
14522
14523 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
14524
14525         * except.c (remove_fixup_regions): Fix typo.
14526
14527 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
14528
14529         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
14530         unsigned HOST_WIDE_INT to avoid warning.
14531         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
14532         * flow.c (set_block_for_new_insns): Likewise.
14533
14534 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
14535
14536         * sibcall.c (return_value_pseudo): New static variable.
14537         (skip_copy_to_return_value): Handle return_value_pseudo.
14538         (call_ends_block_p): Ensure that return_value_pseudo is set.
14539         (optimize_sibling_and_tail_recursive_call): Discover the
14540         load of pseudo return value in alternate exit block.
14541
14542 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14543
14544         * calls.c (ECF_ALWAYS_RETURN): New constant.
14545         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
14546         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
14547         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
14548         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
14549         * rtl.c (reg_note_name): New name.
14550         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
14551
14552 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
14553
14554         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
14555
14556 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14557
14558         * alias.c (get_alias_set): Return a previously calculated
14559         alias set for a VAR_DECL.
14560         * function.c (gen_mem_addressof): Calculate the alias set before
14561         touching the RTL.
14562
14563 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
14564
14565         * predict.def: Set hitrates according our experimental run.
14566
14567 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
14568
14569         * i386.h (HARD_REGNO_RENAME_OK): New macro.
14570
14571 2001-08-08  H.J. Lu <hjl@gnu.org>
14572
14573         * config/mips/mips.c (mips_unique_section): New. Copied from
14574         config/mips/elf.h.
14575
14576         * config/mips/mips-protos.h (mips_unique_section): New
14577         prototype.
14578
14579         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
14580
14581         * config/mips/little.h: New. Generic little endian mips
14582         targets. Only mips*-*-linux* is converted to use it so far.
14583
14584         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
14585         (WCHAR_TYPE): Defined
14586         (WCHAR_TYPE_SIZE): Likewise.
14587         (INIT_SUBTARGET_OPTABS): Likewise.
14588         (BSS_SECTION_ASM_OP): Likewise.
14589         (SBSS_SECTION_ASM_OP): Likewise.
14590         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14591         (ASM_DECLARE_OBJECT_NAME): Likewise.
14592         (UNIQUE_SECTION): Likewise.
14593         (EXTRA_SECTIONS): Likewise.
14594         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
14595         (ASM_OUTPUT_DESTRUCTOR): Likewise.
14596         (ASM_OUTPUT_DEF): Likewise.
14597         (HANDLE_SYSV_PRAGMA): Removed.
14598         (NO_IMPLICIT_EXTERN_C): Likewise.
14599         (TARGET_MEM_FUNCTIONS): Likewise.
14600         (STARTFILE_SPEC): Likewise.
14601         (ENDFILE_SPEC): Likewise.
14602         (LIB_SPEC): Likewise.
14603         (INVOKE__main): Likewise.
14604         (CTOR_LIST_BEGIN): Likewise.
14605         (CTOR_LIST_END): Likewise.
14606         (DTOR_LIST_BEGIN): Likewise.
14607         (DTOR_LIST_END): Likewise.
14608         (SET_ASM_OP): Likewise.
14609         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14610         (ASM_OUTPUT_DEF): Likewise.
14611         (ASM_OUTPUT_IDENT): Likewise.
14612
14613         * config/mips/mips.h (ASM_SPEC): Undefine before define.
14614         (CPLUSPLUS_CPP_SPEC): Likewise.
14615         (ASM_APP_ON) Redefine only if not defined.
14616         (ASM_APP_OFF): Likewise.
14617         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14618         (ASM_OUTPUT_IDENT): Likewise.
14619
14620         * config.gcc: Update tm_file for Linux/mips.
14621
14622 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
14623
14624         * cselib.c (cselib_record_sets): If insn is predicated, turn
14625         sources into IF_THEN_ELSEs.
14626
14627         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
14628         Turn into define_insn_and_split.
14629
14630         * sched-deps.c: Include "cselib.h".
14631         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
14632         Use cselib to turn memory addresses into VALUEs.
14633         (sched_analyze): Call cselib_init/cselib_finish if necessary.
14634         * sched-int.h (struct sched_info): New member USE_CSELIB.
14635         * sched-ebb.c (ebb_sched_info): Initialize it.
14636         * sched-rgn.c (rgn_sched_info): Likewise.
14637         * Makefile.in (sched-deps.o): Update dependencies.
14638
14639         * cselib.h (cselib_subst_to_values): Declare.
14640         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
14641         that have no value and autoincs to be handled by generating a new
14642         dummy value.
14643
14644 2001-08-08  Graham Stott  <grahams@redhat.com>
14645
14646         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
14647         within fixed length SEQUENCE.
14648
14649 2001-08-08  Graham Stott  <grahams@redhat.com>
14650
14651         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
14652         (diagnostic_prefixing_rule): Likewise.
14653         (diagnostic_line_cutoff): Likewise.
14654         (diagnostic_kind_count): Likewise.
14655
14656 2001-08-08  Graham Stott  <grahams@redhat.com>
14657
14658         * alias.c (find_base_decl): Delete redundent assignment.
14659
14660 2001-08-08  Graham Stott  <grahams@redhat.com>
14661
14662         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
14663         (abs): Uppercase and paranthesize macro parameter.
14664         (MEM_DEPENDENCY): Add whitespace.
14665
14666 2001-08-08  Graham Stott  <grahams@redhat.com>
14667
14668         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
14669         failure check for CONST_INT
14670
14671 2001-08-08  Graham Stott  <grahams@redhat.com>
14672
14673         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
14674         (libcall_dead_p): Likewise.
14675
14676         (mark_used_regs): Constify fmt.
14677         (find_use_as_address): Likewise.
14678
14679 2001-08-08  Graham Stott  <grahams@redhat.com>
14680
14681         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
14682          parameter.
14683
14684 2001-08-08  Graham Stott  <grahams@redhat.com>
14685
14686         * combine.c (combine_simplify_rtx): Update comment and
14687         remove erroneous test.
14688
14689 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14690
14691         * cppinit.c (cpp_finish): Pop the final buffer without comment.
14692         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
14693         take care to avoid multiple no-newline at EOF warnings in that
14694         case.
14695
14696 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
14697
14698         * calls.c (expand_call): Do not emit INSN_SETJMP note.
14699         (emit_library_call_value_1): Likewise.
14700         (emit_call_1): Emit REG_SETJMP note.
14701         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
14702         of INSN_SETJMP
14703         * cselib.c (cselib_process_insn): Likewise.
14704         * flow.c (propagate_block): Likewise.
14705         * loop.c (find_and_verify_loops): Likewise.
14706         * reload.c (find_equiv_regs): Likewise.
14707         * reload1.c (reload): Likewise.
14708         * resource.c (mark_referenced_resources,
14709         mark_set_resources): Likewise.
14710         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
14711         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
14712         * haifa-sched.c (unlink_other_notes): Likewise.
14713         (reemit_notes): Likewise.
14714         * sched-ebb.c (sched_ebb): Likewise.
14715         * sched-rgc.c (sched_region): Likewise.
14716         * rtl.c (note_insn_name): Likewise.
14717         (reg_note_name): Add REG_SETJMP
14718         * rtl.h (reg_note): Add REG_SETJMP.
14719         (insn_note): Remove NOTE_INSN_SETJMP.
14720
14721         * profile.c (branch_prob): Add fake edges for setjmp.
14722
14723 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
14724
14725         * config.gcc: Quote target_cpu_default2 correctly for
14726         powerpc*-*-* targets.
14727
14728 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14729
14730         * cpplib.h, line-map.h: Update comments.
14731         * cppmain.c (printer_init): Move inline.
14732         (maybe_print_line, print_line): Take a map pointer.
14733         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
14734         (cb_file_change): Don't use prior value of print.map.
14735
14736 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
14737
14738         * doc/install.texi: Document fine-grained multilib configuration.
14739
14740 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
14741
14742         * rtlanal.c (find_first_parameter_load): Call note_stores
14743         only on the instructions.
14744
14745 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14746
14747         * alias.c (nonlocal_mentioned_p):
14748         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
14749         * calls.c (emit_call_1): Likewise.
14750         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
14751         * cselib.c (cselib_process_insn): Likewise.
14752         * df.c (df_insns_modify): Likewise.
14753         * flow.c (need_fake_edge_p): Likewise.
14754         (propagate_one_insn): Likewise.
14755         * haifa-sched.c (reemit_notes): Likewise.
14756         * integrate.c (copy_insn_list): Likewise.
14757         * jump.c (delete_prior_computation): Likewise.
14758         * local-alloc.c (validate_equiv_mem): Likewise.
14759         * loop.c (scan_loop): Likewise.
14760         * predict.c (estimate_probability): Likewise.
14761         * reload.c (reload): Likewise.
14762         * sched-deps (sched_analyze): Likewise.
14763         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
14764         * gcse.c (compute_hash_table): Likewise.
14765         (mark_call): Likewise.
14766         (store_killed_in_insn): Likewise.
14767
14768 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
14769
14770         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
14771
14772 2001-08-06  Richard Henderson  <rth@redhat.com>
14773
14774         * varasm.c (assemble_gc_entry): Remove.
14775         * output.h: Likewise.
14776
14777 2001-08-06  Richard Henderson  <rth@redhat.com>
14778
14779         * varasm.c (assemble_constructor): Take a symbol_ref and a
14780         priority instead of a bare string.  Move priority handling
14781         here from cp/decl2.c.
14782         * output.h: Update decls.
14783
14784         * c-decl.c (c_expand_body): Update calls to assemble_constructor
14785         and assemble_destructor.
14786         * profile.c (output_func_start_profiler): Likewise.
14787         * objc/objc-act.c (finish_objc): Likewise.
14788         (build_module_descriptor): Return the symbol not the symbol name.
14789
14790 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
14791
14792         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
14793         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
14794         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
14795         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
14796         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
14797         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
14798
14799 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14800
14801         * cpperror.c (print_containing_files): Moved to line-map.c.
14802         (print_location): line-map.c handles re-listing or otherwise.
14803         * cpphash.h (struct lexer_state): Remove next_bol.
14804         (struct cpp_buffer): Remove include_stack_listed.
14805         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
14806         Remove faked buffer handling.
14807         (_cpp_do_file_change): Tweak.
14808         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
14809         * cppmain.c (struct printer): Remove filename.
14810         (print_line, cb_file_change): Update accordingly.
14811         * line-map.c: Include intl.h.
14812         (init_line_maps): Initialize last_listed.
14813         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
14814         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
14815         (print_containing_files): New.
14816         * line-map.h (struct line_maps): New member last_listed.
14817         (print_containing_files, INCLUDED_FROM): New.
14818         * Makefile.in: Update.
14819         * po/POTFILES.in: Add line-map.c.
14820
14821 2001-08-06  Richard Henderson  <rth@redhat.com>
14822
14823         * except.c (convert_from_eh_region_ranges_1): Never mark
14824         USE or CLOBBER insns as throwing.
14825
14826         * expr.c (store_constructor): Don't clobber memory targets.
14827
14828 2001-08-06  Andreas Jaeger  <aj@suse.de>
14829
14830         * profile.c (branch_prob): Remove unused variable insn.
14831
14832         * Makefile.in (local-alloc.o): Add dependency on except.h.
14833
14834         * local-alloc.c: Include except.h for can_throw_internal prototype.
14835
14836 2001-08-06  Richard Henderson  <rth@redhat.com>
14837
14838         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
14839         * function.c (expand_main_function): Implement it.
14840         * doc/tm.texi: Document it.
14841
14842 2001-08-06  Stan Shebs  <shebs@apple.com>
14843
14844         * doc/install.texi: Document powerpc-*-darwin* details.
14845
14846 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
14847
14848         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
14849         (ASM_CPU_SPEC): Move back to rs6000.h
14850         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
14851
14852         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
14853
14854         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
14855         readded.
14856
14857         * config/rs6000/linux64.h: Ditto.
14858
14859         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14860         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
14861         nothing.
14862
14863         Remove accidently readded definitions of FUNCTION_PROLOGUE,
14864         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
14865
14866         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14867         to rs6000.h
14868
14869 2001-08-05  Richard Henderson  <rth@redhat.com>
14870
14871         * local-alloc.c (update_equiv_regs): Do not move insns that
14872         can throw.
14873
14874 2001-08-05  Jan Hubicka  <jh@suse.cz>
14875
14876         * Makefile.in (reload1.o): Add dedendancy on except.h
14877         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
14878         prototypes.
14879         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
14880         indicating wehther edges has been cleaned up.
14881         * reload1.c: Inlucde except.h
14882         (fixup_abnormal_edges): Accept deleted insns.
14883         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
14884         after combine.
14885
14886 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14887
14888         * cpplib.c (do_line): Correct line number after pop_buffer.
14889
14890 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14891
14892         PR preprocessor/3824
14893         * line-map.c: Update comments.
14894         * line-map.h: Update comments.
14895         * tradcif.y: Don't consider large numbers unsigned.
14896
14897 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14898
14899         PR preprocessor/3081
14900         * c-lex.c (map): New.
14901         (cb_file_change): Update map and use it.
14902         (cb_def_pragma, cb_define, cb_undef): Use map and line.
14903         (c_lex): Update to use map.
14904         * cpperror.c (print_location): Move to using logical line numbers.
14905         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
14906         (cpp_make_system_header): Similarly.
14907         (_cpp_execute_include): Stop line numbering hacks.  Store the
14908         line we will return to.
14909         * cpphash.h (CPP_BUF_LINE): Remove.
14910         (struct cpp_buffer): Remove lineno and pseudo_newlines.
14911         Add map and return_to_line.
14912         (_cpp_do_file_change): Update.
14913         * cppinit.c (cpp_start_read): Update line kludge.
14914         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
14915         (trigraph_ok): Use logical line numbers for diagnostics.
14916         (skip_block_comment): Likewise.
14917         (skip_whitespace): Likewise.
14918         (skip_line_comment): Use pfile->line instead.
14919         (_cpp_lex_token): Update to use logical line numbering exclusively.
14920         Handle BOL locally.  Accept new lines in directives, but keep
14921         pfile->line decremented.  Diagnostics use logical lines.  Update
14922         directive handling.
14923         * cpplib.c (SEEN_EOL): New.
14924         (skip_rest_of_line, check_eol): Use it.
14925         (end_directive): Increase line number when accepting the newline
14926         at the end of a directive.
14927         (run_directive): Simplify.
14928         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
14929         (_cpp_do_file_change): Update to take buffer line number as an
14930         argument, and store the current map in the cpp_reader.  Remove
14931         line number kludges.
14932         (_cpp_do__Pragma): Restore output position after a _Pragma.
14933         (cpp_push_buffer): Don't set output line or lineno.
14934         (_cpp_pop_buffer): Transfer more info from a faked buffer.
14935         Remove line kludge.  Set output_line.
14936         * cppmacro.c (builtin_macro): Update handling of __LINE__.
14937         (parse_arg): Use logical lines.
14938         (save_lookahead_token): Save EOFs too now.
14939         * cppmain.c (struct printer): Fix comments.
14940         (printer_init): Simplify, let caller do errors.
14941         (scan_translation_unit, check_multiline_token, dump_macro): Update.
14942         (maybe_print_line): Simplify.
14943         (print_line): Don't print a linemarker if -P.
14944         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
14945         (cb_file_change): Simplify.
14946         * line-map.h (LAST_SOURCE_LINE): Fix.
14947         (CURRENT_LINE_MAP): New.
14948
14949 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
14950
14951         * doloop.c (doloop_modify_runtime): Properly compute number of
14952         iterations if loop was unrolled.
14953
14954         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
14955         if their CSELIB_VAL_PTRs are.
14956
14957         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
14958         (setup_spill_pointers): Initialize it.
14959         (spill_restore_mem): Set it.
14960         (do_spill, do_restore): Use it to add REG_INC note.
14961         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
14962
14963         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
14964         asms if other insns are available.
14965
14966         * config/ia64/ia64.c (condop_operator): New predicate.
14967         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
14968         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
14969         patterns.
14970
14971         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
14972         temporary register than directly using a MEM.
14973
14974 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14975
14976         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
14977         parameter in last change.
14978
14979 2001-08-04  Zack Weinberg  <zackw@panix.com>
14980
14981         * sparc.md: Don't use #if inside C test expression.
14982
14983 2001-08-04  Richard Henderson  <rth@redhat.com>
14984
14985         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
14986
14987 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14988
14989         * cpphash.h (struct cpp_reader): New member directive_line.
14990         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
14991         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
14992         do_pragma): Pass line to callbacks.
14993         (start_directive): Record line of directive.
14994         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
14995         cb_include): Similarly.
14996         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
14997         Similarly.
14998
14999 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15000
15001         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
15002         comment.
15003
15004 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15005
15006         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
15007
15008         * reload1.c (fixup_abnormal_edges): New static function.
15009         (reload): Use it.
15010
15011         * flow.c (need_fake_edge_p): New function.
15012         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
15013         avoid call insn to be very last insn in the insn stream.
15014
15015         * profile.c (branch_prob): Call flow_call_edges_add instead of
15016         doing that by hand; cleanup cfg to re-merge basic blocks once
15017         we are done.
15018
15019 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15020
15021         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
15022         are also on line-map.h.
15023         * cppfiles.c (stack_include_file): Update.
15024         * cpphash.h (struct cpp_buffer): New member return_at_eof.
15025         (_cpp_pop_buffer): New.
15026         * cppinit.c (cpp_destroy, cpp_finish): Update.
15027         (do_includes): Mark each buffer to return at EOF.
15028         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
15029         return as requested.
15030         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
15031         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
15032         * cpplib.h (cpp_pop_buffer): Remove.
15033         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
15034         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
15035         buffers.
15036         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
15037         to pop buffers.
15038         (do_preprocessing): Update.
15039         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
15040         * c-parse.in (_yylex): Similarly.
15041         * scan-decls.c (scan_decls): Similarly.
15042         * line-map.h: Update comments.
15043
15044         * objc/Make-lang.in (objc-act.o): Update dependencies.
15045
15046 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15047
15048         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
15049         and soft register for operand 0.
15050         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
15051
15052 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15053
15054         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
15055         register for operand 0.
15056         ("bitcmpqi_z_used"): Allow memory for operand 0.
15057         (split "bitcmpqi"): New split to handle address reg as operand 1.
15058
15059 2001-08-04  Andreas Jaeger  <aj@suse.de>
15060
15061         * gcse.c: Revert Daniel's last patch.
15062
15063 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15064
15065         * sparc-protos.h: Add prototypes for fp_zero_operand and
15066         reg_or_0_operand.
15067         * sh-protos.h: Add prototype for fpul_operand.
15068
15069 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
15070
15071         * doc/extend.texi (Other Builtins): Fix typo in last change.
15072
15073 2001-08-03  Richard Henderson  <rth@redhat.com>
15074
15075         * target.h (gcc_target): Add asm_out.named_section,
15076         section_type_flags, have_named_sections.
15077         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
15078         (TARGET_HAVE_NAMED_SECTIONS): New.
15079         (TARGET_SECTION_TYPE_FLAGS): New.
15080
15081         * Makefile.in (toplev.o): Depend on TARGET_H.
15082         (varasm.o, dbxout.o): Likewise.
15083         * c-common.c (decl_attributes): Check targetm.have_named_sections
15084         instead of ifdef ASM_OUTPUT_SECTION_NAME.
15085         * dbxout.c (dbxout_function_decl): Likewise.
15086         (dbxout_function_end): Likewise.
15087         * toplev.c (compile_file): Likewise.
15088         * varasm.c (exception_section): Likewise.
15089         * cp/decl2.c (finish_objects): Likewise.
15090
15091         * defaults.h (EH_FRAME_SECTION): Remove.
15092         (EH_FRAME_SECTION_ASM_OP): Remove.
15093         (EH_FRAME_SECTION_NAME): New.
15094         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
15095         (UNIQUE_SECTION_P): Remove.
15096         * dwarf2out.c (SECTION_FORMAT): Remove.
15097         (ASM_OUTPUT_SECTION): Remove.
15098         (output_call_frame_info): Use named_section_flags.
15099         (output_comp_unit, dwarf2out_start_source_file): Likewise.
15100         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
15101         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
15102         * varasm.c (in_eh_frame, eh_frame_section): Remove.
15103         (named_section_flags): New.
15104         (named_section): Use it and targetm.section_type_flags.
15105         (resolve_unique_section): New.
15106         (assemble_start_function): Use it.
15107         (asm_emit_uninitialised, assemble_variable): Likewise.
15108         (default_section_type_flags): New.
15109         (default_no_named_section, default_elf_asm_named_section): New.
15110         (default_coff_asm_named_section, default_pe_asm_named_section): New.
15111         * output.h: Update varasm.c decls.
15112         (SECTION_*): New flags.
15113
15114         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
15115         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
15116
15117         * config/elfos.h (UNIQUE_SECTION_P): Remove.
15118         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
15119         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
15120         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15121         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
15122         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
15123         * config/mips/elf.h, config/mips/elf64.h: Likewise.
15124         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
15125         * config/pa/pa64-hpux.h,
15126
15127         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
15128         (TARGET_ASM_NAMED_SECTION): New.
15129         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
15130         * config/alpha/vms.h, config/arm/coff.h: Likewise.
15131         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
15132         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
15133         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
15134         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
15135         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15136         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
15137         * config/i386/sco5.h, config/i386/win32.h: Likewise.
15138         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
15139         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
15140         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
15141         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
15142         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
15143         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
15144         * config/sparc/sysv4.h: Likewise.
15145
15146         * config/nextstep.h: Error until named sections implemented.
15147
15148         * config/a29k/a29k.c (a29k_asm_named_section): New.
15149         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
15150         (vms_section_type_flags, vms_asm_named_section): New.
15151         * config/arm/arm.c (arm_elf_asm_named_section): New.
15152         * config/avr/avr.c (asm_output_section_name): Remove.
15153         * config/avr/avr-protos.h: Update.
15154         * config/c4x/c4x.c (c4x_asm_named_section): New.
15155         * config/h8300/h8300.c (h8300_asm_named_section): New.
15156         * config/i386/i386.c (sco_asm_named_section): New.
15157         * config/i386/winnt.c (SECTION_PE_SHARED): New.
15158         (i386_pe_section_type_flags): New.
15159         (i386_pe_asm_named_section): New.
15160         * config/i386/i386-protos.h: Update.
15161         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
15162         * config/mcore/mcore.c (mcore_asm_named_section): New.
15163         * config/mips/mips.c (iris6_asm_named_section): New.
15164         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
15165         instead of UNIQUE_SECTION_P.
15166         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
15167         (xcoff_asm_named_section): New.
15168         * config/sh/sh.c (sh_asm_named_section): New.
15169         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
15170
15171         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
15172         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
15173         (EH_FRAME_SECTION_NAME): New.
15174         (EXCEPTION_SECTION): New.
15175         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
15176         (DEBUG_*_SECTION): Remove.
15177         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
15178         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
15179         (EH_FRAME_SECTION_ASM_OP): Remove.
15180
15181         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
15182         (ASM_OUTPUT_SECTION_NAME): Remove.
15183         (TARGET_ASM_NAMED_SECTION): New.
15184         (TARGET_HAVE_NAMED_SECTIONS): New.
15185         (TARGET_SECTION_TYPE_FLAGS): New.
15186         (EH_FRAME_SECTION_ASM_OP): Remove.
15187         (EH_FRAME_SECTION_NAME): New.
15188
15189 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15190
15191         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
15192         for complex expressions when cfun == 0.
15193         * doc/extend.texi: Document that __builtin_constant_p can be
15194         used in data initializers as well as functions.
15195
15196 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
15197
15198         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
15199         variable I locally, instead of expecting a declaration in the
15200         calling context.
15201
15202 2001-08-03  Richard Henderson  <rth@redhat.com>
15203
15204         * except.c (collect_one_action_chain): Add an explicit cleanup
15205         action if regions surrounding a catch were encoded entirely
15206         within the call-site entry.
15207
15208 2001-08-03  Richard Henderson  <rth@redhat.com>
15209
15210         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
15211         don't take REGNO of a non-register.
15212
15213 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15214
15215         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
15216         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
15217         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
15218         (__gthread_mutex_init_function): New function for mutex initialization.
15219
15220 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15221
15222         * Makefile.in: Revert screwed up commit.
15223
15224 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15225
15226         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15227         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15228         merged by linker script to get a final _exit().
15229         (__do_global_dtors): New for destructor handling in specific exit
15230         section.
15231         (__do_global_ctors): New for constructors in specific install section.
15232         (__map_data_section): Map data sections before running constructors.
15233         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15234         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15235         (DTORS_SECTION_ASM_OP): Likewise.
15236         (CTORS_SECTION_FUNCTION): Define to force a reference to
15237         __do_global_ctors.
15238         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15239
15240 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15241
15242         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
15243
15244         * Makefile.in: Add df.h to gcse.c dependencies.
15245
15246 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15247
15248         * varasm.c (output_constant_def_contents): Use for the length of a
15249         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15250         depending on which is larger.
15251
15252 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15253
15254         * gcse.c: Include df.h for use as a dataflow analyzer.
15255         Remove regvec.
15256         Declaration of reg_set_info: gone.
15257         New df_analyzer variable used by store motion.
15258         (reg_set_info): Deleted.
15259         (mark_mem_regs): New function, analyze regs used by a mem.
15260         (store_ops_ok): Use dataflow analyzer results to determine if
15261         necessary regs are changed in the block.
15262         (find_moveable_store): Remove check for symbol ref, we can handle
15263         much more complex expressions now.
15264         (compute_store_table): Remove most of the code, it's unnecessary
15265         now that the dataflow analyzer records the info for us.
15266         (store_killed_after): Add parameter to say whether to do the
15267         store_ops_okay test, used to speed up testing when we already know
15268         the answer, and just want to know if the store itself was killed.
15269         (build_store_vector): Largely rewritten to calculate the various
15270         vectors properly, and somewhat optimized.
15271         (store_motion): Init the df_analyzer, get REG_DEF chains.
15272         Also handle trapping expressions (since mems almost always trap)
15273         (simple_mem): Redefine what a simple mem is.
15274
15275 2001-08-03  DJ Delorie  <dj@redhat.com>
15276
15277         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15278         set from a constant part of the condition.
15279
15280 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15281
15282         * mkdeps.c (deps_add_default_target): Make local variable
15283         ``start'' a const char pointer.
15284         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15285
15286 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15287
15288         * doc/install.texi (Configuration): Fix markup.
15289         (Specific, i?86-*-udk): Likewise.
15290         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15291         --with-gnu-ld.
15292         Document --enable-threads and --enable-libgcj status.
15293         (Specific, mips-sgi-irix*): Canonicalize triples.
15294         (Specific, mips-sgi-irix5): Warn about problems with this config.
15295         Mention required GNU as patch.
15296         Native assembler problems are fixed.
15297         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15298         Document --enable-threads and --enable-libgcj status.
15299
15300 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15301
15302         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15303         of mkinstalldirs.
15304
15305 2001-08-03  Richard Henderson  <rth@redhat.com>
15306
15307         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15308         constant data.
15309
15310 2001-08-03  Richard Henderson  <rth@redhat.com>
15311
15312         * rtlanal.c (find_first_parameter_load): Stop if we
15313         reach a CODE_LABEL at BOUNDARY.
15314
15315 2001-08-03  Richard Henderson  <rth@redhat.com>
15316
15317         * config/alpha/alpha.md (force_movdi): New insn.
15318         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15319         Tweek FRP marking of VMS prologue insns.
15320         * config/alpha/vms.h (EPILOGUE_USES): New.
15321
15322 2001-08-02  Richard Henderson  <rth@redhat.com>
15323
15324         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15325
15326 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15327
15328         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15329         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15330         config/convex/convex.h, config/d30v/d30v.c,
15331         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15332         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15333         config/mips/mips.h, config/mn10200/mn10200.h,
15334         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15335         config/v850/v850.h, config/vax/openbsd.h,
15336         config/vax/openbsd1.h, config/vax/ultrix.h,
15337         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15338         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15339         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15340         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15341         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15342         in comments and documentation.
15343
15344 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15345
15346         * line-map.c: New.
15347         * line-map.h: New.
15348         * Makefile.in (line-map.o): New.
15349         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15350         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15351         * cpperror.c (print_containing_files): Similarly.
15352         (print_location): Update.  Don't output a space before _Pragma.
15353         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15354         (stack_include_filee, cpp_make_system_header): Update.
15355         (_cpp_execute_include): Get logical line number right for calling
15356         as-yet-unterminated #include.
15357         * cpphash.h (struct cpp_reader): Add line_maps.
15358         (_cpp_do_file_change): Update.
15359         * cppinit.c (cpp_create_reader): Initialize line maps.
15360         (cpp_destroy): Destroy line maps.
15361         (cpp_start_read): Get logical line number right.
15362         * cpplex.c (parse_string): Only warn once for multi-line strings.
15363         Use boolean variable for null warning.
15364         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15365         already.
15366         (do_include_common): End the directive early.
15367         (do_line): Don't warn about out-of-range lines in preprocessed
15368         source.  Update.  Remove unused variables.
15369         (_cpp_do_file_change): Update for new line mapping.
15370         (pragma_cb): New typedef.
15371         (cpp_register_pragma): Stop looking ahead before calling the
15372         handler.  Clean up.
15373         (do_pragma_system_header): End directive early.
15374         (cpp_get_line_maps): New.
15375         (cpp_pop_buffer): Fudge logical line.  Update.
15376         * cpplib.h: Include line-map.h
15377         (enum cpp_fc_reason): Remove.
15378         (struct cpp_file_change): Update.
15379         (cpp_get_line_maps): New.
15380         * cppmain.c (struct_printer): New member map.
15381         (cb_file_change): Update for new mappings.
15382         * fix-header.c (cb_file_change): Similarly.
15383
15384 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15385
15386         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15387         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15388
15389 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15390
15391         * config/vax/vax.c: include expr.h.
15392
15393 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15394
15395         * Makefile.in ($(srcdir)/configure): Only rebuild in
15396         maintainer mode.
15397         ($(srcdir)/config.in): Only define in maintainer mode.
15398         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15399
15400 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15401
15402         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15403
15404 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15405
15406         * gcc.c (set_collect_gcc_options): New function, split out from
15407         main.
15408         Ignore elided switches.
15409         (do_spec_1): Invoke before executing command.
15410         (set_input): Export.
15411         Move declaration ...
15412         * gcc.h (set_input): ... here.
15413         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15414         file.
15415
15416 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15417
15418         Kill -fhonor-std.
15419         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15420         interaction.
15421         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15422
15423 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15424
15425         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15426         for the unnamed instructions it expands to.
15427
15428 2001-08-02  Richard Henderson  <rth@redhat.com>
15429
15430         * regclass.c (call_really_used_regs): Conditionally define.
15431         (init_reg_sets_1): Don't use it if not defined.
15432         (fix_register): Similarly, don't set it.
15433
15434 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15435
15436         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15437         Correct comment that had been missed in the previous change.
15438
15439 2001-08-01  Stan Shebs  <shebs@apple.com>
15440
15441         * config/darwin.c (machopic_stub_name): Try matching by name.
15442         (update_stubs): New function.
15443         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15444         unconditionally.
15445
15446 2001-08-01  Richard Henderson  <rth@redhat.com>
15447
15448         * except.c (output_function_exception_table): Use assemble_align.
15449         * varasm.c (assemble_eh_label): Remove.
15450         (assemble_eh_align, assemble_eh_integer): Remove.
15451
15452 2001-08-01  Robert Lipe  <robertl@caldera.com>
15453
15454         * dwarfout.c: Remove reference to README.DWARF.
15455
15456 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15457
15458         * regclass.c (call_really_used_regs): New array for registers which
15459         are actually used by a call.
15460         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15461         new array.
15462         (fix_register): Set call_really_used too.
15463         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15464         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15465
15466 2001-08-01  Richard Henderson  <rth@redhat.com>
15467
15468         * read-rtl.c (read_name): Consider \r whitespace.
15469
15470 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15471
15472         * config.gcc: Recognize powerpc-*-netbsd*.
15473
15474         * doc/install.texi (Host/target specific installation notes for
15475         GCC): Mention powerpc-*-netbsd*.
15476
15477         * config/rs6000/netbsd.h: New file.
15478         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15479         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15480         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15481         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15482         (TARGET_VERSION): Redefine.
15483
15484         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15485         mcall-netbsd as a match for mcall-sysv.
15486         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15487         (ncrti.S, ncrtn.S): New targets.
15488         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15489
15490         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15491         "netbsd' as a V4 ABI.
15492         (ASM_SPEC): Check for -mcall-netbsd.
15493         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15494         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15495         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15496         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15497         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15498         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15499         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15500
15501         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15502         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15503
15504 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15505
15506         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15507         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15508         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15509         including "unwind-pe.h".
15510
15511 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15512
15513         * rs6000.md (define_splits): Kill unused constraints.
15514
15515 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
15516                               Jan Hubicka  <jh@suse.cz>
15517
15518         * function.c (thread_prologue_and_epilogue_insns): Kill code
15519         dealing with non-existent CFG.
15520
15521 2001-08-01  Kazu Hirata  <kazu@hxi.com>
15522
15523         * alias.c: Fix comment formatting.
15524         * bitmap.c: Likewise.
15525         * builtins.c: Likewise.
15526         * calls.c: Likewise.
15527         * c-common.c: Likewise.
15528         * c-decl.c: Likewise.
15529         * c-dump.c: Likewise.
15530         * c-lex.c: Likewise.
15531         * collect2.c: Likewise.
15532         * combine.c: Likewise.
15533         * conflict.c: Likewise.
15534         * cppfiles.c: Likewise.
15535         * cppinit.c: Likewise.
15536         * cpplex.c: Likewise.
15537         * cpplib.c: Likewise.
15538         * cppmacro.c: Likewise.
15539         * cppspec.c: Likewise.
15540         * c-pragma.c: Likewise.
15541         * crtstuff.c: Likewise.
15542         * cse.c: Likewise.
15543         * cselib.c: Likewise.
15544         * c-semantics.c: Likewise.
15545         * c-typeck.c: Likewise.
15546
15547 2001-08-01  H.J. Lu <hjl@gnu.org>
15548
15549         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
15550
15551 2001-08-01  H.J. Lu <hjl@gnu.org>
15552
15553         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
15554
15555 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
15556
15557         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
15558         contextualizing Objective-C class name lookup by the lexer.
15559         (typespec_reserved_nonattr): Disable ObjC class name lookup after
15560         seeing a TYPESPEC.
15561         (protocoldef): Add support for forward @protocol declarations.
15562         (yylexname): Suppress ObjC class name lookup in certain contexts;
15563         re-enable after lookup is complete.
15564         (_yylex): Re-enable ObjC class name lookup when certain
15565         punctuation marks are seen.
15566
15567         * objc/objc-act.c (check_protocol_recursively): New function used
15568         for finding circular dependencies in protocols.
15569         (objc_declare_protocols): New function for handling forward
15570         @protocol declarations.
15571         (receiver_is_class_object): Detect the case when 'self' is used
15572         inside of a class method.
15573         (build_message_expr): Issue a warning if class method is desired
15574         but instance method is found instead.
15575         (conforms_to_protocol): Streamline.
15576         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
15577         protocol Foo, even if 'Bar foo' does not.
15578         (check_protocols): Streamline.
15579         (start_protocol): Add checks for circular and duplicate protocol
15580         definitions.
15581         (encode_aggregate_within): For typedefs of structs, encode the
15582         underlying struct.
15583         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
15584         (objc_declare_protocols): New prototype.
15585
15586 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15587
15588         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
15589         * cpplex.c (handle_newline): Update prototype.  Maintain logical
15590         line number.
15591         (skip_escaped_newlines, skip_block_comment, parse_string):
15592         Update accordingly.
15593         (_cpp_lex_token): Update, and store token position within the token.
15594         * cpplib.h (struct cpp_token): Add line and column entries.
15595         * cppmacro.c (replace_args): Position stringified tokens correctly.
15596
15597 2001-08-01  Andreas Jaeger  <aj@suse.de>
15598
15599         * basic-block.h: Add prototype for last_loop_beg_note.
15600
15601 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
15602
15603         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
15604         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
15605         comment.
15606         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
15607         while handling WITH_CLEANUP_EXPR node. Use second operand calling
15608         expand_decl_cleanup.
15609         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
15610         the first RTX.
15611         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
15612         operand while calling simple_cst_equal.
15613         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
15614         operand is the cleanup expression, the third is the RTL_EXPR.
15615         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
15616
15617 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
15618
15619         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
15620
15621 2001-07-31  matthew green  <mrg@eterna.com.au>
15622
15623         * config.gcc (i386-*-netbsdelf): New description.
15624         * config/i386/netbsd-elf.h: New file.
15625
15626 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
15627
15628         * loop.c (check_dbra_loop): Use single_set to compute
15629         jump_label.
15630
15631 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
15632
15633         PowerPC reorg and support for powerpc64-*-linux*.
15634
15635         Also fixes emitting of constants on 32 bit and 64 bit
15636         platforms.
15637
15638         * config.gcc: powerpc64-*-linux* is a new target.
15639         Things that needed aix.h now also include xcoff.h
15640
15641         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
15642         xcoff.h.
15643         Move AIX specific stuff into aix.h.
15644         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
15645         with more than just XCOFF now.
15646         (SET_ASM_OP): Remove, now defined where needed.
15647         (FUNCTION_PROLOGUE): New macro definition.
15648         (FUNCTION_EPILOGUE): New macro definition.
15649         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
15650
15651         * config/rs6000/xcoff.h: New file.
15652
15653         * config/rs6000/linux64.h: New file.
15654
15655         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
15656
15657 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
15658
15659         * rs6000.c (print_operand_address): Handle ELF syntax.
15660         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
15661         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
15662         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
15663
15664 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
15665
15666         * rs6000.c (rs6000_override_options): Only disable
15667         flag_function_sections for XCOFF.
15668         (exact_log2_cint_operand): New predicate.
15669         (reg_or_{add,sub}_cint64_operand): New predicates.
15670         (add_operand): Compare CONST_INT with fewer function calls.
15671         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
15672         (print_operand, case 'p'): Ensure positive operand.
15673         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
15674         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
15675         (PREDICATE_CODES): Add new predicates.
15676         * rs6000.md (addsi3): Split 32-bit constants more correctly.
15677         (divsi3, modsi3): Ensure positive power-of-2.
15678         (adddi3): Use new predicate.  Split 32-bit constants more
15679         correctly.  Re-arrange splitter to handle any constant.
15680         (subdi3): Use new predicate.
15681         (divdi3, moddi3): Ensure positive power-of-2.
15682         (movdi): Use rs6000_emit_set_const.
15683         (load_toc_v4_pic_di): Delete.
15684
15685 2001-07-31  Graham Stott <grahams@redhat.com>
15686
15687         * function.c (pad_below): Revert 2001-07-26 patch.
15688
15689 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15690
15691         * reg-stack (convert_regs_1): Fix best edge condition.
15692
15693 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15694
15695         * jump.c (duplicate_loop_exit_test): Better test for jumps
15696         entering the loop; create loop pre_header.
15697
15698 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
15699
15700         * doc/install.texi: Add s390 and s390x as new targets.
15701         * doc/invoke.texi: Add documentation of S/390 and zSeries
15702         target options.
15703         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
15704
15705 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15706
15707         * config/m68k/m68k.md: Replace all general_operand with
15708         nonimmediate_operand for all destinations.
15709         * config/m68k/m68k.c (not_sp_operand): Likewise.
15710
15711 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
15712
15713         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
15714
15715 2001-07-30  Richard Henderson  <rth@redhat.com>
15716
15717         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
15718         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
15719
15720 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15721
15722         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
15723         Add missing doc strings
15724         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
15725         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
15726
15727 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
15728
15729         * i386.c (ix86_output_main_function_alignment_hack): New function.
15730         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
15731
15732         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
15733         edges by EDGE_DFS_BACK flag.
15734         (dump_edge_info): Add dfs_back flag.
15735         * basic-block.h (EDGE_DFS_BACK): New constant.
15736         (mark_dfs_back_edges): Declare.
15737         * alias.c (loop_p): Remove.
15738         (mark_constant_function): Use mark_dfs_back_edges.
15739
15740         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
15741         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
15742         (compensate_edge): Break out from ...
15743         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
15744         (convert_regs_2): Set block_done once block is really done;
15745         Do updating of the predecessors counts.
15746
15747         * toplev.c (rest_of_compilation): Recompute block_for_insn
15748         before post-reload cfg_cleanup.
15749         * function.c (thread_prologue_epilogue_insns):
15750         Call set_block_for_new_insns when emitting prologue directly.
15751
15752 2001-07-30  Andreas Jaeger  <aj@suse.de>
15753
15754         * jump.c: Add prototype for mark_modified_reg.
15755
15756         * cse.c (set_live_p): Add unused attribute.
15757
15758         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
15759         overflow.
15760         (scan_for_source_files): Use long for count to avoid overflow.
15761         (output_data): Likewise.
15762         (output_data): Don't use string concatatenation to silence gcc
15763         -traditional.
15764
15765         * predict.c: Fix typos and grammar.
15766
15767         * gcse.c (insert_insn_end_bb): Remove unused variables.
15768
15769 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
15770
15771         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
15772         (attempt_auto_inc): LIkewise.
15773         (mark_used_reg): Likewise.
15774         (try_pre_increment_1): Likewise.
15775         * regclass.c (regclass): Likewise.
15776         * global.c (allocno_compare): Update comment; change scaling factor.
15777         * local-alloc.c (QTY_CMP_PRI): Likewise.
15778         * regs.h (REG_FREQ_FROM_BB): New.
15779         (REG_FREQ_MAX): Likewise.
15780
15781 2001-07-30  H.J. Lu <hjl@gnu.org>
15782
15783         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
15784         -D_GNU_SOURCE.
15785
15786 2001-07-30  H.J. Lu  (hjl@gnu.org)
15787
15788         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
15789         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
15790         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
15791
15792 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
15793
15794         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
15795         as -mthumb-interwork when -mcpu=arm7 is specified.
15796
15797 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15798
15799         * predict.def (noreturn, loop branch, loop exit): Mark as first
15800         match heuristics.
15801
15802 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
15803
15804         * combine.c (try_combine): Avoid barrier after noop jumps.
15805
15806 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15807
15808         * cpphash.h (struct cpp_reader): Remove import_warning.
15809         * cpplib.c (skip_rest_of_line): Don't bother turning off
15810         macro expansion.
15811         (parse_include): Move include handling to...
15812         (do_include_common): ... here.  Move import warning from...
15813         (do_import): ... here.
15814         (do_pragma_poison): Don't do a callback for poison identifiers.
15815         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
15816         * cppmain.c (setup_callbacks): Similarly.
15817
15818 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
15819
15820         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
15821         handle multiple sets.
15822         * except.c (sjlj_mark_call_sites): .... here.
15823         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
15824
15825 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
15826
15827         Suggested by Richard Henderson and Richard Kenner:
15828         * combine.c (recog_for_combine): Use the fake recog
15829         only if instruction does not match.
15830         * rtl.h (NOOP_MOVE_INSN_CODE): New.
15831         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
15832
15833         * combine.c (try_combine): Discover noop jump as direct jump.
15834
15835 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
15836
15837         * df.c (df_rd_global_compute): Add successors to worklist, not
15838         current item.
15839         (df_ru_global_compute): Ditto.
15840
15841 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
15842
15843         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
15844         increment REG_N_SETS.
15845
15846 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15847
15848         * sbitmap.h: New prototype for sbitmap_a_xor_b.
15849
15850         * sbitmap.c (sbitmap_a_xor_b): New function.
15851         ifdef the basic block stuff on IN_GCC.
15852
15853 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15854
15855         * cppexp.c (parse_defined): Always record the macro name.
15856         (lex): Don't worry about identifiers, or special-case
15857         CPP_NOT here.
15858         (_cpp_parse_expr): Figure out at the end of the routine
15859         whether we saw a valid !defined() expression.
15860         * cppfiles.c (stack_include_file): Update for mi_valid.
15861         (_cpp_pop_file_buffer): Similarly.
15862         * cpplex.c (_cpp_lex_token): Similarly.
15863         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
15864         mi_if_not_defined, mi_lexed): Remove.
15865         (mi_valid): New.
15866         * cpplib.c (do_if): Simplify.
15867         (do_endif, push_conditional, _cpp_handle_directive): Update
15868         for renaming of mi_state to mi_valid.
15869 doc:
15870         * cpp.texi: Add index entries for digraphs, and add comment
15871         that C++ refers to them as alternative tokens.
15872
15873 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
15874
15875         * basic-block.h (CLEANUP_PRE_LOOP): New.
15876         * except.c (finish_eh_generation): Update call of cleanup_cfg.
15877         * sibcall.c (optimize_sibling_calls): Likewise.
15878         * toplev.c (rest_of_compilation): Likewise.
15879         * flow.c (try_forward_edges): Take argument MODE;
15880         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
15881         (try_optimize_cfg): Update call of try_forward_edges.
15882
15883 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15884                                 Jan Hubicka  <jh@suse.cz>
15885
15886         * (validate_replace_rtx_1): Fix simplification of MINUS.
15887
15888 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
15889
15890         PR preprocessor/3669
15891         * cppinit.c (init_dependency_output): Turn off dump requests
15892         if sending dependencies to stdout.
15893
15894 2001-07-28  Richard Henderson  <rth@redhat.com>
15895
15896         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
15897         not optimizing.
15898
15899 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
15900
15901         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
15902
15903 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15904
15905         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
15906         is VAR_DECL first to prevent an ICE.
15907
15908 2001-07-28  Richard Henderson  <rth@redhat.com>
15909
15910         * varasm.c (immed_real_const_1): Don't elide special cases for
15911         nested functions.
15912         (clear_const_double_mem): Clear const_tiny_rtx too.
15913
15914 2001-07-28  Richard Henderson  <rth@redhat.com>
15915
15916         * dwarf2out.c (dw_val_class_offset): New.
15917         (struct dw_ranges_struct, dw_ranges_ref): New.
15918         (ranges_table, ranges_table_allocated): New.
15919         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
15920         (add_AT_offset, add_ranges, output_ranges): New.
15921         (print_die, output_die): Handle dw_val_class_offset.
15922         (attr_checksum, size_of_die, value_format): Likewise.
15923         (gen_lexical_block_die): Handle non-contiguous blocks.
15924         (gen_block_die): Likewise.
15925         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
15926         if needed.  Dump the ranges table.
15927         * final.c (final_start_function): Remove unnecessary notes and
15928         rebuild the block tree before numbering the blocks.
15929         * function.c (reorder_blocks_0): Walk the existing block tree
15930         to unmark all blocks.
15931         (reorder_blocks_1): Create block fragments when duplicate block
15932         notes are seen.
15933         (reorder_fix_fragments): New.
15934         (reorder_blocks): Call it.
15935         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
15936
15937 2001-07-28  Richard Henderson  <rth@redhat.com>
15938
15939         * emit-rtl.c (adjust_address): Make a copy of the memory address.
15940
15941 2001-07-28  Richard Henderson  <rth@redhat.com>
15942
15943         * flow.c (add_to_mem_set_list): New function.
15944         (init_propagate_block_info): Use it.
15945         (mark_set_1): Likewise.
15946         (insn_dead_p): Canonicalize memory address for dead store
15947         comparison.  Allow wider mode stores to kill narrower mode stores.
15948         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
15949         (invalidate_mems_from_set): Don't handle MEMs.
15950
15951 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15952
15953         * config/h8300/h8300.h: Fix formatting.
15954
15955 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15956
15957         * basic-block.h (EDGE_FREQUENCY): New macro.
15958         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
15959         for new BB/edges.
15960         * flow.c (find_sub_basic_blocks): Likewise.
15961         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
15962         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
15963
15964         * predict.c (DEF_PREDICTOR): New argument FLAGS.
15965         (HITRATE): New macro.
15966         (PRED_FLAG_FIRST_MATCH): New constant.
15967         (predictor_info): New field flgags.
15968         (combine_predictions_for_insn): Use DS theory to combine
15969         probabilities; set the edge probabilities when finished.
15970         (estimate_probability): Avoid duplicated matches
15971         of LOOP_BRANCH heuristics for nested loops; update comment.
15972         * predict.def: Add flags for each prediction, set probabilities
15973         according to B&L paper.
15974         * predict.h (DEF_PREDICTOR): New argument FLAGS.
15975
15976         * profile.c (compute_branch_probabilities):  Cleanup way the edge
15977         probabilities are computed and REG_BR_PROB notes are dropped; if
15978         values does not match, emit error.
15979         (init_branch_prob): Do error instead of warning when profile driven
15980         feedback is missing or corrupt.
15981
15982 2001-07-27  DJ Delorie  <dj@redhat.com>
15983
15984         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
15985         against a constant, try to adjust the compare to have the desired
15986         constant in it so that min/max optimizations happen more often.
15987
15988 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15989
15990         * flow.c (last_loop_beg_note): New function.
15991         (redirect_edge_and_branch): Use it.
15992         (split_edge): Likewise.
15993
15994         * alias.c (loop_p): Avoid uninitialized memory access.
15995
15996         * flow.c (try_forward_edges): Avoid accessing freed memory.
15997
15998         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
15999         variable access.
16000
16001 2001-07-26  Andrew Haley  <aph@redhat.com>
16002         Joern Rennecke <amylaar@redhat.com>
16003
16004         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
16005         (SUBTARGET_CPP_ENDIAN_SPEC): New.
16006         (SUBTARGET_CPP_SPEC): New.
16007         (CPP_SPEC): Remove.
16008         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
16009         (SUBTARGET_CPP_PTR_SPEC): New.
16010         (CPP_DEFAULT_CPU_SPEC): New.
16011         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
16012         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16013         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
16014         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16015         (SUBTARGET_CPP_SPEC): Define as an empty string.
16016
16017 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16018
16019         * doc/install.texi (Configuration): Properly link the host
16020         specific instructions also when generating HTML.
16021
16022 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
16023
16024         * flow.c (redirect_edge_and_branch_force): Test
16025         target->global_live_at_start.
16026
16027 2001-07-26  Richard Henderson  <rth@redhat.com>
16028
16029         * simplify-rtx.c (avoid_constant_pool_reference): Export.
16030         * rtl.h (avoid_constant_pool_reference): Declare it.
16031         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
16032         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
16033
16034 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
16035
16036         * rtl.h (cleanup_barriers): Declare.
16037         * jump.c (cleanup_barriers): New function.
16038         * toplev.c (rest_of_compilation): Call cleanup_barriers
16039         before loop optimizer and after bb_reorder.
16040
16041         * flow.c (back_edge_of_syntactic_loop_p): New.
16042         (split_edge): Use it.
16043
16044 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16045
16046         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
16047
16048 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
16049
16050         * cse.c (cse_process_notes): Replace any registers if the address
16051         remains valid.
16052
16053 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
16054
16055         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
16056         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
16057         (propagate_block): Update prototype.
16058         * flow.c (update_life_info): Simplify the CFG and
16059         recalculate the global regs which are alive when
16060         removing dead code during a global update.
16061         (propagate_block): Return non-zero if an INSN is
16062         deleted.
16063
16064 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16065
16066         * Makefile.in (LIBICONV): Define.
16067
16068 2001-07-26  Catherine Moore  <clm@redhat.com>
16069
16070         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
16071         of conditional to avoid tree checking errors.
16072
16073 2001-07-26  Kazu Hirata  <kazu@hxi.com>
16074
16075         * regmove.c (regmove_optimize): Don't replace a reg with
16076         another reg of a different mode.
16077
16078 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
16079
16080         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
16081         limit length of dependency flush list.
16082         * params.h (MAX_PENDING_LIST_LENGTH): Define.
16083         * sched-int.h  (struct deps): Add pending_flush_length field.
16084         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
16085         has 1 element in it.
16086         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
16087         (sched_analyze): After a jump, if the pending memory flush list is too
16088         large, flush the pending lists.
16089         (init_deps): Initialize pending_flush_length to 0.
16090         * doc/invoke.texi (max_pending_list_length): Document parameter.
16091
16092 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
16093
16094         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
16095         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
16096         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
16097
16098 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16099
16100         * cpphash.h (struct_lexer_state): Delete was_skipping.
16101         Move skipping here from struct cpp_reader.
16102         * cpplex.c (parse_identifier): Update.
16103         (_cpp_lex_token): Don't skip tokens in a directive.
16104         * cpplib.c (struct if_stack): Update.
16105         (start_directive, end_directive): Don't change skipping state.
16106         (_cpp_handle_directive): Update.
16107         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
16108         (do_else, do_endif): Update; only check for excess tokens if not
16109         in a skipped conditional block.
16110         (push_conditional): Update for new struct if_stack.
16111
16112 2001-07-26  Graham Stott  <grahams@redhat.com>
16113
16114         * function.c (locate_and_pad_parm): Also pad initial offset
16115         so that the total argument size also includes the padding.
16116
16117 2001-07-26  Graham Stott <grahams@redhat.com>
16118
16119         * gensupport.c (alter_output_for_insn): Correct enable checking failure
16120         change XSTR to XTMPL.
16121
16122         (process_one_cond_exec): Likewise
16123
16124 2001-07-25  Richard Henderson  <rth@redhat.com>
16125
16126         * varasm.c (assemble_variable): Create DECL_RTL before setting
16127         TREE_ASM_WRITTEN.
16128
16129 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
16130
16131         * predict.c (estimate_probability): Avoid duplicated predictions.
16132
16133         * loop.c (find_and_verify_loops): Grok multiple barriers.
16134
16135 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16136
16137         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
16138
16139         * dbxout.c: Consistently use putc instead of fputc.
16140         (print_wide_int): New function; call instead of direct fprintf.
16141         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
16142         (dbxout_type_fields, dbxout_type_method_1): Likewise.
16143         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
16144         (print_int_cst_octal): Likewise.
16145         (print_octal): Show we wrote characters.
16146         (dbxout_type): Set have_used_extensions in more places.
16147
16148 2001-07-25  Catherine Moore  <clm@redhat.com>
16149
16150         * config/v850/v850.c (v850_va_arg):  Use addr
16151         instead of valist to build incr.
16152
16153 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
16154
16155         * flow.c (delete_dead_jumptables): New function.
16156         (life_analyzis): Call it.
16157         * bb-reorder.c (skip_insns_after_block): Handle contradictory
16158         sequences.
16159
16160 2001-07-25  Richard Henderson  <rth@redhat.com>
16161
16162         * except.c (reachable_handlers): Handle a region being removed
16163         out from under a RESX.
16164
16165 2001-07-25  Richard Henderson  <rth@redhat.com>
16166
16167         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
16168         swap GE/GT if it is an fp comparison.
16169
16170 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
16171
16172         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
16173         operands.
16174
16175 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
16176
16177         * ssa.c (rename_insn_1): Do not wrap an assignment to a
16178         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
16179         glitch.
16180
16181         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
16182         throw an exception.
16183         (visit_expression): When attempting to simplify an expression,
16184         retrieve any modes for arguments before they are simplified
16185         to constants.
16186
16187 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16188             Janis Johnson  <janis@us.ibm.com>
16189
16190         * stmt.c (expand_goto): A nonlocal goto can be a call too.
16191         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
16192         pointer parameters to match documented usage of nonlocal_goto.
16193         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
16194         parameters to their correct order.
16195         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
16196         parameters to their correct order.
16197
16198 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16199
16200         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
16201
16202 2001-07-25  Jan Hubicka  <jh@suse.cz>
16203             Richard Henderson  <rth@redhat.com>
16204
16205         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
16206         the sequence.
16207         (make_edges): New argument update_p; populate the edge cache if set.
16208         (find_basic_blocks): Update make_edges invocation.
16209
16210 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16211
16212         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
16213
16214 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16215
16216         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
16217         -Acpu and -Amachine.h.
16218         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
16219         Corrected header to say ELF not a.out.
16220         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
16221         when given -msoft-float.
16222
16223 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16224
16225         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
16226         extra multilib parts like arm-elf.
16227         (i960-*-coff*, i960-*-rtems): Should not use collect2.
16228         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16229         crtfini.o as extra multilib parts.
16230
16231 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16232
16233         * configure.in: Add rtems as a supported thread model.
16234         * gthr-rtems.h: Add missing entry point __gthread_active_p.
16235         * configure: Rebuilt.
16236
16237 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
16238
16239         * stor-layout.c (get_mode_alignment): make it work when
16240         BITS_PER_UNIT is not a power of two.
16241         * builtins.c (get_pointer_alignment): Likewise.
16242
16243 2001-07-24  Richard Henderson  <rth@redhat.com>
16244
16245         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16246         the retrieved constant into the expected mode.
16247
16248 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16249
16250         * flow.c (try_simplify_condjump): Avoid duplicated edges.
16251         (verify_flow_info): Check for duplicated edges; clarify
16252         error reporting.
16253
16254         * flow.c (block_label): Update basic_block_for_insn.
16255         (commit_edge_insertions): Call compute_bb_for_insn.
16256
16257         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16258         returns too.
16259
16260         * flow.c (redirect_edge_and_branch,
16261         try_optimize_cfg): Use redirect_edge_succ_nodup
16262         (redirect_edge_succ_nodup): New.
16263         * basic_block.h (redirect_edge_succ_nodup): Declare.
16264
16265         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16266         after gcse.
16267
16268 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16269
16270         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16271         (try_crossjump_to_edge): Update commetns.
16272         (try_crossjump_bb): Likewise.
16273
16274 2001-07-24  Richard Henderson  <rth@redhat.com>
16275
16276         * combine.c (distribute_notes): Move set of need_refresh
16277         for noop_move_p down to catch all cases.
16278
16279 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16280
16281         * recog.c (split_all_insns_noflow): New.
16282         * rtl.h (split_all_insns_noflow): Declare.
16283         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16284         * m68hc11.c (m68hc11_reorg): Likewise.
16285         * sh.c (machine_dependent_reorg): Likewise.
16286         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16287         call.
16288
16289 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16290
16291         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16292         (ashlsi3_n splitter): Likewise.
16293         (lshrsi3_n splitter): Likewise.
16294
16295         (GOTaddr2picreg): Make const SImode.
16296         (sym_label2reg): Likewise.
16297         (symGOT2reg): Likewise.
16298         (symGOTOFF2reg) Likewise.
16299
16300         (casesi_worker_0): Make unspec SImode.
16301
16302 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16303
16304         * config/sh/sh.c (barrier_align): Check that an operand really is
16305         an insn before extracting its INSN_CODE.
16306
16307 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16308
16309         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16310         dangling else.
16311
16312         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16313         for SImode to prevent overflow.
16314
16315 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16316
16317         * config/mips/irix6-libc-compat.c: New file.
16318         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16319         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16320         passing workaround.
16321
16322 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16323
16324         * rtl.texi (REG_POINTER): Document.
16325         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16326         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16327
16328 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16329
16330         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16331
16332 2001-07-23  Richard Henderson  <rth@redhat.com>
16333
16334         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16335
16336 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16337
16338         * config/h8300/h8300-protos.h: Add a prototype for
16339         general_operand_dst_push.
16340         * config/h8300/h8300.c (general_operand_dst_push): New.
16341         * config/h8300/h8300.h (OK_FOR_T): New.
16342         (EXTRA_CONSTRAINT): Use it.
16343         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16344         the existing movqi pattern.
16345         (movhi_push): Likewise.
16346
16347         * reload.c: Fix comment typos.
16348
16349 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16350
16351         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16352
16353 2001-07-23  H.J. Lu  (hjl@gnu.org)
16354
16355         * doc/extend.texi: Update __builtin_return_address and
16356         __builtin_frame_address.
16357
16358 2001-07-23  Richard Henderson  <rth@redhat.com>
16359
16360         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16361         before CSE.
16362         * config/i386/i386.md: New setcc+movzbl peephole2.
16363
16364 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16365
16366         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16367         * objc/objc-act.c: Include debug.h.
16368         (synth_module_prologue): Save and restore debug hooks too.
16369
16370 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16371
16372         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16373         and C4X_FLOAT_FORMAT.
16374         (BOOL_TYPE_SIZE): Document.
16375
16376 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16377
16378         * unroll.c (loop_iterations): Fix miscalculation of initial
16379         giv offset.
16380
16381 2001-07-13  Andrew Haley  <aph@redhat.com>
16382
16383         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16384         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16385         * config/sh/sh.c (sh_can_redirect_branch): New function.
16386         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16387         * reorg.c (steal_delay_list_from_target): Use
16388         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16389
16390 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16391
16392         * flow.c (try_simplify_condjump): Unlink insn chain on
16393         fallthru edge; use can_fallthru.
16394
16395 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16396
16397         * basic-block.h (find_sub_basic_block): Declare.
16398         * flow.c (make_edges): New arguments MIN and MAX;
16399         (find_sub_basic_blocks): Revamp to use make_edges
16400         and purge_dead_edges.
16401         (find_basic_blocks): Update call of find_sub_basic_block.
16402
16403         * recog.c (split_all_insns): Always expect CFG to be consistent;
16404         call find_sub_basic_blocks in case something has changed.
16405         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16406         has been built.
16407
16408         * basic-block.h (delete_noop_moves): Declare.
16409         * combine.c (combine_instructions): Call it.
16410         (recog_for_combine): Tolerate noop moves
16411         (distribute_notes): Force refresh when register dies at noop move.
16412         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16413         too.
16414         (life_analysis): Update delete_noop_moves call.
16415         (set_noop_p): Move too ...
16416         * rtlanal.c (noop_move_p): ... here.
16417         * rtl.h (noop_move_p): Declare.
16418
16419         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16420         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16421         after combine.
16422         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16423         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16424
16425 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16426
16427         * reload.c (push_reload): Fix typo in comment.
16428         (find_reloads_address): Ditto.
16429         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16430
16431 2001-07-22  Richard Henderson  <rth@redhat.com>
16432
16433         * flow.c: Grammar check and clarify a lot of comments.
16434         (try_simplify_condjump): Rename variables to be clearer.
16435         (try_forward_edges): Skip complex and fallthru edges.
16436         Rearrange tests to avoid duplicate checks.
16437         (flow_find_cross_jump): Likewise.
16438         (outgoing_edges_match): Allow match if neither branch has
16439         probability data.  Loosen probability match to 5%.
16440         (try_crossjump_to_edge): Hoist repeated indirection into
16441         local variables.
16442         (try_crossjump_bb): Don't check complex edges.  Eliminate
16443         redundant crossjump tests.
16444         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16445         checks before more expensive checks.
16446
16447 2001-07-22  Richard Henderson  <rth@redhat.com>
16448
16449         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16450         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16451         arguments.
16452
16453 2001-07-22  Richard Henderson  <rth@redhat.com>
16454
16455         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16456         (const_sint32_operand): Likewise.
16457         * m68k.md (anon mulsi pattern): Use const_int_operand not
16458         const_sint32_operand.
16459         (umulsi3_highpart): Zero extend a constant input.
16460         (smulsi3_highpart): Don't bother checking SImode constant.
16461         (const_umulsi3_highpart): Give op3 DImode.
16462         (const_smulsi3_highpart): Likewise.
16463
16464 2001-07-22  Richard Henderson  <rth@redhat.com>
16465
16466         * flow.c (split_block): Make sure bb_note is included in the
16467         new block when splitting before a label.
16468
16469 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16470
16471         * basic-block.h (redirect_edge_and_branch_force,
16472         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16473         * flow.c (redirect_edge_and_branch_force,
16474         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16475         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16476         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16477         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16478         instead of label; update CFG after transformation.
16479         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16480         for finishing the transformation; handle even case where ELSE
16481         does not follow THEN.
16482         (find_if_case_2): Update call of dead_or_predictable; simplify
16483         CFG update.
16484
16485         * emit-rtl.c (split_branch_probability): New global variable.
16486         (try_split): Take care to set split_branch_probability and
16487         create REG_BR_PROB note for new jump insns.
16488         * md.texi (define_split): Document new feature.
16489
16490         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16491
16492 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16493
16494         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16495         (asm_out_file): Remove redundant declaration.
16496         (assemble_asm): Remove old #if 0 block.
16497         (assemble_variable): Remove end of function; debug output is
16498         now handled with global_decl.  Remove old #if 0 block.  Update.
16499         Remove saved_in_section and associated no-op code.
16500         * Makefile.in (varasm.o): Correct dependencies.
16501
16502 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16503
16504         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16505         the definition in defaults.h.
16506
16507 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16508
16509         * jump.c: Update comments.
16510         (delete_barrier_successors, delete_unreferenced_labels,
16511         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16512         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16513         jump_optimize, jump_optimize_minimal): Kill.
16514         (rebuild_jump_labels): Move code from jump_optimize_1.
16515         (purge_line_number_notes): Likewise.
16516         (copy_loop_headers): Likewise.
16517         * reg-stack.c: Update comment.
16518         * stmt.c: Likewise.
16519         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
16520         JUMP_AFTER_REGSCAN): Kill.
16521         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
16522         purge_line_number_notes and copy_loop_headers.
16523
16524 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
16525            Richard Henderson  <rth@redhat.com>
16526
16527         * dbxout.c (dbxout_global_decl): New.
16528         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16529         * sdbout.c (sdbout_finish): New.
16530         (sdbout_debug_hooks): Use it, add comments.
16531         (sdbout_global_decl): Defer initialised public vars to
16532         sdbout_finish.
16533         * varasm.c (assemble_variable): Don't output debug information
16534         for file-scope variables.
16535
16536 2001-07-22  Richard Henderson  <rth@redhat.com>
16537
16538         * config/alpha/alpha.c (get_trap_mode_suffix): New.
16539         (get_round_mode_suffix): New.
16540         (print_operand): Use them for [/].  Remove support for [&'`()+].
16541         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
16542         * config/alpha/alpha.md (attr round_suffix): New.
16543         (attr trap_suffix): New.
16544         (all insns): Set them appropriately.  Use %/ instead of the
16545         myriad punctuators.
16546
16547 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16548
16549         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
16550
16551 2001-07-22  Richard Henderson  <rth@redhat.com>
16552
16553         * regrename.c (regrename_optimize): Compute nregs for each
16554         potential target register.
16555
16556 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
16557            Richard Henderson  <rth@redhat.com>
16558
16559         * dbxout.c (dbxout_global_decl): New.
16560         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16561         * sdbout.c (sdbout_finish): New.
16562         (sdbout_debug_hooks): Use it, add comments.
16563         (sdbout_global_decl): Defer initialised public vars to
16564         sdbout_finish.
16565         * varasm.c (assemble_variable): Don't output debug information
16566         for file-scope variables.
16567
16568 2001-07-21  H.J. Lu  (hjl@gnu.org)
16569
16570         * config/mips/mips.c (mips_cpu): Moved into ...
16571         (override_options): Here.
16572
16573         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
16574         mips_tune.
16575         (mips_cpu): Removed.
16576
16577 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16578
16579         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
16580         ("iorqi3"): Likewise.
16581         ("xorqi3"): Likewise.
16582         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
16583         ("*subhi3_sp): Likewise.
16584         ("*subhi3"): Likewise.
16585         ("extendhisi2"): Accept D, X and Y as source operand to avoid
16586         reload problems.
16587
16588 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
16589
16590         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
16591         * config/freebsd.h: Likewise.
16592         * config/linux.h: Likewise.
16593         * config/openbsd.h: Likewise.
16594         * config/alpha/linux-elf.h: Likewise.
16595         * config/arm/linux-elf.h: Likewise.
16596         * config/d30v/d30v.h: Likewise.
16597         * config/fr30/fr30.h: Likewise.
16598         * config/ia64/aix.h: Likewise.
16599         * config/ia64/ia64.h: Likewise.
16600         * config/mips/linux.h: Likewise.
16601         * config/pj/pj.h: Likewise.
16602         * config/rs6000/linux.h: Likewise.
16603         * config/sparc/linux.h: Likewise.
16604         * config/sparc/linux64.h: Likewise.
16605
16606 2001-07-20  Bruce Korb  <bkorb@gnu.org>
16607
16608         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
16609         because getc() and char* may disagree on signedness.
16610
16611 2001-07-20  Richard Henderson  <rth@redhat.com>
16612
16613         * doc/rtl.texi (REG_DEAD): Update for current semantics.
16614
16615         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
16616         insns to delete in the presence of cc0 in a jump insn.
16617
16618 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16619                                 Jan Hubicka  <jh@suse.cz>
16620
16621         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
16622         of doing the change by hand.
16623
16624 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16625
16626         * rtlanal.c (set_noop_p): Return true for noop jumps.
16627
16628         * expr.c (emit_single_push_insn): Add call to push expander.
16629         * expr.h (optab_index): Add OTI_push
16630         (push_optab): New constant.
16631         * genopinit.c (optabs): Add push_optab.
16632         * optabs.c (init_optab): Init push optab.
16633         * md.texi (push??1): Document
16634
16635 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16636
16637         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
16638         expand to emit the pattern; put a REG_INC note for push/pop
16639         instructions.
16640         ("movdf", "movdf_internal"): Likewise.
16641         ("movsi", "movsi_internal"): Likewise.
16642         ("movsf", "movsf_internal"): Likewise.
16643         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
16644
16645 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16646
16647         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
16648         gen_highpart.
16649
16650 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
16651
16652         * params.def: Change default max inline insns to 100.
16653
16654 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
16655
16656         * combine.c (combine_simplify_rtx): Generate a new shift operation
16657         when simplifying the first operand of a (neg (ashift)) expression.
16658
16659 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16660
16661         * regclass.c (N_REG_INTS): Use only 32 bits per element.
16662
16663 2001-07-20  Kelley Cook  <kelley.cook@home.com>
16664
16665         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
16666         information.   Move rest into ...
16667         (*-*-solaris): ... here.  Eliminate redundant information and
16668         reword necessary packages section.  Delete 4.x assembler bug info.
16669         (sparc-sun-*): Merge into ...
16670         (sparc-sun-sunos*): here.
16671
16672 2001-07-20  Catherine Moore  <clm@redhat.com>
16673
16674         * config/v850/v850.md (casesi): Generate LABEL_REF
16675         with Pmode.
16676
16677 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
16678
16679         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
16680         * i386.c (ix86_zero_extend_to_Pmode): Make global.
16681         * i386.md (strclrsi expander): Use it.
16682
16683 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16684
16685         * integrate.c (copy_insn_list): handle
16686         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
16687         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
16688         identically as to CODE_LABEL.
16689
16690         * fold-const (fold): Convert A/B/C to A/(B*C) and
16691         A/(B/C) to (A/B)*C
16692
16693         * except.c (connect_post_landing_pads): Delete the RESX insns.
16694
16695 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
16696
16697         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
16698
16699         * config/mips/mips.md (nmadd/nmsub): Use macro.
16700
16701 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
16702
16703         * cppinit.c (remove_dup_dir): Make static.
16704         (remove_dup_dirs): Make static. Only warn about preempting a
16705         system directory with a non-system directory.
16706
16707 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16708
16709         * ifcvt.c (noce_try_store_flag_constants): Correct order
16710         of parameters to trunc_int_for_mode.
16711
16712 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
16713
16714         * reorg.c (fill_simple_delay_slots): If an instruction might throw
16715         an exception that will be caught within this function, do not fill
16716         its delay slot with any subsequent instruction.
16717
16718 2001-07-19  Steve Ellcey <sje@cup.hp.com>
16719
16720         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
16721         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
16722         pointer extension instruction.
16723         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
16724         * simplify-rtx.c (simplify_unary_operation) Likewise.
16725         * explow.c (convert_memory_address) Check value of
16726         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
16727         less than zero.
16728         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
16729         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
16730         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
16731         Add Multilib Support.
16732         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
16733         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
16734         Add Multilib Support.
16735         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
16736         support.
16737         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
16738         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
16739         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
16740
16741 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
16742
16743         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
16744         old and new operands in `<', `3' and `b'.
16745
16746 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16747
16748         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
16749         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
16750         (toplev.o): Don't depend on xcoffout.h.
16751         * c-decl.c: Include debug.h
16752         (duplicate_decls): Use debug hook.
16753         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
16754         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16755         (dbxout_types): Remove.
16756         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
16757         * debug.c (do_nothing_debug_hooks): Update.
16758         (debug_true_tree, debug_nothing_rtx): New.
16759         * debug.h (struct rtx_def): New.
16760         (struct gcc_debug_hooks): New hooks ignore_block,
16761         outlining_inline_function and label.
16762         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
16763         dwarf2out_frame_finish): New.
16764         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
16765         Make static, update prototype.
16766         (dwarf2_debug_hooks): Update.
16767         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
16768         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
16769         * dwarfout.c (dwarf_debug_hooks): Update.
16770         * emit-rtl.c: Include debug.h.
16771         (remove_unnecessary_notes): Use debug hook.
16772         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
16773         (final_scan_insn): Use debug hook.
16774         * integrate.c (output_inline_function): Use debug hook.
16775         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
16776         (sdb_debug_hooks): Update.
16777         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
16778         * toplev.c: Don't include xcoffout.h.
16779         (note_outlining_of_inline_function, debug_ignore_block): Remove.
16780         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
16781         Remove.
16782         * tree.h (dwarf2out_do_frame): Remove.
16783
16784 2001-07-19  Catherine Moore  <clm@cygnus.com>
16785
16786         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
16787
16788 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16789
16790         * reload1.c (eliminate_regs_in_insn): When updating a set
16791         to the frame pointer to the hardware frame pointer, perform
16792         the update always not just when REPLACE is set.
16793
16794         * reload1.c (choose_reload_regs): Don't inherit a reload
16795         that crosses multiple registers if registers past the first
16796         don't fit in the desired class.
16797
16798         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
16799         when negating constants.
16800
16801 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
16802
16803         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
16804         * doc/tree.texi: Ditto.
16805
16806 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
16807             Jakub Jelinek  <jakub@redhat.com>
16808
16809         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
16810         (extract_cie_info): Handle "eh" augmentation properly,
16811         remember eh_ptr.
16812         (struct frame_state, __frame_state_for): New.
16813
16814 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16815
16816         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
16817         HANDLE_SYSV_PRAGMA): Define.
16818         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
16819         previous args.
16820         (copy_object): Caller changed.
16821
16822 2001-07-19  Andreas Schwab  <schwab@suse.de>
16823
16824         * configure.in (assembler dwarf2 debug_line support): Define nop
16825         insn for m68k.
16826         * configure: Regenerated.
16827
16828 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16829
16830         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
16831         dwarfout.h.
16832         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
16833         to conditionally compiled block.
16834         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16835         * dbxout.h (dbxout_function): Remove.
16836         * debug.c (do_nothing_debug_hooks): Update.
16837         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
16838         global_decl, deferred_inline_function.
16839         * dwarf2out.c (dwarf2_debug_hooks): Update.
16840         (dwarf2out_global_decl): New.
16841         * dwarfout.c: Don't include dwarfout.h.
16842         (dwarfout_global_decl, dwarfout_function_decl,
16843         dwarfout_deferred_inline_function): New.
16844         (dwarf_debug_hooks): Update.
16845         * dwarfout.h: Remove.
16846         * final.c: Don't include dwarfout.h.
16847         * sdbout.c (sdbout_global_decl): New.
16848         (sdbout_debug_hooks): Update.
16849         * toplev.c: Don't include dwarfout.h.
16850         (check_global_declarations, rest_of_compilation): Use new debug hooks.
16851         (note_deferral_of_defined_inline_function): Remove.
16852         * toplev.h (note_deferral_of_defined_inline_function): Remove.
16853         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
16854         * ch/lex.c: Don't include dwarfout.h.
16855         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
16856         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
16857         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
16858         * cp/optimize.c: Include debug.h.
16859         (maybe_clone_body): Use debug hook.
16860         * cp/semantics.c: Include debug.h.
16861         (expand_body): Use debug hook.
16862         * po/POTFILES.in: Remove dwarfout.h.
16863
16864 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16865
16866         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
16867         * c-parse.in (yyerror, _yylex): Similarly.
16868         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
16869         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
16870         Update comments.
16871         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
16872         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
16873
16874 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
16875
16876         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
16877         in-class declaration at -g1.  Fixes c++/2814.
16878
16879 2001-07-18  Richard Henderson  <rth@redhat.com>
16880
16881         * doc/md.texi (reload_in/out): Document restrictions in predicates
16882         and constraints for these patterns.  Document empty string matching
16883         ALL_REGS.
16884
16885 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16886
16887         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
16888
16889 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16890
16891         * cse.c: Undo my previous patch.
16892
16893 2001-07-18  Tom Tromey  <tromey@redhat.com>
16894
16895         For PR java/2812:
16896         * configure: Rebuilt.
16897         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
16898         instead.
16899         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
16900
16901 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
16902                                 Jan Hubicka  <jh@suse.cz>
16903
16904         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
16905         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
16906         * jump.c (mark_jump_label): Do not forward branches.
16907
16908 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
16909
16910         * cse.c (delete_trivially_dead_insns): Delete the libcall block
16911         when return value is unused.
16912
16913 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16914
16915         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
16916
16917 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
16918
16919         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
16920         on error.  We can't blindly return the result of
16921         pthread_mutex_trylock because it returns a positive number on
16922         error, while we must return -1 on error.
16923         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
16924         fixes.
16925         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
16926
16927 2001-07-18  Andreas Jaeger  <aj@suse.de>
16928
16929         * integrate.c (output_inline_function): Correct type of debug_hooks.
16930
16931 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16932
16933         * combine.c (combine_simplify_rtx): DIV can be treated
16934         associatively for floats if unsafe math optimisations are enabled.
16935
16936 2001-07-17  Richard Henderson  <rth@redhat.com>
16937
16938         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
16939
16940 2001-07-17  Richard Henderson  <rth@redhat.com>
16941
16942         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
16943         don't force the function address into a register.
16944         (expand_call, emit_library_call_value_1): Update callers.
16945         * builtins.c (expand_builtin_apply): Likewise.
16946         * expr.h (prepare_call_address): Update decl.
16947
16948 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
16949
16950         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
16951         config directory.
16952         * config/i386/chorus.h: Move up.
16953         * config/sparc/chorus.h: Likewise.
16954         * config/rs6000/chorus.h: Likewise.
16955         * config/chorus.h: Moved here.
16956
16957 2001-07-17  Andreas Schwab  <schwab@suse.de>
16958
16959         * configure.in  (assembler eh_frame optimization): Handle big
16960         endian.
16961         * configure: Regenerated.
16962
16963 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
16964
16965         * expr.c (epxand_expr): Convert divisions into multiplications by
16966         reciprocals if -ffast-math.
16967
16968 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
16969
16970         * dbxout.c (dbxout_really_begin_function): Rename to
16971         dbxout_begin_function.
16972         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16973         (dbxout_begin_function): Remove.
16974         (dbxout_function): Update.
16975         (dbxout_source_line): Update prototype.
16976         * dbxout.h (dbxout_begin_function): Remove.
16977         * debug.c (do_nothing_debug_hooks): Update.
16978         (debug_nothing_tree): Update.
16979         (debug_nothing_charstar_rtx): Remove.
16980         * debug.h (union tree_node): Declare.
16981         (struct rtx_def): Remove.
16982         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
16983         begin_function.  Change source_line prototype.
16984         (debug_nothing_tree): New.
16985         (debug_nothing_charstar_rtx): Delete.
16986         (dwarf2out_begin_prologue): Moved from ...
16987         * tree.h: ... here.
16988         * dwarf2out.c (dwarf2_debug_hooks): Update.
16989         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
16990         debug info, call dwarf2out_source_line.
16991         (dwarf2out_souce_line): Update prototype.
16992         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
16993         Change prototype, make static.
16994         (dwarfout_source_line): Update prototype.
16995         (dwarf_debug_hooks): Update.
16996         * dwarfout.h (dwarfout_begin_function): Remove.
16997         * final.c (final_start_function, final_scan_insn): Use appropriate
16998         debug hooks, update to use notice_source_line.
16999         (output_source_line): Rename notice_source_line.  Don't call the
17000         source_line debug hook.
17001         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
17002         make static, update prototype.
17003         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
17004         prototype.
17005         (sdbout_end_prologue): New.
17006         (sdbout_source_line): Update prototype.
17007         (sdbout_debug_hooks): Update.
17008         (sdbout_symbol): Remove unused var.
17009         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
17010         Delete.
17011         * varasm.c: Include debug.h.
17012         (assemble_start_function): Use begin_function debug_hook.
17013         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17014         update with prototype.
17015         (xcoffout_source_line): Update prototype.
17016         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17017         update prototype.
17018         (xcoffout_source_line): Update prototype.
17019
17020 2001-07-17  Richard Henderson  <rth@redhat.com>
17021
17022         * c-typeck.c (build_binary_op): Do not shorten unsigned
17023         right shift after sign extension.
17024
17025 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
17026
17027         * combine.c (combine_simplify_rtx): Attempt to simplify
17028         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
17029
17030         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
17031         (simplify_binary_operation, simplify_unary_operation,
17032          simplify_relational_operation): Use it.
17033
17034         * combine.c (combine_simplify_rtx): Don't do associative law
17035         on divisions; allow associative law on floats.
17036
17037 2001-07-17  H.J. Lu <hjl@gnu.org>
17038             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17039
17040         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
17041         ASM_OUTPUT_WEAK_ALIAS are defined.
17042         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
17043         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
17044         Moved ...
17045         * config/mips/iris5.h: ... here.
17046         (HANDLE_SYSV_PRAGMA): Defined as 1.
17047         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
17048         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
17049         symbol.
17050
17051 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
17052
17053         * c-parse.in (all_prefix_attributes): New variable.
17054         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
17055         (maybe_resetattrs): New production.
17056         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
17057         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
17058         notype_initdcl, nested_function, notype_nested_function,
17059         component_decl, components, components_notype,
17060         component_declarator, component_notype_declarator,
17061         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
17062         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
17063         after a comma being applied to more than one declarator.
17064         * doc/extend.texi (Attribute Syntax): Update.  Remove
17065         documentation of bugs that are no longer present.
17066
17067 2001-07-13  Eric Christopher  <echristo@redhat.com>
17068
17069         * config/mips/mips.h: Change TUNE_MIPS* options to use
17070         mips_tune.
17071         (EXTRA_SPECS): Add cc1_cpu_spec.
17072         * config/mips/mips.md (muldf3): Fix typo.
17073
17074 2001-07-16  Richard Henderson  <rth@redhat.com>
17075
17076         * config/m68k/m68k.c: Include expr.h and reload.h.
17077         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
17078         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
17079
17080 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17081             Richard Henderson  <rth@redhat.com>
17082
17083         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
17084         (insn_live_p): Fix fall off end of function.
17085         (dead_libcall_p): Remove COUNTS argument; update callers.
17086         (delete_trivially_dead_insns): Remove unused variables.
17087
17088 2001-07-17  Andreas Jaeger  <aj@suse.de>
17089
17090         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
17091         x86-64 pic support.
17092
17093         * lcm.c (optimize_mode_switching): Avoid warning for unused
17094         variable if !NORMAL_MODE.
17095
17096         * flow.c (try_crossjump_to_edge): Remove unused variable.
17097
17098 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17099
17100         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
17101         atexit declaration in stdlib.h.
17102
17103 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
17104
17105         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
17106
17107 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17108
17109         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
17110         * except.c (finish_eh_generation): Update call of cleanup_cfg;
17111         do rebuild_jump_labels instead of jump_optimize
17112         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
17113         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
17114         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
17115
17116         * flow.c: Include timevar.h
17117         (find_basic_block): Push/pop timevar;
17118         (cleanup_cfg): Likewise.
17119         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
17120         * Makefile: Add dependencies on timevar.h
17121
17122         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
17123         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
17124
17125         * rtl.h (delete_trivially_dead_insns): Add new parameter.
17126         * toplev.c (rest_of_compilation): Update calls.
17127         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
17128         (delete_trivially_dead_insns): ... here; accept new argument
17129         preserve_basic_blocks; preserve basic blocks if set.
17130
17131         * reg-stack.c (stack_regs_mentioned): Return 0 if
17132         stack_regs_mentioned_data is not initialized.
17133         (reg_to_stack): Make stack_regs_mentioned survive after the
17134         reg-stack is completted; do not call cleanup_cfg.
17135         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
17136         make cleanup_cfg after bb-reorder to output to debug file.
17137
17138 2001-07-16  Richard Henderson  <rth@redhat.com>
17139
17140         * regclass.c (init_reg_sets): Use only 32 bits per initializer
17141         from int_reg_class_contents.
17142
17143 2001-07-16  Richard Henderson  <rth@redhat.com>
17144
17145         * hard-reg-set.h (regs_invalidated_by_call): Declare.
17146         * regclass.c (regs_invalidated_by_call): Move from cse.c.
17147         (init_reg_sets_1): Move initialization from cse_main.
17148         * cse.c (regs_invalidated_by_call): Move to regclass.c.
17149         (cse_main): Move its initialization also.
17150         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
17151         * flow.c (propagate_one_insn): Likewise.
17152         * gcse.c (compute_hash_table): Likewise.
17153         (compute_kill_rd, compute_store_table): Likewise.
17154         * sched-deps.c (sched_analyze_1): Likewise.
17155
17156 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
17157
17158         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
17159         gen_rtx_SET.
17160
17161 2001-07-16  Steve Ellcey <sje@cup.hp.com>
17162
17163         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
17164         in if statement so we don't access undefined memory.
17165
17166 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17167
17168         * gcse.c: Update comment at top.
17169         Update comment on mem handling.
17170         mem_last_set, mem_first_set, mem_set_in_block: gone.
17171         Declaration of reg_set_info: gone.
17172         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
17173         pointless with load_killed_in_block_p (they are *more*
17174         conservative then it, not less, and less accurate).
17175         (oprs_not_set_p): Ditto.
17176         (alloc_gcse_mem): Don't allocate mem_set_in_block
17177         (free_gcse_mem): Don't free it, either.
17178         (record_last_mem_set_info): Update comment in front, remove
17179         mem_*set_* stuff. Note the reason we don't handle stores directly
17180         here.
17181         (compute_hash_table): Update comments to reflect reality. Remove
17182         mem_*set_* references.
17183         (reset_opr_set_tables): Remove mem_*set_* references.
17184         (mark_call): Ditto.
17185         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
17186         (mark_clobber): Ditto (on both parts, we double set here too).
17187         (expr_killed_p): Remove mem_set_in_block test.
17188         (compute_transp): Remove mem_set_in_block test.
17189
17190         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
17191         of edge, and removal of phi alternative to dump file.
17192         (ssa_ccp_substitute_constants): Add note about register now being
17193         constant, and which uses were replaced in what insns to dump file.
17194
17195 2001-07-16  Andreas Jaeger  <aj@suse.de>
17196
17197         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
17198         variables of type HOST_WIDEST_INT.
17199
17200         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
17201         (__bb_exit_func): Correct type of count_max to avoid overflow.
17202         (num_digits): Handle long long argument.
17203
17204         * combine.c (gen_lowpart_for_combine): Remove unused variable.
17205
17206 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17207
17208         * output.h (sdb_begin_function_line): Restore as an extern
17209         variable.
17210         * sdbout.c (sdb_begin_function_line): Make extern.
17211
17212 2001-07-15  Richard Henderson  <rth@redhat.com>
17213
17214         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
17215         * genrecog.c (maybe_both_true_mode): New.
17216         (maybe_both_true_2): Use it.
17217         (write_switch): Don't put Pmode in a switch.
17218         * rtl.c (mode arrays): Don't explicitly size them.
17219
17220 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17221
17222         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
17223         handling; move unconditional splitting before mode switching.
17224
17225         * i386.md (type): Add fistp type.
17226         (i387, length_attr, scheduling definitions): Handle this type.
17227         (fix_trunc?f?i2): Revamp to use mode switching.
17228         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17229         * i386.h (fp_cw_mode): New enum
17230         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17231         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17232
17233 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17234
17235         * Makefile.in (integrate.o): Add debug.h.
17236         * integrate.c (debug.h): Add.
17237         (output_inline_function): Save, reset, and restore debug_hooks.
17238
17239 2001-07-15  Richard Henderson  <rth@redhat.com>
17240
17241         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17242         instead of COMPARE for the EQUIV expression.
17243
17244 2001-07-15  Richard Henderson  <rth@redhat.com>
17245
17246         * flow.c (redirect_edge_and_branch_force): Initialize
17247         global_live_at_start and global_live_at_end.
17248         (allocate_bb_life_data): Export.
17249         * basic-block.h (allocate_bb_life_data): Declare.
17250         * toplev.c (rest_of_compilation): Call it.
17251
17252 2001-07-15  Richard Henderson  <rth@redhat.com>
17253
17254         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17255         (alpha_tablejump_best_label): New.
17256         * config/alpha/alpha-protos.h: Declare them.
17257         * config/alpha/alpha.md: Use braced strings for code blocks.
17258         (tablejump_osf): Break out add with r29.
17259         (tablejump_osf_internal): Remove.
17260         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17261         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17262
17263 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
17264
17265         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17266         of the movable.
17267
17268         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17269
17270         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17271         (ix86_fp_jump_nontrivial_p): New.
17272         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17273         use ix86_fp_jump_nontrivial_p.
17274         * i386.c (ix86_fp_jump_nontrivial_p): New.
17275         (ix86_split_fp_branch): Accept code instead of rtx.
17276         (ix86_expand_compare): Expand comparison early in case
17277         doing so is resonably cheap.
17278
17279 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17280
17281         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17282         not 'machine'.
17283         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17284         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17285
17286 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17287
17288         * dbxout.c (dbxout_source_line): Make static, update prototype.
17289         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17290         (dbxout_init, dbxout_finish, dbxout_source_line,
17291         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17292         * dbxout.h (dbxout_source_line): Delete.
17293         * debug.c (debug_nothing_file, debug_nothing_file_int,
17294         debug_nothing_file_charstar_rtx): New.
17295         (do_nothing_debug_hooks): Update.
17296         (debug_nothing_void, debug_nothing_charstar_rtx,
17297         dwarf2out_end_epilogue): New.
17298         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17299         * debug.h (struct rtx_def): Declare.
17300         (gcc_debug_hooks): New hooks source_line, end_epilogue
17301         and end_function.
17302         (debug_nothing_void, debug_nothing_charstar_rtx,
17303         dwarf2out_end_epilogue): New.
17304         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17305         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17306         (dwarf2_debug_hooks): Update.
17307         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17308         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17309         * dwarf2out.h (dwarf2out_source_line): Remove.
17310         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17311         Make static, update prototype.
17312         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17313         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17314         (dwarf_debug_hooks): Update.
17315         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17316         dwarfout_end_function): Remove.
17317         * final.c (profile_function): Use debug hooks for ending functions
17318         and epilogues.
17319         (output_source_line, final_end_function): Update prototype,
17320         use debug hooks.
17321         (final_start_function, final_scan_insn): Update.
17322         * output.h (sdb_begin_function_line): Remove.
17323         (final_end_function): Update prototype.
17324         * sdbout.c (sdb_begin_function_line): Make static.
17325         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17326         (sdbout_source_line): New.
17327         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17328         prototypes.
17329         (sdb_debug_hooks): Update.
17330         (sdbout_init, sdbout_source_line,
17331         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17332         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17333         * toplev.c (compile_file, rest_of_compilation): Update.
17334         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17335         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17336         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17337         Update for prototype changes.
17338         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17339         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17340
17341 2001-07-15  Richard Henderson  <rth@redhat.com>
17342
17343         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17344         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17345         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17346         * config/alpha/alpha.c: Likewise.
17347         * config/alpha/alpha.md: Likewise.
17348         * config/alpha/alpha32.h: Likewise.
17349         * config/alpha/vms.h: Likewise.
17350         (OPEN_VMS): Remove.
17351
17352 2001-07-14  Richard Henderson  <rth@redhat.com>
17353
17354         * config/alpha/alpha.md: Use define_constants for unspec values.
17355         Substitute throughout.
17356
17357 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17358
17359         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17360
17361 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17362
17363         * pa.md: Remove unused constraints from define_split's.
17364
17365 2001-04-14  Richard Henderson  <rth@redhat.com>
17366
17367         * ifcvt.c (find_cond_trap): Test for exit block.
17368
17369 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17370
17371         Re-install recently reverted patch.
17372         * emit-rtl.c (try_split): Update mark_jump_label call.
17373         * flow.c (find_sub_basic_blocks): Likewise.
17374         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17375         jump_back_p): Kill.
17376         (mark_all_labels): Kill second parameter.
17377         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17378         (rebuild_jump_labels, jump_optimize_minimal): Update call
17379         of jump_optimize_1.
17380         (jump_optimize_1): Kill crossjumping code.
17381         (mark_jump_label): Kill cross_jump parameter.
17382         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17383         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17384         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17385          splitting.
17386         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17387         DFI_bpro.
17388         (dump_file_info): Likewise.
17389         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17390         reorganize passes to do reg-stack first, bb-reorder second.
17391         * invoke.texi (-d letters doc): Remove the jump2 pass.
17392
17393 2001-07-14  Richard Henderson  <rth@redhat.com>
17394
17395         * ifcvt.c (find_cond_trap): New.
17396         (find_if_header): Call it.
17397         (merge_if_block): Relax existing jump sanity check.
17398         * jump.c (jump_optimize_1): Remove conditional trap handling.
17399
17400 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17401
17402         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17403         millicode.
17404         (insn_refs_are_delayed): Correct comment.
17405         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17406         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17407         instead of r31.  Make associated insn !TARGET_64BIT, and
17408         provide an additional 64-bit insn that clobbers r2.
17409         (divsi3): Likewise.
17410         (udivsi3): Likewise.
17411         (modsi3): Likewise.
17412         (umodsi3): Likewise.
17413
17414 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17415
17416         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17417
17418         * flow.c (redirect_edge_and_branch_force, split_edge,
17419         try_crossjump_to_edge): Use set_block_for_new_insns.
17420         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17421
17422 2001-07-13  H.J. Lu  (hjl@gnu.org)
17423
17424         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17425         the correct patch.
17426
17427 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17428
17429         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17430
17431 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17432
17433         * c-common.c (decl_attributes): Take a pointer to the node to
17434         which attributes are to be attached, and a flags argument.
17435         * c-common.h (enum attribute_flags): New.
17436         (decl_attributes): Update prototype.
17437         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17438         finish_enum, start_function): Update calls to decl_attributes.
17439         * c-parse.in (component_declarator, component_notype_declarator,
17440         label): Update calls to decl_attributes.
17441
17442 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17443
17444         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17445         * config/avr/avr.c (legitimate_address_p): Return value changed
17446         from letter to register classes. For better debugging.
17447
17448 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17449
17450         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17451
17452 2001-07-13  H.J. Lu  (hjl@gnu.org)
17453
17454         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17455
17456 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17457
17458         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17459         correctly for shared configurations.
17460         * config/t-libgcc-pic:  New.
17461         * config/{i386,m68k,sparc}/t-openbsd:  New.
17462         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17463         Support -shared.  Support debugging libraries with -g.
17464         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17465         frame information does not emit pointer diffs.
17466         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17467         emit pointer diffs.
17468
17469 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17470
17471         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17472
17473 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17474
17475         * combine.c (try_combine): Ensure const_int pow2 is positive.
17476
17477 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17478
17479         * config.gcc: Add configuration for s/390.
17480         * config/s390/s390.c: New. Subroutines for code generation.
17481         * config/s390/s390.h: New. Definitions for s/390.
17482         * config/s390/s390-protos.h: New. Prototypes.
17483         * config/s390/linux.h: New. Definitions for linux for s/390.
17484         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17485         * config/s390/t-linux: New. Makefile fragment.
17486         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17487         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17488
17489 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17490
17491         * emit-rtl.c (try_split): Update mark_jump_label call.
17492         * flow.c (find_sub_basic_blocks): Likewise.
17493         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17494         jump_back_p): Kill.
17495         (mark_all_labels): Kill second parameter.
17496         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17497         (rebuild_jump_labels, jump_optimize_minimal): Update call
17498         of jump_optimize_1.
17499         (jump_optimize_1): Kill crossjumping code.
17500         (mark_jump_label): Kill cross_jump parameter.
17501         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17502         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17503         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17504          splitting.
17505         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17506         DFI_bpro.
17507         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17508         reorganize passes to do reg-stack first, bb-reorder second.
17509         * invoke.texi (-d letters doc): Remove the jump2 pass.
17510
17511 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17512
17513         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
17514
17515 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17516
17517         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
17518         basic blocks.
17519         (verify_flow_info): Make diagnostics prettier.
17520
17521 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
17522
17523         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
17524
17525         * flow.c (outgoing_edges_match): Return early if condition reversal
17526         failed.
17527
17528 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
17529
17530         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
17531         (mips_move_2words): When splitting a move into two instructions,
17532         prefix the second address operand with '%D'.
17533
17534 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
17535
17536         * Makefile.in (final.o): Depend on debug.h.
17537         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
17538         (dbx_debug_hooks): Add new hooks.
17539         (xcoff_debug_hooks): New.
17540         * debug.c (debug_nothing_file_int_int): New.
17541         (do_nothing_debug_hooks): Update.
17542         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
17543         (debug_nothing_file_int_int): New.
17544         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
17545         static, update prototype.
17546         (dwarf2_debug_hooks): Update.
17547         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
17548         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
17549         static, update prototype.
17550         (dwarf_debug_hooks): Update.
17551         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
17552         * final.c: Include debug.h.
17553         (final_scan_insn): Use debug hooks when beginning and ending blocks.
17554         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
17555         static, update prototype.
17556         (sdb_debug_hooks): Update.
17557         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
17558         * toplev.c: Distinguish between xcoff and dbx.
17559
17560         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
17561         Call all debug hooks, not just dwarf ones.
17562
17563 2001-07-11  Timothy Wall  <twall@redhat.com>
17564
17565         * config.gcc: Add configuration for AIX5/IA64.
17566         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
17567         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
17568         support prefix/suffix code.
17569         * config/ia64/t-aix: New.  Makefile fragment.
17570         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
17571
17572 2001-07-11  Kazu Hirata  <kazu@hxi.com>
17573
17574         * recog.c (validate_change): Fix a comment typo.
17575
17576 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
17577
17578         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
17579         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
17580         hooks directly.
17581         * dbxout.c (dbx_debug_hooks): Add new hooks.
17582         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
17583         make static.
17584         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
17585         make static.
17586         * dbxout.h (dbxout_start_new_source_file,
17587         dbxout_resume_previous_source_file): Delete.
17588         * debug.c (do_nothing_debug_hooks): Add new hooks.
17589         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17590         (debug_nothing_int_charstar, debug_nothing_int): New.
17591         * debug.h (gcc_debug_hooks): New hooks define, undef,
17592         start_source_file and end_source_file.
17593         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17594         (debug_nothing_int_charstar, debug_nothing_int): New.
17595         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
17596         the conditionally compiled section.
17597         (dwarf2out_start_source_file, dwarf2out_end_source_file,
17598         dwarf2out_define, dwarf2out_undef): Make static.
17599         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
17600         dwarf2out_define, dwarf2out_undef): Remove.
17601         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
17602         (dwarfout_start_source_file, dwarfout_end_source_file,
17603         dwarfout_define, dwarfout_undef): Make static.
17604         (dwarfout_start_source_file_check,
17605         dwarfout_end_source_file_check): New.
17606         (dwarfout_define, dwarfout_finish): Update.
17607         * dwarfout.h (dwarfout_start_new_source_file,
17608         dwarfout_resume_previous_source_file, dwarfout_define,
17609         dwarfout_undef): Remove.
17610         * sdbout.c (sdb_debug_hooks): Add new hooks.
17611         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
17612         make static.
17613         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
17614         make static, take an arg.
17615         * sdbout.h (sdbout_start_new_source_file,
17616         sdbout_resume_previous_source_file): Delete.
17617         * toplev.c (debug_start_source_file, debug_end_source_file,
17618         debug_define, debug_undef): Delete.
17619         * toplev.h (debug_start_source_file, debug_end_source_file,
17620         debug_define, debug_undef): Delete.
17621
17622         * java/jcf-parse.c: Include debug.h.
17623         (parse_class_file): Update to use debug hooks directly.
17624         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
17625
17626 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17627
17628         * alias.c (set_mem_alias_set): New function.
17629         * rtl.h (set_mem_alias_set): Declare it.
17630         * builtins.c (expand_builtin_return_addr): Call it instead of
17631         using MEM_ALIAS_SET accessor.
17632         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
17633         (get_memory_rtx, expand_builtin_va_arg): Likewise.
17634         (expand_builtin_va_copy):Likewise.
17635         * caller-save.c (setup_save_areas): Likewise.
17636         * calls.c (compute_argument_addresses): Likewise.
17637         * explow.c (set_mem_attributes): Likewise.
17638         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
17639         (expand_assignment, store_constructor_field, store_field): Likewise.
17640         (expand_expr_unaligned): Likewise.
17641         * function.c (assign_stack_temp_for_type): Likewise.
17642         (put_reg_into_stack, gen_mem_addressof): Likewise.
17643         * ifcvt.c (noce_try_cmove_arith): Likewise.
17644         * reload1.c (reload, alter_reg): Likewise.
17645         * config/alpha/alpha.c (get_aligned_mem): Likewise.
17646         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
17647         (alpha_expand_unaligned_store): Likewise
17648         (alpha_expand_unaligned_load_words): Likewise.
17649         (alpha_expand_unaligned_store_words): Likewise.
17650         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
17651         (alpha_expand_epilogue): Likewise.
17652         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
17653         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
17654         * config/i386/i386.c (legitimize_pic_address): Likewise.
17655         * config/i960/i960.c (setup_incoming_varargs): Likewise.
17656         * config/ia64/ia64.c (spill_restore_mem): Likewise.
17657         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
17658         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
17659         * config/mips/mips.c (mips_va_arg): Likewise.
17660         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17661         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17662         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
17663         (setup_incoming_varargs, rs6000_va_arg): Likewise.
17664         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
17665         (rs6000_emit_epilogue): Likewise.
17666         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
17667         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17668         * config/v850/v850.c (v850_va_arg): Likewise.
17669
17670 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
17671
17672         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
17673         when fallthru edge is present.
17674         (mege_blocks): Handle case where creation of jump insn
17675         is required.
17676
17677         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
17678         CLEANUP_POST_REGSTACK): New constants.
17679         * except.c (finish_eh_generation): Update call of cleanup_cfg,
17680         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
17681         * output.h (cleanup_cfg): Update prototype.
17682         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
17683         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
17684         cleanup_cfg call; kill missleading comment.
17685         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
17686         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
17687         parameter; control optimizations performed using it.
17688         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
17689         try_crossjump_bb): New functions.
17690
17691 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17692
17693         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
17694         extern.
17695         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
17696         pa_output_function_prologue.
17697         * pa-protos.h (pa_output_function_prologue): New prototype.
17698
17699 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17700
17701         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
17702         and low to get correct sign extension in low+high test.
17703
17704 2001-07-11  Janis Johnson <janis@us.ibm.com>
17705
17706         * gcov.c (arcdata): Use gcov_type to fix branch percentage
17707         for large hit count.
17708
17709         * profile.c (branch_prob): Fix .bbg info for computed gotos
17710         and C++ EH code.
17711
17712 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
17713
17714         * stmt.c (parse_output_constraint): New function, split out
17715         from ...
17716         (expand_asm_operands): ... here.  Use parse_output_constraint.
17717         * tree.h (parse_output_constraint): Declare it.
17718
17719 2001-07-11  Richard Henderson  <rth@redhat.com>
17720
17721         * bitmap.c: Comment some functions; fiddle whitespace.
17722         (bitmap_free): Don't export.
17723         (bitmap_element_allocate): Use memset.
17724         * bitmap.h (bitmap_free): Don't declare.
17725
17726 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
17727
17728         * gcse.c, lcm.c, sched-deps.c:
17729         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
17730
17731         * flow.c (flow_loops_find): Free dom if we found no loops, since
17732         we aren't going to save it.
17733
17734         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
17735         done.
17736
17737 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
17738
17739         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
17740
17741 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17742
17743         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
17744         #ifndef DWARF2_DEBUGGING_INFO.
17745
17746 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17747
17748         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
17749
17750 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17751
17752         * config/mips/mips.c (gen_int_relational): Tell the caller not to
17753         reverse a branch if a NE comparison is implemented with GTU.
17754
17755 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17756             H.J. Lu  <hjl@gnu.org>
17757
17758         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
17759         constant addresses.
17760         (call_internal2): Likewise.
17761         (call_value_internal1): Likewise.
17762         (call_value_internal2): Likewise.
17763         (call_value_multiple_internal1): Likewise.
17764         (call_value_multiple_internal2): Likewise.
17765
17766 2001-07-10  Kazu Hirata  <kazu@hxi.com>
17767
17768         * calls.c (emit_library_call_value_1): Fix a comment typo.
17769         * dwarf2out.c (mem_loc_descriptor): Likewise.
17770         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
17771
17772 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
17773
17774         * simplify-rtx.c (simplify_subreg): Fix typo in comment
17775
17776 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17777
17778         * recog.c (offsettable_address_p): Handle LO_SUM case.
17779         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
17780         instead of plus_constant.
17781
17782 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17783
17784         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
17785         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
17786
17787 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17788
17789         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
17790         adjust_address_nv instead of plus_constant.
17791
17792 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
17793
17794         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
17795         dwarf2out.o): Depend on debug.h, wrap long lines.
17796         * dbxout.c: Include debug.h.
17797         (dbx_debug_hooks): New.
17798         (dbxout_init): Make static, take just 2 args.
17799         (dbxout_finish): Make static.
17800         * dbxout.h (dbxout_init, dbxout_finish): Delete.
17801         * debug.c: New file.
17802         * debug.h: New file.
17803         * dwarf2out.c: Include debug.h.
17804         (dwarf2_debug_hooks): New.
17805         (dwarf2out_init): Make static.
17806         (dwarf2out_finish): Make static, take 2 args.
17807         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
17808         * dwarfout.c: Include debug.h.
17809         (dwarf_debug_hooks): New.
17810         (dwarfout_init): Make static.
17811         (dwarfout_finish): Make static, take 2 args.
17812         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
17813         * sdbout.c: Include debug.h.
17814         (sdb_debug_hooks): New.
17815         (sdbout_init): Make static, take 2 args.
17816         * sdbout.h (sdbout_init): Delete.
17817         * toplev.c: Include debug.h.
17818         (debug_hooks): New.
17819         (compile_file): Set deubg_hooks based on command line options.
17820         Use the hooks unconditionally rather than conditional compilation.
17821
17822 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
17823
17824         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
17825         first_insn_after_basic_block_note instead.
17826
17827         * df.c (df_bb_refs_unlink): #if 0 out for now.
17828
17829 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
17830
17831         * ssa.h: Add prototype for ssa_const_prop
17832         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
17833         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
17834         (ssa_fast_dce): Remove unused variable
17835
17836 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17837
17838         * diagnostic.c (finish_diagnostic): Rename to
17839         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
17840         calls thourghout.
17841
17842 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
17843
17844         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
17845         .loc support.
17846
17847         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
17848         (dump_file): Only pad the demangled name with spaces if the
17849         mangled name was padded with spaces.
17850
17851 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
17852
17853         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
17854         edge detection.
17855
17856 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17857
17858         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
17859         extraction if no direct load if either EXPAND_CONST_ADDRESS or
17860         EXPAND_INITIALIZER.
17861
17862         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
17863         whether can put offset inside LO_SUM to check mode alignment, not size.
17864
17865 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17866
17867         * doc/tm.texi (Misc): Fix thinko.
17868
17869 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
17870
17871         * regmove.c (replace_in_call_usage): Fix warnings.
17872         * sched-deps.c (add_dependence): Fix warnings.
17873         * simplify-rtx.c (simplify_subreg): Likewise.
17874         Return NULL_RTX instead of NULL.
17875
17876         * reg-stack.c (emit_swap_insn): Eliminate warnings.
17877         (subst_asm_stack_regs): Likewise.
17878
17879         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
17880         warnings.
17881
17882         * dwarf2out.c (output_call_frame_info): Declare i as int.
17883         (build_abbrev_table): Declare n_alloc as int.
17884         (dwarf2out_finish): Initialize die.
17885         * except.c: Declare sjlj_funcdef_number as unsigned.
17886         (connect_post_landing_pads): Declare j as unsigned.
17887         (convert_to_eh_region_ranges): Initialize call_site.
17888         (output_function_exception_table): Initialize tt_format_size.
17889         * expr.c (move_by_pieces_1): Initialize to1.
17890         (store_constructor): Initialize minelt and maxelt.
17891         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
17892         * function.c (instantiate_decls): Avoid signed/unsigned warning.
17893
17894         * c-decl.c (combine_parm_decls): Unused, remove.
17895         * c-tree.h: Remove prototype for combine_parm_decls.
17896
17897         * reload.c (push_reload): Fix warning.
17898         (regno_clobbered_p): Likewise.
17899         * reload1.c (replace_pseudos_in_call_usage): Likewise.
17900         (reload_combine): Likewise.
17901
17902         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
17903         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
17904         warnings.
17905         * bitmap.c (bitmap_operation): Change user.
17906         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
17907
17908 2001-07-10  Eric Christopher  <echristo@redhat.com>
17909
17910         * config/mips/mips.c (override_options): Fix typo.
17911
17912 2001-07-09  Stan Shebs  <shebs@apple.com>
17913
17914         * target.h (struct gcc_target): New fields init_builtins and
17915         expand_builtin.
17916         * target-def.h (TARGET_INIT_BUILTINS): New macro.
17917         (TARGET_EXPAND_BUILTIN): New macro.
17918         (TARGET_INITIALIZER): Add them.
17919         * builtins.c: Include target.h.
17920         (expand_builtin): Use targetm.expand_builtin.
17921         (default_init_builtins): New function.
17922         (default_expand_builtin): New function.
17923         * expr.h (default_init_builtins): Declare.
17924         (default_expand_builtin): Declare.
17925         * c-common.c (c_common_nodes_and_builtins): Use
17926         targetm.init_builtins.
17927         * defaults.h (MD_INIT_BUILTINS): Remove.
17928         * Makefile.in (builtins.o): Depend on target.h.
17929
17930         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
17931         (TARGET_EXPAND_BUILTIN): Define.
17932         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
17933         (MD_EXPAND_BUILTIN): Remove.
17934
17935         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
17936         (TARGET_EXPAND_BUILTIN): Define.
17937         (c4x_init_builtins): Make endlink arg a local.
17938         (c4x_print_operand): Fix typos in adjust_address usages.
17939         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
17940         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
17941         (MD_EXPAND_BUILTIN): Remove.
17942
17943         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
17944         (TARGET_EXPAND_BUILTIN): Define.
17945         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
17946         (ix86_init_builtins): Call new function only if TARGET_MMX.
17947         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
17948         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
17949         (MD_EXPAND_BUILTIN): Remove.
17950
17951         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
17952         (TARGET_EXPAND_BUILTIN): Define.
17953         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
17954         (MD_EXPAND_BUILTIN): Remove.
17955
17956         * doc/tm.texi: Document these changes.
17957
17958 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
17959
17960         * basic-block.h (tree_node): Forward declare if needed.
17961         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
17962         (BLOCK_HEAD_TREE): Define.
17963         (BLOCK_END_TREE): Define.
17964         (struct loops): Rename field 'tree' to 'tree_root'.
17965         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
17966         'end_tree'.
17967         (flow_loops_tree_build): Rename reference to field 'tree' to
17968         'tree_root'.
17969         (flow_loops_level_compute): Ditto.
17970         * predict.c (estimate_bb_frequencies): Ditto.
17971         * tree.h (struct tree_common): Add field 'aux'.
17972
17973 2001-07-09  Stan Shebs  <shebs@apple.com>
17974
17975         * config/darwin.c (darwin_encode_section_info): Don't mark any
17976         DECL_EXTERNAL node as defined.
17977
17978 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17979
17980         * pa.c (pa_init_machine_status, pa_mark_machine_status,
17981         pa_free_machine_status, hppa_init_pic_save): Delete.
17982         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
17983         (hppa_profile_hook): Use hppa_pic_save_rtx.
17984         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
17985         hppa_init_pic_save): Delete.
17986         (hppa_pic_save_rtx): Declare.
17987         * pa.md (call, call_value, sibcall, sibcall_value,
17988         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
17989
17990 2001-07-09  Kazu Hirata  <kazu@hxi.com>
17991
17992         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
17993         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
17994
17995 2001-07-09  Andreas Jaeger  <aj@suse.de>
17996
17997         * output.h: Add declaration of final_forward_branch_p.
17998
17999         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
18000
18001         * varray.c: Include errors.h for internal_error and trim_filename
18002         declarations.
18003
18004         * Makefile.in (varray.o): Add errors.h.
18005
18006 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
18007
18008         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
18009         * optabs.c (have_add2_insn): Check whether the add insn chosen
18010         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
18011         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
18012
18013 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
18014
18015         * Makefile.in (OBJS): Add ssa-ccp.o
18016         (ssa-ccp.o): Add dependencies.
18017         * toplev.c (DFI_ssa_ccp): New dump file enum.
18018         (dump_file): Add entry for dumping after SSA CCP.
18019         (flag_ssa_ccp): New flag variable.
18020         (f_options): Add -fssa-ccp.
18021         (rest_of_compilation): Run SSA CCP if requested.
18022         * timevar.def (TV_SSA_CCP): New timevar.
18023         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
18024         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
18025         Fix minor typo in SSA DCE documentation.
18026         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
18027         Add documentation for new dump option.  Renumber dump files
18028         appropriately.
18029
18030 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18031
18032         * emit-rtl.c (gen_highpart_mode): New.
18033         * rtl.h (gen_highpart_mode): Declare.
18034         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
18035         operand can be VOIDmode constant.
18036
18037 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
18038
18039         * flow.c (redirect_edge_and_branch_force): New.
18040         (can_fallthru): Ensure that basic blocks are succeeding.
18041         (try_optimize_cfg): Do not delete basic block if it is the last one.
18042
18043         * flow.c (try_redirect_by_replacing_jump): Do not remove
18044         jumps with side effects, unlink chain on fallthru edge;
18045         set block for new jump instruction; avoid basic block to
18046         over by line number note.
18047
18048         * flow.c (try_simplify_condjump): Verify that the condjump
18049         is not always falling through.
18050
18051         Re-install patch:
18052         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18053
18054         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18055         (try_redirect_by_replacing_jump): Update properly the count
18056         and frequency information.
18057
18058 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18059
18060         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
18061         address that is a LO_SUM specially.
18062         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
18063
18064         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
18065
18066         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
18067         (operand_subword): Use them.
18068         (change_address_1): Renamed from change_address; new arg VALIDATE.
18069         * expr.h: Reflect above changes; change_address now macro.
18070         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
18071         making MEM.
18072         * cselib.c (add_mem_for_addr): Likewise.
18073         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
18074         * regmove.c (try_apply_stack_adjustment): Likewise.
18075         * reload.c (push_reload, make_memloc): Likewise.
18076         * reload1.c (eliminate_regs): Likewise.
18077         * simplify-rtx.c (simplify_replace_rtx): Likewise.
18078         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
18079         adjust_addess.
18080         * combine.c (make_extraction, simplify_shift_const): Likewise.
18081         (gen_lowpart_for_combine): Likewise.
18082         * cse.c (gen_lowpart_if_possible): Likewise.
18083         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
18084         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
18085         * optabs.c (gen_move_insn): Likewise.
18086         * reload1.c (alter_reg): Likewise.
18087         * simplify-rtx.c (simplify_subreg): Likewise.
18088         * stmt.c (expand_anon_union_decl): Likewise.
18089         * recog.c (validate_replace_rtx_1): Likewise.
18090         (expr.h): Include.
18091         * Makefile.in (recog.o): Add $(EXPR_H).
18092         * explow.c (stabilize): Call replace_equiv_address.
18093         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
18094         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
18095
18096 2001-07-03  Andrew Haley  <aph@redhat.com>
18097
18098         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
18099         the mode of the memory location.
18100
18101 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
18102
18103         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
18104
18105 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
18106
18107         * final.c (output_addr_const): Use target opening and
18108         closing parentheses.
18109         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
18110         defaults, add to TARGET_ASM_OUT.
18111         * target.h (struct gcc_target): Add open_paren and close_paren.
18112         * doc/md.texi: Update.
18113         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
18114         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
18115         TARGET_ASM_CLOSE_PAREN.
18116         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18117         Override.
18118         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
18119         Override.
18120         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
18121         * config/a29k/a29k.h: Similarly.
18122         * config/alpha/alpha.h: Similarly.
18123         * config/arc/arc.h: Similarly.
18124         * config/arm/aof.h: Similarly.
18125         * config/arm/aout.h: Similarly.
18126         * config/avr/avr.h: Similarly.
18127         * config/c4x/c4x.h: Similarly.
18128         * config/clipper/clipper.h: Similarly.
18129         * config/convex/convex.h: Similarly.
18130         * config/d30v/d30v.h: Similarly.
18131         * config/dsp16xx/dsp16xx.h: Similarly.
18132         * config/elxsi/elxsi.h: Similarly.
18133         * config/fr30/fr30.h: Similarly.
18134         * config/h8300/h8300.h: Similarly.
18135         * config/i370/i370.h: Similarly.
18136         * config/i386/i386.h: Similarly.
18137         * config/i860/i860.h: Similarly.
18138         * config/i960/i960.h: Similarly.
18139         * config/ia64/ia64.h: Similarly.
18140         * config/m32r/m32r.h: Similarly.
18141         * config/m68hc11/m68hc11.h: Similarly.
18142         * config/m68k/m68k.h: Similarly.
18143         * config/m88k/m88k.h: Similarly.
18144         * config/mcore/mcore.h: Similarly.
18145         * config/mips/mips.h: Similarly.
18146         * config/mn10200/mn10200.h: Similarly.
18147         * config/mn10300/mn10300.h: Similarly.
18148         * config/ns32k/ns32k.h: Similarly.
18149         * config/pa/pa.h: Similarly.
18150         * config/pdp11/pdp11.h: Similarly.
18151         * config/pj/pj.h: Similarly.
18152         * config/romp/romp.h: Similarly.
18153         * config/rs6000/rs6000.h: Similarly.
18154         * config/sh/sh.h: Similarly.
18155         * config/sparc/sparc.h: Similarly.
18156         * config/v850/v850.h: Similarly.
18157         * config/vax/vax.h: Similarly.
18158         * config/we32k/we32k.h: Similarly.
18159
18160 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
18161
18162         * doc/c-tree.texi: Document representation of attributes.
18163
18164 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18165
18166         * doc/tm.texi: Update some places for the rename of target to
18167         targetm.  Fix typo.
18168
18169 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18170
18171         * target.h (struct gcc_target): Add insert_attributes.
18172         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
18173         (TARGET_INITIALIZER): Update.
18174         * tree.c, tree.h (default_insert_attributes): New function.
18175         Update comments on other default functions to refer to targetm,
18176         not target.
18177         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
18178         TARGET_INSERT_ATTRIBUTES.
18179         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
18180         * c-common.c (decl_attributes): Use targetm.insert_attributes.
18181         Don't use PRAGMA_INSERT_ATTRIBUTES.
18182         * Makefile.in (c-common.o): Depend on $(TARGET_H).
18183         * c-decl.c (start_decl, start_function): Don't call
18184         SET_DEFAULT_DECL_ATTRIBUTES.
18185         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18186         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
18187         declare.
18188         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
18189         (c4x_check_attribute): Avoid modifying attribute list itself.
18190         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
18191         Make static.
18192         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
18193         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
18194         declare.
18195         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
18196         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
18197         Make static.
18198         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18199         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
18200         declare.
18201         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
18202         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
18203         Adjust parameters.  Make static.
18204
18205 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18206
18207         * c-common.c (decl_attributes): Only take a single attributes
18208         parameter.
18209         * c-common.h (decl_attributes): Update prototype.
18210         * c-decl.c (start_decl, start_function): Only take a single
18211         attributes parameter.  Update calls to decl_attributes.
18212         (finish_struct, finish_enum): Update calls to decl_attributes.
18213         (push_parm_decl): Expect unified list of attributes.  Update call
18214         to decl_attributes.
18215         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
18216         notype_nested_function, component_declarator,
18217         component_notype_declarator, label): Update calls to
18218         decl_attributes.
18219         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
18220         lists that are passed to push_parm_decl.
18221         * c-tree.h (start_function, start_decl): Update prototypes.
18222         * config/sh/sh-protos.h, config/sh/sh.c
18223         (sh_pragma_insert_attributes): Only take a single attributes
18224         parameter.
18225         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
18226         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18227         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18228         build_module_descriptor, generate_static_references,
18229         generate_strings, build_selector_translation_table,
18230         generate_descriptor_table, generate_protocols,
18231         generate_ivars_list, generate_dispatch_table,
18232         generate_protocol_list, generate_category,
18233         generate_shared_structures, really_start_method, add_objc_decls,
18234         generate_classref_translation_entry): Update calls to start_decl
18235         and start_function.
18236         (build_tmp_function_decl, start_method_def): Unify attribute lists
18237         that are passed to push_parm_decl.
18238
18239 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
18240
18241         * final.c (no_asm_to_stream): New.
18242         (final_scan_insn): Use target structures for prologue ends
18243         and epilogue starts.
18244         * output.h (no_asm_to_stream): New.
18245         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18246         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18247         (TARGET_ASM_OUT): Update.
18248         * target.h (struct gcc_target): New members function_end_prologue
18249         and function_begin_epilogue.
18250         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18251         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18252         * config/alpha/alpha.c (output_end_prologue): Rename to
18253         alpha_output_function_end_prologue.  Use in target struct
18254         and make static.
18255         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18256         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18257         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
18258         ia64_output_function_end_prologue.  Use in target struct
18259         and make static.
18260         (ia64_function_prologue, ia64_funciton_epilogue): Rename
18261         mistyped prototypes.
18262         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18263         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18264         Delete.
18265         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18266         an use in target struct, make static.
18267         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18268         Delete.
18269
18270 2001-07-08  Richard Henderson  <rth@redhat.com>
18271
18272         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18273
18274 2001-07-08  Richard Henderson  <rth@redhat.com>
18275
18276         * config/i386/i386.md: Remove constraints strings from define_split
18277         and define_peephole2 patterns.
18278         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18279         (eh_return): Use them.
18280
18281 2001-07-08  Richard Henderson  <rth@redhat.com>
18282
18283         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18284         Document MD_FALLBACK_FRAME_STATE_FOR.
18285
18286 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18287
18288         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18289         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18290         elimination.
18291         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18292
18293 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18294
18295         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18296         of the label inside NAME as opposed to just the end of NAME.
18297
18298 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18299
18300         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18301         * config/alpha/alpha.c (alpha_init_machine_status,
18302         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18303         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18304         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18305         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18306
18307 2001-07-06  Stan Shebs  <shebs@apple.com>
18308
18309         * target.h (targetm): Rename global from "target", so as not to
18310         conflict with local variables.
18311         * c-decl.c: Ditto.
18312         * c-typeck.c: Ditto.
18313         * final.c: Ditto.
18314         * tree.c: Ditto.
18315         * cp/decl.c: Ditto.
18316         * cp/decl2.c: Ditto.
18317         * cp/typeck.c: Ditto.
18318         * 1750a/1750a.c: Ditto.
18319         * a29k/a29k.c: Ditto.
18320         * arc/arc.c: Ditto.
18321         * arm/arm.c: Ditto.
18322         * avr/avr.c: Ditto.
18323         * clipper/clipper.c: Ditto.
18324         * convex/convex.c: Ditto.
18325         * d30v/d30v.c: Ditto.
18326         * dsp16xx/dsp16xx.c: Ditto.
18327         * elxsi/elxsi.c: Ditto.
18328         * fr30/fr30.c: Ditto.
18329         * h8300/h8300.c: Ditto.
18330         * i370/i370.c: Ditto.
18331         * i386/i386.c: Ditto.
18332         * i860/i860.c: Ditto.
18333         * i960/i960.c: Ditto.
18334         * ia64/ia64.c: Ditto.
18335         * m32r/m32r.c: Ditto.
18336         * m68hc11/m68hc11.c: Ditto.
18337         * m68k/m68k.c: Ditto.
18338         * m88k/m88k.c: Ditto.
18339         * mips/mips.c: Ditto.
18340         * ns32k/ns32k.c: Ditto.
18341         * pa/pa.c: Ditto.
18342         * pdp11/pdp11.c: Ditto.
18343         * romp/romp.c: Ditto.
18344         * rs6000/rs6000.c: Ditto.
18345         * sh/sh.c: Ditto.
18346         * sparc/sparc.c: Ditto.
18347         * vax/vax.c: Ditto.
18348         * we32k/we32k.c: Ditto.
18349         * doc/tm.texi: Update the manual to match.
18350
18351 2001-07-06  Richard Henderson  <rth@redhat.com>
18352
18353         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18354         DWARF2_UNWIND_INFO not just whether it is defined.
18355
18356 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18357
18358         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18359         call to simplify_binary_operation returns a new pattern.
18360
18361 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18362
18363         * glimits.h (__SHRT_MAX__): New.
18364         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18365         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18366
18367 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18368
18369         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18370         avoid warnings.
18371
18372 2001-07-06  Richard Henderson  <rth@redhat.com>
18373
18374         * bitmap.c (bitmap_release_memory): Move adjacent to the
18375         allocation functions.
18376         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18377         the implementation.  Binary search for the set bit.
18378         (bitmap_union_of_diff): Allocate the temporary on the stack
18379         instead of using xmalloc.
18380
18381 2001-07-06  Richard Henderson  <rth@redhat.com>
18382
18383         * genrecog.c (validate_pattern): Warn for constraints in
18384         define_{expand,split,peephole2}.  Remove strict_low_part
18385         before looking up match_dup.
18386
18387 2001-07-06  DJ Delorie  <dj@redhat.com>
18388
18389         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18390         chapter about various build hints and history.  Add section
18391         talking about the various types of native and cross builds.
18392
18393 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18394
18395         * Makefile.in (final.o): Depend on target.h.
18396         * final.c: Include target.h.
18397         (default_function_pro_epilogue): New.
18398         (final_start_function): Use target structure for function prologues.
18399         (final_end_function): Use target structure for function epilogues.
18400         * fold-const.c (real_hex_to_f): Constify s and p.
18401         * output.h (default_function_pro_epilogue): New.
18402         * real.h (real_hex_to_f): Update prototype.
18403         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18404         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18405         (TARGET_INITIALIZER): Update.
18406         * target.h (gcc_target): Add struct asm_out.
18407         * doc/tm.texi: Update.
18408
18409 config:
18410         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18411         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18412         in cpu/cpu.c, or rename old functions consistently.  Take
18413         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18414         redundant macros and prototypes.  Make new functions static.
18415
18416         * 1750a/1750a.c: Similarly.
18417         * 1750a/1750a.h: Similarly.
18418         * a29k/a29k-protos.h: Similarly.
18419         * a29k/a29k.c: Similarly.
18420         * a29k/a29k.h: Similarly.
18421         * arc/arc-protos.h: Similarly.
18422         * arc/arc.c: Similarly.
18423         * arc/arc.h: Similarly.
18424         * arm/arm-protos.h: Similarly.
18425         * arm/arm.c: Similarly.
18426         * arm/arm.h: Similarly.
18427         * avr/avr-protos.h: Similarly.
18428         * avr/avr.c: Similarly.
18429         * avr/avr.h: Similarly.
18430         * clipper/clipper-protos.h: Similarly.
18431         * clipper/clipper.c: Similarly.
18432         * clipper/clipper.h: Similarly.
18433         * convex/convex.c: Similarly.
18434         * convex/convex.h: Similarly.
18435         * d30v/d30v-protos.h: Similarly.
18436         * d30v/d30v.c: Similarly.
18437         * d30v/d30v.h: Similarly.
18438         * d30v/d30v.md: Similarly.
18439         * dsp16xx/dsp16xx-protos.h: Similarly.
18440         * dsp16xx/dsp16xx.c: Similarly.
18441         * dsp16xx/dsp16xx.h: Similarly.
18442         * elxsi/elxsi.c: Similarly.
18443         * elxsi/elxsi.h: Similarly.
18444         * fr30/fr30.c: Similarly.
18445         * fr30/fr30.md: Similarly.
18446         * h8300/h8300-protos.h: Similarly.
18447         * h8300/h8300.c: Similarly.
18448         * h8300/h8300.h: Similarly.
18449         * i370/i370-protos.h: Similarly.
18450         * i370/i370.c: Similarly.
18451         * i370/i370.h: Similarly.
18452         * i386/i386.c: Similarly.
18453         * i386/osf1elf.h: Similarly.
18454         * i386/osfrose.h: Similarly.
18455         * i860/i860-protos.h: Similarly.
18456         * i860/i860.c: Similarly.
18457         * i860/i860.h: Similarly.
18458         * i960/i960-protos.h: Similarly.
18459         * i960/i960.c: Similarly.
18460         * i960/i960.h: Similarly.
18461         * ia64/ia64-protos.h: Similarly.
18462         * ia64/ia64.c: Similarly.
18463         * ia64/ia64.h: Similarly.
18464         * m32r/m32r-protos.h: Similarly.
18465         * m32r/m32r.c: Similarly.
18466         * m32r/m32r.h: Similarly.
18467         * m68hc11/m68hc11-protos.h: Similarly.
18468         * m68hc11/m68hc11.c: Similarly.
18469         * m68hc11/m68hc11.h: Similarly.
18470         * m68k/crds.h: Similarly.
18471         * m68k/dpx2.h: Similarly.
18472         * m68k/m68k-protos.h: Similarly.
18473         * m68k/m68k.c: Similarly.
18474         * m68k/m68k.h: Similarly.
18475         * m68k/news.h: Similarly.
18476         * m88k/m88k-protos.h: Similarly.
18477         * m88k/m88k.c: Similarly.
18478         * m88k/m88k.h: Similarly.
18479         * mips/mips-protos.h: Similarly.
18480         * mips/mips.c: Similarly.
18481         * mips/mips.h: Similarly.
18482         * ns32k/merlin.h: Similarly.
18483         * ns32k/ns32k.c: Similarly.
18484         * ns32k/ns32k.h: Similarly.
18485         * ns32k/tek6000.h: Similarly.
18486         * pa/pa-protos.h: Similarly.
18487         * pa/pa.c: Similarly.
18488         * pa/pa.h: Similarly.
18489         * pdp11/2bsd.h: Similarly.
18490         * pdp11/pdp11-protos.h: Similarly.
18491         * pdp11/pdp11.c: Similarly.
18492         * pdp11/pdp11.h: Similarly.
18493         * romp/romp-protos.h: Similarly.
18494         * romp/romp.c: Similarly.
18495         * romp/romp.h: Similarly.
18496         * rs6000/rs6000-protos.h: Similarly.
18497         * rs6000/rs6000.c: Similarly.
18498         * rs6000/rs6000.h: Similarly.
18499         * rs6000/sysv4.h: Similarly.
18500         * sh/sh-protos.h: Similarly.
18501         * sh/sh.c: Similarly.
18502         * sh/sh.h: Similarly.
18503         * sparc/sparc-protos.h: Similarly.
18504         * sparc/sparc.c: Similarly.
18505         * sparc/sparc.h: Similarly.
18506         * vax/vax.c: Similarly.
18507         * vax/vax.h: Similarly.
18508         * vax/vms.h: Similarly.
18509         * we32k/we32k.c: Similarly.
18510         * we32k/we32k.h: Similarly.
18511
18512 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18513
18514         * basic-block.h (first_insn_after_basic_block_note): Declare.
18515         * flow.c (first_insn_after_basic_block_note): Define.  Moved
18516         from...
18517         * ssa.c (first_insn_after_basic_block_note): Remove.
18518         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
18519         necessary.
18520         (ssa_eliminate_dead_code): Properly update the CFG and PHI
18521         nodes when we find a dead conditional branch.  Insert BARRIERs
18522         after any blocks with no successors, but which do not have
18523         any BARRIERs.
18524
18525 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
18526
18527         * varray.c (varray_check_failed): Use internal_error.
18528
18529 2001-07-05  Andrew Haley  <aph@redhat.com>
18530
18531         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
18532         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
18533         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
18534
18535 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
18536
18537         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
18538         reference if the target constant is also a SYMBOL_REF.
18539
18540 2001-07-05  Eric Christopher  <echristo@redhat.com>
18541
18542         * config/mips/mips.h (MASK_MIPS3900): Remove.
18543         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
18544         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
18545         (TARGET_MIPS3900): Change to use mips_arch.
18546         (TARGET_MIPS4000): New.
18547         (TARGET_MIPS4100): New.
18548         (TARGET_MIPS4300): New.
18549         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
18550         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
18551         for -mipsX.
18552         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
18553         (ISA_HAS_BRANCHLIKELY): To here.
18554         (CC1_CPU_SPEC):  New.
18555         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
18556         (mips_arch_string): Declare.
18557         (mips_arch): Declare.
18558         (TARGET_OPTIONS): Add -march and -mtune.
18559
18560         * config/mips/mips.c (mips_arch_string): New.
18561         (mips_arch): New.
18562         (override_options): Handle -march for codegen and -mtune
18563         for scheduling. Use mips_arch. Move tx39 target default here.
18564         (mips_parse_cpu): Move error message to override_options.
18565
18566         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
18567
18568         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
18569
18570         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
18571         (MIPS Options): Ditto.  Change mcpu entry to historical text.
18572
18573 2001-07-05  H.J. Lu  (hjl@gnu.org)
18574
18575         * config/mips/mips.c (mips_parse_cpu): New function to parse
18576         -march=*/-mcpu=*.
18577
18578 2001-07-05  Jim Wilson  <wilson@redhat.com>
18579
18580         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
18581         * config/ia64/t-ia64: Likewise.
18582         (LIB1ASMFUNCS): Update comment.
18583
18584 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
18585
18586         * doc/install.texi (Install GCC: Binaries): Fix typo.
18587
18588 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18589
18590         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
18591         reference using the stack pointer, adjust it since we push Y
18592         temporarily.
18593         ("*ashrsi3"): Likewise.
18594         ("*lshrsi3"): Likewise.
18595
18596 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18597
18598         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
18599         when -fomit-frame-pointer is used.
18600
18601 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
18602
18603         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
18604         (try_redirect_by_replacing_jump): Reverse updating properly the
18605         count and frequency information.  Reverse removing cc0 setter.
18606         (forwarder_block_p): Reverse fixing for fallthru blocks.
18607
18608 2001-07-05  DJ Delorie  <dj@redhat.com>
18609
18610         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
18611         (translate_options): If the above is defined, use it to map
18612         given options to new options.
18613         * doc/tm.texi: Document it.
18614
18615 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
18616             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18617
18618         * doc/invoke.texi (Optimize Options): Document that -fgcse may
18619         cause programs using computed gotos to run more slowly.
18620
18621 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18622
18623         * doc/install.texi (Specific): Markup, spelling and typo fixes.
18624         Fixed sorting.
18625         Consistently require binutils 2.11.2, not prereleases.
18626         (Specific, decstation-*): Canonicalize as mips-dec-*.
18627         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
18628         always necessary.
18629         (Specific, m68k-altos): Removed reference to README.altos, deleted.
18630         (Specific, mips-*): Reword MIPS C compiler requirements.
18631         (Specific, powerpc*-*-*): New, mention --with-cpu once.
18632         (Specific, sunv5): Removed, obsolete.
18633
18634 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18635
18636         * dwarf2out.c (output_loc_list): Use an all ones mask for
18637         .text asm output and don't rely on long long
18638         literals. Reformat some long lines.
18639
18640 2001-07-05  Andreas Jaeger  <aj@suse.de>
18641
18642         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
18643         section.
18644
18645 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18646
18647         * dwarf2out.c (dwarf2out_define): Update comment.
18648         (dwarf2out_undef): Ditto.
18649         (dwarf2out_start_source_file): Ditto.
18650         (dwarf2out_end_source_file): Ditto.
18651         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
18652         since we never call the start/end debug hook for the primary file.
18653
18654 2001-07-04  Kazu Hirata  <kazu@hxi.com>
18655
18656         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
18657         from shll.
18658
18659 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18660
18661         * cppinit.c (remove_dup_dirs): Inform if a system include
18662         directory is being reordered.
18663         * doc/invoke.texi (Directory Options): GCC warns if you hide a
18664         system include.
18665         * doc/cpp.texi (Search Paths): Likewise.
18666         * doc/gcc.texi (Interoperation): Remove information about
18667         -I/usr/include.
18668
18669 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18670
18671         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
18672         (VARRAY_TOP_CHAR_PTR): Likewise.
18673
18674 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18675
18676         * gcc.c (process_command): Don't assign elements of a const char*.
18677
18678 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18679
18680         * emit-rtl.c (change_address): Don't abort if invalid address while
18681         reload is in progress.
18682
18683 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18684
18685         * c-lex.c (cb_file_change): Pass line number to
18686         debug_start_source_file.
18687         (cb_undefine): Pass correct line number to debug_undef.
18688
18689         * toplev.c (debug_start_source_file): Add line number to
18690         parameters. Pass it along to dwarf2out_start_source_file.
18691         (decode_g_option): Stop resetting debug level back to normal when
18692         we change debug formats, unless the current level is
18693         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
18694         3).
18695
18696         * toplev.h (debug_start_source_file): Add line number to
18697         parameters.
18698
18699         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
18700         parameters.
18701
18702         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
18703         parameters.
18704         Output debug_macinfo data for starting file if requested.
18705         (dwarf2out_end_source_file): Output debug_macinfo data for ending
18706         file if requested.
18707         (dwarf2out_define): Output debug_macinfo data for defining a macro
18708         if requested.
18709         (dwarf2out_undef): Output debug_macinfo data for undefining a
18710         macro if requested.
18711         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
18712         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
18713         (macinfo_section_label): New. DWARF2 macro info section label.
18714         (dwarf2out_init): If we want macro info, output the start label
18715         for the section.
18716         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
18717         attribute to the compilation unit die pointing to the macro info.
18718
18719 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18720
18721         * dwarf2out.c (new_loc_list): Move to inside #ifdef
18722         DWARF2_DEBUGGING_INFO.
18723         (add_loc_descr_to_loc_list): Ditto.
18724         (output_loc_list): Ditto.
18725         Also, fix thinko in curr not being initialized.
18726         (gen_internal_sym): Ditto.
18727
18728 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18729
18730         * emit-rtl.c (replace_equiv_address): New function.
18731         * expr.h (replace_equiv_address): New declaration.
18732         * explow.c (validize_mem): Call it instead of change_address and
18733         also call if -fforce-addr and address is constant.
18734         * expr.c: Replace more calls to change_address with adjust_address
18735         and/or replace_equiv_address or to validize_mem.
18736         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
18737         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
18738         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18739         * config/i370/i370.md, config/i860/i860.md: Likewise.
18740         * config/i960/i960.md, config/mips/mips.c: Likewise.
18741         * config/mips/mips.md, config/pa/pa.md: Likewise.
18742         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
18743         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
18744
18745 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18746
18747         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
18748
18749         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
18750         function.
18751
18752 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
18753
18754         * doc/include: New directory.
18755         * doc/fdl.texi: Move to doc/include/fdl.texi.
18756         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
18757         * doc/include/funding.texi, doc/include/gpl.texi: New files.
18758         * doc/gcc.texi: Use funding.texi and gpl.texi.
18759         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
18760         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
18761         Update dependencies and use -I $(docdir)/include.
18762
18763 2001-07-04  Anthony Green  <green@redhat.com>
18764
18765         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
18766
18767 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18768
18769         * doc/install.texi (sparc64-*-*): Remove garbage.
18770
18771 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
18772
18773         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
18774         Fix typo in last change to use adjust_address.
18775
18776 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18777
18778         * doc/install.texi (Specific): Update information for *-*-solaris*.
18779
18780 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18781
18782         * explow.c (plus_constant_wide): Reinitialize Y for restart.
18783
18784 2001-07-03  Stan Shebs  <shebs@apple.com>
18785
18786         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
18787         case for flag_no_mach_text_sections.
18788         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
18789         * config/darwin.c (flag_no_mach_text_sections): Remove.
18790         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
18791
18792 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18793
18794         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
18795         and avoid checking for constant as first operand.
18796         * recog.c (find_constant_term_loc): No longer static.
18797         (adj_offettable_operand): Delete.
18798         * rtl.h (adj_offsettable_operand): Delete declaration.
18799         (find_constant_term): Add declaration.
18800         * caller-save.c: Replace calls to adj_offsettable_operand with calls
18801         to adjust_address.
18802         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
18803         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
18804         * config/i386/i386.c, config/i386/i386.md: Likewise.
18805         * config/i860/i860.c, config/i960/i960.c: Likewise.
18806         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
18807         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
18808         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
18809         * config/mips/mips.c, config/mips/mips.md: Likewise.
18810         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
18811         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
18812         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
18813         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
18814         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
18815         * config/ns32k/ns32k.md: Likewise.
18816
18817 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
18818
18819         * rtl.c (copy_rtx): Handle 'T' format letter.
18820         * gensupport.c (collect_insn_data): Likewise.
18821         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
18822
18823 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
18824
18825         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
18826         -B option.  Use 'dir' not 'foo' as example directory name.
18827
18828 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18829
18830         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18831         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
18832
18833 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18834
18835         * doc/cppinternals.texi: Improve formatting and logical markup.
18836
18837 2001-07-03  Andreas Jaeger  <aj@suse.de>
18838
18839         * Makefile.in (insn-recog.o): Add dependency on reload.h.
18840
18841         * genrecog.c (write_header): Include reload.h for prototypes in
18842         insn-recog.c.
18843
18844 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
18845
18846 config:
18847         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
18848         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18849         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
18850         i386_pe_valid_type_attribute_p): Add.
18851         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
18852         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
18853
18854 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18855
18856         * explow.c (plus_constant_wide, case LO_SUM): New case.
18857         (plus_constant_for_output_wide): Delete.
18858         * rtl.h (plus_constant_for_output): Delete.
18859         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
18860         instead of plus_constant_for_output.
18861         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
18862         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
18863         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
18864         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
18865         * config/sparc/sparc.md: Likewise.
18866         Convert some change_address calls to adjust_address.
18867
18868 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18869
18870         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
18871         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
18872         documentation of -std and -Wwrite-strings.
18873
18874 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18875
18876         * cse.c (canon_hash): Don't register registers in very small
18877         register classes, as extending their lifetime might cause
18878         reload to fail.
18879
18880 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18881
18882         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18883
18884         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18885         (try_redirect_by_replacing_jump): Update properly the count
18886         and frequency information.
18887
18888 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
18889
18890         * toplev.c (dump_file_index): Move SSA dumps just after first
18891         jump dump.
18892         (dump_file): Corresponding changes.
18893         (rest_of_compilation): Move SSA path to just after the first
18894         jump pass.
18895         * doc/gcc.texi (Passes): Update due to movement of SSA path.
18896         * doc/invoke.texi: Update dump file #s as they were completely
18897         out of date with reality.
18898
18899 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18900
18901         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
18902
18903         * expr.c (emit_move_insn_1): Deal with non-default
18904         STACK_PUSH_CODE.
18905
18906         * expr.c (emit_single_push_insn): Fix warning.
18907
18908 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18909
18910         * expr.c (emit_move_insn_1): Avoid modifying
18911         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
18912
18913 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18914
18915         * emit-rtl.c (adjust_address): New function.
18916         * expr.h (adjust_address): Add declaration.
18917         * builtins.c: Replace some calls to change_address with calls to it
18918         or to validize_mem.
18919         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
18920         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
18921         * config/arm/arm.c, config/convex/convex.c: Likewise.
18922         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18923         * config/i386/i386.c, config/i386/i386.md: Likewise.
18924         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
18925         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
18926         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
18927         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
18928         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
18929
18930 2001-07-02  Jim Wilson  <wilson@redhat.com>
18931
18932         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
18933
18934 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
18935
18936         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
18937         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
18938
18939 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18940
18941         * cppinit.c (lang_defaults): New table.
18942         (set_lang): Just read from lang_defaults into the live options
18943         structure.
18944
18945 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18946
18947         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
18948         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
18949         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
18950
18951 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18952
18953         * doc/install.texi: Various spelling and markup fixes.
18954         (Installing GCC): Component specific installation instructions are
18955         gone.
18956         Fix reference.
18957         Warn about removing old install dir in the presence of shared libs.
18958         (Configuration): Invoke with options target to match configure
18959         --help.
18960         Consistently refer to gas, gld pathnames.
18961         Invert --enable-multilib documentation.
18962         Remove references to old compiler versions.
18963
18964 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18965
18966         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
18967
18968 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18969
18970         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
18971         section.
18972         (Specific, mips*-sgi-irix5): Note IDO download.
18973         Reworded MIPS C hints.
18974         Use GNU as instead of GAS.
18975         Markup fixes.
18976         Removed SGI Freeware reference, IRIX 6 only.
18977         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
18978         Note N64 library requirement/workaround.
18979         Update O32 hints.
18980         Complete list of structure passing bug victims.
18981
18982 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18983
18984         * doc/install.texi: Remove CVS Id.
18985
18986 2001-07-02  Andreas Jaeger  <aj@suse.de>
18987
18988         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
18989         (find_inherently_necessary): Remove unused variable.
18990
18991 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
18992
18993         * c-common.h (TDI_inlined): New ast dump phase.
18994         (dump_flag_name): New function.
18995         * c-dump.c (dump_files): Add inlined phase.
18996         (dump_flag_name): Define.
18997         * doc/invoke.texi (-fdump-ast-inlined): Document.
18998
18999 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19000
19001         * stor-layout.c (layout_decl): Revert change to handling of alignment
19002         in packed types.
19003
19004 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19005
19006         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
19007         for FIELD_DECL.
19008
19009 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
19010
19011         * doc/tm.texi (FUNCTION_ARG): Document that the last call
19012         is special.
19013
19014 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
19015
19016         * tlink.c (recompile_files): Remove COMPILER_PATH and
19017         LIBRARY_PATH from the environment.
19018
19019 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
19020
19021         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
19022         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
19023         enumerators.
19024         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
19025
19026         * c-parse.in (OBJC_STRING): Kill.
19027         (objc_string): Decompose to [objc_string] '@' STRING.
19028         (reswords): Take the leading '@' off all the Objective C keywords.
19029         (objc_rid_sans_at): Kill.
19030         (init_reswords): Don't initialize it.
19031         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
19032         (_yylex): Kill reconsider label.  Look ahead one token after
19033         an '@'; if we get an identifier, check whether it's an
19034         Objective C @-keyword.  If so, return the keyword.  Otherwise,
19035         put back the token and return the '@' as a terminal.
19036
19037         * cpplib.c (lex_macro_node): Remove unnecessary check for
19038         leading '@' on identifier.  Clarify control flow and commentary.
19039
19040 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
19041
19042         * cse.c (new_label_ref): Variable deleted.
19043         (insert): Remove set of new_label_ref.
19044         (check_for_label_ref): New function.
19045         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
19046
19047 See ChangeLog.5 for earlier changes.