OSDN Git Service

* c-typeck.c (c_start_case): Don't strip conversions from the
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * c-typeck.c (c_start_case): Don't strip conversions from the
4         controlling expression.  Partially fixes PR c/2454.
5
6 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7
8         * Makefile.in (USER_H): Remove proto.h.
9         * config.gcc (c*-convex-*): Set extra_headers=proto.h.
10
11 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12
13         * arc.c (arc_hard_regno_mode_ok): Const-ify.
14         * arc.h (arc_hard_regno_mode_ok): Likewise.
15         * i386.c (x86_64_reg_class_name): Make static.
16         * m68k.c (regno_reg_class): Const-ify.
17         * m68k.h (regno_reg_class): Likewise.
18         * mcore.c (reg_class_from_letter): Likewise.
19         * mcore.h (reg_class_from_letter): Likewise.
20         * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
21         ext_shift_insns, ext_shift_amounts): Likewise.
22         * sh.h (reg_class_from_letter): Likewise.
23         * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
24         hard_64bit_mode_classes): Likewise.
25         * sparc.h (hard_regno_mode_classes): Likewise.
26
27         * gcc.c (modify_target): Make static.
28         * gengenrtl.c (defs, formats): Likewise.
29         * reload1.c (elim_table_1, init_elim_table): Const-ify.
30         * tradcpp.c (directive, directive_table, handle_directive,
31         skip_if_group, run_directive): Likewise.
32
33 2001-12-23  Richard Henderson  <rth@redhat.com>
34
35         * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
36         an invalid result register; do end the sequence properly.
37         (emit_library_call_value_1): Likewise.
38
39 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
40
41         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
42
43         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
44
45         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
46         (altivec_init_builtins): Add tree types for builtins with 4 bit
47         literals.
48         (bdesc_3arg): Add vsldoi variants.
49
50 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
51
52         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
53         * a29k.h (a29k_debug_reg_map): Likewise.
54         * arc.h (arc_regno_reg_class): Likewise.
55         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
56         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
57         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
58         * i386.h (regclass_map): Likewise.
59         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
60         * mcore.h (regno_reg_class): Likewise.
61         * mips.h (mips_print_operand_punct, mips_char_to_class):
62         Likewise.
63         * ns32k.h (regclass_map): Likewise.
64         * pj.h (pj_debugreg_renumber_vec): Likewise.
65         * s390.h (regclass_map): Likewise.
66         * sh.h (regno_reg_class): Likewise.
67         * sparc.h (sparc_regno_reg_class): Likewise.
68
69         * hard-reg-set.h (reg_class_contents): Likewise.
70         * machmode.h (class_narrowest_mode): Likewise.
71
72 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
73
74         * loop.c (scan_loop, move_movables, count_one_set): Do not
75         overlook hard registers when computing statistics.
76
77 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
78
79         * calls.c (ECF_LIBCALL_BLOCK): New constant.
80         (emit_call_1, initialize_argument_information,
81         precompute_arguments, expand_call,
82         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
83         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
84
85 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
86
87         * config.gcc (extra_headers): Move settings to math-68881.h and
88         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
89         m68k targets.
90         (header_files): Remove unused setting.
91
92 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
93
94         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
95         `call_used_regs' explicitly.
96         * i860.c: Likewise.
97         * m68k.c: Likewise.
98         * ns32k.c: Likewise.
99         * pa.c: Likewise.
100         * vax.c: Likewise.
101         * we32k.c: Likewise.
102
103 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
104
105         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
106         (TARGET_CPU_DEFAULT_*): Renumber.
107
108 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
109
110         * rtl.h (subreg_lsb): Declare.
111         * rtlanal.c (subreg_lsb): Implement.
112
113 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
114
115         * predict.c: Reformatting and minor cleanups.
116         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
117
118         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
119         SAVE_EXPR.
120         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
121         (put_addressof_into_stack): Clarify code in setting of used_p.
122
123         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
124         (expand_call): Delete from here.
125         Do pending stack adjustments if ECF_SP_DEPRESSED.
126
127         * dwarf2out.c (save_rtx): Deleted.
128         (mem_loc_descriptor): Do equivalent operation.
129         (add_const_value_attribute, case CONST): Likewise.
130         (add_name_and_src_coords_attributes): Likewise.
131
132 2001-12-21  Kazu Hirata  <kazu@hxi.com>
133
134         * config/h8300/h8300.h: Fix comment formatting.
135
136 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
137
138         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
139         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
140
141 2001-12-21  Robert Lipe  <robertlipe@usa.net>
142
143          * system.h (PREFETCH): Explictly undefine.
144
145 2001-12-21  Richard Henderson  <rth@redhat.com>
146
147         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
148         (RESTORE_WARN_FLAGS): Restore it.
149         (extension): Zero warn_traditional.
150
151 2001-12-21  Kazu Hirata  <kazu@hxi.com>
152
153         * doc/passes.texi: Fix a typo.
154
155 2001-12-21  Kazu Hirata  <kazu@hxi.com>
156
157         * config/h8300/h8300.h: Fix a comment typo.
158
159 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
160
161         * combine.c (nonzero_bits): If using reg_nonzero_bits,
162         we don't know anything about bits outside of X mode.
163         (num_sign_bit_copies): Likewise.
164
165 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
166
167         * config/arm/arm.md (prefetch): Use 'a' operand code.
168
169 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
170
171         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
172         subshells.
173         * configure.in: Likewise for perl Pod::Man.
174
175         * configure: Regenerated.
176
177 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
178
179         * builtin-attrs.def (__builtin_printf_unlocked,
180         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
181         Mark with the __printf__ attribute.
182         
183         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
184         and set the replacement function depending on it.
185         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
186         Handle BUILT_IN_*_UNLOCKED when optimizing.
187         
188         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
189         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
190         Declare the "unlocked" stdio functions.
191         
192         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
193         Add an `unlocked' parameter and set the replacement function
194         depending on it.
195         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
196         BUILT_IN_FPRINTF_UNLOCKED.
197
198         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
199         fputs_unlocked): Document.
200
201 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
202
203         * cfgloop.c (flow_loops_find): Use the information of the depth
204         first search order of the CFG correctly when finding natural loops.
205
206 2001-12-20  Richard Henderson  <rth@redhat.com>
207
208         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
209
210 2001-12-20  Richard Henderson  <rth@redhat.com>
211
212         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
213         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
214         operand into $27.
215
216 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
217
218         * configure.in (all_headers, all_lib2funcs): Remove.
219         * configure: Regenerate.
220         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
221         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
222         * config/alpha/t-interix (USER_H): Don't include
223         $(LANG_EXTRA_HEADERS).
224         * config/i386/t-interix: Likewise.
225         * config/t-openbsd: Likewise.
226
227 2001-12-20  Andreas Jaeger  <aj@suse.de>
228
229         * libgcc2.c (__bb_exit_func): Remove unused variable.
230         (num_digits): Remove unused function.
231
232 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
233
234         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
235         to use ldmfd instead of ldmea.
236         * config/arm/arm.c (arm_compute_initial_elimination_offset):
237         Modified to reflect behavior of arm_expand_prologue when generating
238         interrupt handlers
239
240 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
241
242         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
243         function. Compute which of registers r0 through r12 should be
244         saved onto the stack during a function's prologue.
245         (arm_compute_save_reg_mask): Use
246         arm_compute_save_reg0_reg12_mask.
247         (arm_compute_initial_elimination_offset): Use
248         arm_compute_save_reg0_reg12_mask.
249
250         (arm_expand_prologue): Do not mark as save of the IP register
251         for an interrupt handler as being part of the frame creation
252         code.
253
254 2001-12-20  Richard Henderson  <rth@redhat.com>
255
256         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
257         to emit floating point values.
258         (assemble_real_1): Remove.
259
260         * 1750a/1750a.c (real_value_to_target_single): New.
261         (real_value_to_target_double): New.
262         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
263         (REAL_VALUE_TO_TARGET_SINGLE): New.
264         (REAL_VALUE_TO_TARGET_DOUBLE): New.
265         * 1750a/1750a-protos.h: Update.
266
267         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
268         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
269         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
270         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
271         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
272         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
273         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
274         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
275         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
276         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
277         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
278         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
279         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
280         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
281         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
282         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
283         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
284         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
285         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
286         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
287         associated support routines.
288
289 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
290
291         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
292         if one of block does not contain jump.
293         (outgoing_edge_math): Revert last path; require edges to be noncomplex
294         nonfake to match single exit edge; require conditional jumps to not
295         have side effect.
296
297 2001-12-20  Turly O'Connor  <turly@apple.com>
298
299         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
300         "recog_operand" to "recog_data.operand".
301         * rtl.def: Likewise.
302
303 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
304
305         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
306         narrower mode than op0, only return the bits in DIV's mode.
307
308 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
309
310         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
311         to JUMP_INSNs with JUMP_LABEL.
312
313 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
314
315         * doc/install.texi: Add documentation for --enable-altivec.
316
317         * config.gcc: Add support for --enable-altivec.
318
319         * config/rs6000/altivec.h: New.
320
321         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
322         Define.  Fix typo.
323
324         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
325         unspec_volatile.
326         (generate_set_vrsave): Generate the unspec here instead of calling
327         an .md pattern.
328         (generate_set_vrsave): Use gen_rtvec.
329         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
330         gen_rtx_SET.
331
332         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
333         for setting special registers.
334         ("*set_vrsave_internal"): Use unspec_volatile.
335         ("set_vrsave"): Remove.
336         ("get_vrsave"): Remove.
337
338         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
339         SPECIAL_REGS.
340
341 2001-12-19  Bruce Korb  <bkorb@gnu.org>
342
343         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
344         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
345         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
346         * gcc/fixinc/base/...: adjust for changes in fixes
347
348 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
349
350         * po/gcc.pot: Regenerate.
351
352         * configure.in (all_diff_excludes, diff_excludes): Remove.
353         * configure: Regenerate.
354         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
355         * objc/config-lang.in (diff_excludes): Remove.
356
357 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
358
359         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
360         the destination register as a parameter to mems_ok_for_ldd_peep.
361         For store peepholes pass NULL_RTX.  Move all volatile checks ...
362         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
363         register parameter, check it's not the same as base for an address.
364         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
365
366 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
367
368         * config/ia64/ia64.c (ia64_single_set): Return first set for
369         prologue_allocate_stack and epilogue_deallocate_stack instructions.
370
371 2001-12-19  Dale Johannesen  <dalej@apple.com>
372
373          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
374          redefine in terms of rs6000_legitimize_reload_address().
375          * config/rs6000/rs6000-protos.h: Add this function.
376          * config/rs6000/rs6000.c: Add this function.  Includes
377          handling for Darwin FP constants.
378
379 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
380
381         * config/pa/t-hpux-shlib: New file.
382         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
383         for 32bit hpux10 & hpux11 configurations.
384
385 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
386
387         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
388         -mno-fpu onto gas unless -mhard-float is specified.
389         (MULTILIB_DEFAULTS): Include msoft-float.
390
391         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
392
393         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
394         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
395
396 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
397
398         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
399         descriptor output.
400
401 2001-12-18  Stan Shebs  <shebs@apple.com>
402
403         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
404
405 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
406
407         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
408         on an INTEGER_CST.
409
410 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
411
412         * rs6000.c (rs6000_override_options): Only use DI ops when
413         TARGET_64BIT.  Fix typo.
414
415 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
416
417         * att.h (ASM_FILE_START): Use asm_dialect.
418         * linux.h (ASM_FILE_START): Likewise.
419         * gas.h (ASM_FILE_START): Likewise.
420         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
421         ix86_asm_string, ix86_asm_dialect): New.
422         (override_options): Set asm_dialect.
423         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
424         MASK_DEBUG_ADDR): Kill.
425         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
426         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
427         (ASSEMBLER_DIALECT): Use asm_dialect.
428         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
429         remove debug-addr and debug-arg.
430         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
431         (asm_dialect): New enum.
432         (ix86_debug_arg_string, ix86_debug_addr_string,
433         ix86_asm_string, ix86_asm_dialect): Declare.
434         * invoke.texi (-mintel-syntax): Remove.
435         (-masm): Document.
436
437 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
438
439         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
440
441 2001-12-18  Jason Merrill  <jason@redhat.com>
442
443         C++ ABI change: destroy value arguments in caller.
444         * calls.c (initialize_argument_information): Pass the address of
445         the TARGET_EXPR temporary rather than storing it into another.
446
447 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
448
449         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
450         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
451
452 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
453
454         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
455         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
456         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
457         (CC1_SPEC): Don't default to -gstabs+ if -m32.
458
459 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
460
461         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
462
463 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
464
465         * po/gcc.pot: Regenerate.
466
467 2001-12-18  Kazu Hirata  <kazu@hxi.com>
468
469         * config/h8300/h8300.c: Fix comment typos.
470         * config/h8300/h8300.h: Fix comment formatting.
471
472 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
473
474         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
475         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
476         declaration to NUM_MACHINE_MODES.
477         (mode_size, mode_unit_size): Set array type to unsigned char.
478         (mode_bitsize): Set array type to unsigned short.
479
480         * rtl.c (rtx_length): Set array type to unsigned char.
481         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
482         NUM_RTX_CODE.
483         (mode_bitsize): Set array type to unsigned short.
484         (mode_size, mode_unit_size): Set array type to unsigned char.
485         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
486         mode_wider_mode, mode_mask_array): Set array size to
487         NUM_MACHINE_MODES.
488
489         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
490         size in declaration to NUM_RTX_CODE.
491
492 2001-12-17  Richard Henderson  <rth@redhat.com>
493
494         * config/alpha/alpha.md (unop): Encode RB as $sp.
495
496 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
497
498         * Makefile.in: Update dependencies.
499         * c-lang.c: Remove unnecessary includes.
500         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
501         c-objc-common.c.
502         (finish_file): Move body to c_common_finish_file.
503         * c-objc-common.c: Include varray.h and ggc.h.
504         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
505         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
506         (c_objc_common_init): Initialize deferred function array.
507         * c-tree.h (c_objc_common_finish_file,
508         static_ctors, static_dtors): New.
509 objc:
510         * Make-lang.in: Update dependencies.
511         * objc/objc-act.c: Don't include varray.h.
512         (defer_fn, deferred_fns): Move to c-objc-common.c.
513         (objc_init): Similarly for initialization of it.
514         (finish_file): Move some to c-objc-common.c, use
515         c_objc_common_finish_file.
516
517 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
518
519         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
520
521 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
522
523         * doc/cppinternals.texi: Update.
524
525 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
526
527         * expmed.c (emit_store_flag): Extract updated comparison code
528         from the return value of compare_from_rtx.
529         * expr.c (do_store_flag): Similarly.
530
531 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
532
533         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
534         preference to BASE_REG_CLASS.
535         * recog.c (preprocess_constraints): Ditto.
536         * regclass.c (record_operand_costs, scan_one_insn, regclass,
537         record_reg_classes, record_address_regs): Ditto.
538         * regrename.c (scan_rtx_address, scan_rtx,
539         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
540         * reload.c (find_reloads, find_reloads_address,
541         find_reloads_address_1): Ditto.
542         * reload1.c (maybe_fix_stack_asms): Ditto.
543         * defaults.h (MODE_BASE_REG_CLASS): Provide default
544         definition.
545         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
546
547         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
548
549 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
550
551         * doc/install.texi2html: Use -I $SOURCEDIR.
552
553         Separate user and internals manuals.
554         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
555         dependencies.
556         ($(docdir)/gccint.info, gccint.dvi): New targets.
557         (maintainer-clean, install-info, uninstall): Update.
558         * doc/.cvsignore: Add gccint.info*.
559         * doc/include/gcc-common.texi: New file.
560         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
561         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
562         is defined.
563         * doc/gccint.texi: New file.
564         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
565         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
566         Update for separate user and internals manuals.
567
568 2001-12-17  Dale Johannesen  <dalej@apple.com>
569
570          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
571          ASM_CPU_SPEC: Ditto.
572          RTX_COSTS: Fix timing info for 7450 multiply.
573          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
574          Allow floats to be kept in int regs in movsf_low,
575          movsf_low_st (Darwin only)
576
577 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
578
579         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
580         parallel.
581         (is_gpr_return_reg): New.
582         (rs6000_emit_prologue): Call generate_set_vrsave with additional
583         argument.  Save only registers in the mask.  Attach
584         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
585         rs6000_frame_related when saving VRSAVE.
586         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
587         argument.  Restore only registers in the mask.  Restore altivec
588         registers after we restore CR.
589         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
590         sets instead of clobbers for call saved registers.
591         (altivec_frame_fixup): New.
592
593 2001-12-17  Richard Henderson  <rth@redhat.com>
594
595         * config/sparc/sparc.md (movdi_zero): Remove.
596         (movdi_insn_sp32_v9): New.
597
598 2001-12-17  Richard Henderson  <rth@redhat.com>
599
600         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
601         a single outgoing edge too.
602
603 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
604
605         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
606         edges resulting from computed jump
607
608 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
609
610         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
611         * basic-block.h (CLEANUP_THREADING): New constant.
612         * cfgcleanup.c: Include cselib.h
613         (thread_jump, mark_effect): New functions.
614         (try_forward_edges): Do jump threading when asked for.
615         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
616         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
617         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
618         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
619         CLEANUP_THREAD instead.
620
621 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
622
623         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
624
625 2001-12-17  Tom Rix  <trix@redhat.com>
626
627         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
628         of bytes.
629
630 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
631
632         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
633         asm_out.integer): New fields.
634         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
635         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
636         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
637         the individual initialisers together.
638         (TARGET_ASM_OUT): Add the new initialisers.
639         * output.h (assemble_integer): Return bool.
640         (integer_asm_op): Declare.
641         (default_assemble_integer): Declare.
642         (assemble_aligned_integer): New interface to assemble_integer.
643         * varasm.c (integer_asm_op): New function to select pseudo-op.
644         (default_assemble_integer): Default implementation of asm_out.integer.
645         (assemble_integer): Use the new target hook.  Split objects into
646         words or bytes if the target hook fails.  Return bool.
647         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
648         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
649         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
650         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
651         Document new target hooks.
652
653         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
654         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
655         (dw2_assemble_integer): New.
656         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
657         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
658         dw2_asm_output_encoded_addr_rtx): Use it.
659         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
660         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
661         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
662         if it returns NULL.
663         * dwarf2asm.h (dw2_assemble_integer): Declare.
664         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
665         default implementation of most macros.
666         (output_unsigned_leb128): Use dw2_asm_output_data.
667         (output_signed_leb128, dwarfout_source_line): Likewise.
668         (output_reg_number): Use dw2_assemble_integer.
669         (generate_macinfo_entry): Separate the type and offset arguments.
670         Use assemble_integer to write the value.
671         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
672         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
673         * final.c (output_addr_const): Don't put brackets round a subtracted
674         symbol value or ".".
675         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
676
677         * config/1750a/1750a.c (assemble_integer_1750a): New,
678         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
679         * config/arc/arc.c (arc_assemble_integer): New.
680         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
681         * config/arm/arm.c (arm_poke_function_name): Likewise.
682         (arm_assemble_integer): New, extracted from...
683         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
684         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
685         (ARM_FUNCTION_PROFILER): Likewise.
686         * config/avr/avr-protos.h (asm_output_byte): Remove.
687         (asm_output_char, asm_output_short): Remove.
688         * config/avr/avr.c (avr_assemble_integer): New.
689         (asm_output_byte, asm_output_char, asm_output_short): Remove.
690         * config/clipper/clipper.h (ASM_LONG): Remove.
691         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
692         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
693         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
694         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
695         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
696         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
697         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
698         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
699         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
700         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
701         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
702         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
703         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
704         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
705         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
706         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
707         (ASM_SHORT, ASM_LONG): Undefine.
708         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
709         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
710         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
711         * config/ia64/ia64.c (ia64_assemble_integer): New.
712         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
713         (ASM_OUTPUT_DWARF_PCREL): Likewise.
714         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
715         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
716         (ASM_SHORT, ASM_LONG): Remove.
717         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
718         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
719         macros, the allowed values for INT_OP_GROUP.
720         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
721         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
722         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
723         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
724         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
725         * config/m68k/dpx2.h (ASM_LONG): Undefine.
726         (INT_OP_GROUP): Define to INT_OP_DC.
727         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
728         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
729         * config/m68k/lynx.h (ASM_LONG): Undefine.
730         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
731         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
732         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
733         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
734         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
735         for GAS and INT_OP_NO_DOT otherwise.
736         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
737         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
738         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
739         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
740         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
741         (INT_OP_GROUP): Define to INT_OP_STANDARD.
742         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
743         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
744         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
745         * config/m68k/tower-as.h (ASM_LONG): Remove.
746         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
747         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
748         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
749         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
750         * config/mips/iris5.h (TARGET_IRIX5): Define.
751         * config/mips/mips.c (mips_assemble_integer): New.
752         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
753         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
754         * config/mmix/mmix.c (mmix_assemble_integer): New.
755         (mmix_asm_output_double_int): Remove.
756         (mmix_print_operand): Call mmix_output_octa directly.
757         * config/mmix/mmix.h (ASM_LONG): Remove.
758         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
759         * config/pa/pa.c (pa_assemble_integer): New.
760         (pa_override_options): Only use aligned DI ops on 64-bit targets.
761         Only use the unaligned ops if TARGET_GAS.
762         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
763         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
764         * config/pj/pj.h (ASM_LONG): Undefine.
765         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
766         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
767         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
768         and in_toc_section() rather than the in_section variable.
769         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
770         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
771         (RELOCATABLE_NEEDS_FIXUP): Define.
772         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
773         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
774         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
775         to get the word directive.
776         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
777         * config/s390/s390.c (s390_assemble_integer): New.
778         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
779         integer_asm_op to get the word directive.
780         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
781         * config/sparc/sparc-protos.h (output_double_int): Remove.
782         * config/sparc/sparc.c (output_double_int): Move to...
783         (sparc_assemble_integer): ...this new function.
784         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
785         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
786         * config/sparc/sysv4.h (ASM_LONG): Remove.
787         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
788         ASM_LONG.
789         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
790         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
791
792         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
793         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
794         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
795         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
796         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
797         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
798         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
799         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
800         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
801         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
802         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
803         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
804         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
805         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
806         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
807         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
808         appropriate.
809
810         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
811         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
812         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
813         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
814         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
815         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
816         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
817         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
818         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
819         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
820         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
821         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
822         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
823         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
824         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
825         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
826         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
827         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
828         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
829         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
830         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
831         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
832         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
833         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
834         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
835         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
836
837 2001-12-17  Stan Shebs  <shebs@apple.com>
838
839         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
840         (STACK_BOUNDARY): Remove definition.
841         (CPP_PREDEFINES): Define __POWERPC__.
842
843 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
844
845         * doc/c-tree.texi (Trees): Only refer to GCC.
846
847 2001-12-17  Andreas Jaeger  <aj@suse.de>
848
849         * c-common.def: Fix typo in comment.
850
851 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
852
853         * config.gcc (sparc64-*-freebsd*): Add target.
854         * config/sparc/freebsd.h: New file.
855         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
856         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
857         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
858
859 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
860
861         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
862         PLUS operands into registers for altivec mode.
863
864 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
865
866         * builtins.c (apply_args_size): Change regno to unsigned.
867
868 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
869
870         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
871         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
872
873 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
874
875         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
876         gettext on argument before printing.
877
878         * fold-const.c (negate_expr): Always call fold on new
879         NEGATE_EXPR.
880
881 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
882
883         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
884         a DECL directly.
885         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
886         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
887         * c-decl.c (build_compound_literal): Put the decl inside a
888         DECL_STMT.
889         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
890         Fixes PR c/5105.
891
892 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
893
894         * config.gcc: Add powerpc-*-eabisimaltivec*.
895
896 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
897
898         * c-common.c, c-common.h (back_end_hook): Remove.
899         * c-lang.c (finish_file): Remove back_end_hook.
900
901 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
902
903         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
904         last change.
905
906 2001-12-16  Richard Henderson  <rth@redhat.com>
907
908         * toplev.c (parse_options_and_default_flags): Don't enable
909         flag_cprop_registers at -O1.
910
911 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
912
913         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
914         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
915         * avr.h (reg_class): Likewise.
916         * avr.md: Likewise.
917         * mcore.c (try_constant_tricks, mcore_byte_offset,
918         mcore_halfword_offset): Likewise.
919         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
920         * v850.c (not_power_of_two_operand): Likewise.
921
922         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
923         warnings.
924         * convex.h (ASM_OUTPUT_ASCII): Likewise.
925         * i370.h (ASM_OUTPUT_ASCII): Likewise.
926         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
927         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
928         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
929         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
930         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
931         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
932         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
933         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
934         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
935         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
936         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
937         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
938         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
939         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
940         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
941         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
942         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
943         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
944         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
945         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
946         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
947         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
948         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
949         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
950
951         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
952         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
953         * psos.h (CPP_PREDEFINES): Likewise.
954         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
955         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
956         ASM_OUTPUT_EXTERNAL): Likewise.
957         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
958         Likewise.
959         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
960         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
961         Likewise.
962         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
963
964         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
965         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
966         * fold-const.c (real_hex_to_f): Use hex_value.
967         * real.c (asctoeg): Use hex_value & ISXDIGIT.
968         * toplev.c (toplev_main): Call hex_init.
969         * tradcpp.c (main): Call hex_init.
970
971         * nextstep-protos.h: New file.
972         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
973         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
974         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
975         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
976         handle_pragma): Move prototypes to nextstep-protos.h.
977         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
978         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
979
980 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
981
982         PR other/3725
983         * configure.in: Add AC_SUBST(target_alias).
984         * configure: Regenerated.
985
986 2001-12-15  Richard Henderson  <rth@redhat.com>
987
988         * config/alpha/alpha.md (sibcall_osf_1_er): New.
989         (sibcall_value_osf_1_er): New.
990
991 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
992
993         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
994         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
995         addrs; eliminate restriction of only using fp and sp as base
996         registers.
997         * config/sparc/sparc-protos.h: Update.
998         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
999         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1000         from old define_peepholes.
1001         Convert all the ldd/std peepholes to peephole2.
1002
1003 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1004
1005         * s390.md (prologue, epilogue, *return_si, *return_di): New.
1006         s390.c (find_unused_clobbered_reg, s390_frame_info,
1007         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1008         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1009         s390.c (s390_arg_frame_offset): Use s390_frame_info.
1010         (leaf_function_flag, cur_is_leaf_function,
1011         save_fprs, restore_fprs, force_const_mem_late): Remove.
1012         (s390_function_prologue, s390_function_epilogue): Mostly remove.
1013         s390.md (lit): New.  Uses ...
1014         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1015         s390-protos.h (s390_output_constant_pool): Declare.
1016         s390.md (load_multiple, store_multiple): Allow use after reload.
1017         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1018         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1019         s390.h (CALL_REALLY_USED_REGISTERS): Define.
1020         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1021         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1022         s390.c (s390_sr_alias_set): New global variable, initialized ...
1023         (override_options): ... here.  New.
1024         s390-protos.h (override_options): Declare.
1025         s390.h (OVERRIDE_OPTIONS): Call it.
1026         s390.c (s390_function_profiler): New.
1027         s390-protos.h (s390_function_profiler): Declare.
1028         s390.h (FUNCTION_PROFILER): Call it.
1029         s390.c (s390_profile): Remove.
1030
1031         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1032         (addr_generation_dependency_p): Consider literal pool register loads.
1033         (s390_adjust_priority): Do not schedule load_multiple.
1034         s390.md (attribute "type"): Define some additional types.
1035         (function_unit "integer"): Adapt.
1036         (many insns): Adapt "type" attribute setting.
1037
1038         * s390.c (general_s_operand, s_imm_operand): New.
1039         (s_operand): Remove old definition, call general_s_operand instead.
1040         s390-protos.h (s_imm_operand): Declare.
1041         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1042         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1043         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1044         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1045         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1046         s390.md (many insns): Rework insn predicates.
1047
1048         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1049         non-symbolic constants.  Reload will force them because of ...
1050         (s390_preferred_reload_class): ... this.  New.
1051         s390-protos.h (s390_preferred_reload_class): Declare.
1052         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1053         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1054         *reload_la_31 splitters): Handle constants after reload.
1055         (many insns): no longer force all constants immediately.
1056         s390.c (legitimate_reload_constant_p): New helper routine.
1057         s390-protos.h (legitimate_reload_constant_p): Declare.
1058         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1059
1060         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1061         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1062         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1063         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1064         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1065         (DWARF_FRAME_REGISTERS): Define.
1066         s390.c (regclass_map): Add virtual frame pointer.
1067         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1068         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1069         (addaddr, addsi_64): Delete.
1070
1071         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1072         floating point registers.
1073         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1074         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1075         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1076
1077         * s390.md (movti): Replace multi-insn output with splitters.
1078         (movdi_31, movdf_31): Likewise.
1079         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1080         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1081         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1082         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1083         (movsf_64, movsf_31): Remove, replace by ...
1084         (movsf): ... this.
1085         (movqi_64): Use lhi instead of llill.
1086         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1087
1088         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1089         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1090         extendqihi2 and associated splitters): Reworked.
1091         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1092         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1093         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1094         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1095         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1096         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1097         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1098         and associated splitters): Likewise.
1099         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1100         and associated splitters): New.
1101         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1102         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1103         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1104         s390.h (PROMOTE_PROTOTYPES): Remove.
1105         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1106
1107         * s390.md (muldi3): Delete, use instead ...
1108         (mulsidi3): ... this.
1109         (*muldi3_64): Rename to muldi3.
1110         (mulsi_6432): Fix template.
1111         (divdi3, moddi3): Delete, replace by ...
1112         (divmoddi4): ... this.
1113         (divmodtidi3): Fix template.
1114         (divmodtisi3): New.
1115         (udivdi3, umoddi3): Delete, replace by ...
1116         (udivmoddi4): ... this.
1117         (udivmodtidi3): Fix template.
1118         (divsi3, modsi3): Delete, replace by ...
1119         (divmodsi4): ... this.
1120         (divmoddisi3): Fix template.
1121         (udivsi3, umodsi3): Adapt.
1122
1123         * s390.md (anddi3): Remove SS alternative, use instead ...
1124         (anddi3_ss, anddi3_ss_inv): ... these.
1125         (anddi3_ni): New.
1126         (andsi3*, andhi3*, andqi3*): Likewise.
1127         (iordi3): Remove SS alternative, use instead ...
1128         (iordi3_ss, iordi3_ss_inv): ... these.
1129         (iordi3_oi): New.
1130         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1131         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1132         (xordi3): Remove SS alternative, use instead ...
1133         (xordi3_ss, xordi3_ss_inv): ... these.
1134         (xordi3_oi): New.
1135         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1136         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1137         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1138         Expand to XOR with -1.
1139         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1140         (cmpdi_tm): Delete, replace by ...
1141         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1142         (cmpsi_cct): Delete, replace by ...
1143         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1144         (cmpdi_tm2, cmpsi_tm2): Improve.
1145         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1146         s390.c (s390_single_hi, s390_extract_hi,
1147         s390_single_qi, s390_extract_qi): New helper routines.
1148         s390-protos.h (s390_single_hi, s390_extract_hi,
1149         s390_single_qi, s390_extract_qi): Declare.
1150         s390.c (tmxx_operand, const1_operand): Remove.
1151         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1152         s390.h (PREDICATE_CODES): Likewise.
1153
1154         * s390.md (sqrtdf2, sqrtsf2): New.
1155
1156         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1157         (check_and_change_labels): Remove section-change special case.
1158
1159         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1160         in leaf functions.  Needs ...
1161         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1162
1163         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1164
1165         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1166         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1167         input operands using a match_dup clause.
1168         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1169
1170         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1171         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1172
1173         * s390.md (floatsidf2_ibm): Use correct operand.
1174
1175         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1176         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1177         non-portable constants.
1178         s390.c (s390_gen_rtx_const_DI): New helper routine.
1179         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1180
1181         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1182
1183         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1184         ASM_OUTPUT_BYTE): Clean up assembly output.
1185         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1186         (ASM_OUTPUT_ASCII): Remove.
1187
1188         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1189
1190 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1191
1192         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1193         before including unwind-dw2-fde.c, if we are not using the
1194         special code in this file.
1195
1196 2001-12-15  Richard Henderson  <rth@redhat.com>
1197
1198         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1199         MASK_EXPLICIT_RELOCS if the assembler supports it.
1200         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1201         * configure, config.in: Rebuild.
1202
1203 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1204
1205         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1206         for rounded_stack_size.
1207
1208 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1209
1210         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1211         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1212         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1213         "bit-field" spellings in messages.
1214         * po/gcc.pot: Regenerate.
1215
1216 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1217
1218         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1219         American spelling in messages.
1220         * po/gcc.pot: Regenerate.
1221
1222 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1223
1224         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1225         constraints from expanders.  Replace \@ with @.
1226
1227 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1228
1229         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1230
1231 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1232
1233         * regrename.c (copyprop_hardreg_forward): Do not keep register
1234         value data live across abnormal call or eh egdes.
1235
1236 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1237
1238         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1239         BIGGEST_ALIGNMENT for 0.
1240
1241 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1242
1243         * predict.def (PRED_NORETURN): Make probabilities match reality.
1244         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1245         Likewise.
1246
1247 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1248
1249         * configure.in: Check for ld.
1250         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1251         * configure, config.in: Rebuilt.
1252         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1253         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1254         frame unwinding on Linux.
1255         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1256         frame unwinding.
1257         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1258         (LINK_EH_SPEC): Define.
1259         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1260         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1261         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1262         iterate further if pc falls into current library, but fde was not
1263         found.
1264         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1265         if using glibc.
1266         (LINK_EH_SPEC): Define.
1267         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1268         Use crtbeginT.o for -static.
1269         (LINK_EH_SPEC): Define.
1270         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1271         * Makefile.in (crtbeginT.o): Add rule.
1272         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1273         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1274         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1275         If none of the above switches are passed, use -lgcc -lgcc_eh.
1276         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1277         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1278         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1279         * unwind-dw2-fde.c: Don't include any headers if this file
1280         is included from other .c file.
1281         * unwind-dw2-fde-glibc.c: New file.
1282         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1283         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1284
1285 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1286
1287         * builtins.c (expand_builtin_memcmp): Mark parameter with
1288         ATTRIBUTE_UNUSED.
1289         * cfgcleanup.c (insns_match_p): Likewise.
1290         * regrename.c (mode_change_ok): Likewise.
1291         * gcc.c (execute): Const-ify.
1292
1293 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
1294
1295         * c-parse.in (typename): Do not split attributes.
1296         Remove unsupported attributes warning.
1297
1298         * c-decl.c (groktypename): Apply attributes.
1299
1300 2001-12-14  Richard Henderson  <rth@redhat.com>
1301
1302         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
1303         initialization as possibly dead.
1304
1305 2001-12-14  Richard Henderson  <rth@redhat.com>
1306
1307         * regrename.c (mode_change_ok): New.
1308         (find_oldest_value_reg): Use it.
1309
1310 2001-12-14  Richard Henderson  <rth@redhat.com>
1311
1312         * regrename.c (struct value_data): Add max_value_regs.
1313         (init_value_data): Initialize it.
1314         (kill_value): Kill values that overlap the dying register.
1315         (set_value_regno): New.
1316         (kill_set_value, kill_autoinc_value, copy_value): Use it.
1317         (copyprop_hardreg_forward_1): Kill earlyclobber operands
1318         before looking at inputs.
1319
1320 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
1321
1322         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
1323         DECL_WEAK for function descriptors.
1324         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
1325         weak support present.
1326         (ASM_WEAKEN_LABEL): Same.
1327
1328 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1329
1330         * config/h8300/h8300.md (anonymous pattern): Add a missing
1331         mode.
1332
1333 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1334
1335         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
1336         comment typo.
1337
1338 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1339
1340         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
1341         Remove the initialization requierment.
1342         (h8300_handle_tiny_data_attribute): Likewise.
1343
1344 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1345
1346         * config/h8300/h8300.md (udivqi3): Remove.
1347         (divqi3): Likewise.
1348         (udivhi3): Likewise.
1349         (divhi3): Likewise.
1350         (umodqi3): Likewise.
1351         (modqi3): Likewise.
1352         (umodhi3): Likewise.
1353         (modhi3): Likewise.
1354         (udivmodqi3): New.
1355         (divmodqi3): Likewise.
1356         (udivmodhi3): Likewise.
1357         (divmodhi3): Likewise.
1358
1359 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1360
1361         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
1362         by active_insn_p; count conditional jump as instruction.
1363
1364 2001-12-14  DJ Delorie  <dj@redhat.com>
1365             Danny Smith  <dannysmith@users.sourceforge.net>
1366
1367         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
1368         at SYM_NAME[0] or SYM_NAME[3].
1369         (STRIP_NAME_ENCODING): Don't check for leading '*'.
1370
1371 2001-12-14  Ira Ruben   <ira@apple.com>
1372
1373         Add -### option (displays driver-generated commands without
1374         executing and quotes all arguments).
1375         * doc/invoke.texi: Add -###.
1376         * gcc.c (verbose_only_flag) - New flag.
1377         * (execute): If -### write quoted arguments and return.
1378         * (display_help): Print meaning of -###.
1379         * (process_command): Handle -###.
1380
1381 2001-12-14  Ira Ruben   <ira@apple.com>
1382
1383         Fix to no allow -save-temps to clobber user's source file.
1384         * gcc.c: Add static globals input_stat and input_stat_set.
1385         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
1386         set, check that user's input file is not overwritten.
1387         (set_input): Reset input_stat_set for each new file.
1388
1389 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1390
1391         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
1392
1393 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
1394
1395         * combine.c (record_dead_and_set_regs): Use
1396         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
1397
1398 2001-12-14  Roger Sayle <roger@eyesopen.com>
1399
1400         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
1401         __builtin_fsqrt to __builtin_sqrt.
1402
1403         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
1404         * doc/extend.texi: Simplify documentation to match patch.
1405
1406 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1407
1408         * config.gcc: Revamp target_cpu_default2 to strings;
1409         support new x86 variants.
1410         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
1411         properly; set prefetch_sse.
1412         * i386.h (x86_prefetch_sse): Declare.
1413         (TARGET_PREFETCH_SSE): New.
1414         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
1415         (TARGET_CPU_DEFAULT_*): New.
1416
1417 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
1418                               Jan Hubicka  <jh@suse.cz>
1419
1420         * config/i386/i386.h (struct processor_costs): Add new members
1421           prefetch_block and simultaneous_prefetches.
1422           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
1423         * config/i386/i386.c (processor_costs structs): Add values for
1424           prefetch_block and simultaneous_prefetches.
1425         * config/i386/i386.md (unspec values): Remove values for prefetch
1426           operations, which now use the PREFETCH rtx code.
1427           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
1428           unified prefetch support.
1429
1430 2001-12-14  Jason Merrill  <jason@redhat.com>
1431
1432         * diagnostic.c (sorry): Increment sorrycount before saving the
1433         buffer state.
1434
1435 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1436
1437         * i386.md (sqrt?f): Fix conditionals.
1438
1439 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
1440
1441         * config.gcc (alpha64-dec-*vms*): New case.
1442         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
1443         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
1444         * config/alpha/xm-vms64.h: Likewise.
1445
1446         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
1447         (alpha_write_linkage): Test for null alpha_links.
1448         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
1449         (vms_section_type_flags, vms_asm_named_section): Handle them.
1450
1451 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1452
1453         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
1454         (override_option): Set ix86_fpmath.
1455         * i386.h (MASK_MIX_SSE_I387): Remove.
1456         (TARGET_SSE_MATH): New.
1457         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
1458         (TARGET_SWITCHES): Remove "mix-sse-i387".
1459         (fpmath_unit): New enum.
1460         (ix86_fpmath, ix86_fpmath_string): Declare.
1461         * i386.md (swapsf): Fix condition.
1462         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
1463         (fp_?f_*_nosse): New.
1464         (fp_*): Use TARGET_SSE_MATH.
1465         * invoke.texi (-mfpmath): Document.
1466         (-msse2): Add.
1467
1468 2001-12-14  Jason Merrill  <jason@redhat.com>
1469
1470         * dwarf2out.c (output_die): Print the string in the comment for
1471         a DW_FORM_strp.
1472
1473 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
1474
1475         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
1476         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
1477         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1478         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
1479
1480 2001-12-13  Richard Henderson  <rth@redhat.com>
1481
1482         * regrename.c (kill_value_regno): Simplify chain removal.
1483         (kill_value): Kill all of HARD_REGNO_NREGS.
1484         (kill_set_value): Use kill_value not kill_value_regno.
1485         (kill_autoinc_value): Likewise.
1486         (copyprop_hardreg_forward): Don't collect refresh_blocks.
1487         Call delete_noop_moves.
1488
1489 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1490
1491         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
1492         for the mode attribute.
1493         (handle_mode_attribute): Handle types, not decls.
1494
1495 2001-12-13  Jason Merrill  <jason@redhat.com>
1496
1497         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
1498
1499 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1500
1501         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
1502         constraint to base register.
1503         (eh_set_lr_si): Same.
1504
1505 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
1506
1507         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
1508         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
1509         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
1510
1511 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1512
1513         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
1514         warning and reformat comments.
1515         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
1516         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
1517         if overflow.
1518
1519 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
1520
1521         * config/rs6000/rs6000.c (rs6000_override_options): Add
1522         SUBSUBTARGET_OVERRIDE_OPTIONS.
1523
1524         * config/rs6000/eabialtivec.h: New file.
1525
1526         * config/rs6000/linuxaltivec.h: New file.
1527
1528         * config.gcc: Add powerpc-*-eabialtivec and
1529         powerpc-*-linux-gnualtivec.
1530
1531 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1532
1533         * toplev.c (process_options, parse_options_and_default_flags):
1534         Set flag_no_inline before the post_options hook.
1535
1536 2001-12-13  Richard Henderson  <rth@redhat.com>
1537
1538         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
1539         is false.
1540
1541 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1542
1543         * collect2.c (COLLECT_SHARED_INIT_FUNC)
1544         (COLLECT_SHARD_FINI_FUNC): Define default values.
1545         (write_c_file_stat): Use them to call construtor and destructor
1546         functions in shared libraries.
1547         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1548         (COLLECT_SHARD_FINI_FUNC): Document them.
1549         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
1550         (COLLECT_SHARD_FINI_FUNC): Define.
1551
1552         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
1553         shared library.  Pass -shared through to the linker.
1554         * config/arm/netbsd.h (LINK_SPEC): Likewise.
1555
1556         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
1557         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
1558         (SHLIB_INSTALL): Define.
1559
1560 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1561
1562         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
1563         the same way as we handle SYMBOL_REFS.
1564
1565 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1566
1567         * loop.c (remove_constant_addition): Fix prototype and whitespace.
1568         (emit_prefetch_instructions): Remove warnings and whitespace
1569         changes.
1570
1571 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
1572
1573         * config/alpha/vms-cc.c (preprocess_args): Fix forward
1574         declaration.
1575
1576 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1577
1578         * predict.c (estimate_probability): Reorganize opcode heuristics.
1579         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
1580         PRED_FPOPCODE): New.
1581
1582         * i386.c (override_options): Recognize various CPU variants and set
1583         SSE/MMX/3dNOW flags accordingly.
1584         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
1585         MASK_3DNOW_A_SET): New.
1586         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
1587         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
1588         (MASK_*): Renumber.
1589         (TARGET_FLAGS): Use new masks.
1590         (CPP_CPU_SPECS): Recognize new CPU variants.
1591         * invoke.texi (-mcpu): Update documentation.
1592
1593         * flags.h (flag_prefetch_loop_arrays): Declare.
1594         * loop.h (LOOP_PREFETCH): Define new constant.
1595         * loop.c (strength_reduce): Call emit_prefetch_instructions.
1596         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
1597         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
1598         constants.
1599         (check_store_data): New structure.
1600         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
1601         New functions.
1602         * toplev.c: Include insn-flags.h.
1603         (flag_prefetch_loop_arrays): New global variable.
1604         (lang_independent_option): Add -fprefetch-loop-arrays.
1605         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
1606         is set.
1607         * Makefile.in (toplev.c): Depend on insn-flags.h.
1608         * invoke.texi (-fprefetch-loop-arrays): Document.
1609
1610         * predict.c (estimate_probability): Distribute the loop exit
1611         probability according to number of exit edges.
1612
1613         * cfgcleanup.c (insns_match_p): Break out from ...;
1614         (flow_find_cross_jump): ... here;
1615         (outgoing_edges_match): Add parameter MODE; attempt to match everything
1616         except for tablejumps.
1617         (try_crossjump_to_edge): Accept complex edges.
1618         (try_crossjump_bb): Likewise.
1619
1620 2001-11-29  Corey Minyard <minyard@acm.org>
1621
1622         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
1623         instead of plus_constant.
1624         * simplify-rtx.c (neg_const_int): New.
1625         (simplify_gen_binary, simplify_plus_minus): Use it.
1626
1627 2001-12-12  Roger Sayle  <roger@eyesopen.com>
1628
1629         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
1630         expand_builtin_strcpy): Additional arguments TARGET and MODE.
1631         (expand_builtin_bzero, expand_builtin_strcpy,
1632         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
1633         TARGET and MODE parameters to the above functions.
1634         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
1635         case where the LEN parameter is constant zero.
1636         (expand_builtin_memcmp): No longer conditional on
1637         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
1638         the cases where len is either constant zero or one.
1639         Optimize to call to memcpy, even if the memcpy isn't inlined.
1640         (expand_builtin_strncpy): Optimize to call memcpy, even if the
1641         memcpy isn't inlined.
1642         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
1643         to optimize to a call to memcmp.
1644         (expand_builtin): expand_builtin_memcmp can always be called,
1645         and pass the required parameters to expand_builtin_memcmp,
1646         expand_builtin_memset, expand_builtin_memcpy and
1647         expand_builtin_strcpy.
1648
1649 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
1650
1651         * config.gcc (arm-*-freebsd*): Add target.
1652         * config/arm/freebsd.h: New file.
1653         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
1654         (CPP_SPEC): #undef before defining.
1655         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
1656         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
1657         -Amachine=arm.
1658         * config/arm/linux-elf.h: Likewise.
1659         * config/arm/netbsd.h: Likewise.
1660         * config/arm/riscix.h: Likewise.
1661         * config/arm/riscix1-1.h: Likewise.
1662         * config/arm/semiaof.h: Likewise.
1663
1664 2001-12-12  Richard Henderson  <rth@redhat.com>
1665
1666         * regrename.c (copyprop_hardreg_forward): New optimization.
1667         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
1668         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
1669         replace_oldest_value_reg, replace_oldest_value_addr,
1670         replace_oldest_value_mem, copyprop_hardreg_forward_1,
1671         debug_value_data, validate_value_data): New.
1672         * rtl.h (copyprop_hardreg_forward): Declare.
1673         * toplev.c (flag_cprop_registers): New.
1674         (f_options): Add -fcprop-registers
1675         (rest_of_compilation): Invoke it.
1676         (parse_options_and_default_flags): Set it at -O1.
1677         * doc/invoke.texi: Document it.
1678
1679 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1680
1681         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
1682         (DEBUG_RANGES_SECTION_LABEL): Define.
1683         (ranges_section_label): Add.
1684         (add_AT_range_list): New.
1685         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
1686         (output_loc_list): Location expression length is always 2-byte.
1687         (output_die): Handle dw_val_class_range_list.
1688         (gen_lexical_block_die): Call add_AT_range_list.
1689         (dwarf2out_init): Initialize ranges_section_label.
1690         (dwarf2out_finish): Emit ranges_section_label.
1691
1692 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1693
1694         * c-typeck.c (digest_init): Allow initializing
1695         static storage duration objects with compound literals.
1696         * doc/extend.texi (Compound literals): Document the extension.
1697
1698 2001-12-12  Richard Henderson  <rth@redhat.com>
1699
1700         * emit-rtl.c (adjust_address_1): Always copy address to avoid
1701         shared rtl.
1702
1703 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
1704
1705         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
1706         to avoid overflow.
1707
1708 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1709
1710         * cppfiles.c (read_include_file): Set buffer size properly when
1711         file is shorter than expected.
1712
1713 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1714
1715         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
1716         enumeral types - encode them using 'i'.
1717
1718 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1719
1720         * doc/extend.texi (Deprecated Features): Deprecate implicit
1721         typename. Document that named return and initializer lists are now
1722         removed.
1723
1724 2001-12-11  Roger Sayle <roger@eyesopen.com>
1725
1726         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
1727         compiler warning about enumeration values not being handled.
1728
1729 2001-12-11  Momchil Velikov  <velco@fadata.bg>
1730
1731         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
1732         shifts.
1733
1734 2001-12-11  Richard Henderson  <rth@redhat.com>
1735
1736         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
1737         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
1738         * config/alpha/alpha.md (prefetch): New.
1739
1740 2001-12-11  Richard Henderson  <rth@redhat.com>
1741
1742         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
1743         if C has only low bits set and doesn't intersect with X or Y.
1744
1745 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
1746
1747         * basic-block.h (flow_preorder_transversal_compute): Declare.
1748         * cfganal.c (flow_preorder_transversal_compute): Implement.
1749
1750 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
1751
1752         * cfganal.c (flow_depth_first_order_compute): Always
1753         increment dfsnum.
1754
1755 2001-11-30 Alan Matsuoka <alanm@redhat.com>
1756
1757         * combine.c (combine_simplify_rtx) : Can't simplify
1758         cases that use mode class MODE_CC.
1759
1760 2001-12-11  Richard Henderson  <rth@redhat.com>
1761
1762         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
1763         which there is no divide expander.
1764
1765 2001-12-11  Richard Henderson  <rth@redhat.com>
1766
1767         * except.c (sjlj_find_directly_reachable_regions): Don't
1768         consider RNL_BLOCKED a directly reachable region.
1769         (sjlj_assign_call_site_values): Trust directly_reachable.
1770         (sjlj_emit_dispatch_table): Likewise.
1771
1772 2001-12-11  Richard Henderson  <rth@redhat.com>
1773
1774         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
1775         we represent the address load's dependency on the gp.
1776         (divmoddi_internal_er): Likewise.
1777         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
1778
1779 2001-12-11  Richard Henderson  <rth@redhat.com>
1780
1781         * emit-rtl.c (widen_memory_access): New.
1782         * expr.h (widen_memory_access): Declare it.
1783         * config/alpha/alpha.c (get_aligned_mem): Use it.
1784
1785 2001-12-11  Richard Henderson  <rth@redhat.com>
1786
1787         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
1788         simplification above out of range check.
1789
1790 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
1791
1792         * config/sparc/sparc.md (prefetch): New.
1793
1794 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1795
1796         * output.h (regno_uninitialized): Make argument unsigned.
1797
1798         * flow.c (regno_uninitialized): Make regno unsigned.
1799
1800 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1801
1802         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
1803         * config/cris/cris.h (ENDFILE_SPEC): Define.
1804         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
1805         * config/pa/elf.h: Likewise.
1806
1807 2001-12-11  Richard Henderson  <rth@redhat.com>
1808
1809         * objc/objc-act.c (build_string_class_template): New.
1810         (build_objc_string_object): Call it.
1811
1812 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
1813
1814         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1815         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1816         * calls.c (store_unaligned_arguments_into_pseudos): Check
1817         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
1818         are passed/returned.
1819         * expr.c (move_block_from_reg): Ditto.
1820         (move_block_from_reg): Ditto.
1821         (copy_blkmode_from_reg): Ditto.
1822         * stmt.c (expand_return): Ditto.
1823         * stor-layout.c (compute_record_mode): If
1824         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
1825         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
1826         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
1827         so that Structures of one field are still treated as structures.
1828         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
1829         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
1830         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
1831         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
1832         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
1833         to special case handling of structure padding.
1834
1835 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
1836
1837         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
1838         (may_trap_exp): Stores only are risk if they trap, too, not just
1839         if code == MEM.
1840
1841 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1842
1843         * flow.c (find_regno_partial): Indent properly.  Add a default to
1844         switch.
1845
1846 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1847
1848         * c-common.c (combine_strings): Complain if concatenating
1849         __FUNCTION__.
1850         * c-parse.in (yylexname): Flag artificial strings.
1851         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
1852 doc:
1853         * extend.texi: Update.
1854
1855 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1856
1857         * c-common.c (type_for_mode): Handle unsigned vectors.
1858         (type_for_mode): Remove redundant calls to TYPE_MODE.
1859
1860         * tree.c (make_vector): New.
1861         (build_common_tree_nodes_2): Use make_vector for vector types.
1862         Add unsigned vector types.
1863
1864         * tree.h (tree_index): Add unsigned types for vectors.
1865         (unsigned_V16QI_type_node): New.
1866         (unsigned_V4SI_type_node): New.
1867         (unsigned_V8QI_type_node): New.
1868         (unsigned_V8HI_type_node): New.
1869         (unsigned_V4HI_type_node): New.
1870         (unsigned_V2SI_type_node): New.
1871
1872 2001-12-11  Stan Shebs  <shebs@apple.com>
1873
1874         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
1875         test of class names.
1876
1877 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1878
1879         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
1880         cpu configuration headers.
1881         * config/h8300/elf.h: Include dbxelf.h.
1882         * config/m68k/linux.h: Likewise.
1883         * config/m68k/m68020-elf.h: Likewise.
1884         * config/m68k/m68kv4.h: Likewise.
1885         * config/sh/elf.h: Likewise.
1886         * config/m68k/m68kemb.h: Add comment about the its purpose.
1887
1888 2001-12-11  Richard Henderson  <rth@redhat.com>
1889
1890         * objc/objc-act.c (build_constructor): Cast initializer values
1891         to the proper field types.
1892
1893 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
1894
1895         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
1896
1897 2001-12-10  Roger Sayle <roger@eyesopen.com>
1898
1899         * builtins.c (expand_builtin): Use a switch statement to list
1900         those functions not expanded without optimizations, instead of a
1901         series of equality tests.
1902
1903 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1904
1905         * config/alpha/vms.h (LIB_SPEC): Define.
1906         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
1907
1908         * libgcc2.c (_bb): Remove ctime declaration.
1909
1910         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
1911         that works if LN_S = cp.
1912
1913         * config/alpha/x-vms (version): Change "." to "_".
1914
1915         * configure.in: Hardcode that vfork works on VMS host.
1916         * configure: Regenerated.
1917
1918 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
1919
1920         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
1921         unless do_obj true.
1922         (process_command): Modify calls to convert_filename.
1923
1924 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1925
1926         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
1927
1928 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
1929
1930         * combine.c (known_cond): Check mode of each operand to determine
1931         if COND is comparing floating point values.
1932
1933 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
1934
1935         * rs6000.h (processor_type): Add PPC405.
1936         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
1937         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
1938         rios1, rs64, and ppc630 processors.
1939         * rs6000.c (processor_target_table): Add PPC405.
1940
1941 2001-12-10  Richard Henderson  <rth@redhat.com>
1942
1943         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
1944         instead of hardcoding subregs into the _be and _le patterns.
1945
1946 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1947
1948         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
1949
1950 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1951
1952         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
1953         what insn does.
1954
1955 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1956
1957         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
1958         copyright notice formerly conditioned on @ifinfo on @ifnottex
1959         instead.
1960
1961 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1962
1963         * vmsdbgout.c (lookup_filename): Remove warning.
1964
1965 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1966
1967         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
1968
1969         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1970         (exeext, target_alias, prefix, local_prefix): Define.
1971         * config/alpha/x-vms (USE_COLLECT2): Make empty.
1972         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
1973         file specifications. Remove ".".
1974         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
1975         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
1976
1977 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
1978
1979         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
1980
1981 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1982
1983         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
1984         Add rules for building [vp]crt0.o
1985         * config/alpha/vms.h (START_FILE_SPEC): Define.
1986         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
1987         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
1988         * doc/invoke.texi: Document special Alpha/VMS options.
1989
1990 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1991
1992         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
1993         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
1994         not GNUC.
1995
1996 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1997                           Douglas B. Rupp  <rupp@gnat.com>
1998
1999         * tree.c (append_random_char): Conditionalize INO for VMS.
2000
2001 2001-12-09  Richard Henderson  <rth@redhat.com>
2002
2003         * cfgcleanup.c (label_is_jump_target_p): New function.
2004         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2005         target of a JUMP_INSN from the preceding block.
2006
2007 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2008
2009         * vmsdbgout.c (lookup_filename): Assign null string instead
2010         of null pointer to fnam.
2011
2012 2001-12-09  Richard Henderson  <rth@redhat.com>
2013
2014         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2015         immediately after a call; insert nops before a call.
2016
2017 2001-12-09  Richard Henderson  <rth@redhat.com>
2018
2019         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2020         not FUNCTION_BOUNDARY.
2021         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2022         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2023         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2024
2025 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
2026
2027         * config/mmix/mmix.c (mmix_function_block_profiler,
2028         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2029         unused functions.
2030         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2031         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2032         prototypes.
2033
2034         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2035         Delete obsoleted macros.
2036
2037 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2038
2039         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2040         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2041
2042         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2043         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2044         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2045         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2046         config/i370/i370.c, config/i386/i386.c,
2047         config/i386/i386-interix.h, config/i386/i386.md,
2048         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2049         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2050         config/rs6000/rs6000.h, config/sparc/linux64.h,
2051         config/sparc/sparc.c, config/v850/v850-protos.h,
2052         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2053         spelling errors.
2054
2055 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2056
2057         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2058         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2059
2060         * config/rs6000/rs6000.c: Ditto.
2061
2062         * config/rs6000/rs6000.md: Ditto.
2063
2064 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2065
2066         * 1750a.md: Add default case in switch.
2067         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2068         if-else statement.
2069         * dsp16xx.c (print_operand_address): Likewise.
2070         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2071         * ia64.md: Add missing braces.
2072         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2073         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2074         if-else statement.
2075         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2076         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2077         * dbxout.c (dbxout_source_file): Move a variable into the scope
2078         where it is used.
2079         * final.c (profile_function): Mark parameter with
2080         ATTRIBUTE_UNUSED.
2081         * genemit.c (gen_expand): Likewise for generated file.
2082         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2083
2084         * vmsdbg.h: Delete spurious close-comment.
2085         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2086         * vmsdbgout.c (write_modbeg): Define return type.
2087
2088         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2089         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2090         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2091         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2092         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2093         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2094         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2095
2096 2001-12-08  Tom Rix  <trix@redhat.com>
2097
2098         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2099         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2100         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2101         for powerpc64.
2102         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2103         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2104         * config/rs6000/rs6000.c (expand_block_move): Do not use
2105         gen_movstrsi_2reg and powerpc64.
2106
2107 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2108
2109         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2110         RID_TYPES_COMPATIBLE_P.
2111
2112         * c-parse.in (reswords): Add __builtin_choose_expr.
2113         Add __builtin_types_compatible_p.
2114         Add CHOOSE_EXPR token.
2115         Add TYPES_COMPATIBLE_P token.
2116         Add production for CHOOSE_EXPR.
2117         Add production for TYPES_COMPATIBLE_P.
2118
2119         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2120         (__builtin_types_compatible_p): Likewise.
2121
2122 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2123
2124         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2125         to unions.
2126
2127 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2128
2129         * c-parse.in: Take string literals in assembler constructs,
2130         not expressions.
2131         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2132         check the strings are STRING_CSTs.
2133
2134 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2135
2136         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2137         using combine_strings to do the concatenation.
2138         * c-parse.in: Replace uses of the string non-terminal with STRING.
2139         Don't attempt string concatenation.
2140         (OBJC_STRING): New terminal.
2141         (string): Remove non-terminal.
2142         (_yylex): Call combine_strings on function names.  Generate
2143         OBJC_STRING terminals; don't pass '@' on to yacc.
2144         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2145         (build_asm_stmt): Similarly.
2146
2147 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2148
2149         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2150
2151 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2152
2153         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2154         (prefetch): Rewrite using PREFETCH RTL primitive.
2155         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2156         * arm.c (arm_init_builtins): Don't initialize a builtin for
2157         __builtin_prefetch here.
2158         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2159
2160 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2161
2162         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2163         in test for a subreg.
2164
2165 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2166
2167         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2168         strings.
2169
2170 2001-12-07  Richard Henderson  <rth@redhat.com>
2171
2172         * doc/extend.texi: Fix typo last change.
2173
2174         * c-decl.c (c_language): Remove duplicate.
2175
2176 2001-12-07  Dale Johannesen  <dalej@apple.com>
2177
2178         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2179         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2180         specific codegen, eliminate a register copy.
2181         (print_operand_address): Add support for Darwin's lo16(constant)
2182         syntax.
2183         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2184         generation of addresses within very large data objects.
2185         (s8bit_cint_operand):  New.
2186         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2187         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2188         Add imul2 and imul3 insn types for multiplication by 16- and
2189         8-bit constants.
2190         Change tablejump patterns to strongly discourage using LR
2191         rather than CTR.
2192         Add %lo16 patterns for Darwin loads and stores.
2193
2194 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2195
2196         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2197
2198 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2199
2200         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2201         with %sp because it can cause the delayed instruction to load
2202         below the stack.
2203
2204 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2205
2206         * alpha.c (alpha_expand_unaligned_store,
2207         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2208         call to immed_double_const.
2209
2210 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2211
2212         * doc/extend.texi (Variable Attributes): Document vector_size.
2213
2214         * attribs.c (c_common_attribute_table): Add vector_size.
2215         (handle_vector_size_attribute): New.
2216         (vector_size_helper): New.
2217         (decl_attributes): Relayout the decl after calculating attribs.
2218
2219 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2220
2221         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2222         description for Trouble section.
2223         * doc/install-old.texi: Adjust for inclusion as chapter of new
2224         installation manual.
2225         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2226         Adjust to include old installation chapter as chapter of new
2227         installation manual.
2228
2229 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2230
2231         * rtl.h (get_jump_table_offset): Declare.
2232         * rtlanal.c (get_jump_table_offset): Implement.
2233
2234 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2235
2236         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2237         Deleted; were used only by BB profiler code.
2238         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2239         (end_final): Delete now-unused vars I, PTR, and SPTR.
2240
2241         * expr.c (store_field): Remove warning.
2242         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2243         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2244         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2245         divisor constant power of 2.
2246         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2247
2248 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2249
2250         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2251         shifting.
2252
2253 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2254
2255         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2256         (DWARF_FRAME_REGISTERS): Delete.
2257
2258 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2259
2260         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2261         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2262         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2263         with defaults for read prefetch with high degree of locality.
2264         * doc/extend.texi (__builtin_prefetch): Update documentation.
2265         * doc/md.texi (prefetch): Add documentation.
2266
2267 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2268
2269         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2270         UNIX V5.1A stdio.h.
2271         * fixinc/fixincl.x: Regenerate.
2272         Fixes PR libf2c/4826.
2273
2274 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2275             Richard Henderson  <rth@redhat.com>
2276
2277         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2278         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2279
2280         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2281         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2282         (frame_state): Same.
2283         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2284
2285 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2286
2287         * langhooks.c (lhd_staticp): Mark parameter with
2288         ATTRIBUTE_UNUSED.
2289
2290 2001-12-06  H.J. Lu <hjl@gnu.org>
2291
2292         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
2293         reduce noise.
2294         (.po.pox): Likewise.
2295         (o/$(PACKAGE).pot): Likewise.
2296
2297 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
2298
2299         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
2300         * tree-inline.c (expand_call_inline): ... here.
2301
2302 2001-12-06  H.J. Lu <hjl@gnu.org>
2303
2304         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
2305         (.po.pox): Likewise.
2306         (o/$(PACKAGE).pot): Likewise.
2307
2308 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
2309
2310         * config.gcc: Include dbxelf.h before elfos.h.
2311         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
2312
2313 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
2314
2315         * cppfiles.c (open_file): If we've opened a directory by
2316         mistake, close it.
2317         (find_include_file): Avoid turning / into // or // into ///.
2318
2319 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2320
2321         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
2322         (STRUCT_VALUE_REGNUM): Restore definition.
2323
2324 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
2325
2326         * flow.c (find_regno_partial): Return register, not the expression
2327         the register is in.
2328
2329 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2330
2331         * function.c (handle_epilogue_set): Check for FP setting case when
2332         SP is set from FP in same insn.
2333
2334 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2335
2336         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
2337         RTX when calling alter_subreg().
2338         (store_multiple_sequence): Pass pointer to RTX when calling
2339         alter_subreg().
2340
2341 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2342
2343         * function.c (assing_parms): Fix typo in last change.
2344         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
2345         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
2346         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2347         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
2348
2349 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
2350
2351         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
2352         correct code selecting section.
2353
2354 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2355
2356         * final.c (count_basic_block, add_bb, add_bb_string):
2357         Kill.
2358         (end_final, final_start_function, final, final_scan_insn,
2359         leaf_function_p): Kill BB profiler related code.
2360         * flags.h (profile_block_flag): Kill.
2361         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
2362         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
2363         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
2364         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
2365         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
2366         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
2367         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
2368         __bb_init_trace_func): Kill.
2369         * toplev.c (profile_block_flag): Kill.
2370         (indepdendent_decode_option, process_options): Kill -a related code.
2371         * alpha.c (direct_call_operand): Likewise.
2372         * arm.c (arm_expand_prologue, thumb_expand_prologue,
2373         thumb_expand_epilogue): Likewise.
2374         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
2375         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2376         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2377         MACHINE_STATE_RESTORE): Kill.
2378         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2379         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2380         MACHINE_STATE_RESTORE): Kill.
2381         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2382         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
2383         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
2384         code.
2385         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
2386         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2387         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2388         MACHINE_STATE_RESTORE): Kill.
2389         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2390         * i960.c (i960_output_function_prologue): Kill BB profiler related
2391         code.
2392         * ia64.c (ia64_compute_frame_size): Likewise.
2393         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2394         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2395         MACHINE_STATE_RESTORE): Kill.
2396         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
2397         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2398         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2399         MACHINE_STATE_RESTORE): Kill.
2400         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
2401         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2402         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2403         MACHINE_STATE_RESTORE): Kill.
2404         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
2405         Kill BB profiler related code.
2406         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2407         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2408         MACHINE_STATE_RESTORE): Kill.
2409         * mips.c (mips_expand_prologue): Kill BB profiler related code.
2410         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2411         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2412         MACHINE_STATE_RESTORE): Kill.
2413         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
2414         * s960.c (s390_function_prologue): Kill BB profiler related code.
2415         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2416         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2417         MACHINE_STATE_RESTORE): Kill.
2418         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2419         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2420         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2421         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2422         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
2423         sparc_nonflat_function_epilogue): Kill BB profiler related code.
2424         (sparc_function_block_profiler, sparc_block_profiler,
2425         sparc_function_block_profiler_exit): Kill.
2426         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
2427         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2428         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2429         MACHINE_STATE_RESTORE): Kill.
2430         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2431         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2432         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2433         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2434         MACHINE_STATE_RESTORE): Kill.
2435         * doc/invoke.texi: Kill documentation of -a and -ax.
2436         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2437         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2438         MACHINE_STATE_RESTORE): Kill.
2439
2440 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
2441
2442         * doc/rtl.texi: Use a table to display RTL format characters.
2443
2444 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
2445
2446         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
2447
2448 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2449
2450         * function.c (keep_stack_depressed): Check global_live_at_start
2451         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
2452
2453 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
2454
2455         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
2456         as set by the generic FreeBSD configure framework.
2457
2458 2001-12-04  Jason Merrill  <jason@redhat.com>
2459
2460         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2461         start_inlining, end_inlining.
2462         * tree-inline.c (expand_call_inline): Call them.
2463         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
2464         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
2465         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
2466         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
2467         (lhd_tree_inlining_end_inlining): New fn.
2468
2469 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2470
2471         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
2472         * c-common.h (shadow_warning): New.
2473         * c-decl.c: Include c-common.h.
2474         (warn_if_shadowing): New, broken out of pushdecl.
2475         (pushdecl): Use warn_if_shadowing.
2476         (store_parm_decls): Prevent duplicate -Wshadow warnings.
2477
2478 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
2479
2480         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
2481         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
2482         (LIB_SPEC): Remove.
2483
2484 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2485
2486         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
2487         (QUAL_UNION_TYPE): New type.
2488
2489         * varasm.c (output_constant, case ERROR_MARK): New case.
2490
2491         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
2492         (c_com): Delete its reference.
2493         * builtins.c: Delete memory checking code.
2494         * calls.c, expr.c, function.c, stmt.c: Likewise.
2495         * builtins.c (expand_builtin_arg_info): Remove reference to
2496         EXPAND_MEMORY_USE_* modifiers.
2497         * explow.c (expr_size): Likewise.
2498         * expr.c (expand_expr, expand_increment): Likewise.
2499         * expr.h (ARGS_SIZE_RTX): Likewise.
2500         * function.c (assign_parms, expand_pending_sizeso): Likewise.
2501         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
2502         * expr.c (in_check_memory_usage): Delete.
2503         (get_push_address, get_memory_usage_from_modifier): Delete.
2504         (expand_assigment): Use EXPAND_WRITE on destination.
2505         (expand_expr): Delete ro_modifier.
2506         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
2507         add EXPAND_WRITE.
2508         (memory_use_mode): Delete.
2509         * flags.h (flag_check_memory_usage): Deleted.
2510         (flag_prefix_function_name): Likewise.
2511         * function.c (expand_function_start): Don't set
2512         current_function_check_memory_usage.
2513         * function.h (check_memory_usage): Delete.
2514         * libfuncs.h, optabs.c: Delete chkr_* stuff.
2515         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
2516         EXPAND_WRITE.
2517         * toplev.c (flag_check_memory_usage): Deleted.
2518         (flag_prefix_function_name): Likewise.
2519         (f_options, process_options): Delete references to above.
2520         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
2521         * varasm.c (CHKR_PREFIX): Deleted.
2522         (make_decl_rtl): Remove flag_prefix_function_name handling.
2523         (assemble_name): Likewise.
2524         * doc/extend.texi: Remove no_check_memory_usage attribute.
2525         * doc/invoke.texi: Remove -fcheck-memory-usage
2526         and -fprefix-function-name.
2527
2528 2001-12-05  Andreas Schwab  <schwab@suse.de>
2529
2530         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
2531         from autoconf.
2532
2533 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
2534
2535         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
2536
2537 2001-12-05  William Cohen  <wcohen@redhat.com>
2538
2539         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
2540         instruction.
2541
2542 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
2543
2544         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
2545         builtins.
2546
2547         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
2548         better reflect reality (change from Apple's tree).
2549         Add more of altivec instructions.
2550         Add ftruncv4sf2 pattern.
2551         Remove more unspecs (vector merge instructions, etc).
2552
2553         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
2554         builtins.
2555         (bdesc_1arg): New, for 1 argument altivec builtins.
2556         (altivec_expand_builtin): Handle unary and ternary ops.
2557         (altivec_init_builtins): Ditto.
2558
2559 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2560
2561         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
2562         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2563
2564 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2565
2566         * gcse.c (store_killed_in_insn): Consider pure calls
2567         as potential store killers in addition to normal calls.
2568
2569 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2570
2571         * expr.c (expand_expr): When checking promoted value, use
2572         DECL_MODE (exp) and not mode.
2573
2574 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2575
2576         * c-typeck.c (output_init_element): Call digest_init
2577         just once, not in each if branch and check its return value for
2578         error_mark_node.
2579
2580 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2581
2582         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
2583         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
2584         (finish_struct): Break the loop if n_incomplete went to 0.
2585         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
2586
2587 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
2588
2589         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
2590
2591 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2592                           Douglas B. Rupp  <rupp@gnat.com>
2593
2594         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
2595         * doc/invoke.texi: Add -gvms.
2596         * doc/passes.texi: Add mention of vmsdbgout.c.
2597         * doc/tm.texi: Document VMS debugging output.
2598
2599 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2600
2601         * function.h (tree, rtx): Remove no-longer-needed definitions.
2602
2603         * function.c (keep_stack_depressed): Refine check for register
2604         clobbered over call.
2605
2606         * expr.c (store_expr): When copying string constant into array,
2607         use functions that update memrefs instead of computations on
2608         addresses to better track MEMs.  Also properly handle 32/64 pointers.
2609         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
2610         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
2611
2612         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
2613         underneath COMPONENT_REFs.
2614         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
2615
2616 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2617
2618         * toplev.c (display_target_options): Don't print twice.
2619
2620 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
2621
2622         * emit-rtl.c (set_unique_reg_note): Don't set
2623         a REG_EQUAL or REG_EQUIV note if multiple sets
2624         are present.
2625
2626 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2627
2628         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
2629         CASE_DROPS_THROUGH.
2630
2631 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2632
2633         * rtl.h (initialize_uninitialized_subregs): New prototype.
2634         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
2635         when optimization is on.
2636         * flow.c (find_regno_partial): Find subregs within an expression.
2637         (initialize_uninitialized_subregs): Initialize live on entry registers
2638         which are used in subreg expressions.
2639
2640 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
2641
2642         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
2643
2644 2001-12-04  DJ Delorie  <dj@redhat.com>
2645
2646         * fixinc/fixincl.c (initialize): Avoid problemsome macro
2647         parameter names (PR 3388).
2648
2649 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
2650
2651         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
2652         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
2653
2654 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2655
2656         * c-common.def (COMPOUND_LITERAL_EXPR): New.
2657         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
2658         (c_staticp): New function.
2659         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
2660         (c_staticp): Declare.
2661         * c-typeck.c (default_function_array_conversion, build_unary_op):
2662         Don't handle CONSTRUCTOR specially.
2663         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
2664         * c-decl.c (build_compound_literal): New function.
2665         * c-tree.h (build_compound_literal): Declare.
2666         * c-parse.in (primary): Use build_compound_literal.
2667         * c-lang.c (LANG_HOOKS_STATICP): Define.
2668         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
2669         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
2670         * doc/extend.texi: Update documentation of compound literals.
2671         Fixes PR c/4787.
2672
2673 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2674
2675         * langhooks.h (struct lang_hooks): Add staticp.
2676         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
2677         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
2678         * langhooks.c (lhd_staticp): New function.
2679         * tree.c (staticp): Call lang_hooks.staticp for language-specific
2680         tree codes.
2681
2682 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2683
2684         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
2685         * gcc.c (process_command): Ensure the cpp driver sees
2686         --help and --target-help, and that the help is printed
2687         exactly once.
2688
2689 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
2690
2691         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2692
2693 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
2694
2695         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
2696         flag_strict_aliasing.  Use separate assignment statements.
2697
2698 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
2699
2700         * build-make, cross-make: Delete file.
2701         * configure.in: Set and substitute CROSS, ALL,
2702         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
2703         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
2704         whether build == host and host == target.  Do not
2705         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
2706         AC_SUBST cross_defines or extra_c_flags.
2707         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
2708         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
2709         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
2710         partially or completely with autoconf-substituted @variable@
2711         notation.
2712         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
2713         @build_overrides@, @extra_c_flags@, all.build, install-build,
2714         install-cross-rest, install-float-h-cross): Deleted.
2715         (install-normal): Rename to install.  Delete old "install"
2716         indirection rule.
2717
2718 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2719
2720         * stmt.c (expand_return): Clear destination instead of clobbering it
2721         when setting a return value via bitsets.
2722
2723 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
2724
2725         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
2726         it has DECL_SAVED_TREE.
2727
2728         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
2729         is in a different binding level, get its abstract origin to be
2730         olddecl.
2731         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
2732         check earlier.
2733         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
2734         DECL_INITIAL is NULL.
2735
2736 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2737
2738         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
2739         Return correct value if one of the subexpressions was optimized to
2740         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
2741         (and_reg_cond): Similarly.
2742
2743 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2744
2745         * function.c (assign_parms): Set last_named only for last named
2746         argument.
2747
2748 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2749
2750         * doc/install.texi: Use the GFDL.  Include years from old install
2751         manual in copyright notice.  Include copyright and GFDL notice on
2752         HTML index page.  Include usual footer on testing.html.
2753         * doc/install.texi2html: Build gfdl.html.  Use -I
2754         $SOURCEDIR/include.
2755         * doc/include/fdl.texi: Adapt for use in the install manual.
2756
2757 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2758
2759         * doc/install.texi: Document that installed native compiler for
2760         building cross compilers should be GCC 2.95 or later.
2761
2762 2001-12-03  Eric Christopher  <echristo@redhat.com>
2763
2764         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
2765         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
2766         patterns.
2767
2768 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
2769
2770         * rtl.def (PREFETCH): New rtx code.
2771         * doc/rtl.texi (PREFETCH): Add documentation.
2772         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
2773         * rtlanal.c (reg_referenced_p): Ditto.
2774         * sched-vis.c (print_exp):  Ditto.
2775         * ssa-dce.c (find_inherently_necessary):  Ditto.
2776
2777         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
2778           (PREFETCH_BLOCK): Define.
2779         * config/ia64/ia64.md (itanium_class): Add lfetch.
2780           (prefetch, prefetch_internal): New.
2781
2782         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
2783         * builtins.def (BUILT_IN_PREFETCH): New.
2784         * builtins.c (expand_builtin_expect): New.
2785           (expand_builtin): Call it.
2786         * doc/extend.texi: Document __builtin_prefetch.
2787
2788         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
2789           conflicts with new generic prefetch functionality.
2790         * config/i386/i386.c (ix86_expand_builtin): Use new name for
2791           prefetch_sse.
2792
2793 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
2794
2795         * objc/Make-lang.in: Update copyright.
2796         (OBJC_OBJS): Add objc-lang.o.
2797         (objc-lang.o): New rule.
2798         * objc/config-lang.in: Fix file description and update
2799         copyright.
2800         * objc/objc-act.c: Do not include langhooks.h and
2801         langhooks-def.h
2802         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
2803         (objc_post_options): Move to objc-lang.c.
2804         (objc_init_options): Move to objc-lang.c.
2805         (objc_init): Make non-static.
2806         (objc_decode_option): Make non-static.
2807         (HASHFUNCTION): Remove macro.
2808         (hash_func): New function.
2809         (hash_enter): Replace HASHFUNCTION with hash_func.
2810         (hash_lookup): Replace HASHFUNCTION with hash_func.
2811         (maybe_objc_tree_codes): New function.
2812         (init_objc): Move ObjC tree code initialization to
2813         maybe_objc_tree_codes().
2814         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
2815         (objc_init): New public prototype.
2816         (objc_decode_option): New public prototype.
2817         (maybe_add_objc_tree_codes): New public prototype.
2818         * objc/objc-lang.c: New file.
2819         (lang_hooks): Moved from objc-act.c.
2820         (objc_post_options): Moved from objc-act.c.
2821         (objc_init_options): Moved from objc-act.c.
2822
2823 2001-12-03  Geoff Keating  <geoffk@redhat.com>
2824
2825         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
2826         of array elements.
2827
2828 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2829
2830         PR c/4988
2831         * gcc.c (process_command): Don't add a preprocessor option for
2832         --help and --target-help; cc1 is enough.
2833
2834 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2835
2836         * c-decl.c (grokdeclarator): Use ISO word.
2837         * cppinit.c: Remove leading capital from diagnostic messages, as
2838         per GNU coding standards.
2839         * emit-rtl.c: Similarly.
2840         * final.c: Similarly.
2841         * gcc.c: Similarly.
2842         * tradcpp.c: Similarly.
2843         * config/arm/arm.c: Similarly.
2844         * config/arm/arm.h: Similarly.
2845         * config/avr/avr.c: Similarly.
2846         * config/avr/avr.h: Similarly.
2847         * config/c4x/c4x.c: Similarly.
2848         * config/cris/cris.c: Similarly.
2849         * config/cris/cris.h: Similarly.
2850         * config/d30v/d30v.c: Similarly.
2851         * config/dsp16xx/dsp16xx.c: Similarly.
2852         * config/dsp16xx/dsp16xx.h: Similarly.
2853         * config/h8300/h8300.c: Similarly.
2854         * config/i386/i386.c: Similarly.
2855         * config/i386/xm-djgpp.h: Similarly.
2856         * config/i960/i960.h: Similarly.
2857         * config/m32r/m32r.c: Similarly.
2858         * config/m68hc11/m68hc11.c: Similarly.
2859         * config/m88k/m88k.c: Similarly.
2860         * config/m88k/m88k.h: Similarly.
2861         * config/mcore/mcore.c: Similarly.
2862         * config/mcore/mcore.h: Similarly.
2863         * config/mips/mips.c: Similarly.
2864         * config/mmix/mmix.c: Similarly.
2865         * config/pa/pa.c: Similarly.
2866         * config/rs6000/rs6000.c: Similarly.
2867         * config/rs6000/sysv4.h: Similarly.
2868         * config/s390/s390.c: Similarly.
2869         * config/sparc/sparc.c: Similarly.
2870         * config/v850/v850-c.c: Similarly.
2871         * config/v850/v850.c: Similarly.
2872
2873 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
2874
2875         * rs6000.h (RETURN_IN_MEMORY): Cast result of
2876         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
2877
2878 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
2879
2880         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
2881         bit twiddling constant.
2882
2883 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2884
2885         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
2886         call purge_dead_edges after removing.
2887         (delete_null_pointer_checks): Do not handle delete_list.
2888
2889         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
2890         (count_basic_blocks): ... here.
2891         (find_basic_blocks, find_bb_boundaries): Cleanup.
2892
2893         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
2894         overflow for types greater then 2 * HOST_WIDE_INT.
2895
2896         * reload.c (find_reloads): Update the duplicates after swapingg.
2897
2898 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2899
2900         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2901
2902 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
2903
2904         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
2905         MASK_LONG_DOUBLE_128): Delete.
2906         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
2907         TARGET_AIX_STRUCT_RET): New flags.
2908         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
2909         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
2910         and -m(no-)svr4-struct-return.
2911         (TARGET_OPTIONS): Add entry for -mlong-double-.
2912         (rs6000_long_double_size_string, rs6000_long_double_type_size,
2913         rs6000_altivec_abi): Declare.
2914         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
2915         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
2916         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
2917         structures of size <= 8 bytes in registers.
2918         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
2919
2920         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
2921         rs6000_long_double_type_size, rs6000_altivec_abi): New
2922         globals.
2923         (rs6000_override_options): Set rs6000_long_double_type_size
2924         from rs6000_long_double_size_string, if nonzero.  Set the
2925         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
2926         not already set.
2927         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
2928         target_flags bit.
2929         (rs6000_init_builtins): This hook now takes no arguments.
2930
2931         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
2932         DRAFT_V4_STRUCT_RET to 1.
2933
2934 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2935
2936         * c-typeck.c (really_start_incremental_init, push_init_level):
2937         Avoid constructor_max_index being other than an INTEGER_CST.
2938
2939 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2940
2941         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
2942         unsigned.
2943         (ASM_GENERATE_INTERNAL_LABEL): Same.
2944         (UNIQUE_SECTION): Fix typo.
2945
2946 2001-12-02  Richard Henderson  <rth@redhat.com>
2947
2948         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
2949
2950 2001-12-02  Richard Henderson  <rth@redhat.com>
2951
2952         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
2953         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
2954         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
2955         * expr.h, final.c, reload1.c: Adjust users.
2956
2957         * alias.c (nonoverlapping_component_refs_p): New.
2958         (decl_for_component_ref, adjust_offset_for_component_ref): New.
2959         (nonoverlapping_memrefs_p): Use them.
2960         * emit-rtl.c (component_ref_for_mem_expr): New.
2961         (set_mem_attributes): Use it.
2962         (set_mem_offset): New.
2963         * expr.c (expand_assignment): Call set_mem_attributes for
2964         inner references; adjust the memory offset as needed.
2965         * print-rtl.c (print_mem_expr): New.
2966         (print_rtx): Use it.
2967
2968 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
2969
2970         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
2971
2972         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
2973         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
2974         (ASM_SPEC): Don't redefine.
2975         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
2976         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
2977         * config/alpha/vms-dwarf2.asm: New file.
2978
2979         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
2980         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
2981         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
2982         (vmsdbgout_after_prologue): New declaration.
2983         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
2984         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
2985         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
2986         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
2987         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
2988         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
2989         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
2990         Test VMS_DEBUGGING_INFO.
2991         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
2992         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
2993         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
2994         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
2995         VMS_AND_DWARF2_DEBUG.
2996         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
2997         (decode_g_option): Add "vms" to debug_type_names.
2998         (process_options): Set vmsdbg_debug_hooks if -gvms.
2999         (lang_independent_init): Emit line number for VMS unless -g0.
3000         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3001         * vmsdbg.h, vmsdbgout.c: New files.
3002
3003 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3004
3005         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3006
3007 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3008
3009         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3010         * dwarf2out.c (is_cxx): Prototype.
3011         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3012         warning.
3013         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3014
3015 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3016
3017         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3018
3019 2001-12-02  Geoff Keating  <geoffk@redhat.com>
3020
3021         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3022         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3023         rather than simplify_subreg.  Check for volatile-ness.  Check that
3024         we're not splitting one slow operation into two slow operations.
3025
3026 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3027
3028         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3029         before shifting.
3030
3031 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3032
3033         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3034         capital from diagnostics.
3035         * c-lex.c (cb_file_change): Similarly.
3036         * c-parse.in : Similarly.
3037         * cfgrtl.c (verify_flow_info): Similarly.
3038         * collect2.c: Similarly.
3039         * cppfiles.c (find_include_file): Similarly.
3040         * cppinit.c (cpp_handle_option): Similarly.
3041         * cpplex.c (cpp_spell_token): Similarly.
3042         * cppmain.c (do_preprocessing): Similarly.
3043         * gcc.c (translate_options, process_command, do_spec1,
3044         main, pfatal_execute): Similarly.
3045         * genattr.c (main): Similarly.
3046         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3047         write_test_expr, main): Similarly.
3048         * gencodes.c (main): Similarly.
3049         * genconfig.c (main): Similarly.
3050         * genconstants.c (main): Similarly.
3051         * genemit.c (main): Similarly.
3052         * genextract.c (main): Similarly.
3053         * genflags.c (main): Similarly.
3054         * genopinit.c (main): Similarly.
3055         * genoutput.c (process_template, main): Similarly.
3056         * genpeep.c (main): Similarly.
3057         * genrecog.c (main): Similarly.
3058         * gensupport.c (is_predicable, identify_predicable_attribute,
3059         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3060         * ggc-page.c (alloc_anon): Similarly.
3061         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3062         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3063         parse_stabs_common, parse_stabs, write_varray, write_object,
3064         read_seek, copy_object, main, error): Similarly.
3065         * profile.c (compute_branch_probabilities): Similarly.
3066         * reg-stack.c (check_asm_stack_operands): Similarly.
3067         * reload.c (find_reloads): Similarly.
3068         * reload1.c (spill_failure, failed_reload): Similarly.
3069         * rtl-error.c (_fatal_insn_not_found): Similarly.
3070         * toplev.c (read_integral_parameter, crash_signal,
3071         decode_f_option, set_target_switch, parse_options_and_default_flags)
3072         : Similarly.
3073         * tradcif.y (parse_number, yylex): Similarly.
3074         * tradcpp.c (main, fancy_abort): Similarly.
3075         * tree.c (tree_check_failed): Similarly.
3076         * varray.c (varray_check_failed): Similarly.
3077         * xcoffout.c (xcoff_output_standard_types): Similarly.
3078 objc:
3079         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3080         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3081         finish_message_expr, build_protocol_expr, is_public,
3082         start_class): Similarly.
3083
3084 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3085
3086         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3087         trailing period from diagnostics.
3088         * c-lex.c (cb_file_change): Similarly.
3089         * cppmacro.c (check_trad_stringification): Similarly.
3090         * gcc.c (do_spec_1): Similarly.
3091         * genattr.c (main): Similarly.
3092         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3093         * gencodes.c (main): Similarly.
3094         * genconfig.c (main): Similarly.
3095         * genconstants.c (main): Similarly.
3096         * genemit.c (main): Similarly.
3097         * genextract.c (main): Similarly.
3098         * genopinit.c (main): Similarly.
3099         * genoutput.c (main): Similarly.
3100         * genpeep.c (main): Similarly.
3101         * genrecog.c (main): Similarly.
3102         * mips-tfile.c (add_file, error): Similarly.
3103         * profile.c (init_branch_prob): Similarly.
3104         * reload1.c (spill_failure): Similarly.
3105         * stmt.c (parse_output_constraint): Similarly.
3106         * varasm.c (assemble_variable): Similarly.
3107
3108 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3109
3110         * m68k.c (init_FPA_table): Provide static prototype.
3111         * mips/abi64.h (mips_function_value): Move prototype to ...
3112         * mips-protos.h (mips_function_value): ... here.
3113         * mips.c: Include halfpic.h.
3114         * output.h (rdata_section): Prototype.
3115
3116         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3117         * m88k.c (m88k_svr3_asm_out_constructor,
3118         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3119         !OBJECT_FORMAT_ELF.
3120         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3121         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3122         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3123
3124 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3125
3126         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3127         LO_SUM addresses less than word size are not legitimate,
3128         because they lead to invalid SUBREGs.
3129         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3130
3131 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3132
3133         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3134         while scanning for multiple back edges.
3135
3136 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3137
3138         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3139         * config/rs6000/tramp.asm: Use it.
3140
3141 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3142
3143         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3144         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3145         xmalloc.
3146
3147 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3148
3149         * pa.c (output_ascii): Cast `p' to unsigned char.
3150
3151 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3152
3153         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3154         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3155         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3156         (altivec_init_builtins): Ditto.
3157         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3158
3159         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3160         veccomplex, vecfloat, and vecperm, for altivec instructions.
3161         Modify altivec patterns to use appropriate attribute type.
3162         Modify altivec patterns to match RTL operations where appropriate
3163         (IE no unspec where we can avoid it).
3164         Add vector unit scheduling for ppc7450.
3165         Rename patterns to what they are where appropriate
3166         (altivec_vaddfp->addv4sf3, etc)
3167
3168         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3169         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3170
3171         * config/rs6000/sysv4.h: Add -mcpu=7450.
3172
3173         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3174         _builtin_altivec_ld_interal function.
3175
3176 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3177
3178         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3179         strchr, strrchr, isascii, gettimeofday.
3180         * config.in, configure: Regenerate.
3181
3182 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3183
3184         * unroll.c (unroll_loop): Correct special exit cases.
3185
3186 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3187
3188         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3189         accept DFmode and DImode only.
3190
3191 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3192
3193         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3194         (STACK_DYNAMIC_OFFSET): Same.
3195
3196 2001-11-30  Richard Henderson  <rth@redhat.com>
3197
3198         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3199
3200 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3201
3202         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3203         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3204         the values in call_used_registers.
3205
3206 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3207
3208         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3209         gthr-single.
3210
3211 2001-11-30  Jason Merrill  <jason@redhat.com>
3212
3213         * dwarf2out.c (is_cxx): New fn.
3214         (add_data_member_location_attribute): Check it.
3215         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3216
3217 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3218
3219         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3220
3221 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3222
3223         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3224         MODE_VECTOR_FLOAT as allowed.
3225
3226 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3227
3228         Purge cruft now we have build libiberty.
3229
3230         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3231         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3232         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3233         USE_HOST_STRSTR): Delete variables.
3234         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3235         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3236         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3237         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3238         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3239         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3240         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3241         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3242         (HOST_LIBS): Ditto.
3243         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3244         (OBJS): Remove splay-tree.o.
3245         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3246         (distclean): No need to delete splay-tree.c obstack.c
3247         hashtab.c safe-ctype.c.
3248         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3249         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3250         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3251         Delete.
3252         * configure.in: Don't use them.
3253         Set and substitute @FORBUILD@.
3254         * config.in, configure: Regenerate.
3255         * doprint.c: Move to libiberty/_doprnt.c.
3256         * doc/configterms.texi: Document that libiberty is now built
3257         up to three times.  Fix typo.
3258
3259 2001-11-30  Jason Merrill  <jason@redhat.com>
3260
3261         * dwarf2out.c (add_data_member_location_attribute): Do the
3262         right thing for virtual bases.
3263         * dbxout.c (dbxout_type): For a virtual base, print the offset
3264         within the vtable.
3265
3266 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3267
3268         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3269
3270 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3271
3272         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3273         go in memory.
3274         Remove unused attribute for named.
3275
3276 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3277
3278         * genattrtab.c (attr_rtx_1): New function containing the
3279         majority of `attr_rtx'.  Move variable declarations into the
3280         scope where they are used.  Eliminate unnecessary gotos.
3281         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3282         VA_FIXEDARG, and VA_CLOSE.
3283
3284 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3285
3286         * config/cris/cris.c (cris_notice_update_cc): Check first
3287         destination also against overlap with cc_status.value2 and second
3288         destination against overlap with cc_status.value1.  For overlaps,
3289         clear overlapped value, don't just CC_STATUS_INIT.
3290
3291         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
3292         Fix typo in comment.
3293         (LINK_SPEC): Remove whitespace at end of line.
3294
3295 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3296
3297         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
3298
3299 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3300
3301         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
3302         macros for the supported debugging types.
3303
3304 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3305
3306         PR other/4932
3307         * config/i386/i386.c (print_operand):  Verify that the
3308           argument to %c is a constant and not a conditional which
3309           needs to be reversed.
3310
3311 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
3312
3313         * emit-rtl.c (gen_lowpart_common): Fix conversion of
3314         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
3315         of low part of those arrays for 32bit and 64bit hosts.
3316
3317 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3318
3319         * Makefile.in (insn-output.o): Depend on insn-codes.h.
3320
3321 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3322
3323         * configure.in (target_list): Add generated-manpages.
3324         * configure: Regenerate.
3325         * Makefile.in (generated-manpages): Depend on
3326         lang.generated-manpages.
3327         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
3328
3329 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
3330
3331         * config/arm/crti.asm (_init): Add .thumb_func if compiled
3332         with -mthumb.
3333         (_fini): Add .thumb_func if compiled with -mthumb.
3334
3335 2001-11-28  Eric Christopher  <echristo@redhat.com>
3336
3337         * config/mips/mips.c (override_options): Fix thinko in mips_tune
3338         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
3339
3340 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
3341
3342         * alpha.md (tablejump): Use pic_offset_table_rtx
3343         instead of gen_rtx_REG.
3344
3345 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
3346
3347         * expr.c (store_expr): When copying a string constant into an
3348         array, reset the known alignment of the MEM for the section to
3349         be cleared to BITS_PER_UNIT.
3350
3351 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3352
3353         * config/cris/cris.c: Remove whitespace at end of line.
3354
3355 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
3356
3357         * config.gcc (i[34567]86-*-interix3*): New case.
3358         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
3359         New files.
3360
3361 2001-11-28  Richard Henderson  <rth@redhat.com>
3362
3363         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
3364         symbolic_operand as the predicate.
3365
3366 2001-11-28  Richard Henderson  <rth@redhat.com>
3367
3368         * doloop.c (doloop_modify_runtime): Properly select induction
3369         variable; skip late entry test if biv initializer created by loop.
3370
3371 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3372
3373         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
3374         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
3375
3376         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
3377
3378         * tree.h: Add missing checks on some macros; make formatting more
3379         consistent.
3380
3381         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
3382         level; only add to pending_sizes if find it.
3383
3384         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
3385
3386         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
3387         Add casts to remove warnings.
3388
3389         * Makefile.in (OBJS): Sort alphabetically.
3390
3391         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
3392         Also minor cleanups.
3393
3394 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
3395
3396         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
3397         (FLAGS_TO_PASS): Add STAGE_PREFIX.
3398         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
3399         to STAGE_PREFIX.
3400
3401 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3402
3403         * cse.c (true_dependence_in_rtx): New function.
3404         (invalidate): Use it.
3405
3406         * c-common.h (GOTO_FAKE_P): New macro.
3407         * tree-inline.c (GOTO_FAKE_P): Set.
3408         * c-tree.texi (GOTO_FAKE_P): Document.
3409
3410         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
3411         containing pointers.
3412         (output_addressed_constants): Check for local/external relocations.
3413         * elfos.h (SELECT_SECTION): Classify data section.
3414         * tm.texi (SELECT_SECTION): Update documentation.
3415
3416         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
3417         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
3418
3419 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3420
3421         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3422         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
3423         OBJECT_FORMAT_ROSE.
3424
3425 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3426
3427         * config/cris/cris.c: Tweak spacing for prototypes.
3428         (LOSE_AND_RETURN): New macro.
3429         (cris_operand_lossage): New function.
3430         (cris_print_index, cris_print_base): Use cris_operand_lossage
3431         rather than fatal_insn.
3432         (cris_print_operand, cris_print_operand_address): Use
3433         LOSE_AND_RETURN rather than fatal_insn and internal_error.
3434         (cris_output_addr_const): Use LOSE_AND_RETURN and
3435         output_operand_lossage rather than fatal_insn and internal_error
3436         for valid but unexpected rtx expressions.
3437
3438         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
3439         for a SUBREG in src or dest, abort instead.
3440
3441 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3442
3443         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
3444         doc.
3445
3446 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
3447
3448         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
3449         preprocessor define.  If only DBX_DEBUGGING_INFO or only
3450         DWARF2_DEBUGGING_INFO is supported for the target, provide
3451         appropriate definitions.
3452
3453 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3454
3455         * Makefile.in: Update, and add c-objc-common.o dependencies.
3456         * c-lang.c: Remove unnecessary includes.
3457         (c_init): Move bulk of code to c_objc_common_init, and call it.
3458         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
3459         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
3460         c-objc-common.c.
3461         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
3462         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
3463         c_objc_common_init, c_missing_noreturn_ok_p): New.
3464         * toplev.c: Update comment.
3465         * doc/passes.texi: Update.
3466 objc:
3467         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
3468         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
3469         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
3470         (objc_init): Update to use c_objc_common_init.
3471
3472 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3473
3474         * cpphash.c (_cpp_init_hashtable): Update.
3475         * cpphash.h (struct spec_nodes): Remove n_L.
3476         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
3477
3478 2001-11-17  Richard Henderson  <rth@redhat.com>
3479
3480         * unroll.c (loop_iterations): Move last change ...
3481         * doloop.c (doloop_modify_runtime): ... here.
3482
3483 2001-11-17  Corey Minyard  <minyard@acm.org>
3484             Richard Henderson  <rth@redhat.com>
3485
3486         * unroll.c (loop_iterations): Detect one situation in which we
3487         overestimate the number of iterations.
3488
3489 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3490
3491         * gcc.c (set_input): Export.
3492         Move declaration ...
3493         gcc.h (set_input): ... here.
3494
3495 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3496
3497         * gcc.c (set_collect_gcc_options): New function, split out from
3498         main.
3499         Ignore elided switches.
3500         (do_spec): Invoke before executing command.
3501         (do_spec_1): Likewise.
3502         Fixes PR other/3968.
3503
3504 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
3505
3506         * config/cris/cris.h (INT_ASM_OP): Remove.
3507
3508 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3509
3510         * config/i386/sol2.h (WINT_TYPE): Redefine.
3511         (WINT_TYPE_SIZE): Likewise.
3512
3513 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3514
3515         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
3516         (dup2): Make static and add prototype.
3517         * m68k/plexus.h: Don't define NO_DUP2.
3518         * configure.in (AC_CHECK_FUNCS): Add dup2.
3519         * config.in, configure: Regenerate.
3520
3521         * ia64/aix.h (REG_SIZE): Don't #undef.
3522         * sparc.h (REG_SIZE): Delete.
3523         * flow.c (mark_used_regs): Don't use REG_SIZE.
3524         * regs.h (REG_SIZE): Delete.
3525
3526 2001-11-27  Andreas Schwab  <schwab@suse.de>
3527
3528         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
3529         PREFERRED_DEBUGGING_TYPE.
3530
3531 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3532
3533         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
3534         (expr.o, varasm.o): Depends on langhooks.h.
3535         * c-common.c (c_safe_from_p): Always declare.
3536         (c_expand_expr): Refine when declared.
3537         * c-lang.c (c-common.h): Now include.
3538         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
3539         (c_init): Don't set lang_safe_from_expr.
3540         * expr.c (langhooks.h): Now include.
3541         (lang_safe_from_p): No longer define.
3542         (safe_from_p): Use lang hook.
3543         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
3544         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
3545         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
3546         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
3547         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
3548         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
3549         * langhooks.h (struct lang_hooks): New fields expand_constant
3550         and safe_from_p.
3551         * output.h (output_constant): Size arg is HOST_WIDE_INT.
3552         * stmt.c (expand_decl_init): No longer need to expand constant
3553         for CONST_DECL.
3554         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
3555         * toplev.c (lang_expand_constant): Delete var.
3556         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
3557         operations on SAVE_EXPR.
3558         * varasm.c (langhooks.h): Now include.
3559         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
3560         (record_constant_1, output_addressed_constants): Likewise.
3561         (initializer_constant_valid_p, output_constant): Likewise.
3562         (output_constant_def): Process no-defer of string constant.
3563         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
3564         (output_constant): Strip more conversions.
3565         Track our size and pad for the rest.
3566         (array_size_for_constructor): Remove code for non-byte STRING_CST.
3567         (output_constructor): SIZE now HOST_WIDE_INT.
3568
3569 2001-11-27  Richard Henderson  <rth@redhat.com>
3570
3571         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
3572         in computing DIFF.
3573
3574 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
3575
3576         * cppfiles.c (read_include_file): Add comment.
3577
3578 2001-11-26  Richard Henderson  <rth@redhat.com>
3579
3580         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
3581
3582 2001-11-26  Richard Henderson  <rth@redhat.com>
3583
3584         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
3585         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
3586         commented out override.
3587
3588 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3589
3590         * cppfiles.c (stack_include_file): Don't optimize zero-length
3591         files.
3592         (read_include_file): NUL-terminate read files.
3593         * cpplex.c (handle_newline, skip_escaped_newlines,
3594         get_effective_char, skip_whitespace, parse_identifier,
3595         parse_identifier_slow, parse_number, parse_string,
3596         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
3597         NUL-terminated.
3598         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
3599         Be sure buffers are NUL terminated.
3600         * cppmacro.c (warn_of_redefinition): Kill compile warning.
3601
3602 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3603
3604         * c-common.c: Include tree-inline.h.
3605         (c_language): Move separate definitions here.
3606         (c_common_init_options, c_common_post_options): New.
3607         (c_common_lang_init): Rename c_common_init.
3608         * c-common.h (c_common_lang_init): Similarly.
3609         (c_common_init_options, c_common_post_options): New.
3610         * c-lang.c (c_post_options): Move body to c_common_post_options.
3611         (c_init_options): Use c_common_init_options.
3612         (c_init): Update.
3613         * langhooks.def: Rearrange.
3614         * langhooks.h: Rearrange, and improve comments.
3615         * toplev.c (do_compile): New function.
3616         (toplev_main): Use it.
3617         (lang_independent_f_options, parse_options_and_default_flags,
3618         process_options): Remove trailing periods.
3619         * Makefile.in: Update.
3620 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
3621         functions.
3622         (ojbc_init): Update.
3623
3624 2001-11-26  Richard Henderson  <rth@redhat.com>
3625
3626         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
3627
3628 2001-11-26  DJ Delorie  <dj@redhat.com>
3629
3630         * expr.c (store_constructor): Actually use the value computed
3631         if WORD_REGISTER_OPERATIONS.
3632
3633 2001-11-26  Richard Henderson  <rth@redhat.com>
3634
3635         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
3636         for CONSTRUCTOR.
3637
3638 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3639
3640         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
3641         correct function on AIX.
3642
3643 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
3644
3645         * toplev.c (process_options): Don't force
3646         flag_optimize_sibling_calls to zero just because exceptions are
3647         enabled.
3648
3649 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
3650
3651         * df.h (transfer_function_sbitmap): Use PARAMS around argument
3652         list in function prototypes.
3653         (transfer_function_bitmap): Likewise.
3654
3655 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
3656
3657         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
3658         * config/i386/netbsd-elf.h: Likewise.
3659
3660 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3661
3662         * doc/trouble.texi: Remove outdated RS/6000 comments.
3663
3664 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3665
3666         * final.c (walk_alter_subreg): Fix return value.
3667
3668 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3669
3670         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
3671         alter_subreg.
3672         * sparc.md (post-reload splitters): Do not call alter_subreg.
3673         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
3674
3675 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
3676
3677         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
3678
3679 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
3680
3681         * final.c: (insn_lengths): Make it an int *, so that large jump
3682         tables don't overflow.
3683
3684 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3685
3686         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
3687         (format_types): Use it for scanf.
3688         (dollar_arguments_pointer_p): New.
3689         (init_dollar_format_checking): Store details of which arguments
3690         are pointers.
3691         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
3692         (finish_dollar_format_checking): Take extra parameter
3693         pointer_gap_ok.  Treat unused arguments differently if
3694         pointer_gap_ok and the unused arguments are pointers.
3695         (check_format_info_main): Pass extra argument to
3696         finish_dollar_format_checking.
3697         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
3698         unused arguments are present between used arguments with operand
3699         numbers.
3700
3701 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
3702
3703         * df.c: Add prototypes for hybrid_search_bitmap and
3704         hybrid_search_sbitmap.
3705         (hybrid_search_bitmap): New function.
3706         (hybrid_search_sbitmap): New function.
3707         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
3708         (iterative_dataflow_bitmap): Ditto.
3709
3710 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3711
3712         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3713         address computations.
3714
3715 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3716
3717         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
3718         register b (low part of d).
3719
3720 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3721
3722         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
3723         passed to mcount.
3724
3725 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
3726
3727         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
3728         * config/alpha/x-vms: New file, to compile the above.
3729         * config.gcc (alpha*-dec-vms*): Add x-vms.
3730
3731 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
3732
3733         * genextract.c (main): Set ro_loc for peepholes.
3734
3735 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
3736
3737         * fix-header.c (main): Move inf_buffer termination and inf_limit
3738         calculation to after read.
3739
3740         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
3741         (__UNIX_FOPEN): Define.
3742
3743 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3744
3745         * function.c (assign_stack_temp_for_type): Clear alias set before
3746         setting new one.
3747
3748 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
3749
3750         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
3751         format.
3752         * rs6000.md (cmptf): Fix typo.
3753
3754 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
3755
3756         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
3757         * varasm.c (output_constructor): Use assemble_integer rather
3758         than ASM_OUTPUT_BYTE.
3759
3760 2001-11-23  Andreas Jaeger  <aj@suse.de>
3761
3762         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
3763         extension.
3764
3765 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
3766
3767         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
3768         default definition.
3769         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
3770         (MULTILIB_DEFAULTS): Remove previous definition.
3771
3772 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
3773
3774         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
3775         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
3776
3777 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3778
3779         * cris.h: Revert thinko in last patch.
3780
3781 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3782
3783         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
3784         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
3785         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
3786         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
3787         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
3788         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
3789
3790         * predict.c, reg-stack.c: Fix spelling errors.
3791
3792 2001-10-09  Andrew Haley  <aph@redhat.com>
3793
3794         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
3795         start of stack slot.
3796
3797 2001-11-22  Graham Stott  <grahams@redhat.com>
3798
3799         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
3800         replacement jump after original jump.
3801
3802         (verify_flow_info): Remove redundent initialisation.
3803         Handle reaching end of insn list before finding a BARRIER.
3804         Only issue one missing barrier diagnostic.
3805
3806 2001-11-22  Graham Stott  <grahams@redhat.com>
3807
3808         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
3809
3810 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3811
3812         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
3813         insn actually does.
3814
3815 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
3816
3817         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
3818         Fix typo -mm32rx=> -m32rx.
3819
3820         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
3821         targets.
3822
3823         * config.gcc (xscale-coff): Add necessary header files to
3824         tm_file variable.
3825
3826 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3827
3828         * rs6000.c (output_cbranch): Use $, not %$, in output template.
3829
3830 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3831
3832         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
3833         (lang_type_quals): Declare.
3834         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
3835         retrieve language-specific qualifiers for a type node, instead of
3836         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
3837         lang_dump_tree.
3838         * tree-dump.h: Rename from c-dump.h.
3839         * c-common.h (C_TYPE_QUALS): Removed.
3840         Move declarations for tree-dump.c interface to...
3841         * tree.h: ... here. Remove lang_dump_tree.
3842         * langhooks.h (struct lang_hooks_for_tree_dump): New.
3843         (struct lang_hooks): Add tree_dump hooks.
3844         * langhooks.c (lhd_tree_dump_dump_tree): New function.
3845         (lhd_tree_dump_type_quals): New function.
3846         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
3847         Declare.
3848         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
3849         * Makefile.in: Move tree-dump.o to language-independent back-end.
3850
3851 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3852
3853         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
3854         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
3855         * arc.h (DBX_REGISTER_NUMBER): Likewise.
3856         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
3857         * avr.h (DBX_REGISTER_NUMBER): Likewise.
3858         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
3859         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
3860         * convex.h (DBX_REGISTER_NUMBER): Likewise.
3861         * cris.h (DBX_REGISTER_NUMBER): Likewise.
3862         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
3863         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
3864         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
3865         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
3866         * i370.h (DBX_REGISTER_NUMBER): Likewise.
3867         * i860.h (DBX_REGISTER_NUMBER): Likewise.
3868         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
3869         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
3870         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3871         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
3872         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
3873         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
3874         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
3875         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
3876         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
3877         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
3878         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
3879         * romp.h (DBX_REGISTER_NUMBER): Likewise.
3880         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
3881         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3882         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
3883         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
3884         * v850.h (DBX_REGISTER_NUMBER): Likewise.
3885         * vax.h (DBX_REGISTER_NUMBER): Likewise.
3886         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
3887
3888         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
3889         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
3890
3891 2001-11-21  H.J. Lu <hjl@gnu.org>
3892
3893         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
3894
3895 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3896
3897         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
3898         emit_cmp_and_jump_insns.
3899
3900         * stormy16.c (xstormy16_expand_builtin_va_arg,
3901         xstormy16_expand_casesi): Likewise.
3902
3903 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3904
3905         * function.c (keep_stack_depressed): Major rework.
3906         (handle_epilogue_set, emit_equiv_load): New functions.
3907         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
3908         has return value.
3909         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
3910         * rtl.h (SET_IS_RETURN_P): New macro.
3911
3912         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
3913         and also support TREE_ADDRESSABLE.
3914         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
3915
3916 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
3917
3918         * rs6000.md (cmptf_internal1): Replace %$ with $.
3919
3920 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
3921
3922         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
3923         (read_include_file): Use STAT_SIZE_TOO_BIG.
3924
3925         * cppinit.c (INO_T_COPY): Define.
3926         (INO_T_EQ): Uppercase parameters.
3927         (append_include_chain): Use INO_T_COPY.
3928
3929 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
3930
3931         * cfg.c: Fix typos and formatting in the introductory comment.
3932
3933 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
3934
3935         * profile.c (compute_branch_probabilites):  Compute probabilities
3936         for entry/exit edges; estimate probabilities for zero counts.
3937
3938 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3939
3940         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
3941         to emit_library_call.
3942         * function.c (expand_main_function, expand_function_start,
3943         expand_function_end): Likewise.
3944         * profile.c (output_func_start_profiler): Likewise.
3945         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
3946         second argument to emit_library_call.
3947         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
3948         as second argument to emit_library_call.
3949         * calls.c (emit_library_call): Update fn_type description.
3950
3951 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3952
3953         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
3954         if fndecl is still DECL_INLINE and has DECL_RESULT.
3955
3956 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3957
3958         * clipper.c (clipper_movstr): Avoid uninitialized warning.
3959         * i960.c (is_mask, legitimize_address): Likewise.
3960         * m88k.c (m88k_expand_prologue): Likewise.
3961         * m88k.md: Likewise.
3962         * mcore.c (emit_new_cond_insn): Likewise.
3963         * stormy16.c (xstormy16_emit_cbranch): Likewise.
3964
3965 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3966
3967         * config.gcc: Delete powerpcle-*-solaris2* stanza.
3968         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
3969         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3970         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
3971         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
3972         config/rs6000/t-ppcos: Expunge all references to Solaris.
3973
3974         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
3975
3976         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
3977         output templates.
3978         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
3979         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
3980
3981 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3982
3983         * sh.md: Avoid uninitialized warnings.
3984         * vax.c (vax_rtx_cost): Likewise.
3985
3986 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
3987
3988         * rs6000.c (direct_return): Check if we are saving altivec
3989         registers.
3990         (first_altivec_reg_to_save): New.
3991         Updated stack frame layout comments.
3992         (rs6000_stack_info): Calculate altivec register save size.
3993         Save link register if we saved some altivec registers.
3994         (rs6000_stack_info): Align save size to 16 if altivec abi or
3995         abi_darwin.
3996         (rs6000_stack_info): Calculate altivec register offsets.
3997         (rs6000_stack_info): Add altivec info to save_size.
3998         (debug_stack_info): Add altivec debug info.
3999         (rs6000_emit_prologue): Save altivec registers and vrsave.
4000         (compute_vrsave_mask): New.
4001         (altivec_expand_builtin): Remove unused variables.
4002         (rs6000_parse_abi_options): Add static qualifier.
4003         (rs6000_expand_builtin): Remove unused parameters.
4004         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4005         (altivec_init_builtins): Same.
4006         (is_altivec_return_reg): New.
4007         (vrsave_operation): New.
4008         (ALTIVEC_REG_BIT): New.
4009         (generate_set_vrsave): New.
4010
4011         * rs6000.md (get_vrsave): New.
4012         (set_vrsave): New.
4013         (*set_vrsave_internal): New.
4014
4015         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4016         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4017         altivec_padding_size, vrsave_mask.
4018         (TOTAL_ALTIVEC_REGS): New.
4019         (EPILOGUE_USES): Add VRSAVE_REGNO.
4020
4021 2001-11-20  Jeff Law <law@redhat.com>
4022
4023         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4024         exit label as necessary.
4025
4026 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
4027
4028         * reload1.c (elimination_effects): Use function_invariant_p
4029         instead of CONSTANT_P when considering register equivalences.
4030
4031 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
4032
4033         * config.gcc: Add FreeBSD/PowerPC target.
4034         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4035         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4036         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4037         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4038         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4039         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4040         freebsd-spec.h to tm_file.
4041         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4042         * config/freebsd.h: Tidy up.
4043         (USING_CONFIG_FREEBSD): Define.
4044         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4045         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4046         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4047         (TARGET_HAS_F_SETLKW): Define.
4048         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4049         * config/freebsd-spec.h: New file.
4050         * config/rs6000/freebsd.h: New file.
4051         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4052         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4053         USING_SVR4_H to know when to turn on ELF support.
4054         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4055         define only if not already defined.
4056         Add FreeBSD support.
4057         * config/rs6000/aix.h (TARGET_VERSION): Define.
4058         * config/rs6000/beos.h: Likewise.
4059         * config/rs6000/darwin.h: Likewise.
4060         * config/rs6000/mach.h: Likewise.
4061         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4062         Don't include lynx.h directly.
4063
4064 2001-11-20  Graham Stott  <grahams@redhat.com>
4065
4066         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4067         Fix lossage in last change return OB.
4068
4069 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4070
4071         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4072         Remove unneeded exit related macros.
4073
4074 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4075
4076         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4077
4078         * rs6000.c (rs6000_emit_move): Add TFmode case.
4079         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4080         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4081         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4082         * rs6000.h: ... to here.
4083         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4084         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4085         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4086
4087 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4088
4089         * emit-rtl.c (get_mem_attrs): Fix typo.
4090
4091 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4092
4093         * c-lang.c (finish_file): Backout 2001-11-16
4094         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4095         before calling c_expand_deferred_function.
4096
4097 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4098
4099         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4100         Don't register empty .eh_frame sections.
4101         (__deregister_frame_info_bases, __deregister_frame): Don't
4102         unregister them either.
4103
4104 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4105
4106         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4107         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4108         * configure: Regenerate.
4109         * config.in: Add dummy definitions of new flags.
4110         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4111         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4112         * gcc.c (ASM_DEBUG_SPEC): New macro.
4113         (asm_debug): New static variable.
4114         (default_compilers): Add asm_debug when assembling from
4115         user input.
4116         (static_specs): Add asm_debug.
4117
4118 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4119
4120         * config.gcc (*-*-freebsd*): Remove configuration block.
4121
4122 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4123
4124         bootstrap/4422
4125         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4126         fixinc *as if* it were a proper lang subdirectory.
4127         * configure: Rebuilt.
4128
4129 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4130
4131         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4132
4133 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4134
4135         * 1750a.md: Don't use hex format for a const_int.
4136
4137 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4138
4139         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4140
4141 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4142
4143         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4144         defined (prevents link errors when gettext isn't in the system
4145         library).
4146
4147 2001-11-19  DJ Delorie  <dj@redhat.com>
4148
4149         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4150         (validate_const_int): New.
4151         (read_rtx): Validate constant integers.
4152         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4153
4154 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4155
4156         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4157
4158 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4159
4160         * toplev.c (DUMPFILE_FORMAT): Define default.
4161         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4162         (close_dump_file, compile_file): Likewise.
4163         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4164         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4165
4166 2001-11-19  Jeff Law <law@redhat.com>
4167
4168         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4169         a nop-jump.
4170
4171 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4172
4173         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4174         Don't fall off the base token run.
4175
4176 2001-11-19  Jason Wilkins <fenix@io.com>
4177
4178         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4179
4180 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4181
4182         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4183         * tree.h (handled_component_p): New declaration.
4184         * alias.c (handled_component_p): Move function from here ...
4185         * expr.c (handled_component_p): ... to here and non longer static.
4186         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4187         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4188         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4189         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4190         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4191         (expand_expr, cse ADDR_EXPR): No need to copy if already
4192         BIGGEST_ALIGNMENT.
4193         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4194         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4195         (output_constant): Handle VIEW_CONVERT_EXPR.
4196         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4197         Add new case for VIEW_CONVERT_EXPR.
4198
4199 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4200
4201         * a29k/unix.h (ASM_FILE_START): Const-ify.
4202         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4203         * i386/isc.h (ASM_FILE_START): Const-ify.
4204         * i386/sun386.h (ASM_FILE_START): Likewise.
4205         * m32r.md: Likewise.
4206         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4207         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4208         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4209         * mn10200.md: Initialize variable.
4210
4211 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4212
4213         * gcse.c (try_replace_reg): Copy RTX before creating note.
4214
4215         * df.h (df_ref_flags): New uenum.
4216         (DF_REF_FLAGS): New macro.
4217         (struct ref): Add field "flags".
4218         * df.c (HANDLE_SUBREG): Remove.
4219         (df_ref_create): Likewise; set flags field of ref.
4220         (df_def_record_1): Strip down read_write subreg; remove
4221         commented out code; set READ_WRITE flag.
4222         (read_modify_subreg_p): New static function.
4223         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4224         new argument "flags".
4225         (df_insn_refs_record): Update call of df_uses_record.
4226         (df_insn_modify): Avoid #if 0 around comment.
4227         (df_dump): Dump the read/write flag.
4228
4229         * predict.c (propagate_freq): Make cyclic_probability and frequency
4230         volatile
4231
4232         * i386.c (ix86_cc_mode): Accept USE.
4233
4234         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4235         jump is turned into simplejump.
4236
4237 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4238
4239         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4240         installation chapter.
4241         * doc/gcc.texi: Don't claim that this manual documents
4242         installation.  Mark Installation menu entry as being out of date.
4243
4244 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4245
4246         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4247         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4248         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4249
4250 2001-11-19  Jason Merrill  <jason@redhat.com>
4251
4252         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4253         cur_token, not after.
4254
4255         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4256         Lose ASM_OUTPUT_CONSTRUCTOR.
4257         * system.h: Poison it and INT_ASM_OP.
4258         * c-lang.c (finish_file): Don't check for it.
4259         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4260
4261 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4262
4263         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4264         (mmix_init_machine_status): Make static to match declaration.
4265         (mmix_unique_section): Const-ify.
4266         (mmix_output_quoted_string): Avoid automatic aggregate
4267         initialization.
4268         (mmix_output_register_setting): Likewise.
4269         (mmix_output_shiftvalue_op_from_str): Likewise.
4270
4271         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4272         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4273         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4274
4275 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4276
4277         PR c/4448
4278         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4279         name __objc_thread_exit_status so that it matches the
4280         variable defined in objc/thr.h.
4281
4282 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4283
4284         PR bootstrap/4020
4285         * mklibgcc.in: Add missing semi-colons.
4286         * Makefile.in: Same.
4287
4288 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4289
4290         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
4291         after re-laying out decl in incomplete case.
4292         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
4293
4294 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4295
4296         * doc/install-old.texi: Move some sections out to ...
4297         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
4298         ... here.  New files.  Make into chapters rather than sections.
4299         * doc/gcc.texi: Include the new files and add menu entries for
4300         them.
4301         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4302
4303 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4304
4305         * tree.h (TYPE_ALIGN_OK): New flag.
4306         * emit-rtl.c (set_mem_attributes): Handle it.
4307         * expr.c (emit_single_push_insn): Only set to alias set 0 if
4308         doing sibcall optimization.
4309         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
4310         when make temporary.
4311         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
4312         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
4313
4314         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
4315
4316 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4317
4318         * c-decl.c (c_decode_option): Give deprecation warning for
4319         -traditional.
4320         * doc/invoke.texi (-traditional): Note that this option is
4321         deprecated.
4322
4323 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
4324
4325         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
4326         arg to HOST_WIDE_INT, not long.
4327
4328         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
4329         (HAS_INIT_SECTION): Define.
4330         (REAL_ARITHMETIC): Don't undefine.
4331
4332 2001-11-18  Egor Duda  <deo@logos-m.ru>
4333
4334         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4335
4336 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4337
4338         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
4339         * c-common.c: Include diagnostic.h.
4340         (c_common_finish): New.
4341         * c-common.h (c_common_finish): New.
4342         * c-lang.c (LANG_HOOKS_FINISH): Override.
4343         * c-parse.in: Don't include diagnostic.h.
4344         (finish_parse): Remove.
4345         * langhooks.h: Update comments.
4346         * toplev.c (lang_dependent_init): New prototype.
4347         (finalize): New.
4348         (compile_file): Split cleanup code out to finalize.
4349         (lang_dependent_init): Stop if lang_hooks.init fails.
4350         (toplev_main): Update.
4351         * tree.h (finish_parse): Remove.
4352 objc:
4353         * objc-act.c (LANG_HOOKS_FINISH): Override.
4354
4355 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4356
4357         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
4358         * config/alpha/vms_tramp.asm: New file.
4359         * config/alpha/vms-tramp.asm: Removed.
4360
4361 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4362
4363         * c-common.c (struct disabled_builtin, disabled_builtins,
4364         disable_builtin_function, builtin_function_disabled_p): New.
4365         (builtin_function_2): Check for disabled built-in functions.
4366         * c-common.h (disable_builtin_function): Declare.
4367         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
4368         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
4369         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
4370
4371 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4372
4373         PR target/4606
4374         * config.gcc: Remove reference to va-clipper.h.
4375
4376 2001-11-17  Stan Shebs  <shebs@apple.com>
4377
4378         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
4379         AltiVec-related bitfields.
4380
4381 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4382
4383         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
4384         (mark_eh_region, case ERT_UKNONW): New case.
4385
4386 2001-11-17  Christopher Faylor  <cgf@redhat.com>
4387             Corinna Vinschen  <vinschen@redhat.com>
4388
4389         * config/i386/cygwin.h: Search target specific include directory for
4390         w32api stuff, if appropriate.
4391
4392 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
4393
4394         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
4395
4396 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
4397
4398         * config/rs6000/rs6000.md: Change all ldvx to lvx.
4399
4400 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
4401
4402         * gensupport.c (process_rtx): Don't assume filename is the first
4403         argument of any rtl.
4404
4405 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4406
4407         * vax-protos.h (reg_was_0_p): New prototype.
4408         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
4409         * vax.c (follows_p, reg_was_0_p): New functions.
4410
4411 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4412
4413         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
4414         (casesi1): Likewise.  Define new pattern which arises by simplification
4415         when operand 1 is a constant int.  Correct pattern which arises by
4416         simplification when operand 1 is zero.
4417
4418 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
4419
4420         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
4421         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
4422         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
4423         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
4424         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
4425         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
4426         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
4427         * config/arm/aof.h: Don't include arm.h.
4428         * config/arm/aout.h: Likewise.
4429         * config/arm/coff.h: Don't include semi.h and aout.h.
4430         * config/arm/elf.h: Don't include aout.h.
4431         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
4432         (TARGET_VERSION): Undef before defining.
4433         (ARM_OS_NAME): Likewise
4434         (TARGET_DEFAULT): Likewise
4435         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
4436         * config/arm/pe.h: Don't include arm/coff.h.
4437         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
4438         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
4439         * config/arm/riscix1-1.h: Likewise.
4440         * config/arm/rix-gas.h: Don't include riscix.h.
4441         (DBX_CONTIN_LENGTH): Undef before defining.
4442         * config/arm/semi.h: Don't include aout.h.
4443         * config/arm/semiaof.h: Don't include aof.h.
4444         * config/arm/strongarm-coff.h: Don't include coff.h.
4445         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
4446         * config/arm/vxarm.h: Don't include arm/coff.h.
4447         * config/arm/xscale-coff.h: Don't include coff.h.
4448
4449 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4450
4451         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
4452         emit_cmp_insn.
4453
4454 2001-11-16  Andreas Jaeger  <aj@suse.de>
4455
4456         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
4457         to ....
4458         (fixup_fallthru_exit_predecessor): ... this.
4459         Change callers and prototype.
4460
4461 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
4462
4463         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
4464         hand; don't use gen_setcc_2.
4465         (ix86_expand_builtin): Fix pshufw.
4466         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
4467         case UNORDERED to emit the right assembler instruction.
4468         (mmx_pshufw): Lose operand 2.
4469         (cvtsi2ss): Fix representation.
4470         From Graham Stott:
4471         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
4472
4473 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
4474
4475         * doc/include/linux-and-gnu.texi: Remove.
4476         * doc/gnu.texi: New.
4477         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
4478         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4479
4480 2001-11-16  Kazu Hirata  <kazu@hxi.com>
4481
4482         * config/a29k/a29k.c: Fix comment formatting.
4483         * config/a29k/a29k.h: Likewise.
4484         * config/arc/arc.c: Likewise.
4485         * config/arc/arc.h: Likewise.
4486         * config/vax/vax.c: Likewise.
4487         * config/vax/vax.h: Likewise.
4488         * config/we32k/we32k.c: Likewise.
4489         * config/we32k/we32k.h: Likewise.
4490
4491 2001-11-16  Jeff Law  <law@redhat.com>
4492
4493         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
4494         creating a new jump insn.
4495
4496 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4497
4498         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
4499         copy misaligned data.
4500         * varasm.c (assemble_variable): Set alignment into MEM when changed.
4501
4502 2001-11-16  Graham Stott  <grahams@redhat.com>
4503
4504         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
4505         OPALIGN type.
4506
4507 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
4508
4509         * except.c: Support for catching a list of types with a single handler
4510         (struct eh_region): Change type and filter to lists for catch regions.
4511         (mark_eh_region): Mark the filter list for GC also.
4512         (expand_start_catch): Always build a list if argument not NULL and
4513         register each type of the list through add_type_for_runtime.
4514         (duplicate_eh_region_1): Change type into type_list for catch regions.
4515         (assign_filter_values): Assign a filter to each type associated with a
4516         catch region. Assign filter for NULL types in a unique entry in the
4517         filter list.
4518         (build_post_landing_pads): Emit compare and jump for each filter of
4519         the list associated with a catch region.
4520         (reachable_next_level): When the type thrown is known, stop the search
4521         as soon as one type within a catch list matches. Also, a handler is
4522         potentially reachable only if at least one of the types it catches
4523         has not been previously caught.
4524         (collect_one_action_chain): Retrieve the filter for a NULL type list
4525         from the first filter list entry. For non NULL type lists, add an
4526         action record for every filter assigned.
4527         * except.h: Reflect changes in comment before expand_start_catch.
4528
4529 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4530
4531         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
4532         BLKmode.
4533
4534 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
4535
4536         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
4537
4538 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
4539
4540         * c-lang.c (finish_file): Don't emit static inline functions if
4541         they weren't referenced.
4542
4543 2001-11-15  Stan Shebs  <shebs@apple.com>
4544
4545         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
4546
4547 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4548
4549         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
4550         call.
4551         * config/i386/i386.md: Likewise.
4552
4553 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4554
4555         * timevar.c (rtl.h): Include so get fancy abort.
4556
4557 2001-11-15  Dale Johannesen  <dalej@apple.com>
4558
4559         * config/darwin.h (SELECT_RTX_SECTION):  Force address
4560         initializers into 'const' section
4561         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
4562         if_then_else to match result, not operands
4563
4564 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4565
4566         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
4567         * emit-rtl.c (change_address): Fix typo in default alignment.
4568         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
4569         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
4570         * rtl.h (REGNO_PTR_FRAME_P): New macro.
4571
4572         * expr.c (store_field): Pass tree instead of max size; callers changed.
4573         Change handling of alignment.
4574         Only copy to_rtx if is TARGET.
4575         (expand_expr_unaligned): Delete; callers now use expand_expr.
4576         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
4577         (expand_assignment): Change handling of alignment.
4578         Only copy to_rtx if was original.
4579         (get_inner_reference): No longer return alginment; callers changed.
4580         (expand_expr, case COMPONENT_REF): Change handling of alignment.
4581         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
4582         (compare_from_rtx): Delete ALIGN parm; all callers changed.
4583         (do_compare_rtx_and_jump): Likewise.
4584         * expr.h: Reflect above changes.
4585         * tree.h: Likewise.
4586         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
4587         to get_inner_reference.
4588         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
4589         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
4590         * optabs.c: Likewise.
4591         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
4592         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
4593         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
4594         compare_rtx_and_jump, and emit_cmp_jump_insns.
4595         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
4596         * function.c (assign_stack_temp_for_type): No longer static.
4597         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
4598         (prepare_cmp_insn): Delete declaration.
4599         * rtl.h (assign_stack_temp_for_type): Add declaration.
4600         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
4601         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
4602         * config/i386/i386.c,config/mips/mips.c: Likewise.
4603         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
4604         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
4605
4606 2001-11-15  Stan Shebs  <shebs@apple.com>
4607
4608         * config/rs6000/rs6000.h: Fix a comment typo.
4609         (RTX_COSTS): Sort processor versions better.
4610
4611 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4612
4613         * config/h8300/h8300.md: Fix insn length of bit insns.
4614
4615 2001-11-15  Jason Merrill  <jason@redhat.com>
4616
4617         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
4618         DIEs if there were errors in the source.
4619
4620         * config/alpha/alpha-interix.h, config/alpha/elf.h,
4621         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
4622         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
4623         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
4624         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
4625         config/elfos.h, config/lynx.h, config/netware.h,
4626         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
4627         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
4628         uses to use ASM_LONG.
4629
4630 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
4631
4632         * gensupport.c  process_include : Change call to alloca to
4633         xmalloc.
4634
4635 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4636
4637         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
4638         templates.
4639
4640 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4641
4642         * final.c (alter_subreg): If simplify_subreg can't do anything,
4643         handle REG ourselves and abort for others.
4644
4645 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
4646
4647         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
4648         routines.
4649
4650 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4651
4652         * fix-header.c (read_scan_file): Update.
4653
4654 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4655
4656         * toplev.c (toplev_main): Don't start timing until after
4657         command-line options are parsed.
4658
4659 2001-11-15  Andreas Schwab  <schwab@suse.de>
4660
4661         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
4662         makefile frag, not host makefile frag.
4663         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
4664         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
4665         used.
4666         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
4667         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
4668         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
4669         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
4670         * config/i386/t-dgux (STMP_FIXPROTO): Define.
4671         * config/x-interix: Don't define STMP_FIXPROTO and
4672         FIXPROTO_DEFINES.
4673         * config/t-interix: New file, define STMP_FIXPROTO.
4674         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
4675         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
4676         * config/t-svr4 (FIXPROTO_DEFINES): Define.
4677         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
4678         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
4679         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
4680         * config/m68k/t-hp3200: Renamed from x-hp3200.
4681         * config/i370/t-oe: Renamed from x-oe.
4682         * config/mips/t-iris: Renamed from x-iris.
4683         * config/pa/t-bsd: Renamed from x-pa.
4684         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
4685         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
4686         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
4687         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
4688         config/rs6000/x-cygwin: Remove files.
4689
4690         * configure.in: Check for target objdump and use that in eh_frame
4691         optimization test.
4692         * configure: Regenerated.
4693
4694 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
4695
4696         * jump.c (squeeze_notes): Return true if no real insns were found.
4697         * rtl.h (squeeze_notes): Adjust prototype.
4698         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
4699         squeeze_notes finds no real instructions, abort.
4700         (merge_blocks_move_successor_nojumps): Likewise.
4701         * loop.c (find_and_verify_loops): Likewise.
4702         * stmt.c (expand_end_case): Likewise.
4703         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
4704         find any real instructions.
4705
4706         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
4707
4708         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
4709         conditional jump, request updating life into for the block
4710         containing it.  Fix a typo which prevented life info update.
4711         Clear blocks bitmap before using it.
4712
4713 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4714
4715         * c-common.c: Include c-lex.h.
4716         (c_common_lang_init): Change prototype.  Call init_c_lex and
4717         init_pragma from here.
4718         * c-common.h (c_common_lang_init): Change prototype.
4719         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
4720         * c-lang.c (c_init): Change prototype.  Update.
4721         (c_init_options): Update.
4722         * c-lex.c (cpp_filename): Remove.
4723         (init_c_lex): Update.  Read the main file, and get the original
4724         file name.
4725         (yyparse): Finish the command line options.
4726         * c-parse.in (c_parse_init): Call init_reswords here.
4727         (init_parse): Remove.
4728         * c-tree.h (c_init_decl_processing): New.
4729         * cpphash.c (_cpp_init_hashtable): After initializing the hash
4730         table, populate it.
4731         * cppinit.c (read_original_filename, cpp_finish_options): New.
4732         (cpp_create_reader): New prototype. Defer hash table initialization.
4733         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
4734         hash table.  Get the original filename.
4735         * cpplib.h (cpp_create_reader): Update.
4736         (cpp_start_read): Remove.
4737         (cpp_read_main_file, cpp_finish_options): New.
4738         * cppmain.c (main, do_preprocessing): Update.
4739         * langhooks.h (struct langhooks): Update init prototype.
4740         * toplev.c (general_init, parse_options_and_default_flags,
4741         process_options, lang_indpendent_init, lang_dependent_init,
4742         init_asm_output): New; perform the bulk of initialization.
4743         (compile_file): Move most of initialization to above functions.
4744         (debug_hooks): Initialize statically.
4745         (set_Wunused): Relocate.
4746         (toplev_main): Move most of initialization to other init functions.
4747         Have a clear logic flow.
4748         * tree.h (init_parse, init_decl_processing): Remove.
4749 objc:
4750         * objc-act.c (objc_init): Update prototype, combine with old
4751         init_parse.
4752         (objc_init_options): Update.
4753
4754
4755 2001-11-15  Andreas Jaeger  <aj@suse.de>
4756
4757         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
4758         portability.
4759         * basic-block.h: Adjust prototype.
4760
4761 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4762
4763         * config/rs6000/aix31.h: Fix comment formatting.
4764         * config/rs6000/beos.h: Likewise.
4765         * config/rs6000/darwin.h: Likewise.
4766         * config/rs6000/eabi.asm: Likewise.
4767         * config/rs6000/linux.h: Likewise.
4768         * config/rs6000/linux64.h: Likewise.
4769         * config/rs6000/lynx.h: Likewise.
4770         * config/rs6000/netbsd.h: Likewise.
4771         * config/rs6000/rs6000.c: Likewise.
4772         * config/rs6000/rs6000.h: Likewise.
4773         * config/rs6000/rs6000.md: Likewise.
4774         * config/rs6000/sol2.h: Likewise.
4775         * config/rs6000/tramp.asm: Likewise.
4776         * config/rs6000/xcoff.h: Likewise.
4777         * config/rs6000/xm-beos.h: Likewise.
4778
4779 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
4780
4781         * rtl.def (INCLUDE) : Define.
4782         * gensupport.c  (init_include_reader, process_include,
4783         save_string) :  New functions to implement an include facility
4784         in .md files.
4785         * gensupport.h : Add prototype for init_md_reader_args.
4786         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
4787         genextract.c genflags.c genopinit.c genoutput.c
4788         genpeep.c genrecog.c: Change call to init_md_reader to
4789         init_md_reader_args.
4790         * md.texi: Document (include "path") and -I directives for RTL
4791         generation tools.
4792
4793 2001-11-14  DJ Delorie  <dj@redhat.com>
4794
4795         * integrate.c (get_hard_reg_initial_reg): New.
4796         * integrate.h (get_hard_reg_initial_reg): Prototype.
4797         * local-alloc.c (block_alloc): Don't tie pseudos that
4798         represent call-saved hard regs' initial values.
4799
4800 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4801
4802         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
4803         recursion.
4804
4805 2001-11-14  Roger Sayle <roger@eyesopen.com>
4806
4807         * fold-const.c (fold): Optimize strlen comparisons against zero.
4808
4809 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
4810
4811         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
4812         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
4813         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
4814         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
4815         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
4816         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
4817         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
4818         Include various CPU headers via tm_file.  a.out based platforms now
4819         properly include sparc/aout.h.  sol2.h usage now implies including
4820         elfos.h, svr4.h, and sparc/sysv4.h.
4821         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
4822         Also define to '1'.
4823         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
4824         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4825         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
4826         Remove.  They are a.out specific and belong in sparc/aout.h.
4827         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
4828         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4829         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
4830         sparc/sparc.h.
4831         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
4832         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
4833         Moved here from sparc/sparc.h.
4834         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
4835         defining.
4836         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
4837         * config/sparc/lynx.h:  Don't include lynx.h.
4838         (SELECT_SECTION): Do not undef.
4839         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
4840         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
4841         and sparc/sysv4.h.
4842         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
4843         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
4844         sparc/aout.h now.
4845         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
4846         Don't undef, there is no need.
4847         * config/sparc/splet.h (CPP_PREDEFINES): Define.
4848         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
4849         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
4850         Don't include sparc/sparc.h.
4851         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
4852         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4853         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
4854         elfos.h and svr4.h.
4855         (TARGET_VERSION): Define.
4856         * config/sparc/vxsim.h (TARGET_VERSION): Define.
4857
4858 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
4859
4860         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
4861         (cfg_layout_finalize): Use it.
4862         * bb-reorder.c (HAVE_epilogue): Remove.
4863         (make_reorder_chain): Do not care special placement of
4864         last basic block.
4865
4866         * predict.c (expected_value_to_br_prob): Delete the note
4867         once transformed.
4868
4869         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
4870         measure integration time separately.
4871
4872 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4873
4874         * function.c (struct temp_slot): ALIGN now unsigned.
4875
4876 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4877
4878         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
4879         * config/dsp16xx/dsp16xx.h: Likewise.
4880         * config/dsp16xx/dsp16xx.md: Likewise.
4881
4882 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4883
4884         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
4885         that deals with 7-bit shifts in HImode.
4886
4887 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
4888
4889         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
4890         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
4891         (final_scan_insn): Update call of alter_subreg.
4892         (cleanup_subreg_operands): Likewise.
4893         (alter_subreg): Rewrite using simplify_subreg.
4894         (output_address, output_operand): Update call of alter_subreg.
4895         * output.h (alter_subreg): Update prototype.
4896         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
4897         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
4898         * Makefile.in (final.o): Add dependency on expr.h
4899
4900 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4901
4902         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
4903
4904 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
4905
4906         * doc/install.texi (sparc-*-linux*): Mention requirements for
4907         binutils and glibc.
4908
4909 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4910
4911         * Makefile.in (POD2MAN): Don't include --section=1.
4912         (manext): Rename to man1ext.  All users changed.
4913         (man7ext): New.
4914         (man7dir): New.
4915         (generated-manpages): Also depend on $(docdir)/gfdl.7,
4916         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
4917         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
4918         --section=1 in calls to $(POD2MAN).
4919         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
4920         (maintainer-clean, install, uninstall): Handle the new man pages.
4921         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
4922         (installdirs): Create man7dir.
4923         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
4924         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
4925         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
4926         the SEE ALSO man page section.
4927         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
4928         and fsf-funding(7) in the SEE ALSO man page section.
4929         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
4930         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
4931         * doc/include/fdl.texi, doc/include/funding.texi,
4932         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
4933         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
4934
4935 2001-11-13  Richard Henderson  <rth@redhat.com>
4936
4937         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
4938         as appropriate for the artificial decl.
4939
4940 2001-11-13  Richard Henderson  <rth@redhat.com>
4941
4942         * loop.c (combine_movables): Turn off combination until
4943         move_movables validation bugs are fixed.
4944
4945 2001-11-13  DJ Delorie  <dj@redhat.com>
4946
4947         * config.gcc (powerpc|rs6000): Set default cpp options based
4948         on --with-cpu settings.
4949         * config/rs6000/softfloat.h: New.
4950
4951 2001-11-13  Kazu Hirata  <kazu@hxi.com>
4952
4953         * config/h8300/h8300.c (shift_alg_si): Use special code for
4954         25-bit shifts on H8/S.
4955         (get_shift_alg): Generate special code for 25-bit shifts on
4956         H8/S.
4957
4958 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
4959
4960         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
4961         (adjust_automodify_address_1): New.
4962         * expr.h (adjust_address, adjust_address_nv): Adjust.
4963         (adjust_automodify_address, adjust_automodify_address_nv): Define.
4964         (adjust_address_1): Update prototype.
4965         (adjust_automodify_address_1): Add prototype.
4966         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
4967         (store_by_pieces_2): Likewise.
4968
4969 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4970
4971         * Makefile.in (explow.o): Now depends on ggc.h.
4972         * explow.c (ggc.h): Include.
4973         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
4974
4975         * Makefile.in (expr.o): Depends on insn-attr.h.
4976         * expr.c (insn-attr.h): New include.
4977         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
4978         of MEM.
4979         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
4980         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
4981         clean up related usage in ADDR_EXPR.
4982         (expand_expr_unaligned): Likewise.
4983
4984         * emit-rtl.c (change_address): Fix typo in alias setting.
4985
4986 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4987
4988         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
4989
4990 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4991
4992         PR bootstrap/3451
4993         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
4994         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
4995
4996 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
4997
4998         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
4999         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5000         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5001         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5002         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5003         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5004         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5005         sparc64-*-linux*):  Include various CPU headers via tm_file.
5006         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5007         (SELECT_SECTION): Likewise.
5008         (SELECT_RTX_SECTION): Likewise.
5009         * config/sparc/sparc_bi.h: New file.
5010         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5011         * config/sparc/linux-aout.h: Likewise.
5012         * config/sparc/linux.h: Don't include sparc/sysv4.h.
5013         * config/sparc/linux64.h: Likewise.
5014         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5015         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
5016         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5017         and dbxcoff.h
5018         (ASM_OUTPUT_IDENT): Do not #undef.
5019         (SELECT_SECTION): Likewise.
5020         (SELECT_RTX_SECTION): Likewise.
5021         * config/sparc/liteelf.h: Don't include gofast.h.
5022         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5023         * config/sparc/lynx.h: Don't include sparc/sparc.h.
5024         * config/sparc/pbd.h: Likewise.
5025         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5026         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5027         * config/sparc/rtemself.h: Don't include rtems.h.
5028         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5029         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5030         sparc_bi.h instead.
5031         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5032         * config/sparc/sol2.h: Include sparc/sparc.h directly.
5033         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5034         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5035         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5036         * config/sparc/sp86x-elf.h: Don't include gofast.h.
5037         * config/sparc/splet.h: Don't include sparc/aout.h.
5038         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5039         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5040         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5041         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5042         * config/sparc/vxsparc64.h: Don't include gofast.h.
5043         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5044
5045 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5046
5047         * doc/standards.texi: Mention C99 TC1.
5048
5049 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5050
5051         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5052         * mips.c (mips_output_conditional_branch): Likewise.
5053
5054 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5055
5056         * config/h8300/h8300.c (shift_alg_si): Use special code for
5057         15-bit logical shifts and 31-bit logical shifts.
5058         (get_shift_alg): Generate special code for 15-bit and 31-bit
5059         logical shifts.
5060
5061 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5062
5063         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5064         doing 6-bit logical shifts on H8/S.
5065         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5066         (get_shift_alg): Generate special code for 21-bit shifts on
5067         H8/S.
5068
5069 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5070
5071         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5072         label.
5073
5074 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5075
5076         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5077         if both size and offset known.
5078
5079 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5080
5081         * config/ia64/freebsd.h: Fix misspelling.
5082
5083 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5084
5085         * doc/gcc.texi: Move several chapters out to ...
5086         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5087         doc/include/linux-and-gnu.texi, doc/interface.texi,
5088         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5089         ... here.  New files.
5090         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5091         contrib.texi.
5092         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5093
5094 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5095
5096         * config/alpha/alpha-interix.h: Fix comment formatting.
5097         * config/alpha/alpha.c: Likewise.
5098         * config/alpha/alpha.h: Likewise.
5099         * config/alpha/alpha32.h: Likewise.
5100         * config/alpha/freebsd.h: Likewise.
5101         * config/alpha/unicosmk.h: Likewise.
5102         * config/alpha/vms.h: Likewise.
5103
5104 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5105
5106         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5107
5108 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5109
5110         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5111         numbers.
5112
5113 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5114
5115         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5116         from type.
5117         (replace_equiv_address): Call update_temp_slot_address.
5118
5119         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5120
5121         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5122
5123 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5124
5125         * config/h8300/h8300.c (shift_alg_qi): New.
5126         (shift_alg_hi): Likewise.
5127         (shift_alg_si): Likewise.
5128         (get_shift_alg): Change the type of count to unsigned int.
5129         Use the tables.
5130
5131 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5132
5133         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5134         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5135         to decide whether to defer a function.
5136         (finish_function): Adjust.
5137         (c_expand_deferred_function): New function.
5138         * c-lang.c (deferred_fns): New variable.
5139         (c_init): Initialize it, and mark it as a root.
5140         (defer_fn): New function.
5141         (finish_file): Expand all deferred functions.
5142         * c-tree.h (defer_fn): Declare.
5143         (c_expand_deferred_function): Likewise.
5144         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5145         * objc-act.c (deferred_fns): New variable.
5146         (objc_init): Initialize it, and mark it as a root.
5147         (defer_fn): New function.
5148         (finish_file): Expand all deferred functions.
5149
5150 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5151
5152         * alpha.c (unicosmk_special_name): Prototype.
5153         (unicosmk_ssib_name): Delete unused variable.
5154         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5155         * alpha/vms.h (PREFIX): Undef before defining.
5156         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5157         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5158         controlling usage.  Const-ify.
5159         (alias_number): Delete unused variable.
5160         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5161         (m32r_expand_block_move): Fix uninitialized warnings.
5162         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5163         always true' warnings.
5164         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5165         * sh/sh.c: Include "integrate.h".
5166         (output_far_jump): Fix uninitialized warning.
5167         * final.c (shorten_branches): Avoid automatic aggregate
5168         initialization.
5169         * integrate.c (subst_constants): Likewise.
5170
5171 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5172
5173         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5174         (get_shift_alg): Remove redundant code.
5175
5176 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5177
5178         * config/pa/milli64.S: Fix comment formatting.
5179         * config/pa/pa-64.h: Likewise.
5180         * config/pa/pa-linux.h: Likewise.
5181         * config/pa/pa-protos.h: Likewise.
5182         * config/pa/pa.c: Likewise.
5183         * config/pa/pa.h: Likewise.
5184         * config/pa/pa32-linux.h: Likewise.
5185         * config/pa/pa32-regs.h: Likewise.
5186         * config/pa/pa64-hpux.h: Likewise.
5187         * config/pa/pa64-regs.h: Likewise.
5188         * config/pa/som.h: Likewise.
5189
5190 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5191
5192         * doc/gcc.texi: Move several chapters out to ...
5193         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5194         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5195         doc/vms.texi: ... here.  New files.
5196         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5197
5198 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5199
5200         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5201         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5202         collect2.c, combine.c, config.in, configure, configure.in,
5203         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5204         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5205         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5206         spelling errors.
5207
5208 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5209
5210         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5211         Adjust operand number in CONST_DOUBLE.
5212
5213         * expmed.c (extract_bit_field): No longer pass in alignment.
5214         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5215         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5216         Likewise.
5217         * expr.c (store_constructor, store_constructor_field): Likewise.
5218         (store_field, emit_group_load, emit_group_store): Likewise.
5219         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5220         (store_bit_field, extract_bit_field): Likewise.
5221         * calls.c, expr.c, function.c: Change calls to above functions.
5222         * ifcvt.c, stmt.c: Likewise.
5223
5224         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5225         constant and one is on frame.
5226         If know memref offset, adjust size from decl.
5227
5228 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5229
5230         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5231         format specifier warning.
5232         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5233         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5234         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5235         warning.
5236         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5237         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5238         * i386-interix.h (gen_stdcall_suffix): Prototype.
5239         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5240         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5241         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5242         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5243         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5244         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5245         specifier warnings.
5246         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5247         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5248         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5249         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5250         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5251         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5252         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5253         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5254         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5255         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5256         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5257         Likewise.
5258         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5259         Likewise.
5260         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5261         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5262         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5263         Likewise.
5264         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5265         Likewise.
5266         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5267         Likewise.
5268         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5269         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5270         * m68k/news.h (PRINT_OPERAND): Likewise.
5271         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5272         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5273         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5274         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5275         definition.
5276         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5277         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5278         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5279         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5280         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5281         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5282         PRINT_OPERAND): Likewise.
5283         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5284         Likewise.
5285         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5286         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5287         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5288         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5289         * mips.c (mips_output_external_libcall): Mark parameter with
5290         ATTRIBUTE_UNUSED.
5291         (mips_asm_file_start): Move variable into the scope where it's
5292         used.
5293         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5294         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5295         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
5296         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5297         * ns32k.c (print_operand): Likewise.
5298         * pa.c (print_operand, output_div_insn): Likewise.
5299         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
5300         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
5301         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
5302         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5303         specifier warnings.
5304         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5305         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5306         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
5307         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5308         specifier warnings.
5309         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5310
5311         * sdbout.c (sdbout_end_epilogue): Mark parameter with
5312         ATTRIBUTE_UNUSED.
5313         * varasm.c (assemble_global): Likewise.
5314
5315 2001-11-11  H.J. Lu <hjl@gnu.org>
5316
5317         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
5318
5319 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
5320
5321         * final.c (*_MAX_SKIP): Use *_max_skip variables.
5322         * flags.h (align_loops_max_skip, align_jumps_max_skip,
5323         align_labels_max_skip): New global variables.
5324         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
5325         align_labels_max_skip): New global variables.
5326         (toplev_main): Set new variables.
5327         * i386.c (override_options): Set max_skip values.
5328
5329 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
5330
5331         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
5332         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5333         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
5334         don't print an @fptr for labels either.
5335         (xstormy16_output_addr_vec): Don't print @fptr here.
5336         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
5337
5338 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
5339
5340         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
5341         an ANSI/ISO definitino.
5342         (ssa_const_prop): Likewise.
5343
5344 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
5345
5346         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
5347         altivec registers.
5348
5349 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5350
5351         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
5352         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
5353         * cppmain.c (general_init): Call hex_init.
5354         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
5355
5356         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
5357
5358         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
5359         of dgux.c:output_file_start().
5360
5361         * i386/dgux.c: Delete file.
5362
5363 2001-11-09  Richard Henderson  <rth@redhat.com>
5364
5365         * config/alpha/alpha.c (decl_in_text_section): New.
5366         (current_file_function_operand): Use it.
5367         (alpha_encode_section_info, alpha_end_function): Likewise.
5368
5369 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
5370
5371         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
5372         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
5373         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
5374         so OS specific files and use CPP_PREDEFINES for their needs.
5375         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
5376         target headers to tm_file.
5377         * config/ia64/aix.h (TARGET_VERSION): Likewise.
5378         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
5379         * config/ia64/linux.h (TARGET_VERSION): Likewise.
5380         (FUNCTION_PROFILER): Remove.
5381         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
5382         version in config/ia64/linux.h.
5383         * config/ia64/freebsd.h: New file.
5384         * config/freebsd.h: Tidy up.
5385         (_USING_CONFIG_FREEBSD): Define.
5386         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
5387         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
5388         (FBSD_STARTFILE_SPEC): Likewise.
5389         (FBSD_ENDFILE_SPEC): Likewise.
5390         (FBSD_LIB_SPEC): Likewise.
5391         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
5392         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
5393         set an ELF-improper one.
5394
5395 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5396
5397         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
5398         constant can be loaded in a single instruction to a register.  When
5399         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
5400         depdi for insertion of most significant 32-bits on 64-bit hosts.
5401         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
5402         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
5403         * pa.md: New addmove pattern for adding constant_int to HImode
5404         register and moving result to HImode register.  Remove HImode HIGH
5405         and LO_SUM patterns.
5406
5407 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5408
5409         * Makefile.in: Update.
5410         * c-decl.c (print_lang_decl, print_lang_type): Remove.
5411         (print_lang_identifier): Rename c_print_identifier.
5412         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5413         (print_lang_statistics, lang_print_xnode): Remove.
5414         * c-parse.in (set_yydebug): Rename c_set_yydebug.
5415         * c-tree.h (c_set_yydebug, c_print_identifier): New.
5416         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
5417         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
5418         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
5419         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5420         (LANG_HOOKS_INITIALIZER): Update.
5421         * langhooks.h (struct lang_hooks): New members.
5422         (lang_print_tree_hook): New.
5423         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
5424         * print-tree.c: Include langhooks.h.
5425         (print_node): Update.
5426         * toplev.c (decode_d_option): Update.
5427         * tree.c: Include langhooks.h.
5428         (dump_tree_statistics): Update.
5429         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
5430         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
5431 objc:
5432         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
5433         LANG_HOOKS_SET_YYDEBUG): Override.
5434         (lang_print_xnode, print_lang_statistics): Remove.
5435
5436 2001-11-09  Richard Henderson  <rth@redhat.com>
5437
5438         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
5439         on the symbol string.
5440
5441 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5442
5443         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
5444         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
5445         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
5446
5447         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
5448
5449         * tlink.c (recompile_files): Copy strings passed to `putenv'.
5450
5451 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
5452
5453         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
5454         (TYPE_READONLY): Likewise.
5455
5456         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
5457
5458         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
5459         don't pass --gdwarf2 to the assembler if the compiler will also
5460         provide debug info.
5461
5462         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
5463         Don't change INDEX.
5464
5465 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5466
5467         * alias.c (nonoverlapping_memrefs_p): New function.
5468         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
5469
5470         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
5471
5472 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
5473
5474         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
5475         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
5476         generating altivec code.
5477         (FIXED_REGISTERS): VRSAVE is fixed.
5478         (CALL_USED_REGISTERS): VRSAVE is call used.
5479
5480 2001-11-09  Jason Eckhardt  <jle@rice.edu>
5481
5482         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
5483         code the branch target as ".+16/.+12", but rather use labels.
5484
5485 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
5486
5487         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
5488         to work around limitations of certain versions of GAS.
5489
5490         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
5491         (muldi3): Update due to SUBREG_BYTE changes.
5492         (casesi): Similarly.
5493
5494 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
5495
5496         * doc/invoke.texi: Remove comment referring to -xf77-version.
5497
5498 2001-11-09  Kazu Hirata  <kazu@hxi.com>
5499
5500         * config/convex/convex.c: Fix comment formatting.
5501         * config/convex/convex.h: Likewise.
5502
5503 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
5504
5505         * Makefile.in (.po.pox): Look both in srcdir and builddir
5506         for $(PACKAGE).pot.
5507         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
5508         to the source directory.
5509
5510 2001-11-09 Ben Elliston  <bje@redhat.com>
5511            Michael Meissner  <meissner@redhat.com>
5512            Andrew MacLeod  <amacleod@redhat.com>
5513            Richard Henderson  <rth@redhat.com>
5514            Nick Clifton  <nickc@redhat.com>
5515            Catherine Moore  <clm@redhat.com>
5516
5517         * m32r.c: Add support for m32rx processor.
5518         * m32r.h: Ditto.
5519         * m32r.md: Ditto.
5520         * t-m32r: Ditto.
5521         * m32r-protos.h: Add prototypes for m32rx functions.
5522         * doc/invoke.texi: Document -m32rx option.
5523
5524 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5525
5526         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
5527         or after reload.
5528
5529 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5530
5531         * doc/install.texi2html: Use $MAKEINFO --no-split.
5532
5533 2001-11-09  Andreas Schwab  <schwab@suse.de>
5534
5535         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
5536         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
5537         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
5538         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
5539         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
5540
5541 2001-11-09  H.J. Lu <hjl@gnu.org>
5542
5543         * config/mips/mips.c (mips_output_function_prologues): Cast
5544         `tsize' to long for output.
5545
5546 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5547
5548         * c-lang.c (LANG_HOOKS_NAME): New.
5549         (lang_hooks): Constify.
5550         (c_init_options): Update.
5551         (lang_identify): Remove.
5552         * c-parse.in (language_string): Remove.
5553         * dbxout.c: Include langhooks.h.
5554         (dbxout_symbol_location): Update.
5555         * dwarf2out.c: Include langhooks.h.
5556         (gen_compile_unit_die): Update.
5557         * dwarfout.c: Include langhooks.h.
5558         (prototyped_attribute, output_compile_unit_die): Update.
5559         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
5560         (LANG_HOOKS_INITIALIZER): Update.
5561         * langhooks.h (struct lang_hooks): New members.  Constify.
5562         * stringpool.c: Don't include toplev.h.
5563         (set_identifier_size): Remove.
5564         * toplev.c (toplev_main): Initialize identifier size.
5565         (print_version): Update.
5566         * tree.h (language_string, init_lex, lang_identify,
5567         set_identifier_size): Remove.
5568         * Makefile.in: Update dependencies.
5569         * config/darwin.c: Include langhooks.h.
5570         (func_name_maybe_scoped): Update.
5571         * config/darwin.h (ASM_END_FILE): Update.
5572         * config/nextstep.h (ASM_END_FILE): Update.
5573         * config/nextstep21.h (ASM_END_FILE): Update.
5574         * config/i386/sun386.h (ASM_END_FILE): Update.
5575         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
5576         (rs6000_output_function_epilogue): Update.
5577 objc:
5578         * objc-act.c (LANG_HOOKS_NAME): Override.
5579         (struct lang_hooks): Constify.
5580         (objc_init_options): Update.
5581         (lang_identify): Remove.
5582
5583 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
5584
5585         * fold-const.c (lshift_double): Honor PREC.
5586         (rshift_double): Likewise.
5587
5588 2001-11-08  Kazu Hirata  <kazu@hxi.com>
5589
5590         * config/1750a/1750a.c: Fix comment formatting.
5591         * config/1750a/1750a.h: Likewise.
5592
5593 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
5594
5595         * configure.in (--enable-languages): Be more permissive about
5596         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
5597         * configure: Regenerated.
5598
5599 2001-11-08  Richard Henderson  <rth@redhat.com>
5600
5601         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
5602
5603 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
5604
5605         * config.gcc: Rename stormy16 to xstormy16.
5606         * config/stormy16/stormy-abi: Likewise.
5607         * config/stormy16/stormy16-protos.h: Likewise.
5608         * config/stormy16/stormy16.c: Likewise.
5609         * config/stormy16/stormy16.h: Likewise.
5610         * config/stormy16/stormy16.md: Likewise.
5611
5612 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
5613
5614         * tree.h (TYPE_VOLATILE): Add enable-checking code.
5615         (TYPE_READONLY): Likewise.
5616
5617 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5618
5619         * reload1.c (reload): Don't delete equiv insn if can throw.
5620
5621         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
5622         (clear_storage): Likewise, for OBJECT.
5623
5624 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
5625
5626         * pa.c (emit_move_sequence): Fix SUBREG expression to
5627         use proper byte offset when extending a constant from
5628         SImode to DImode.
5629
5630 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5631
5632         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
5633         which cannot throw.
5634
5635 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5636
5637         * explow.c (convert_memory_address, case SUBREG): Only return
5638         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
5639
5640 2001-11-08  Richard Henderson  <rth@redhat.com>
5641
5642         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
5643         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
5644         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
5645
5646 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
5647
5648         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
5649
5650 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5651
5652         * dwarf2out.c (debug_str_hash): New.
5653         (struct indirect_string_node): New.
5654         (struct dw_val_struct): Change type of val_str to it.
5655         (DEBUG_STR_SECTION_FLAGS): Define.
5656         (add_AT_string): Push string into hashtable, increment reference
5657         counter.
5658         (AT_string): Return string from ht_identifier.
5659         (AT_string_form): New.
5660         (free_AT): For dw_val_class_str, just decrement reference counter.
5661         (size_of_string): Remove.
5662         (size_of_die): Use AT_string_form to decide what size the string
5663         occupies in DIE.
5664         (size_of_pubnames): Use strlen instead of size_of_string.
5665         (value_format): Use AT_string_form for dw_val_class_str.
5666         (output_die): Output DW_FORM_strp strings using
5667         dw2_asm_output_offset.
5668         (indirect_string_alloc, output_indirect_string): New.
5669         (dwarf2out_finish): Emit .debug_str strings if there are any.
5670
5671 2001-11-08  Andreas Franck  <afranck@gmx.de>
5672
5673         * configure.in: Add AC_ARG_PROGRAM to support program name
5674         transformation with --program-prefix, --program-suffix and
5675         --program-transform-name.
5676         * configure: Regenerated.
5677         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
5678         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
5679         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
5680         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
5681         program_transform_name the way suggested by autoconf.
5682         (GCC_TARGET_INSTALL_NAME): Define.
5683         (install-driver): Use the transformed target alias name.
5684
5685 2001-11-08  Richard Henderson  <rth@redhat.com>
5686
5687         * config/mips/mips.c (save_restore_insns): Remove GP from the
5688         restore registers mask early instead of special casing it inside
5689         the loop.
5690
5691 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5692
5693         * cp/decl.c (shadow_warning): New function.
5694         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
5695         and an error when a block scope decl shadows a parameter.
5696
5697 2001-11-08  Richard Henderson  <rth@redhat.com>
5698
5699         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
5700         case as well.
5701
5702 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5703
5704         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
5705         to implement floating negation on processors prior to PA 2.0.
5706
5707 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5708
5709         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
5710         (USE_LINKONCE_INDIRECT): Define.
5711         (dw2_output_indirect_constant_1): Try to output indirect constants
5712         into linkonce sections if possible.
5713         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
5714         (dw2_output_indirect_constants): Likewise.
5715
5716 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5717
5718         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
5719
5720 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5721
5722         * c-decl.c (pushdecl): Remove file and line.
5723         * c-typeck.c (pop_init_level): Remove size.
5724
5725 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5726
5727         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
5728         for rs6000.
5729
5730         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
5731         (TARGET_ALTIVEC): New.
5732         (TARGET_SWITCHES): Add altivec.
5733         (FIRST_PSEUDO_REGISTER): Change to 109.
5734         (CALL_USED_REGISTERS): Same.
5735         (FIRST_ALTIVEC_REGNO): New.
5736         (LAST_ALTIVEC_REGNO): New.
5737         (ALTIVEC_REGNO_P): New.
5738         (UNITS_PER_ALTIVEC_WORD): New.
5739         (ALTIVEC_VECTOR_MODE): New.
5740         (FIXED_REGISTERS): Add altivec registers.
5741         (REG_ALLOC_ORDER): Same.
5742         (HARD_REGNO_NREGS): Adjust for altivec registers.
5743         (HARD_REGNO_MODE_OK): Same.
5744         (MODES_TIEABLE_P): Same.
5745         (REGISTER_MOVE_COST): Same.
5746         (REGNO_REG_CLASS): Same.
5747         (reg_class): Add ALTIVEC_REGS.
5748         (REG_CLASS_NAMES): Same.
5749         (REG_CLASS_CONTENTS): Same.
5750         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
5751         (ALTIVEC_ARG_RETURN): New.
5752         (FUNCTION_VALUE): Handle VECTOR_TYPE.
5753         (LIBCALL_VALUE): Handle altivec vector modes.
5754         (VECTOR_MODE_SUPPORTED_P): New.
5755         (ALTIVEC_ARG_MIN_REG): New.
5756         (ALTIVEC_ARG_MAX_REG): New.
5757         (ALTIVEC_ARG_NUM_REG): New.
5758         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
5759         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
5760         (REGISTER_NAMES): Add altivec regs.
5761         (DEBUG_REGISTER_NAMES): Same.
5762         (ADDITIONAL_REGISTER_NAMES): Same.
5763         (rs6000_builtins): New.
5764         (MD_EXPAND_BUILTIN): New.
5765         (MD_INIT_BUILTINS): New.
5766         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
5767         for AltiVec instructions.
5768         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
5769         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
5770         registers.
5771         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
5772         (TARGET_SWITCHES): Add no-altivec.
5773         (DATA_ALIGNMENT): Align vectors to 128 bits.
5774         (TARGET_OPTIONS): Add abi= option.
5775         Add rs6000_abi_string extern.
5776         (LOCAL_ALIGNMENT): New.
5777         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
5778         (MASK_ALTIVEC_ABI): New.
5779         (TARGET_ALTIVEC_ABI): New.
5780         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
5781         call-saved.
5782         (STACK_BOUNDARY): Adjust for altivec.
5783         (BIGGEST_ALIGNMENT): Same.
5784         (rs6000_args): Add vregno.
5785         (USE_ALTIVEC_FOR_ARG_P): New.
5786         (FIXED_REGISTERS): Add vrsave register.
5787         (CALL_USED_REGISTERS): Same.
5788         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
5789         (VRSAVE_REGNO): New.
5790         (reg_class): Add VRSAVE_REGS.
5791         (REG_CLASS_NAMES): Same.
5792         (REG_CLASS_CONTENTS): Same.
5793         (REGNO_REG_CLASS): Same.
5794
5795         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
5796         (ABI_STACK_BOUNDARY): Same.
5797         (BIGGEST_ALIGNMENT): Same.
5798         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
5799         (ROUND_TYPE_ALIGN): Same.
5800
5801         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5802         to 64.
5803
5804         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5805         to 64.
5806
5807         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5808         to 64.
5809
5810         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
5811         (altivec_expand_builtin): New.
5812         (altivec_init_builtins): New.
5813         (TARGET_EXPAND_BUILTIN): New.
5814         (TARGET_INIT_BUILTINS): New.
5815         (rs6000_init_builtins): New.
5816         (struct builtin_description): New.
5817         (bdesc_2arg): New.
5818         (rs6000_reg_names): Add altivec registers.
5819         (alt_reg_names): Same.
5820         (secondary_reload_class): Altivec regs can hold altivec regs and
5821         memory.
5822         (rs6000_emit_move): Force constants into memory for AltiVec moves.
5823         (print_operand): Add 'y' case for printing altivec memory
5824         operands.
5825         (rs6000_legitimize_address): Legitimize vector addresses into
5826         [REG+REG] or [REG].
5827         (altivec_expand_binop_builtin): New.
5828         New string rs6000_current_abi.
5829         (rs6000_override_options): Call rs6000_parse_abi_options.
5830         (rs6000_parse_abi_options): New.
5831         (function_arg_boundary): Vector arguments must be 16
5832         byte aligned.
5833         (function_arg_advance): Handle vector arguments.
5834         (function_arg_partial_nregs): Same.
5835         (init_cumulative_args): Same.
5836         (function_arg): Same.
5837
5838         * config/rs6000/rs6000.md (altivec_lvx): New.
5839         (type): Add altivec attribute.
5840         (movv4si): New.
5841         (*movv4si_internal): New.
5842         (movv16qi): New.
5843         (*movv16qi_internal): New.
5844         (movv8hi): New.
5845         (*movv8hi_internal1): New.
5846         (movv4sf): New.
5847         (*movv4sf_internal1): New.
5848         (altivec_stvx): New.
5849         (vaddubm): New.
5850         (vadduhm): New.
5851         (vadduwm): New.
5852         (vaddfp): New.
5853         (vaddcuw): New.
5854         (vaddubs): New.
5855         (vaddsbs): New.
5856         (vadduhs): New.
5857         (vaddshs): New.
5858         (vadduws): New.
5859         (vaddsws): New.
5860         (vand): New.
5861         (vandc): New.
5862         (vavgub): New.
5863         (vavgsb): New.
5864         (vavguh): New.
5865         (vavgsh): New.
5866         (vavguw): New.
5867         (vavgsw): New.
5868         (vcmpbfp): New.
5869         (vcmpequb): New.
5870         (vcmpequh): New.
5871         (vcmpequw): New.
5872         (vcmpeqfp): New.
5873         (vcmpgefp): New.
5874         (vcmpgtub): New.
5875         (vcmpgtsb): New.
5876         (vcmpgtuh): New.
5877         (vcmpgtsh): New.
5878         (vcmpgtuw): New.
5879         (vcmpgtsw): New.
5880         (vcmpgtfp): New.
5881         (vcmpgefp): New.
5882         (vcmpgtub): New.
5883         (vcmpgtsb): New.
5884         (vcmpgtuh): New.
5885         (vcmpgtsh): New.
5886         (vcmpgtuw): New.
5887         (vcmpgtsw): New.
5888         (vcmpgtfp): New.
5889         (vmaxub): New.
5890         (vmaxsb): New.
5891         (vmaxuh): New.
5892         (vmaxsh): New.
5893         (vmaxuw): New.
5894         (vmaxsw): New.
5895         (vmaxfp): New.
5896         (vmrghb): New.
5897         (vmrghh): New.
5898         (vmrghw): New.
5899         (vmrglb): New.
5900         (vmrglh): New.
5901         (vmrglw): New.
5902         (vminub): New.
5903         (vminsb): New.
5904         (vminuh): New.
5905         (vminsh): New.
5906         (vminuw): New.
5907         (vminsw): New.
5908         (vminfp): New.
5909         (vmuleub): New.
5910         (vmulesb): New.
5911         (vmuleuh): New.
5912         (vmulesh): New.
5913         (vmuloub): New.
5914         (vmulosb): New.
5915         (vmulouh): New.
5916         (vmulosh): New.
5917         (vnor): New.
5918         (vor): New.
5919         (vpkuhum): New.
5920         (vpkuwum): New.
5921         (vpkpx): New.
5922         (vpkuhss): New.
5923         (vpkshss): New.
5924         (vpkuwss): New.
5925         (vpkswss): New.
5926         (vpkuhus): New.
5927         (vpkshus): New.
5928         (vpkuwus): New.
5929         (vpkswus): New.
5930         (vrlb): New.
5931         (vrlh): New.
5932         (vrlw): New.
5933         (vslb): New.
5934         (vslh): New.
5935         (vslw): New.
5936         (vsl): New.
5937         (vslo): New.
5938         (vsrb): New.
5939         (vrsh): New.
5940         (vrsw): New.
5941         (vsrab): New.
5942         (vsrah): New.
5943         (vsraw): New.
5944         (vsr): New.
5945         (vsro): New.
5946         (vsububm): New.
5947         (vsubuhm): New.
5948         (vsubuwm): New.
5949         (vsubfp): New.
5950         (vsubcuw): New.
5951         (vsububs): New.
5952         (vsubsbs): New.
5953         (vsubuhs): New.
5954         (vsubshs): New.
5955         (vsubuws): New.
5956         (vsubsws): New.
5957         (vsum4ubs): New.
5958         (vsum4sbs): New.
5959         (vsum4shs): New.
5960         (vsum2sws): New.
5961         (vsumsws): New.
5962         (vxor): New.
5963
5964 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
5965
5966         * Makefile.in (df.o): Add fibheap.h to dependencies.
5967
5968         * df.h: Add prototypes for transfer functions, iterative_dataflow
5969         functions.
5970         (enum df_flow_dir): New enum.
5971         (enum df_confluence_op): New enum.
5972         (struct df): Add inverse_rts_map.
5973
5974         * df.c: Add sbitmap.h to the list of includes.
5975         (df_rd_global_compute): Removed.
5976         (df_ru_global_compute): Removed.
5977         (df_lr_global_compute): Removed.
5978         (df_rd_transfer_function): New function.
5979         (df_ru_transfer_function): New function.
5980         (df_lr_transfer_function): New function.
5981         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
5982         Use iterative_dataflow_bitmap instead of df_*_global_compute.
5983         (iterative_dataflow_sbitmap): New function.
5984         (iterative_dataflow_bitmap): New function.
5985
5986 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5987
5988         * doc/gcc.texi: Move terminology and spelling conventions to
5989         htdocs/codingconventions.html.
5990
5991 2001-11-07  Graham Stott  <grahams@redhat.com>
5992
5993         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
5994
5995 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
5996
5997         * expmed.c (expand_mult): Force operand to register before computing
5998         cost.
5999         * i386.c (x86_decompose_lea): New global vairable.
6000         * i386.h (x86_decompose_lea): Declare.
6001         (TARGET_DECOMPOSE_LEA): New macro.
6002         (RTX_COST): Handle leas properly.
6003
6004 2001-11-06  Richard Henderson  <rth@redhat.com>
6005
6006         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6007         defined for a CONSTRUCTOR; don't check it.
6008
6009 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6010
6011         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6012         test for absolute pathnames.
6013
6014 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
6015
6016         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6017         instructions up to the target pc inclusive.
6018
6019 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
6020
6021         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
6022
6023 2001-11-06  Eric Christopher  <echristo@redhat.com>
6024
6025         * config/mips/mips.md(movdf_internal2): Add constraints for float
6026         to general register move.
6027         * config/mips/elf64.h: Add default ABI.
6028
6029 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6030
6031         * alias.c:: Include langhooks.h.
6032         * emit-rtl.c: Similarly.
6033         * toplev.c: Similarly.
6034         * tree-inline.c: Similarly.
6035         * langhooks-def.h: New, the old langhooks.h.  Give the default
6036         hooks a common prefix.
6037         * langhooks.h: Contents extracted from toplev.h.
6038         * toplev.h: Move langhook stuff to langhooks.h.
6039         * langhooks.c: Give default hooks a common prefix.
6040
6041         * c-lang.c: Include langhooks-def.h.
6042         * objc/objc-act.c: Similarly.
6043         * Makefile.in: Update.
6044         * objc/Make-lang.in: Update.
6045
6046 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6047
6048         * doc/install.texi: Document that configure options not listed in
6049         this file are unsupported.  Document --with-system-zlib.
6050
6051 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6052
6053         * rtl.h (mem_for_const_double): New declaration.
6054         * varasm.c (mem_for_const_double): New function.
6055         * config/convex/convex.md (movdf): Use it.
6056         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6057         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6058         * config/m68k/m68kv4.h: Likewise.
6059
6060         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6061         of new GP reg classes.
6062
6063         * expr.c (store_field): When making temp object for unaligned
6064         component, set it to alias set 0.
6065
6066 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6067
6068         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6069         non-lvalue arrays if C99.
6070         * c-typeck.c (default_conversion): Split out code handling
6071         array-to-pointer and function-to-pointer conversions into a
6072         separate default_function_array_conversion function.
6073         (default_function_array_conversion): New function.  Keep track of
6074         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6075         arrays unchanged outside C99 mode instead of giving an error for
6076         them.
6077         (build_component_ref): Use pedantic_non_lvalue when handling
6078         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6079         (convert_arguments): Use default_function_array_conversion.
6080         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6081         non-lvalues are OK.
6082         (unary_complex_lvalue): Likewise.
6083         (internal_build_compound_expr): Use
6084         default_function_array_conversion.  Apply default conversions to
6085         function in compound expression.
6086         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6087         Use default_function_array_conversion.
6088         * doc/extend.texi: Update documentation of subscripting non-lvalue
6089         arrays.
6090         Fixes PR c/461.
6091
6092 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6093
6094         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6095         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6096         corresponding to the complete set of .po and .gmo files in
6097         the source directory's po subdir, modified by LINGUAS.  Don't
6098         look at ALL_LINGUAS.
6099         * configure.in: Don't set ALL_LINGUAS.
6100         * configure: Regenerate.
6101
6102         * Makefile.in (.po.gmo): Don't move into source directory.
6103         (.po.pox): Clarify comments.
6104         (install-po): Look for .gmo files in both srcdir and objdir;
6105         don't fail if a file is totally missing.
6106         (distclean): rmdir ada subdirectory too.
6107
6108 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6109
6110         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6111         CONSTRUCTORs _correctly_.
6112
6113 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6114
6115         * c-decl.c (delete_block): Remove.
6116         * c-tree.h (delete_block): Remove.
6117
6118 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6119
6120         * cppexp.c (lex, parse_defined): Update warning about defined.
6121
6122 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6123
6124         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6125         CONSTRUCTORs too.
6126
6127 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6128
6129         * config/arm/arm.c (arm_return_in_memory): Cope with
6130         int_size_in_bytes returning -1.
6131
6132         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6133         DECL being NULL.
6134
6135 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6136
6137         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6138         remove unneeded dependencies;
6139         (cfglayout.o): New.
6140         * cfglayout.c, cfglayout.h: New files; break out from ...
6141         * bb-reorder.c: ... here; Remove unneeded includes;
6142
6143 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6144
6145         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6146
6147 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6148
6149         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6150         mode as well.  Do not explicitly create intermediate regs.
6151
6152 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6153
6154         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6155         (common_section): Delete unused variable.
6156         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6157         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6158         * arm-protos.h (arm_poke_function_name, aof_add_import,
6159         aof_delete_import): Const-ify.
6160         * arm.c (legitimize_pic_address): Wrap variables in the macro
6161         controlling their usage.
6162         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6163         (arm_poke_function_name, pic_chain, import, aof_add_import,
6164         aof_delete_import): Const-ify.
6165         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6166         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6167         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6168         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6169         * i860/sysv3.h: Add missing comment closure.
6170         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6171         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6172         to symbolic_operand.
6173
6174         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6175         (i960-*-*): Set tmake_file.
6176         (sparc86x-*-elf*): Fix typo in header name.
6177
6178         * sched-rgn.c (schedule_insns): Delete unused variable.
6179
6180 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6181
6182         PR c/2820
6183         * c-typeck.c (lookup_field): Rework to return a chain down to
6184         the looked-up field.
6185         (build_component_ref): Use the new lookup_field to handle
6186         nested anonymous entities correctly.
6187
6188 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6189
6190         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6191         Change parameters to gen_rtx_CONST_DOUBLE.
6192         (GEN_INT64, sparc_emit_set_const64): Likewise.
6193         * config/sparc/sparc.md (movdf split): Likewise.
6194
6195 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6196
6197         * unroll.c (calculate_giv_inc): Use find_last_value rather
6198         than just hoping the last instruction is the right SET.
6199         [Fixes 990604-1.c on stormy16.]
6200
6201         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6202         library at all if -T is used.
6203
6204         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6205         some uses of uninitialized variables in error cases.
6206
6207         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6208         look at 'temp' if we won't be using it.
6209
6210         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6211         (RTX_COSTS): Define.
6212         (ADDRESS_COST): Define.
6213         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6214
6215         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6216
6217         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6218         stormy16_asm_output_mi_thunk.
6219         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6220         function.
6221         * config/stormy16/stormy16-protos.h
6222         (stormy16_asm_output_mi_thunk): New prototype.
6223
6224 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6225
6226         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6227         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6228         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6229         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6230         sched-int.h, toplev.c, config/alpha/alpha.c,
6231         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6232         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6233         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6234         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6235         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6236         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6237         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6238
6239 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6240
6241         * Makefile.in (dbxout.o): Depend on function.h.
6242         * collect2.c (is_in_list): Hide unused function.
6243         * dbxout.c: Include function.h.
6244         (source_label_number, dbxout_source_line, dbxout_source_file,
6245         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6246         macros controlling usage.
6247         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6248         * output.h (exports_section): Prototype.
6249
6250         * convex.c (convex_output_function_prologue): Fix format specifier
6251         warning.
6252         (asm_declare_function_name): Fix signed/unsigned warning.
6253         (print_operand): Fix format specifier warning.
6254         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6255         * dsp16xx-protos.h (uns_comparison_operator,
6256         num_1600_core_shifts): Prototype.
6257         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6258         (frame_size, frame_pointer_offset): Delete.
6259         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6260         Make static.  Fix format specifier warnings.
6261         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6262         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6263         * dsp16xx.md: Add default case in switches.
6264         * fr30.h (IN_RANGE): Delete.
6265         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6266         * mcore-protos.h (mcore_output_cmov): Const-ify.
6267         * mcore.c (mcore_output_cmov): Likewise.
6268         * mcore.h (switch_to_section): Make static and prototype.
6269         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6270         unsigned>=0 warnings.
6271         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6272         * rs6000-protos.h (read_only_data_section,
6273         read_only_private_data_section): Prototype.
6274         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6275         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6276         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6277
6278 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6279
6280         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6281         ATTRIBUTE_UNUSED.
6282         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6283         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6284         Wrap variable in macros controlling its use.
6285         * output.h (sdata_section): Add prototype.
6286
6287         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6288         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
6289         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
6290         (ASM_FILE_START): Const-ify.
6291         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
6292         specifier warning.
6293         * c4x.md: Don't use the 'U' integer suffix.
6294         * clipper.md (clipper_movstr): Delete declaration.
6295         * d30v-protos.h (d30v_move_2words): Const-ify.
6296         (debug_stack_info): Add prototype.
6297         * d30v.c: Include "integrate.h".
6298         (d30v_function_arg_boundary, d30v_function_arg,
6299         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
6300         signed/unsigned warnings.
6301         (d30v_print_operand_memory_reference, d30v_move_2words):
6302         Const-ify.
6303         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
6304         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
6305         * fr30.md: Const-ify.
6306         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6307         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
6308         (mvs_get_label_page): Hide unused static function.
6309         * i860.c (current_function_original_name): Const-ify.
6310         * i860/sysv3.h (current_function_original_name): Likewise.
6311         * i860/sysv4.h (current_function_original_name): Likewise.
6312         * i960.md: Add default case in switches.  Remove unused variable.
6313         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
6314         * m32r.md: Const-ify.
6315         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
6316         * m68hc11.c: Include "reload.h".
6317         (static_chain_reg, print_options, m68hc11_asm_file_start):
6318         Const-ify.
6319         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
6320         around & in comparison.
6321         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6322         * mn10200.c (shift_mode): Remove trailing comma.
6323         * mn10300-protos.h (output_tst): Const-ify.
6324         * mn10300.c (output_tst): Likewise.
6325         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
6326         warnings.
6327         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
6328         * pa.c (output_ascii): Likewise.
6329         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6330         * pdp11.md (expand_unop): Delete declarations.
6331         * pj-protos.h (pj_output_addsi3): Const-ify.
6332         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
6333         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
6334         unique_src_operand): Add prototypes.
6335         (pj_output_store_into_lval): Make definition static.
6336         (pj_function_incoming_arg): Don't use unary plus.
6337         (pj_output_addsi3): Const-ify.
6338         * romp.md (get_symref): Delete declarations.
6339         * v850-c.c (mark_current_function_as_interrupt): Don't return
6340         value from void function.
6341         * v850.c: Include "integrate.h".
6342         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
6343         * vax-protos.h (const_section): Add prototype.
6344
6345 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
6346
6347         * machmode.def: Add documentation for the seventh argument in
6348         vector modes.
6349
6350 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
6351
6352         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
6353         consistently.
6354         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
6355         <-melf>: Don't have markup for ELF acronym.
6356
6357 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
6358
6359         * config.gcc (mmix-*-*): New target.
6360         * doc/invoke.texi: Document MMIX options.
6361         * doc/contrib.texi: Add note about MMIX port to my entry.
6362         * config/mmix/t-mmix: New file.
6363         * config/mmix/mmix.h: New file.
6364         * config/mmix/mmix-protos.h: New file.
6365         * config/mmix/mmix.c: New file.
6366         * config/mmix/mmix.md: New file.
6367         * config/mmix/crti.asm: New file.
6368         * config/mmix/crtn.asm: New file.
6369
6370 2001-11-03  Kazu Hirata  <kazu@hxi.com>
6371
6372         * config/sparc/linux-aout.h: Fix comment formatting.
6373         * config/sparc/linux.h: Likewise.
6374         * config/sparc/linux64.h: Likewise.
6375         * config/sparc/lynx.h: Likewise.
6376         * config/sparc/pbd.h: Likewise.
6377         * config/sparc/sol2-sld-64.h: Likewise.
6378         * config/sparc/sol2.h: Likewise.
6379         * config/sparc/sparc.c: Likewise.
6380         * config/sparc/sparc.h: Likewise.
6381         * config/sparc/sparc.md: Likewise.
6382         * config/sparc/sunos4.h: Likewise.
6383         * config/sparc/vxsim.h: Likewise.
6384         * config/sparc/vxsparc.h: Likewise.
6385         * config/sparc/vxsparc64.h: Likewise.
6386
6387 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6388
6389         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
6390         reference to CONST_DOUBLE_MEM in comment.
6391         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
6392         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
6393         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
6394         * function.c (pop_function_context_from): Don't call
6395         restore_varasm_status.
6396         * function.h (restore_varasm_status): Delete declaration.
6397         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
6398         * rtl.c: Likewise.
6399         * rtl.def (CONST_DOUBLE): Update comment.
6400         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
6401         (CONST_DOUBLE_CHAIN): Likewise.
6402         (CONST_DOUBLE_MEM): Delete.
6403         (gen_rtx_CONST_DOUBLE): Update parameters.
6404         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
6405         Remove reference to CONST_DOUBLE_MEM.
6406         (const_alias_set): New variable.
6407         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
6408         (immed_real_const_1): Adjust tests for 0, 1, and 2.
6409         Don't set CONST_DOUBLE_MEM.
6410         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
6411         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
6412         Put constant in const_alias_set.
6413         (struct pool_constant): ALIGN now unsigned.
6414         OFFSET now HOST_WIDE_INT.
6415         Delete LABEL.
6416         (restore_varasm_status): Deleted.
6417         (mark_pool_constant): Mark desc->rtl.
6418         (force_const_mem): Rework to store rtl in hash table,
6419         not CONST_DOUBLE_MEM.
6420         Put constant in const_alias_set.
6421         (find_pool_constant): Check desc->rtl.
6422         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
6423         (init_varasm_once): Initialize const_alias_set.
6424
6425         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
6426         force_const_mem.
6427
6428         * reload.c (combine_reloads): Don't combine an output reload if there
6429         are other reloads around for part of the output.
6430
6431         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
6432         constant expression.
6433         (set_mem_decl): New function.
6434         * expr.h (set_mem_decl): New declaration.
6435         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
6436         (output_asm_operand_names): Add tab.
6437         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
6438
6439         * builtins.c (get_memory_rtx): Properly set MEM alias set and
6440         attributes.
6441
6442 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6443
6444         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
6445         Use "invalid" instead of "illegal".  Use @r in comments in
6446         examples.
6447
6448 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6449
6450         * c-decl.c (pushdecl): Move block inside if conditional to remove
6451         possibility of a segfault.  Lookup block-level extern
6452         variables in enclosing scopes correctly.
6453
6454         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
6455
6456 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6457
6458         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
6459         SUBREG so we avoid SUBREGing memory.
6460
6461         * expmed.c (store_bit_field): Same.
6462
6463 2001-11-02  DJ Delorie  <dj@redhat.com>
6464
6465         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
6466         using FP registers for DImode mem-mem moves is acceptable.
6467
6468 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6469
6470         * builtins.c (apply_args_size): Handle vector arguments.
6471         (apply_result_size): Same.
6472
6473         * machmode.def: Set WIDER mode field for all vector entries.
6474
6475 2001-11-02  Graham Stott  <grahams@redhat.com>
6476
6477         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
6478
6479 2001-11-01  Eric Christopher  <echristo@redhat.com>
6480
6481         * config.gcc: Revert part of earlier patch.
6482         * config/mips/linux.h: Ditto.
6483         * df.c: Include tm_p.h to avoid warnings.
6484         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
6485         #if/#endif.
6486         * config/mips/mips.c: Define mips_abi regardless.
6487         (mips_output_function_prologues): Add long casts for .frame
6488         output.
6489         (override_options): Allow use of ABI_32.
6490
6491 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6492
6493         * config/m68hc11/m68hc11.c: Fix comment formatting.
6494         * config/m68hc11/m68hc11.h: Likewise.
6495         * config/m68hc11/m68hc11.md: Likewise.
6496
6497 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6498
6499         * c-typeck.c (default_conversion): Retain the original expression
6500         codes.
6501         * gcc.dg/Wparentheses.c: New tests.
6502
6503 2001-11-01  David S. Miller  <davem@redhat.com>
6504
6505         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
6506         64-bit Sparc description more in line with reality.
6507
6508 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
6509
6510         * Makefile.in (GCOV_OBJS): Add version.o.
6511         * gcov.c: Include "version.h" and <getopt.h>.
6512         (gcov_version_string): Remove.
6513         (print_usage): Take a parameter to determine whether this is a
6514         call from --help or an error message.  Give fuller output that
6515         follows the GNU Coding Standards for --help.
6516         (print_version): New function.
6517         (options): New.
6518         (process_args): Use getopt_long.  Support long options.  Follow
6519         GNU Coding Standards for --help and --version.
6520         * doc/gcov.texi: Document long options.
6521         Addresses part of PR other/704.
6522
6523 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6524
6525         * pa.c (output_move_double): Fix typo in double load.
6526
6527 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6528
6529         * config/h8300/h8300.c (h8300_encode_label): Compute a string
6530         before passing it to ggc_alloc_string.
6531
6532 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6533
6534         * config/m68k/3b1.h: Fix comment formatting.
6535         * config/m68k/3b1g.h: Likewise.
6536         * config/m68k/a-ux.h: Likewise.
6537         * config/m68k/amix.h: Likewise.
6538         * config/m68k/apollo68.h: Likewise.
6539         * config/m68k/atari.h: Likewise.
6540         * config/m68k/aux-exit.c: Likewise.
6541         * config/m68k/ccur-GAS.h: Likewise.
6542         * config/m68k/crds.h: Likewise.
6543         * config/m68k/dpx2.h: Likewise.
6544         * config/m68k/dpx2g.h: Likewise.
6545         * config/m68k/hp310.h: Likewise.
6546         * config/m68k/hp320.h: Likewise.
6547         * config/m68k/isi.h: Likewise.
6548         * config/m68k/linux.h: Likewise.
6549         * config/m68k/lynx.h: Likewise.
6550         * config/m68k/m68k-psos.h: Likewise.
6551         * config/m68k/m68k.c: Likewise.
6552         * config/m68k/m68k.h: Likewise.
6553         * config/m68k/m68k.md: Likewise.
6554         * config/m68k/m68kelf.h: Likewise.
6555         * config/m68k/m68kv4.h: Likewise.
6556         * config/m68k/mot3300.h: Likewise.
6557         * config/m68k/news.h: Likewise.
6558         * config/m68k/next.h: Likewise.
6559         * config/m68k/pbb.h: Likewise.
6560         * config/m68k/plexus.h: Likewise.
6561         * config/m68k/sgs.h: Likewise.
6562         * config/m68k/sun3.h: Likewise.
6563         * config/m68k/tower.h: Likewise.
6564         * config/m68k/vxm68k.h: Likewise.
6565
6566 2001-10-31  DJ Delorie  <dj@redhat.com>
6567
6568         * config/mips/mips.h (mips_cache_flush_func): Prototype.
6569         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
6570         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
6571         * config/mips/mips.c (mips_cache_flush_func): New.
6572         * doc/invoke.texi: Document the new options.
6573
6574 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
6575
6576         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
6577         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
6578
6579         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
6580
6581         * config/cris/cris.c: Include output.h after tree.h but before
6582         target.h.
6583
6584 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
6585
6586         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
6587         (INTL_SUBDIRS): Just intl.
6588         (.SUFFIXES): Add .gmo .po .pox.
6589         (native): Also depend on build-@POSUB@.
6590         (intl.all, intl.install): Depend on config.h and things it includes.
6591         (po-generated): New target; depend on c-parse.c and tradcif.c.
6592         (install-normal): Also depend on install-@POSUB@.
6593         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
6594         (build-, install-, build-po, update-po, install-po,
6595         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
6596
6597         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
6598         * configure.in: Don't munge XGETTEXT.  Don't generate
6599         po/Makefile.in.
6600         * configure: Regenerate.
6601
6602         * exgettext: Delete.
6603         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
6604         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
6605
6606 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6607
6608         * config/h8300/h8300.md (two anonymous patterns): New.
6609
6610 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
6611
6612         * tree.h (tree_index): Add support for V16QI and V8HI.
6613         (V8HI_type_node): New.
6614         (V16QI_type_node): New.
6615
6616         * tree.c (build_common_tree_nodes_2): Same.
6617
6618         * c-common.c (type_for_mode): Same.
6619
6620 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6621
6622         * config/i386/att.h: Fix comment formatting.
6623         * config/i386/beos-elf.h: Likewise.
6624         * config/i386/bsd.h: Likewise.
6625         * config/i386/bsd386.h: Likewise.
6626         * config/i386/crtdll.h: Likewise.
6627         * config/i386/cygwin.asm: Likewise.
6628         * config/i386/cygwin.h: Likewise.
6629         * config/i386/djgpp.h: Likewise.
6630         * config/i386/freebsd-aout.h: Likewise.
6631         * config/i386/freebsd.h: Likewise.
6632         * config/i386/gas.h: Likewise.
6633         * config/i386/i386-interix.h: Likewise.
6634         * config/i386/i386-protos.h: Likewise.
6635         * config/i386/i386.c: Likewise.
6636         * config/i386/i386.h: Likewise.
6637         * config/i386/i386.md: Likewise.
6638         * config/i386/i386elf.h: Likewise.
6639         * config/i386/interix.c: Likewise.
6640         * config/i386/isc.h: Likewise.
6641         * config/i386/isccoff.h: Likewise.
6642         * config/i386/iscdbx.h: Likewise.
6643         * config/i386/linux.h: Likewise.
6644         * config/i386/lynx.h: Likewise.
6645         * config/i386/mingw32.h: Likewise.
6646         * config/i386/netbsd-elf.h: Likewise.
6647         * config/i386/next.h: Likewise.
6648         * config/i386/osf1elf.h: Likewise.
6649         * config/i386/osfrose.h: Likewise.
6650         * config/i386/sco5.h: Likewise.
6651         * config/i386/seq-gas.h: Likewise.
6652         * config/i386/seq-sysv3.h: Likewise.
6653         * config/i386/sequent.h: Likewise.
6654         * config/i386/sol2.h: Likewise.
6655         * config/i386/sun386.h: Likewise.
6656         * config/i386/uwin.asm: Likewise.
6657         * config/i386/uwin.h: Likewise.
6658         * config/i386/vxi386.h: Likewise.
6659         * config/i386/win32.h: Likewise.
6660         * config/i386/winnt.c: Likewise.
6661         * config/i386/xm-cygwin.h: Likewise.
6662         * config/i386/xm-mingw32.h: Likewise.
6663
6664 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6665
6666         * builtins.def: Fix comment typos.
6667         * config/alpha.c: Likewise.
6668         * config/arm/arm.c: Likewise.
6669         * config/avr/avr.h: Likewise.
6670         * config/d30v/d30v.c: Likewise.
6671         * config/d30v/d30v.h: Likewise.
6672         * config/d30v/d30v.md: Likewise.
6673         * config/dsp16xx/dsp16xx.c: Likewise.
6674         * config/fr30/fr30.c: Likewise.
6675         * config/fr30/fr30.md: Likewise.
6676         * config/i386/i386.c: Likewise.
6677         * config/i860/i860.c: Likewise.
6678         * config/i960/i960.c: Likewise.
6679         * config/ia64/ia64.c: Likewise.
6680         * config/mips/mips.c: Likewise.
6681         * config/pa/pa.c: Likewise.
6682         * config/rs6000/rs6000.c: Likewise.
6683         * config/s390/s390.c: Likewise.
6684         * config/sparc/sparc.c: Likewise.
6685
6686 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6687
6688         * config/mips/elf.h: Fix comment formatting.
6689         * config/mips/elf64.h: Likewise.
6690         * config/mips/iris5.h: Likewise.
6691         * config/mips/iris5gas.h: Likewise.
6692         * config/mips/iris6.h: Likewise.
6693         * config/mips/isa3264.h: Likewise.
6694         * config/mips/linux.h: Likewise.
6695         * config/mips/mips.c: Likewise.
6696         * config/mips/mips.h: Likewise.
6697         * config/mips/mips.md: Likewise.
6698         * config/mips/mips16.S: Likewise.
6699         * config/mips/netbsd.h: Likewise.
6700         * config/mips/osfrose.h: Likewise.
6701         * config/mips/r3900.h: Likewise.
6702         * config/mips/sni-svr4.h: Likewise.
6703         * config/mips/svr4-t.h: Likewise.
6704         * config/mips/ultrix.h: Likewise.
6705
6706 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
6707
6708         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
6709         when we update head->current.
6710
6711 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6712
6713         * tree.c (id_string_size): Remove.
6714         (dump_tree_statistics): Update.
6715         * toplev.c (compile_file): If dumping stats, dump tree stats too.
6716
6717 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6718
6719         * sched-rgn.c (schedule_insns): Fix comment.
6720
6721 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
6722
6723         * configure.in: Correct previous change: don't assume that
6724         gas's version number _isn't_ the last thing on the line, or
6725         isn't the only number on the line, either.
6726         * configure: Regenerate.
6727
6728 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6729
6730         * cfgcleanup.c: Fix a comment typo.
6731
6732 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6733
6734         * alias.c: Fix comment formatting.
6735         * recog.c: Likewise.
6736         * config/cris/cris.c: Likewise.
6737         * config/cris/cris.h: Likewise.
6738         * config/i960/i960.c: Likewise.
6739         * config/i960/i960.h: Likewise.
6740
6741 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6742
6743         * config/arm/arm.c: Fix a comment typo.
6744         * config/arm/arm.h: Likewise.
6745         * config/ia64/ia64.c: Likewise.
6746
6747 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
6748
6749         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
6750         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
6751         * rtl.h (set_unique_reg_note): Change return value.
6752         * gcse.c (try_replace_reg): Use set_unique_reg_note.
6753         * cse.c (cse_insn): Likewise.
6754         * expr.c (emit_move_insn): Likewise.
6755         * explow.c (force_reg): Likewise.
6756         * local-alloc (update_equiv_regs): Likewise.
6757         * loop.c (move_moveables, load_mems): Likewise.
6758         * reload (find_reloads): Likewise.
6759
6760 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
6761
6762         Localization fixes.
6763         * c-decl.c (parmlist_tags_warning, start_struct,
6764         check_for_loop_decls): Separate messages for struct, union and
6765         enum cases to allow for languages in which they have different
6766         genders.
6767         * c-format.c (scanf_flag_specs): Separate short and long name of
6768         the assignment suppression feature.
6769         (check_format_types): Localize "pointer" and "different types"
6770         strings.
6771         * c-lex.c (lex_number): Localize "an unsigned long int" and
6772         related strings.
6773         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
6774         warning message.
6775         * c-typeck.c (build_unary_up): Separate messages for increment and
6776         decrement cases to allow for languages in which they use different
6777         articles.  Localize the strings "increment" and "decrement" in one
6778         case.
6779
6780 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
6781
6782         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
6783         when no changes has been made.
6784
6785         * gcse.c (reg_set_bitmap): Turn into reg_set.
6786         (modify_mem_list_set, canon_modify_mem_list_set)
6787         (clear_modify_mem_tables, free_modify_mem_tables): New.
6788         (gcse_main); Use free_modify_mem_tables.
6789         (free_gcse_mem): Likewise; free the bitmaps.
6790         (alloc_gcse_main): Initialize the bitmaps.
6791         (canon_list_insert): Set canon_modify_mem_list_set.
6792         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
6793         (compute_hash_table): Use clear_modify_mem_tables.
6794         (reset_opr_set_tables): Likewise.
6795         (oprs_not_set_p): reg_set_bitmap is regset.
6796         (mark_set, mark_clobber): Likewise.
6797
6798         * df.h (DF_EQUIV_NOTES): New constant.
6799         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
6800         when asked for.
6801
6802         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
6803         (init_regions, schedule_insns): Conditionalize the checking
6804         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
6805
6806 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
6807
6808         * i386.md (movti_rex64 splitter): Fix condition.
6809
6810 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
6811
6812         * configure.in: Do not assume that gas's version number is the
6813         last thing on the first line of as --version output.
6814         * configure: Regenerate.
6815
6816         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
6817         MT_WARNING, MT_ERROR, MT_FATAL.
6818         (main): Call gcc_init_libintl.
6819         (v_message): Call gettext on msgid and "warning: "
6820         * tradcif.y: Include intl.h.
6821         (yyerror): Make parameter definition consistent with
6822         prototype.  Call gettext on msgid argument.
6823
6824 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6825
6826         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
6827         warnings.
6828
6829         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
6830
6831 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6832
6833         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
6834         before referencing it.
6835
6836 2001-10-26  DJ Delorie  <dj@redhat.com>
6837
6838         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
6839         override -G, and force -G0.
6840
6841 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6842
6843         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
6844         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
6845         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
6846         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
6847
6848         * loop.h (struct induction): Rename ext_dependant to
6849         ext_dependent.
6850         * loop.c: Change all uses.
6851         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
6852         All callers changed.
6853         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
6854
6855 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6856
6857         * c-parse.in (expr_no_commas, primary), c-typeck.c
6858         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
6859
6860 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
6861
6862         Undo assemble_name change in earlier patch.
6863
6864 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
6865
6866         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
6867         determining the type of the receiver, do not check that TREE_CODE
6868         of receiver is CALL_EXPR before calling receiver_is_class_object().
6869         (receiver_is_class_object): For the GNU runtime: recognize
6870         the case that the receiver is self in a class method context.
6871         Check that TREE_CODE of receiver is CALL_EXPR when checking that
6872         the receiver is a call to objc_get_class.
6873
6874 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6875
6876         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
6877
6878 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6879
6880         * Makefile.in (OBJS): Put all files in alphabetical order.
6881
6882         * dwarf2out.c (add_const_value_attribute): Fix error in last
6883         change.
6884
6885 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6886
6887         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
6888         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
6889         fix warning.
6890         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
6891         (life_analysis): call purge_all_dead_edges after deleting noops.
6892         (delete_noop_move): Do not purge CFG.
6893         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
6894
6895 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
6896
6897         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
6898         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
6899         (ASM_GLOBALIZE_LABEL): Use assemble_name.
6900         (ASM_OUTPUT_COMMON): Likewise.
6901         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
6902         (rs6000_output_function_epilogue): Likewise.
6903         (output_mi_thunk): Fix typo.
6904         (rs6000_output_symbol_ref): Use assemble_name.
6905         (output_toc): Likewise.
6906         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
6907         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
6908         assemble_name calls STRIP_NAME_ENCODING.
6909         (ASM_OUTPUT_LABEL): Use assemble_name.
6910         (ASM_GLOBALIZE_LABEL): Likewise.
6911         (ASM_DECLARE_FUNCTION_NAME): Likewise.
6912         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
6913         (ASM_OUTPUT_LOCAL): Likewise.
6914
6915 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6916
6917         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
6918         (expand_builtin_apply, expand_builtin_return): Likewise.
6919         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
6920
6921 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6922
6923         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6924         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
6925         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
6926         configure, configure.in, except.c, except.h, flow.c, function.c,
6927         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
6928         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
6929         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
6930         unroll.c: Fix spelling errors.
6931
6932         * doc/extend.texi, doc/invoke.texi: Fix spelling.
6933
6934         * doc/gcc.texi: Document use of "dependent" and American spelling.
6935
6936 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6937
6938         * expr.c (emit_group_load): Support CONCATs by storing them to memory
6939         and reloading.
6940
6941 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6942
6943         * expr.c (store_constructor_field): Only call adjust_address on MEM.
6944
6945 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
6946
6947         * genrecog.c (write_switch):  Output if before switch for
6948         DT_elt_zero_wide_safe.
6949
6950 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6951
6952         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
6953         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
6954         (FUNCTION_PROFILER): Const-ify.
6955         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
6956         (eliminate_constant_term, assemble_name, output_addr_const):
6957         Remove declarations.
6958         (ptr_half_pic_address_p, half_pic_hash): Prototype.
6959         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
6960         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
6961         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
6962         (half_pic_declare, half_pic_external): Const-ify.
6963         * toplev.c: Include "halfpic.h".
6964
6965 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6966
6967         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
6968         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
6969         config/i386/i386.c, config/i386/i386-interix.h,
6970         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
6971         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
6972         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
6973         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
6974         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
6975         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
6976         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
6977         spelling errors.
6978
6979         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6980         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
6981         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
6982         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
6983         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
6984         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
6985         system.h, toplev.c: Fix spelling errors.
6986
6987 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6988
6989         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
6990
6991         * dwarf2out.c (reg_number): Abort if pseudo.
6992         (reg_loc_descriptor): Return 0 if pseudo.
6993         (is_based_loc): Return 0 if pseudo.
6994         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
6995         recursive calls.
6996         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
6997         (loc_descriptor): Return 0 if can't find location and handle 0
6998         return from recursive calls.
6999         (loc_descriptor_from_tree): Likewise.
7000         Fix handling of indirect.
7001         Also return 0 for PLACEHOLDER_EXPR.
7002         Clean up COMPONENT_REF cases.
7003         (add_AT_location_descriptor): Simplify, but handle 0 return from
7004         loc_descriptor.
7005         (add_const_value_attribute): Avoid shift count warning.
7006         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7007         Set comp_unit_die as context if not in function.
7008
7009         * config/mips/mips-protos.h: Break up long lines.
7010         Remove needless #ifdef/#endif blocks.
7011         Don't declare functions declared in file made by genpreds or recog.h.
7012         * config/mips/mips.c (mips_output_function_prologue): TSIZE
7013         is now HOST_WIDE_INT; delete unneeded casts.
7014         * config/mips/mips.h: Don't use #elif.
7015
7016         * expr.c (stor_constructor_field): Always call adjust_address.
7017         Copy TARGET before changing its alias set.
7018         (store_field): Likewise, for TO_RTX.
7019         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7020         replacement.
7021         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7022         (find_placeholder): Return 0 if can't find object.
7023         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7024         returns 0.
7025
7026 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7027
7028         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7029
7030 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
7031
7032         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7033         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7034         (merge_blocks): Properly udpate life after making edge nonfallthru.
7035         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7036
7037 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7038
7039         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7040
7041 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7042
7043         * c-typeck.c (convert_arguments): When comparing for enumeral
7044         type equality, use TYPE_MAIN_VARIANT.
7045         * gcc.dg/Wconversion.c: New tests.
7046
7047 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7048
7049         * s390/s390.c: Fix comment typos.
7050         * s390/s390.h: Likewise.
7051         * s390/s390.md: Likewise.
7052
7053 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7054
7055         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7056         (walk_tree): Use it for tail calls where appropriate.
7057
7058 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7059
7060         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7061         non-local label_refs.
7062
7063 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7064
7065         * config/h8300/h8300.md (4 anonymous patterns): New.
7066
7067 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7068
7069         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7070         algorithm through the shift_info structure.
7071         (emit_a_shift): Update the use of get_shift_alg.
7072
7073 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7074
7075         * sched-rgn.c: Remove bitset typedef.
7076         Change bitset to sbitmap in prototypes / variable types.
7077         Remove bbset_size.
7078         Remove edgeset_bits.
7079         Remove edgeset_size.
7080         s/BITSET_ADD/SET_BIT/g
7081         s/BITSET_INVERT/sbitmap_ones/g
7082         s/BITSET_INTER/sbitmap_a_and_b/g
7083         s/BITSET_UNION/sbitmap_a_or_b/g
7084         s/BITSET_DIFFER/sbitmap_difference/g
7085         s/bitset_member/TEST_BIT/g
7086         (BITSET_*): Removed.
7087         (bitset_member): Removed.
7088         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7089         EXECUTE_IF_SET_IN_SBITMAP.
7090         (split_edges): Rewrite, use sbitmap functions instead of bitset
7091         operations.
7092         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7093
7094 2001-10-26  Andreas Schwab  <schwab@suse.de>
7095
7096         * reload1.c (emit_input_reload_insns): Fix parens in last
7097         (undocumented) change that was supposed to change only whitespace.
7098
7099 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7100
7101         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7102
7103         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7104         ASM_OPERANDS.
7105
7106 2001-10-26  Andreas Jaeger  <aj@suse.de>
7107
7108         * flow.c (clear_log_links): Remove unused variable.
7109         * cfgcleanup.c (cleanup_cfg): Likewise.
7110
7111 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7112
7113         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7114         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7115
7116 2001-10-26  Richard Henderson  <rth@redhat.com>
7117
7118         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7119         rename PV_REG to R27_REG.
7120         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7121         (REG_CLASS_FROM_LETTER): Update.
7122         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7123         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7124         (udivsi3, modsi3, umodsi3): Likewise.
7125         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7126
7127 2001-10-26  Richard Henderson  <rth@redhat.com>
7128
7129         * cfg.c (clear_aux_for_blocks): Split out of ...
7130         (free_aux_for_blocks): here.
7131         (clear_aux_for_edges): Split from ...
7132         (free_aux_for_edges): here.
7133         * basic-block.h: Declare them.
7134         * lcm.c (compute_antinout_edge): Use them.
7135         (compute_laterin, compute_available, compute_nearerout): Likewise.
7136         (optimize_mode_switching): Likewise.
7137
7138 2001-10-26  Richard Henderson  <rth@redhat.com>
7139
7140         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7141         moving everything back to the main build directory.
7142
7143 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7144
7145         * config/i386/cygwin.h: Search target specific include directory, if
7146         appropriate.
7147
7148 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7149
7150         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7151         of macro guards. Fix #endif comment.
7152
7153         * output.h (default_exception_section, default_eh_frame_section):
7154         Move prototypes outside of macro guard.
7155
7156         * crtstuff.c: Fix #endif comment.
7157
7158 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7159
7160         * doc/md.texi (movMM): Clarify semantics of storing into a
7161         non-paradoxical SUBREG.
7162
7163 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7164
7165         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7166         (lang_hook_default_get_alias_set): Move next to other alias
7167         hooks.
7168         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7169         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7170         (LANG_HOOKS_INITIALIZER): Add it.
7171         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7172         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7173         instead of a loop calling poplevel.
7174
7175 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7176
7177         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7178         occurrences of #elif with #if...#endif.
7179
7180 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7181
7182         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7183
7184 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7185
7186         * alias.c (can_address_p): No longer static.
7187         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7188         Return 0 if all parameters are default values.
7189         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7190         (adjust_address_1): Try harder to compute a size.
7191         * expr.c (expand_assignment, store_constructor): If can't address,
7192         set MEM_KEEP_ALIAS_SET_P.
7193         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7194         (store_field): Likewise.
7195         (store_constructor): Simplify call to store_constructor_field.
7196         * expr.h (can_address_p): New declaration.
7197         * gensupport.c (gen_rtx_CONST_INT): New function.
7198         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7199         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7200         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7201
7202         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7203
7204 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7205
7206         * config/i386/cygwin.h: Use proper path for mingw crt files when
7207         -mno-cygwin.
7208
7209 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7210
7211         * dwarf2out.c (file_info_cmp): Always return consistent results.
7212
7213 2001-10-24  Roger Sayle <roger@eyesopen.com>
7214
7215         * stmt.c (expand_end_case): Index jumptables from zero for
7216         suitably small values of minval.
7217
7218 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7219
7220         * stor-layout.c (place_union_field): If any field was aligned with
7221         attribute aligned, set record type's TYPE_USER_ALIGN.
7222         (place_field): Likewise.
7223         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7224         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7225
7226 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7227
7228         * c-common.h (struct c_common_identifier): Remove rid_code field.
7229         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7230
7231         * c-typeck.c (constructor_designated): New local flag.
7232         (struct constructor_stack): Add "designated" field to match.
7233         (start_init): Clear it.
7234         (really_start_incremental_init, push_init_level): Push and
7235         clear it.
7236         (pop_init_level): Pop it.
7237         (set_designator): Set it.
7238
7239         (pop_init_level): Suppress "missing initializer" warnings if
7240         constructor_designated is true.
7241         (process_init_element): Suppress warning about union
7242         initialization under traditional C, if constructor_designated
7243         is true.
7244
7245 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7246
7247         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7248         change.
7249
7250 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7251
7252         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7253
7254 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7255
7256         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7257         the node was already a set to a constant.
7258
7259 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7260
7261         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7262         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7263
7264 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7265
7266         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7267         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7268         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7269         * s390.c (s390_final_chunkify): Don't use string concatenation.
7270         (s390_function_prologue, s390_function_epilogue): Const-ify.
7271         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7272
7273 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7274
7275         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7276         prototypes.
7277
7278 2001-10-23  Stan Shebs  <shebs@apple.com>
7279
7280         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7281         -traditional-cpp in first-stage compilation.
7282
7283 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7284
7285         * gensupport.c (target_flags): Add.
7286
7287 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7288
7289         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
7290         if needed.
7291         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
7292         * except.c (expand_builtin_frob_return_addr): Likewise.
7293         (expand_builtin_eh_return): Likewise.
7294         * stmt.c (expand_computed_goto): Likewise.
7295         * explow.c (memory_address): Likewise.
7296         (allocate_dynamic_stack_space): Clean up predicate testing.
7297         (probe_stack_range): Convert SIZE to Pmode.
7298         * calls.c (rtx_for_function_call): Only call convert_memory_address
7299         if needed.
7300         Pass function call operand as ptr_mode, not Pmode.
7301         * expr.c (expand_assignment): Clean up calls to convert_memory
7302         address by only doing so when needed and making offsets Pmode.
7303         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
7304         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
7305         is in Pmode, not ptr_mode.
7306
7307 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7308
7309         * darwin-protos.h (constructor_section, destructor_section,
7310         mod_init_section, mod_term_section): Prototype.
7311         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
7312         Const-ify.
7313         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
7314         Likewise.
7315         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
7316         objc_section_init declaration.
7317         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
7318         (objc_section_init, try_section_alias): Make static.
7319         (alias_section): Make static and hide unused function.
7320         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
7321
7322 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7323
7324         * alias.c (can_address_p): Compnonents are not addressable if
7325         the containing type has alias set 0.
7326         (get_alias_set): Rework to use STRIP_NOPS.
7327         Only call front-end routine on object, type, or object with
7328         NOPs stripped, not inner values.
7329         Use language hook to call front-end routine.
7330         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
7331         (expand_builtin_apply): Call set_mem_align on MEMs we make.
7332         Don't pass alignment to emit_block_move.
7333         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
7334         (expand_builtin_memset): Likewise, but for clear_storage.
7335         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
7336         and remove C++ specific parts.
7337         * c-common.h (c_common_get_alias_set): Add declaration.
7338         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
7339         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
7340         (save_fixed_argument_area): Call set_mem_align.
7341         Remove alignment in call to emit_block_move.
7342         (emit_library_call_value_1, store_one_arg): Likewise.
7343         (target_for_arg): Remove; disabled long ago.
7344         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
7345         once and similar cleanups.
7346         (offset_address): Use proper introductory comment.
7347         * expr.c (emit_block_move): Use alignment from that of MEM args, not
7348         from explicit operand; all callers changed.
7349         (clear_storage): Likewise.
7350         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
7351         (store_field): Remove kludge on alias set used for to_rtx.
7352         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
7353         (expand_expr_unaligned): Call set_mem_attributes instead of
7354         set_mem_alias_set.
7355         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
7356         * function.c (assign_stack_temp_for_type): Set MEM alignment.
7357         (expand_function_end): Track MEM attributes of trampolines.
7358         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
7359         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
7360         attributes from original.
7361         * langhooks.c (lang_hook_default_get_alias_set): New function.
7362         (hook_get_alias_set_0): New function.
7363         * langhooks.h (hook_get_alias_set_0): New declaration.
7364         (lang_hook_default_get_alias_set): Likewise.
7365         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
7366         * reload1.c (alter_reg): Use adjust_address_nv.
7367         * rtl.c (get_mode_alignment): Moved to here.
7368         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
7369         change default if unknown from 1 to BITS_PER_UNIT.
7370         * stor-layout.c (get_mode_alignment): Remove from here.
7371         * toplev.h (struct lang_hoks): Add get_alias_set field.
7372         * tree.h (lang_get_alias_set): Delete declaration.
7373         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
7374         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
7375         (ix86_va_arg): Likewise.
7376         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
7377         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
7378         * config/sparc/sparc.c (sparc_va_arg): Likewise.
7379         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
7380         (expand_block_move_mem): Remove dead code.
7381
7382 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7383
7384         * c-common.c (warn_div_by_zero): New.
7385         * c-common.h (warn_div_by_zero): New.
7386         * c-decl.c (c_decode_option): Take it on the command line.
7387         * c-typeck.c (build_binary_op): Warn about division by zero.
7388         * doc/invoke.texi: Document the new command line option, fix
7389         documentation of -Wmultichar.
7390         * testsuite/gcc.dg/divbyzero.c: New tests.
7391         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
7392
7393 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7394
7395         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
7396
7397         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
7398         to avoid update_life_info call.
7399         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
7400         * cfgcleanup.c (bb_flags): New enum.
7401         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
7402         (notice_new_block, update_forwarder_flag): New functions.
7403         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
7404         (try_forward_edges): Likewise; update flags.
7405         (merge_blocks): Likewise.
7406         (outgoing_edges_match): Likewise.
7407         (try_crossjump_to_edge): Likewise.
7408         (try_optimize_cfg): Likewise; initialize and clear the flags;
7409         recompute life info if needed.
7410         (cleanup_cfg): No need to clear aux pointers.
7411
7412 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
7413
7414         * config/i386/i386.c (override_options): Default to minimum
7415         stack alignment when optimizing for code size.
7416         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
7417         change.
7418
7419         * config/i386/i386.c (override_options): Set upper limit of
7420         -mpreferred-stack-boundary to 12.
7421
7422 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
7423
7424         * recog.c (peephole2_optimize): Add default case to switch.
7425
7426 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7427
7428         * doc/gcc.texi (Sending Patches): Remove.
7429
7430 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
7431
7432         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
7433         fields when comparing.
7434
7435 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7436
7437         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
7438         * arm.c (HOST_INT, HOST_UINT): Likewise.
7439
7440 2001-10-22  Stan Shebs  <shebs@apple.com>
7441
7442         * config/darwin-protos.h (darwin_exception_section): Declare.
7443         (darwin_eh_frame_section): Declare.
7444
7445 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
7446
7447         * i386.md (movti_rex64): Fix mode.
7448
7449 2001-10-22  Stan Shebs  <shebs@apple.com>
7450
7451         * target.h (struct gcc_target): Add asm_out.exception_section,
7452         asm_out.eh_frame_section.
7453         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
7454         (TARGET_ASM_EH_FRAME_SECTION): New.
7455         (TARGET_INITIALIZER): Update.
7456         * output.h (default_exception_section): Declare.
7457         (default_eh_frame_section): Declare.
7458         * dwarf2out.c: Include target.h.
7459         (output_call_frame_info): Call target hook for eh frames.
7460         (default_eh_frame_section): New function.
7461         * except.c: Include target.h.
7462         (output_function_exception_table): Call target hook for exception
7463         section.
7464         * varasm.c (default_exception_section): Rename from
7465         exception_section, remove EXCEPTION_SECTION macro.
7466
7467         * config/darwin.h (darwin_eh_frame_section): New function.
7468         (EXCEPTION_SECTION): Remove.
7469         (TARGET_ASM_EXCEPTION_SECTION): Define.
7470         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
7471         (nextstep_exception_section): New function.
7472         (nextstep_eh_frame_section): New function.
7473         (TARGET_ASM_EXCEPTION_SECTION): Define.
7474         (TARGET_ASM_EH_FRAME_SECTION): Define.
7475
7476         * config/pa/som.h (EXCEPTION_SECTION): Remove.
7477         (TARGET_ASM_EXCEPTION_SECTION): Define.
7478         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
7479         (EXCEPTION_SECTION): Remove.
7480         (TARGET_ASM_EXCEPTION_SECTION): Define.
7481         * config/stormy16/stormy16.h: Remove comments referencing
7482         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
7483
7484         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
7485         TARGET_ASM_EH_FRAME_SECTION.
7486
7487 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
7488
7489         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
7490         terms.
7491
7492         * c-format.c: Fix spelling typo in comment.
7493
7494         * sched-int.h: Fix typo in GCC preamble.
7495
7496 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7497
7498         PR debug/4252
7499         * doc/invoke.texi: Remove references to -fdump-translation-unit.
7500
7501 2001-10-22  Richard Henderson  <rth@redhat.com>
7502
7503         * config/i386/i386.c (ix86_expand_clear): New.
7504         * config/i386/i386-protos.h: Declare it.
7505         * config/i386/i386.md (setcc peep2s): Use it.
7506         (movsi_xor): Unexport.
7507
7508 2001-10-22  Richard Henderson  <rth@redhat.com>
7509
7510         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
7511         free_EXPR_LIST_list for LOG_LINKS.
7512
7513 2001-10-21  Robert Lipe  <robertlipe@usa.net>
7514
7515         * config/i386/i386.c (sco_asm_named_section): Delete.
7516         (sco_asm_out_constructor): Delete.
7517         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
7518         (ASM_OUTPUT_DOUBLE_INT): Likewise.
7519         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
7520         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
7521         (EXCEPTION_SECTION): Delete EH scn renaming hack.
7522
7523 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7524
7525         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
7526         and/or fold extra calls into fewer ones.
7527         * collect2.c (dump_file): Likewise.
7528         * cppexp.c (parse_number): Likewise.
7529         * cpplex.c (_cpp_lex_direct): Likewise.
7530         * final.c (output_asm_insn, asm_fprintf): Likewise.
7531         * fix-header.c (inf_scan_ident, main): Likewise.
7532         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
7533         Likewise.
7534         * fold-const.c (real_hex_to_f): Likewise.
7535         * gen-protos.c (parse_fn_proto): Likewise.
7536         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
7537         * genrecog.c (change_state, write_action): Likewise.
7538         * gensupport.c (shift_output_template): Likewise.
7539         * local-alloc.c (requires_inout): Likewise.
7540         * mips-tfile.c (IS_ASM_IDENT): Likewise.
7541         * protoize.c (is_id_char, main): Likewise.
7542         * real.c (asctoeg): Likewise.
7543         * recog.c (asm_operand_ok): Likewise.
7544         * reload.c (find_reloads): Likewise.
7545         * scan.c (scan_identget_token): Likewise.
7546         * sched-vis.c (print_value): Likewise.
7547         * stringpool.c (ggc_alloc_string): Likewise.
7548         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
7549         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
7550         * tradcpp.c (rescan): Likewise.
7551         * tree.c (clean_symbol_name): Likewise.
7552         * varasm.c (decode_reg_name): Likewise.
7553
7554         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
7555         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
7556         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
7557         * m88k.c (output_ascii): Likewise.
7558         * m88k.h (OVERRIDE_OPTIONS): Likewise.
7559         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
7560         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
7561         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
7562
7563 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7564
7565         * langhooks.c (lang_hook_default_do_nothing,
7566         lang_hook_default_decode_option): New defaults.
7567         * langhooks.h: Make hooks unconditional and non-NULL.
7568         * toplev.c (compile_file, toplev_main): Update.
7569         * toplev.h: Update comments.
7570         * objc/objc-act.c (lang_hooks): Update to new paradigm.
7571
7572 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7573
7574         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
7575
7576         * system.h (IN_RANGE): New macro.
7577
7578 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
7579
7580         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
7581         INTLDEPS variable, which does not include $LIBICONV.
7582         * Makefile.in: Use INTLDEPS in LIBDEPS.
7583         * configure: Regenerate.
7584
7585 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7586
7587         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
7588         * cpplex.c (lex_percent, lex_dot): Remove.
7589         (get_effective_char, skip_block_comment, skip_line_comment,
7590         parse_identifier_slow, parse_number, parse_string, save_comment,
7591         _cpp_lex_direct): Update to do lookback freely.
7592         (IF_NEXT_IS, BACKUP): New macros.
7593         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
7594         * cppmacro.c (paste_tokens): Update.
7595
7596 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
7597
7598         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
7599
7600 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
7601
7602         * reload1.c (reload): Check CONSTANT_P before calling
7603         LEGITIMATE_PIC_OPERAND_P.
7604         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
7605         workaround of 2001-10-13.
7606
7607 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
7608
7609         * i386.c (split_di): Handle splitting of DFmode.
7610
7611 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7612
7613         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
7614         (adjust_address_1, offset_address): Likewise.
7615
7616         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
7617         (output_asm_insn): Call it for each line output.
7618         Don't record an operand more than once.
7619
7620         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
7621         * main.c: Include config.h and system.h, but not ansidecl.h.
7622         * Makefile.in (main.o): Update accordingly.
7623
7624 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7625
7626         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
7627
7628 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7629
7630         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
7631         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
7632         Break out from ...
7633         (find_sub_basic_blocks): ... here;
7634         (find_many_sub_basic_blocks): New.
7635         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
7636
7637         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
7638
7639         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
7640
7641         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
7642
7643         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
7644         * flow.c (update_life_info): Measure time.
7645         * c-decl.c: Include timevar.h
7646         (c_expand_body): Measure time.
7647         * toplev.c (rest_of_compilation): Measure time of mode switching
7648         separately.
7649         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
7650
7651         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
7652         (lang_independent_options): Add asynchronous-unwind-tables
7653         (toplev_main): flag_asynchronous_unwind_tables implies
7654         flag_unwind_tables.
7655         * flags.h (flag_asynchronous_unwind_tables): Declare.
7656         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
7657         flag_asynchronous_unwind_tables.
7658         (output_call_frame_info): Likewise.
7659         * invoke.texi (-fasynchronous-unwind-tables): Document.
7660         * i386.c (optimization_options): Enable
7661         flag_asynchronous_unwind_tables.
7662
7663         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
7664         * i386.md (s* expanders): Destination is QImode.
7665
7666         * toplev.c (rest_of_compilation): Do not call clear_log_links.
7667         * rtl.h (clear_log_links): Kill.
7668         * flow.c (clear_log_links): Make static; accept blocks parameter;
7669         do no clear life info.
7670         (update_life_info): Call clear_log_links.
7671
7672         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
7673
7674 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7675
7676         * cpplex.c (handle_newline, skip_escaped_newlines,
7677         get_effective_char, skip_block_comment, skip_line_comment,
7678         parse_identifier_slow, parse_number, parse_string,
7679         _cpp_lex_direct): Update to do more stepping back.
7680         (trigraph_ok): Similarly.  Rename trigraph_p.
7681         (SAVE_STATE, RESTORE_STATE): Remove.
7682         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
7683
7684         * cpplib.c (destringize): Rename destringize_and_run, and
7685         call run_directive directly.
7686         (_cpp_do__Pragma): Simplify.
7687
7688 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7689
7690         * pe.c (arm_pe_unique_section): Const-ify.
7691         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7692         (switch_to_section): Add static prototype.
7693
7694         * output.h (drectve_section): Prototype.
7695
7696 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7697
7698         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
7699         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
7700         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
7701         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
7702         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
7703         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
7704         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
7705         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
7706         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
7707         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
7708         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
7709         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
7710         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
7711         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
7712         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
7713         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
7714         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
7715         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
7716         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
7717         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
7718         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
7719         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
7720         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
7721         cris-*-none, cris-*-linux*: Update ${tmfile} list.
7722         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
7723         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
7724         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
7725         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
7726         v850-*-*): Delete superflous ${cpu_type} setting.
7727         * config/linux.h: Delete svr4.h include.
7728         (SET_ASM_OP): Delete.
7729         * config/netware.h (INT_ASM_OP): Undef before define.
7730         * config/ptx4.h: Delete elfos.h include.
7731         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
7732         * config/svr4.h: Delete elfos.h include. Update commentary.
7733         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
7734         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
7735         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
7736         config/v850/v850.h: Delete svr4.h include.
7737         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
7738         config/m68k/m68kv4.h, config/m88k/sysv4.h,
7739         config/sparc/sysv4.h: Update includes.
7740         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
7741         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
7742         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
7743         config/m88k/dguxbcs.h: Delete includes.
7744         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
7745         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
7746         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
7747         it.
7748         * config/m88k/dgux.h: Delete include.
7749         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
7750         defining it.
7751         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
7752         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
7753         * config/sh/elf.h: Update include.
7754         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
7755         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
7756
7757 2001-10-19  Catherine Moore  <clm@redhat.com>
7758
7759         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
7760         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
7761         base and count fields.
7762         (stormy16_expand_builtin_va_start):  last_reg_count changed to
7763         size_of_reg_args.  Use count + size in first comparison.
7764
7765 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7766
7767         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
7768         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
7769         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
7770         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
7771         Set alignment from type if INDIRECT_REF.
7772         (adjust_address_1, offset_address): Simplify alignment compuitation.
7773         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
7774         here; done by set_mem_attributes.
7775
7776 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7777
7778         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
7779         * arm-protos.h (rdata_section, zero_init_section, common_section):
7780         Prototype.
7781         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
7782         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
7783         traditional mode stringification.
7784         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
7785         in macros controling its use.
7786         * rtlanal.c: Include tm_p.h.
7787         * varasm.c (asm_output_aligned_bss): Mark parameter with
7788         ATTRIBUTE_UNUSED.
7789         (assemble_constant_align, assemble_start_function, assemble_align,
7790         assemble_variable, assemble_trampoline_template,
7791         output_constant_def_contents): Wrap potentially empty if-stmt body
7792         in brackets.
7793
7794 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7795
7796         * a29k-protos.h (literal_section): Prototype.
7797         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
7798         * a29k.md: Ensure function pointers are prototyped.
7799         * genattrtab.c (write_eligible_delay): Mark parameter with
7800         ATTRIBUTE_UNUSED.
7801
7802 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7803
7804         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
7805         * 1750a.c (print_operand): Fix format specifier warning.
7806         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
7807         * 1750a.md: Likewise.
7808         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
7809         * genemit.c (output_add_clobbers): Mark parameter with
7810         ATTRIBUTE_UNUSED.
7811         * genrecog.c (write_subroutine): Likewise.
7812         * integrate.c (expand_inline_function): Delete unused variable.
7813         * varasm.c (remove_from_pending_weak_list): Wrap with
7814         ASM_WEAKEN_LABEL.
7815
7816 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
7817
7818         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
7819         field is different to previous argument's neg field.
7820
7821         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
7822
7823 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7824
7825         * final.c (get_decl_from_op): New function.
7826         (output_asm_insn): Call it; write "*" when item with decl is address.
7827
7828 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
7829
7830         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
7831         about 64-bit support from the 3.0_branch version.
7832
7833 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
7834
7835         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
7836         USE_INCLUDED_LIBINTL when appropriate.
7837         * configure, config.in: Regenerate.
7838         * Makefile.in (datadir): Set to @datadir@.
7839         (intl.o): Also depend on $(CONFIG_H) and system.h.
7840
7841         * intl.c: Factor out common gettext initialization sequence.
7842         (gcc_init_libintl):  New function.
7843         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
7844         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
7845         off NLS.  Add multiple include guard.  No need to #ifdef-guard
7846         an #undef.  Prototype gcc_init_libintl here.
7847
7848         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
7849         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
7850         Use gcc_init_libintl.
7851
7852 2001-10-19  Catherine Moore  <clm@redhat.com>
7853
7854         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
7855
7856         * config/stormy16/stormy16.c (stormy16_split_move):  Make
7857         sure that REG_INC notes are present for auto_inc operands.
7858
7859 2001-10-19  Andreas Jaeger  <aj@suse.de>
7860
7861         * configure: Regenerated.
7862         * configure.in: Add x86_64 to switch statements.
7863
7864 2001-10-18  Richard Henderson  <rth@redhat.com>
7865
7866         * config/alpha/alpha.md (sibcall_osf_1): Load destination
7867         address into $27 explicitly.
7868         (sibcall_value_osf_1): Likewise.
7869
7870 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7871
7872         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
7873         (offset_address): New function.
7874         (free_emit_status): Free regno_decl.
7875         (init_emit): Pass proper number of elements to xcalloc.
7876         Allocate regno_decl.
7877         (mark_emit_status): Mark regno_decl values.
7878         * expr.c (highest_pow2_factor): New function.
7879         (expand_assigment): Use it and offset_address.
7880         Properly handle ptr_mode vs. Pmode in offset calculation.
7881         (store_constructor, expand_expr_unaligned): Likewise.
7882         (expand_expr, case COMPONENT_EXPR): Likewise.
7883         * expr.h (offset_address): New decl.
7884         * function.h (struct emit_status): Add regno_decl.
7885         (REGNO_DECL): New macro.
7886         * final.c (output_asm_name): Move in file and don't conditionalize
7887         on flag_print_asm_name.
7888         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
7889         Output names of operands, if known.
7890         * function.c (assign_parms): Set REGNO_DECL.
7891         * integrate.c (integrate_decl_tree): Likewise.
7892         * stmt.c (expand_decl): Likewise.
7893         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
7894
7895 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
7896
7897         * attribs.c (handle_noinline_attribute): New function.
7898         (handle_used_attribute): Likewise.
7899         (c_common_attribute_table): Added noinline and used.
7900         * doc/extend.texi (Function Attributes): Document them.
7901         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
7902         Warn when merging inline with attribute noinline.
7903         (start_decl, start_function): Warn if inline and attribute
7904         noinline appear in the same declaration.
7905
7906 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7907
7908         * config.gcc: Update c4x and i370 for C front end-specific
7909         dependencies.
7910         * config/c4x/c4x-c.c: New.
7911         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
7912         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7913         New declarations.
7914         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
7915         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7916         Make extern.
7917         (c4x_init_pragma): Remove.
7918         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
7919         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
7920         c4x_pr_ignored): Move to c4x-c.c.
7921         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7922         * config/c4x/t-c4x: Update.
7923         * config/i370/i370-c.c: New.
7924         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
7925         (i370_pr_map): Move to i370-c.c.
7926         * config/i370/t-i370: New.
7927
7928         * doc/tm.texi: Update.
7929
7930 2001-10-17  Stan Shebs  <shebs@apple.com>
7931
7932         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
7933         typo fixes throughout.
7934         (machopic_output_stub): Remove some dead code.
7935
7936 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
7937
7938         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
7939         leak.
7940
7941 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7942
7943         * Makefile.in (print-rtl.o): Depend on TREE_H.
7944         * alias.c (get_alias_set): Make two passes over objects to first
7945         see if inner object is access via restricted pointer.
7946         Defer allocating alias set for restricted pointer until here.
7947         Call find_placeholder with second arg nonzero.
7948         Minor cleanups.
7949         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
7950         set for restricted pointer types.
7951         * emit-rtl.c (set_mem_attributes): Set more attributes.
7952         (set_mem_align, change_address, adjust_address_1): New functions.
7953         (change_address_1): Now static.
7954         (adjust_address, adjust_address_nv): Deleted.
7955         (replace_equiv_address): Call change_address_1.
7956         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
7957         (find_placeholder): Get starting point from PLIST arg.
7958         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
7959         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
7960         (adjust_address, adjust_address_nv): New macros.
7961         * print-rtl.c (tree.h): New include.
7962         (print_rtx, case MEM): Print all memory attributes.
7963
7964 2001-10-17  Richard Henderson  <rth@redhat.com>
7965
7966         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
7967
7968 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7969
7970         * c-tree.texi: Eliminate duplicated word.
7971         * cpp.texi: Likewise.
7972         * install.texi: Likewise.
7973         * invoke.texi: Likewise.
7974         * tm.texi: Likewise.
7975
7976 2001-10-17  Michael Collison  <collison@isisinc.net>
7977
7978         * dsp16xx.c: Fix comment formatting to match GNU standards.
7979         (dsp16xx_output_function_prologue): Change type of 'size'
7980         parameter from 'int' to HOST_WIDE_INT.
7981         (dsp16xx_output_function_epilogue): Change type of 'size'
7982         parameter from 'int' to HOST_WIDE_INT.
7983
7984 2001-10-16  Richard Henderson  <rth@redhat.com>
7985
7986         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
7987         * configure, config.in: Rebuild.
7988
7989         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
7990         (ix86_output_addr_diff_elt): New.
7991         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
7992         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7993         (JUMP_TABLES_IN_TEXT_SECTION): New.
7994         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
7995         * config/i386/i386-protos.h: Update.
7996
7997         * config/i386/386bsd.h, config/i386/beos-elf.h,
7998         config/i386/freebsd-aout.h, config/i386/freebsd.h,
7999         config/i386/i386-interix.h, config/i386/i386elf.h,
8000         config/i386/linux.h, config/i386/netbsd-elf.h,
8001         config/i386/netbsd.h, config/i386/openbsd.h,
8002         config/i386/ptx4-i.h, config/i386/rtemself.h,
8003         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8004         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8005
8006 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
8007
8008         * stmt.c (expand_asm_operands): Update commentary.
8009
8010 2001-10-16  Stan Shebs  <shebs@apple.com>
8011
8012         * config/darwin.h (GCC_NAME): Remove, no longer used.
8013         (NO_MATH_LIBRARY): Ditto.
8014         (MATH_LIBRARY): Define to emptiness.
8015         (DWARF2_DEBUGGING_INFO): Define.
8016         (PREFERRED_DEBUGGING_TYPE): Define.
8017         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8018         (EXCEPTION_SECTION): Define.
8019         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8020         * config/darwin.c (darwin_encode_section_info): Handle case of
8021         DECL_INITIAL being error_mark_node.
8022
8023 2001-10-16  Richard Henderson  <rth@redhat.com>
8024
8025         * alpha.c (current_file_function_operand): Don't fail for profiling.
8026         (direct_call_operand): New.
8027         * alpha-protos.h: Declare it.
8028         * alpha.h (EXTRA_CONSTRAINT): Use it.
8029         (PREDICATE_CODES): Add it.
8030         (ASM_OUTPUT_MI_THUNK): Remove.
8031         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8032         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8033
8034 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
8035
8036         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8037         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8038
8039 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8040
8041         * cfg.c (free_edge): Break out from ....
8042         (remove_edge): ... here.
8043         (clear_edges): Use free_edge.
8044
8045         * att.h (ASM_QUAD): Add comment.
8046         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8047
8048 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8049
8050         * i386.c (split_ti): New function.
8051         (ix86_split_to_parts): Support TImodes.
8052         * i386.h (VALID_INT_MODE_P): Add TImode.
8053         * i386.md (movdi splitter): Fix.
8054         (movti): Support 64bit integer registers.
8055         (movti_rex64): New function and splitter.
8056
8057         * i386.c (*_cost): Add movsx/movzx cost.
8058         * i386.h (struct processor_costs): Add movsx/movzx fields.
8059         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8060         64bit operations require split on 64bit machine.
8061         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8062
8063         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8064         (ix86_expand_move): Avoid pushes of memory if size does not match;
8065         move long constants to register.
8066         (x86_initialize_trampoline): Fix mode.
8067         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8068         Use ASM_QUAD on 64bit.
8069         * i386.md (test pattern): Disallow impossible constants.
8070         (tablejump PIC expander): Fix emitting of sum.
8071         (movdicc_rex64): Rename to movdicc.
8072         * linux64.h (LINK_SPEC): Add missing '%'.
8073
8074 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8075
8076         * tree-inline.c (inlinable_function_p): Leave it up to the
8077         front-end to turn -finline-functions into DECL_INLINE set for all
8078         functions.
8079
8080 2001-10-16  Stan Shebs  <shebs@apple.com>
8081
8082         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8083
8084 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8085
8086         * recog.c: Formatting and comment typo fixes.
8087
8088         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8089         version in single tree build.
8090         * configure: Regenerate.
8091
8092 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8093
8094         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8095         MODE arguments to gen_rtx and compare operand with const0_rtx.
8096
8097 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8098
8099         * system.h: Poison old unused target macros.
8100         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8101         * config/stormy16/stormy16.c: Update references to obsolete macros.
8102         * config/stormy16/stormy16.h: Similarly.
8103         * config/stormy16/stormy16.md: Similarly.
8104         * config/cris/cris.h: Similarly.
8105
8106 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8107
8108         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8109         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8110         cpp_register_pragma): Update accordingly.
8111
8112 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8113
8114         * c-pragma.h (cpp_register_pragma_space): Remove.
8115         * cpplib.h (cpp_register_pragma_space): Remove.
8116         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8117         (cpp_register_pragma_space): Remove.
8118         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8119         add sanity checks.
8120         (do_pragma): Similarly.
8121         (_cpp_init_internal_pragmas): Don't register namespaces.
8122
8123         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8124         Don't register namespaces.
8125         * cp/lex.c (init_cp_pragma): Similarly.
8126         * doc/tm.texi: Update.
8127
8128 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8129
8130         PR c/4157
8131         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8132
8133 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8134
8135         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8136         add scheduling support.
8137         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8138         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8139         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8140
8141
8142 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8143
8144         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8145         missing CONSTANT_P test in core GCC.
8146
8147 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8148
8149         * cppmain.c (struct printer): New member source.
8150         (scan_translation_unit): Fix spacing at start of lines.
8151         (cb_line_change): Update.
8152
8153         * gcc.dg/cpp/spacing2.c: New test.
8154
8155 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8156
8157         * config/cris/arit.c: Use __builtin_labs, not abs.
8158
8159         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8160
8161         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8162         misplaced sprintf and fprintf argument.
8163
8164 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8165
8166         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8167         * configure.in, Makefile.in: Take out obsolete check-po logic.
8168         * configure, config.in: Regenerate.
8169
8170 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8171
8172         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8173         symtab declarations.
8174
8175 2001-10-12  Stan Shebs  <shebs@apple.com>
8176
8177         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8178         declarations of arguments and local variables.
8179
8180 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8181
8182         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8183         ENDFILE_SPEC definition.
8184
8185 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8186
8187         * gthr-dce.h: Fix comment formatting.
8188         * gthr-posix.h: Likewise.
8189         * gthr-single.h: Likewise.
8190         * gthr-solaris.h: Likewise.
8191         * gthr-vxworks.h: Likewise.
8192         * gthr-win32.h: Likewise.
8193
8194 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8195
8196         * final.c (output_asm_insn): Make sure assembly dialects are
8197         terminated, not nested.  Output `|' and `}' characters if they
8198         don't appear inside assembly dialect selection.
8199         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8200         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8201         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8202         strsetsi_rex_1): Add {} braces.
8203
8204 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8205
8206         * toplev.c (compile_file): Ignore return value from yyparse.
8207         Always pop any nested binding levels after yyparse returns.
8208
8209 2001-10-11  Richard Henderson  <rth@redhat.com>
8210
8211         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8212
8213 2001-10-11  Richard Henderson  <rth@redhat.com>
8214
8215         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8216         fall back to add_AT_long_long for large CONST_INT.
8217
8218 2001-10-11  Richard Henderson  <rth@redhat.com>
8219
8220         * config/i386/i386.md (setcc splitters): Add four splitters to
8221         simplify compound compares that simplify_comparison can't handle.
8222
8223 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8224
8225         * cpplex.c (digraph_spellings, token_spellings): Make static.
8226
8227 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8228
8229         * unroll.c (loop_iterations): Fixup last patch.
8230
8231 2001-10-11  Richard Henderson  <rth@redhat.com>
8232
8233         * rtl.h (REG_VTABLE_REF): New.
8234         * rtl.c (reg_note_name): Add it.
8235         * combine.c (distribute_notes): Handle it.
8236         * final.c (final_scan_insn): Handle it.
8237         * tree.def (VTABLE_REF): New.
8238         * expr.c (expand_expr): Handle it.
8239         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8240         * output.h: Declare them.
8241
8242 2001-10-11  Richard Henderson  <rth@redhat.com>
8243
8244         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8245         for a DECL_INITIAL.
8246
8247 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8248
8249         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8250         available in 64-bit mode.
8251
8252 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8253
8254         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8255         cris-*-linux* cases.
8256         * config/cris/cris-protos.h: New file.
8257         * config/cris/cris.c: New file.
8258         * config/cris/cris.h: New file.
8259         * config/cris/cris.md: New file.
8260         * config/cris/linux.h: New file.
8261         * config/cris/aout.h: New file.
8262         * config/cris/arit.c: New file.
8263         * config/cris/cris_abi_symbol.c: New file.
8264         * config/cris/mulsi3.asm: New file.
8265         * config/cris/t-aout: New file.
8266         * config/cris/t-cris: New file.
8267         * config/cris/t-elfmulti: New file.
8268         * config/cris/t-linux: New file.
8269         * doc/invoke.texi: Add CRIS options.
8270         * doc/install.texi (Specific): Add blurb for CRIS.
8271
8272 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8273
8274         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8275         before using it.
8276         * config/float/i32.h: Likewise.
8277         * config/float-i386.h: Likewise.
8278         * config/float-i64.h: Likewise.
8279         * config/float-m68k.h: Likewise.
8280         * config/float-sh.h: Likewise.
8281         * config/float-sparc.h: Likewise.
8282
8283 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8284
8285         * doc/contrib.texi: Add note about CRIS port to my entry.
8286
8287 2001-10-11  Kazu Hirata  <kazu@hxi.com>
8288
8289         * basic-block.h: Fix formatting.
8290         * bitmap.h: Likewise.
8291         * cpplib.h: Likewise.
8292         * c-tree.h: Likewise.
8293         * diagnostic.h: Likewise.
8294         * flags.h: Likewise.
8295         * ggc.h: Likewise.
8296         * longlong.h: Likewise.
8297         * real.h: Likewise.
8298         * reload.h: Likewise.
8299         * rtl.h: Likewise.
8300         * tree.h: Likewise.
8301
8302 2001-10-10  Richard Henderson  <rth@redhat.com>
8303
8304         * c-parse.in (asm_operand): Allow named operands.
8305         * genconfig.c (max_recog_operands): Set to 29.
8306         * local-alloc.c (requires_inout): Skip multiple digits.
8307         * recog.c (asm_operand_ok): Likewise.
8308         (preprocess_constraints): Use strtoul for matching constraints.
8309         (constrain_operands): Likewise.
8310         * regmove.c (find_matches): Likewise.
8311         * reload.c (find_reloads): Likewise.
8312         * stmt.c (parse_output_constraint): Don't reject in-out
8313         constraint on operands > 9.  Reject '[' in constraint.
8314         (expand_asm_operands): Handle named operands.  Use strtoul
8315         for matching constraints.
8316         (check_operand_nalternatives): Split out from expand_asm_operands.
8317         (check_unique_operand_names): New.
8318         (resolve_operand_names, resolve_operand_name_1): New.
8319
8320         * doc/extend.texi (Extended Asm): Document named operands.
8321         * doc/md.texi (Simple Constraints): Document matching constraints
8322         on operands > 9.
8323
8324 2001-10-10  Richard Henderson  <rth@redhat.com>
8325
8326         * combine.c (try_combine): Handle a SEQUENCE of one insn.
8327
8328         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
8329         (jcc splitters): Add two splitters to simplify compound compares
8330         that simplify_comparison can't handle.
8331
8332 2001-10-10  Richard Henderson  <rth@redhat.com>
8333
8334         * langhooks.c: Include langhooks.h.
8335         * Makefile.in (langhooks.o): Depend on it.
8336
8337 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
8338
8339         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
8340         should not be considered as a no-op.
8341         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
8342
8343 2001-10-10  Stan Shebs  <shebs@apple.com>
8344
8345         * alias.c: Remove uses of "register" specifier in declarations
8346         of arguments and local variables.
8347         * c-common.c: Ditto.
8348         * c-convert.c: Ditto.
8349         * c-decl.c: Ditto.
8350         * c-format.c: Ditto.
8351         * c-semantics.c: Ditto.
8352         * c-typeck.c: Ditto.
8353         * caller-save.c: Ditto.
8354         * calls.c: Ditto.
8355         * cfg.c: Ditto.
8356         * cfgbuild.c: Ditto.
8357         * cfgrtl.c: Ditto.
8358         * collect2.c: Ditto.
8359         * combine.c: Ditto.
8360         * convert.c: Ditto.
8361         * cppexp.c: Ditto.
8362         * cppfiles.c: Ditto.
8363         * cse.c: Ditto.
8364         * dbxout.c: Ditto.
8365         * defaults.h: Ditto.
8366         * df.c: Ditto.
8367         * dwarf2out.c: Ditto.
8368         * dwarfout.c: Ditto.
8369         * emit-rtl.c: Ditto.
8370         * explow.c: Ditto.
8371         * expmed.c: Ditto.
8372         * expr.c: Ditto.
8373         * final.c: Ditto.
8374         * fix-header.c: Ditto.
8375         * floatlib.c: Ditto.
8376         * flow.c: Ditto.
8377         * fold-const.c: Ditto.
8378         * function.c: Ditto.
8379         * gcc.c: Ditto.
8380         * gcse.c: Ditto.
8381         * gen-protos.c: Ditto.
8382         * genattrtab.c: Ditto.
8383         * gencheck.c: Ditto.
8384         * genconfig.c: Ditto.
8385         * genemit.c: Ditto.
8386         * genextract.c: Ditto.
8387         * genflags.c: Ditto.
8388         * gengenrtl.c: Ditto.
8389         * genoutput.c: Ditto.
8390         * genpeep.c: Ditto.
8391         * genrecog.c: Ditto.
8392         * gensupport.c: Ditto.
8393         * global.c: Ditto.
8394         * gmon.c: Ditto.
8395         * graph.c: Ditto.
8396         * haifa-sched.c: Ditto.
8397         * hard-reg-set.h: Ditto.
8398         * hash.c: Ditto.
8399         * integrate.c: Ditto.
8400         * jump.c: Ditto.
8401         * lists.c: Ditto.
8402         * local-alloc.c: Ditto.
8403         * loop.c: Ditto.
8404         * mips-tdump.c: Ditto.
8405         * mips-tfile.c: Ditto.
8406         * optabs.c: Ditto.
8407         * prefix.c: Ditto.
8408         * print-rtl.c: Ditto.
8409         * read-rtl.c: Ditto.
8410         * real.c: Ditto.
8411         * recog.c: Ditto.
8412         * reg-stack.c: Ditto.
8413         * regclass.c: Ditto.
8414         * regmove.c: Ditto.
8415         * reload.c: Ditto.
8416         * reload1.c: Ditto.
8417         * reorg.c: Ditto.
8418         * resource.c: Ditto.
8419         * rtl.c: Ditto.
8420         * rtlanal.c: Ditto.
8421         * scan.c: Ditto.
8422         * sched-deps.c: Ditto.
8423         * sched-rgn.c: Ditto.
8424         * sdbout.c: Ditto.
8425         * simplify-rtx.c: Ditto.
8426         * stmt.c: Ditto.
8427         * stor-layout.c: Ditto.
8428         * toplev.c: Ditto.
8429         * tradcif.y: Ditto.
8430         * tradcpp.c: Ditto.
8431         * tree.c: Ditto.
8432         * unroll.c: Ditto.
8433         * varasm.c: Ditto.
8434         * xcoffout.c: Ditto.
8435
8436 2001-10-10  Richard Henderson  <rth@redhat.com>
8437
8438         * rtl.h (can_reverse_comparison_p): Remove.
8439
8440 2001-10-10  Christopher Faylor <cgf@redhat.com>
8441
8442         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
8443         used.
8444
8445 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8446
8447         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
8448         (Thanks to Chris Faylor for suggesting macro name).
8449         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
8450         WIN32 defines.
8451         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
8452         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
8453         (MATH_LIBRARY): Undef before definition.
8454         (OUTPUT_QUOTED_STRING): Likewise.
8455         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
8456
8457 2001-10-10  Richard Henderson  <rth@redhat.com>
8458
8459         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
8460         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
8461         a tristate comparison value.
8462         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
8463
8464 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8465
8466         PR c++/4512
8467         * unroll.c (loop_iterations): Ignore insns generated by loop
8468         unrolling.
8469
8470         * config.gcc (mips*-*-gnu*): Delete support.
8471         * config/mips/gnu.h: Remove.
8472
8473 2001-10-10  Kazu Hirata  <kazu@hxi.com>
8474
8475         * calls.c: Fix formatting.
8476         * c-decl.c: Likewise.
8477         * cfgcleanup.c: Likewise.
8478         * combine.c: Likewise.
8479         * cppfiles.c: Likewise.
8480         * cpplib.c: Likewise.
8481         * cppmacro.c: Likewise.
8482         * crtstuff.c: Likewise.
8483         * cse.c: Likewise.
8484         * dwarf2out.c: Likewise.
8485         * expmed.c: Likewise.
8486         * expr.c: Likewise.
8487         * fold-const.c: Likewise.
8488         * function.c: Likewise.
8489         * gcse.c: Likewise.
8490         * genattrtab.c: Likewise.
8491         * ggc-page.c: Likewise.
8492         * integrate.c: Likewise.
8493         * libgcc2.c: Likewise.
8494         * loop.c: Likewise.
8495         * optabs.c: Likewise.
8496         * profile.c: Likewise.
8497         * protoize.c: Likewise.
8498         * real.c: Likewise.
8499         * recog.c: Likewise.
8500         * reload1.c: Likewise.
8501         * reload.c: Likewise.
8502         * reorg.c: Likewise.
8503         * resource.c: Likewise.
8504         * sched-rgn.c: Likewise.
8505         * sdbout.c: Likewise.
8506         * stmt.c: Likewise.
8507         * toplev.c: Likewise.
8508         * varasm.c: Likewise.
8509
8510 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
8511
8512         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
8513         * Makefile.in (langhooks.o): Add dependencies.
8514
8515 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
8516
8517         * rs6000.c (rs6000_emit_load_toc_table): Don't
8518         strdup the toc label.
8519         (create_TOC_reference): Likewise.
8520
8521 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8522
8523         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
8524         version default.
8525
8526 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8527
8528         * config/i386/i386.c (ix86_attribute_table): Correct
8529         min_len, max_len fields for dllimport, dllexport and shared.
8530
8531 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
8532
8533         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
8534         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
8535         Consistently use "nonzero" instead of "non-zero".
8536
8537 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8538
8539         * acconfig.h: Fix comment formatting.
8540         * c-dump.h: Likewise.
8541         * c-tree.h: Likewise.
8542         * conditions.h: Likewise.
8543         * expr.h: Likewise.
8544         * function.h: Likewise.
8545         * gthr.h: Likewise.
8546         * hwint.h: Likewise.
8547         * integrate.h: Likewise.
8548         * intl.h: Likewise.
8549         * loop.h: Likewise.
8550         * optabs.h: Likewise.
8551
8552 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8553
8554         * c-common.h: Fix comment formatting.
8555         * c-dump.c: Likewise.
8556         * cfg.c: Likewise.
8557         * diagnostic.h: Likewise.
8558         * except.c: Likewise.
8559         * gcc.h: Likewise.
8560         * gcov-io.h: Likewise.
8561         * genattrtab.c: Likewise.
8562         * output.h: Likewise.
8563         * predict.h: Likewise.
8564         * reload1.c: Likewise.
8565         * reload.h: Likewise.
8566         * resource.h: Likewise.
8567         * scan.h: Likewise.
8568         * system.h: Likewise.
8569         * tree.h: Likewise.
8570         * tree-inline.c: Likewise.
8571         * tsystem.h: Likewise.
8572         * varasm.c: Likewise.
8573         * xcoffout.h: Likewise.
8574
8575 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8576
8577         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
8578
8579 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8580
8581         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
8582         config/i386/i386elf.h, config/i386/netbsd-elf.h,
8583         config/i386/netware.h, config/mcore/gfloat.h,
8584         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
8585         config/netware.h, gccbug.in: Update FSF address.
8586
8587 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8588
8589         * c-common.c: Fix comment typos.
8590         * cfgrtl.c: Likewise.
8591         * collect2.c: Likewise.
8592         * cpplex.c: Likewise.
8593         * doloop.c: Likewise.
8594         * dwarf2out.c: Likewise.
8595         * dwarfout.c: Likewise.
8596         * expr.c: Likewise.
8597         * fold-const.c: Likewise.
8598         * gcc.c: Likewise.
8599         * gcov.c: Likewise.
8600         * gcse.c: Likewise.
8601         * global.c: Likewise.
8602         * ifcvt.c: Likewise.
8603         * loop.c: Likewise.
8604         * optabs.c: Likewise.
8605         * protoize.c: Likewise.
8606         * regclass.c: Likewise.
8607         * reorg.c: Likewise.
8608         * rtl.h: Likewise.
8609         * stmt.c: Likewise.
8610         * tree.h: Likewise.
8611         * doc/cpp.texi: Likewise.
8612         * doc/c-tree.texi: Likewise.
8613         * doc/extend.texi: Likewise.
8614         * doc/invoke.texi: Likewise.
8615         * doc/objc.texi: Likewise.
8616         * doc/tm.texi: Likewise.
8617
8618 2001-10-08  Richard Henderson  <rth@redhat.com>
8619
8620         * varasm.c (set_named_section_flags): Initialize "declared".
8621
8622 2001-10-08  Robert Lipe  <robertlipe@usa.net>
8623
8624         * varasm.c (struct in_named_entry): Add declared.
8625         (named_section_first_declaration): New function.
8626         (default_elf_asm_named_section): Use it.
8627         * output.h (named_section_first_declaration): New.
8628
8629 2001-10-08  Richard Henderson  <rth@redhat.com>
8630
8631         * i386.md (movsi_xor): Export.
8632         (setcc peep2): Use it when available; add an alternative to
8633         match zero_extendhisi2_and.
8634
8635 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8636
8637         * romp-protos.h (romp_initialize_trampoline): New function.
8638         * romp.c (romp_initialize_trampoline): Likewise.
8639         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
8640         romp_initialize_trampoline.
8641
8642 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8643
8644         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
8645         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8646         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8647         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8648
8649 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8650
8651         * unroll.c (loop_iterations): Extend check for multiple back edges.
8652
8653 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
8654
8655         * langhooks.h: New file.
8656         * Makefile.in (OBJS): Added langhooks.o.
8657         (c-lang.o): Depend on langhooks.h.
8658         (c-common.o): Don't depend on tree-inline.h.
8659         (tree-inline.o): Depend on toplev.h.
8660         (langhooks.o): New rule.
8661         * c-common.c: Don't include tree-inline.h.
8662         (c_mark_lang_decl): Mark argument c as unused.
8663         (c_common_lang_init): Don't initialize hooks here.
8664         * c-lang.c: Include langhooks.h, then override some macros.
8665         (lang_hooks): Initialize with macros in langhooks.h.
8666         (c_init): Don't initialize hooks here.
8667         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
8668         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
8669         * tree-inline.c: Include toplev.h.  Don't define hook variables.
8670         * tree-inline.h: Don't define hook types nor declare hook
8671         variables.  Move macros to...
8672         * langhooks.c: ... new file, as functions.  Adjust all callers.
8673
8674 2001-10-08  Jeffrey A Law  <law@cygnus.com>
8675
8676         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
8677         purge_mem_unchanging_flag on all instructions, not just on those
8678         before NOTE_INSN_FUNCTION_BEG.
8679
8680 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8681
8682         * cppmacro.c (_cpp_create_definition): Leave comments off.
8683
8684         * doc/cpp.texi: Update.
8685
8686 2001-10-08  DJ Delorie  <dj@redhat.com>
8687
8688         * c-decl.c (grokfield): Make sure the only unnamed fields
8689         we're allowing are either structs or unions.
8690         * doc/extend.texi: Add documentation for the unnamed field
8691         extension.
8692
8693 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
8694
8695         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
8696         * configure.in: Use it.
8697         * configure: Regenerated.
8698         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
8699         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
8700
8701 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8702
8703         * cppfiles.c (open_file): Don't mark zero-length files
8704         never-reread here.  Don't output diagnostics here either.
8705         (stack_include_file): Mark them never-reread here.
8706         (_cpp_read_file): Update.
8707
8708 2001-10-08  Richard Henderson  <rth@redhat.com>
8709
8710         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8711
8712 2001-10-08  Richard Henderson  <rth@redhat.com>
8713
8714         * expr.c (store_expr): When converting a CONST_INT for storage
8715         in a SUBREG, convert it to both SUBREG modes before stripping
8716         the SUBREG.
8717
8718 2001-10-08  Richard Henderson  <rth@redhat.com>
8719
8720         * varasm.c (restore_varasm_status): New.
8721         * function.h: Declare it.
8722         * function.c (pop_function_context_from): Call it.
8723
8724 2001-10-08  Richard Henderson  <rth@redhat.com>
8725
8726         * c-common.h (struct c_lang_decl): Add declared_inline.
8727         * c-tree.h (DECL_DECLARED_INLINE_P): New.
8728         * c-lang.c (c_disregard_inline_limits): Use it.
8729         * c-decl.c (duplicate_decls): Likewise.
8730         (pushdecl, redeclaration_error_message): Likewise.
8731         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
8732         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
8733         Set DECL_INLINE if -finline-functions.
8734         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
8735
8736 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8737
8738         * cppmacro.c (funlike_invocation_p): Move some logic to caller
8739         in enter_macro_context.  Create a padding token in its own context
8740         if necessary when the search for '(' fails.
8741         (enter_macro_context): Update.
8742
8743 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8744
8745         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
8746         genmultilib, toplev.c: Fix spelling errors of "separate" as
8747         "seperate", and corresponding spelling errors of related words.
8748
8749 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8750
8751         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
8752         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
8753         Likewise.
8754         * c-dump.c (dump_option_value_info): Likewise.
8755         * c-format.c (format_length_info, format_char_info,
8756         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
8757         * collect2.c (names): Likewise.
8758         * cppdefault.h (default_include): Likewise.
8759         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
8760         * flow.c (life_analysis): Likewise.
8761         * gcc.c (dir_separator_str, modify_target, option_map,
8762         target_option_translations, spec_list_1, extra_specs_1,
8763         init_spec): Likewise.
8764         * gcov.c (gcov_version_string): Likewise.
8765         * genattr.c (write_units): Likewise.
8766         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
8767         * gengenrtl.c (rtx_definition, defs): Likewise.
8768         * genrecog.c (pred_table): Likewise.
8769         * global.c (global_alloc): Likewise.
8770         * lcm.c (optimize_mode_switching): Likewise.
8771         * local-alloc.c (find_free_reg): Likewise.
8772         * params.h (param_info): Likewise.
8773         * predict.c (predictor_info): Likewise.
8774         * protoize.c (unexpansion_struct): Likewise.
8775         * real.c (bmask): Likewise.
8776         * recog.h (insn_operand_data, insn_data): Likewise.
8777         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
8778         * stmt.c (expand_nl_goto_receiver): Likewise.
8779         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
8780         target_switches, target_options): Likewise.
8781         * tradcif.y (token, tokentab2, yylex): Likewise.
8782         * tree.h (attribute_spec): Likewise.
8783
8784         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
8785         Likewise.
8786         * arc.c (arc_output_function_epilogue): Likewise.
8787         * arm.c (processors, all_cores, all_architectures,
8788         arm_override_options, isr_attribute_arg, isr_attribute_args,
8789         arm_isr_value): Likewise.
8790         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
8791         Likewise.
8792         * c4x.c (c4x_int_reglist): Likewise.
8793         * d30v.c (override_options): Likewise.
8794         * h8300.c (shift_insn): Likewise.
8795         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
8796         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
8797         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
8798         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
8799         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
8800         * i386.h (processor_costs, ix86_cost): Likewise.
8801         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
8802         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
8803         * m68k.c (codes_68881, codes_FPA): Likewise.
8804         * m88k.c (mode_from_align, max_from_align, all_from_align,
8805         best_from_align, m_options): Likewise.
8806         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
8807         * mcore.c (mode_from_align): Likewise.
8808         * mips/elf64.h (UNIQUE_SECTION): Likewise.
8809         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
8810         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
8811         * mips.h (mips_regno_to_class): Likewise.
8812         * ns32k.c (scales): Likewise.
8813         * pa.c (import_string, magic_milli): Likewise.
8814         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
8815         * sparc.c (leaf_reg_remap, sparc_override_options,
8816         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
8817         Likewise.
8818         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
8819
8820 2001-10-07  Dale Johannesen  <dalej@apple.com>
8821
8822         * reload1.c (reload_reg_free_p): Teach register interference
8823         checking that multiple output reloads are emitted in
8824         reverse order.
8825         reload1.c (reload_reg_reaches_end_p):  Ditto.
8826         reload1.c (reloads_conflict):  Ditto.
8827
8828 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8829
8830         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
8831         NULL_TREE inside @code.
8832
8833 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8834
8835         * doc/gcc.texi: Document consistent style of "32-bit",
8836         "Objective-C", and "@code{NULL}".
8837
8838 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8839
8840         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
8841         (cpp_token_len, cpp_spell_token, cpp_output_token,
8842         _cpp_equiv_tokens): Handle it.
8843         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
8844         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
8845         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
8846         error messages.
8847
8848 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8849
8850         * gcc.c (default_compilers): Remove .ada.
8851
8852 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8853
8854         * doc/cppinternals.texi: Update.
8855
8856 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8857
8858         * gcc.c (main): Set this_file_error if the appropriate
8859         compiler for a language has not been installed.
8860
8861 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
8862
8863         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
8864
8865 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
8866
8867         * gccbug.in (CATEGORIES): Add ada.
8868
8869 2001-10-05  Catherine Moore  <clm@redhat.com>
8870
8871         * config/stormy16/stormy-abi:  Document abi changes.
8872         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
8873         (ICALL_REGS): New register class.
8874         (NUM_ARGUMENT_REGISTERS): Now 6.
8875         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
8876         in registers.
8877         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
8878         * config/stormy16.md (call_internal, call_value_internal,
8879         indirect_jump): Use new 'z' constraint.
8880
8881 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8882
8883         * doc/cppinternals.texi: Update.
8884
8885 2001-10-05  Richard Henderson  <rth@redhat.com>
8886
8887         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
8888         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
8889         the gas section-name-as-label feature.
8890
8891 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8892
8893         * doc/cppinternals.texi: Update.
8894
8895 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8896
8897         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
8898         to ensure valid SImode constants.
8899
8900 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
8901
8902         * Makefile.in (c-decl.o): Depend on tree-inline.h.
8903         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
8904         * c-decl.c: Include tree-inline.h.
8905         (c_expand_body): Call optimize_inline_calls. Determine whether
8906         a function is inlinable upfront, and only clear
8907         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
8908         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
8909         (c_disregard_inline_limits): New function.
8910         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
8911         (c_post_options): Enable tree inlining if inlining is enabled.
8912         Don't inline trees when instrumenting functions.
8913         (c_init): Initialize lang_disregard_inline_limits and
8914         lang_cannot_inline_tree_fn.
8915         * tree-inline.c (initialize_inlined_parameters): Handle calls
8916         with fewer arguments than declared parameters, and fewer
8917         parameters than passed arguments.  Don't assume value is a
8918         DECL.
8919         (declare_return_variable): Convert return value back to the
8920         original type, if it was promoted.
8921         (tree_inlinable_function_p): New function.
8922         (inlinable_function_p): Don't look at DECL_INLINE if we're
8923         inlining all functions.  Make it work with a NULL id.
8924         Re-check DECL_UNINLINABLE after language-specific checks.
8925         * tree-inline.h (tree_inlinable_function_p): Declare it.
8926         * integrate.c (save_for_inline): Don't bother to prepare argvec
8927         when not inlining.
8928         * cse.c (check_for_label_ref): Don't check deleted labels.
8929
8930         * Makefile.in (tree-inline.o): Depend on newly-included headers.
8931         * tree-inline.c: Include headers needed for the functions moved in.
8932         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
8933         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
8934         (copy_body, initialize_inlined_parameters): Likewise.
8935         (declare_return_variable, inlinable_function_p): Likewise.
8936         (expand_call_inline, expand_calls_inline): Likewise.
8937         (optimize_inline_calls, clone_body): Likewise.
8938         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
8939         (copy_tree_r, remap_save_expr): Likewise.
8940
8941 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
8942
8943         * Makefile.in (OBJS): Added tree-inline.o.
8944         (c-common.o): Depend on tree-inline.h.
8945         (tree-inline.o): New target.
8946         * c-common.c: Include tree-inline.h.
8947         (c_mark_lang_decl): Don't mark saved_tree.
8948         (c_common_lang_init): Set lang_anon_aggr_type_p.
8949         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
8950         (struct c_lang_decl): Moved saved_tree to tree_decl.
8951         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
8952         * integrate.h (function_attribute_inlinable_p): Declare it.
8953         * integrate.c (function_attribute_inlinable_p): Export it.
8954         * tree-inline.c: New file.  Define variables declared in...
8955         * tree-inline.h: New file.  Declare functions to be moved to
8956         tree-inline.c.  Define macros and declare types and hooks for
8957         language-specific tree inlining.
8958         (flag_inline_trees): Moved definition from cp/decl2.c.
8959         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
8960         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
8961         (struct tree_decl): Moved saved_tree from c_lang_decl and
8962         inlined_fns from C++'s lang_decl.
8963
8964 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
8965
8966         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
8967         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
8968
8969 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8970
8971         * doc/cppinternals.texi: Update.
8972
8973 2001-10-04  Eric Christopher  <echristo@redhat.com>
8974
8975         * config/mips/mips.c (init_cumulative_args): Remember to set
8976         cum->prototype.
8977         * config.gcc: Redo linux configuration. Add target_cpu_default
8978         of soft-float to all mipsisa32 combinations and tx39.
8979         * config/mips/linux.h: Remove include of mips.h.
8980
8981 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
8982
8983         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
8984         HOST_LDFLAGS and HOST_CPPFLAGS.
8985
8986 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
8987
8988         * c-parse.in (objc_inherit_code, objc_pq_context,
8989         objc_public_flag): Make static.
8990         (objc_interface_context, objc_implementation_context,
8991         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
8992         global tree array in objc/objc-act.[ch].
8993         (methoddef): Remove unnecessary code.
8994
8995         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
8996         Hoist struct definitions to objc-act.h.
8997         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
8998         cat_count): Place declaration in objc-act.h.
8999         (objc_tree_index): Move enumeration to objc-act.h.
9000         (objc_global_trees): Place declaration and macro accessors in
9001         objc-act.h.
9002         (implementation_context): Remove duplicate; use
9003         objc_implementation_context instead:
9004         (method_context): Remove duplicate; use objc_method_context
9005         instead.
9006         (objc_ellipsis_node, objc_method_prototype_template,
9007         implemented_classes, function_type): Move global vars to
9008         objc_global_trees.
9009         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9010         (build_message_expr): Move actual construction of ObjC message
9011         send nodes to finish_message_expr.
9012         (finish_message_expr): New routine, contains code formerly in
9013         build_message_expr.
9014         * objc/objc-act.h (finish_message_expr): New prototype.
9015         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9016         declarations; these vars are now part of objc_global_trees.
9017         (objc_tree_index, objc_global_trees): Move definitions from
9018         objc-act.c.
9019         * objc/objc-tree.def: Update copyright info.
9020
9021 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
9022
9023         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9024         op is NULL.
9025         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9026         only if TARGET_ARCH64.
9027
9028 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
9029
9030         * doc/extend.texi: Fix some problems with previous checkin.
9031         * doc/invoke.texi: Likewise.
9032
9033 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9034
9035         * cpphash.h: Update comments.
9036         (cpp_context): Update.
9037         (spec_nodes): Remove n__Pragma.
9038         * cppinit.c (cpp_create_reader): Update.
9039         (builtin_array): Add _Pragma.
9040         * cpplib.h: Update comments.
9041         (NODE_DISABLED, BT_PRAGMA): New.
9042         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9043         * cppmacro.c (struct cpp_macro): Remove disabled.
9044         (builtin_macro): Return int, handle _Pragma, push the new token
9045         on the context stack.
9046         (funlike_invocation_p): Unconstify, update.
9047         (enter_macro_context): Handle builtins here.
9048         (replace_args, push_token_context, push_ptoken_context):
9049         Update for prototype changes.
9050         (_cpp_pop_context): Update.
9051         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9052         (cpp_sys_macro_p): Update.
9053         (_cpp_free_definition): Clear disabled flag.
9054         (_cpp_create_definition): Upate.
9055         * cppmain.c: Update comments.
9056
9057 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9058                                 Andreas Jaeger <aj@suse.de>,
9059                                 Jan Hubicka    <jh@suse.cz>
9060
9061         * doc/invoke.texi (i386 Options): Document x86-64 options.
9062         (i386 and x86-64 Options): Rename i386 options section.
9063
9064         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9065         (TARGET_SWITCHES): Add -munwind-info.
9066         (MASK_NO_UNWIND_INFO): New.
9067         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9068         biarch compilation.
9069         (ASM_OUTPUT_DOUBLE_INT): New.
9070
9071         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9072         * config.gcc: Fix tm_file settings for x86-64.
9073         * config/i386/x86-64.h: New file with OS independent x86-64
9074         definitions.
9075         * config/i386/biarch64.h: New file used to configure compiler
9076         to biarch/64bit compilation.
9077
9078         * config/i386/i386.c: (override_options): Set flags default
9079         for 64bit compilation.
9080
9081 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9082
9083         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9084         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9085         constants on x86_64.
9086         (ix86_attr_length_immediate_default): Support MODE_DI.
9087         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9088         condition.
9089         (indirect_jump, tablejump): Turn into expander.
9090
9091 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9092
9093         * c-common.c (c_format_attribute_table): Make format and
9094         format_arg attributes apply to function types rather than to
9095         decls.
9096         (is_valid_printf_arglist): Construct an attribute list and pass
9097         that to check_function_format rather than a name.
9098         * c-common.h (check_function_format): Adjust prototype.
9099         * c-decl.c (duplicate_decls): Preserve attributes from type of
9100         built-in decl when allowing for harmless conflict in types.
9101         * c-format.c (record_function_format,
9102         record_international_format, function_format_list,
9103         international_format_info, international_format_list): Remove.
9104         (function_format_info): Remove next, name and assembler_name.
9105         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9106         (decode_format_attr): New.
9107         (handle_format_attribute): Handle receiving a type rather than a
9108         decl.  Call decode_format_attr.  Store format information in a
9109         function_format_info.
9110         (handle_format_arg_attribute): Correct comment.  Handle receiving
9111         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9112         arg_num.
9113         (check_format_info_recurse, check_format_info_main): Take argument
9114         numbers as unsigned HOST_WIDE_INT.
9115         (check_function_format): Take a list of attributes from the
9116         function type rather than a name or assembler name.  Check for
9117         format attributes in that list and the attributes on the type of
9118         the current function rather than looking through
9119         function_format_list.
9120         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9121         numbers.
9122         (check_format_info_recurse): Take format_arg attributes from the
9123         type of the function calls rather than using
9124         international_format_list.  Allow for multiple format_arg
9125         attributes.
9126         * c-typeck.c (build_function_call): Pass type attributes to
9127         check_function_format rather than name or assembler name.  Don't
9128         require there to be a name or assembler name to check formats.
9129
9130 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9131
9132         * attribs.c (decl_attributes): Possibly call
9133         insert_default_attributes to insert default attributes on
9134         functions in a lazy manner.
9135         * builtin-attrs.def: New file; define the default format and
9136         format_arg attributes.
9137         * c-common.c (c_format_attribute_table): Move to earlier in the
9138         file.
9139         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9140         (enum built_in_attribute, built_in_attributes,
9141         c_attrs_initialized, c_init_attributes,
9142         c_common_insert_default_attributes): New.
9143         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9144         call c_init_attributes.
9145         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9146         * c-common.h (init_function_format_info): Don't declare.
9147         (c_common_insert_default_attributes): Declare.
9148         * c-decl.c (implicitly_declare, builtin_function): Call
9149         decl_attributes.
9150         (init_decl_processing): Don't call init_function_format_info.
9151         (insert_default_attributes): New.
9152         * c-format.c (handle_format_attribute,
9153         handle_format_arg_attribute): Be quiet about inappropriate
9154         declaration when applying default attributes.
9155         (init_function_format_info): Remove.
9156         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9157         (insert_default_attributes): Declare.
9158
9159 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9160
9161         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9162
9163 2001-10-01  Jim Wilson  <wilson@redhat.com>
9164
9165         * sched-deps.c (add_dependence): When elide conditional dependence,
9166         check that insn doesn't modify cond2.
9167
9168 2001-10-01  Dale Johannesen  <dalej@apple.com>
9169
9170         * config/rs6000/rs6000.h (enum processor_type): Add support
9171         for 7400 (G4) and 7450.
9172         (RTX_COSTS): Ditto.
9173         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9174         (rs6000_issue_rate): Ditto.
9175         (rs6000_adjust_cost): Fix cycle counts for compares.
9176         (debug_stack_info):  Fix an obvious typo.
9177         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9178         * doc/invoke.texi: Document.
9179         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9180         for Darwin.
9181         (PROCESSOR_DEFAULT): Ditto.
9182
9183 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9184
9185         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9186         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9187         later recursive make invocation.
9188
9189 2001-10-01  Hans Boehm  <boehm@acm.org>
9190
9191         * optabs.c (emit_libcall_block): When using non-call exceptions,
9192         don't add REG_LIBCALL reg notes to trapping calls.
9193
9194 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9195
9196         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9197         (propagate_one_insn):  Update for above change
9198
9199 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9200
9201         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9202         _Unwind_GetTextRelBase): Argument is unused.
9203
9204 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9205
9206         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9207         Loop through NOPs, placeholders, and components.
9208         Don't go through NOPs if change mode.
9209         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9210         * emit-rtl.c (set_mem_alias_set): Enable check.
9211         * expr.c (find_placeholder): New function.
9212         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9213         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9214         to modify it and avoid unneeded copies.
9215         * expr.h (expand_expr): Always define.
9216         (find_placeholder): New declaration.
9217
9218 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9219
9220         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9221         operand 2 is the stack pointer.
9222         ("addr-peephole"): Fix address computation peephole when operand 2
9223         is the stack pointer.
9224
9225 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9226
9227         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9228         (ix86_setup_incoming_varargs): Likewise.
9229
9230 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9231
9232         * stor-layout.c (layout_type): Don't complain about too-large
9233         array here.
9234
9235 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9236
9237         * function.c (keep_stack_depressed): Don't use delete_insn.
9238
9239         * expr.h (set_mem_alias_set): Move decl to here.
9240         * rtl.h (mem_attrs): New typedef and struct.
9241         (union rtunion_def): Add field for mem_attrs.
9242         (X0MEMATTR, MEM_ATTRS): New macros.
9243         (MEM_ALIAS_SET): Use MEM_ATTRS.
9244         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9245         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9246         (set_mem_alias_set): Delete decl from here.
9247
9248         * alias.c (set_mem_alias_set): Delete from here.
9249         * emit-rtl.c (mem_attrs_htab): New variable.
9250         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9251         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9252         (mem_attrs_mark, get_mem_attrs): Likewise.
9253         (gen_rtx_MEM): Clear MEM_ATTRS.
9254         (set_mem_attributes): Move to here.
9255         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9256         (init_emit_once): const_int_htab now deletable htab.
9257         Initialize mem_attrs_htab.
9258         * explow.c (set_mem_attributes): Delete from here.
9259         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9260         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9261         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9262         * reload1.c (reload): Rework changing REG to MEM.
9263
9264 2001-09-30  H.J. Lu <hjl@gnu.org>
9265
9266         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9267         * config.in: Rebuild.
9268
9269 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9270
9271         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9272         ("tsthi_1"): Avoid allocation in register y.
9273         ("*movqi_68hc12"): Reorganize and fix constraints.
9274         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9275         ("addqi3"): Likewise.
9276         ("addhi3"): Fix constraints.
9277         ("*logicalhi3_zexthi"): Disparage soft registers.
9278
9279 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9280
9281         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9282         to tmp reg.
9283
9284 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9285
9286         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
9287         that we use setjmp/longjmp exceptions.
9288
9289 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9290
9291         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
9292         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
9293         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9294         _cpp_pool_alloc, _cpp_next_chunk): Remove.
9295         (_cpp_extend_buff, BUFF_ROOM): Update.
9296         (_cpp_append_extend_buff): New.
9297         (struct cpp_reader): Remove macro_pool, add a_buff.
9298         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
9299         macro_pool.
9300         (cpp_destroy): Free a_buff instead of macro_pool.
9301         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
9302         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9303         _cpp_pool_alloc, ): Remove.
9304         (parse_number, parse_string): Update use of _cpp_extend_buff.
9305         (_cpp_extend_buff): Update.
9306         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
9307         * cpplib.c (glue_header_name, parse_answer):
9308         Update use of _cpp_extend_buff.
9309         (cpp_register_pragma, cpp_register_pragma_space): Use
9310         _cpp_aligned_alloc.
9311         (do_assert, do_unassert): Check for EOL, update.
9312         * cppmacro.c (stringify_arg, collect_args): Update to use
9313         _cpp_extend_buff and _cpp_append_extend_buff.
9314         (save_parameter, parse_params, alloc_expansion_token,
9315         _cpp_create_definition): Rework memory management.
9316
9317 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
9318
9319         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
9320         update md_exec_prefix.
9321         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
9322         to string constant.
9323
9324 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9325
9326         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
9327         (SELECT_CC_MODE): Use s390_select_ccmode.
9328         * config/s390/s390-protos.h (s390_select_ccmode): Add.
9329         * config/s390/s390.c (s390_select_ccmode): New.
9330         (s390_match_ccmode): Add CCLmode.
9331         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
9332         (output_branch_condition, output_inverse_branch_condition): Removed.
9333         (print_operand): Use s390_branch_condition_mnemonic.
9334         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
9335         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
9336         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
9337
9338         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
9339         when converting conditional branches to far branches.
9340         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
9341         cmpint_di): Use CCSmode instead of CCUmode.
9342
9343         * config/s390/s390.c (legitimate_la_operand_p): New.
9344         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
9345         * config/s390/s390.md (movsi): Convert load address patterns to
9346         arithmetic operations when necessary.
9347         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
9348         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
9349         (*do_la_reg_0): Don't use before reload.
9350
9351         * config/s390/s390.c (legitimize_address): Make more efficient
9352         use of two-register addressing mode.
9353
9354         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
9355         with -mno-backchain in some corner cases.
9356
9357         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
9358
9359 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
9360
9361         * reload.c (find_reloads): Mark new USE insns with QImode.
9362         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
9363         find_reloads_subreg_address): Likewise.
9364         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
9365         encountered.
9366         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
9367         CLOBBERs.
9368         (reload): Make sure there are no USEs with mode other than
9369         VOIDmode.  At the end, remove those marked with QImode.
9370
9371 2001-09-29  Per Bothner  <per@bothner.com>
9372
9373         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
9374         * Makefile.in (includedir):  Rename to local_includedir.
9375         (includedir):  Define as $(prefix)/include.
9376         * config.in (PREFIX_INCLUDE_DIR):  New variable.
9377         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
9378
9379 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
9380
9381         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
9382         storehps builtins.
9383         * doc/extend.texi (Vector Extensions): New node.
9384         * doc/invoke.texi (Machine Dependent Options): Add documentation for
9385         i386 -mmmx, -msse, -m3dnow.
9386
9387 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9388
9389         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
9390
9391 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
9392
9393         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
9394
9395         * doc/invoke.texi (Optimize Options): Delete spurious @table.
9396
9397 2001-09-28  Richard Henderson  <rth@redhat.com>
9398
9399         * varasm.c (assemble_integer): Bound alignment check by
9400         BIGGEST_ALIGNMENT.
9401
9402         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
9403
9404 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9405
9406         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
9407
9408 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9409
9410         Mostly from Graham Stott  <grahams@redhat.com>
9411         * c-common.c (type_for_mode): Add support for V2SFmode.
9412         * tree.c (build_common_tree_nodes_2): Likewise.
9413         * tree.h (enum tree_index, global_trees): Likewise.
9414         * config/i386/i386.c (x86_3dnow_a): New variable.
9415         (override_options): Support 3Dnow extensions.
9416         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
9417         Athlon's version of 3Dnow.
9418         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
9419         (ix86_expand_builtin): Handle them.
9420         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
9421         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
9422         TARGET_3DNOW_A): New macros.
9423         (TARGET_SWITCHES): Add 3Dnow switches.
9424         (VALID_MMX_REG_MODE_3DNOW): New macro.
9425         (VECTOR_MODE_SUPPORTED_P): Use it.
9426         (enum ix86_builtins): Add entries for 3Dnow builtins.
9427         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
9428         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
9429         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
9430         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
9431         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
9432         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
9433         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
9434         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
9435         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
9436         sfence_insn, prefetch): Make these available if TARGET_SSE or
9437         TARGET_3DNOW_A.
9438
9439 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9440
9441         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
9442         ix86_va_start, ix86_build_va_list): Declare.
9443         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
9444         ix86_va_start, ix86_build_va_list): New global functions.
9445         * i386.md (sse_prologue_save_insn): New insn.
9446         (sse_prologue_save): New expander.
9447         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
9448         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
9449
9450 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9451
9452         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
9453         Use size_t everywhere, make definitions consistent with
9454         prototypes.
9455
9456 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
9457
9458         * gcse.c (replace_store_insn): Use delete_insn.
9459         * loop.c (move_movables): Likewise; avoid delete_insn
9460         from clobbering notes moved elsewhere.
9461         (check_dbra_loop): Use delete_insn.
9462         * ssa.c (convert_from_ssa): Likewise.
9463         * cse.c (cse_insn): Use delete_insn.
9464
9465 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9466
9467         * cpphash.h (struct cpp_buff): Make unsigned.
9468         (_cpp_get_buff): Take length of size_t.
9469         (_cpp_unaligned_alloc): New.
9470         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
9471         (struct cpp_reader): Remove ident_pool.  Add u_buff.
9472         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
9473         (cpp_destroy): Destroy u_buff, not ident_pool.
9474         * cpplex.c (parse_number, parse_string, save_comment,
9475         cpp_token_as_text): Update to use the unaligned buffer.
9476         (new_buff): Make unsigned.
9477         (_cpp_unaligned_alloc): New.
9478         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
9479         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
9480         Similarly.
9481         (collect_args): Make unsigned.
9482
9483 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
9484
9485         * cpplex.c (cpp_output_token): Use a putc loop for
9486         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
9487
9488         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
9489         * configure, config.in: Regenerate.
9490         * system.h: Replace fwrite and fprintf with their unlocked
9491         variants if available.
9492
9493 2001-09-27  Richard Henderson  <rth@redhat.com>
9494
9495         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
9496         in favour of .eh_frame.
9497
9498 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
9499
9500         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
9501         to macros.
9502         (LIBCALL_VALUE): Likewise.
9503
9504 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9505
9506         * cpphash.h: Update comment.
9507         * cpplex.c: Update comments.
9508         (_cpp_can_paste): Remove.
9509         * cpplib.h (_cpp_can_paste): Remove.
9510         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
9511         lexer rather than _cpp_can_paste.
9512
9513 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9514
9515         * doc/cppinternals.texi: Update.
9516
9517 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9518
9519         * cpphash.h (struct cpp_pool): Remove locks and locked.
9520         (struct cpp_context): Add member buff.
9521         (struct cpp_reader): Remove member argument_pool.
9522         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9523         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
9524         * cpplex.c (chunk_suitable): Remove pool argument.
9525         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
9526         (new_buff, _cpp_extend_buff): Update.
9527         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
9528         which buffer is returned.
9529         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
9530         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9531         * cppmacro.c (lock_pools, unlock_pools): Remove.
9532         (push_ptoken_context): Take a _cpp_buff.
9533         (enter_macro_context): Pool locking removed.
9534         (replace_args): Use a _cpp_buff for the replacement list with
9535         arguments replaced.
9536         (push_token_context): Clear buff.
9537         (expand_arg): Use _cpp_pop_context.
9538         (_cpp_pop_context): Free a context's buffer, if any.
9539
9540 2001-09-26  DJ Delorie  <dj@redhat.com>
9541
9542         * c-typeck.c (digest_init): Check for sizeless arrays.
9543
9544 2001-09-26  Richard Henderson  <rth@redhat.com>
9545
9546         * optabs.c (init_one_libfunc): Create a dummy function type
9547         instead of using error_mark_node.
9548
9549 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9550
9551         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
9552         _cpp_extend_buff, _cpp_free_buff): New.
9553         (struct cpp_reader): New member free_buffs.
9554         * cppinit.c (cpp_destroy): Free buffers.
9555         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
9556         _cpp_extend_buff, _cpp_free_buff): New.
9557         * cpplib.h (struct cpp_options): Remove unused member.
9558         * cppmacro.c (collect_args): New.  Combines the old parse_arg
9559         and parse_args.  Use _cpp_buff for memory allocation.
9560         (funlike_invocation_p, replace_args): Update.
9561
9562 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9563
9564         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
9565
9566 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
9567
9568         * except.c (sjlj_mark_call_sites): Change address inside sequence.
9569
9570 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
9571
9572         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
9573         glibc.
9574
9575 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
9576             Jim Wilson  <wilson@redhat.com>
9577
9578         * doc/install.texi (Specific, ia64-*-linux): Document.
9579
9580 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9581
9582         * Makefile.in (cfgrtl.o): Add.
9583         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9584         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9585         free_aux_for_edge): Declare.
9586         * cfg.c
9587         (HAVE_return): Undefine.
9588         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9589         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9590         free_aux_for_edge): New global functions.
9591         (first_delete_block): New static variable.
9592         (init_flow): Clear first_delete_block.
9593         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
9594          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
9595          try_redirect_by_replacing_jump, last_loop_beg_note,
9596          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
9597          delete_insn, delete_insn_chain, create_basic_block_structure,
9598          create_basic_block, flow_delete_block, compute_bb_for_insn,
9599          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
9600          set_block_for_new_insns, split_block, merge_blocks_nomove,
9601          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
9602          redirect_edge_and_branch, force_nonfallthru_and_redirect,
9603          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
9604          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
9605          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
9606          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9607          purge_all_dead_edges): Move to ....
9608         * cfgrtl.c: New file; .... Here.
9609
9610         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
9611         (reroder_basic_block): Use alloc_aux_for_blocks.
9612         * predict.c (estimate_bb_frequencies): Likewise; use
9613         alloc_aux_for_edges.
9614         * profile.c (compute_branch_probabilities): Likewise.
9615         (branch_prob): Likewise.
9616         * reg-stack.c (reg_to_stack): Likewise.
9617
9618         * emit-rtl.c (emit_insns_after): Never return NULL.
9619
9620         * basic-block.h (set_block_for_new_insns): Delete.
9621         * cfgrtl.c (set_block_for_new_insns): Delete.
9622
9623         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
9624         calls when crossjumping.
9625
9626         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
9627         * unroll.c (copy_loop_body): Use delete_insn.
9628
9629         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
9630         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
9631         keep_stack_depressed): Likewise.
9632         * gcse.c (cprop_cc0_jump): Likewise.
9633         * local-alloc.c (update_equiv_regs): Likewise.
9634         * loop.c (scan_loop, loop_delete_insns): Likewise.
9635         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
9636         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
9637         delete_output_reload, delete_address_reloads_1,
9638         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
9639         Likewise.
9640         * sibcall.c (replace_call_placeholder): Likewise.
9641         * cse.c (cse_insn): Likewise.
9642
9643 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9644
9645         From Graham Stott  <grahams@redhat.com>
9646         (def_builtin): Only define builtins appropriate for target_flags.  All
9647         callers changed.
9648         (builtin_decsription): Add new field mask which is used to determine
9649         when to define the builtin via the macro def_builtin.
9650
9651         (bdesc_comi): Initialise new mask fields.
9652         (bdesc_2srg): Likewise.
9653         (bdesc_1arg): Likewise.
9654
9655         * config/i386/i386.c (ix86_init_builtins): Correct return type
9656         building v4hi_ftype_v4hi_int_int tree node.
9657         (ix86_expand_sse_comi): Fix typo swapping operands.
9658         Don't swap comparision condition, it is already swapped.
9659         (ix86_expand_sse_compare): Before swapping operands
9660         move operand 1 into new rtx and not the target rtx.
9661         Don't swap comparison condition, it is already swapped.
9662         Always check whether we need to create a new TARGET.
9663
9664         * config/i386/i386.md: (sse_comi) Fix typos.
9665         (sse_ucomi): Likewise.
9666         (cvtss2si): Fix operand 0 contraint.
9667         (cvttss2si): Likewise.
9668         (sse_unpckhps): Fix mode for operand 2.
9669         (sse_unpcklps): Likewise.
9670
9671 2001-09-25  Graham Stott  <grahams@redhat.com>
9672
9673         * sibcall.c (skip_copy_to_return_value): Tighten return value
9674         copy check.
9675
9676 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
9677
9678         * rs6000.c (lwa_operand): Address must be word aligned.
9679
9680 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9681
9682         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
9683         number has been set.
9684         (type_hash_mark): Mark type itself.
9685
9686 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9687
9688         * c-lex.c (cb_def_pragma): Update.
9689         (c_lex): Update, and skip padding.
9690         * cppexp.c (lex, parse_defined): Update, remove unused variable.
9691         * cpphash.h (struct toklist): Delete.
9692         (union utoken): New.
9693         (struct cpp_context): Update.
9694         (struct cpp_reader): New members eof, avoid_paste.
9695         (_cpp_temp_token): New.
9696         * cppinit.c (cpp_create_reader): Update.
9697         * cpplex.c (_cpp_temp_token): New.
9698         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
9699         (cpp_output_token): Don't print leading whitespace.
9700         (cpp_output_line): Update.
9701         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
9702         do_include_common, do_line, do_ident, do_pragma,
9703         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
9704         parse_assertion): Update.
9705         (get_token_no_padding): New.
9706         * cpplib.h (CPP_PADDING): New.
9707         (AVOID_LPASTE): Delete.
9708         (struct cpp_token): New union member source.
9709         (cpp_get_token): Update.
9710         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
9711         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
9712         replace_args, quote_string, stringify_arg, parse_arg, next_context,
9713         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
9714         _cpp_backup_tokens, _cpp_create_definition): Update.
9715         (push_arg_context): Delete.
9716         (padding_token, push_token_context, push_ptoken_context): New.
9717         (make_string_token, make_number_token): Update, rename.
9718         (cpp_get_token): Update to handle tokens as pointers to const,
9719         and insert padding appropriately.
9720         * cppmain.c (struct printer): New member prev.
9721         (check_multiline_token): Constify.
9722         (do_preprocessing, cb_line_change): Update.
9723         (scan_translation_unit): Update to handle spacing.
9724         * scan-decls.c (get_a_token): New.
9725         (skip_to_closing_brace, scan_decls): Update.
9726         * fix-header.c (read_scan_file): Update.
9727
9728         * doc/cpp.texi: Update.
9729
9730 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9731
9732         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
9733         leak by passing malloc'ed pointer to reconcat, not concat.
9734
9735 2001-09-24  DJ Delorie  <dj@redhat.com>
9736
9737         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
9738
9739 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
9740
9741         * flow.c (delete_dead_jumptables): Delete jumptable if the only
9742         reference is from the literal pool.
9743
9744 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
9745
9746         * doc/install.texi (Final install): Request additional information
9747         in mail about successful builds.
9748
9749 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9750
9751         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
9752         initial value of return pointer register instead of value in frame-20.
9753         Revise comments.
9754
9755 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9756
9757         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
9758         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
9759         the libcall if there isn't a referenced identifier for the symbol.
9760
9761 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9762
9763         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
9764         non 64-bit machines.  Use these as a plabel for the trampoline.
9765         (TRAMPOLINE_SIZE): Adjust size for new words.
9766         (INITIALIZE_TRAMPOLINE): Initialize new words.
9767         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
9768         pointer to the plabel in the trampoline.
9769
9770 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9771
9772         * pa.c (function_arg): Pass floating arguments in both general and
9773         floating registers in indirect (dynamic) calls when generating code
9774         for the 32 bit ABI and the HP assembler.
9775
9776 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9777
9778         * doc/install.texi: Markup fixes.
9779         Use Solaris 2, SunOS 4 as appropriate.
9780         (Specific, *-*-solaris2*): Explain this.
9781         Unconditionally warn against /usr/ucb tools.
9782         Remove Sun as warning, obsolete.
9783         Move X11 header bug workaround here, update patches.
9784         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
9785         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
9786
9787 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
9788
9789         * errors.h (warning, error, fatal, internal_error): Don't mark
9790         with ATTRIBUTE_PRINTF_n.
9791         * toplev.h (internal_error, fatal_io_error, warning, error,
9792         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
9793         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
9794         Likewise.
9795
9796 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9797
9798         * function.c (pop_function_context_from): var_refs_queue
9799         and temp slots now in GC memory.
9800         (mark_function_status, free_after_compilation): Likewise;
9801         also struct function now in GC memory.
9802         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
9803         (combine_temp_slots): Likewise.
9804         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
9805         (prepare_function_start): Use GC memory for struct function.
9806         (mark_temp_slot): Deleted.
9807         (gcc_mark_struct_function): struct function now in GC memory.
9808
9809         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
9810         code for division, not modulus.
9811
9812         * rtl.def (MEM): Remove obsolete part of comment.
9813
9814 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
9815
9816         * c-format.c (init_function_format_info): Check __builtin_printf
9817         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
9818         in gnu89 mode.
9819
9820 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9821
9822         * c-common.c (format_attribute_table): Remove decl.
9823         * tree.h (format_attribute_table, lang_attribute_table): New decls.
9824         (lang_attribute_common): Likewise.
9825
9826         * function.c (fix_lexical_address): Use set_mem_alias_set.
9827         (expand_function_start): Likewise.
9828         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
9829
9830         * varasm.c (output_constant): Fix unused variable warning.
9831
9832         * attribs.c: New file, from c-common.c.
9833         (attribute_tables): Now four elements.
9834         (format_attribute_table, lang_attribute_common): New variables.
9835         (init_attributes): Reflect above changes.
9836         (handle_mode_attribute): Delete check for wider than uintmax.
9837         * c-common.c: Delete parts moved to attribs.c.
9838         (enum attrs): Deleted; unused.
9839         (c_format_attribute_table): New variable.
9840         (c_common_lang_init): Initialize format_attribute_table with it.
9841         * c-common.h (decl_attributes): Remove decl.
9842         * tree.h (decl_attribute): Move it to here.
9843         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
9844         (attribs.o): New rule.
9845
9846 2001-09-22  Andreas Jaeger  <aj@suse.de>
9847
9848         * builtins.c (c_getstr): Remove unused variable.
9849
9850 2001-09-21  Richard Henderson  <rth@redhat.com>
9851
9852         * reload1.c (reload): Use delete_insn instead of splatting
9853         NOTE_INSN_DELETED.
9854
9855 2001-09-21  Richard Henderson  <rth@redhat.com>
9856
9857         * reload.c (push_secondary_reload): Don't check for "=" in output
9858         constraint after ""->ALL_REGS check.
9859
9860 2001-09-21  Richard Henderson  <rth@redhat.com>
9861
9862         * predict.c (expected_value_to_br_prob): Use pc_set.
9863
9864         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
9865         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
9866
9867 2001-09-21  Richard Henderson  <rth@redhat.com>
9868
9869         * rtl.h (LCT_RETURNS_TWICE): New.
9870         * calls.c (emit_call_1): Set current_function_calls_setjmp for
9871         ECF_RETURNS_TWICE.
9872         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
9873         to ECF_RETURNS_TWICE.
9874         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
9875         call to setjmp.
9876
9877         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
9878
9879         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
9880         (JMP_BUF_SIZE): New.
9881
9882 2001-09-21  Richard Henderson  <rth@redhat.com>
9883
9884         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
9885         to R8_REGS.
9886
9887 2001-09-21  Richard Henderson  <rth@redhat.com>
9888
9889         * tree.def (FDESC_EXPR): New.
9890         * expr.c (expand_expr): Handle it.
9891         * varasm.c (initializer_constant_valid_p): Likewise.
9892         (output_constant): Likewise.
9893         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9894         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9895         (ASM_OUTPUT_FDESC): New.
9896         * doc/tm.texi: Document the new macros.
9897
9898 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9899
9900         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
9901         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
9902         once merging is complete.
9903
9904 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9905
9906         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
9907
9908 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9909
9910         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
9911         that would be invalid after a merge.
9912
9913 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
9914
9915         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
9916         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
9917         remove some labels.
9918         (flow_delete_insn): This one.
9919         (delete_insn_chain): Rename from ...; do not care labels.
9920         (flow_delete_insn_chain): ... this one.
9921         (flow_delete_block): Remove the insns one BB has been expunged.
9922         (merge_blocks_nomove): Likewise.
9923         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
9924         updating BB boundaries.
9925         (tidy_fallthru_edge): Likewise.
9926         (commit_one_edge_insertion): Likewise.
9927         * cfgbuild.c (find_basic_block): Likewise.
9928         (find_basic_blocks_1): Likewise.
9929         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
9930         (try_crossjump_to_edge): Likewise.
9931         (try_optimize_cfg): Likewise.
9932         * cse.c (delete_trivially_dead_insns): Likewise.
9933         * df.c (df_insn_delete): Likewise.
9934         * doloop.c (doloop_modify): Use delete_related_insns.
9935         * emit-rtl.c (try_split): Likewise.
9936         (remove_insn): Update BB boundaries.
9937         * expect.c (connect_post_landing_pads): Use delete_related_insns.
9938         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
9939         updating BB boundaries.
9940         (propagate_block_delete_insn): Likewise.
9941         (propagate_block_delete_libcall): Likewise.
9942         * function.c (delete_handlers): Use delete_related_insns.
9943         (thread_prologue_and_epilogue_insns): Likewise.
9944         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
9945         * genpeep.c (gen_peephole): Use delete_related_insns.
9946         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
9947         BB boundaries.
9948         (find_cond_trap): Likewise.
9949         * integrate.c (save_for_inline): Use delete_related_insns.
9950         (copy_insn_list): Likewise.
9951         * jump.c (pruge_linie_number_notes): Likewise.
9952         (duplicate_loop_exit_test): Likewise.
9953         (delete_computation): Likewise.
9954         (delete_related_insn): Rename from ...; use delete_insn
9955         (delete_insn): ... this one.
9956         (redirect_jump): Use delete_related_insns.
9957         * loop.c (scan_loop): Likewise.
9958         (move_movables): Likewise.
9959         (find_and_verify_loops): Likewise.
9960         (check_dbra_loop): Likewise.
9961         * recog.c (peephole2_optimize): Likewise.
9962         * reg-stack.c (delete_insn_for_stacker): Remove.
9963         (move_for_stack_reg): Use delete_insn.
9964         * regmove.c (combine_stack_adjustments_for_block): Likewise.
9965         * reload1.c (delete_address_reloads): Use delete_related_insns.
9966         (fixup_abnormal_edges): Use delete_insn.
9967         * recog.c (emit_delay_sequence): Use delete_related_insns.
9968         (delete_from-delay_slot): Likewise.
9969         (delete_scheduled_jump): likewise.
9970         (optimize_skip): Likewise.
9971         (try_merge_delay_insns): Likewise.
9972         (full_simple_delay_slots): Likewise.
9973         (fill_slots_from_thread): Likewise.
9974         (relax_delay_slots): Likewise.
9975         (make_return_insns): Likewise.
9976         (dbr_schedule): Likewise.
9977         * rtl.h (delete_insn): Rename to delete_related_insns.
9978         (delete_insn, delete_insn_chain): New prototypes.
9979         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
9980         by df_insn_delete already.
9981         * ssa-dce.c (delete_insn_bb): Use delete_insn.
9982         * ssa.c (convert_from_ssa): Use delete_related_insns.
9983         * unroll.c (unroll_loop): Likewise.
9984         (calculate_giv_inc): Likewise.
9985         (copy_loop_body): Likewise.
9986
9987         * i386-protos.h (ix86_libcall_value, ix86_function_value,
9988         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9989         ix86_return_in_memory, ix86_function_value): Declare.
9990         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
9991         new static valurables.
9992         (x86_64_reg_class): New enum
9993         (x86_64_reg_class_name): New array.
9994         (classify_argument, examine_argument, construct_container,
9995          merge_classes): New static functions.
9996         (optimization_options): Enable flag_omit_frame_pointer and disable
9997         flag_pcc_struct_return on 64bit.
9998         (ix86_libcall_value, ix86_function_value,
9999         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10000         ix86_return_in_memory, ix86_function_value): New global functions.
10001         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10002         (function_arg_advance): Handle x86_64 passing conventions.
10003         (function_arg): Likewise.
10004         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10005         (RETURN_IN_MEMORY): Move offline.
10006         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10007         (FUNCTION_VALUE_REGNO_P): New macro.
10008         (FUNCTION_ARG_REGNO_P): Move offline.
10009         (struct ix86_args): Add maybe_vaarg.
10010         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10011         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10012
10013 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
10014
10015         * s390.md: Changed attributes for scheduling.
10016         * s390.c: (s390_adjust_cost, s390_adjust_priority)
10017         Changed scheduling
10018
10019 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10020
10021         Table-driven attributes.
10022         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10023         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10024         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10025         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10026         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10027         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10028         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10029         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10030         * tree.h (struct tree_decl): Change machine_attributes to
10031         attributes.
10032         * doc/c-tree.texi: Document that all attributes are now attached
10033         to decls and types.
10034         * c-common.c (add_attribute, attrtab, attrtab_idx,
10035         default_valid_lang_attribute, valid_lang_attribute): Remove.
10036         (attribute_tables, attributes_initialized,
10037         c_common_attribute_table, default_lang_attribute_table): New
10038         variables.
10039         (handle_packed_attribute, handle_nocommon_attribute,
10040         handle_common_attribute, handle_noreturn_attribute,
10041         handle_unused_attribute, handle_const_attribute,
10042         handle_transparent_union_attribute, handle_constructor_attribute,
10043         handle_destructor_attribute, handle_mode_attribute,
10044         handle_section_attribute, handle_aligned_attribute,
10045         handle_weak_attribute, handle_alias_attribute,
10046         handle_no_instrument_function_attribute,
10047         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10048         handle_no_limit_stack_attribute, handle_pure_attribute): New
10049         functions.
10050         (init_attributes, decl_attributes): Rewrite to implement
10051         table-driven attributes.
10052         * c-common.h (enum attribute_flags): Move to tree.h.
10053         * c-format.c (decl_handle_format_attribute,
10054         decl_handle_format_arg_attribute): Rename to
10055         handle_format_attribute and handle_format_arg_attribute.  Update
10056         for table-driven attributes.
10057         * c-common.h (decl_handle_format_attribute,
10058         decl_handle_format_arg_attribute): Remove prototypes.
10059         (handle_format_attribute, handle_format_arg_attribute): Add
10060         prototypes.
10061         * c-decl.c (grokdeclarator): Handle attributes nested inside
10062         declarators.
10063         * c-parse.in (setattrs, maybe_setattrs): Remove.
10064         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10065         Update to handle nested attributes properly.
10066         (maybe_resetattrs, after_type_declarator,
10067         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10068         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10069         properly.
10070         (make_pointer_declarator): Update to handle nested attributes
10071         properly.
10072         * doc/extend.texi: Update documentation of limits of attributes
10073         syntax.  Warn about problems with attribute semantics in C++.
10074         * target.h (struct target): Remove valid_decl_attribute and
10075         valid_type_attribute.  Add attribute_table and
10076         function_attribute_inlinable_p.
10077         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10078         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10079         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10080         Add.
10081         (TARGET_INITIALIZER): Update.
10082         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10083         definition.
10084         (function_attribute_inlinable_p): New function.  Check for the
10085         presence of any machine attributes before using
10086         targetm.function_attribute_inlinable_p.
10087         (function_cannot_inline_p): Update.
10088         * Makefile.in (integrate.o): Update dependencies.
10089         * doc/tm.texi: Update documentation of target attributes and
10090         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10091         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10092         Remove.
10093         (default_target_attribute_table,
10094         default_function_attribute_inlinable_p): New.
10095         (lookup_attribute): Update comment to clarify handling of multiple
10096         attributes with the same name.
10097         (merge_attributes, attribute_list_contained): Allow multiple
10098         attributes with the same name but different arguments to appear in
10099         the same attribute list.
10100         * tree.h (default_valid_attribute_p): Remove prototype.
10101         (struct attribute_spec): New.
10102         (default_target_attribute_table): Declare.
10103         (enum attribute_flags): Move from c-common.h.  Add
10104         ATTR_FLAG_TYPE_IN_PLACE.
10105         (default_function_attribute_inlinable_p): Declare.
10106         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10107         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10108         (TARGET_ATTRIBUTE_TABLE): Define.
10109         (vms_attribute_table): New.
10110         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10111         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10112         (TARGET_ATTRIBUTE_TABLE): Define.
10113         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10114         * config/arm/arm.c (arm_valid_type_attribute_p,
10115         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10116         Remove.
10117         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10118         define.
10119         (TARGET_ATTRIBUTE_TABLE): Define.
10120         (arm_attribute_table, arm_handle_fndecl_attribute,
10121         arm_handle_isr_attribute): New.
10122         * config/avr/avr.c (avr_valid_type_attribute,
10123         avr_valid_decl_attribute): Remove.
10124         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10125         define.
10126         (TARGET_ATTRIBUTE_TABLE): Define.
10127         (avr_attribute_table, avr_handle_progmem_attribute,
10128         avr_handle_fndecl_attribute): New.
10129         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10130         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10131         (TARGET_ATTRIBUTE_TABLE): Define.
10132         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10133         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10134         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10135         (TARGET_ATTRIBUTE_TABLE): Define.
10136         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10137         h8300_handle_eightbit_data_attribute,
10138         h8300_handle_tiny_data_attribute): New.
10139         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10140         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10141         Remove prototypes.
10142         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10143         declarations.
10144         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10145         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10146         define.
10147         (TARGET_ATTRIBUTE_TABLE): Define.
10148         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10149         ix86_handle_regparm_attribute): New.
10150         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10151         i386_pe_valid_type_attribute_p): Remove.
10152         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10153         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10154         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10155         (TARGET_ATTRIBUTE_TABLE): Define.
10156         (ia64_attribute_table): New.
10157         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10158         interrupt_ident2, model_ident1, model_ident2): Remove.
10159         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10160         (TARGET_ATTRIBUTE_TABLE): Define.
10161         (init_idents): Update.
10162         (m32r_attribute_table, m32r_handle_model_attribute): New.
10163         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10164         Remove.
10165         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10166         (TARGET_ATTRIBUTE_TABLE): Define.
10167         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10168         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10169         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10170         (TARGET_ATTRIBUTE_TABLE): Define.
10171         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10172         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10173         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10174         (TARGET_ATTRIBUTE_TABLE): Define.
10175         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10176         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10177         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10178         (TARGET_ATTRIBUTE_TABLE): Define.
10179         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10180         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10181         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10182         (TARGET_ATTRIBUTE_TABLE): Define.
10183         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10184         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10185         New.
10186         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10187         Remove.
10188         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10189         (TARGET_ATTRIBUTE_TABLE): Define.
10190         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10191         New.
10192         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10193         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10194         (TARGET_ATTRIBUTE_TABLE): Define.
10195         (v850_attribute_table, v850_handle_interrupt_attribute,
10196         v850_handle_data_area_attribute): New.
10197         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10198         Return void.  Call decl_attributes instead of
10199         valid_machine_attribute.
10200
10201 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10202
10203         * sh-protos.h (sh_pr_n_sets): Declare.
10204         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10205         look at the copy to determine if PR needs to be saved.
10206         sh_pr_n_sets: New function.
10207         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10208         (ALLOCATE_INITIAL_VALUE): Define.
10209
10210         * sh.c (initial_elimination_offset):
10211         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10212
10213 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10214
10215         * integrate.c (allocate_initial_values): New function.
10216         * integrate.h (allocate_initial_values): Declare.
10217         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10218         here...
10219         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10220         from here...
10221         * toplev.c (rest_of_compilation): To here.
10222         Call allocate_initial_values.
10223         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10224
10225 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10226
10227         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10228
10229 2001-09-20  DJ Delorie  <dj@redhat.com>
10230
10231         * c-typeck.c (really_start_incremental_init): Discriminate
10232         between zero-length arrays and flexible arrays.
10233         (push_init_level): Detect zero-length arrays and handle them
10234         like fixed-sized arrays.
10235         * expr.c (store_constructor): Handle zero-length arrays and
10236         flexible arrays correctly.
10237         * doc/extend.texi: Update zero-length array notes.
10238
10239 2001-09-20  Jim Wilson  <wilson@redhat.com>
10240
10241         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10242         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10243         for issue port conflicts.
10244         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10245
10246 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10247
10248         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10249         on ia64.
10250
10251 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10252
10253         * fold-const.c (hashtab.h): Include.
10254         (int_const_binop): Remove FORSIZE arg and compute from type; all
10255         callers changed.
10256         Call size_int_type_wide for all single-word constants.
10257         (size_htab_hash, size_htab_eq): New functions.
10258         (size_int_type_wide): Rework to use hash table.
10259         * ggc-common.c (hashtab.h): Include.
10260         (struct d_htab_root): New struct.
10261         (d_htab_roots): New variable.
10262         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10263         (ggc_mark_roots): Handle deletable htabs.
10264         * ggc-page.c (ggc_marked_p): New function.
10265         * ggc-simple.c (ggc_marked_p): Likewise.
10266         * ggc.h: Reformatting throughout.
10267         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10268         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10269         (type_hash_add): Allocate struct type_hash from GC memory.
10270         (mark_hash_entry, mark_type_hash): Deleted.
10271         (type_hash_marked_p, type_hash_mark): New functions.
10272         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10273
10274 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10275
10276         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10277         than SImode.
10278
10279 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10280
10281         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10282         array-too-large test for signed sizetype.
10283
10284 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10285
10286         * i386.md (indirect_jump): Allow Pmode operand.
10287         (tablejump): LIkewise; perform expansion to 64bit mode.
10288         * i386.c (symbolic_operand): Allow 64bit PIC references.
10289         (pic_symbolic_operand): Likewise.
10290         (ix86_find_base_term): Strip the 64bit PIC references.
10291         (legitimate_pic_address_disp_p): Handle 64bit PIC.
10292         (legitimize_pic_address): Likewise.
10293         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
10294         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
10295
10296 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
10297
10298         * stringpool.c (get_identifier_with_length): New function.
10299         * tree.h (get_identifier_with_length): New prototype.
10300
10301 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
10302             David Edelsohn  <edelsohn@gnu.org>
10303
10304         Revert:
10305         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
10306         already sign-extended.
10307
10308         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
10309         * config/rs6000/rs6000.c (logical_operand): Always compare op as
10310         HOST_WIDE_INT.
10311         (rs6000_emit_set_long_const): Avoid unnecessary shift.
10312         (output_profile_hook): Declare label_name const.
10313         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
10314         to match constraints.
10315
10316 2001-09-19  Stan Shebs  <shebs@apple.com>
10317
10318         * alias.c: Fix typos in comments.
10319         * sched-rgn.c (init_ready_list): Ditto.
10320         * unwind-dw2.c (uw_frame_state_for): Ditto.
10321         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
10322         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
10323         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
10324
10325 2001-09-19  Richard Henderson  <rth@redhat.com>
10326
10327         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
10328         to the exit block.
10329         * Makefile.in (cfg.o): Depend on TM_P_H.
10330
10331 2001-09-19  Richard Henderson  <rth@redhat.com>
10332
10333         * config/alpha/alpha.c (local_symbol_p): Split out from ...
10334         (local_symbolic_operand): ... here.
10335         (small_symbolic_operand): Check mode.
10336         (global_symbolic_operand): New.
10337         (input_operand): Reject symbolics if explicit relocs.
10338         (call_operand): Tidy.
10339         (alpha_legitimize_address): Use movdi_er_high_g.
10340         (alpha_expand_mov): Likewise.
10341         * config/alpha/alpha-protos.h: Update.
10342         * config/alpha/alpha.h (PREDICATE_CODES): Update.
10343         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
10344         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
10345         (UNSPECV_LDGP2): Remove.
10346         (all call patterns): Use 's' not 'i' for symbolic constraint.
10347         (call_osf call_value_osf): Use call_operand.
10348         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
10349         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
10350         (prologue_ldgp_1_er): Remove.
10351         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
10352         (builtin_setjmp_receiver_er patterns): Use them.
10353         (exception_receiver_er): Likewise.
10354
10355 2001-09-19  Richard Henderson  <rth@redhat.com>
10356
10357         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
10358
10359         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
10360         and NON_LOCAL_GOTO notes.
10361         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
10362         copy over CALL_INSN_FUNCTION_USAGE.
10363
10364 2001-09-18  Catherine Moore  <clm@redhat.com>
10365
10366         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
10367         Define as 0.
10368
10369 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
10370
10371         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
10372         new-style tm_file specification.  Specify correct tm_p_file,
10373         md_file, and out_file for s390x.
10374
10375         * config/s390/linux.h, linux64.h:  Don't include other target
10376         macro header files.  Now handled via tm_file.
10377
10378         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
10379         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
10380         are defined before use.
10381
10382 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
10383
10384         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
10385         code generation only for Gnu assembler.
10386
10387 2001-09-18  Catherine Moore  <clm@redhat.com>
10388
10389         * config/stormy16 (LIB_SPEC): Remove -lnosys.
10390
10391 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
10392
10393         * config/mips/mips.c (mips_frame_set): New.
10394         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
10395         a parallel frame-related expression with a set for each register.
10396
10397 2001-09-18  Philip Blundell  <philb@gnu.org>
10398
10399         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
10400         header files.
10401
10402 2001-09-17  Dale Johannesen  <dalej@apple.com>
10403
10404         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
10405         * config/rs6000/aix.h (FIXED_R2): Define.
10406         * config/rs6000/darwin.h (FIXED_R2): Define.
10407         * config/rs6000/sysv4.h (FIXED_R2): Define.
10408
10409 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
10410
10411         * except.c (dw2_build_landing_pads): New local
10412         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
10413         barrier after clobbers.  Fixes c++/4012.
10414
10415 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10416
10417         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
10418
10419 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10420
10421         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
10422         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
10423
10424 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10425
10426         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
10427         alloca/strcpy.
10428
10429 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10430
10431         * cpphash.h (_cpp_lex_direct): New.
10432         * cpplex.c (_cpp_lex_token): Update.
10433         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
10434         and increment that pointer.
10435         * cppmacro.c (alloc_expansion_token): New.
10436         (lex_expansion_token): Lex macro expansion directly into
10437         macro storage.
10438
10439 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
10440
10441         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
10442
10443 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
10444
10445         * basic-block.h (free_bb_for_insn): Declare.
10446         * bb-reorder.c (label_for_bb): Use block_label.
10447         (emit_jump_to_block_after): Remove.
10448         (insert_intra_1): Do not update block_for_insn.
10449         (insert_inter_bb_scope_notes): Likewise; update bb->end
10450         * cfg.c (free_bb_for_insn): New.
10451         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
10452         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
10453         (commit_one_edge_insertion): Likewise.
10454         (commit_one_edge_insertion): Do not update BB boundary.
10455         (commit_edge_insertions): Do not call compute_bb_for_insn.
10456         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
10457         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
10458         (merge_blocks_move_successor_nojumps): Likewise.
10459         (try_crossjump_to_edge): Do not update block_for_insn.
10460         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
10461         * df.c (df_pattern_emit_later): Do not update BB boundary.
10462         (df_jump_pattern_emit_after): Likewise.
10463         (df_insn_move_before): Use emit_insn_before.
10464         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
10465          properly.
10466         (add_insn_after, add_insn_before, emit_insns_after): Update BB
10467         boundaries and basic_block_for_insn.
10468         (reorder_insns_nobb): Rename from reorder_insns.
10469         (reorder_insns): New.
10470         (emit_block_insn_before, emit_block_insn_after): Kill.
10471         * flow.c (check_function_return_warnings): Do not call
10472         compute_bb_for_insn; Do not free basic_block_for_insn.
10473         (attempt_auto_inc): Do not update basic_block_for_insn.
10474         * function.c (emit_return_into_block): Likewise;
10475         do not update BB boundaries.
10476         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
10477         (insert_insn_end_bb): Use emit_insn_before; Likewise.
10478         (pre_insert_copy_insn): Likewise.
10479         (update_ld_motion_notes): Likewise.
10480         (insert_insn_start_bb): Likewise.
10481         (replace_store_insn): Likewise.
10482         * ifcvt.c (noce_process_if_block): Likewise.
10483         (if_convert): Do not call compute_bb_for_insn.
10484         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
10485         Use emit_insn_before and emit_insn_after.
10486         * recog.c (split_all_insns): Do not update BB boundaries;
10487         Do not call compute_bb_for_insn.
10488         (peephole2_optimize): Do not update BB boundaries.
10489         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
10490         emit_insn_before.
10491         (emit_swap_insn): Likewise.
10492         (convert_regs_1): Likewise.
10493         * reload1.c (reload): Call compute_bb_for_insn.
10494         * rtl.h (reorder_insns_nobb): Declare.
10495         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
10496         * toplev.c (rest_of_compilation): Call free_bb_for_insn
10497         at places CFG is invalidated; do not call compute_bb_for_insn.
10498
10499         * cfg.c (expunge_block): Invalidate BB structure.
10500
10501         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
10502         array.
10503
10504         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
10505
10506 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10507
10508         * cpphash.h (_cpp_lex_token): Update prototype.
10509         * cpplex.c (_cpp_lex_token): New prototype.
10510         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
10511         lex_macro_node, read_flag, do_pragma_poison): Update.
10512         * cppmacro.c (cpp_get_token, parse_params,
10513         lex_expansion_token): Update.
10514
10515 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10516
10517         * cppmain.c (scan_translation_unit): Don't worry about
10518         putting a space after hashes.
10519         * cpplib.c (directive_diagnostics): New.
10520         (_cpp_handle_directive): Update to use directive_diagnostics.
10521         (run_directive): Don't toggle prevent_expansion.
10522         (do_line): Backup in case of the line extension.
10523         * cpplib.h (cpp_lexer_pos): Remove.
10524         * cppmacro.c (_cpp_create_definition): Precede a leading #
10525         with whitespace.
10526
10527 2001-09-15  Richard Henderson  <rth@redhat.com>
10528
10529         * c-typeck.c (comptypes): Handle zero-length arrays properly.
10530
10531 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10532
10533         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
10534
10535 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10536
10537         PR preprocessor/3571
10538         * tradcpp.c (handle_directive): Skip non-vertical space.
10539
10540 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10541
10542         * cppmain.c (setup_callbacks): Set line callback only
10543         if outputting preprocessed source.
10544
10545 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10546
10547         * collect2.c (main): Const-ification.
10548         * gcc.c (translate_options, process_command): Use xstrdup in
10549         lieu of xmalloc/strcpy.
10550         (main): Use concat in lieu of xmalloc/strcpy/strcat.
10551
10552 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10553
10554         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
10555         example.
10556
10557 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10558
10559         * scan-decls.c (scan_decls): Fix typo.
10560
10561 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10562
10563         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
10564         Split mlstring_pos into mls_line and mls_col.
10565         * cppinit.c (cpp_create_reader): Initialize line to 1.
10566         (cpp_destroy): Free tokenruns.
10567         (push_include): Don't update lexer_pos.
10568         * cpplex.c (unterminated, parse_string): Update.
10569         (lex_token): Don't update lexer_pos, update.
10570         * cpplib.c (if_stack): Save line instead of line + col.
10571         (start_directive, _cpp_do__Pragma, do_else, do_elif,
10572         push_conditional, _cpp_pop_buffer): Update.
10573         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
10574         (_cpp_create_definition): Update.
10575
10576 2001-09-15  Eric Christopher  <echristo@redhat.com>
10577
10578         * config/mips/abi64.h: Add support for MEABI.
10579
10580 2001-09-15  Eric Christopher  <echristo@redhat.com>
10581
10582         * config/mips/mips.md: Add unspec #2.
10583         (reload_indi): Use.
10584         (reload_outdi): Ditto.
10585         (reload_outsi): Ditto.
10586         (HILO_delay): New.
10587
10588 2001-09-15  Eric Christopher  <echristo@redhat.com>
10589             Jason Eckhardt  <jle@redhat.com>
10590
10591         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
10592         * config/mips/isa32-linux.h: New file.
10593         * config/mips/isa3264.h: Ditto.
10594         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
10595         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
10596         (output_block_mode): Support MEABI.
10597         (function_arg): Ditto. Fix floating point arg passing.
10598         (mips_va_start): Ditto.
10599         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
10600         processors.
10601         (mips_asm_file_start): Add new section to pass abi to gdb.
10602         (function_arg_pass_by_reference): Support MEABI.
10603         (mips_parse_cpu): Support mips32 and mips64 processors.
10604         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
10605         TARGET_MIPS5KC.  Support isa32 and isa64.
10606         (processor_type): Add r4kc, r5kc, r20kc.
10607         (GENERATE_MULT3_SI): New.
10608         (GENERATE_MULT3_DI): Ditto.
10609         (GENERATE_MULT3): Remove.
10610         (ISA_HAS_64BIT_REGS): Add isa == 64.
10611         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
10612         (ISA_HAS_MADD_MSUB): New.
10613         (ISA_HAS_CLZ_CLO): Ditto.
10614         (ISA_HAS_DCLZ_DCLO): Ditto.
10615         (ABI_GAS_ASM_SPEC): New.
10616         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
10617         (ASM_SPEC): Ditto.
10618         (LINK_SPEC): Ditto.
10619         (SUBTARGET_CC1_SPEC): Ditto.
10620         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10621         (PAD_VARARGS_DOWN): Support MEABI.
10622         (HARD_REGNO_NREGS): Move to mips.c.
10623         (ASM_OUTPUT_IDENT): Add #undef.
10624         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
10625         (mulsi3): Use GENERATE_MULT3_SI.
10626         (mulsi3_mult3): Ditto.  Support mips32, mips64.
10627         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
10628         (mul_sub_si): New pattern.
10629         (unnamed splitters): New.
10630         (muldi3): Use GENERATE_MULT3_DI.
10631         (muldi3_internal2): Ditto.
10632         (movdicc): Support mips32.
10633         * config/mips/t-isa3264: New file.
10634
10635 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
10636
10637         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
10638         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
10639         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
10640
10641         * reorg.c (fill_slots_from_thread): After call to
10642         steal_delay_list_from_target, update own_thread as new_thread may
10643         have branched.
10644
10645 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10646
10647         * cpperror.c (print_location): Take line and column, for
10648         default positioning use the previously lexed token.
10649         (_cpp_begin_message): Take line and column.
10650         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10651         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10652         * cpphash.h (_cpp_begin_message): Update prototype.
10653         * cppinit.c (push_include): Don't set output line.
10654         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
10655         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
10656         (do_pragma): Kludge for front ends.  Don't expand macros at all.
10657         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
10658         (struct cpp_token): Remove output_line.
10659         (struct cpp_callbacks): New member line_change.
10660         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
10661         cpp_get_token): Preserve BOL flag.
10662         (cpp_get_line): Remove.
10663         (_cpp_backup_tokens): Remove useless abort().
10664         * cppmain.c (cb_line_change): New.
10665         (scan_translation_unit): Don't worry about starting new lines here.
10666         * scan-decls.c (scan_decls): Update.
10667         * c-lex.c (c_lex, init_c_lex): Update.
10668         (cb_line_change, src_lineno): New.
10669
10670 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
10671
10672         * tree.c (append_random_chars): Generate the random
10673         characters in a reproducable fashion.
10674
10675 2001-09-14  Richard Henderson  <rth@redhat.com>
10676
10677         * config/i386/i386.c (internal_label_prefix): New.
10678         (internal_label_prefix_len): New.
10679         (override_options): Set them.
10680         (local_symbolic_operand): New.
10681         (legitimate_pic_address_disp_p): Use it.
10682         (legitimize_pic_address): Likewise.
10683
10684 2001-09-14  Marc Espie <espie@openbsd.org>
10685
10686         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
10687         correctly.
10688
10689 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10690
10691         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
10692         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
10693
10694 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
10695
10696         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
10697         invocation of SUBREG_REGNO_OFFSET.
10698
10699         * haifa-sched.c: Fix typo in FSF copyright statement.
10700         * sched-deps.c: Fix typo in FSF copyright statement.
10701         * sched-ebb.c: Fix typo in FSF copyright statement.
10702         * sched-rgn.c: Fix typo in FSF copyright statement.
10703         * sched-vis.c: Fix typo in FSF copyright statement.
10704
10705         * config.gcc: Move inclusion of arm elf specific header files
10706         from the files themselves into the tm_file variable.  Make
10707         sure that elfos.h is included before target specific elf
10708         headers.
10709         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
10710         already defined.
10711         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
10712         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
10713         ASM_OUTPUT_CASE_LABEL): Protect definition.
10714         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
10715         not already defined.
10716         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
10717         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
10718         Remove duplicate definition.
10719         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
10720         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
10721         (RDATA_SECTION_FUNCTION): Remove redundant definition.
10722         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
10723         Remove inclusion of arm/elf.h.
10724         * config/arm/unknown-elf.h: as for conix-elf.h.
10725         (STARTFILE_SPEC): Include crti.o and crtn.o.
10726         * config/arm/linux-elf.h: as for conix-elf.h.
10727         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
10728         * config/arm/strongarm-elf.h: Remove inclusion of
10729         unknown-elf.h.
10730         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
10731         * config/arm/unknown-elf-oabi.h: Remove inclusion of
10732         unknown-elf.h and elf.h.
10733         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
10734         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
10735         ASM_WEAKEN_LABEL): Remove redundant definition.
10736         * config/arm/elf.h: Test for inclusion of elfos.h
10737         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
10738         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
10739         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
10740         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
10741         redundant definition.
10742         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
10743         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
10744         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
10745         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
10746         Add rules to build crti.o and crtn.o
10747         * crti.asm: New file.
10748         * crtn.asm: New file.
10749
10750 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10751
10752         * c-parse.in (_yylex): Use _cpp_backup_tokens.
10753         * cpphash.h (struct tokenrun): Add prev.
10754         (struct lexer_state): Remove bol.
10755         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
10756         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
10757         : Remove.
10758         * cppinit.c (cpp_create_reader): Don't set bol.
10759         (cpp_destroy): Don't free lookaheads.
10760         * cpplex.c (lex_directive): Remove.
10761         (next_tokenrun): Update.
10762         (_cpp_lex_token): Clean up logic.
10763         (lex_token): Update to return a pointer to lexed token, since it
10764         can move to the start of the buffer.  Simpify newline handling.
10765         * cpplib.c (SEEN_EOL): Update.
10766         (skip_rest_of_line): Remove lookahead stuff.
10767         (end_directive): Line numbers are already incremented.  Revert
10768         to start of lexed token buffer if we can.
10769         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
10770         parse_answer): Use _cpp_backup_tokens.
10771         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
10772         instead.  Don't check for EOL.
10773         (do_include_common, do_line, do_pragma_system_header): Use
10774         skip_rest_of_line.
10775         * cpplib.h (BOL, _cpp_backup_tokens): New.
10776         * cppmacro.c (save_lookahead_token, take_lookahead_token,
10777         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
10778         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
10779         (builtin_macro): Don't use cpp_get_line.
10780         (cpp_get_line): Short term kludge.
10781         (parse_arg): Handle directives in arguments here.  Back up when
10782         appropriate.  Store EOF at end of argument list.
10783         (funlike_invocation_p): Use _cpp_backup_tokens.
10784         (push_arg_context): Account for EOF at end of list.
10785         (cpp_get_token): Remove lookahead stuff.  Update.
10786
10787 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10788
10789         * c-parse.in (yyerror): Const-ification and/or static-ization.
10790         * c-typeck.c (push_member_name): Likewise.
10791         * collect2.c (main): Likewise.
10792         * dbxout.c (dbxout_parms): Likewise.
10793         * diagnostic.c (format_with_decl): Likewise.
10794         * dwarf2out.c (output_ranges): Likewise.
10795         * dwarfout.c (fundamental_type_code): Likewise.
10796         * except.c (dw2_output_call_site_table): Likewise.
10797         * gcc.c (do_spec_1): Likewise.
10798         * genopinit.c (optabs): Likewise.
10799         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
10800         gen_declaration_1, handle_impent): Likewise.
10801         * protoize.c (default_include, in_system_include_dir, abspath):
10802         Likewise.
10803         * sched-vis.c (visualize_stall_cycles): Likewise.
10804         * sdbout.c (plain_type_1, sdbout_end_function,
10805         sdbout_end_epilogue): Likewise.
10806         * varasm.c (decode_reg_name): Likewise.
10807
10808         * 1750a.c (mod_regno_adjust): Likewise.
10809         * alpha.c (alpha_write_one_linkage,
10810         unicosmk_output_default_externs): Likewise.
10811         * arm.c (arm_condition_codes): Likewise.
10812         * arm.h (arm_condition_codes): Likewise.
10813         * avr.c (output_movsisf, encode_section_info): Likewise.
10814         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
10815         Likewise.
10816         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10817         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10818         * m88k.c (output_function_profiler): Likewise.
10819         * mips.c (mips_output_conditional_branch): Likewise.
10820         * ns32k.c (ns32k_out_reg_names): Likewise.
10821         * ns32k.h (ns32k_out_reg_names): Likewise.
10822         * pj.c (pj_output_rval): Likewise.
10823         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
10824         * sparc.c (sparc_flat_function_prologue,
10825         sparc_flat_function_epilogue): Likewise.
10826
10827 2001-09-13  Markus Werle <numerical.simulation@web.de>
10828             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10829
10830         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
10831         Aachen University of Technology".
10832
10833 2001-09-13  Andreas Schwab  <schwab@suse.de>
10834
10835         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
10836         C99.
10837
10838 2001-09-13  Richard Henderson  <rth@redhat.com>
10839
10840         * config/alpha/alpha.c (small_symbolic_operand): New.
10841         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
10842         (some_operand, input_operand): Don't handle HIGH.
10843         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
10844         (alpha_expand_mov): Likewise.
10845         (print_operand) [H]: Just print HIGH symbol.
10846         (print_operand_address): Handle small data.
10847         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
10848         (TARGET_SWITCHES): Add -msmall-data/large-data.
10849         (PIC_OFFSET_TABLE_REGNUM): New.
10850         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
10851         (PREDICATE_COES): Update.
10852         * config/alpha/alpha.md (adddi_er_high): New.
10853         (adddi_er_low): Handle small data.
10854         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
10855         prefer .sdata to .rodata.
10856         (SELECT_RTX_SECTION): Likewise.
10857
10858 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
10859
10860         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
10861         defining __size_t and leaving size_t undefined.
10862
10863 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
10864
10865         * basic-block.h (expunge_block): Declare.
10866         * cfg.c (expunge_block): Remove static declaration.
10867
10868 2001-09-12  Richard Henderson  <rth@redhat.com>
10869
10870         * integrate.c (copy_insn_list): Copy label name from
10871         NOTE_INSN_DELETED_LABEL.
10872
10873 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10874
10875         * c-common.c (c_tree_code_name): Const-ification.
10876         * c-decl.c (c_decode_option): Likewise.
10877         * c-typeck.c (warn_for_assignment): Likewise.
10878         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
10879         Likewise.
10880         * cppinit.c (output_deps): Likewise.
10881         * dependence.c (dependence_string, direction_string): Likewise.
10882         * dwarf2out.c (output_ranges): Likewise.
10883         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
10884         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
10885         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
10886         standard_startfile_prefix, standard_startfile_prefix_1,
10887         standard_startfile_prefix_2, tooldir_base_prefix,
10888         standard_bindir_prefix, find_a_file): Likewise.
10889         * genattrtab.c (make_length_attrs): Likewise.
10890         * gencheck.c (tree_codes): Likewise.
10891         * genemit.c (gen_split): Likewise.
10892         * genrecog.c (special_mode_pred_table): Likewise.
10893         * graph.c (graph_ext): Likewise.
10894         * protoize (default_include): Likewise.
10895         * reload.c (reload_when_needed_name): Likewise.
10896         * sched-vis.c (visualize_stall_cycles): Likewise.
10897         * tlink.c (recompile_files): Likewise.
10898         * toplev.c (decode_g_option): Likewise.
10899         * tradcpp.c (output_deps): Likewise.
10900         * varasm.c (decode_reg_name): Likewise.
10901
10902         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
10903         Const-ification.
10904         * arm.md: Likewise.
10905         * avr.c (avr_regnames, encode_section_info): Likewise.
10906         * c4x.c (float_reg_names): Likewise.
10907         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
10908         * elfos.h (const_section): Likewise.
10909         * i386.c (ix86_comp_type_attributes): Likewise.
10910         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10911         * ia64/aix.h (UNIQUE_SECTION): Likewise.
10912         * ia64.c (type_names): Likewise.
10913         * m68hc11.c (reg_class_names): Likewise.
10914         * m88k.c (m_options): Likewise.
10915         * mips.c (mips_output_conditional_branch, mips_unique_section):
10916         Likewise.
10917         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10918         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
10919         ultra_code_names): Likewise.
10920         * sparc.h (OVERRIDE_OPTIONS): Likewise.
10921
10922 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
10923
10924         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
10925         Use --fatal-warnings option for gas.
10926         * configure: Rebuilt.
10927
10928 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10929
10930         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
10931
10932 2001-09-11  Jim Wilson  <wilson@redhat.com>
10933
10934         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
10935
10936 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10937
10938         * builtins.c (c_strlen): Treat an offset too large for a
10939         HOST_WIDE_INT as out of range.
10940
10941 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
10942
10943         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
10944         (EDGE_CRITICAL_P): New predicate.
10945         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
10946         handling.
10947         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
10948         (dump_edge_info): Remove "crit".
10949         * cfganal.c (mark_critical_edges): Kill.
10950         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
10951         * cfgcleanup.c (cleanup_cfg): Likewise.
10952         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
10953         (find_spanning_tree): Likewise.
10954         * reg-stack.c (convert_regs_1): Likewise.
10955         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
10956
10957         * basic-block.h (create_basic_block_structure): New.
10958         (create_basic_block): Update prototype.
10959         (force_nonfallthru): New.
10960         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
10961         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
10962         handle updating of block_for_insn, creating of empty BBs and BBs at
10963         the end of INSN chain.
10964         (create_basic_block): New function.
10965         (split_block): Use create_basic_block.
10966         (force_nonfallthru_and_redirect): Break out from ...; cleanup
10967         (redirect_edge_and_branch_force): ... here.
10968         (force_nonfallthru): New.
10969         (split_edge): Rewrite to use force_nonfallthru and create_block.
10970         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
10971         (find_basic_blocks): Free basic_block_for_insn.
10972         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
10973
10974         * cfg.c: Fix formating.
10975         * cfgcleanup.c: Fix formating.
10976         (merge_blocks, tail_recursion_label_p): Return bool.
10977         (merge_blocks_move_predecessor_nojumps,
10978          merge_blocks_move_successor_nojumps): Return void.
10979
10980 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
10981
10982         * configure.in: Check whether assembler supports section merging.
10983         * config.in: Rebuilt.
10984         * configure: Rebuilt.
10985         * varasm.c (variable_section, output_constant_pool): Pass alignment
10986         to SELECT_SECTION and SELECT_RTX_SECTION.
10987         (mergeable_string_section): New.
10988         (mergeable_constant_section): New.
10989         (default_elf_asm_named_section): Output SECTION_MERGE and
10990         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10991         * output.h (mergeable_string_section): New.
10992         (mergeable_constant_section): New.
10993         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
10994         * toplev.c (flag_merge_constants): New.
10995         (f_options): Add -fmerge-constants and -fmerge-all-constants
10996         options.
10997         (toplev_main): Default to -fno-merge-constants if not optimizing.
10998         * flags.h (flag_merge_constants): Add extern.
10999         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11000         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11001         argument.
11002         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11003         Define if assembler has working .subsection -1 support.
11004         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11005         Put constant into special SHF_MERGE sections if the linker should
11006         attempt to merge duplicates.
11007         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11008         macro argument.
11009         Put constant into special SHF_MERGE sections if the linker should
11010         attempt to merge duplicates.
11011         * config/alpha/elf.h: Likewise.
11012         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11013         has working .subsection -1 support.
11014         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11015         SELECT_SECTION.
11016         * config/svr3.h: Likewise.
11017         * config/darwin.h: Likewise.
11018         * config/arm/aof.h: Likewise.
11019         * config/arm/linux-elf.h: Likewise.
11020         * config/avr/avr.h: Likewise.
11021         * config/c4x/c4x.h: Likewise.
11022         * config/d30v/d30v.h: Likewise.
11023         * config/i386/dgux.h: Likewise.
11024         * config/i386/osfrose.h: Likewise.
11025         * config/i386/sco5.h: Likewise.
11026         * config/i386/svr3gas.h: Likewise.
11027         * config/ia64/aix.h: Likewise.
11028         * config/m32r/m32r.h: Likewise.
11029         * config/m68k/m68k.h: Likewise.
11030         * config/m88k/dgux.h: Likewise.
11031         * config/m88k/m88k.h: Likewise.
11032         * config/mcore/mcore-pe.h: Likewise.
11033         * config/mips/mips.h: Likewise.
11034         * config/pa/pa.h: Likewise.
11035         * config/pa/pa-linux.h: Likewise.
11036         * config/romp/romp.h: Likewise.
11037         * config/rs6000/sysv4.h: Likewise.
11038         * config/rs6000/xcoff.h: Likewise.
11039         * config/s390/linux.h: Likewise.
11040         * config/sparc/sparc.h: Likewise.
11041         * config/sparc/sysv4.h: Likewise.
11042         * config/stormy16/stormy16.h: Likewise.
11043         * config/v850/v850.h: Likewise.
11044         * config/vax/vms.h: Likewise.
11045         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11046         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11047         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11048         default_elf_asm_named_section for SHF_MERGE sections.
11049
11050 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11051
11052         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11053         is OK.
11054
11055 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11056
11057         * c-common.c (split_specs_attrs): Allow for empty attributes with
11058         empty TREE_PURPOSE.  Fixes PR c/4294.
11059
11060 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11061
11062         * basic-block.h (cached_make_edge, make_single_succ): New.
11063         (make_edge): Remove first parameter.
11064         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11065         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11066         created edge; use obstack allocation.
11067         (make_edge, make_single_succ_edge): New.
11068         (first_removed_edge): New static variable.
11069         (init_flow): Initialize first_removed_edge and n_edges.
11070         (clear_edges): Use remove_edge.
11071         (flow_delete_block): Likewise.
11072         (remove_edge): Add removed edges to the removed edges list.
11073         (split_block, redirect_edge_and_branch_force, split_edge):
11074         Use make_edge.
11075         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11076         (add_noreturn_fake_exit_edges): Likewise.
11077         (connect_infinite_loops_to_exit): Liekwise.
11078         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11079         Use cached_make_edge.
11080         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11081         * profile.c (branch_prob): Update make_edge call.
11082         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11083
11084 2001-09-11  Richard Henderson  <rth@redhat.com>
11085
11086         * config/alpha/alpha.c: Tidy formatting.
11087         (local_symbolic_operand): Verify mode.
11088         (alpha_sa_mask): Ignore unicos for eh_return.
11089         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11090         * config/alpha/alpha.md (umk divsi patterns): Remove.
11091         (extendsfdf2): Remove unicos check.
11092         (tablejump): Merge vms and unicos code; always use direct set
11093         plus label_ref use.
11094
11095 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11096
11097         * config.gcc (alpha*-*-unicosmk*): New target.
11098
11099         * config/alpha/alpha-protos.h (symbolic_operand,
11100         unicosmk_add_call_info_word, unicosmk_add_extern,
11101         unicosmk_defer_case_vector, unicosmk_unique_section,
11102         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11103         unicosmk_asm_file_start, unicosmk_asm_file_end,
11104         unicosmk_output_common): Declare.
11105
11106         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11107         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11108         alpha_does_function_need_gp, alpha_end_function): Support Cray
11109         Unicos/Mk.
11110         (alpha_init_machine_status, alpha_mark_machine_status,
11111         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11112         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11113         unicosmk_asm_named_section, unicosmk_insert_attributes,
11114         unicosmk_section_type_flags, symbolic_operand,
11115         unicosmk_output_module_name, unicosmk_output_default_externs,
11116         unicosmk_output_dex, unicosmk_output_externs,
11117         unicosmk_output_addr_vec, unicosmk_ssib_name,
11118         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11119         unicosmk_asm_file_end, unicosmk_output_common,
11120         unicosmk_section_type_flags, unicosmk_unique_section,
11121         unicosmk_add_call_info_word, unicosmk_text_section,
11122         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11123         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11124         unicosmk_dex_count, unicosmk_special_name): New.
11125         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11126         TARGET_ABI_UNICOSMK.
11127         (get_aligned_mem, alpha_expand_unaligned_load,
11128         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11129         alpha_expand_unaligned_store_words): Support big-endian mode.
11130         (print_operand): Likewise. New format specifier 't'. Use
11131         TARGET_AS_SLASH_BEFORE_SUFFIX.
11132         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11133         (alpha_pv_save_size): Update with above change.
11134         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11135         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11136         Unicos/Mk.
11137
11138         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11139         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11140         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11141         (EXTRA_CONSTRAINT): New constraint 'U'.
11142         (PREDICATE_CODES): Add symbolic_operand.
11143
11144         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11145         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11146         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11147         (integer division and modulus patterns): Split in default and
11148         Unicos/Mk versions.
11149         (*divmodsi_internal, *divmoddi_internal): Disable for
11150         TARGET_ABI_UNICOSMK.
11151         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11152         little-endian and big-endian versions.
11153         (ext, ins, msk): Likewise.
11154         (extv, extzv, insv): Support big-endian mode.
11155         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11156         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11157         *tablejump_umk_internal, *call_value_umk): New.
11158         (*movdi_nofix): Add pattern for loading an address into a register on
11159         TARGET_ABI_UNICOSMK.
11160         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11161         (umk_mismatch_args, arg_home_umk): New.
11162         (various insns): Don't use mov, fmov, nop, fnop and unop.
11163         (realign): Support TARGET_ABI_UNICOSMK.
11164
11165         * config/alpha/unicosmk.h: New file.
11166         * config/alpha/t-unicosmk: New file.
11167
11168         * fixinc/inclhack.def (unicosmk_restrict): New.
11169         * fixinc/fixincl.x: Regenerate.
11170
11171         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11172         (wchar_t): Check for and define __WCHAR_T__.
11173
11174 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11175
11176         * combine.c (simplify_shift_const): Treat shifts by the mode
11177         size as undefined.
11178
11179 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11180
11181         * cpphash.h (struct tokenrun): New.
11182         (struct cpp_context): New member bol.
11183         (struct cpp_reader): New members.
11184         (_cpp_init_tokenrun): New.
11185         * cppinit.c (cpp_create_reader): Set up the token runs.
11186         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11187         (lex_token): New internalised version of _cpp_lex_token.  Don't
11188         handle directives or the multiple include optimization here any
11189         more.  Simply lex a token.
11190         * cpplib.c (run_directive): Clear bol.
11191         (_cpp_pop_buffer): Set bol.
11192         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11193         arguments.
11194
11195 2001-09-11  Michael Meissner  <meissner@redhat.com>
11196
11197         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11198         give an error if the user uses -mfp32.
11199         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11200         default options.
11201         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11202         floating point register size.
11203         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11204
11205         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11206         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11207         int_size_in_bytes.
11208         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11209         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11210
11211 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11212
11213         * dbxout.c (dbxout_parms): Fix typo in comment.
11214         * unroll.c (loop_find_equiv_value): Ditto.
11215         * toplev.c (rest_of_compilation): Ditto.
11216         * loop.c (scan_loop): Ditto.
11217         * dwarf2out.c (struct dw_fde_struct): Ditto.
11218
11219 2001-09-10  Zack Weinberg  <zackw@panix.com>
11220
11221         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11222         copying identifier when we're just going to throw it away.
11223         (parse_identifier_slow): New routine to handle abnormal cases.
11224         (_cpp_lex_token): Update call site.
11225
11226         * hashtable.c (ht_lookup): Don't assume that the string we've
11227         been given is NUL-terminated.
11228         * system.h: #define __builtin_expect(a, b) to (a) if not
11229         GCC >=3.0.
11230
11231 2001-09-10  Michael Meissner  <meissner@redhat.com>
11232
11233         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11234         binutils, gdb.
11235
11236 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11237
11238         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11239
11240 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11241
11242         * builtins.c (c_getstr): Correct thinko in last change and further
11243         cleanup.
11244
11245 2001-09-10  Tim Freeman <tim@fungibole.com>
11246
11247         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11248         into varray's and register them as roots with the garbage
11249         collector so they are not collected too soon.
11250
11251 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11252
11253         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11254         New.
11255         * basic-block.h (flow_obstack, label_value_list,
11256         tail_recursion_label_list): Declare
11257         (tidy_fallthru_edges): Declare.
11258         (expunge_block, last_loop_beg_note): Delete.
11259         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11260         * cfg.c: New file
11261         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11262         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11263         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11264         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11265         expunge_block, flow_delete_block, compute_bb_for_insn,
11266         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11267         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11268         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11269         try_redirect_by_replacing_jump, last_loop_beg_note,
11270         redirect_edge_and_branch, redirect_edge_and_branch_force,
11271         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11272         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11273         commit_edge_insertions, dump_flow_info, debug_flow_info,
11274         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11275         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11276         Move here from flow.c
11277         * cfganal.c: New file.
11278         (forwarder_block_p, can_fallthru, mark_critical_edges,
11279          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11280          find_unreachable_blocks, create_edge_list, free_edge_list,
11281          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11282          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11283          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11284          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11285          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11286          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
11287         Move here from flow.c
11288         * cfgbuild.c: New file
11289         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
11290          make_edges, find_basic_blocks_1, find_basic_blocks,
11291          find_sub_basic_blocks): Move here from flow.c
11292         * cfgcleanup.c: New file.
11293         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
11294          merge_blocks_move_predecessor_nojumps,
11295          merge_blocks_move_successor_nojumps, merge_blocks,
11296          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11297          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
11298         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
11299         if succeeded.
11300         * cfgloop.c: New file
11301         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
11302          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
11303          flow_loop_exit_edges_find, flow_loop_nodes_find,
11304          flow_loop_pre_header_scan, flow_loop_pre_header_find,
11305          flow_loop_tree_node_add, flow_loops_tree_build,
11306          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
11307          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
11308         Move here from flow.c
11309         * flow.c: Remove everything moved elsewhere
11310         * output.h (cleanup_cfg): Return bool.
11311
11312         * bb-reorder.c (reorder_block_def): Remove 'index'.
11313         (insert_intra_1): Add argument BB, set block for new note.
11314         (make_reorder_chain): Do not depdent on BB indexes.
11315         (make_reorder_chain_1): Do not use BB indexes.
11316         (label_for_bb): Likewise; set BB for new insn.
11317         (emit_jump_to_block_after): Likewise.
11318         (fixup_reorder_chain): Sanity check that all basic blocks
11319         are chained; verify newly created insn chain; remove
11320         undocnitional jump simplifying; Do not use BB indexes;
11321         properly initialize count and frequency information;
11322         dump reordered sequence.
11323         (insert_intra_bb_scope_notes): update call of insert_intra_1.
11324         (insert_inter_bb_scope_notes): Set block for new insn.
11325         (reorder_basic_blocks): Dump flow info before reoredering.
11326
11327 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11328
11329         * alias.c (clear_reg_alias_info): Use K&R format definition.
11330         Avoid unsigned warning.
11331         * builtins.c: Use "unsigned int", not "unsigned".
11332         (target_char_cast): Use host_integerp and tree_low_cst.
11333         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
11334         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
11335         (c_getstr): Likewise.
11336         (std_expand_builtin_va_arg): Use int_size_in_bytes.
11337         (builtin_memcpy_read_str): Avoid unsigned warning.
11338         (expand_builtin_memcpy): Alignments are unsigned.
11339         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
11340         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
11341         * predict.c (expensive_function_p): LIMIT now unsigned.
11342         * resource.c (mark_target_live_regs): Make some vars unsigned.
11343         * sdbout.c: Use "unsigned int", not "unsigned".
11344         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
11345         (sdbout_source_line): Likewise.
11346         (sdbout_record_type_name): Remove "const" for NAME declaration.
11347         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
11348
11349 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
11350
11351         * calls.c (store_one_arg): Expand comment.
11352
11353 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11354
11355         * calls.c (store_one_arg): Make sure that the entire argument is
11356         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
11357
11358 2001-09-09  Richard Henderson  <rth@redhat.com>
11359
11360         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
11361
11362 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
11363
11364         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
11365
11366 2001-09-09  Richard Henderson  <rth@redhat.com>
11367
11368         * config/alpha/alpha.c (alpha_next_sequence_number): New.
11369         (alpha_this_literal_sequence_number): New.
11370         (alpha_this_gpdisp_sequence_number): New.
11371         (some_operand, input_operand): Add HIGH.
11372         (local_symbolic_operand): New.
11373         (alpha_encode_section_info): New.
11374         (alpha_legitimate_address_p): Allow LO_SUM.
11375         (alpha_legitimize_address): Generate HIGH+LO_SUM.
11376         (alpha_expand_mov): Likewise.
11377         (secondary_reload_class): Check memory_operand not general_operand
11378         for FP_REGS test.
11379         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
11380         (alpha_expand_unaligned_store): Likewise.
11381         (alpha_expand_unaligned_load_words): Likewise.
11382         (alpha_expand_unaligned_store_words): Likewise.
11383         (alpha_expand_block_clear): Likewise.
11384         (print_operand): Handle %#, %*, %H.
11385         (print_operand_address): Handle LO_SUM.
11386         (find_lo_sum): New.
11387         (alpha_does_function_need_gp): Use it.
11388         (alpha_expand_block_move): Fix signed compare warnings.
11389         (alpha_sa_mask, alpha_align_insns): Likewise.
11390         * config/alpha/alpha-protos.h: Update.
11391         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
11392         (MASK_EXPLICIT_RELOCS): New.
11393         (TARGET_SWITCHES): Add -mexplicit-relocs.
11394         (EXTRA_CONSTRAINT): Add 'T'.
11395         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
11396         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
11397         (ENCODE_SECTION_INFO): Out line.
11398         (REDO_SECTION_INFO_P): New.
11399         (STRIP_NAME_ENCODING): New.
11400         (ASM_OUTPUT_LABELREF): New.
11401         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
11402         (PREDICATE_CODES): Update.
11403         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
11404         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
11405         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
11406         builtin_setjmp_receiver_er, exception_receiver_1_er,
11407         call_value_osf_1_er): New patterns.
11408         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
11409         (movqi, movhi, movsi): Add explicit $31 base register to lda.
11410         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
11411         (FINAL_PRESCAN_INSN): New.
11412
11413 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
11414
11415         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
11416
11417 2001-09-08  Andreas Jaeger  <aj@suse.de>
11418
11419         * i386.h (TARGET_SWITCHES): Fix description.
11420
11421 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
11422
11423         * rs6000.c (num_insns_constant): Compute number of instructions
11424         more accurately.
11425
11426         * doc/install.texi: Explain AIX exception handling work-around.
11427         Update URL for AIX fixes.
11428
11429 2001-09-07  Jim Wilson  <wilson@redhat.com>
11430
11431         * alias.c (clear_reg_alias_info): New.
11432         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
11433         * rtl.h (clear_reg_alias_info): Declare.
11434
11435 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11436
11437         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
11438         available.
11439         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
11440         (m16m,edivm,emulm): Change declaration to match definition.
11441
11442 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
11443
11444         * reload.c (push_reload): Check for subreg_lowpart_p instead of
11445         SUBREG_BYTE being 0 when determining if the inner part of a subreg
11446         can be reloaded.
11447
11448 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11449
11450         * c-common.c (signed_or_unsigned_type): Handle machine mode types
11451         which have no corresponding C type.
11452         * fold_const.c (target_isinf,target_isnan,target_negative): Update
11453         the representation of 64-bit doubles to work with 64-bit ints.
11454
11455 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
11456
11457         * config/mips/mips.c (override_options): Do not override ISA when ABI
11458         specified if MIPS_CPU_STRING_DEFAULT was specified.
11459
11460 2001-09-07  Richard Henderson  <rth@redhat.com>
11461
11462         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
11463         (express_from_1): Wrap lines.
11464         * rtlanal.c (commutative_operand_precedence): Rename from
11465         operand_preference; export.
11466         * rtl.h: Declare it.
11467         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
11468         (simplify_binary_operation): Invoke simplify_plus_minus on
11469         (CONST (PLUS ...)) as well.
11470         (struct simplify_plus_minus_op_data): New.
11471         (simplify_plus_minus_op_data_cmp): New.
11472         (simplify_plus_minus): Use them.  Avoid infinite recursion with
11473         simplify_binary_operation wrt CONST.
11474
11475 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
11476
11477         * h8300-protos.h (general_operand_dst_push): Remove.
11478         * h8300.c (general_operand_dst_push): Likewise.
11479         * h8300.h (OK_FOR_T): Likewise.
11480         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
11481         * h8300.md (pushqi_h8300): New.
11482         (pushqi_h8300hs): Likewise.
11483         (pushqi): Likewise.
11484         (pushhi_h8300): Likewise.
11485         (pushhi_h8300hs): Likewise.
11486         (pushhi): Likewise.
11487
11488 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11489
11490         * genattrtab.c (attr_printf): First arg is unsigned.
11491         Clean up formatting of callers.
11492
11493 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
11494
11495         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
11496         registers.
11497
11498 2001-09-07  Andreas Jaeger  <aj@suse.de>
11499
11500         * i386.h (TARGET_SWITCHES): Fix descriptions.
11501
11502 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11503
11504         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
11505
11506 2001-09-06  Ira Ruben  <ira@apple.com>
11507
11508         Remove OP_IDENTIFIER.
11509         * tree.def (OP_IDENTIFIER): Remove.
11510         * tree.c (tree_node_kind enum): Remove op_id_kind.
11511         (tree_node_kind_names): Remove "op_identifiers".
11512         (make_node): Remove OP_IDENTIFIER test.
11513         (build_op_identifier): Removed because it isn't being used.
11514         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
11515         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
11516
11517 2001-09-06  Richard Henderson  <rth@redhat.com>
11518
11519         * simplify-rtx.c (simplify_binary_operation): Revert last change.
11520
11521 2001-09-06  Richard Henderson  <rth@redhat.com>
11522
11523         * simplify-rtx.c (simplify_binary_operation): Simplify contents
11524         of CONST.
11525
11526 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11527
11528         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
11529         number used for CR register.
11530
11531 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11532                           Joern Rennecke (amylaar@cygnus.com)
11533
11534         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
11535         * h8300.c (initial_offset): Handle offset between RP and FP.
11536         (h8300_return_addr_rtx): New function.
11537         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
11538         return register.
11539         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
11540         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11541         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
11542         (CAN_ELIMINATE, REGISTER_NAMES):
11543         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
11544
11545 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
11546
11547         Remove TYPE_NONCOPIED_PARTS.
11548         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
11549         (struct tree_type): Remove noncopied_parts.
11550         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
11551         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
11552         (fixed_type_p): Remove.
11553         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
11554         (expand_expr, MODIFY_EXPR): Likewise.
11555         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
11556         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
11557
11558 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
11559
11560         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
11561         compiler warnings.
11562         (mask64_operand): Likewise.
11563         (includes_rldic_lshift_p): Likewise.
11564         (includes_rldicr_lshift_p): Likewise.
11565
11566 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
11567
11568         * objc/objc-act.c (build_message_expr): If a class method cannot
11569         be found, do not issue a warning if a corresponding instance
11570         method exists in the root class.
11571
11572 2001-09-05  Richard Henderson  <rth@redhat.com>
11573
11574         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
11575
11576 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
11577
11578         * function.c (ggc_mark_struct_function): Mark f->outer.
11579         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
11580         * integrate.c (output_inline_function): ... not here.
11581
11582 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11583
11584         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
11585
11586         * i386.c (size_cost): New static variable.
11587         (override_function): Use size_cost when -Os is specified.
11588
11589         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
11590         properly;  Use current_function_calls_eh_return.
11591         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
11592         use leave to avoid dependency chain.
11593
11594         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
11595         get BB loop_depth instead of computing it from LOOP notes.
11596
11597         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
11598
11599 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11600
11601         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11602         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11603         UNALIGNED_DOUBLE_INT_ASM_OP): Define
11604
11605 2001-09-05  Jeffrey A Law  (law@cygnus.com)
11606             Jason Merrill (jason@redhat.com)
11607
11608         * stor-layout.c (layout_type): Complain if an array's size can
11609         not be represented in a size_t.
11610
11611         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
11612
11613 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
11614
11615         * gcc.c: (process_command) Add parentheses around assignment
11616         used as truth value.
11617
11618 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11619
11620         * config/mips/mips.c (save_restore_insns): Don't mark any register
11621         save slots as unchanging if current_function_calls_eh_return.
11622
11623 2001-09-05  Richard Henderson  <rth@redhat.com>
11624
11625         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
11626         * config/alpha/alpha-protos.h: Declare it.
11627         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
11628         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
11629         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
11630         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
11631         (REG_OK_FOR_BASE_P): Select one of the above.
11632
11633 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11634
11635         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
11636         (crti.o): Prefix name of object file with $(T).
11637         (crtn.o): Likewise.
11638
11639 2001-09-05  David S. Miller  <davem@redhat.com>
11640
11641         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11642         * config/sparc/linux64.h: Likewise.
11643
11644 2001-09-05  Andreas Jaeger  <aj@suse.de>
11645
11646         * doc/invoke.texi (i386 Options): -mwide-multiply is not
11647         available anymore, remove the documentation.
11648         (i386 Options): Fix typo, cleanup index entries.
11649
11650         * prefix.c (concat): Remove, we can use the version from liberty.
11651
11652 2001-09-05  Richard Henderson  <rth@redhat.com>
11653
11654         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
11655         New functions split out of md file expanders.
11656         * config/alpha/alpha-protos.h: Declare them.
11657         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
11658
11659 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11660
11661         * cppmacro.c (funlike_invocation_p): No need to restore context.
11662
11663 2001-09-04  Richard Henderson  <rth@redhat.com>
11664
11665         * reload.c (push_reload): Export.
11666         * reload.h (push_reload): Declare it.
11667
11668         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
11669         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11670         * config/alpha/alpha.c (alpha_legitimize_address): New.
11671         (alpha_legitimize_reload_address): Likewise.
11672         * config/alpha/alpha-protos.h: Declare them.
11673
11674 2001-09-04  Stan Shebs  <shebs@apple.com>
11675
11676         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
11677         * config/darwin.c (machopic_stub_name): Account for internally
11678         generated lib calls such as memcpy.
11679
11680 2001-09-04  Richard Henderson  <rth@redhat.com>
11681
11682         * unwind.h (_UA_END_OF_STACK): New flag.
11683         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
11684
11685 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11686
11687         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
11688
11689 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
11690
11691         * config/mips/mips.c (save_restore_insns): Change base_offset to
11692         fp_offset in second call to mips_emit_frame_related_store.
11693
11694 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
11695
11696         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
11697         sometimes be represented as a NOTE of type
11698         NOTE_INSN_DELETED_LABEL.
11699         (Insns): Document NOTE_INSN_DELETED_LABEL.
11700
11701 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
11702
11703         * c-common.h (tree_dump_index): Add more comments.
11704         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
11705         (dump_option_value_info): New struct.
11706         (dump_options): New array.
11707         (dump_switch_p): Parse switch options symbolically.
11708         * doc/invoke.texi (-fdump-ast): Rename to ...
11709         (-fdump-tree): ... here. Document that options are symbolic, and
11710         not all are applicable.
11711
11712 2001-09-04  David S. Miller  <davem@redhat.com>
11713
11714         * config/sparc/sparc.md (define_splits): Kill constraints.
11715
11716         Cleanup redundant and unused insn attributes.
11717         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
11718         binary, and move.  Mark ialu as default.
11719         (commented out define_function_unit "alu"): Kill.
11720         (define_attr "use_clobbered"): Kill.
11721         (whole file): Kill address insn type references.  Replace
11722         all unary/binary/move references with ialu.
11723         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
11724         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
11725         TYPE_IALU.
11726
11727         Simplify length insn attribute and make more judicious use
11728         of insn attribute defaulting.
11729         * config/sparc/sparc.md (all insns with length > one): Mark as
11730         insn type multi if real instructions, else use default if
11731         it is a forced splitter.
11732         (all insns with length == one): Use default insn length.
11733         (all insns of type ialu): Use default insn type.
11734
11735         Fix erroneous insn attribute settings.
11736         (addx): Set insn type to misc.
11737         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
11738         const_umulsidi3_sp64): Set insn type to imul.
11739
11740         Track SFmode vs DFmode insns according to UltraSPARC
11741         scheduling rules.
11742         * config/sparc/sparc.md ("fptype"): New attribute, default
11743         to "single".
11744         (all DFmode single insns): Mark as fptype "double".
11745
11746 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
11747
11748         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
11749
11750 2001-09-03  Richard Henderson  <rth@redhat.com>
11751
11752         * function.h (struct function): Add arg_pointer_save_area_init.
11753         * function.c (expand_function_end): Init arg_pointer_save_area.
11754         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
11755         when called from a nested function.
11756
11757 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
11758
11759         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
11760         is enabled.
11761
11762 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11763
11764         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
11765
11766 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
11767
11768         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
11769         (emit_push_insn): Use specified padding direction when
11770         STACK_PUSH_CODE is POST_INC.
11771
11772         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
11773
11774 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11775
11776         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
11777
11778 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
11779
11780         * cppinit.c (cpp_start_read): Free the imacros list as we
11781         traverse it.  Don't free the chains before returning.
11782         (_cpp_push_next_buffer): Only try pushing buffers if we've
11783         completed -imacros handling.
11784
11785 2001-08-31  Eric Christopher  <echristo@redhat.com>
11786
11787         * gcc.c (handle_braces): Add explaination for abort.
11788
11789 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
11790
11791         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
11792         move adjustment of bitpos instead.
11793
11794 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
11795
11796         * function.c: Remove all_functions.  Make outer_function_chain
11797         static.
11798         (init_function_start): Don't add new function structure to
11799         all_functions.
11800         (find_function_data, push_function_context_to,
11801         pop_function_context_from, put_var_into_stack,
11802         trampoline_address): Update for changed structure element names.
11803         (push_function_context_to): Disentangle.
11804         (free_after_compilation): Also free F.
11805         (expand_dummy_function_end): Don't free cfun here.
11806         (put_var_into_stack): Comment why we can't use find_function_data here.
11807         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
11808         (mark_function_chain): Split into maybe_mark_struct_function and
11809         ggc_mark_struct_function.  Export the latter.
11810         (init_function_once): Mark from cfun and outer_function_chain;
11811         not all_functions.
11812
11813         * function.h (struct function): Kill next_global.  Rename next
11814         to outer.  All users updated to match.
11815         (all_functions, outer_function_chain): Don't declare.
11816
11817         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
11818         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
11819         don't touch f->inlinable, after calling rest_of_compilation.
11820
11821         * tree.h: Forward-declare struct function.  Prototype
11822         ggc_mark_struct_function.
11823
11824 2001-08-31  Kazu Hirata  <kazu@hxi.com>
11825
11826         * config/h8300/h8300.md (*andorhi3): Fix typos.
11827
11828 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11829
11830         * calls.c (emit_library_call_value): Don't use a fixed
11831         argument after VA_CLOSE, i.e. out of scope in traditional C.
11832
11833         * emit-rtl.c (gen_rtvec): Likewise.
11834
11835 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11836
11837         * Makefile.in (c-pragma.o): Depend on output.h.
11838         (reorg.o): Depend on except.h.
11839
11840         * c-pragma.c: Include output.h.
11841
11842         * reorg.c: Include except.h.
11843
11844         * unwind-dw2.c: Call __builtin_alloca, not alloca.
11845
11846 2001-08-31  Richard Henderson  <rth@redhat.com>
11847
11848         * sched-deps.c (add_dependence): Don't elide dependency if the
11849         conditional used by insn is modified in elem.
11850
11851 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
11852
11853         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11854
11855 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
11856
11857         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
11858         dump_switch_p.
11859
11860 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11861
11862         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
11863         function.
11864         (stormy16_asm_out_constructor): New function.
11865         (TARGET_ASM_CONSTRUCTOR): Define.
11866         (TARGET_ASM_DESTRUCTOR): Define.
11867
11868 2001-08-31  Andreas Jaeger  <aj@suse.de>
11869
11870         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
11871         * loop.c (add_label_notes): Likewise.
11872         * reload.c (find_reloads): Likewise.
11873         * config/sh/sh.c (machine_dependent_reorg): Likewise.
11874
11875 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
11876
11877         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
11878         code here.  Take _Unwind_{W,Sw}ord*.
11879         (read_encoded_value_with_base): Use them.
11880         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
11881         words.
11882         (extract_cie_info): Simplify read_?leb128 handling.
11883         (execute_stack_op, execute_cfa_program): Likewise.
11884         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
11885
11886 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11887
11888         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
11889         the frame pointer to pop the stack if convenient.
11890
11891         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
11892         Don't use post-increment before combine.
11893         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
11894         a call-saved register.
11895
11896 2001-08-31  Andreas Jaeger  <aj@suse.de>
11897
11898         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
11899         code was correct.
11900
11901 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
11902
11903         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
11904         not DIV/MOD, of course.
11905
11906 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
11907
11908         * rtl.def: Undo my patch commited 2001-08-27.
11909
11910         * genattrtab.c: Ditto.
11911
11912         * rtl.h: Ditto.
11913
11914         * sched-int.h: Ditto.
11915
11916         * target-def.h: Ditto.
11917
11918         * target.h: Ditto.
11919
11920         * haifa-sched.c: Ditto.
11921
11922         * sched-rgn.c: Ditto.
11923
11924         * sched-vis.c: Ditto.
11925
11926         * Makefile.in: Ditto.
11927
11928         * doc/md.texi: Ditto.
11929
11930         * doc/tm.texi: Ditto.
11931
11932         * doc/contrib.texi: Ditto.
11933
11934         * doc/gcc.texi: Ditto.
11935
11936         * genattrtab.h: Remove it.
11937
11938         * genautomata.c: Remove it.
11939
11940         * genattr.c: Undo my patch and Richard Henderson's patch commited
11941         2001-08-27.
11942
11943 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
11944
11945         * config.gcc (h8300-*-elf*): New case.
11946         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
11947         (SUBTARGET_CPP_SPEC): Define.
11948         (EXTRA_SPECS): Define.
11949         (SUBTARGET_EXTRA_SPECS): Define.
11950         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
11951         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
11952
11953 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
11954
11955         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
11956         (LIB2FUNCS_EXTRA): Define.
11957         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
11958         config/h8300/fixunssfsi.c: New file.
11959
11960 2001-08-30  Kazu Hirata  <kazu@hxi.com>
11961
11962         * config/h8300/h8300.md (zero_extendqihi2): Changes to
11963         define_expand to accommodate target-specific attributes.
11964         (anonymous zero_extendqihi2 patterns): New.
11965
11966 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
11967
11968         * h8300.md (*andorhi3): New pattern.
11969
11970 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
11971
11972         * h8300.c (dosize): Fix test for "sub".
11973
11974 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
11975
11976         * c-typeck.c (pointer_diff): Try to eliminate common term before
11977         doing conversions.
11978
11979 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
11980
11981         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11982         Account for the saves of the FP registers.
11983
11984         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
11985         (TEXT_SECTION_ASM_OP): Define.
11986         (INIT_SECTION_ASM_OP): Define.
11987         (FINI_SECTION_ASM_OP): Define.
11988         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
11989         (RDATA_SECTION_FUNCITON): Provide prototype.
11990
11991 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
11992
11993         * reload1.c (move2add_note_store): Correct typo checking for
11994         argument pushes.
11995
11996 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
11997
11998         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
11999         note should not be considered outside the libcall block.
12000
12001 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12002
12003         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12004
12005 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12006
12007         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12008
12009 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12010
12011         * config/h8300/h8300-protos.h: Add a prototype for
12012         emit_logical_op.
12013         * config/h8300/h8300.c (emit_logical_op): New.
12014         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12015         (andsi3): Likewise.
12016         (iorhi3): Likewise.
12017         (iorsi3): Likewise.
12018         (xorhi3): Likewise.
12019         (xorsi3): Likewise.
12020
12021 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12022
12023         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12024         comparison with rtx INTVAL.
12025         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12026         expression.
12027         * pa.h (FUNCTION_ARG_SIZE): Likewise.
12028
12029 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12030
12031         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
12032         comment typos.
12033
12034 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12035
12036         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12037         (reg n) to (mem (pre_dec (reg n))
12038         (anonymous movsi pattern): Likewise.
12039
12040 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12041
12042         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12043
12044 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12045
12046         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12047         several special constants.
12048
12049 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12050
12051         * config/h8300/lib1funcs.asm: Fix comment typos.
12052
12053 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12054
12055         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12056         Fix format specifier warnings.
12057
12058         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12059         inet_makeaddr, semctl): Prototype.
12060
12061         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12062         (save_restore_insns): Use base_offset, not gp_offset.
12063
12064         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12065         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12066
12067 2001-08-29  Richard Henderson  <rth@redhat.com>
12068
12069         * bb-reorder.c (function_tail_eff_head): New.
12070         (record_effective_endpoints): Set it.
12071         (fixup_reorder_chain): Use it.
12072
12073 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12074
12075         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12076
12077 2001-08-28  Dale Johannesen  <dalej@apple.com>
12078
12079         * config/darwin.c (machopic_function_base_name): Add const
12080         qualifier to a string.
12081         (darwin_encode_section_info): Ditto.
12082
12083 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12084
12085         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12086         function definition.
12087
12088 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12089
12090         * df.h (struct df): Add rts_order variable.
12091
12092         * df.c (df_visit_next_rts): New function.
12093         (df_visit_next): Renamed to df_visit_next_rc
12094         (df_analyse_1): Allocate/compute/free rts_order as well.
12095         (df_rd_global_compute): Use df_visit_next_rc instead of
12096         df_visit_next.
12097         (df_ru_global_compute): Use df_visit_next_rts instead of
12098         df_visit_next.
12099
12100         * flow.c (flow_reverse_top_sort_order_compute): New function.
12101
12102         * basic-block.h: Add prototype.
12103
12104 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12105
12106         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12107         blocks, the BB_REACHABLE is now set, rather than aux being
12108         non-NULL. Update the test to reflect this.
12109
12110 2001-08-28  Eric Christopher  <echristo@redhat.com>
12111
12112         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12113         config/mips/crti.asm: Ditto.
12114
12115 2001-08-28  Eric Christopher <echristo@redhat.com>
12116             Richard Henderson <rth@redhat.com>
12117
12118         * c-pragma.h (add_weak): Move prototype from here...
12119         * output.h (add_weak): ... to here.
12120         * varasm.c (add_weak): Fix typo.
12121         * config/mips/crti.asm: New file.
12122         * config/mips/crtn.asm: Ditto.
12123         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12124         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12125         (INVOKE__main): Ditto.
12126         (INIT_SECTION_ASM_OP): New.
12127         (FINI_SECTION_ASM_OP): Ditto.
12128         (STARTFILE_SPEC): Add crti.
12129         (ENDFILE_SPEC): Add crtn.
12130         * config/mips/elf64.h: Same.
12131         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12132         Remove.
12133         * config/mips/vxworks.h: Ditto.
12134         * config/mips/t-elf: Support crti and crtn.
12135
12136 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12137
12138         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12139         INSN_LIST.
12140
12141 2001-08-28  Richard Henderson  <rth@redhat.com>
12142
12143         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12144         (one_cmplbi2 splitter): Remove redundant test.
12145
12146 2001-08-28  Dale Johannesen  <dalej@apple.com>
12147
12148         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12149
12150 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12151
12152         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12153
12154 2001-08-28  Stan Shebs  <shebs@apple.com>
12155
12156         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12157         (UNALIGNED_SHORT_ASM_OP): Define.
12158         (UNALIGNED_INT_ASM_OP): Define.
12159
12160 2001-08-28  Will Cohen  <wcohen@redhat.com>
12161
12162         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12163         generation for first set.
12164
12165 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12166
12167         * flow.c (redirect_edge_succ_nodup): Return new edge.
12168         (try_simplify_condjump): Use new edge.
12169         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12170
12171         * cse.c (cse_basic_block): Skip note instructions.
12172
12173 2001-08-27  Richard Henderson  <rth@redhat.com>
12174
12175         * combine.c (combine_simplify_rtx): Don't reverse condition
12176         if there is no reverse for the condition.
12177         (simplify_comparison): Don't simplify subregs from INT to FP.
12178
12179         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12180         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12181         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12182         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12183         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12184         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12185
12186 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12187
12188         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12189         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12190         (pushqi1): New.
12191         (adddi_dilshr32, adddi_dishl32): Only data register can be
12192         source for mem destination.
12193
12194         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12195         and use bitnum to decide about register move.
12196
12197 2001-08-27  Richard Henderson  <rth@redhat.com>
12198
12199         * genattr.c (main): Emit state_t even when not doing scheduling.
12200
12201 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12202             Richard Henderson  <rth@redhat.com>
12203
12204         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12205         (reg_avail_info, current_bb): ... these.
12206         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12207         (compute_hash_table): Likewise.
12208
12209 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12210
12211         * flow.c (verify_flow_info): Use checksums to verify edges.
12212
12213 2001-08-27  Richard Henderson  <rth@redhat.com>
12214
12215         * genautomata.c (expand_automata): Always create a description.
12216
12217 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12218
12219         * optabs.c (expand_binop): Correctly handle the carry in multiword
12220         add/subtract operations.
12221
12222 2001-08-27  Fred Fish  <fnf@be.com>
12223
12224         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12225         __SIZE_TYPE__.
12226
12227 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12228
12229         * reload.c (find_reloads_toplev): Back out this change:
12230
12231         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12232
12233         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12234         mem if the address is a mode_dependent_address_p.
12235
12236 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12237
12238         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12239         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12240         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12241         RTL constructions.
12242
12243         * genattr.c (main): New variable num_insn_reservations.  Increase
12244         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12245         pipeline hazard recognizer interface.
12246
12247         * genattrtab.h: New file.
12248
12249         * genattrtab.c: Include genattrtab.h.
12250         (attr_printf, check_attr_test, make_internal_attr,
12251         make_numeric_value): Move protypes into genattrtab.h.  Define them
12252         as external.
12253         (num_dfa_decls): New global variable.
12254         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12255         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12256         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12257         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12258
12259         * genautomata.c: New file.
12260
12261         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12262
12263         * sched-int.h: (curr_state): Add the external definition for
12264         automaton pipeline interface.
12265         (haifa_insn_data): Add comments for members blockage and units.
12266
12267         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12268         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12269         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12270         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12271         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12272         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12273         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12274         macros.
12275         (TARGET_SCHED): Use the new macros.
12276
12277         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12278         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12279         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12280         dfa_bubble): New members in gcc_target.sched.
12281
12282         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12283         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12284         (insn_queue): Redefine it as pointer to array.
12285         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12286         INSN_QUEUE_SIZE.
12287         (max_insn_queue_index_macro_value): New variable.
12288         (curr_state, dfa_state_size, ready_try): New varaibles for
12289         automaton interface.
12290         (ready_element, ready_remove, max_issue): New function prototypes
12291         for automaton interface.
12292         (choose_ready): New function prototype.
12293         (insn_unit, blockage_range): Add comments.
12294         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12295         FUNCTION_UNITS_SIZE == 0.
12296         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12297         actual_hazard, potential_hazard): Add comments.
12298         (insn_cost): Use cost -1 as undefined value.  Remove
12299         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
12300         pipeline interface.
12301         (ready_element, ready_remove): New functions for automaton
12302         interface.
12303         (schedule_insn): Add new code for automaton pipeline interface.
12304         (queue_to_ready): Add new code for automaton pipeline interface.
12305         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12306         (debug_ready_list): Print newline when the queue is empty.
12307         (max_issue): New function for automaton pipeline interface.
12308         (choose_ready): New function.
12309         (schedule_block): Add new code for automaton pipeline interface.
12310         Print ready list before scheduling each insn.
12311         (sched_init): Add new code for automaton pipeline interface.
12312         Initiate insn cost by -1.
12313         (sched_finish): Free the current automaton state and finalize
12314         automaton pipeline interface.
12315
12316         * sched-rgn.c: Include target.h.
12317         (init_ready_list, new_ready, debug_dependencies): Add new code for
12318         automaton pipeline interface.
12319
12320         * sched-vis.c: Include target.h.
12321         (get_visual_tbl_length): Add code for automaton interface.
12322         (target_units, print_block_visualization):  Add comments.
12323
12324         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
12325         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12326         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12327         (getruntime.o, genautomata.o): New entries.
12328         (genattrtab.o): Add new dependency file genattrtab.h.
12329         (genattrtab): Add new dependencies.  Link it with `libm.a'.
12330         (getruntime.o, hashtab.o): New entries for canadian cross.
12331
12332         * doc/md.texi: Description of automaton based model.
12333
12334         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12335         Add comments.
12336         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12337         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12338         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12339         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12340         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12341         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12342         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12343         hook descriptions.
12344         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12345         MAX_DFA_ISSUE_RATE): New macro descriptions.
12346
12347         * doc/contrib.texi: Add dfa based scheduler contribution.
12348
12349         * doc/gcc.texi: Add more information about genattrtab.
12350
12351 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
12352
12353         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
12354         an RTL basic block.
12355
12356 2001-08-27  Richard Henderson  <rth@redhat.com>
12357
12358         * function.c (expand_function_end): Don't init arg_pointer_save_area.
12359         (get_arg_pointer_save_area): New.  Create an init it here.
12360         (fix_lexical_addr): Use it.
12361         * function.h: Declare it.
12362         * builtins.c (expand_builtin_setjmp_receiver): Use it.
12363         * stmt.c (expand_nl_goto_receiver): Use it.
12364
12365 2001-08-27  Richard Henderson  <rth@redhat.com>
12366
12367         * final.c (final_scan_insn): Don't enter APP_ON mode for
12368         empty asm strings.
12369
12370         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
12371         alignment for assemble_integer for DW_EH_PE_aligned.
12372         * except.c (output_function_exception_table): Likewise.
12373
12374 2001-08-26  Andreas Jaeger  <aj@suse.de>
12375
12376         * c-tree.h: Add prototyp for c_sizeof_nowarn.
12377
12378 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
12379
12380         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
12381
12382 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
12383
12384         * config/rs6000/rs6000.c (mask_operand): Rewrite without
12385         bit-shifting loop.
12386         (mask64_operand): Likewise.
12387         (rldic_operand): Delete.
12388         (includes_lshift64_p): Delete.
12389         (includes_rldic_lshift_p): New function.
12390         (includes_rldicr_lshift_p): New function.
12391         (print_operand): Don't call rldic_operand in case 'W'.
12392         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
12393         (includes_lshift64_p): Remove.
12394         (includes_rldic_lshift_p): Declare.
12395         (includes_rldicr_lshift_p): Declare.
12396         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
12397         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
12398         Replace match_operand rldic_operand predicate with
12399         const_int_operand.  Replace includes_lshift64_p condition with
12400         includes_rldic_lshift_p.
12401         <ashldi3_internal 64 bit rldicr patterns>: New.
12402
12403 2001-08-27  Andreas Jaeger  <aj@suse.de>
12404
12405         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12406         * errors.c: Likewise.
12407         * final.c: Likewise.
12408         * dwarf2asm.c: Likewise.
12409         * doprint.c (checkit): Likewise.
12410         * diagnostic.c: Likewise.
12411         * collect2.c: Likewise.
12412         * calls.c: Likewise.
12413         * c-semantics.c (build_stmt): Likewise.
12414         * c-format.c (status_warning): Likewise.
12415         * c-errors.c (pedwarn_c99): Likewise.
12416         * builtins.c (validate_arglist): Likewise.
12417         * config/pj/pj.c (pj_printf): Likewise.
12418         * fix-header.c: Likewise.
12419         * gcc.c: Likewise.
12420         * gcov.c (fnotice): Likewise.
12421         * gensupport.c (message_with_line): Likewise.
12422         * mips-tfile.c: Likewise.
12423         * protoize.c (notice): Likewise.
12424         * read-rtl.c (fatal_with_file_and_line): Likewise.
12425         * rtl-error.c: Likewise.
12426         * tradcpp.c: Likewise.
12427         * tree.c: Likewise.
12428         * cp/tree.c (build_min_nt): Likewise.
12429         (build_min): Likewise.
12430         * cp/lex.c: Likewise.
12431         * cp/errfn.c: Likewise.
12432         * cp/rtti.c (create_pseudo_type_info): Likewise.
12433
12434 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
12435
12436         * df.c (df_uses_record): Return after recording all uses
12437         in ASM_OPERANDS.
12438
12439 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
12440
12441         * df.c (df_insn_modify): Realloc the INSN table here, if
12442         necessary, here, too.
12443
12444 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
12445
12446         * config/mips/mips.c (mips_function_value): Handle complex return
12447         values.
12448
12449 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
12450
12451         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
12452         unshared.
12453         * reload.c (make_memloc): Copy result if it is still
12454         reg_equiv_memory_loc[regno] on return.
12455         (subst_reloads) [ENABLE_CHECKING]: Check that none of
12456         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
12457         reg_equiv_mem are modified by the substitutions.
12458
12459 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12460
12461         * predict.c (expensive_function_p): New.
12462         * rtl.h (expensive_function_p): Declare.
12463         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
12464         (use_fast_prologue_epilogue): New static variable.
12465         (expand_prologue): Set it; emit short prologues if unset.
12466         (expand_epilogue): Likewise.
12467
12468 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12469
12470         * config.gcc: Add stormy16-*-elf case.
12471         * config/stormy16/stormy-abi: New file.
12472         * config/stormy16/stormy16-lib2.c: New file.
12473         * config/stormy16/stormy16-protos.h: New file.
12474         * config/stormy16/stormy16.c: New file.
12475         * config/stormy16/stormy16.h: New file.
12476         * config/stormy16/stormy16.md: New file.
12477         * config/stormy16/t-stormy16: New file.
12478
12479 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
12480
12481         * i386.h (no-accumulate-outgoing-args): Use proper mask.
12482
12483 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
12484
12485         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
12486         descriptor members are pointer size, not constant 4.
12487         * config/rs6000/rs6000.md (define_splits): Remove more unused
12488         constraints.
12489
12490 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12491
12492         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
12493
12494 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
12495
12496         * cp/rtti.c (VPARAMS): Fix parameter.
12497
12498 2001-08-24  Zack Weinberg  <zackw@panix.com>
12499
12500         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
12501         to zero.
12502         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
12503         to switch.
12504         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
12505         in if controlling use of insv.
12506         (extract_bit_field): Likewise, for extv and extzv.
12507
12508 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
12509
12510         * i386.md (movcc peep2): Fix load of 0.
12511
12512 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12513
12514         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
12515         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
12516
12517 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
12518
12519         * c-pragma.h: Move weak_syms and weak_decls...
12520         * varasm.c: ...here.  Now static.
12521         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
12522         depend on HANDLE_PRAGMA_WEAK.
12523
12524         * c-common.c (c_alignof, c_alignof_expr): Move here...
12525         * c-typeck.c: ...from here.
12526         * c-tree.h, c-common.h: Adjust.
12527
12528 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
12529
12530         * config/ia64/ia64.c (rws_update): If !pred, set write_count
12531         instead of incrementing it.
12532
12533         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
12534         asm ready, don't try to move them all into the same array element.
12535
12536 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12537
12538         * function.c (thread_prologue_and_epilogue_insns): Avoid
12539         fallthru flag on edge to exit.
12540
12541         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
12542
12543         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
12544         dead edges.
12545
12546 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12547
12548         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
12549         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
12550         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
12551         Remove prototype.
12552
12553 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12554
12555         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
12556         replace "GNU CC" with "GCC".
12557
12558 2001-08-23  Richard Henderson  <rth@redhat.com>
12559
12560         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
12561         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
12562         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
12563         Need GR between FR and not GR_AND_FR.
12564         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
12565         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
12566         AR regs before GR regs.
12567         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12568         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
12569         (REGISTER_MOVE_COST): Update.
12570         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
12571
12572 2001-08-23  Richard Henderson  <rth@redhat.com>
12573
12574         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
12575         a register class.
12576
12577 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12578
12579         * reload1.c (emit_reload_insns): Don't look for notes
12580         on a NULL store_insn.
12581
12582 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12583
12584         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
12585         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
12586         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
12587         format specifier warnings.
12588         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
12589
12590 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
12591
12592         * config/i386/i386-protos.h: Correct declaration of
12593         i386_pe_asm_named_section.
12594
12595 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12596
12597         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
12598         variable i.
12599         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12600
12601 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12602
12603         * cpperror.c (print_location): Don't show _Pragma.
12604         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
12605         and file change callback generation here.
12606         (stack_include_file): Update use of cpp_push_buffer.
12607         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
12608         (struct cpp_buffer): Remove type, pfile members.
12609         * cppinit.c (cpp_handle_option): Use free_chain.
12610         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
12611         (skip_escaped_newlines, get_effective_char, lex_percent): Take
12612         a cpp_reader rather than a cpp_buffer.
12613         (skip_escaped_newlines, get_effective_char, skip_block_comment,
12614         skip_line_comment, parse_string, lex_percent, lex_dot,
12615         _cpp_lex_token): Update accordingly.
12616         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
12617         generation here.
12618         (cpp_push_buffer): Update prototype.
12619         (run_directive): Update use of cpp_push_buffer.
12620         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
12621         handle_assertion): Update use of run_directive.
12622         * cpplib.h (enum cpp_buffer_type): Remove.
12623         (cpp_push_buffer): Update prototype.
12624         * fix-header.c (read_scan_file): Update.
12625
12626 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12627
12628         * gcc.c (struct prefix_list): Change prefix to const char *.
12629
12630 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12631
12632         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
12633
12634 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
12635
12636         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
12637         from a new MEM.
12638
12639         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
12640         a squeezable note.
12641         * rtl.h: Adjust.
12642         * ifcvt.c (dead_or_predicable): Adjust.
12643         * loop.c (find_and_verify_loops): Adjust.
12644         * stmt.c (expand_end_case): Adjust.
12645         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
12646         head and end insn pointers in the basic block, not just local copies.
12647         (merge_blocks_move_predecessor_nojumps): Likewise.
12648
12649 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
12650
12651         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
12652         bitmap.h, builtin-types.def, builtins.c, builtins.def,
12653         c-aux-info.c, c-common.c, c-common.def, c-common.h,
12654         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
12655         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
12656         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
12657         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
12658         conditions.h, config.gcc, configure.frag, configure.in,
12659         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
12660         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
12661         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
12662         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
12663         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
12664         emit-rtl.c, errors.c, errors.h, except.c, except.h,
12665         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
12666         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
12667         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
12668         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
12669         gencheck.c, gencodes.c, genconfig.c, genemit.c,
12670         genextract.c, genflags.c, gengenrtl.c, genmultilib,
12671         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
12672         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
12673         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
12674         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
12675         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
12676         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
12677         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
12678         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
12679         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
12680         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
12681         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
12682         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
12683         params.h, predict.c, predict.def, predict.h, prefix.c,
12684         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
12685         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
12686         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
12687         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
12688         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
12689         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
12690         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
12691         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
12692         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
12693         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
12694         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
12695         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
12696         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
12697         xcoffout.h: replace "GNU CC" with "GCC".
12698
12699 2001-08-21  Richard Henderson  <rth@redhat.com>
12700
12701         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
12702         (final_scan_insn): Consider jump tables data even if we have no
12703         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
12704         ADDR_VEC_ALIGN.
12705         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
12706         (ASM_OUTPUT_CASE_END): Remove.
12707         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
12708         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
12709         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
12710
12711 2001-08-21  Richard Henderson  <rth@redhat.com>
12712
12713         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
12714         at barrier insns.  Emit stop bits before barriers.
12715
12716         * flow.c (flow_find_cross_jump): Don't consider unconditional
12717         return insns for commoning.
12718
12719         * final.c (compute_alignments): Fix typo.
12720
12721         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
12722         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
12723         (store_bit_field): Use mode_for_extraction more places.
12724         (extract_bit_field): Likewise.
12725
12726 2001-08-21  Zack Weinberg  <zackw@panix.com>
12727
12728         * caller-save.c: Don't include insn-codes.h.
12729         (reg_save_code, reg_restore_code): Make arrays of int.
12730         All uses updated to match.
12731         (insert_save, insert_restore): No need to initialize "code"
12732         variable upon declaration.
12733         * Makefile.in: update dependencies; fix typo in clean rule.
12734
12735 2001-08-21  Richard Henderson  <rth@redhat.com>
12736
12737         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
12738         (merge_if_block): Handle fallout from same.
12739
12740 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12741
12742         * builtins.c (type_to_class): Fix typo in last change.
12743
12744 2001-08-21  Richard Henderson  <rth@redhat.com>
12745
12746         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
12747         ia64_asm_output_label.
12748
12749         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
12750         copy of gp while the real gp register contains garbage.
12751
12752 2001-08-21  Zack Weinberg  <zackw@panix.com>
12753
12754         * expmed.c (mode_for_extraction): New function.
12755         (store_bit_field, extract_bit_field): Use it.
12756         * expr.h: Prototype it and provide an enum for its first argument.
12757
12758         * combine.c, function.c, recog.c: Don't include insn-codes.h.
12759         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
12760         and digging through the insn_data tables.
12761         * Makefile.in: Update dependencies.
12762
12763 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12764
12765         * cppfiles.c (stack_include_file): line-map.c now handles include
12766         depth.
12767         (handle_missing_handler): Similarly.
12768         (_cpp_execute_include): Similarly.
12769         (_cpp_pop_file_buffer): Similarly.
12770         * cpphash.h (struct cpp_reader): Remove system_include_depth,
12771         buffer_stack_depth and include_depth.
12772         * cpplib.c (do_include_common): line-map.c now handles include depth.
12773         (cpp_push_buffer): Similarly.
12774         (_cpp_pop_buffer): Similarly.
12775         * cppmacro.c (builtin_macro): Update.
12776         * line-map.c (init_line_maps): Set depth.
12777         (add_line_map): Increment "used" earlier.  Update and use the
12778         include depth.
12779         (trace_include): Use the include depth.
12780         * line-map.h (struct line_maps): New member depth.
12781
12782 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12783
12784         * cppfiles.c (stack_include_file): Don't handle -H here.
12785         * cppinit.c (cpp_start_read): Set include tracing after
12786         cpp_post_options and after stacking the main file.
12787         * line-map.c (trace_include): New.
12788         (init_line_maps, add_line_map): Update.
12789         * line-map.h (struct line_maps): New member trace_includes.
12790
12791 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12792
12793         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
12794         * cppfiles.c (stack_include_file): Only stack a file if there
12795         is something to do.  Return a boolean indicating whether a
12796         buffer was stacked or not.
12797         (_cpp_execute_include): Similarly.
12798         (_cpp_read_file): Similarly.
12799         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
12800
12801 2001-08-21  Sam Steingold  <sds@gnu.org>
12802
12803         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
12804         (RECACHE): keep obufp_before_macroname up to date
12805
12806 2001-08-21  Zack Weinberg  <zackw@panix.com>
12807
12808         * stmt.c: Don't include insn-codes.h.
12809         (expand_end_case): Machine specific logic moved to expr.c.
12810         No need to worry about __builtin_classify_type.
12811         (check_for_full_enumeration_handling, emit_case_nodes):
12812         Kill #if 0 blocks.
12813
12814         * builtins.o (expand_builtin_classify_type): Split up so code
12815         can be shared with fold_builtin_classify_type.
12816         (type_to_class, fold_builtin_classify_type): New functions.
12817         (fold_builtins): Handle __builtin_classify_type.
12818
12819         * expr.c (do_tablejump): Now static.
12820         (case_values_threshold, try_casesi, try_tablejump): New;
12821         code mostly from stmt.c (expand_end_case).
12822         (expr.h): Update prototypes.
12823
12824         * Makefile.in (stmt.o): Update dependencies.
12825
12826 2001-08-21  Will Cohen  <wcohen@redhat.com>
12827
12828         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
12829         declaration of variable i.
12830         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
12831         declaration of variable i.
12832
12833 2001-08-21  Richard Henderson  <rth@redhat.com>
12834
12835         * crtstuff.c: Fix thinko last change.  Move list tails to start
12836         of CRT_END section.  Tidy ifdefs.
12837         (__EH_FRAME_BEGIN__): Always static for ELF.
12838         (__do_global_ctors_1): Rename from __frame_dummy.
12839         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
12840         name change; don't hide __EH_FRAME_BEGIN__.
12841
12842 2001-08-21  Richard Henderson  <rth@redhat.com>
12843
12844         * gdbinit.in: Move break on exit after break on fancy_abort.
12845
12846         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
12847         sized types.
12848
12849 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12850
12851         * cpphash.h (_cpp_push_next_buffer): New.
12852         * cppinit.c (do_includes): Remove.
12853         (push_include, free_chain, _cpp_push_next_buffer): New.
12854         (cpp_start_read): Use them to rework command line option handling.
12855         (cpp_handle_option): Combine handling of -include and -imacros.
12856         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
12857         appropriate.  Always insert missing \n at EOF.
12858         * cpplib.c (start_directive): Get the directive position right.
12859         * cppmain.c (cb_file_change): Always print the first line, unless
12860         preprocessed.
12861
12862 2001-08-20  Andreas Jaeger  <aj@suse.de>
12863
12864         * profile.c (compute_branch_probabilities): Remove extra new-line
12865         in error message.
12866         * flow.c (verify_flow_info): Likewise.
12867
12868 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12869
12870         * basic-block.h (basic_block): Add new field 'flags'.
12871         (BB_REACHABLE): Define.
12872         (expunge_block): Declare.
12873         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
12874         (EXIT_BLOCK_PTR): Ditto.
12875         (expunge_block): Remove static declaration.
12876         (cleanup_cfg): Clear bb->aux on every basic block.
12877         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
12878         computing reachability.
12879         (delete_unreachable_blocks): Delete block b if b->flags has
12880         BB_REACHABLE unset.
12881
12882 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12883
12884         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
12885
12886 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12887
12888         * sparc.c (sparc_variable_issue): Fix typo in last change.
12889
12890 2001-08-20  Richard Henderson  <rth@redhat.com>
12891
12892         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
12893
12894 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12895
12896         * pa.h (RETURN_IN_MEMORY): Improve comment.
12897
12898 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
12899
12900         * doc/invoke.texi (Profiling options): Clarify the interactions
12901         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
12902
12903 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
12904
12905         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
12906         command.
12907
12908 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12909
12910         * gcc.c (make_relative_prefix): Allocate a sufficiently large
12911         buffer.
12912
12913 2001-08-20  Richard Henderson  <rth@redhat.com>
12914
12915         * final.c (end_final): Fix typo last change.
12916
12917 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
12918
12919         * cppinit.c (init_standard_includes): The returned buffer
12920         is already malloc-ed.
12921         * gcc.c (add_prefix): Similarly.
12922         * prefix.c (translate_name): Update to support clear buffer
12923         ownership rules.
12924         (update_path): Similarly.  Be sure to free any newly allocated
12925         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
12926         (tr): New function.
12927         * prefix.h (update_path): Update prototype and document.
12928         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
12929         up and update to new buffer ownership rules.
12930         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
12931
12932 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
12933
12934         * final.c (compute_alignments): New function.
12935         (init_insn_lengths): Do not care label_align.
12936         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
12937         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
12938         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
12939         (shorted_branches): Realloc label_align array; do
12940         not call init_insn_lengths; Do not care about loop alignments.
12941         * output.h (compute_alignments): Declare.
12942         * toplev.c (rest_of_compilation): Call compute_alignments.
12943         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
12944
12945         * predict.c (block_info_def): Add npredecesors, remove nvisited;
12946         change visited to tovisit.
12947         (propagate_freq): Use faster traversing algorithm.
12948         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
12949         to tovisit; reverse meaning.
12950
12951         * predict.c (struct block_info_def): Remove nvisited.
12952         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12953         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12954
12955 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
12956
12957         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
12958         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
12959         (TARGET_FUSED_MADD): New.
12960         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
12961         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
12962         the multiply-add instructions.
12963
12964 2001-08-19  Richard Henderson  <rth@redhat.com>
12965
12966         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
12967         is aligned to pointer size.
12968
12969 2001-08-19  Richard Henderson  <rth@redhat.com>
12970
12971         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
12972         display markers during final schedule.
12973
12974 2001-08-19  Richard Henderson  <rth@redhat.com>
12975
12976         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
12977
12978 2001-08-19  Richard Henderson  <rth@redhat.com>
12979
12980         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
12981         in the same string.
12982         (ASM_NAME_TO_STRING): Remove.
12983         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
12984         in the same string.  Remove support for expressions.
12985
12986 2001-08-19  Richard Henderson  <rth@redhat.com>
12987
12988         * config/i386/i386.md (tablejump): Make an expander; handle
12989         pic relative addressing here.
12990         (tablejump_1): Rename from tablejump_pic.
12991         (casesi): Remove.
12992
12993 2001-08-19  Richard Henderson  <rth@redhat.com>
12994
12995         * regclass.c (fix_register): Fix typo.
12996
12997 2001-08-18  Richard Henderson  <rth@redhat.com>
12998
12999         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13000         (struct _Unwind_Context): Expand br_loc to hold it.
13001         (uw_frame_state_for): Handle leaf functions better.
13002         (uw_update_reg_address): Update for br_loc change.
13003
13004 2001-08-18  Richard Henderson  <rth@redhat.com>
13005
13006         * crtstuff.c: Move list heads before code that uses them.
13007         (__JCR_LIST__): Remove initial null.
13008         (frame_dummy, __frame_dummy): Do java registration here ...
13009         (__do_global_ctors_aux): ... not here.
13010
13011         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13012         (__do_global_dtors_aux): Update to match.
13013         (__JCR_LIST__, __do_jv_register_classes): New.
13014         (.init): Call it.
13015         * config/ia64/crtend.asm (__JCR_END__): New.
13016         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13017         instead of an indirect LTOFF22 reloc.
13018
13019 2001-08-18  Richard Henderson  <rth@redhat.com>
13020
13021         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13022         * regclass.c (init_reg_sets_1): Fix typo.
13023         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13024         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13025         (ia64_compute_frame_size): Make ar.unat live when in use.
13026         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13027         for ar.pfs; remove ar.unat handling.
13028         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
13029         call-saved.
13030         (PREDICATE_CODES): Add ar_pfs_reg_operand.
13031         * config/ia64/ia64-protos.h: Update decls.
13032         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13033         (sibcall_pic): Likewise.
13034
13035 2001-08-18  Richard Henderson  <rth@redhat.com>
13036
13037         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13038         pred_rel_mutex when searching for insn_group_barrier.
13039         * config/ia64/ia64.md (cycle_display): Combine the expander
13040         and insn patterns.
13041
13042         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13043         bit before asm as needed.
13044
13045 2001-08-18  Richard Henderson  <rth@redhat.com>
13046
13047         * timevar.def (TV_MACH_DEP): New.
13048         * toplev.c (rest_of_compilation): Use it.
13049         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13050
13051 2001-08-18  Zack Weinberg  <zackw@panix.com>
13052
13053         * unwind-dw2.c (execute_stack_op): Add default aborts to
13054         the inner switches to prevent warnings.
13055
13056 2001-08-18  Richard Henderson  <rth@redhat.com>
13057
13058         * timevar.h (struct timevar_time_def): Change element type to float.
13059         (ticks_to_msec, clocks_to_msec): Likewise.
13060         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13061         (get_time): Likewise.
13062         (timevar_print): Adjust zero check and printing to match.
13063
13064 2001-08-18  Zack Weinberg  <zackw@panix.com>
13065
13066         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13067         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13068         Eliminate overfull or underfull hboxes.
13069
13070 2001-08-18  Zack Weinberg  <zackw@panix.com>
13071
13072         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13073
13074 2001-08-18  Zack Weinberg  <zackw@panix.com>
13075
13076         * haifa-sched.c: Convert to target hooks.  Macros replaced
13077         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13078         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13079         MD_SCHED_FINISH, and HAVE_cycle_display.
13080         * target-def.h (TARGET_SCHED_ADJUST_COST,
13081         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13082         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13083         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13084         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13085         New hook #defines to be overridden.
13086         (TARGET_SCHED): Bring them all together.
13087         (TARGET_INITIALIZER): Update.
13088         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13089         instead of 'struct rtx_def *' throughout.
13090         (struct sched): New set of hooks for the scheduler.
13091         * Makefile.in (haifa-sched.o): Depend on target.h.
13092         * doc/tm.texi: Document the new scheduler hooks, together in
13093         their own section, instead of scattered around.
13094         Fix a bunch of underfull/overfull hboxes.
13095
13096         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13097         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13098         sparc.h: Don't define any of the old scheduler macros.
13099
13100         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13101         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13102         sparc.c: Create hook functions from code extracted from
13103         corresponding target header, or make existing hooks static, as
13104         appropriate.  Set the appropriate entries in targetm.
13105
13106         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13107         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13108         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13109         Remove prototypes for functions which are now static.
13110
13111         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13112         related gunk; the Haifa scheduler is now the only choice.
13113
13114 2001-08-18  Zack Weinberg  <zackw@panix.com>
13115
13116         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13117         * genopinit.c: Put floating point divide insns in sdiv_optab.
13118         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13119         * config/gofast.h, config/c4x/c4x.h,
13120         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13121         config/pa/long_double.h, config/rs6000/sysv4.h,
13122         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13123         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13124         (init_optabs): Use init_optabv for overflow-trapping optabs.
13125         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13126         cmp_optab RTX codes so have_insn_for can find them.
13127
13128         * optabs.c (expand_simple_binop, expand_simple_unop,
13129         have_insn_for, gen_sub3_insn): New interfaces.
13130         * expr.h: Prototype new functions.
13131         (enum optab_methods): Move here from optabs.h.
13132
13133         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13134         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13135         Use new functions instead of working directly with optabs.
13136         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13137         unroll.c: Don't include optabs.h.
13138         * caller-save.c, combine.c, function.c, stmt.c: Just include
13139         insn-codes.h, not optabs.h.
13140         * Makefile.in: Update dependencies.
13141
13142         * combine.c (make_compound_operation, simplify_comparison):
13143         Fix typos testing for this or that instruction.
13144
13145 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13146
13147         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13148         generating libgcc.a.
13149
13150 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13151
13152         * except.c (TYPE_HASH): Delete.
13153
13154         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13155         HOST_WIDE_INT.
13156
13157         * tree.c (TYPE_HASH): Delete.
13158
13159         * tree.h (TYPE_HASH): Define.
13160
13161 2001-08-18  Graham Stott  <grahams@redhat.com>
13162
13163         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13164         define_split.
13165         (adddi3_internal_2+2): Likewise.
13166         (eh_set_lr_di+1): Likewise.
13167
13168 2001-08-17  Richard Henderson  <rth@redhat.com>
13169
13170         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13171         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13172         * dwarf2asm.c: ... here.
13173         * dwarfout.c: Remove them.
13174
13175         * varasm.c (assemble_integer): Add align parameter.
13176         (assemble_real, output_constant, output_constructor): Likewise.
13177         * output.h: Update decls.
13178         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13179         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13180         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13181         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13182         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13183         Update all callers.
13184
13185         * final.c (end_final): Abort profile block generation if we
13186         haven't layed it out properly.
13187         * output.h (assemble_eh_integer): Remove stale decl.
13188         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13189         (min_align): New.
13190         (assemble_integer): Handle unaligned data.
13191         (assemble_real): Abort on unaligned data.
13192         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13193         anything useful.
13194         (default_dtor_section_asm_out_destructor): Use assemble_align.
13195         (default_named_section_asm_out_constructor): Likewise.
13196         (default_ctor_section_asm_out_constructor): Likewise.
13197         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13198         (machopic_asm_out_destructor): Likewise.
13199         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13200         (nextstep_asm_out_destructor): Likewise.
13201         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13202         (vms_asm_out_destructor): Likewise.
13203
13204 2001-08-17  Richard Henderson  <rth@redhat.com>
13205
13206         * config/mips/iris6.h (TARGET_IRIX6): New.
13207         (current_section_name, current_section_flags): New.
13208         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13209         (MAX_OFILE_ALIGNMENT): New.
13210         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13211         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13212         (copy_file_data): Split out from
13213         (mips_asm_file_end): ... here.
13214         (mips_asm_file_start): Remove extra .section directive.  Use
13215         tmpfile instead of mips_make_temp_file.
13216         (mips_unique_section): Use const char * as needed for warnings.
13217         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13218         re-add align parameter.
13219         (iris6_asm_named_section): New.
13220         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13221         (iris6_asm_output_align, iris6_section_align_1): New.
13222         (iris6_asm_file_start, iris6_asm_file_end): New.
13223         * config/mips/mips-protos.h: Update decls.
13224
13225 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13226
13227         * doc/install.texi (Install GCC): Add links to build status pages.
13228         (Specific): Ditto.
13229         (Final install): Ditto; request updates for specific info
13230
13231 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13232
13233         * cpperror.c (print_location):  Don't take a file name; use the
13234         line map instead.
13235         (_cpp_begin_message): Similarly.
13236         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13237         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13238         (cpp_pedwarn_with_file_and_line): Remove.
13239         * cppfiles.c (stack_include_file): Update; set filename to stdin
13240         here when appropriate.
13241         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13242         (_cpp_begin_message): Don't take a file name.
13243         * cppinit.c: Add comment.
13244         * cpplex.c: Fix end-of-directive indicator.
13245         * cpplib.c: Don't include intl.h.
13246         (run_directive, do_diagnostic): Update.
13247         (do_line): Update to not use nominal_fname.
13248         (cpp_push_buffer): Don't take a filename.
13249         * cpplib.h (struct ht): Remove.
13250         (cpp_push_buffer): Don't take a filename.
13251         (cpp_pedwarn_with_file_and_line): Remove.
13252         * cppmacro.c (struct cpp_macro): Remove file.
13253         (builtin_macro): Update.
13254         (_cpp_create_definition): Update.
13255         * cppmain.c: Correct comment.
13256         * fix-header.c (read_scan_file): Update.
13257
13258 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13259
13260         * sbitmap.c: Fix comment formatting.
13261         * sched-deps.c: Likewise.
13262         * sibcall.c: Likewise.
13263         * simplify-rtx.c: Likewise.
13264         * ssa.c: Likewise.
13265         * ssa-ccp.c: Likewise.
13266         * stor-layout.c: Likewise.
13267         * timevar.c: Likewise.
13268         * toplev.c: Likewise.
13269         * unwind-dw2.c: Likewise.
13270         * unwind-dw2-fde.c: Likewise.
13271         * varasm.c: Likewise.
13272
13273 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13274
13275         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13276         or larger than an integer in memory.
13277
13278 2001-08-17  Zack Weinberg  <zackw@panix.com>
13279
13280         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13281         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13282         * rtl.h: Don't forward-declare union tree_node here.  Don't
13283         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13284         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13285         and tree respectively.
13286         * tree.h: Don't forward-declare struct rtx_def here.  Don't
13287         typedef tree here.  Change all uses of struct rtx_def *,
13288         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13289         and tree respectively.
13290
13291 2001-08-17  Richard Henderson  <rth@redhat.com>
13292
13293         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
13294         config/mips/openbsd.h: Fix typos last change.
13295
13296 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13297
13298         * doc/invoke.texi (Optimize Options): The default for
13299         -finline-limit is 600.
13300
13301 2001-08-17  Richard Henderson  <rth@redhat.com>
13302
13303         * varasm.c (text_section): Allow TEXT_SECTION to override the
13304         printing of TEXT_SECTION_ASM_OP.
13305         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
13306         (DATA_SECTION, BSS_SECTION): Remove.
13307         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
13308         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
13309         Rename from s/_NAME//.
13310         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
13311         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
13312         (TEXT_SECTION): ... here.  New.
13313         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
13314         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
13315         * config/mips/openbsd.h: Likewise.
13316         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
13317         (mips_asm_file_end): Likewise test.
13318         (mips_output_function_epilogue): Likewise.  Switch back to data
13319         section after emitting the function.
13320
13321         * doc/tm.texi (Sections): Document TEXT_SECTION.
13322
13323 2001-08-17  Richard Henderson  <rth@redhat.com>
13324
13325         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
13326         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
13327
13328 2001-08-17  Richard Henderson  <rth@redhat.com>
13329
13330         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
13331         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
13332         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
13333         Add aligned attribute.
13334
13335 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
13336
13337         * config/sh/sh.md: Add modes to unspecs in first insn to match
13338         those in the second.
13339
13340         * Makefile.in: Fix collect2 copy for Cygwin.
13341
13342 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13343
13344         Install the proper patch.
13345         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13346         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13347         (expand_function_start): Likewise.
13348         * stmt.c (expand_decl): Likewise.
13349         * varasm.c (make_decl_rtx): Likewise.
13350
13351 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13352
13353         * final.c: Undo my previous accidental checkin.
13354         * output.h: Likewise.
13355         * tm.texi: Likewise.
13356
13357 2001-08-16  Richard Henderson  <rth@redhat.com>
13358
13359         * varasm.c (named_section_flags): Remove align parameter.
13360         * varasm.c, dwarf2out.c: Update all callers.
13361         * output.h: Update prototypes.
13362
13363         * target.h (target.asm_out.named_section): Remove align parameter.
13364         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
13365         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
13366         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
13367         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
13368         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
13369
13370         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
13371         (get_named_section_flags, set_named_section_flags): New.
13372         (named_section_flags): Use them.
13373         (named_section): Do decl vs section flags check here...
13374         (default_section_type_flags): ... not here.
13375         (init_varasm_once): Create in_named_htab.
13376         (resolve_unique_section): Mark reloc unused.
13377
13378 2001-08-16  Richard Henderson  <rth@redhat.com>
13379
13380         * varasm.c (force_const_mem): Keep pool alignment in bits.
13381         (output_constant_pool): Use assemble_align.
13382
13383 2001-08-16  Zack Weinberg  <zackw@panix.com>
13384
13385         * doc/tm.texi: Remove extra @table command.
13386
13387 2001-08-16  Zack Weinberg  <zackw@panix.com>
13388
13389         * final.c (shorten_branches): Clear the end of the label_align
13390         array only if we made it larger.  Break up messy expressions
13391         for clarity.
13392
13393         * diagnostic.c (internal_error): Check for error recursion
13394         before doing ICE suppression.
13395
13396         * timevar.c: Timing variables now count in milliseconds.
13397         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
13398         (get_time): Not here.
13399         (timevar_print): Don't print any timer whose user, cpu, and
13400         wall times are all zero as displayed.
13401         * timevar.h: Update comment aboout units.  Make timevar
13402         counters unsigned.
13403
13404 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13405
13406         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13407         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13408         (expand_function_start): Likewise.
13409         * stmt.c (expand_decl): Likewise.
13410         * varasm.c (make_decl_rtx): Likewise.
13411
13412 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
13413
13414         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
13415         (finalize_record_size): Don't set TYPE_USER_ALIGN.
13416
13417 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13418
13419         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
13420         variables.
13421
13422 2001-08-16  Andreas Jaeger  <aj@suse.de>
13423
13424         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
13425         prototype.
13426
13427 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
13428
13429         * rtl.h (only_sets_cc0_p): New prototype.
13430         * jump.c (sets_cc0_p): Handle INSN.
13431         (only_sets_cc0_p): New function.
13432         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
13433         (tidy_fallthru_edge): Likewise.
13434         * integrate.c (copy_insn_list): Likewise.
13435         * unroll.c (unroll_loop): Likewise.
13436         (copy_loop_body): Likewise.
13437
13438 2001-08-15  Jason Eckhardt  <jle@redhat.com>
13439
13440         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
13441
13442 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13443
13444         * predict.c (struct block_info_def): Remove nvisited.
13445         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13446         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13447
13448         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
13449         (ix86_adjust_cost): Teach scheduler that latency to load operand can
13450         be masked.
13451
13452 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
13453
13454         * predict.def: Update hitrates.
13455
13456 2001-08-15  Richard Henderson  <rth@redhat.com>
13457
13458         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
13459
13460 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
13461
13462         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
13463         note from its associated jump.
13464
13465 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13466
13467         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
13468         also on 64-bit s390x targets.
13469
13470 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
13471
13472         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
13473         function.
13474         (arm_expand_prologue): Handled nested functions which take a
13475         variable argument list.
13476         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
13477         macro with an invocation of
13478         arm_compute_initial_elimination_offset.
13479         * config/arm/arm-protos.h: Prototype
13480         arm_compute_initial_elimination_offset.
13481
13482 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13483
13484         * doc/install.texi (Specific, avr): Fix markup.
13485         (Specific, c4x): Ditto.
13486
13487 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13488
13489         * predict.c (dump_prediction): Change `bool' parameter to `int'.
13490
13491 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
13492
13493         * Makefile.in (OBJS): Add rtl-error.o
13494         (rtl-error.o): New rule.
13495         (diagnostic.o): Adjust dependency.
13496         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
13497         error_for_asm, _fatal_insn, _fatal_insn_not_found,
13498         warning_for_asm): Move to...
13499         rtl-error.c: ...here.  New file.
13500
13501 2001-08-14  Richard Henderson  <rth@redhat.com>
13502
13503         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
13504         if USING_SJLJ_EXCEPTIONS.
13505
13506 2001-08-14  Steve Ellcey <sje@cup.hp.com>
13507
13508         * tlink.c (scan_linker_output): Check string for unsatisfied in
13509         addition to undefined and unresolved.
13510
13511 2001-08-14  Graham Stott  <grahams@redhat.com>
13512
13513         * libgcc2.c (*): Replace EH_FRAME_SECTION with
13514         EH_FRAME_SECTION_NAME.
13515
13516 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
13517
13518         * genattrtab.c (simplify_test_exp_in_temp): New function.
13519         (simplify_test_exp): Avoid explicit use of temporary obstack.
13520         (simplify_cond, insert_right_side, evaluate_eq_attr,
13521         simplify_and_tree, simplify_or_tree, eliminate_known_true):
13522         Use simplify_test_exp_in_temp.
13523         (optimize_attrs): Iterate until expression stabilizes.
13524
13525 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
13526
13527         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
13528         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
13529
13530 2001-08-13  Richard Henderson  <rth@redhat.com>
13531
13532         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
13533         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
13534         * config/arm/conix-elf.h: Likewise.
13535
13536 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13537
13538         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
13539         in gcc.c.
13540         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13541
13542         * gcse.c (hash_scan_set): Expressions that are set as part of
13543         jump instructions are not available.
13544
13545 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13546
13547         * config/s390/s390.c (print_operand, s390_function_prologue,
13548         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
13549
13550 2001-08-13  Richard Henderson  <rth@redhat.com>
13551
13552         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
13553         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
13554         * doc/tm.texi (Exception Region Output): Document it.
13555
13556 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13557
13558         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
13559         DWARF2 instead of stabs by default.
13560
13561 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13562
13563         * config/rs6000/rs6000.c: Include optabs.h.
13564
13565 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13566
13567         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
13568         save/restore routines.
13569         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
13570
13571 2001-08-13  Andreas Jaeger  <aj@suse.de>
13572
13573         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
13574         the english is correct.
13575
13576 2001-08-13  Zack Weinberg  <zackw@panix.com>
13577
13578         * expr.h: Split out optab- and libfunc-related code to...
13579         * optabs.h, libfuncs.h: ... these new headers.
13580
13581         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
13582         (OPTABS_H): New.
13583         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
13584         dependencies.
13585         * mkconfig.sh: Don't include insn-codes.h from config.h.
13586
13587         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
13588         enum insn_code is available.  Move reload_in_optab and
13589         reload_out_optab array declarations to optabs.h.
13590         * regmove.c (gen_add3_insn): Move to optabs.c, export from
13591         there, prototype in expr.h.
13592         * gencodes.c: Cleanup: zap global variables, don't use
13593         printf where puts will do, don't bother defining MAX_INSN_CODE
13594         which nothing uses, let CODE_FOR_nothing get its value implicitly.
13595
13596         * genemit.c, genopinit.c: Include optabs.h in generated file.
13597         * genoutput.c: Include insn-codes.h in generated file.
13598         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
13599         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
13600         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
13601         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
13602         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
13603         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
13604         Include optabs.h.
13605         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
13606         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
13607         config/m88k/m88k.c, config/sparc/sparc.c:
13608         Include libfuncs.h.
13609         * reload.c: Include expr.h and optabs.h before reload.h.
13610         * config/alpha/alpha.c: Include tree.h before reload.h.
13611         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
13612         and reload.h in that order.
13613         * config/sparc/sparc.c: Include debug.h.
13614         * recog.c: Include insn-codes.h.
13615
13616 2001-08-13  Andreas Jaeger  <aj@suse.de>
13617
13618         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
13619         s390*linux.
13620
13621 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
13622
13623         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
13624         * gcc.c (init_spec): Fix typo in comment.
13625         * varasm.c (data_section): Fix typo in comment.
13626
13627 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
13628
13629         * predict.c (dump_prediction): New argument "USED".
13630         (combine_predictions_for_insn): Determine the used heuristics,
13631         output the case no heuristic applied.
13632         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
13633
13634 2001-08-13  Andreas Jaeger  <aj@suse.de>
13635
13636         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
13637         register %rip.
13638
13639 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13640
13641         * jump.c: Fix formatting.
13642
13643 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13644
13645         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
13646         length.
13647
13648 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
13649
13650         * loop.c (check_dbra_loop): Use condjump_label to compute
13651         jump_label.
13652
13653         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
13654         to better document the files they're in.
13655
13656 2001-08-12  Zack Weinberg  <zackw@panix.com>
13657
13658         * recog.h (struct insn_operand_data): Shrink 'mode' field
13659         to 16 bits.
13660
13661 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13662
13663         * gcc.c: Fix comment formatting.
13664         * gccspec.c: Likewise.
13665         * gcov.c: Likewise.
13666         * gcse.c: Likewise.
13667         * genemit.c: Likewise.
13668         * gengenrtl.c: Likewise.
13669         * genrecog.c: Likewise.
13670         * gensupport.c: Likewise.
13671         * ggc-page.c: Likewise.
13672         * global.c: Likewise.
13673         * graph.c: Likewise.
13674         * ifcvt.c: Likewise.
13675         * integrate.c: Likewise.
13676         * lcm.c: Likewise.
13677         * libgcc2.c: Likewise.
13678         * loop.c: Likewise.
13679         * mbchar.c: Likewise.
13680         * optabs.c: Likewise.
13681         * predict.c: Likewise.
13682         * prefix.c: Likewise.
13683         * profile.c: Likewise.
13684         * protoize.c: Likewise.
13685         * real.c: Likewise.
13686         * recog.c: Likewise.
13687         * regclass.c: Likewise.
13688         * regmove.c: Likewise.
13689         * reg-stack.c: Likewise.
13690         * reload1.c: Likewise.
13691         * resource.c: Likewise.
13692         * rtlanal.c: Likewise.
13693         * rtl.c: Likewise.
13694
13695 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13696
13697         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
13698         a tree representing a constant is passed to the macro.
13699
13700 2001-08-12  Richard Henderson  <rth@redhat.com>
13701
13702         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
13703         (rs6000_elf_asm_out_destructor): New.
13704         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
13705         (DTORS_SECTION_ASM_OP): Remove.
13706         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13707         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
13708
13709 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
13710
13711         Revert:
13712         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13713         * gcc.c (set_collect_gcc_options): New function, split out from
13714         main.
13715         Ignore elided switches.
13716         (do_spec_1): Invoke before executing command.
13717         (set_input): Export.
13718         Move declaration ...
13719         * gcc.h (set_input): ... here.
13720         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13721         file.
13722
13723 2001-08-12  Richard Henderson  <rth@redhat.com>
13724
13725         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
13726         thinko wrt TARGET_RELOCATABLE.
13727
13728 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13729
13730         * fix-header.c (cb_file_change): Update prototype.
13731
13732 2001-08-11  Zack Weinberg  <zackw@panix.com>
13733
13734         * toplev.c (set_float_handler): Make static.
13735         * toplev.h: Don't prototype set_float_handler.
13736
13737         * simplify-rtx.c: Don't include setjmp.h.
13738         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
13739         New functions.
13740         (simplify_unary_operation, simplify_binary_operation): Use them,
13741         via do_float_handler.
13742
13743         * fold-const.c: Don't include setjmp.h.
13744         (exact_real_inverse_1): New function.
13745         (exact_real_inverse): Use it, via do_float_handler.
13746
13747         * varasm.c: Don't include setjmp.h.
13748         (assemble_real_1): New function.
13749         (assemble_real): Use it, via do_float_handler.
13750         Call internal_error if we get a trap here.
13751
13752         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
13753         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
13754
13755 2001-08-11  Zack Weinberg  <zackw@panix.com>
13756
13757         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
13758         STACK_BOUNDARY if not already defined.
13759
13760         * calls.c, function.c, reload1.c, explow.c: Don't default
13761         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
13762         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
13763
13764         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
13765         to run-time test.
13766
13767         * doc/tm.texi: Document that STACK_BOUNDARY is required;
13768         clarify difference between it and PREFERRED_STACK_BOUNDARY.
13769
13770 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13771
13772         * cppmacro.c (enter_macro_context): Push macro expansions even
13773         if empty.
13774
13775 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13776
13777         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
13778         (rs6000_elf_section_type_flags): Actually return a value.
13779
13780 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13781
13782         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
13783         Clean up code: add missing comments and prototypes, fix warnings,
13784         remove obsolete code, fix spacing to conform to coding style.
13785
13786 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13787
13788         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
13789         and TARGET_ASM_CLOSE_PAREN.
13790         (regclass_map): CC register belongs to class NO_REGS.
13791         (legitimize_pic_address): Don't generate unnecessary moves
13792         (to avoid confusing loop optimization).
13793         (check_and_change_labels): Replace jump_long by indirect_jump.
13794         (s390_final_chunkify): Don't start a new literal pool on section
13795         switch in 64-bit code.
13796         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
13797
13798         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
13799         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
13800         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
13801         modes correctly.
13802         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
13803         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
13804         (CONST_COSTS): Fixed incorrect costs.
13805
13806         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
13807         Use emit_jump instead of emit_jump_insn (gen_jump).
13808         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
13809         (to avoid confusing flow analysis).
13810         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
13811         (casesi, casesi_jump): New.
13812         (jump_long): Removed.  Functionality merged into indirect_jump.
13813         (indirect_jump): Accept address_operand, not just register_operand.
13814         (cjump_long, icjump_long): Use same logic as indirect_jump.
13815         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
13816         Fixed broken setjmp/longjmp handling.
13817         (do_builtin_setjmp_setup): Removed.
13818
13819         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
13820         broken GNU as versions that don't accept .quad with large
13821         negative values.  Use hexadecimal output instead.
13822         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
13823         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
13824         FUNCTION_EPILOGUE): Removed.  Now in targetm.
13825
13826         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
13827
13828         * config/s390/fixdfdi.h: Add missing copyright statement.
13829         Fix type conflicts on 64-bit.  Add missing SFmode routines.
13830
13831         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
13832         email address.
13833
13834 2001-08-11  Richard Henderson  <rth@redhat.com>
13835
13836         * rtl.h (REG_EH_RETHROW): Remove.
13837         * rtl.c (reg_note_name): Update.
13838         * combine.c (distribute_notes): Don't check for it.
13839
13840 2001-08-11  Richard Henderson  <rth@redhat.com>
13841
13842         * combine.c (distribute_notes): Place REG_SETJMP.
13843
13844 2001-08-11  Richard Henderson  <rth@redhat.com>
13845
13846         * doc/extend.texi (Arrays and pointers implementation): Discourage
13847         relying on sign-extension of pointers.
13848
13849 2001-08-11  H.J. Lu <hjl@gnu.org>
13850
13851         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
13852         in_dtors.
13853         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
13854         RDATA_SECTION_ASM_OP.
13855
13856 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13857
13858         * doc/install.texi (Specific, c4x): Fix cross-reference to the
13859         main manual to work both for info and HTML versions.
13860
13861 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13862             Matt Kraai <kraai@alumni.carnegiemellon.edu>
13863
13864         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
13865         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
13866         (struct cpp_pool): New member first.
13867         * cppinit.c (append_include_chain): Plug memory leaks.
13868         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
13869         Allocate pragma structures from the (aligned) macro pool to
13870         avoid leaking memory.
13871         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
13872         so we don't leak memory.
13873         * hashtable.c (ht_destroy): New.
13874         * hashtable.h (ht_destroy): New.
13875
13876 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13877             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13878
13879         * c-lex.c (map): Make const.
13880         (cb_file_change): Update for callback passing a line map.
13881         Don't assume we have a previous map.  Remove sanity check
13882         about popping too many files.
13883         * cpperror.c (print_location): Make map const.
13884         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
13885         (cpp_make_system_header): Similarly.
13886         (search_from): Similarly.
13887         (_cpp_execute_include): Don't remember where we came from.
13888         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
13889         (struct cpp_reader): Make map const.
13890         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
13891         * cpplib.c (do_line): Update; line maps now hold sysp.
13892         (cpp_push_buffer): Similarly.
13893         (_cpp_do_file_change): Similarly; callback with map instead.
13894         (cpp_get_line_maps): Constify return value.
13895         (_cpp_pop_buffer): Update.
13896         * cpplib.h (struct cpp_file_change): Remove.
13897         (struct cpp_callbacks): Update.
13898         (cpp_get_line_maps): Constify return value.
13899         * cppmacro.c (_cpp_create_definition): Update.
13900         * cppmain.c (struct printer): Constify map.
13901         (maybe_print_line): Similarly.
13902         (print_line): Similarly.  Deduce flags 1 and 2 here.
13903         (cb_file_change): Update.
13904         * line-map.c (free_line_maps): Warn regardless.
13905         (add_line_map): Return pointer to const.  When passed NULL to_file
13906         with LC_LEAVE, use the obvious values for the return point so the
13907         caller doesn't have to figure them out.
13908         (lookup_line): Return pointer to const.
13909         (print_containing_files): Take pointer to const.
13910         * line-map.h (struct line_map): New members reason, sysp.
13911         (add_line_map): Return pointer to const.
13912         (lookup_line): Similarly.
13913         (print_containing_files): Take pointer to const.
13914
13915 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
13916             Richard Henderson  <rth@redhat.com>
13917
13918         * regmove.c (regmove_optimize): Avoid setting a register twice in
13919         a parallel set.
13920
13921 2001-08-10  Richard Henderson  <rth@redhat.com>
13922
13923         * doc/extend.texi (Arrays and pointers implementation): Document
13924         behavior of pointer/integer conversion.
13925
13926 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
13927
13928         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
13929
13930 2001-08-10  Richard Henderson  <rth@redhat.com>
13931
13932         * doc/extend.texi (C Implementation): New chapter.
13933         * doc/gcc.texi (Top): Link it in.
13934
13935 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
13936
13937         * doc/install.texi (Specific): Fix CVS merge botch.
13938
13939 2001-08-10  Richard Henderson  <rth@redhat.com>
13940
13941         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
13942         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
13943
13944 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
13945
13946         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
13947         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
13948         this macro is now required.
13949
13950         * cselib.c (cselib_process_insn), flow.c (propagate_block),
13951         loop.c (find_and_verify_loops), reload.c (reload): Check
13952         for rtx code of CALL_INSN, not CALL, when deciding if we
13953         need to check for REG_SETJMP note.
13954
13955         * gcse.c (compute_hash_table, compute_store_table): Update
13956         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
13957         logic.
13958
13959         * config/avr/avr.c: Fix typo.
13960         * config/convex/convex.c (expand_movstr): Use adjust_address.
13961         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
13962         variable.
13963         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
13964         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
13965         Fix typo.
13966         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
13967         Do define STACK_BOUNDARY.
13968         * config/i370/i370.c: Include expr.h.
13969         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
13970         config/pa/som.h, config/v850/v850.h: Take in_ctors and
13971         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
13972         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
13973         * config/m88k/m88k.c: Include c-tree.h after expr.h.
13974         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
13975         * config/romp/romp.c: Include expr.h after tree.h.
13976         Include toplev.h.
13977         (output_fpop): Use xmalloc, not oballoc.
13978         * config/we32k/we32k.c: Include expr.h.
13979
13980 2001-08-10  Kazu Hirata  <kazu@hxi.com>
13981
13982         * config/h8300/h8300.h: Fix formatting.
13983
13984 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13985
13986         * c-common.h (RETURN_NULLIFIED_P): Lose.
13987         * c-semantics.c (genrtl_return_stmt): Don't check it.
13988
13989 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13990
13991         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
13992         (mips_annotate_frame_insn): New function.
13993         (mips_emit_frame_related_store): New function.
13994         (save_restore_insns): Don't mark instructions that set up the base
13995         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
13996         the store instructions instead.
13997         (mips_expand_prologue): If the stack size is moved into a temporary
13998         register, do not mark that move as frame-related.  Add a
13999         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14000
14001 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14002
14003         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14004         stack slot as unchanging if current_function_calls_eh_return.
14005
14006 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14007
14008         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
14009         access the second half of the TFmode scratch operand.
14010
14011 2001-08-10  Anthony Green  <green@redhat.com>
14012
14013         * java/class.c (emit_register_classes): Conditionalize code on
14014         JCR_SECTION_NAME.
14015
14016 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14017
14018         * doc/install.texi (Specific, avr): Fix cross-reference to the
14019         main manual to work both for info and HTML versions.
14020
14021 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14022
14023         * stmt.c (expand_null_return_1): Remove code to generate simple returns
14024         and "use_goto" argument.
14025         (expand_null_return, expand_value_return): Update all callers.
14026         * function.c (expand_function_end): Remove code to generate simple
14027         return.
14028         * config/vax/vax.md (epilogue): New expander for function return.
14029         * doc/md.texi (epilogue): Remove "if defined".
14030
14031 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14032
14033         * Makefile.in: Partially revert my previous change:
14034         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14035         of the hashtab.o and safe-ctype.o rules.
14036
14037 2001-08-09  Richard Henderson  <rth@redhat.com>
14038
14039         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14040         (USE_COLLECT2): Remove duplicate definition.
14041         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14042         (use_collect2): Remove dead code.
14043         * configure.in (use_collect2): Remove will_use_collect2 and
14044         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14045         * configure: Rebuild.
14046
14047         * target.h (targetm.asm_out.constructor): New.
14048         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14049         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14050         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14051         * varasm.c (in_ctors, in_dtors): New.
14052         (assemble_constructor, assemble_destructor): Remove.
14053         (default_stabs_asm_out_destructor): New.
14054         (default_named_section_asm_out_destructor): New.
14055         (dtors_section, default_dtor_section_asm_out_destructor): New.
14056         (default_stabs_asm_out_constructor): New.
14057         (default_named_section_asm_out_constructor): New.
14058         (ctors_section, default_ctor_section_asm_out_constructor): New.
14059         * output.h: Update declarations.
14060         * c-decl.c (c_expand_body): Use target hooks instead of
14061         assemble_constructor and assemble_destructor.
14062         * profile.c (output_func_start_profiler): Likewise.
14063         * objc/objc-act.c (finish_objc): Likewise.
14064         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14065         for the constructor.
14066         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14067
14068         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14069         (DTORS_SECTION_ASM_OP): Likewise.
14070         (__CTOR_LIST__): Use attribute section when possible.
14071         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14072
14073         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14074         ASM_OUTPUT_CONSTRUCTOR.
14075
14076         * config/darwin.c (machopic_asm_out_constructor): New.
14077         (machopic_asm_out_destructor): New.
14078         * config/darwin-protos.h: Update declarations.
14079         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14080         (ASM_OUTPUT_DESTRUCTOR): Remove.
14081         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14082         * config/nextstep.c (nextstep_asm_out_constructor): New.
14083         (nextstep_asm_out_destructor): New.
14084         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14085         (ASM_OUTPUT_DESTRUCTOR): Remove.
14086         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14087         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14088         ASM_OUTPUT_*STRUCTOR.
14089         * config/i386/aix386ng.h: Likewise.
14090
14091         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14092         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14093         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14094         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14095         * config/lynx.h: Likewise.
14096         * config/netware.h: Likewise.
14097         * config/psos.h: Likewise.
14098         * config/alpha/alpha-interix.h: Likewise.
14099         * config/alpha/elf.h: Likewise.
14100         * config/arc/arc.h: Likewise.
14101         * config/arm/aof.h: Likewise.
14102         * config/arm/coff.h: Likewise.
14103         * config/arm/elf.h: Likewise.
14104         * config/c4x/c4x.h: Likewise.
14105         * config/h8300/h8300.h: Likewise.
14106         * config/i386/cygwin.h: Likewise.
14107         * config/i386/djgpp.h: Likewise.
14108         * config/i386/i386-coff.h: Likewise.
14109         * config/i386/i386-interix.h: Likewise.
14110         * config/i386/sco5.h: Likewise.
14111         * config/i386/vsta.h: Likewise.
14112         * config/i386/win32.h: Likewise.
14113         * config/i960/i960-coff.h: Likewise.
14114         * config/ia64/sysv4.h: Likewise.
14115         * config/m68hc11/m68hc11.h: Likewise.
14116         * config/m68k/coff.h: Likewise.
14117         * config/m68k/mot3300.h: Likewise.
14118         * config/m88k/m88k.h: Likewise.
14119         * config/mcore/mcore-pe.h: Likewise.
14120         * config/mcore/mcore.h: Likewise.
14121         * config/mips/elf.h: Likewise.
14122         * config/mips/elf64.h: Likewise.
14123         * config/mips/iris6.h: Likewise.
14124         * config/pa/pa64-hpux.h: Likewise.
14125         * config/rs6000/sysv4.h: Likewise.
14126         * config/sh/sh.h: Likewise.
14127         * config/sparc/litecoff.h: Likewise.
14128
14129         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14130         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14131         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14132         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14133         (ASM_OUTPUT_DESTRUCTOR): Remove.
14134         * config/a29k/a29k.c: Move include of tree.h.
14135         * config/a29k/udi.h: Delete file.
14136         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14137         (vms_asm_out_destructor): New.
14138         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14139         (EXTRA_SECTION_FUNCTIONS): Likewise.
14140         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14141         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14142         * config/c4x/c4x.c: Move include of tree.h.
14143         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14144         (clix_asm_out_destructor): New.
14145         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14146         (ASM_OUTPUT_DESTRUCTOR): Remove.
14147         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14148         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14149         (TARGET_ASM_CONSTRUCTOR): New.
14150         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14151         (sco_asm_out_constructor): New.
14152         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14153         * config/i386/svr3gas.h: Remove stack grows up code.
14154         Remove code duplicated from i386/sysv3.h.
14155         (TARGET_ASM_CONSTRUCTOR): New.
14156         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14157         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14158         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14159         (TARGET_ASM_CONSTRUCTOR): New.
14160         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14161         (m68hc11_asm_out_destructor): New.
14162         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14163         (TARGET_ASM_DESTRUCTOR): New.
14164         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14165         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14166         config/svr3.h pertaining to section manipulation.
14167         * config/m68k/dpx2g.h: Remove #if 0 code.
14168         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14169         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14170         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14171         (TARGET_ASM_CONSTRUCTOR): New.
14172         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14173         (m88k_svr3_asm_out_constructor): New.
14174         (m88k_svr3_asm_out_destructor): New.
14175         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14176         (ASM_OUTPUT_DESTRUCTOR): Remove.
14177         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14178         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14179         * config/rs6000/aix.h: Likewise.
14180         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14181         * config/mips/vxworks.h: Likewise.
14182         * config/rs6000/lynx.h: Likewise.
14183         * config/sh/elf.h: Likewise.
14184         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14185         (DTORS_SECTION_ASM_OP): New.
14186         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14187         (ASM_OUTPUT_DESTRUCTOR): Remove.
14188         * config/sparc/sol2-sld-64.h: Likewise.
14189         * config/vax/vax.c (vms_asm_out_constructor): New.
14190         (vms_asm_out_destructor): New.
14191         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14192         (ASM_OUTPUT_DESTRUCTOR): Remove.
14193         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14194
14195         * doc/tm.texi (@node Initialization): Update.
14196
14197 2001-08-09  Richard Henderson  <rth@redhat.com>
14198
14199         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14200         (__do_global_dtors_aux): Use gp-relative static data to avoid
14201         one dynamic relocation.
14202         (__do_frame_setup): Register Java classes.
14203         * config/alpha/crtend.asm (__JCR_END__): New.
14204
14205 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14206
14207         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14208         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14209         (GEN, STAGESTUFF): Add new files.
14210         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14211         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14212         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14213         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14214         as well as insn-codes.h and insn-flags.h in config.h; and no
14215         extra headers in tconfig.h and hconfig.h.
14216
14217         * gencodes.c: Eliminate code to generate predicate declarations
14218         or #defines for md-file constants.
14219         * genconstants.c, genpreds.c: New files.
14220
14221         * i386.md: Re-order guard expressions such that TARGET_64BIT
14222         comes first, when this permits better optimization.  Add
14223         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14224         why this is desirable.
14225
14226 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14227
14228         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14229         (find_fde_for_dso): Remove.
14230         (_Unwind_IteratePhdrCallback): New.
14231         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14232         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14233
14234 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14235
14236         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14237         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14238
14239 2001-08-09  Graham Stott  <grahams@redhat.com>
14240
14241         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14242         (vis_no_unit): Use it.
14243         (visualize_no_unit): Add the insn only if room exists.
14244
14245 2001-08-09  Graham Stott  <grahams@redhat.com>
14246
14247         * predict.c (estimate_probability): Replace magic numbers with
14248         appropriate enumeration.
14249
14250 2001-08-09  Graham Stott  <grahams@redhat.com>
14251
14252         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14253         parameter.
14254         (EXTRACT_FLAGS): Likewise.
14255
14256 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14257
14258         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14259         CONST_INT in last patch.
14260
14261 2001-08-08  Anthony Green  <green@redhat.com>
14262
14263         * java/class.c (emit_register_classes): Use assemble_jcr if
14264         possible.  Keep the original mechanism as a fallback.
14265         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14266         and weak symbol support.
14267         * crtstuff.c (__JCR_LIST__): Define.
14268         (__JCR_END__): Define.
14269         (_Jv_RegiserClasses): Define weak symbol if possible.
14270         (__do_global_ctors_aux): Register classes for ELF targets with
14271         weak symbol support.
14272
14273 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14274
14275         * dbxout.c: Fix comment formatting.
14276         * dependence.c: Likewise.
14277         * df.c: Likewise.
14278         * diagnostic.c: Likewise.
14279         * dominance.c: Likewise.
14280         * doprint.c: Likewise.
14281         * dwarf2out.c: Likewise.
14282         * dwarfout.c: Likewise.
14283         * emit-rtl.c: Likewise.
14284         * except.c: Likewise.
14285         * explow.c: Likewise.
14286         * expmed.c: Likewise.
14287         * expr.c: Likewise.
14288         * flow.c: Likewise.
14289         * fold-const.c: Likewise.
14290         * function.c: Likewise.
14291
14292 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14293
14294         * global.c (retry_global_alloc): Avoid shadowing allocno.
14295
14296 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
14297
14298         * except.c (remove_fixup_regions): Fix typo.
14299
14300 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
14301
14302         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
14303         unsigned HOST_WIDE_INT to avoid warning.
14304         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
14305         * flow.c (set_block_for_new_insns): Likewise.
14306
14307 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
14308
14309         * sibcall.c (return_value_pseudo): New static variable.
14310         (skip_copy_to_return_value): Handle return_value_pseudo.
14311         (call_ends_block_p): Ensure that return_value_pseudo is set.
14312         (optimize_sibling_and_tail_recursive_call): Discover the
14313         load of pseudo return value in alternate exit block.
14314
14315 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14316
14317         * calls.c (ECF_ALWAYS_RETURN): New constant.
14318         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
14319         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
14320         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
14321         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
14322         * rtl.c (reg_note_name): New name.
14323         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
14324
14325 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
14326
14327         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
14328
14329 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14330
14331         * alias.c (get_alias_set): Return a previously calculated
14332         alias set for a VAR_DECL.
14333         * function.c (gen_mem_addressof): Calculate the alias set before
14334         touching the RTL.
14335
14336 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
14337
14338         * predict.def: Set hitrates according our experimental run.
14339
14340 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
14341
14342         * i386.h (HARD_REGNO_RENAME_OK): New macro.
14343
14344 2001-08-08  H.J. Lu <hjl@gnu.org>
14345
14346         * config/mips/mips.c (mips_unique_section): New. Copied from
14347         config/mips/elf.h.
14348
14349         * config/mips/mips-protos.h (mips_unique_section): New
14350         prototype.
14351
14352         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
14353
14354         * config/mips/little.h: New. Generic little endian mips
14355         targets. Only mips*-*-linux* is converted to use it so far.
14356
14357         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
14358         (WCHAR_TYPE): Defined
14359         (WCHAR_TYPE_SIZE): Likewise.
14360         (INIT_SUBTARGET_OPTABS): Likewise.
14361         (BSS_SECTION_ASM_OP): Likewise.
14362         (SBSS_SECTION_ASM_OP): Likewise.
14363         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14364         (ASM_DECLARE_OBJECT_NAME): Likewise.
14365         (UNIQUE_SECTION): Likewise.
14366         (EXTRA_SECTIONS): Likewise.
14367         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
14368         (ASM_OUTPUT_DESTRUCTOR): Likewise.
14369         (ASM_OUTPUT_DEF): Likewise.
14370         (HANDLE_SYSV_PRAGMA): Removed.
14371         (NO_IMPLICIT_EXTERN_C): Likewise.
14372         (TARGET_MEM_FUNCTIONS): Likewise.
14373         (STARTFILE_SPEC): Likewise.
14374         (ENDFILE_SPEC): Likewise.
14375         (LIB_SPEC): Likewise.
14376         (INVOKE__main): Likewise.
14377         (CTOR_LIST_BEGIN): Likewise.
14378         (CTOR_LIST_END): Likewise.
14379         (DTOR_LIST_BEGIN): Likewise.
14380         (DTOR_LIST_END): Likewise.
14381         (SET_ASM_OP): Likewise.
14382         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14383         (ASM_OUTPUT_DEF): Likewise.
14384         (ASM_OUTPUT_IDENT): Likewise.
14385
14386         * config/mips/mips.h (ASM_SPEC): Undefine before define.
14387         (CPLUSPLUS_CPP_SPEC): Likewise.
14388         (ASM_APP_ON) Redefine only if not defined.
14389         (ASM_APP_OFF): Likewise.
14390         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14391         (ASM_OUTPUT_IDENT): Likewise.
14392
14393         * config.gcc: Update tm_file for Linux/mips.
14394
14395 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
14396
14397         * cselib.c (cselib_record_sets): If insn is predicated, turn
14398         sources into IF_THEN_ELSEs.
14399
14400         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
14401         Turn into define_insn_and_split.
14402
14403         * sched-deps.c: Include "cselib.h".
14404         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
14405         Use cselib to turn memory addresses into VALUEs.
14406         (sched_analyze): Call cselib_init/cselib_finish if necessary.
14407         * sched-int.h (struct sched_info): New member USE_CSELIB.
14408         * sched-ebb.c (ebb_sched_info): Initialize it.
14409         * sched-rgn.c (rgn_sched_info): Likewise.
14410         * Makefile.in (sched-deps.o): Update dependencies.
14411
14412         * cselib.h (cselib_subst_to_values): Declare.
14413         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
14414         that have no value and autoincs to be handled by generating a new
14415         dummy value.
14416
14417 2001-08-08  Graham Stott  <grahams@redhat.com>
14418
14419         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
14420         within fixed length SEQUENCE.
14421
14422 2001-08-08  Graham Stott  <grahams@redhat.com>
14423
14424         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
14425         (diagnostic_prefixing_rule): Likewise.
14426         (diagnostic_line_cutoff): Likewise.
14427         (diagnostic_kind_count): Likewise.
14428
14429 2001-08-08  Graham Stott  <grahams@redhat.com>
14430
14431         * alias.c (find_base_decl): Delete redundent assignment.
14432
14433 2001-08-08  Graham Stott  <grahams@redhat.com>
14434
14435         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
14436         (abs): Uppercase and paranthesize macro parameter.
14437         (MEM_DEPENDENCY): Add whitespace.
14438
14439 2001-08-08  Graham Stott  <grahams@redhat.com>
14440
14441         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
14442         failure check for CONST_INT
14443
14444 2001-08-08  Graham Stott  <grahams@redhat.com>
14445
14446         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
14447         (libcall_dead_p): Likewise.
14448
14449         (mark_used_regs): Constify fmt.
14450         (find_use_as_address): Likewise.
14451
14452 2001-08-08  Graham Stott  <grahams@redhat.com>
14453
14454         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
14455          parameter.
14456
14457 2001-08-08  Graham Stott  <grahams@redhat.com>
14458
14459         * combine.c (combine_simplify_rtx): Update comment and
14460         remove erroneous test.
14461
14462 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14463
14464         * cppinit.c (cpp_finish): Pop the final buffer without comment.
14465         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
14466         take care to avoid multiple no-newline at EOF warnings in that
14467         case.
14468
14469 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
14470
14471         * calls.c (expand_call): Do not emit INSN_SETJMP note.
14472         (emit_library_call_value_1): Likewise.
14473         (emit_call_1): Emit REG_SETJMP note.
14474         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
14475         of INSN_SETJMP
14476         * cselib.c (cselib_process_insn): Likewise.
14477         * flow.c (propagate_block): Likewise.
14478         * loop.c (find_and_verify_loops): Likewise.
14479         * reload.c (find_equiv_regs): Likewise.
14480         * reload1.c (reload): Likewise.
14481         * resource.c (mark_referenced_resources,
14482         mark_set_resources): Likewise.
14483         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
14484         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
14485         * haifa-sched.c (unlink_other_notes): Likewise.
14486         (reemit_notes): Likewise.
14487         * sched-ebb.c (sched_ebb): Likewise.
14488         * sched-rgc.c (sched_region): Likewise.
14489         * rtl.c (note_insn_name): Likewise.
14490         (reg_note_name): Add REG_SETJMP
14491         * rtl.h (reg_note): Add REG_SETJMP.
14492         (insn_note): Remove NOTE_INSN_SETJMP.
14493
14494         * profile.c (branch_prob): Add fake edges for setjmp.
14495
14496 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
14497
14498         * config.gcc: Quote target_cpu_default2 correctly for
14499         powerpc*-*-* targets.
14500
14501 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14502
14503         * cpplib.h, line-map.h: Update comments.
14504         * cppmain.c (printer_init): Move inline.
14505         (maybe_print_line, print_line): Take a map pointer.
14506         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
14507         (cb_file_change): Don't use prior value of print.map.
14508
14509 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
14510
14511         * doc/install.texi: Document fine-grained multilib configuration.
14512
14513 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
14514
14515         * rtlanal.c (find_first_parameter_load): Call note_stores
14516         only on the instructions.
14517
14518 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14519
14520         * alias.c (nonlocal_mentioned_p):
14521         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
14522         * calls.c (emit_call_1): Likewise.
14523         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
14524         * cselib.c (cselib_process_insn): Likewise.
14525         * df.c (df_insns_modify): Likewise.
14526         * flow.c (need_fake_edge_p): Likewise.
14527         (propagate_one_insn): Likewise.
14528         * haifa-sched.c (reemit_notes): Likewise.
14529         * integrate.c (copy_insn_list): Likewise.
14530         * jump.c (delete_prior_computation): Likewise.
14531         * local-alloc.c (validate_equiv_mem): Likewise.
14532         * loop.c (scan_loop): Likewise.
14533         * predict.c (estimate_probability): Likewise.
14534         * reload.c (reload): Likewise.
14535         * sched-deps (sched_analyze): Likewise.
14536         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
14537         * gcse.c (compute_hash_table): Likewise.
14538         (mark_call): Likewise.
14539         (store_killed_in_insn): Likewise.
14540
14541 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
14542
14543         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
14544
14545 2001-08-06  Richard Henderson  <rth@redhat.com>
14546
14547         * varasm.c (assemble_gc_entry): Remove.
14548         * output.h: Likewise.
14549
14550 2001-08-06  Richard Henderson  <rth@redhat.com>
14551
14552         * varasm.c (assemble_constructor): Take a symbol_ref and a
14553         priority instead of a bare string.  Move priority handling
14554         here from cp/decl2.c.
14555         * output.h: Update decls.
14556
14557         * c-decl.c (c_expand_body): Update calls to assemble_constructor
14558         and assemble_destructor.
14559         * profile.c (output_func_start_profiler): Likewise.
14560         * objc/objc-act.c (finish_objc): Likewise.
14561         (build_module_descriptor): Return the symbol not the symbol name.
14562
14563 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
14564
14565         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
14566         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
14567         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
14568         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
14569         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
14570         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
14571
14572 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14573
14574         * cpperror.c (print_containing_files): Moved to line-map.c.
14575         (print_location): line-map.c handles re-listing or otherwise.
14576         * cpphash.h (struct lexer_state): Remove next_bol.
14577         (struct cpp_buffer): Remove include_stack_listed.
14578         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
14579         Remove faked buffer handling.
14580         (_cpp_do_file_change): Tweak.
14581         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
14582         * cppmain.c (struct printer): Remove filename.
14583         (print_line, cb_file_change): Update accordingly.
14584         * line-map.c: Include intl.h.
14585         (init_line_maps): Initialize last_listed.
14586         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
14587         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
14588         (print_containing_files): New.
14589         * line-map.h (struct line_maps): New member last_listed.
14590         (print_containing_files, INCLUDED_FROM): New.
14591         * Makefile.in: Update.
14592         * po/POTFILES.in: Add line-map.c.
14593
14594 2001-08-06  Richard Henderson  <rth@redhat.com>
14595
14596         * except.c (convert_from_eh_region_ranges_1): Never mark
14597         USE or CLOBBER insns as throwing.
14598
14599         * expr.c (store_constructor): Don't clobber memory targets.
14600
14601 2001-08-06  Andreas Jaeger  <aj@suse.de>
14602
14603         * profile.c (branch_prob): Remove unused variable insn.
14604
14605         * Makefile.in (local-alloc.o): Add dependency on except.h.
14606
14607         * local-alloc.c: Include except.h for can_throw_internal prototype.
14608
14609 2001-08-06  Richard Henderson  <rth@redhat.com>
14610
14611         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
14612         * function.c (expand_main_function): Implement it.
14613         * doc/tm.texi: Document it.
14614
14615 2001-08-06  Stan Shebs  <shebs@apple.com>
14616
14617         * doc/install.texi: Document powerpc-*-darwin* details.
14618
14619 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
14620
14621         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
14622         (ASM_CPU_SPEC): Move back to rs6000.h
14623         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
14624
14625         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
14626
14627         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
14628         readded.
14629
14630         * config/rs6000/linux64.h: Ditto.
14631
14632         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14633         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
14634         nothing.
14635
14636         Remove accidently readded definitions of FUNCTION_PROLOGUE,
14637         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
14638
14639         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14640         to rs6000.h
14641
14642 2001-08-05  Richard Henderson  <rth@redhat.com>
14643
14644         * local-alloc.c (update_equiv_regs): Do not move insns that
14645         can throw.
14646
14647 2001-08-05  Jan Hubicka  <jh@suse.cz>
14648
14649         * Makefile.in (reload1.o): Add dedendancy on except.h
14650         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
14651         prototypes.
14652         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
14653         indicating wehther edges has been cleaned up.
14654         * reload1.c: Inlucde except.h
14655         (fixup_abnormal_edges): Accept deleted insns.
14656         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
14657         after combine.
14658
14659 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14660
14661         * cpplib.c (do_line): Correct line number after pop_buffer.
14662
14663 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14664
14665         PR preprocessor/3824
14666         * line-map.c: Update comments.
14667         * line-map.h: Update comments.
14668         * tradcif.y: Don't consider large numbers unsigned.
14669
14670 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14671
14672         PR preprocessor/3081
14673         * c-lex.c (map): New.
14674         (cb_file_change): Update map and use it.
14675         (cb_def_pragma, cb_define, cb_undef): Use map and line.
14676         (c_lex): Update to use map.
14677         * cpperror.c (print_location): Move to using logical line numbers.
14678         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
14679         (cpp_make_system_header): Similarly.
14680         (_cpp_execute_include): Stop line numbering hacks.  Store the
14681         line we will return to.
14682         * cpphash.h (CPP_BUF_LINE): Remove.
14683         (struct cpp_buffer): Remove lineno and pseudo_newlines.
14684         Add map and return_to_line.
14685         (_cpp_do_file_change): Update.
14686         * cppinit.c (cpp_start_read): Update line kludge.
14687         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
14688         (trigraph_ok): Use logical line numbers for diagnostics.
14689         (skip_block_comment): Likewise.
14690         (skip_whitespace): Likewise.
14691         (skip_line_comment): Use pfile->line instead.
14692         (_cpp_lex_token): Update to use logical line numbering exclusively.
14693         Handle BOL locally.  Accept new lines in directives, but keep
14694         pfile->line decremented.  Diagnostics use logical lines.  Update
14695         directive handling.
14696         * cpplib.c (SEEN_EOL): New.
14697         (skip_rest_of_line, check_eol): Use it.
14698         (end_directive): Increase line number when accepting the newline
14699         at the end of a directive.
14700         (run_directive): Simplify.
14701         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
14702         (_cpp_do_file_change): Update to take buffer line number as an
14703         argument, and store the current map in the cpp_reader.  Remove
14704         line number kludges.
14705         (_cpp_do__Pragma): Restore output position after a _Pragma.
14706         (cpp_push_buffer): Don't set output line or lineno.
14707         (_cpp_pop_buffer): Transfer more info from a faked buffer.
14708         Remove line kludge.  Set output_line.
14709         * cppmacro.c (builtin_macro): Update handling of __LINE__.
14710         (parse_arg): Use logical lines.
14711         (save_lookahead_token): Save EOFs too now.
14712         * cppmain.c (struct printer): Fix comments.
14713         (printer_init): Simplify, let caller do errors.
14714         (scan_translation_unit, check_multiline_token, dump_macro): Update.
14715         (maybe_print_line): Simplify.
14716         (print_line): Don't print a linemarker if -P.
14717         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
14718         (cb_file_change): Simplify.
14719         * line-map.h (LAST_SOURCE_LINE): Fix.
14720         (CURRENT_LINE_MAP): New.
14721
14722 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
14723
14724         * doloop.c (doloop_modify_runtime): Properly compute number of
14725         iterations if loop was unrolled.
14726
14727         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
14728         if their CSELIB_VAL_PTRs are.
14729
14730         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
14731         (setup_spill_pointers): Initialize it.
14732         (spill_restore_mem): Set it.
14733         (do_spill, do_restore): Use it to add REG_INC note.
14734         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
14735
14736         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
14737         asms if other insns are available.
14738
14739         * config/ia64/ia64.c (condop_operator): New predicate.
14740         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
14741         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
14742         patterns.
14743
14744         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
14745         temporary register than directly using a MEM.
14746
14747 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14748
14749         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
14750         parameter in last change.
14751
14752 2001-08-04  Zack Weinberg  <zackw@panix.com>
14753
14754         * sparc.md: Don't use #if inside C test expression.
14755
14756 2001-08-04  Richard Henderson  <rth@redhat.com>
14757
14758         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
14759
14760 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14761
14762         * cpphash.h (struct cpp_reader): New member directive_line.
14763         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
14764         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
14765         do_pragma): Pass line to callbacks.
14766         (start_directive): Record line of directive.
14767         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
14768         cb_include): Similarly.
14769         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
14770         Similarly.
14771
14772 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14773
14774         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
14775         comment.
14776
14777 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14778
14779         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
14780
14781         * reload1.c (fixup_abnormal_edges): New static function.
14782         (reload): Use it.
14783
14784         * flow.c (need_fake_edge_p): New function.
14785         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
14786         avoid call insn to be very last insn in the insn stream.
14787
14788         * profile.c (branch_prob): Call flow_call_edges_add instead of
14789         doing that by hand; cleanup cfg to re-merge basic blocks once
14790         we are done.
14791
14792 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14793
14794         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
14795         are also on line-map.h.
14796         * cppfiles.c (stack_include_file): Update.
14797         * cpphash.h (struct cpp_buffer): New member return_at_eof.
14798         (_cpp_pop_buffer): New.
14799         * cppinit.c (cpp_destroy, cpp_finish): Update.
14800         (do_includes): Mark each buffer to return at EOF.
14801         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
14802         return as requested.
14803         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
14804         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
14805         * cpplib.h (cpp_pop_buffer): Remove.
14806         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
14807         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
14808         buffers.
14809         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
14810         to pop buffers.
14811         (do_preprocessing): Update.
14812         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
14813         * c-parse.in (_yylex): Similarly.
14814         * scan-decls.c (scan_decls): Similarly.
14815         * line-map.h: Update comments.
14816
14817         * objc/Make-lang.in (objc-act.o): Update dependencies.
14818
14819 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14820
14821         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
14822         and soft register for operand 0.
14823         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
14824
14825 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14826
14827         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
14828         register for operand 0.
14829         ("bitcmpqi_z_used"): Allow memory for operand 0.
14830         (split "bitcmpqi"): New split to handle address reg as operand 1.
14831
14832 2001-08-04  Andreas Jaeger  <aj@suse.de>
14833
14834         * gcse.c: Revert Daniel's last patch.
14835
14836 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14837
14838         * sparc-protos.h: Add prototypes for fp_zero_operand and
14839         reg_or_0_operand.
14840         * sh-protos.h: Add prototype for fpul_operand.
14841
14842 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14843
14844         * doc/extend.texi (Other Builtins): Fix typo in last change.
14845
14846 2001-08-03  Richard Henderson  <rth@redhat.com>
14847
14848         * target.h (gcc_target): Add asm_out.named_section,
14849         section_type_flags, have_named_sections.
14850         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
14851         (TARGET_HAVE_NAMED_SECTIONS): New.
14852         (TARGET_SECTION_TYPE_FLAGS): New.
14853
14854         * Makefile.in (toplev.o): Depend on TARGET_H.
14855         (varasm.o, dbxout.o): Likewise.
14856         * c-common.c (decl_attributes): Check targetm.have_named_sections
14857         instead of ifdef ASM_OUTPUT_SECTION_NAME.
14858         * dbxout.c (dbxout_function_decl): Likewise.
14859         (dbxout_function_end): Likewise.
14860         * toplev.c (compile_file): Likewise.
14861         * varasm.c (exception_section): Likewise.
14862         * cp/decl2.c (finish_objects): Likewise.
14863
14864         * defaults.h (EH_FRAME_SECTION): Remove.
14865         (EH_FRAME_SECTION_ASM_OP): Remove.
14866         (EH_FRAME_SECTION_NAME): New.
14867         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
14868         (UNIQUE_SECTION_P): Remove.
14869         * dwarf2out.c (SECTION_FORMAT): Remove.
14870         (ASM_OUTPUT_SECTION): Remove.
14871         (output_call_frame_info): Use named_section_flags.
14872         (output_comp_unit, dwarf2out_start_source_file): Likewise.
14873         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
14874         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
14875         * varasm.c (in_eh_frame, eh_frame_section): Remove.
14876         (named_section_flags): New.
14877         (named_section): Use it and targetm.section_type_flags.
14878         (resolve_unique_section): New.
14879         (assemble_start_function): Use it.
14880         (asm_emit_uninitialised, assemble_variable): Likewise.
14881         (default_section_type_flags): New.
14882         (default_no_named_section, default_elf_asm_named_section): New.
14883         (default_coff_asm_named_section, default_pe_asm_named_section): New.
14884         * output.h: Update varasm.c decls.
14885         (SECTION_*): New flags.
14886
14887         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
14888         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
14889
14890         * config/elfos.h (UNIQUE_SECTION_P): Remove.
14891         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
14892         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
14893         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14894         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
14895         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
14896         * config/mips/elf.h, config/mips/elf64.h: Likewise.
14897         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
14898         * config/pa/pa64-hpux.h,
14899
14900         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
14901         (TARGET_ASM_NAMED_SECTION): New.
14902         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
14903         * config/alpha/vms.h, config/arm/coff.h: Likewise.
14904         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
14905         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
14906         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
14907         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
14908         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14909         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
14910         * config/i386/sco5.h, config/i386/win32.h: Likewise.
14911         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
14912         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
14913         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
14914         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
14915         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
14916         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
14917         * config/sparc/sysv4.h: Likewise.
14918
14919         * config/nextstep.h: Error until named sections implemented.
14920
14921         * config/a29k/a29k.c (a29k_asm_named_section): New.
14922         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
14923         (vms_section_type_flags, vms_asm_named_section): New.
14924         * config/arm/arm.c (arm_elf_asm_named_section): New.
14925         * config/avr/avr.c (asm_output_section_name): Remove.
14926         * config/avr/avr-protos.h: Update.
14927         * config/c4x/c4x.c (c4x_asm_named_section): New.
14928         * config/h8300/h8300.c (h8300_asm_named_section): New.
14929         * config/i386/i386.c (sco_asm_named_section): New.
14930         * config/i386/winnt.c (SECTION_PE_SHARED): New.
14931         (i386_pe_section_type_flags): New.
14932         (i386_pe_asm_named_section): New.
14933         * config/i386/i386-protos.h: Update.
14934         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
14935         * config/mcore/mcore.c (mcore_asm_named_section): New.
14936         * config/mips/mips.c (iris6_asm_named_section): New.
14937         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
14938         instead of UNIQUE_SECTION_P.
14939         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
14940         (xcoff_asm_named_section): New.
14941         * config/sh/sh.c (sh_asm_named_section): New.
14942         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
14943
14944         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
14945         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
14946         (EH_FRAME_SECTION_NAME): New.
14947         (EXCEPTION_SECTION): New.
14948         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
14949         (DEBUG_*_SECTION): Remove.
14950         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
14951         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
14952         (EH_FRAME_SECTION_ASM_OP): Remove.
14953
14954         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
14955         (ASM_OUTPUT_SECTION_NAME): Remove.
14956         (TARGET_ASM_NAMED_SECTION): New.
14957         (TARGET_HAVE_NAMED_SECTIONS): New.
14958         (TARGET_SECTION_TYPE_FLAGS): New.
14959         (EH_FRAME_SECTION_ASM_OP): Remove.
14960         (EH_FRAME_SECTION_NAME): New.
14961
14962 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14963
14964         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
14965         for complex expressions when cfun == 0.
14966         * doc/extend.texi: Document that __builtin_constant_p can be
14967         used in data initializers as well as functions.
14968
14969 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
14970
14971         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
14972         variable I locally, instead of expecting a declaration in the
14973         calling context.
14974
14975 2001-08-03  Richard Henderson  <rth@redhat.com>
14976
14977         * except.c (collect_one_action_chain): Add an explicit cleanup
14978         action if regions surrounding a catch were encoded entirely
14979         within the call-site entry.
14980
14981 2001-08-03  Richard Henderson  <rth@redhat.com>
14982
14983         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
14984         don't take REGNO of a non-register.
14985
14986 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14987
14988         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
14989         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
14990         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
14991         (__gthread_mutex_init_function): New function for mutex initialization.
14992
14993 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14994
14995         * Makefile.in: Revert screwed up commit.
14996
14997 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14998
14999         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15000         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15001         merged by linker script to get a final _exit().
15002         (__do_global_dtors): New for destructor handling in specific exit
15003         section.
15004         (__do_global_ctors): New for constructors in specific install section.
15005         (__map_data_section): Map data sections before running constructors.
15006         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15007         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15008         (DTORS_SECTION_ASM_OP): Likewise.
15009         (CTORS_SECTION_FUNCTION): Define to force a reference to
15010         __do_global_ctors.
15011         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15012
15013 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15014
15015         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
15016
15017         * Makefile.in: Add df.h to gcse.c dependencies.
15018
15019 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15020
15021         * varasm.c (output_constant_def_contents): Use for the length of a
15022         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15023         depending on which is larger.
15024
15025 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15026
15027         * gcse.c: Include df.h for use as a dataflow analyzer.
15028         Remove regvec.
15029         Declaration of reg_set_info: gone.
15030         New df_analyzer variable used by store motion.
15031         (reg_set_info): Deleted.
15032         (mark_mem_regs): New function, analyze regs used by a mem.
15033         (store_ops_ok): Use dataflow analyzer results to determine if
15034         necessary regs are changed in the block.
15035         (find_moveable_store): Remove check for symbol ref, we can handle
15036         much more complex expressions now.
15037         (compute_store_table): Remove most of the code, it's unnecessary
15038         now that the dataflow analyzer records the info for us.
15039         (store_killed_after): Add parameter to say whether to do the
15040         store_ops_okay test, used to speed up testing when we already know
15041         the answer, and just want to know if the store itself was killed.
15042         (build_store_vector): Largely rewritten to calculate the various
15043         vectors properly, and somewhat optimized.
15044         (store_motion): Init the df_analyzer, get REG_DEF chains.
15045         Also handle trapping expressions (since mems almost always trap)
15046         (simple_mem): Redefine what a simple mem is.
15047
15048 2001-08-03  DJ Delorie  <dj@redhat.com>
15049
15050         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15051         set from a constant part of the condition.
15052
15053 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15054
15055         * mkdeps.c (deps_add_default_target): Make local variable
15056         ``start'' a const char pointer.
15057         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15058
15059 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15060
15061         * doc/install.texi (Configuration): Fix markup.
15062         (Specific, i?86-*-udk): Likewise.
15063         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15064         --with-gnu-ld.
15065         Document --enable-threads and --enable-libgcj status.
15066         (Specific, mips-sgi-irix*): Canonicalize triples.
15067         (Specific, mips-sgi-irix5): Warn about problems with this config.
15068         Mention required GNU as patch.
15069         Native assembler problems are fixed.
15070         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15071         Document --enable-threads and --enable-libgcj status.
15072
15073 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15074
15075         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15076         of mkinstalldirs.
15077
15078 2001-08-03  Richard Henderson  <rth@redhat.com>
15079
15080         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15081         constant data.
15082
15083 2001-08-03  Richard Henderson  <rth@redhat.com>
15084
15085         * rtlanal.c (find_first_parameter_load): Stop if we
15086         reach a CODE_LABEL at BOUNDARY.
15087
15088 2001-08-03  Richard Henderson  <rth@redhat.com>
15089
15090         * config/alpha/alpha.md (force_movdi): New insn.
15091         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15092         Tweek FRP marking of VMS prologue insns.
15093         * config/alpha/vms.h (EPILOGUE_USES): New.
15094
15095 2001-08-02  Richard Henderson  <rth@redhat.com>
15096
15097         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15098
15099 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15100
15101         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15102         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15103         config/convex/convex.h, config/d30v/d30v.c,
15104         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15105         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15106         config/mips/mips.h, config/mn10200/mn10200.h,
15107         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15108         config/v850/v850.h, config/vax/openbsd.h,
15109         config/vax/openbsd1.h, config/vax/ultrix.h,
15110         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15111         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15112         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15113         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15114         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15115         in comments and documentation.
15116
15117 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15118
15119         * line-map.c: New.
15120         * line-map.h: New.
15121         * Makefile.in (line-map.o): New.
15122         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15123         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15124         * cpperror.c (print_containing_files): Similarly.
15125         (print_location): Update.  Don't output a space before _Pragma.
15126         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15127         (stack_include_filee, cpp_make_system_header): Update.
15128         (_cpp_execute_include): Get logical line number right for calling
15129         as-yet-unterminated #include.
15130         * cpphash.h (struct cpp_reader): Add line_maps.
15131         (_cpp_do_file_change): Update.
15132         * cppinit.c (cpp_create_reader): Initialize line maps.
15133         (cpp_destroy): Destroy line maps.
15134         (cpp_start_read): Get logical line number right.
15135         * cpplex.c (parse_string): Only warn once for multi-line strings.
15136         Use boolean variable for null warning.
15137         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15138         already.
15139         (do_include_common): End the directive early.
15140         (do_line): Don't warn about out-of-range lines in preprocessed
15141         source.  Update.  Remove unused variables.
15142         (_cpp_do_file_change): Update for new line mapping.
15143         (pragma_cb): New typedef.
15144         (cpp_register_pragma): Stop looking ahead before calling the
15145         handler.  Clean up.
15146         (do_pragma_system_header): End directive early.
15147         (cpp_get_line_maps): New.
15148         (cpp_pop_buffer): Fudge logical line.  Update.
15149         * cpplib.h: Include line-map.h
15150         (enum cpp_fc_reason): Remove.
15151         (struct cpp_file_change): Update.
15152         (cpp_get_line_maps): New.
15153         * cppmain.c (struct_printer): New member map.
15154         (cb_file_change): Update for new mappings.
15155         * fix-header.c (cb_file_change): Similarly.
15156
15157 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15158
15159         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15160         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15161
15162 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15163
15164         * config/vax/vax.c: include expr.h.
15165
15166 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15167
15168         * Makefile.in ($(srcdir)/configure): Only rebuild in
15169         maintainer mode.
15170         ($(srcdir)/config.in): Only define in maintainer mode.
15171         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15172
15173 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15174
15175         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15176
15177 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15178
15179         * gcc.c (set_collect_gcc_options): New function, split out from
15180         main.
15181         Ignore elided switches.
15182         (do_spec_1): Invoke before executing command.
15183         (set_input): Export.
15184         Move declaration ...
15185         * gcc.h (set_input): ... here.
15186         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15187         file.
15188
15189 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15190
15191         Kill -fhonor-std.
15192         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15193         interaction.
15194         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15195
15196 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15197
15198         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15199         for the unnamed instructions it expands to.
15200
15201 2001-08-02  Richard Henderson  <rth@redhat.com>
15202
15203         * regclass.c (call_really_used_regs): Conditionally define.
15204         (init_reg_sets_1): Don't use it if not defined.
15205         (fix_register): Similarly, don't set it.
15206
15207 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15208
15209         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15210         Correct comment that had been missed in the previous change.
15211
15212 2001-08-01  Stan Shebs  <shebs@apple.com>
15213
15214         * config/darwin.c (machopic_stub_name): Try matching by name.
15215         (update_stubs): New function.
15216         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15217         unconditionally.
15218
15219 2001-08-01  Richard Henderson  <rth@redhat.com>
15220
15221         * except.c (output_function_exception_table): Use assemble_align.
15222         * varasm.c (assemble_eh_label): Remove.
15223         (assemble_eh_align, assemble_eh_integer): Remove.
15224
15225 2001-08-01  Robert Lipe  <robertl@caldera.com>
15226
15227         * dwarfout.c: Remove reference to README.DWARF.
15228
15229 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15230
15231         * regclass.c (call_really_used_regs): New array for registers which
15232         are actually used by a call.
15233         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15234         new array.
15235         (fix_register): Set call_really_used too.
15236         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15237         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15238
15239 2001-08-01  Richard Henderson  <rth@redhat.com>
15240
15241         * read-rtl.c (read_name): Consider \r whitespace.
15242
15243 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15244
15245         * config.gcc: Recognize powerpc-*-netbsd*.
15246
15247         * doc/install.texi (Host/target specific installation notes for
15248         GCC): Mention powerpc-*-netbsd*.
15249
15250         * config/rs6000/netbsd.h: New file.
15251         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15252         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15253         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15254         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15255         (TARGET_VERSION): Redefine.
15256
15257         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15258         mcall-netbsd as a match for mcall-sysv.
15259         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15260         (ncrti.S, ncrtn.S): New targets.
15261         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15262
15263         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15264         "netbsd' as a V4 ABI.
15265         (ASM_SPEC): Check for -mcall-netbsd.
15266         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15267         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15268         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15269         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15270         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15271         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15272         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15273
15274         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15275         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15276
15277 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15278
15279         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15280         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15281         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15282         including "unwind-pe.h".
15283
15284 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15285
15286         * rs6000.md (define_splits): Kill unused constraints.
15287
15288 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
15289                               Jan Hubicka  <jh@suse.cz>
15290
15291         * function.c (thread_prologue_and_epilogue_insns): Kill code
15292         dealing with non-existent CFG.
15293
15294 2001-08-01  Kazu Hirata  <kazu@hxi.com>
15295
15296         * alias.c: Fix comment formatting.
15297         * bitmap.c: Likewise.
15298         * builtins.c: Likewise.
15299         * calls.c: Likewise.
15300         * c-common.c: Likewise.
15301         * c-decl.c: Likewise.
15302         * c-dump.c: Likewise.
15303         * c-lex.c: Likewise.
15304         * collect2.c: Likewise.
15305         * combine.c: Likewise.
15306         * conflict.c: Likewise.
15307         * cppfiles.c: Likewise.
15308         * cppinit.c: Likewise.
15309         * cpplex.c: Likewise.
15310         * cpplib.c: Likewise.
15311         * cppmacro.c: Likewise.
15312         * cppspec.c: Likewise.
15313         * c-pragma.c: Likewise.
15314         * crtstuff.c: Likewise.
15315         * cse.c: Likewise.
15316         * cselib.c: Likewise.
15317         * c-semantics.c: Likewise.
15318         * c-typeck.c: Likewise.
15319
15320 2001-08-01  H.J. Lu <hjl@gnu.org>
15321
15322         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
15323
15324 2001-08-01  H.J. Lu <hjl@gnu.org>
15325
15326         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
15327
15328 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
15329
15330         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
15331         contextualizing Objective-C class name lookup by the lexer.
15332         (typespec_reserved_nonattr): Disable ObjC class name lookup after
15333         seeing a TYPESPEC.
15334         (protocoldef): Add support for forward @protocol declarations.
15335         (yylexname): Suppress ObjC class name lookup in certain contexts;
15336         re-enable after lookup is complete.
15337         (_yylex): Re-enable ObjC class name lookup when certain
15338         punctuation marks are seen.
15339
15340         * objc/objc-act.c (check_protocol_recursively): New function used
15341         for finding circular dependencies in protocols.
15342         (objc_declare_protocols): New function for handling forward
15343         @protocol declarations.
15344         (receiver_is_class_object): Detect the case when 'self' is used
15345         inside of a class method.
15346         (build_message_expr): Issue a warning if class method is desired
15347         but instance method is found instead.
15348         (conforms_to_protocol): Streamline.
15349         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
15350         protocol Foo, even if 'Bar foo' does not.
15351         (check_protocols): Streamline.
15352         (start_protocol): Add checks for circular and duplicate protocol
15353         definitions.
15354         (encode_aggregate_within): For typedefs of structs, encode the
15355         underlying struct.
15356         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
15357         (objc_declare_protocols): New prototype.
15358
15359 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15360
15361         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
15362         * cpplex.c (handle_newline): Update prototype.  Maintain logical
15363         line number.
15364         (skip_escaped_newlines, skip_block_comment, parse_string):
15365         Update accordingly.
15366         (_cpp_lex_token): Update, and store token position within the token.
15367         * cpplib.h (struct cpp_token): Add line and column entries.
15368         * cppmacro.c (replace_args): Position stringified tokens correctly.
15369
15370 2001-08-01  Andreas Jaeger  <aj@suse.de>
15371
15372         * basic-block.h: Add prototype for last_loop_beg_note.
15373
15374 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
15375
15376         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
15377         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
15378         comment.
15379         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
15380         while handling WITH_CLEANUP_EXPR node. Use second operand calling
15381         expand_decl_cleanup.
15382         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
15383         the first RTX.
15384         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
15385         operand while calling simple_cst_equal.
15386         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
15387         operand is the cleanup expression, the third is the RTL_EXPR.
15388         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
15389
15390 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
15391
15392         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
15393
15394 2001-07-31  matthew green  <mrg@eterna.com.au>
15395
15396         * config.gcc (i386-*-netbsdelf): New description.
15397         * config/i386/netbsd-elf.h: New file.
15398
15399 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
15400
15401         * loop.c (check_dbra_loop): Use single_set to compute
15402         jump_label.
15403
15404 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
15405
15406         PowerPC reorg and support for powerpc64-*-linux*.
15407
15408         Also fixes emitting of constants on 32 bit and 64 bit
15409         platforms.
15410
15411         * config.gcc: powerpc64-*-linux* is a new target.
15412         Things that needed aix.h now also include xcoff.h
15413
15414         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
15415         xcoff.h.
15416         Move AIX specific stuff into aix.h.
15417         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
15418         with more than just XCOFF now.
15419         (SET_ASM_OP): Remove, now defined where needed.
15420         (FUNCTION_PROLOGUE): New macro definition.
15421         (FUNCTION_EPILOGUE): New macro definition.
15422         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
15423
15424         * config/rs6000/xcoff.h: New file.
15425
15426         * config/rs6000/linux64.h: New file.
15427
15428         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
15429
15430 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
15431
15432         * rs6000.c (print_operand_address): Handle ELF syntax.
15433         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
15434         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
15435         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
15436
15437 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
15438
15439         * rs6000.c (rs6000_override_options): Only disable
15440         flag_function_sections for XCOFF.
15441         (exact_log2_cint_operand): New predicate.
15442         (reg_or_{add,sub}_cint64_operand): New predicates.
15443         (add_operand): Compare CONST_INT with fewer function calls.
15444         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
15445         (print_operand, case 'p'): Ensure positive operand.
15446         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
15447         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
15448         (PREDICATE_CODES): Add new predicates.
15449         * rs6000.md (addsi3): Split 32-bit constants more correctly.
15450         (divsi3, modsi3): Ensure positive power-of-2.
15451         (adddi3): Use new predicate.  Split 32-bit constants more
15452         correctly.  Re-arrange splitter to handle any constant.
15453         (subdi3): Use new predicate.
15454         (divdi3, moddi3): Ensure positive power-of-2.
15455         (movdi): Use rs6000_emit_set_const.
15456         (load_toc_v4_pic_di): Delete.
15457
15458 2001-07-31  Graham Stott <grahams@redhat.com>
15459
15460         * function.c (pad_below): Revert 2001-07-26 patch.
15461
15462 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15463
15464         * reg-stack (convert_regs_1): Fix best edge condition.
15465
15466 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15467
15468         * jump.c (duplicate_loop_exit_test): Better test for jumps
15469         entering the loop; create loop pre_header.
15470
15471 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
15472
15473         * doc/install.texi: Add s390 and s390x as new targets.
15474         * doc/invoke.texi: Add documentation of S/390 and zSeries
15475         target options.
15476         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
15477
15478 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15479
15480         * config/m68k/m68k.md: Replace all general_operand with
15481         nonimmediate_operand for all destinations.
15482         * config/m68k/m68k.c (not_sp_operand): Likewise.
15483
15484 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
15485
15486         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
15487
15488 2001-07-30  Richard Henderson  <rth@redhat.com>
15489
15490         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
15491         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
15492
15493 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15494
15495         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
15496         Add missing doc strings
15497         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
15498         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
15499
15500 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
15501
15502         * i386.c (ix86_output_main_function_alignment_hack): New function.
15503         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
15504
15505         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
15506         edges by EDGE_DFS_BACK flag.
15507         (dump_edge_info): Add dfs_back flag.
15508         * basic-block.h (EDGE_DFS_BACK): New constant.
15509         (mark_dfs_back_edges): Declare.
15510         * alias.c (loop_p): Remove.
15511         (mark_constant_function): Use mark_dfs_back_edges.
15512
15513         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
15514         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
15515         (compensate_edge): Break out from ...
15516         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
15517         (convert_regs_2): Set block_done once block is really done;
15518         Do updating of the predecessors counts.
15519
15520         * toplev.c (rest_of_compilation): Recompute block_for_insn
15521         before post-reload cfg_cleanup.
15522         * function.c (thread_prologue_epilogue_insns):
15523         Call set_block_for_new_insns when emitting prologue directly.
15524
15525 2001-07-30  Andreas Jaeger  <aj@suse.de>
15526
15527         * jump.c: Add prototype for mark_modified_reg.
15528
15529         * cse.c (set_live_p): Add unused attribute.
15530
15531         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
15532         overflow.
15533         (scan_for_source_files): Use long for count to avoid overflow.
15534         (output_data): Likewise.
15535         (output_data): Don't use string concatatenation to silence gcc
15536         -traditional.
15537
15538         * predict.c: Fix typos and grammar.
15539
15540         * gcse.c (insert_insn_end_bb): Remove unused variables.
15541
15542 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
15543
15544         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
15545         (attempt_auto_inc): LIkewise.
15546         (mark_used_reg): Likewise.
15547         (try_pre_increment_1): Likewise.
15548         * regclass.c (regclass): Likewise.
15549         * global.c (allocno_compare): Update comment; change scaling factor.
15550         * local-alloc.c (QTY_CMP_PRI): Likewise.
15551         * regs.h (REG_FREQ_FROM_BB): New.
15552         (REG_FREQ_MAX): Likewise.
15553
15554 2001-07-30  H.J. Lu <hjl@gnu.org>
15555
15556         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
15557         -D_GNU_SOURCE.
15558
15559 2001-07-30  H.J. Lu  (hjl@gnu.org)
15560
15561         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
15562         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
15563         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
15564
15565 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
15566
15567         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
15568         as -mthumb-interwork when -mcpu=arm7 is specified.
15569
15570 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15571
15572         * predict.def (noreturn, loop branch, loop exit): Mark as first
15573         match heuristics.
15574
15575 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
15576
15577         * combine.c (try_combine): Avoid barrier after noop jumps.
15578
15579 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15580
15581         * cpphash.h (struct cpp_reader): Remove import_warning.
15582         * cpplib.c (skip_rest_of_line): Don't bother turning off
15583         macro expansion.
15584         (parse_include): Move include handling to...
15585         (do_include_common): ... here.  Move import warning from...
15586         (do_import): ... here.
15587         (do_pragma_poison): Don't do a callback for poison identifiers.
15588         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
15589         * cppmain.c (setup_callbacks): Similarly.
15590
15591 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
15592
15593         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
15594         handle multiple sets.
15595         * except.c (sjlj_mark_call_sites): .... here.
15596         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
15597
15598 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
15599
15600         Suggested by Richard Henderson and Richard Kenner:
15601         * combine.c (recog_for_combine): Use the fake recog
15602         only if instruction does not match.
15603         * rtl.h (NOOP_MOVE_INSN_CODE): New.
15604         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
15605
15606         * combine.c (try_combine): Discover noop jump as direct jump.
15607
15608 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
15609
15610         * df.c (df_rd_global_compute): Add successors to worklist, not
15611         current item.
15612         (df_ru_global_compute): Ditto.
15613
15614 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
15615
15616         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
15617         increment REG_N_SETS.
15618
15619 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15620
15621         * sbitmap.h: New prototype for sbitmap_a_xor_b.
15622
15623         * sbitmap.c (sbitmap_a_xor_b): New function.
15624         ifdef the basic block stuff on IN_GCC.
15625
15626 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15627
15628         * cppexp.c (parse_defined): Always record the macro name.
15629         (lex): Don't worry about identifiers, or special-case
15630         CPP_NOT here.
15631         (_cpp_parse_expr): Figure out at the end of the routine
15632         whether we saw a valid !defined() expression.
15633         * cppfiles.c (stack_include_file): Update for mi_valid.
15634         (_cpp_pop_file_buffer): Similarly.
15635         * cpplex.c (_cpp_lex_token): Similarly.
15636         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
15637         mi_if_not_defined, mi_lexed): Remove.
15638         (mi_valid): New.
15639         * cpplib.c (do_if): Simplify.
15640         (do_endif, push_conditional, _cpp_handle_directive): Update
15641         for renaming of mi_state to mi_valid.
15642 doc:
15643         * cpp.texi: Add index entries for digraphs, and add comment
15644         that C++ refers to them as alternative tokens.
15645
15646 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
15647
15648         * basic-block.h (CLEANUP_PRE_LOOP): New.
15649         * except.c (finish_eh_generation): Update call of cleanup_cfg.
15650         * sibcall.c (optimize_sibling_calls): Likewise.
15651         * toplev.c (rest_of_compilation): Likewise.
15652         * flow.c (try_forward_edges): Take argument MODE;
15653         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
15654         (try_optimize_cfg): Update call of try_forward_edges.
15655
15656 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15657                                 Jan Hubicka  <jh@suse.cz>
15658
15659         * (validate_replace_rtx_1): Fix simplification of MINUS.
15660
15661 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
15662
15663         PR preprocessor/3669
15664         * cppinit.c (init_dependency_output): Turn off dump requests
15665         if sending dependencies to stdout.
15666
15667 2001-07-28  Richard Henderson  <rth@redhat.com>
15668
15669         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
15670         not optimizing.
15671
15672 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
15673
15674         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
15675
15676 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15677
15678         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
15679         is VAR_DECL first to prevent an ICE.
15680
15681 2001-07-28  Richard Henderson  <rth@redhat.com>
15682
15683         * varasm.c (immed_real_const_1): Don't elide special cases for
15684         nested functions.
15685         (clear_const_double_mem): Clear const_tiny_rtx too.
15686
15687 2001-07-28  Richard Henderson  <rth@redhat.com>
15688
15689         * dwarf2out.c (dw_val_class_offset): New.
15690         (struct dw_ranges_struct, dw_ranges_ref): New.
15691         (ranges_table, ranges_table_allocated): New.
15692         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
15693         (add_AT_offset, add_ranges, output_ranges): New.
15694         (print_die, output_die): Handle dw_val_class_offset.
15695         (attr_checksum, size_of_die, value_format): Likewise.
15696         (gen_lexical_block_die): Handle non-contiguous blocks.
15697         (gen_block_die): Likewise.
15698         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
15699         if needed.  Dump the ranges table.
15700         * final.c (final_start_function): Remove unnecessary notes and
15701         rebuild the block tree before numbering the blocks.
15702         * function.c (reorder_blocks_0): Walk the existing block tree
15703         to unmark all blocks.
15704         (reorder_blocks_1): Create block fragments when duplicate block
15705         notes are seen.
15706         (reorder_fix_fragments): New.
15707         (reorder_blocks): Call it.
15708         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
15709
15710 2001-07-28  Richard Henderson  <rth@redhat.com>
15711
15712         * emit-rtl.c (adjust_address): Make a copy of the memory address.
15713
15714 2001-07-28  Richard Henderson  <rth@redhat.com>
15715
15716         * flow.c (add_to_mem_set_list): New function.
15717         (init_propagate_block_info): Use it.
15718         (mark_set_1): Likewise.
15719         (insn_dead_p): Canonicalize memory address for dead store
15720         comparison.  Allow wider mode stores to kill narrower mode stores.
15721         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
15722         (invalidate_mems_from_set): Don't handle MEMs.
15723
15724 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15725
15726         * config/h8300/h8300.h: Fix formatting.
15727
15728 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15729
15730         * basic-block.h (EDGE_FREQUENCY): New macro.
15731         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
15732         for new BB/edges.
15733         * flow.c (find_sub_basic_blocks): Likewise.
15734         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
15735         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
15736
15737         * predict.c (DEF_PREDICTOR): New argument FLAGS.
15738         (HITRATE): New macro.
15739         (PRED_FLAG_FIRST_MATCH): New constant.
15740         (predictor_info): New field flgags.
15741         (combine_predictions_for_insn): Use DS theory to combine
15742         probabilities; set the edge probabilities when finished.
15743         (estimate_probability): Avoid duplicated matches
15744         of LOOP_BRANCH heuristics for nested loops; update comment.
15745         * predict.def: Add flags for each prediction, set probabilities
15746         according to B&L paper.
15747         * predict.h (DEF_PREDICTOR): New argument FLAGS.
15748
15749         * profile.c (compute_branch_probabilities):  Cleanup way the edge
15750         probabilities are computed and REG_BR_PROB notes are dropped; if
15751         values does not match, emit error.
15752         (init_branch_prob): Do error instead of warning when profile driven
15753         feedback is missing or corrupt.
15754
15755 2001-07-27  DJ Delorie  <dj@redhat.com>
15756
15757         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
15758         against a constant, try to adjust the compare to have the desired
15759         constant in it so that min/max optimizations happen more often.
15760
15761 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15762
15763         * flow.c (last_loop_beg_note): New function.
15764         (redirect_edge_and_branch): Use it.
15765         (split_edge): Likewise.
15766
15767         * alias.c (loop_p): Avoid uninitialized memory access.
15768
15769         * flow.c (try_forward_edges): Avoid accessing freed memory.
15770
15771         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
15772         variable access.
15773
15774 2001-07-26  Andrew Haley  <aph@redhat.com>
15775         Joern Rennecke <amylaar@redhat.com>
15776
15777         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
15778         (SUBTARGET_CPP_ENDIAN_SPEC): New.
15779         (SUBTARGET_CPP_SPEC): New.
15780         (CPP_SPEC): Remove.
15781         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
15782         (SUBTARGET_CPP_PTR_SPEC): New.
15783         (CPP_DEFAULT_CPU_SPEC): New.
15784         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
15785         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15786         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
15787         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15788         (SUBTARGET_CPP_SPEC): Define as an empty string.
15789
15790 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15791
15792         * doc/install.texi (Configuration): Properly link the host
15793         specific instructions also when generating HTML.
15794
15795 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
15796
15797         * flow.c (redirect_edge_and_branch_force): Test
15798         target->global_live_at_start.
15799
15800 2001-07-26  Richard Henderson  <rth@redhat.com>
15801
15802         * simplify-rtx.c (avoid_constant_pool_reference): Export.
15803         * rtl.h (avoid_constant_pool_reference): Declare it.
15804         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
15805         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
15806
15807 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15808
15809         * rtl.h (cleanup_barriers): Declare.
15810         * jump.c (cleanup_barriers): New function.
15811         * toplev.c (rest_of_compilation): Call cleanup_barriers
15812         before loop optimizer and after bb_reorder.
15813
15814         * flow.c (back_edge_of_syntactic_loop_p): New.
15815         (split_edge): Use it.
15816
15817 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15818
15819         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
15820
15821 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
15822
15823         * cse.c (cse_process_notes): Replace any registers if the address
15824         remains valid.
15825
15826 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
15827
15828         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
15829         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
15830         (propagate_block): Update prototype.
15831         * flow.c (update_life_info): Simplify the CFG and
15832         recalculate the global regs which are alive when
15833         removing dead code during a global update.
15834         (propagate_block): Return non-zero if an INSN is
15835         deleted.
15836
15837 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15838
15839         * Makefile.in (LIBICONV): Define.
15840
15841 2001-07-26  Catherine Moore  <clm@redhat.com>
15842
15843         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
15844         of conditional to avoid tree checking errors.
15845
15846 2001-07-26  Kazu Hirata  <kazu@hxi.com>
15847
15848         * regmove.c (regmove_optimize): Don't replace a reg with
15849         another reg of a different mode.
15850
15851 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
15852
15853         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
15854         limit length of dependency flush list.
15855         * params.h (MAX_PENDING_LIST_LENGTH): Define.
15856         * sched-int.h  (struct deps): Add pending_flush_length field.
15857         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
15858         has 1 element in it.
15859         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
15860         (sched_analyze): After a jump, if the pending memory flush list is too
15861         large, flush the pending lists.
15862         (init_deps): Initialize pending_flush_length to 0.
15863         * doc/invoke.texi (max_pending_list_length): Document parameter.
15864
15865 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
15866
15867         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
15868         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
15869         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
15870
15871 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15872
15873         * cpphash.h (struct_lexer_state): Delete was_skipping.
15874         Move skipping here from struct cpp_reader.
15875         * cpplex.c (parse_identifier): Update.
15876         (_cpp_lex_token): Don't skip tokens in a directive.
15877         * cpplib.c (struct if_stack): Update.
15878         (start_directive, end_directive): Don't change skipping state.
15879         (_cpp_handle_directive): Update.
15880         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
15881         (do_else, do_endif): Update; only check for excess tokens if not
15882         in a skipped conditional block.
15883         (push_conditional): Update for new struct if_stack.
15884
15885 2001-07-26  Graham Stott  <grahams@redhat.com>
15886
15887         * function.c (locate_and_pad_parm): Also pad initial offset
15888         so that the total argument size also includes the padding.
15889
15890 2001-07-26  Graham Stott <grahams@redhat.com>
15891
15892         * gensupport.c (alter_output_for_insn): Correct enable checking failure
15893         change XSTR to XTMPL.
15894
15895         (process_one_cond_exec): Likewise
15896
15897 2001-07-25  Richard Henderson  <rth@redhat.com>
15898
15899         * varasm.c (assemble_variable): Create DECL_RTL before setting
15900         TREE_ASM_WRITTEN.
15901
15902 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
15903
15904         * predict.c (estimate_probability): Avoid duplicated predictions.
15905
15906         * loop.c (find_and_verify_loops): Grok multiple barriers.
15907
15908 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15909
15910         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
15911
15912         * dbxout.c: Consistently use putc instead of fputc.
15913         (print_wide_int): New function; call instead of direct fprintf.
15914         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
15915         (dbxout_type_fields, dbxout_type_method_1): Likewise.
15916         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
15917         (print_int_cst_octal): Likewise.
15918         (print_octal): Show we wrote characters.
15919         (dbxout_type): Set have_used_extensions in more places.
15920
15921 2001-07-25  Catherine Moore  <clm@redhat.com>
15922
15923         * config/v850/v850.c (v850_va_arg):  Use addr
15924         instead of valist to build incr.
15925
15926 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
15927
15928         * flow.c (delete_dead_jumptables): New function.
15929         (life_analyzis): Call it.
15930         * bb-reorder.c (skip_insns_after_block): Handle contradictory
15931         sequences.
15932
15933 2001-07-25  Richard Henderson  <rth@redhat.com>
15934
15935         * except.c (reachable_handlers): Handle a region being removed
15936         out from under a RESX.
15937
15938 2001-07-25  Richard Henderson  <rth@redhat.com>
15939
15940         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
15941         swap GE/GT if it is an fp comparison.
15942
15943 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
15944
15945         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
15946         operands.
15947
15948 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
15949
15950         * ssa.c (rename_insn_1): Do not wrap an assignment to a
15951         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
15952         glitch.
15953
15954         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
15955         throw an exception.
15956         (visit_expression): When attempting to simplify an expression,
15957         retrieve any modes for arguments before they are simplified
15958         to constants.
15959
15960 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15961             Janis Johnson  <janis@us.ibm.com>
15962
15963         * stmt.c (expand_goto): A nonlocal goto can be a call too.
15964         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
15965         pointer parameters to match documented usage of nonlocal_goto.
15966         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
15967         parameters to their correct order.
15968         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
15969         parameters to their correct order.
15970
15971 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15972
15973         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
15974
15975 2001-07-25  Jan Hubicka  <jh@suse.cz>
15976             Richard Henderson  <rth@redhat.com>
15977
15978         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
15979         the sequence.
15980         (make_edges): New argument update_p; populate the edge cache if set.
15981         (find_basic_blocks): Update make_edges invocation.
15982
15983 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15984
15985         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
15986
15987 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15988
15989         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
15990         -Acpu and -Amachine.h.
15991         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
15992         Corrected header to say ELF not a.out.
15993         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
15994         when given -msoft-float.
15995
15996 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15997
15998         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
15999         extra multilib parts like arm-elf.
16000         (i960-*-coff*, i960-*-rtems): Should not use collect2.
16001         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16002         crtfini.o as extra multilib parts.
16003
16004 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16005
16006         * configure.in: Add rtems as a supported thread model.
16007         * gthr-rtems.h: Add missing entry point __gthread_active_p.
16008         * configure: Rebuilt.
16009
16010 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
16011
16012         * stor-layout.c (get_mode_alignment): make it work when
16013         BITS_PER_UNIT is not a power of two.
16014         * builtins.c (get_pointer_alignment): Likewise.
16015
16016 2001-07-24  Richard Henderson  <rth@redhat.com>
16017
16018         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16019         the retrieved constant into the expected mode.
16020
16021 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16022
16023         * flow.c (try_simplify_condjump): Avoid duplicated edges.
16024         (verify_flow_info): Check for duplicated edges; clarify
16025         error reporting.
16026
16027         * flow.c (block_label): Update basic_block_for_insn.
16028         (commit_edge_insertions): Call compute_bb_for_insn.
16029
16030         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16031         returns too.
16032
16033         * flow.c (redirect_edge_and_branch,
16034         try_optimize_cfg): Use redirect_edge_succ_nodup
16035         (redirect_edge_succ_nodup): New.
16036         * basic_block.h (redirect_edge_succ_nodup): Declare.
16037
16038         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16039         after gcse.
16040
16041 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16042
16043         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16044         (try_crossjump_to_edge): Update commetns.
16045         (try_crossjump_bb): Likewise.
16046
16047 2001-07-24  Richard Henderson  <rth@redhat.com>
16048
16049         * combine.c (distribute_notes): Move set of need_refresh
16050         for noop_move_p down to catch all cases.
16051
16052 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16053
16054         * recog.c (split_all_insns_noflow): New.
16055         * rtl.h (split_all_insns_noflow): Declare.
16056         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16057         * m68hc11.c (m68hc11_reorg): Likewise.
16058         * sh.c (machine_dependent_reorg): Likewise.
16059         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16060         call.
16061
16062 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16063
16064         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16065         (ashlsi3_n splitter): Likewise.
16066         (lshrsi3_n splitter): Likewise.
16067
16068         (GOTaddr2picreg): Make const SImode.
16069         (sym_label2reg): Likewise.
16070         (symGOT2reg): Likewise.
16071         (symGOTOFF2reg) Likewise.
16072
16073         (casesi_worker_0): Make unspec SImode.
16074
16075 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16076
16077         * config/sh/sh.c (barrier_align): Check that an operand really is
16078         an insn before extracting its INSN_CODE.
16079
16080 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16081
16082         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16083         dangling else.
16084
16085         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16086         for SImode to prevent overflow.
16087
16088 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16089
16090         * config/mips/irix6-libc-compat.c: New file.
16091         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16092         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16093         passing workaround.
16094
16095 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16096
16097         * rtl.texi (REG_POINTER): Document.
16098         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16099         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16100
16101 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16102
16103         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16104
16105 2001-07-23  Richard Henderson  <rth@redhat.com>
16106
16107         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16108
16109 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16110
16111         * config/h8300/h8300-protos.h: Add a prototype for
16112         general_operand_dst_push.
16113         * config/h8300/h8300.c (general_operand_dst_push): New.
16114         * config/h8300/h8300.h (OK_FOR_T): New.
16115         (EXTRA_CONSTRAINT): Use it.
16116         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16117         the existing movqi pattern.
16118         (movhi_push): Likewise.
16119
16120         * reload.c: Fix comment typos.
16121
16122 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16123
16124         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16125
16126 2001-07-23  H.J. Lu  (hjl@gnu.org)
16127
16128         * doc/extend.texi: Update __builtin_return_address and
16129         __builtin_frame_address.
16130
16131 2001-07-23  Richard Henderson  <rth@redhat.com>
16132
16133         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16134         before CSE.
16135         * config/i386/i386.md: New setcc+movzbl peephole2.
16136
16137 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16138
16139         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16140         * objc/objc-act.c: Include debug.h.
16141         (synth_module_prologue): Save and restore debug hooks too.
16142
16143 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16144
16145         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16146         and C4X_FLOAT_FORMAT.
16147         (BOOL_TYPE_SIZE): Document.
16148
16149 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16150
16151         * unroll.c (loop_iterations): Fix miscalculation of initial
16152         giv offset.
16153
16154 2001-07-13  Andrew Haley  <aph@redhat.com>
16155
16156         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16157         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16158         * config/sh/sh.c (sh_can_redirect_branch): New function.
16159         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16160         * reorg.c (steal_delay_list_from_target): Use
16161         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16162
16163 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16164
16165         * flow.c (try_simplify_condjump): Unlink insn chain on
16166         fallthru edge; use can_fallthru.
16167
16168 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16169
16170         * basic-block.h (find_sub_basic_block): Declare.
16171         * flow.c (make_edges): New arguments MIN and MAX;
16172         (find_sub_basic_blocks): Revamp to use make_edges
16173         and purge_dead_edges.
16174         (find_basic_blocks): Update call of find_sub_basic_block.
16175
16176         * recog.c (split_all_insns): Always expect CFG to be consistent;
16177         call find_sub_basic_blocks in case something has changed.
16178         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16179         has been built.
16180
16181         * basic-block.h (delete_noop_moves): Declare.
16182         * combine.c (combine_instructions): Call it.
16183         (recog_for_combine): Tolerate noop moves
16184         (distribute_notes): Force refresh when register dies at noop move.
16185         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16186         too.
16187         (life_analysis): Update delete_noop_moves call.
16188         (set_noop_p): Move too ...
16189         * rtlanal.c (noop_move_p): ... here.
16190         * rtl.h (noop_move_p): Declare.
16191
16192         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16193         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16194         after combine.
16195         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16196         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16197
16198 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16199
16200         * reload.c (push_reload): Fix typo in comment.
16201         (find_reloads_address): Ditto.
16202         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16203
16204 2001-07-22  Richard Henderson  <rth@redhat.com>
16205
16206         * flow.c: Grammar check and clarify a lot of comments.
16207         (try_simplify_condjump): Rename variables to be clearer.
16208         (try_forward_edges): Skip complex and fallthru edges.
16209         Rearrange tests to avoid duplicate checks.
16210         (flow_find_cross_jump): Likewise.
16211         (outgoing_edges_match): Allow match if neither branch has
16212         probability data.  Loosen probability match to 5%.
16213         (try_crossjump_to_edge): Hoist repeated indirection into
16214         local variables.
16215         (try_crossjump_bb): Don't check complex edges.  Eliminate
16216         redundant crossjump tests.
16217         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16218         checks before more expensive checks.
16219
16220 2001-07-22  Richard Henderson  <rth@redhat.com>
16221
16222         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16223         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16224         arguments.
16225
16226 2001-07-22  Richard Henderson  <rth@redhat.com>
16227
16228         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16229         (const_sint32_operand): Likewise.
16230         * m68k.md (anon mulsi pattern): Use const_int_operand not
16231         const_sint32_operand.
16232         (umulsi3_highpart): Zero extend a constant input.
16233         (smulsi3_highpart): Don't bother checking SImode constant.
16234         (const_umulsi3_highpart): Give op3 DImode.
16235         (const_smulsi3_highpart): Likewise.
16236
16237 2001-07-22  Richard Henderson  <rth@redhat.com>
16238
16239         * flow.c (split_block): Make sure bb_note is included in the
16240         new block when splitting before a label.
16241
16242 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16243
16244         * basic-block.h (redirect_edge_and_branch_force,
16245         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16246         * flow.c (redirect_edge_and_branch_force,
16247         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16248         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16249         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16250         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16251         instead of label; update CFG after transformation.
16252         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16253         for finishing the transformation; handle even case where ELSE
16254         does not follow THEN.
16255         (find_if_case_2): Update call of dead_or_predictable; simplify
16256         CFG update.
16257
16258         * emit-rtl.c (split_branch_probability): New global variable.
16259         (try_split): Take care to set split_branch_probability and
16260         create REG_BR_PROB note for new jump insns.
16261         * md.texi (define_split): Document new feature.
16262
16263         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16264
16265 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16266
16267         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16268         (asm_out_file): Remove redundant declaration.
16269         (assemble_asm): Remove old #if 0 block.
16270         (assemble_variable): Remove end of function; debug output is
16271         now handled with global_decl.  Remove old #if 0 block.  Update.
16272         Remove saved_in_section and associated no-op code.
16273         * Makefile.in (varasm.o): Correct dependencies.
16274
16275 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16276
16277         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16278         the definition in defaults.h.
16279
16280 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16281
16282         * jump.c: Update comments.
16283         (delete_barrier_successors, delete_unreferenced_labels,
16284         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16285         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16286         jump_optimize, jump_optimize_minimal): Kill.
16287         (rebuild_jump_labels): Move code from jump_optimize_1.
16288         (purge_line_number_notes): Likewise.
16289         (copy_loop_headers): Likewise.
16290         * reg-stack.c: Update comment.
16291         * stmt.c: Likewise.
16292         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
16293         JUMP_AFTER_REGSCAN): Kill.
16294         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
16295         purge_line_number_notes and copy_loop_headers.
16296
16297 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
16298            Richard Henderson  <rth@redhat.com>
16299
16300         * dbxout.c (dbxout_global_decl): New.
16301         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16302         * sdbout.c (sdbout_finish): New.
16303         (sdbout_debug_hooks): Use it, add comments.
16304         (sdbout_global_decl): Defer initialised public vars to
16305         sdbout_finish.
16306         * varasm.c (assemble_variable): Don't output debug information
16307         for file-scope variables.
16308
16309 2001-07-22  Richard Henderson  <rth@redhat.com>
16310
16311         * config/alpha/alpha.c (get_trap_mode_suffix): New.
16312         (get_round_mode_suffix): New.
16313         (print_operand): Use them for [/].  Remove support for [&'`()+].
16314         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
16315         * config/alpha/alpha.md (attr round_suffix): New.
16316         (attr trap_suffix): New.
16317         (all insns): Set them appropriately.  Use %/ instead of the
16318         myriad punctuators.
16319
16320 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16321
16322         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
16323
16324 2001-07-22  Richard Henderson  <rth@redhat.com>
16325
16326         * regrename.c (regrename_optimize): Compute nregs for each
16327         potential target register.
16328
16329 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
16330            Richard Henderson  <rth@redhat.com>
16331
16332         * dbxout.c (dbxout_global_decl): New.
16333         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16334         * sdbout.c (sdbout_finish): New.
16335         (sdbout_debug_hooks): Use it, add comments.
16336         (sdbout_global_decl): Defer initialised public vars to
16337         sdbout_finish.
16338         * varasm.c (assemble_variable): Don't output debug information
16339         for file-scope variables.
16340
16341 2001-07-21  H.J. Lu  (hjl@gnu.org)
16342
16343         * config/mips/mips.c (mips_cpu): Moved into ...
16344         (override_options): Here.
16345
16346         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
16347         mips_tune.
16348         (mips_cpu): Removed.
16349
16350 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16351
16352         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
16353         ("iorqi3"): Likewise.
16354         ("xorqi3"): Likewise.
16355         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
16356         ("*subhi3_sp): Likewise.
16357         ("*subhi3"): Likewise.
16358         ("extendhisi2"): Accept D, X and Y as source operand to avoid
16359         reload problems.
16360
16361 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
16362
16363         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
16364         * config/freebsd.h: Likewise.
16365         * config/linux.h: Likewise.
16366         * config/openbsd.h: Likewise.
16367         * config/alpha/linux-elf.h: Likewise.
16368         * config/arm/linux-elf.h: Likewise.
16369         * config/d30v/d30v.h: Likewise.
16370         * config/fr30/fr30.h: Likewise.
16371         * config/ia64/aix.h: Likewise.
16372         * config/ia64/ia64.h: Likewise.
16373         * config/mips/linux.h: Likewise.
16374         * config/pj/pj.h: Likewise.
16375         * config/rs6000/linux.h: Likewise.
16376         * config/sparc/linux.h: Likewise.
16377         * config/sparc/linux64.h: Likewise.
16378
16379 2001-07-20  Bruce Korb  <bkorb@gnu.org>
16380
16381         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
16382         because getc() and char* may disagree on signedness.
16383
16384 2001-07-20  Richard Henderson  <rth@redhat.com>
16385
16386         * doc/rtl.texi (REG_DEAD): Update for current semantics.
16387
16388         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
16389         insns to delete in the presence of cc0 in a jump insn.
16390
16391 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16392                                 Jan Hubicka  <jh@suse.cz>
16393
16394         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
16395         of doing the change by hand.
16396
16397 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16398
16399         * rtlanal.c (set_noop_p): Return true for noop jumps.
16400
16401         * expr.c (emit_single_push_insn): Add call to push expander.
16402         * expr.h (optab_index): Add OTI_push
16403         (push_optab): New constant.
16404         * genopinit.c (optabs): Add push_optab.
16405         * optabs.c (init_optab): Init push optab.
16406         * md.texi (push??1): Document
16407
16408 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16409
16410         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
16411         expand to emit the pattern; put a REG_INC note for push/pop
16412         instructions.
16413         ("movdf", "movdf_internal"): Likewise.
16414         ("movsi", "movsi_internal"): Likewise.
16415         ("movsf", "movsf_internal"): Likewise.
16416         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
16417
16418 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16419
16420         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
16421         gen_highpart.
16422
16423 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
16424
16425         * params.def: Change default max inline insns to 100.
16426
16427 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
16428
16429         * combine.c (combine_simplify_rtx): Generate a new shift operation
16430         when simplifying the first operand of a (neg (ashift)) expression.
16431
16432 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16433
16434         * regclass.c (N_REG_INTS): Use only 32 bits per element.
16435
16436 2001-07-20  Kelley Cook  <kelley.cook@home.com>
16437
16438         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
16439         information.   Move rest into ...
16440         (*-*-solaris): ... here.  Eliminate redundant information and
16441         reword necessary packages section.  Delete 4.x assembler bug info.
16442         (sparc-sun-*): Merge into ...
16443         (sparc-sun-sunos*): here.
16444
16445 2001-07-20  Catherine Moore  <clm@redhat.com>
16446
16447         * config/v850/v850.md (casesi): Generate LABEL_REF
16448         with Pmode.
16449
16450 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
16451
16452         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
16453         * i386.c (ix86_zero_extend_to_Pmode): Make global.
16454         * i386.md (strclrsi expander): Use it.
16455
16456 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16457
16458         * integrate.c (copy_insn_list): handle
16459         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
16460         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
16461         identically as to CODE_LABEL.
16462
16463         * fold-const (fold): Convert A/B/C to A/(B*C) and
16464         A/(B/C) to (A/B)*C
16465
16466         * except.c (connect_post_landing_pads): Delete the RESX insns.
16467
16468 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
16469
16470         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
16471
16472         * config/mips/mips.md (nmadd/nmsub): Use macro.
16473
16474 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
16475
16476         * cppinit.c (remove_dup_dir): Make static.
16477         (remove_dup_dirs): Make static. Only warn about preempting a
16478         system directory with a non-system directory.
16479
16480 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16481
16482         * ifcvt.c (noce_try_store_flag_constants): Correct order
16483         of parameters to trunc_int_for_mode.
16484
16485 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
16486
16487         * reorg.c (fill_simple_delay_slots): If an instruction might throw
16488         an exception that will be caught within this function, do not fill
16489         its delay slot with any subsequent instruction.
16490
16491 2001-07-19  Steve Ellcey <sje@cup.hp.com>
16492
16493         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
16494         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
16495         pointer extension instruction.
16496         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
16497         * simplify-rtx.c (simplify_unary_operation) Likewise.
16498         * explow.c (convert_memory_address) Check value of
16499         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
16500         less than zero.
16501         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
16502         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
16503         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
16504         Add Multilib Support.
16505         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
16506         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
16507         Add Multilib Support.
16508         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
16509         support.
16510         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
16511         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
16512         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
16513
16514 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
16515
16516         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
16517         old and new operands in `<', `3' and `b'.
16518
16519 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16520
16521         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
16522         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
16523         (toplev.o): Don't depend on xcoffout.h.
16524         * c-decl.c: Include debug.h
16525         (duplicate_decls): Use debug hook.
16526         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
16527         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16528         (dbxout_types): Remove.
16529         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
16530         * debug.c (do_nothing_debug_hooks): Update.
16531         (debug_true_tree, debug_nothing_rtx): New.
16532         * debug.h (struct rtx_def): New.
16533         (struct gcc_debug_hooks): New hooks ignore_block,
16534         outlining_inline_function and label.
16535         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
16536         dwarf2out_frame_finish): New.
16537         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
16538         Make static, update prototype.
16539         (dwarf2_debug_hooks): Update.
16540         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
16541         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
16542         * dwarfout.c (dwarf_debug_hooks): Update.
16543         * emit-rtl.c: Include debug.h.
16544         (remove_unnecessary_notes): Use debug hook.
16545         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
16546         (final_scan_insn): Use debug hook.
16547         * integrate.c (output_inline_function): Use debug hook.
16548         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
16549         (sdb_debug_hooks): Update.
16550         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
16551         * toplev.c: Don't include xcoffout.h.
16552         (note_outlining_of_inline_function, debug_ignore_block): Remove.
16553         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
16554         Remove.
16555         * tree.h (dwarf2out_do_frame): Remove.
16556
16557 2001-07-19  Catherine Moore  <clm@cygnus.com>
16558
16559         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
16560
16561 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16562
16563         * reload1.c (eliminate_regs_in_insn): When updating a set
16564         to the frame pointer to the hardware frame pointer, perform
16565         the update always not just when REPLACE is set.
16566
16567         * reload1.c (choose_reload_regs): Don't inherit a reload
16568         that crosses multiple registers if registers past the first
16569         don't fit in the desired class.
16570
16571         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
16572         when negating constants.
16573
16574 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
16575
16576         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
16577         * doc/tree.texi: Ditto.
16578
16579 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
16580             Jakub Jelinek  <jakub@redhat.com>
16581
16582         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
16583         (extract_cie_info): Handle "eh" augmentation properly,
16584         remember eh_ptr.
16585         (struct frame_state, __frame_state_for): New.
16586
16587 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16588
16589         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
16590         HANDLE_SYSV_PRAGMA): Define.
16591         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
16592         previous args.
16593         (copy_object): Caller changed.
16594
16595 2001-07-19  Andreas Schwab  <schwab@suse.de>
16596
16597         * configure.in (assembler dwarf2 debug_line support): Define nop
16598         insn for m68k.
16599         * configure: Regenerated.
16600
16601 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16602
16603         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
16604         dwarfout.h.
16605         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
16606         to conditionally compiled block.
16607         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16608         * dbxout.h (dbxout_function): Remove.
16609         * debug.c (do_nothing_debug_hooks): Update.
16610         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
16611         global_decl, deferred_inline_function.
16612         * dwarf2out.c (dwarf2_debug_hooks): Update.
16613         (dwarf2out_global_decl): New.
16614         * dwarfout.c: Don't include dwarfout.h.
16615         (dwarfout_global_decl, dwarfout_function_decl,
16616         dwarfout_deferred_inline_function): New.
16617         (dwarf_debug_hooks): Update.
16618         * dwarfout.h: Remove.
16619         * final.c: Don't include dwarfout.h.
16620         * sdbout.c (sdbout_global_decl): New.
16621         (sdbout_debug_hooks): Update.
16622         * toplev.c: Don't include dwarfout.h.
16623         (check_global_declarations, rest_of_compilation): Use new debug hooks.
16624         (note_deferral_of_defined_inline_function): Remove.
16625         * toplev.h (note_deferral_of_defined_inline_function): Remove.
16626         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
16627         * ch/lex.c: Don't include dwarfout.h.
16628         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
16629         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
16630         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
16631         * cp/optimize.c: Include debug.h.
16632         (maybe_clone_body): Use debug hook.
16633         * cp/semantics.c: Include debug.h.
16634         (expand_body): Use debug hook.
16635         * po/POTFILES.in: Remove dwarfout.h.
16636
16637 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16638
16639         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
16640         * c-parse.in (yyerror, _yylex): Similarly.
16641         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
16642         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
16643         Update comments.
16644         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
16645         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
16646
16647 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
16648
16649         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
16650         in-class declaration at -g1.  Fixes c++/2814.
16651
16652 2001-07-18  Richard Henderson  <rth@redhat.com>
16653
16654         * doc/md.texi (reload_in/out): Document restrictions in predicates
16655         and constraints for these patterns.  Document empty string matching
16656         ALL_REGS.
16657
16658 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16659
16660         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
16661
16662 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16663
16664         * cse.c: Undo my previous patch.
16665
16666 2001-07-18  Tom Tromey  <tromey@redhat.com>
16667
16668         For PR java/2812:
16669         * configure: Rebuilt.
16670         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
16671         instead.
16672         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
16673
16674 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
16675                                 Jan Hubicka  <jh@suse.cz>
16676
16677         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
16678         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
16679         * jump.c (mark_jump_label): Do not forward branches.
16680
16681 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
16682
16683         * cse.c (delete_trivially_dead_insns): Delete the libcall block
16684         when return value is unused.
16685
16686 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16687
16688         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
16689
16690 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
16691
16692         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
16693         on error.  We can't blindly return the result of
16694         pthread_mutex_trylock because it returns a positive number on
16695         error, while we must return -1 on error.
16696         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
16697         fixes.
16698         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
16699
16700 2001-07-18  Andreas Jaeger  <aj@suse.de>
16701
16702         * integrate.c (output_inline_function): Correct type of debug_hooks.
16703
16704 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16705
16706         * combine.c (combine_simplify_rtx): DIV can be treated
16707         associatively for floats if unsafe math optimisations are enabled.
16708
16709 2001-07-17  Richard Henderson  <rth@redhat.com>
16710
16711         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
16712
16713 2001-07-17  Richard Henderson  <rth@redhat.com>
16714
16715         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
16716         don't force the function address into a register.
16717         (expand_call, emit_library_call_value_1): Update callers.
16718         * builtins.c (expand_builtin_apply): Likewise.
16719         * expr.h (prepare_call_address): Update decl.
16720
16721 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
16722
16723         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
16724         config directory.
16725         * config/i386/chorus.h: Move up.
16726         * config/sparc/chorus.h: Likewise.
16727         * config/rs6000/chorus.h: Likewise.
16728         * config/chorus.h: Moved here.
16729
16730 2001-07-17  Andreas Schwab  <schwab@suse.de>
16731
16732         * configure.in  (assembler eh_frame optimization): Handle big
16733         endian.
16734         * configure: Regenerated.
16735
16736 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
16737
16738         * expr.c (epxand_expr): Convert divisions into multiplications by
16739         reciprocals if -ffast-math.
16740
16741 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
16742
16743         * dbxout.c (dbxout_really_begin_function): Rename to
16744         dbxout_begin_function.
16745         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16746         (dbxout_begin_function): Remove.
16747         (dbxout_function): Update.
16748         (dbxout_source_line): Update prototype.
16749         * dbxout.h (dbxout_begin_function): Remove.
16750         * debug.c (do_nothing_debug_hooks): Update.
16751         (debug_nothing_tree): Update.
16752         (debug_nothing_charstar_rtx): Remove.
16753         * debug.h (union tree_node): Declare.
16754         (struct rtx_def): Remove.
16755         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
16756         begin_function.  Change source_line prototype.
16757         (debug_nothing_tree): New.
16758         (debug_nothing_charstar_rtx): Delete.
16759         (dwarf2out_begin_prologue): Moved from ...
16760         * tree.h: ... here.
16761         * dwarf2out.c (dwarf2_debug_hooks): Update.
16762         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
16763         debug info, call dwarf2out_source_line.
16764         (dwarf2out_souce_line): Update prototype.
16765         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
16766         Change prototype, make static.
16767         (dwarfout_source_line): Update prototype.
16768         (dwarf_debug_hooks): Update.
16769         * dwarfout.h (dwarfout_begin_function): Remove.
16770         * final.c (final_start_function, final_scan_insn): Use appropriate
16771         debug hooks, update to use notice_source_line.
16772         (output_source_line): Rename notice_source_line.  Don't call the
16773         source_line debug hook.
16774         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
16775         make static, update prototype.
16776         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
16777         prototype.
16778         (sdbout_end_prologue): New.
16779         (sdbout_source_line): Update prototype.
16780         (sdbout_debug_hooks): Update.
16781         (sdbout_symbol): Remove unused var.
16782         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
16783         Delete.
16784         * varasm.c: Include debug.h.
16785         (assemble_start_function): Use begin_function debug_hook.
16786         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16787         update with prototype.
16788         (xcoffout_source_line): Update prototype.
16789         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16790         update prototype.
16791         (xcoffout_source_line): Update prototype.
16792
16793 2001-07-17  Richard Henderson  <rth@redhat.com>
16794
16795         * c-typeck.c (build_binary_op): Do not shorten unsigned
16796         right shift after sign extension.
16797
16798 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
16799
16800         * combine.c (combine_simplify_rtx): Attempt to simplify
16801         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
16802
16803         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
16804         (simplify_binary_operation, simplify_unary_operation,
16805          simplify_relational_operation): Use it.
16806
16807         * combine.c (combine_simplify_rtx): Don't do associative law
16808         on divisions; allow associative law on floats.
16809
16810 2001-07-17  H.J. Lu <hjl@gnu.org>
16811             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16812
16813         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
16814         ASM_OUTPUT_WEAK_ALIAS are defined.
16815         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
16816         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
16817         Moved ...
16818         * config/mips/iris5.h: ... here.
16819         (HANDLE_SYSV_PRAGMA): Defined as 1.
16820         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
16821         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
16822         symbol.
16823
16824 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
16825
16826         * c-parse.in (all_prefix_attributes): New variable.
16827         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
16828         (maybe_resetattrs): New production.
16829         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
16830         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
16831         notype_initdcl, nested_function, notype_nested_function,
16832         component_decl, components, components_notype,
16833         component_declarator, component_notype_declarator,
16834         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
16835         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
16836         after a comma being applied to more than one declarator.
16837         * doc/extend.texi (Attribute Syntax): Update.  Remove
16838         documentation of bugs that are no longer present.
16839
16840 2001-07-13  Eric Christopher  <echristo@redhat.com>
16841
16842         * config/mips/mips.h: Change TUNE_MIPS* options to use
16843         mips_tune.
16844         (EXTRA_SPECS): Add cc1_cpu_spec.
16845         * config/mips/mips.md (muldf3): Fix typo.
16846
16847 2001-07-16  Richard Henderson  <rth@redhat.com>
16848
16849         * config/m68k/m68k.c: Include expr.h and reload.h.
16850         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
16851         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
16852
16853 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16854             Richard Henderson  <rth@redhat.com>
16855
16856         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
16857         (insn_live_p): Fix fall off end of function.
16858         (dead_libcall_p): Remove COUNTS argument; update callers.
16859         (delete_trivially_dead_insns): Remove unused variables.
16860
16861 2001-07-17  Andreas Jaeger  <aj@suse.de>
16862
16863         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
16864         x86-64 pic support.
16865
16866         * lcm.c (optimize_mode_switching): Avoid warning for unused
16867         variable if !NORMAL_MODE.
16868
16869         * flow.c (try_crossjump_to_edge): Remove unused variable.
16870
16871 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16872
16873         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
16874         atexit declaration in stdlib.h.
16875
16876 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
16877
16878         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
16879
16880 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16881
16882         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
16883         * except.c (finish_eh_generation): Update call of cleanup_cfg;
16884         do rebuild_jump_labels instead of jump_optimize
16885         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
16886         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
16887         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
16888
16889         * flow.c: Include timevar.h
16890         (find_basic_block): Push/pop timevar;
16891         (cleanup_cfg): Likewise.
16892         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
16893         * Makefile: Add dependencies on timevar.h
16894
16895         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
16896         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
16897
16898         * rtl.h (delete_trivially_dead_insns): Add new parameter.
16899         * toplev.c (rest_of_compilation): Update calls.
16900         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
16901         (delete_trivially_dead_insns): ... here; accept new argument
16902         preserve_basic_blocks; preserve basic blocks if set.
16903
16904         * reg-stack.c (stack_regs_mentioned): Return 0 if
16905         stack_regs_mentioned_data is not initialized.
16906         (reg_to_stack): Make stack_regs_mentioned survive after the
16907         reg-stack is completted; do not call cleanup_cfg.
16908         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
16909         make cleanup_cfg after bb-reorder to output to debug file.
16910
16911 2001-07-16  Richard Henderson  <rth@redhat.com>
16912
16913         * regclass.c (init_reg_sets): Use only 32 bits per initializer
16914         from int_reg_class_contents.
16915
16916 2001-07-16  Richard Henderson  <rth@redhat.com>
16917
16918         * hard-reg-set.h (regs_invalidated_by_call): Declare.
16919         * regclass.c (regs_invalidated_by_call): Move from cse.c.
16920         (init_reg_sets_1): Move initialization from cse_main.
16921         * cse.c (regs_invalidated_by_call): Move to regclass.c.
16922         (cse_main): Move its initialization also.
16923         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
16924         * flow.c (propagate_one_insn): Likewise.
16925         * gcse.c (compute_hash_table): Likewise.
16926         (compute_kill_rd, compute_store_table): Likewise.
16927         * sched-deps.c (sched_analyze_1): Likewise.
16928
16929 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
16930
16931         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
16932         gen_rtx_SET.
16933
16934 2001-07-16  Steve Ellcey <sje@cup.hp.com>
16935
16936         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
16937         in if statement so we don't access undefined memory.
16938
16939 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16940
16941         * gcse.c: Update comment at top.
16942         Update comment on mem handling.
16943         mem_last_set, mem_first_set, mem_set_in_block: gone.
16944         Declaration of reg_set_info: gone.
16945         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
16946         pointless with load_killed_in_block_p (they are *more*
16947         conservative then it, not less, and less accurate).
16948         (oprs_not_set_p): Ditto.
16949         (alloc_gcse_mem): Don't allocate mem_set_in_block
16950         (free_gcse_mem): Don't free it, either.
16951         (record_last_mem_set_info): Update comment in front, remove
16952         mem_*set_* stuff. Note the reason we don't handle stores directly
16953         here.
16954         (compute_hash_table): Update comments to reflect reality. Remove
16955         mem_*set_* references.
16956         (reset_opr_set_tables): Remove mem_*set_* references.
16957         (mark_call): Ditto.
16958         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
16959         (mark_clobber): Ditto (on both parts, we double set here too).
16960         (expr_killed_p): Remove mem_set_in_block test.
16961         (compute_transp): Remove mem_set_in_block test.
16962
16963         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
16964         of edge, and removal of phi alternative to dump file.
16965         (ssa_ccp_substitute_constants): Add note about register now being
16966         constant, and which uses were replaced in what insns to dump file.
16967
16968 2001-07-16  Andreas Jaeger  <aj@suse.de>
16969
16970         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
16971         variables of type HOST_WIDEST_INT.
16972
16973         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
16974         (__bb_exit_func): Correct type of count_max to avoid overflow.
16975         (num_digits): Handle long long argument.
16976
16977         * combine.c (gen_lowpart_for_combine): Remove unused variable.
16978
16979 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16980
16981         * output.h (sdb_begin_function_line): Restore as an extern
16982         variable.
16983         * sdbout.c (sdb_begin_function_line): Make extern.
16984
16985 2001-07-15  Richard Henderson  <rth@redhat.com>
16986
16987         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
16988         * genrecog.c (maybe_both_true_mode): New.
16989         (maybe_both_true_2): Use it.
16990         (write_switch): Don't put Pmode in a switch.
16991         * rtl.c (mode arrays): Don't explicitly size them.
16992
16993 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16994
16995         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
16996         handling; move unconditional splitting before mode switching.
16997
16998         * i386.md (type): Add fistp type.
16999         (i387, length_attr, scheduling definitions): Handle this type.
17000         (fix_trunc?f?i2): Revamp to use mode switching.
17001         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17002         * i386.h (fp_cw_mode): New enum
17003         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17004         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17005
17006 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17007
17008         * Makefile.in (integrate.o): Add debug.h.
17009         * integrate.c (debug.h): Add.
17010         (output_inline_function): Save, reset, and restore debug_hooks.
17011
17012 2001-07-15  Richard Henderson  <rth@redhat.com>
17013
17014         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17015         instead of COMPARE for the EQUIV expression.
17016
17017 2001-07-15  Richard Henderson  <rth@redhat.com>
17018
17019         * flow.c (redirect_edge_and_branch_force): Initialize
17020         global_live_at_start and global_live_at_end.
17021         (allocate_bb_life_data): Export.
17022         * basic-block.h (allocate_bb_life_data): Declare.
17023         * toplev.c (rest_of_compilation): Call it.
17024
17025 2001-07-15  Richard Henderson  <rth@redhat.com>
17026
17027         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17028         (alpha_tablejump_best_label): New.
17029         * config/alpha/alpha-protos.h: Declare them.
17030         * config/alpha/alpha.md: Use braced strings for code blocks.
17031         (tablejump_osf): Break out add with r29.
17032         (tablejump_osf_internal): Remove.
17033         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17034         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17035
17036 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
17037
17038         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17039         of the movable.
17040
17041         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17042
17043         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17044         (ix86_fp_jump_nontrivial_p): New.
17045         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17046         use ix86_fp_jump_nontrivial_p.
17047         * i386.c (ix86_fp_jump_nontrivial_p): New.
17048         (ix86_split_fp_branch): Accept code instead of rtx.
17049         (ix86_expand_compare): Expand comparison early in case
17050         doing so is resonably cheap.
17051
17052 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17053
17054         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17055         not 'machine'.
17056         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17057         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17058
17059 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17060
17061         * dbxout.c (dbxout_source_line): Make static, update prototype.
17062         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17063         (dbxout_init, dbxout_finish, dbxout_source_line,
17064         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17065         * dbxout.h (dbxout_source_line): Delete.
17066         * debug.c (debug_nothing_file, debug_nothing_file_int,
17067         debug_nothing_file_charstar_rtx): New.
17068         (do_nothing_debug_hooks): Update.
17069         (debug_nothing_void, debug_nothing_charstar_rtx,
17070         dwarf2out_end_epilogue): New.
17071         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17072         * debug.h (struct rtx_def): Declare.
17073         (gcc_debug_hooks): New hooks source_line, end_epilogue
17074         and end_function.
17075         (debug_nothing_void, debug_nothing_charstar_rtx,
17076         dwarf2out_end_epilogue): New.
17077         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17078         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17079         (dwarf2_debug_hooks): Update.
17080         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17081         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17082         * dwarf2out.h (dwarf2out_source_line): Remove.
17083         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17084         Make static, update prototype.
17085         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17086         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17087         (dwarf_debug_hooks): Update.
17088         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17089         dwarfout_end_function): Remove.
17090         * final.c (profile_function): Use debug hooks for ending functions
17091         and epilogues.
17092         (output_source_line, final_end_function): Update prototype,
17093         use debug hooks.
17094         (final_start_function, final_scan_insn): Update.
17095         * output.h (sdb_begin_function_line): Remove.
17096         (final_end_function): Update prototype.
17097         * sdbout.c (sdb_begin_function_line): Make static.
17098         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17099         (sdbout_source_line): New.
17100         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17101         prototypes.
17102         (sdb_debug_hooks): Update.
17103         (sdbout_init, sdbout_source_line,
17104         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17105         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17106         * toplev.c (compile_file, rest_of_compilation): Update.
17107         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17108         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17109         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17110         Update for prototype changes.
17111         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17112         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17113
17114 2001-07-15  Richard Henderson  <rth@redhat.com>
17115
17116         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17117         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17118         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17119         * config/alpha/alpha.c: Likewise.
17120         * config/alpha/alpha.md: Likewise.
17121         * config/alpha/alpha32.h: Likewise.
17122         * config/alpha/vms.h: Likewise.
17123         (OPEN_VMS): Remove.
17124
17125 2001-07-14  Richard Henderson  <rth@redhat.com>
17126
17127         * config/alpha/alpha.md: Use define_constants for unspec values.
17128         Substitute throughout.
17129
17130 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17131
17132         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17133
17134 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17135
17136         * pa.md: Remove unused constraints from define_split's.
17137
17138 2001-04-14  Richard Henderson  <rth@redhat.com>
17139
17140         * ifcvt.c (find_cond_trap): Test for exit block.
17141
17142 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17143
17144         Re-install recently reverted patch.
17145         * emit-rtl.c (try_split): Update mark_jump_label call.
17146         * flow.c (find_sub_basic_blocks): Likewise.
17147         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17148         jump_back_p): Kill.
17149         (mark_all_labels): Kill second parameter.
17150         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17151         (rebuild_jump_labels, jump_optimize_minimal): Update call
17152         of jump_optimize_1.
17153         (jump_optimize_1): Kill crossjumping code.
17154         (mark_jump_label): Kill cross_jump parameter.
17155         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17156         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17157         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17158          splitting.
17159         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17160         DFI_bpro.
17161         (dump_file_info): Likewise.
17162         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17163         reorganize passes to do reg-stack first, bb-reorder second.
17164         * invoke.texi (-d letters doc): Remove the jump2 pass.
17165
17166 2001-07-14  Richard Henderson  <rth@redhat.com>
17167
17168         * ifcvt.c (find_cond_trap): New.
17169         (find_if_header): Call it.
17170         (merge_if_block): Relax existing jump sanity check.
17171         * jump.c (jump_optimize_1): Remove conditional trap handling.
17172
17173 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17174
17175         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17176         millicode.
17177         (insn_refs_are_delayed): Correct comment.
17178         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17179         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17180         instead of r31.  Make associated insn !TARGET_64BIT, and
17181         provide an additional 64-bit insn that clobbers r2.
17182         (divsi3): Likewise.
17183         (udivsi3): Likewise.
17184         (modsi3): Likewise.
17185         (umodsi3): Likewise.
17186
17187 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17188
17189         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17190
17191         * flow.c (redirect_edge_and_branch_force, split_edge,
17192         try_crossjump_to_edge): Use set_block_for_new_insns.
17193         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17194
17195 2001-07-13  H.J. Lu  (hjl@gnu.org)
17196
17197         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17198         the correct patch.
17199
17200 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17201
17202         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17203
17204 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17205
17206         * c-common.c (decl_attributes): Take a pointer to the node to
17207         which attributes are to be attached, and a flags argument.
17208         * c-common.h (enum attribute_flags): New.
17209         (decl_attributes): Update prototype.
17210         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17211         finish_enum, start_function): Update calls to decl_attributes.
17212         * c-parse.in (component_declarator, component_notype_declarator,
17213         label): Update calls to decl_attributes.
17214
17215 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17216
17217         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17218         * config/avr/avr.c (legitimate_address_p): Return value changed
17219         from letter to register classes. For better debugging.
17220
17221 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17222
17223         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17224
17225 2001-07-13  H.J. Lu  (hjl@gnu.org)
17226
17227         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17228
17229 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17230
17231         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17232         correctly for shared configurations.
17233         * config/t-libgcc-pic:  New.
17234         * config/{i386,m68k,sparc}/t-openbsd:  New.
17235         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17236         Support -shared.  Support debugging libraries with -g.
17237         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17238         frame information does not emit pointer diffs.
17239         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17240         emit pointer diffs.
17241
17242 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17243
17244         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17245
17246 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17247
17248         * combine.c (try_combine): Ensure const_int pow2 is positive.
17249
17250 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17251
17252         * config.gcc: Add configuration for s/390.
17253         * config/s390/s390.c: New. Subroutines for code generation.
17254         * config/s390/s390.h: New. Definitions for s/390.
17255         * config/s390/s390-protos.h: New. Prototypes.
17256         * config/s390/linux.h: New. Definitions for linux for s/390.
17257         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17258         * config/s390/t-linux: New. Makefile fragment.
17259         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17260         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17261
17262 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17263
17264         * emit-rtl.c (try_split): Update mark_jump_label call.
17265         * flow.c (find_sub_basic_blocks): Likewise.
17266         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17267         jump_back_p): Kill.
17268         (mark_all_labels): Kill second parameter.
17269         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17270         (rebuild_jump_labels, jump_optimize_minimal): Update call
17271         of jump_optimize_1.
17272         (jump_optimize_1): Kill crossjumping code.
17273         (mark_jump_label): Kill cross_jump parameter.
17274         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17275         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17276         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17277          splitting.
17278         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17279         DFI_bpro.
17280         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17281         reorganize passes to do reg-stack first, bb-reorder second.
17282         * invoke.texi (-d letters doc): Remove the jump2 pass.
17283
17284 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17285
17286         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
17287
17288 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17289
17290         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
17291         basic blocks.
17292         (verify_flow_info): Make diagnostics prettier.
17293
17294 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
17295
17296         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
17297
17298         * flow.c (outgoing_edges_match): Return early if condition reversal
17299         failed.
17300
17301 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
17302
17303         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
17304         (mips_move_2words): When splitting a move into two instructions,
17305         prefix the second address operand with '%D'.
17306
17307 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
17308
17309         * Makefile.in (final.o): Depend on debug.h.
17310         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
17311         (dbx_debug_hooks): Add new hooks.
17312         (xcoff_debug_hooks): New.
17313         * debug.c (debug_nothing_file_int_int): New.
17314         (do_nothing_debug_hooks): Update.
17315         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
17316         (debug_nothing_file_int_int): New.
17317         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
17318         static, update prototype.
17319         (dwarf2_debug_hooks): Update.
17320         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
17321         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
17322         static, update prototype.
17323         (dwarf_debug_hooks): Update.
17324         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
17325         * final.c: Include debug.h.
17326         (final_scan_insn): Use debug hooks when beginning and ending blocks.
17327         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
17328         static, update prototype.
17329         (sdb_debug_hooks): Update.
17330         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
17331         * toplev.c: Distinguish between xcoff and dbx.
17332
17333         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
17334         Call all debug hooks, not just dwarf ones.
17335
17336 2001-07-11  Timothy Wall  <twall@redhat.com>
17337
17338         * config.gcc: Add configuration for AIX5/IA64.
17339         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
17340         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
17341         support prefix/suffix code.
17342         * config/ia64/t-aix: New.  Makefile fragment.
17343         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
17344
17345 2001-07-11  Kazu Hirata  <kazu@hxi.com>
17346
17347         * recog.c (validate_change): Fix a comment typo.
17348
17349 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
17350
17351         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
17352         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
17353         hooks directly.
17354         * dbxout.c (dbx_debug_hooks): Add new hooks.
17355         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
17356         make static.
17357         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
17358         make static.
17359         * dbxout.h (dbxout_start_new_source_file,
17360         dbxout_resume_previous_source_file): Delete.
17361         * debug.c (do_nothing_debug_hooks): Add new hooks.
17362         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17363         (debug_nothing_int_charstar, debug_nothing_int): New.
17364         * debug.h (gcc_debug_hooks): New hooks define, undef,
17365         start_source_file and end_source_file.
17366         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17367         (debug_nothing_int_charstar, debug_nothing_int): New.
17368         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
17369         the conditionally compiled section.
17370         (dwarf2out_start_source_file, dwarf2out_end_source_file,
17371         dwarf2out_define, dwarf2out_undef): Make static.
17372         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
17373         dwarf2out_define, dwarf2out_undef): Remove.
17374         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
17375         (dwarfout_start_source_file, dwarfout_end_source_file,
17376         dwarfout_define, dwarfout_undef): Make static.
17377         (dwarfout_start_source_file_check,
17378         dwarfout_end_source_file_check): New.
17379         (dwarfout_define, dwarfout_finish): Update.
17380         * dwarfout.h (dwarfout_start_new_source_file,
17381         dwarfout_resume_previous_source_file, dwarfout_define,
17382         dwarfout_undef): Remove.
17383         * sdbout.c (sdb_debug_hooks): Add new hooks.
17384         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
17385         make static.
17386         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
17387         make static, take an arg.
17388         * sdbout.h (sdbout_start_new_source_file,
17389         sdbout_resume_previous_source_file): Delete.
17390         * toplev.c (debug_start_source_file, debug_end_source_file,
17391         debug_define, debug_undef): Delete.
17392         * toplev.h (debug_start_source_file, debug_end_source_file,
17393         debug_define, debug_undef): Delete.
17394
17395         * java/jcf-parse.c: Include debug.h.
17396         (parse_class_file): Update to use debug hooks directly.
17397         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
17398
17399 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17400
17401         * alias.c (set_mem_alias_set): New function.
17402         * rtl.h (set_mem_alias_set): Declare it.
17403         * builtins.c (expand_builtin_return_addr): Call it instead of
17404         using MEM_ALIAS_SET accessor.
17405         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
17406         (get_memory_rtx, expand_builtin_va_arg): Likewise.
17407         (expand_builtin_va_copy):Likewise.
17408         * caller-save.c (setup_save_areas): Likewise.
17409         * calls.c (compute_argument_addresses): Likewise.
17410         * explow.c (set_mem_attributes): Likewise.
17411         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
17412         (expand_assignment, store_constructor_field, store_field): Likewise.
17413         (expand_expr_unaligned): Likewise.
17414         * function.c (assign_stack_temp_for_type): Likewise.
17415         (put_reg_into_stack, gen_mem_addressof): Likewise.
17416         * ifcvt.c (noce_try_cmove_arith): Likewise.
17417         * reload1.c (reload, alter_reg): Likewise.
17418         * config/alpha/alpha.c (get_aligned_mem): Likewise.
17419         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
17420         (alpha_expand_unaligned_store): Likewise
17421         (alpha_expand_unaligned_load_words): Likewise.
17422         (alpha_expand_unaligned_store_words): Likewise.
17423         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
17424         (alpha_expand_epilogue): Likewise.
17425         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
17426         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
17427         * config/i386/i386.c (legitimize_pic_address): Likewise.
17428         * config/i960/i960.c (setup_incoming_varargs): Likewise.
17429         * config/ia64/ia64.c (spill_restore_mem): Likewise.
17430         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
17431         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
17432         * config/mips/mips.c (mips_va_arg): Likewise.
17433         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17434         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17435         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
17436         (setup_incoming_varargs, rs6000_va_arg): Likewise.
17437         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
17438         (rs6000_emit_epilogue): Likewise.
17439         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
17440         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17441         * config/v850/v850.c (v850_va_arg): Likewise.
17442
17443 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
17444
17445         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
17446         when fallthru edge is present.
17447         (mege_blocks): Handle case where creation of jump insn
17448         is required.
17449
17450         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
17451         CLEANUP_POST_REGSTACK): New constants.
17452         * except.c (finish_eh_generation): Update call of cleanup_cfg,
17453         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
17454         * output.h (cleanup_cfg): Update prototype.
17455         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
17456         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
17457         cleanup_cfg call; kill missleading comment.
17458         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
17459         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
17460         parameter; control optimizations performed using it.
17461         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
17462         try_crossjump_bb): New functions.
17463
17464 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17465
17466         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
17467         extern.
17468         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
17469         pa_output_function_prologue.
17470         * pa-protos.h (pa_output_function_prologue): New prototype.
17471
17472 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17473
17474         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
17475         and low to get correct sign extension in low+high test.
17476
17477 2001-07-11  Janis Johnson <janis@us.ibm.com>
17478
17479         * gcov.c (arcdata): Use gcov_type to fix branch percentage
17480         for large hit count.
17481
17482         * profile.c (branch_prob): Fix .bbg info for computed gotos
17483         and C++ EH code.
17484
17485 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
17486
17487         * stmt.c (parse_output_constraint): New function, split out
17488         from ...
17489         (expand_asm_operands): ... here.  Use parse_output_constraint.
17490         * tree.h (parse_output_constraint): Declare it.
17491
17492 2001-07-11  Richard Henderson  <rth@redhat.com>
17493
17494         * bitmap.c: Comment some functions; fiddle whitespace.
17495         (bitmap_free): Don't export.
17496         (bitmap_element_allocate): Use memset.
17497         * bitmap.h (bitmap_free): Don't declare.
17498
17499 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
17500
17501         * gcse.c, lcm.c, sched-deps.c:
17502         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
17503
17504         * flow.c (flow_loops_find): Free dom if we found no loops, since
17505         we aren't going to save it.
17506
17507         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
17508         done.
17509
17510 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
17511
17512         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
17513
17514 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17515
17516         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
17517         #ifndef DWARF2_DEBUGGING_INFO.
17518
17519 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17520
17521         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
17522
17523 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17524
17525         * config/mips/mips.c (gen_int_relational): Tell the caller not to
17526         reverse a branch if a NE comparison is implemented with GTU.
17527
17528 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17529             H.J. Lu  <hjl@gnu.org>
17530
17531         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
17532         constant addresses.
17533         (call_internal2): Likewise.
17534         (call_value_internal1): Likewise.
17535         (call_value_internal2): Likewise.
17536         (call_value_multiple_internal1): Likewise.
17537         (call_value_multiple_internal2): Likewise.
17538
17539 2001-07-10  Kazu Hirata  <kazu@hxi.com>
17540
17541         * calls.c (emit_library_call_value_1): Fix a comment typo.
17542         * dwarf2out.c (mem_loc_descriptor): Likewise.
17543         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
17544
17545 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
17546
17547         * simplify-rtx.c (simplify_subreg): Fix typo in comment
17548
17549 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17550
17551         * recog.c (offsettable_address_p): Handle LO_SUM case.
17552         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
17553         instead of plus_constant.
17554
17555 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17556
17557         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
17558         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
17559
17560 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17561
17562         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
17563         adjust_address_nv instead of plus_constant.
17564
17565 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
17566
17567         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
17568         dwarf2out.o): Depend on debug.h, wrap long lines.
17569         * dbxout.c: Include debug.h.
17570         (dbx_debug_hooks): New.
17571         (dbxout_init): Make static, take just 2 args.
17572         (dbxout_finish): Make static.
17573         * dbxout.h (dbxout_init, dbxout_finish): Delete.
17574         * debug.c: New file.
17575         * debug.h: New file.
17576         * dwarf2out.c: Include debug.h.
17577         (dwarf2_debug_hooks): New.
17578         (dwarf2out_init): Make static.
17579         (dwarf2out_finish): Make static, take 2 args.
17580         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
17581         * dwarfout.c: Include debug.h.
17582         (dwarf_debug_hooks): New.
17583         (dwarfout_init): Make static.
17584         (dwarfout_finish): Make static, take 2 args.
17585         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
17586         * sdbout.c: Include debug.h.
17587         (sdb_debug_hooks): New.
17588         (sdbout_init): Make static, take 2 args.
17589         * sdbout.h (sdbout_init): Delete.
17590         * toplev.c: Include debug.h.
17591         (debug_hooks): New.
17592         (compile_file): Set deubg_hooks based on command line options.
17593         Use the hooks unconditionally rather than conditional compilation.
17594
17595 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
17596
17597         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
17598         first_insn_after_basic_block_note instead.
17599
17600         * df.c (df_bb_refs_unlink): #if 0 out for now.
17601
17602 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
17603
17604         * ssa.h: Add prototype for ssa_const_prop
17605         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
17606         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
17607         (ssa_fast_dce): Remove unused variable
17608
17609 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17610
17611         * diagnostic.c (finish_diagnostic): Rename to
17612         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
17613         calls thourghout.
17614
17615 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
17616
17617         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
17618         .loc support.
17619
17620         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
17621         (dump_file): Only pad the demangled name with spaces if the
17622         mangled name was padded with spaces.
17623
17624 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
17625
17626         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
17627         edge detection.
17628
17629 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17630
17631         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
17632         extraction if no direct load if either EXPAND_CONST_ADDRESS or
17633         EXPAND_INITIALIZER.
17634
17635         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
17636         whether can put offset inside LO_SUM to check mode alignment, not size.
17637
17638 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17639
17640         * doc/tm.texi (Misc): Fix thinko.
17641
17642 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
17643
17644         * regmove.c (replace_in_call_usage): Fix warnings.
17645         * sched-deps.c (add_dependence): Fix warnings.
17646         * simplify-rtx.c (simplify_subreg): Likewise.
17647         Return NULL_RTX instead of NULL.
17648
17649         * reg-stack.c (emit_swap_insn): Eliminate warnings.
17650         (subst_asm_stack_regs): Likewise.
17651
17652         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
17653         warnings.
17654
17655         * dwarf2out.c (output_call_frame_info): Declare i as int.
17656         (build_abbrev_table): Declare n_alloc as int.
17657         (dwarf2out_finish): Initialize die.
17658         * except.c: Declare sjlj_funcdef_number as unsigned.
17659         (connect_post_landing_pads): Declare j as unsigned.
17660         (convert_to_eh_region_ranges): Initialize call_site.
17661         (output_function_exception_table): Initialize tt_format_size.
17662         * expr.c (move_by_pieces_1): Initialize to1.
17663         (store_constructor): Initialize minelt and maxelt.
17664         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
17665         * function.c (instantiate_decls): Avoid signed/unsigned warning.
17666
17667         * c-decl.c (combine_parm_decls): Unused, remove.
17668         * c-tree.h: Remove prototype for combine_parm_decls.
17669
17670         * reload.c (push_reload): Fix warning.
17671         (regno_clobbered_p): Likewise.
17672         * reload1.c (replace_pseudos_in_call_usage): Likewise.
17673         (reload_combine): Likewise.
17674
17675         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
17676         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
17677         warnings.
17678         * bitmap.c (bitmap_operation): Change user.
17679         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
17680
17681 2001-07-10  Eric Christopher  <echristo@redhat.com>
17682
17683         * config/mips/mips.c (override_options): Fix typo.
17684
17685 2001-07-09  Stan Shebs  <shebs@apple.com>
17686
17687         * target.h (struct gcc_target): New fields init_builtins and
17688         expand_builtin.
17689         * target-def.h (TARGET_INIT_BUILTINS): New macro.
17690         (TARGET_EXPAND_BUILTIN): New macro.
17691         (TARGET_INITIALIZER): Add them.
17692         * builtins.c: Include target.h.
17693         (expand_builtin): Use targetm.expand_builtin.
17694         (default_init_builtins): New function.
17695         (default_expand_builtin): New function.
17696         * expr.h (default_init_builtins): Declare.
17697         (default_expand_builtin): Declare.
17698         * c-common.c (c_common_nodes_and_builtins): Use
17699         targetm.init_builtins.
17700         * defaults.h (MD_INIT_BUILTINS): Remove.
17701         * Makefile.in (builtins.o): Depend on target.h.
17702
17703         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
17704         (TARGET_EXPAND_BUILTIN): Define.
17705         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
17706         (MD_EXPAND_BUILTIN): Remove.
17707
17708         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
17709         (TARGET_EXPAND_BUILTIN): Define.
17710         (c4x_init_builtins): Make endlink arg a local.
17711         (c4x_print_operand): Fix typos in adjust_address usages.
17712         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
17713         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
17714         (MD_EXPAND_BUILTIN): Remove.
17715
17716         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
17717         (TARGET_EXPAND_BUILTIN): Define.
17718         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
17719         (ix86_init_builtins): Call new function only if TARGET_MMX.
17720         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
17721         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
17722         (MD_EXPAND_BUILTIN): Remove.
17723
17724         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
17725         (TARGET_EXPAND_BUILTIN): Define.
17726         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
17727         (MD_EXPAND_BUILTIN): Remove.
17728
17729         * doc/tm.texi: Document these changes.
17730
17731 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
17732
17733         * basic-block.h (tree_node): Forward declare if needed.
17734         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
17735         (BLOCK_HEAD_TREE): Define.
17736         (BLOCK_END_TREE): Define.
17737         (struct loops): Rename field 'tree' to 'tree_root'.
17738         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
17739         'end_tree'.
17740         (flow_loops_tree_build): Rename reference to field 'tree' to
17741         'tree_root'.
17742         (flow_loops_level_compute): Ditto.
17743         * predict.c (estimate_bb_frequencies): Ditto.
17744         * tree.h (struct tree_common): Add field 'aux'.
17745
17746 2001-07-09  Stan Shebs  <shebs@apple.com>
17747
17748         * config/darwin.c (darwin_encode_section_info): Don't mark any
17749         DECL_EXTERNAL node as defined.
17750
17751 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17752
17753         * pa.c (pa_init_machine_status, pa_mark_machine_status,
17754         pa_free_machine_status, hppa_init_pic_save): Delete.
17755         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
17756         (hppa_profile_hook): Use hppa_pic_save_rtx.
17757         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
17758         hppa_init_pic_save): Delete.
17759         (hppa_pic_save_rtx): Declare.
17760         * pa.md (call, call_value, sibcall, sibcall_value,
17761         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
17762
17763 2001-07-09  Kazu Hirata  <kazu@hxi.com>
17764
17765         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
17766         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
17767
17768 2001-07-09  Andreas Jaeger  <aj@suse.de>
17769
17770         * output.h: Add declaration of final_forward_branch_p.
17771
17772         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
17773
17774         * varray.c: Include errors.h for internal_error and trim_filename
17775         declarations.
17776
17777         * Makefile.in (varray.o): Add errors.h.
17778
17779 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
17780
17781         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
17782         * optabs.c (have_add2_insn): Check whether the add insn chosen
17783         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
17784         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
17785
17786 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
17787
17788         * Makefile.in (OBJS): Add ssa-ccp.o
17789         (ssa-ccp.o): Add dependencies.
17790         * toplev.c (DFI_ssa_ccp): New dump file enum.
17791         (dump_file): Add entry for dumping after SSA CCP.
17792         (flag_ssa_ccp): New flag variable.
17793         (f_options): Add -fssa-ccp.
17794         (rest_of_compilation): Run SSA CCP if requested.
17795         * timevar.def (TV_SSA_CCP): New timevar.
17796         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
17797         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
17798         Fix minor typo in SSA DCE documentation.
17799         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
17800         Add documentation for new dump option.  Renumber dump files
17801         appropriately.
17802
17803 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17804
17805         * emit-rtl.c (gen_highpart_mode): New.
17806         * rtl.h (gen_highpart_mode): Declare.
17807         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
17808         operand can be VOIDmode constant.
17809
17810 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
17811
17812         * flow.c (redirect_edge_and_branch_force): New.
17813         (can_fallthru): Ensure that basic blocks are succeeding.
17814         (try_optimize_cfg): Do not delete basic block if it is the last one.
17815
17816         * flow.c (try_redirect_by_replacing_jump): Do not remove
17817         jumps with side effects, unlink chain on fallthru edge;
17818         set block for new jump instruction; avoid basic block to
17819         over by line number note.
17820
17821         * flow.c (try_simplify_condjump): Verify that the condjump
17822         is not always falling through.
17823
17824         Re-install patch:
17825         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17826
17827         * flow.c (forwarder_block_p): Fix for fallthru blocks.
17828         (try_redirect_by_replacing_jump): Update properly the count
17829         and frequency information.
17830
17831 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17832
17833         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
17834         address that is a LO_SUM specially.
17835         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
17836
17837         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
17838
17839         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
17840         (operand_subword): Use them.
17841         (change_address_1): Renamed from change_address; new arg VALIDATE.
17842         * expr.h: Reflect above changes; change_address now macro.
17843         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
17844         making MEM.
17845         * cselib.c (add_mem_for_addr): Likewise.
17846         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
17847         * regmove.c (try_apply_stack_adjustment): Likewise.
17848         * reload.c (push_reload, make_memloc): Likewise.
17849         * reload1.c (eliminate_regs): Likewise.
17850         * simplify-rtx.c (simplify_replace_rtx): Likewise.
17851         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
17852         adjust_addess.
17853         * combine.c (make_extraction, simplify_shift_const): Likewise.
17854         (gen_lowpart_for_combine): Likewise.
17855         * cse.c (gen_lowpart_if_possible): Likewise.
17856         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
17857         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
17858         * optabs.c (gen_move_insn): Likewise.
17859         * reload1.c (alter_reg): Likewise.
17860         * simplify-rtx.c (simplify_subreg): Likewise.
17861         * stmt.c (expand_anon_union_decl): Likewise.
17862         * recog.c (validate_replace_rtx_1): Likewise.
17863         (expr.h): Include.
17864         * Makefile.in (recog.o): Add $(EXPR_H).
17865         * explow.c (stabilize): Call replace_equiv_address.
17866         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
17867         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
17868
17869 2001-07-03  Andrew Haley  <aph@redhat.com>
17870
17871         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
17872         the mode of the memory location.
17873
17874 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
17875
17876         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
17877
17878 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
17879
17880         * final.c (output_addr_const): Use target opening and
17881         closing parentheses.
17882         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
17883         defaults, add to TARGET_ASM_OUT.
17884         * target.h (struct gcc_target): Add open_paren and close_paren.
17885         * doc/md.texi: Update.
17886         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
17887         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
17888         TARGET_ASM_CLOSE_PAREN.
17889         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17890         Override.
17891         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17892         Override.
17893         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
17894         * config/a29k/a29k.h: Similarly.
17895         * config/alpha/alpha.h: Similarly.
17896         * config/arc/arc.h: Similarly.
17897         * config/arm/aof.h: Similarly.
17898         * config/arm/aout.h: Similarly.
17899         * config/avr/avr.h: Similarly.
17900         * config/c4x/c4x.h: Similarly.
17901         * config/clipper/clipper.h: Similarly.
17902         * config/convex/convex.h: Similarly.
17903         * config/d30v/d30v.h: Similarly.
17904         * config/dsp16xx/dsp16xx.h: Similarly.
17905         * config/elxsi/elxsi.h: Similarly.
17906         * config/fr30/fr30.h: Similarly.
17907         * config/h8300/h8300.h: Similarly.
17908         * config/i370/i370.h: Similarly.
17909         * config/i386/i386.h: Similarly.
17910         * config/i860/i860.h: Similarly.
17911         * config/i960/i960.h: Similarly.
17912         * config/ia64/ia64.h: Similarly.
17913         * config/m32r/m32r.h: Similarly.
17914         * config/m68hc11/m68hc11.h: Similarly.
17915         * config/m68k/m68k.h: Similarly.
17916         * config/m88k/m88k.h: Similarly.
17917         * config/mcore/mcore.h: Similarly.
17918         * config/mips/mips.h: Similarly.
17919         * config/mn10200/mn10200.h: Similarly.
17920         * config/mn10300/mn10300.h: Similarly.
17921         * config/ns32k/ns32k.h: Similarly.
17922         * config/pa/pa.h: Similarly.
17923         * config/pdp11/pdp11.h: Similarly.
17924         * config/pj/pj.h: Similarly.
17925         * config/romp/romp.h: Similarly.
17926         * config/rs6000/rs6000.h: Similarly.
17927         * config/sh/sh.h: Similarly.
17928         * config/sparc/sparc.h: Similarly.
17929         * config/v850/v850.h: Similarly.
17930         * config/vax/vax.h: Similarly.
17931         * config/we32k/we32k.h: Similarly.
17932
17933 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
17934
17935         * doc/c-tree.texi: Document representation of attributes.
17936
17937 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17938
17939         * doc/tm.texi: Update some places for the rename of target to
17940         targetm.  Fix typo.
17941
17942 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17943
17944         * target.h (struct gcc_target): Add insert_attributes.
17945         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
17946         (TARGET_INITIALIZER): Update.
17947         * tree.c, tree.h (default_insert_attributes): New function.
17948         Update comments on other default functions to refer to targetm,
17949         not target.
17950         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
17951         TARGET_INSERT_ATTRIBUTES.
17952         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
17953         * c-common.c (decl_attributes): Use targetm.insert_attributes.
17954         Don't use PRAGMA_INSERT_ATTRIBUTES.
17955         * Makefile.in (c-common.o): Depend on $(TARGET_H).
17956         * c-decl.c (start_decl, start_function): Don't call
17957         SET_DEFAULT_DECL_ATTRIBUTES.
17958         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17959         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
17960         declare.
17961         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
17962         (c4x_check_attribute): Avoid modifying attribute list itself.
17963         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
17964         Make static.
17965         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
17966         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
17967         declare.
17968         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
17969         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
17970         Make static.
17971         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17972         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
17973         declare.
17974         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
17975         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
17976         Adjust parameters.  Make static.
17977
17978 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17979
17980         * c-common.c (decl_attributes): Only take a single attributes
17981         parameter.
17982         * c-common.h (decl_attributes): Update prototype.
17983         * c-decl.c (start_decl, start_function): Only take a single
17984         attributes parameter.  Update calls to decl_attributes.
17985         (finish_struct, finish_enum): Update calls to decl_attributes.
17986         (push_parm_decl): Expect unified list of attributes.  Update call
17987         to decl_attributes.
17988         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
17989         notype_nested_function, component_declarator,
17990         component_notype_declarator, label): Update calls to
17991         decl_attributes.
17992         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
17993         lists that are passed to push_parm_decl.
17994         * c-tree.h (start_function, start_decl): Update prototypes.
17995         * config/sh/sh-protos.h, config/sh/sh.c
17996         (sh_pragma_insert_attributes): Only take a single attributes
17997         parameter.
17998         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
17999         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18000         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18001         build_module_descriptor, generate_static_references,
18002         generate_strings, build_selector_translation_table,
18003         generate_descriptor_table, generate_protocols,
18004         generate_ivars_list, generate_dispatch_table,
18005         generate_protocol_list, generate_category,
18006         generate_shared_structures, really_start_method, add_objc_decls,
18007         generate_classref_translation_entry): Update calls to start_decl
18008         and start_function.
18009         (build_tmp_function_decl, start_method_def): Unify attribute lists
18010         that are passed to push_parm_decl.
18011
18012 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
18013
18014         * final.c (no_asm_to_stream): New.
18015         (final_scan_insn): Use target structures for prologue ends
18016         and epilogue starts.
18017         * output.h (no_asm_to_stream): New.
18018         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18019         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18020         (TARGET_ASM_OUT): Update.
18021         * target.h (struct gcc_target): New members function_end_prologue
18022         and function_begin_epilogue.
18023         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18024         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18025         * config/alpha/alpha.c (output_end_prologue): Rename to
18026         alpha_output_function_end_prologue.  Use in target struct
18027         and make static.
18028         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18029         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18030         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
18031         ia64_output_function_end_prologue.  Use in target struct
18032         and make static.
18033         (ia64_function_prologue, ia64_funciton_epilogue): Rename
18034         mistyped prototypes.
18035         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18036         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18037         Delete.
18038         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18039         an use in target struct, make static.
18040         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18041         Delete.
18042
18043 2001-07-08  Richard Henderson  <rth@redhat.com>
18044
18045         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18046
18047 2001-07-08  Richard Henderson  <rth@redhat.com>
18048
18049         * config/i386/i386.md: Remove constraints strings from define_split
18050         and define_peephole2 patterns.
18051         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18052         (eh_return): Use them.
18053
18054 2001-07-08  Richard Henderson  <rth@redhat.com>
18055
18056         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18057         Document MD_FALLBACK_FRAME_STATE_FOR.
18058
18059 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18060
18061         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18062         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18063         elimination.
18064         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18065
18066 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18067
18068         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18069         of the label inside NAME as opposed to just the end of NAME.
18070
18071 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18072
18073         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18074         * config/alpha/alpha.c (alpha_init_machine_status,
18075         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18076         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18077         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18078         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18079
18080 2001-07-06  Stan Shebs  <shebs@apple.com>
18081
18082         * target.h (targetm): Rename global from "target", so as not to
18083         conflict with local variables.
18084         * c-decl.c: Ditto.
18085         * c-typeck.c: Ditto.
18086         * final.c: Ditto.
18087         * tree.c: Ditto.
18088         * cp/decl.c: Ditto.
18089         * cp/decl2.c: Ditto.
18090         * cp/typeck.c: Ditto.
18091         * 1750a/1750a.c: Ditto.
18092         * a29k/a29k.c: Ditto.
18093         * arc/arc.c: Ditto.
18094         * arm/arm.c: Ditto.
18095         * avr/avr.c: Ditto.
18096         * clipper/clipper.c: Ditto.
18097         * convex/convex.c: Ditto.
18098         * d30v/d30v.c: Ditto.
18099         * dsp16xx/dsp16xx.c: Ditto.
18100         * elxsi/elxsi.c: Ditto.
18101         * fr30/fr30.c: Ditto.
18102         * h8300/h8300.c: Ditto.
18103         * i370/i370.c: Ditto.
18104         * i386/i386.c: Ditto.
18105         * i860/i860.c: Ditto.
18106         * i960/i960.c: Ditto.
18107         * ia64/ia64.c: Ditto.
18108         * m32r/m32r.c: Ditto.
18109         * m68hc11/m68hc11.c: Ditto.
18110         * m68k/m68k.c: Ditto.
18111         * m88k/m88k.c: Ditto.
18112         * mips/mips.c: Ditto.
18113         * ns32k/ns32k.c: Ditto.
18114         * pa/pa.c: Ditto.
18115         * pdp11/pdp11.c: Ditto.
18116         * romp/romp.c: Ditto.
18117         * rs6000/rs6000.c: Ditto.
18118         * sh/sh.c: Ditto.
18119         * sparc/sparc.c: Ditto.
18120         * vax/vax.c: Ditto.
18121         * we32k/we32k.c: Ditto.
18122         * doc/tm.texi: Update the manual to match.
18123
18124 2001-07-06  Richard Henderson  <rth@redhat.com>
18125
18126         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18127         DWARF2_UNWIND_INFO not just whether it is defined.
18128
18129 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18130
18131         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18132         call to simplify_binary_operation returns a new pattern.
18133
18134 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18135
18136         * glimits.h (__SHRT_MAX__): New.
18137         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18138         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18139
18140 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18141
18142         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18143         avoid warnings.
18144
18145 2001-07-06  Richard Henderson  <rth@redhat.com>
18146
18147         * bitmap.c (bitmap_release_memory): Move adjacent to the
18148         allocation functions.
18149         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18150         the implementation.  Binary search for the set bit.
18151         (bitmap_union_of_diff): Allocate the temporary on the stack
18152         instead of using xmalloc.
18153
18154 2001-07-06  Richard Henderson  <rth@redhat.com>
18155
18156         * genrecog.c (validate_pattern): Warn for constraints in
18157         define_{expand,split,peephole2}.  Remove strict_low_part
18158         before looking up match_dup.
18159
18160 2001-07-06  DJ Delorie  <dj@redhat.com>
18161
18162         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18163         chapter about various build hints and history.  Add section
18164         talking about the various types of native and cross builds.
18165
18166 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18167
18168         * Makefile.in (final.o): Depend on target.h.
18169         * final.c: Include target.h.
18170         (default_function_pro_epilogue): New.
18171         (final_start_function): Use target structure for function prologues.
18172         (final_end_function): Use target structure for function epilogues.
18173         * fold-const.c (real_hex_to_f): Constify s and p.
18174         * output.h (default_function_pro_epilogue): New.
18175         * real.h (real_hex_to_f): Update prototype.
18176         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18177         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18178         (TARGET_INITIALIZER): Update.
18179         * target.h (gcc_target): Add struct asm_out.
18180         * doc/tm.texi: Update.
18181
18182 config:
18183         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18184         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18185         in cpu/cpu.c, or rename old functions consistently.  Take
18186         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18187         redundant macros and prototypes.  Make new functions static.
18188
18189         * 1750a/1750a.c: Similarly.
18190         * 1750a/1750a.h: Similarly.
18191         * a29k/a29k-protos.h: Similarly.
18192         * a29k/a29k.c: Similarly.
18193         * a29k/a29k.h: Similarly.
18194         * arc/arc-protos.h: Similarly.
18195         * arc/arc.c: Similarly.
18196         * arc/arc.h: Similarly.
18197         * arm/arm-protos.h: Similarly.
18198         * arm/arm.c: Similarly.
18199         * arm/arm.h: Similarly.
18200         * avr/avr-protos.h: Similarly.
18201         * avr/avr.c: Similarly.
18202         * avr/avr.h: Similarly.
18203         * clipper/clipper-protos.h: Similarly.
18204         * clipper/clipper.c: Similarly.
18205         * clipper/clipper.h: Similarly.
18206         * convex/convex.c: Similarly.
18207         * convex/convex.h: Similarly.
18208         * d30v/d30v-protos.h: Similarly.
18209         * d30v/d30v.c: Similarly.
18210         * d30v/d30v.h: Similarly.
18211         * d30v/d30v.md: Similarly.
18212         * dsp16xx/dsp16xx-protos.h: Similarly.
18213         * dsp16xx/dsp16xx.c: Similarly.
18214         * dsp16xx/dsp16xx.h: Similarly.
18215         * elxsi/elxsi.c: Similarly.
18216         * elxsi/elxsi.h: Similarly.
18217         * fr30/fr30.c: Similarly.
18218         * fr30/fr30.md: Similarly.
18219         * h8300/h8300-protos.h: Similarly.
18220         * h8300/h8300.c: Similarly.
18221         * h8300/h8300.h: Similarly.
18222         * i370/i370-protos.h: Similarly.
18223         * i370/i370.c: Similarly.
18224         * i370/i370.h: Similarly.
18225         * i386/i386.c: Similarly.
18226         * i386/osf1elf.h: Similarly.
18227         * i386/osfrose.h: Similarly.
18228         * i860/i860-protos.h: Similarly.
18229         * i860/i860.c: Similarly.
18230         * i860/i860.h: Similarly.
18231         * i960/i960-protos.h: Similarly.
18232         * i960/i960.c: Similarly.
18233         * i960/i960.h: Similarly.
18234         * ia64/ia64-protos.h: Similarly.
18235         * ia64/ia64.c: Similarly.
18236         * ia64/ia64.h: Similarly.
18237         * m32r/m32r-protos.h: Similarly.
18238         * m32r/m32r.c: Similarly.
18239         * m32r/m32r.h: Similarly.
18240         * m68hc11/m68hc11-protos.h: Similarly.
18241         * m68hc11/m68hc11.c: Similarly.
18242         * m68hc11/m68hc11.h: Similarly.
18243         * m68k/crds.h: Similarly.
18244         * m68k/dpx2.h: Similarly.
18245         * m68k/m68k-protos.h: Similarly.
18246         * m68k/m68k.c: Similarly.
18247         * m68k/m68k.h: Similarly.
18248         * m68k/news.h: Similarly.
18249         * m88k/m88k-protos.h: Similarly.
18250         * m88k/m88k.c: Similarly.
18251         * m88k/m88k.h: Similarly.
18252         * mips/mips-protos.h: Similarly.
18253         * mips/mips.c: Similarly.
18254         * mips/mips.h: Similarly.
18255         * ns32k/merlin.h: Similarly.
18256         * ns32k/ns32k.c: Similarly.
18257         * ns32k/ns32k.h: Similarly.
18258         * ns32k/tek6000.h: Similarly.
18259         * pa/pa-protos.h: Similarly.
18260         * pa/pa.c: Similarly.
18261         * pa/pa.h: Similarly.
18262         * pdp11/2bsd.h: Similarly.
18263         * pdp11/pdp11-protos.h: Similarly.
18264         * pdp11/pdp11.c: Similarly.
18265         * pdp11/pdp11.h: Similarly.
18266         * romp/romp-protos.h: Similarly.
18267         * romp/romp.c: Similarly.
18268         * romp/romp.h: Similarly.
18269         * rs6000/rs6000-protos.h: Similarly.
18270         * rs6000/rs6000.c: Similarly.
18271         * rs6000/rs6000.h: Similarly.
18272         * rs6000/sysv4.h: Similarly.
18273         * sh/sh-protos.h: Similarly.
18274         * sh/sh.c: Similarly.
18275         * sh/sh.h: Similarly.
18276         * sparc/sparc-protos.h: Similarly.
18277         * sparc/sparc.c: Similarly.
18278         * sparc/sparc.h: Similarly.
18279         * vax/vax.c: Similarly.
18280         * vax/vax.h: Similarly.
18281         * vax/vms.h: Similarly.
18282         * we32k/we32k.c: Similarly.
18283         * we32k/we32k.h: Similarly.
18284
18285 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18286
18287         * basic-block.h (first_insn_after_basic_block_note): Declare.
18288         * flow.c (first_insn_after_basic_block_note): Define.  Moved
18289         from...
18290         * ssa.c (first_insn_after_basic_block_note): Remove.
18291         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
18292         necessary.
18293         (ssa_eliminate_dead_code): Properly update the CFG and PHI
18294         nodes when we find a dead conditional branch.  Insert BARRIERs
18295         after any blocks with no successors, but which do not have
18296         any BARRIERs.
18297
18298 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
18299
18300         * varray.c (varray_check_failed): Use internal_error.
18301
18302 2001-07-05  Andrew Haley  <aph@redhat.com>
18303
18304         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
18305         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
18306         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
18307
18308 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
18309
18310         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
18311         reference if the target constant is also a SYMBOL_REF.
18312
18313 2001-07-05  Eric Christopher  <echristo@redhat.com>
18314
18315         * config/mips/mips.h (MASK_MIPS3900): Remove.
18316         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
18317         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
18318         (TARGET_MIPS3900): Change to use mips_arch.
18319         (TARGET_MIPS4000): New.
18320         (TARGET_MIPS4100): New.
18321         (TARGET_MIPS4300): New.
18322         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
18323         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
18324         for -mipsX.
18325         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
18326         (ISA_HAS_BRANCHLIKELY): To here.
18327         (CC1_CPU_SPEC):  New.
18328         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
18329         (mips_arch_string): Declare.
18330         (mips_arch): Declare.
18331         (TARGET_OPTIONS): Add -march and -mtune.
18332
18333         * config/mips/mips.c (mips_arch_string): New.
18334         (mips_arch): New.
18335         (override_options): Handle -march for codegen and -mtune
18336         for scheduling. Use mips_arch. Move tx39 target default here.
18337         (mips_parse_cpu): Move error message to override_options.
18338
18339         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
18340
18341         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
18342
18343         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
18344         (MIPS Options): Ditto.  Change mcpu entry to historical text.
18345
18346 2001-07-05  H.J. Lu  (hjl@gnu.org)
18347
18348         * config/mips/mips.c (mips_parse_cpu): New function to parse
18349         -march=*/-mcpu=*.
18350
18351 2001-07-05  Jim Wilson  <wilson@redhat.com>
18352
18353         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
18354         * config/ia64/t-ia64: Likewise.
18355         (LIB1ASMFUNCS): Update comment.
18356
18357 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
18358
18359         * doc/install.texi (Install GCC: Binaries): Fix typo.
18360
18361 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18362
18363         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
18364         reference using the stack pointer, adjust it since we push Y
18365         temporarily.
18366         ("*ashrsi3"): Likewise.
18367         ("*lshrsi3"): Likewise.
18368
18369 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18370
18371         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
18372         when -fomit-frame-pointer is used.
18373
18374 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
18375
18376         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
18377         (try_redirect_by_replacing_jump): Reverse updating properly the
18378         count and frequency information.  Reverse removing cc0 setter.
18379         (forwarder_block_p): Reverse fixing for fallthru blocks.
18380
18381 2001-07-05  DJ Delorie  <dj@redhat.com>
18382
18383         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
18384         (translate_options): If the above is defined, use it to map
18385         given options to new options.
18386         * doc/tm.texi: Document it.
18387
18388 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
18389             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18390
18391         * doc/invoke.texi (Optimize Options): Document that -fgcse may
18392         cause programs using computed gotos to run more slowly.
18393
18394 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18395
18396         * doc/install.texi (Specific): Markup, spelling and typo fixes.
18397         Fixed sorting.
18398         Consistently require binutils 2.11.2, not prereleases.
18399         (Specific, decstation-*): Canonicalize as mips-dec-*.
18400         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
18401         always necessary.
18402         (Specific, m68k-altos): Removed reference to README.altos, deleted.
18403         (Specific, mips-*): Reword MIPS C compiler requirements.
18404         (Specific, powerpc*-*-*): New, mention --with-cpu once.
18405         (Specific, sunv5): Removed, obsolete.
18406
18407 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18408
18409         * dwarf2out.c (output_loc_list): Use an all ones mask for
18410         .text asm output and don't rely on long long
18411         literals. Reformat some long lines.
18412
18413 2001-07-05  Andreas Jaeger  <aj@suse.de>
18414
18415         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
18416         section.
18417
18418 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18419
18420         * dwarf2out.c (dwarf2out_define): Update comment.
18421         (dwarf2out_undef): Ditto.
18422         (dwarf2out_start_source_file): Ditto.
18423         (dwarf2out_end_source_file): Ditto.
18424         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
18425         since we never call the start/end debug hook for the primary file.
18426
18427 2001-07-04  Kazu Hirata  <kazu@hxi.com>
18428
18429         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
18430         from shll.
18431
18432 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18433
18434         * cppinit.c (remove_dup_dirs): Inform if a system include
18435         directory is being reordered.
18436         * doc/invoke.texi (Directory Options): GCC warns if you hide a
18437         system include.
18438         * doc/cpp.texi (Search Paths): Likewise.
18439         * doc/gcc.texi (Interoperation): Remove information about
18440         -I/usr/include.
18441
18442 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18443
18444         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
18445         (VARRAY_TOP_CHAR_PTR): Likewise.
18446
18447 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18448
18449         * gcc.c (process_command): Don't assign elements of a const char*.
18450
18451 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18452
18453         * emit-rtl.c (change_address): Don't abort if invalid address while
18454         reload is in progress.
18455
18456 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18457
18458         * c-lex.c (cb_file_change): Pass line number to
18459         debug_start_source_file.
18460         (cb_undefine): Pass correct line number to debug_undef.
18461
18462         * toplev.c (debug_start_source_file): Add line number to
18463         parameters. Pass it along to dwarf2out_start_source_file.
18464         (decode_g_option): Stop resetting debug level back to normal when
18465         we change debug formats, unless the current level is
18466         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
18467         3).
18468
18469         * toplev.h (debug_start_source_file): Add line number to
18470         parameters.
18471
18472         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
18473         parameters.
18474
18475         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
18476         parameters.
18477         Output debug_macinfo data for starting file if requested.
18478         (dwarf2out_end_source_file): Output debug_macinfo data for ending
18479         file if requested.
18480         (dwarf2out_define): Output debug_macinfo data for defining a macro
18481         if requested.
18482         (dwarf2out_undef): Output debug_macinfo data for undefining a
18483         macro if requested.
18484         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
18485         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
18486         (macinfo_section_label): New. DWARF2 macro info section label.
18487         (dwarf2out_init): If we want macro info, output the start label
18488         for the section.
18489         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
18490         attribute to the compilation unit die pointing to the macro info.
18491
18492 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18493
18494         * dwarf2out.c (new_loc_list): Move to inside #ifdef
18495         DWARF2_DEBUGGING_INFO.
18496         (add_loc_descr_to_loc_list): Ditto.
18497         (output_loc_list): Ditto.
18498         Also, fix thinko in curr not being initialized.
18499         (gen_internal_sym): Ditto.
18500
18501 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18502
18503         * emit-rtl.c (replace_equiv_address): New function.
18504         * expr.h (replace_equiv_address): New declaration.
18505         * explow.c (validize_mem): Call it instead of change_address and
18506         also call if -fforce-addr and address is constant.
18507         * expr.c: Replace more calls to change_address with adjust_address
18508         and/or replace_equiv_address or to validize_mem.
18509         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
18510         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
18511         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18512         * config/i370/i370.md, config/i860/i860.md: Likewise.
18513         * config/i960/i960.md, config/mips/mips.c: Likewise.
18514         * config/mips/mips.md, config/pa/pa.md: Likewise.
18515         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
18516         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
18517
18518 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18519
18520         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
18521
18522         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
18523         function.
18524
18525 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
18526
18527         * doc/include: New directory.
18528         * doc/fdl.texi: Move to doc/include/fdl.texi.
18529         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
18530         * doc/include/funding.texi, doc/include/gpl.texi: New files.
18531         * doc/gcc.texi: Use funding.texi and gpl.texi.
18532         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
18533         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
18534         Update dependencies and use -I $(docdir)/include.
18535
18536 2001-07-04  Anthony Green  <green@redhat.com>
18537
18538         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
18539
18540 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18541
18542         * doc/install.texi (sparc64-*-*): Remove garbage.
18543
18544 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
18545
18546         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
18547         Fix typo in last change to use adjust_address.
18548
18549 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18550
18551         * doc/install.texi (Specific): Update information for *-*-solaris*.
18552
18553 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18554
18555         * explow.c (plus_constant_wide): Reinitialize Y for restart.
18556
18557 2001-07-03  Stan Shebs  <shebs@apple.com>
18558
18559         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
18560         case for flag_no_mach_text_sections.
18561         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
18562         * config/darwin.c (flag_no_mach_text_sections): Remove.
18563         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
18564
18565 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18566
18567         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
18568         and avoid checking for constant as first operand.
18569         * recog.c (find_constant_term_loc): No longer static.
18570         (adj_offettable_operand): Delete.
18571         * rtl.h (adj_offsettable_operand): Delete declaration.
18572         (find_constant_term): Add declaration.
18573         * caller-save.c: Replace calls to adj_offsettable_operand with calls
18574         to adjust_address.
18575         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
18576         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
18577         * config/i386/i386.c, config/i386/i386.md: Likewise.
18578         * config/i860/i860.c, config/i960/i960.c: Likewise.
18579         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
18580         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
18581         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
18582         * config/mips/mips.c, config/mips/mips.md: Likewise.
18583         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
18584         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
18585         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
18586         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
18587         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
18588         * config/ns32k/ns32k.md: Likewise.
18589
18590 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
18591
18592         * rtl.c (copy_rtx): Handle 'T' format letter.
18593         * gensupport.c (collect_insn_data): Likewise.
18594         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
18595
18596 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
18597
18598         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
18599         -B option.  Use 'dir' not 'foo' as example directory name.
18600
18601 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18602
18603         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18604         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
18605
18606 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18607
18608         * doc/cppinternals.texi: Improve formatting and logical markup.
18609
18610 2001-07-03  Andreas Jaeger  <aj@suse.de>
18611
18612         * Makefile.in (insn-recog.o): Add dependency on reload.h.
18613
18614         * genrecog.c (write_header): Include reload.h for prototypes in
18615         insn-recog.c.
18616
18617 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
18618
18619 config:
18620         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
18621         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18622         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
18623         i386_pe_valid_type_attribute_p): Add.
18624         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
18625         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
18626
18627 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18628
18629         * explow.c (plus_constant_wide, case LO_SUM): New case.
18630         (plus_constant_for_output_wide): Delete.
18631         * rtl.h (plus_constant_for_output): Delete.
18632         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
18633         instead of plus_constant_for_output.
18634         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
18635         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
18636         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
18637         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
18638         * config/sparc/sparc.md: Likewise.
18639         Convert some change_address calls to adjust_address.
18640
18641 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18642
18643         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
18644         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
18645         documentation of -std and -Wwrite-strings.
18646
18647 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18648
18649         * cse.c (canon_hash): Don't register registers in very small
18650         register classes, as extending their lifetime might cause
18651         reload to fail.
18652
18653 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18654
18655         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18656
18657         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18658         (try_redirect_by_replacing_jump): Update properly the count
18659         and frequency information.
18660
18661 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
18662
18663         * toplev.c (dump_file_index): Move SSA dumps just after first
18664         jump dump.
18665         (dump_file): Corresponding changes.
18666         (rest_of_compilation): Move SSA path to just after the first
18667         jump pass.
18668         * doc/gcc.texi (Passes): Update due to movement of SSA path.
18669         * doc/invoke.texi: Update dump file #s as they were completely
18670         out of date with reality.
18671
18672 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18673
18674         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
18675
18676         * expr.c (emit_move_insn_1): Deal with non-default
18677         STACK_PUSH_CODE.
18678
18679         * expr.c (emit_single_push_insn): Fix warning.
18680
18681 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18682
18683         * expr.c (emit_move_insn_1): Avoid modifying
18684         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
18685
18686 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18687
18688         * emit-rtl.c (adjust_address): New function.
18689         * expr.h (adjust_address): Add declaration.
18690         * builtins.c: Replace some calls to change_address with calls to it
18691         or to validize_mem.
18692         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
18693         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
18694         * config/arm/arm.c, config/convex/convex.c: Likewise.
18695         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18696         * config/i386/i386.c, config/i386/i386.md: Likewise.
18697         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
18698         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
18699         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
18700         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
18701         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
18702
18703 2001-07-02  Jim Wilson  <wilson@redhat.com>
18704
18705         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
18706
18707 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
18708
18709         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
18710         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
18711
18712 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18713
18714         * cppinit.c (lang_defaults): New table.
18715         (set_lang): Just read from lang_defaults into the live options
18716         structure.
18717
18718 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18719
18720         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
18721         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
18722         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
18723
18724 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18725
18726         * doc/install.texi: Various spelling and markup fixes.
18727         (Installing GCC): Component specific installation instructions are
18728         gone.
18729         Fix reference.
18730         Warn about removing old install dir in the presence of shared libs.
18731         (Configuration): Invoke with options target to match configure
18732         --help.
18733         Consistently refer to gas, gld pathnames.
18734         Invert --enable-multilib documentation.
18735         Remove references to old compiler versions.
18736
18737 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18738
18739         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
18740
18741 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18742
18743         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
18744         section.
18745         (Specific, mips*-sgi-irix5): Note IDO download.
18746         Reworded MIPS C hints.
18747         Use GNU as instead of GAS.
18748         Markup fixes.
18749         Removed SGI Freeware reference, IRIX 6 only.
18750         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
18751         Note N64 library requirement/workaround.
18752         Update O32 hints.
18753         Complete list of structure passing bug victims.
18754
18755 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18756
18757         * doc/install.texi: Remove CVS Id.
18758
18759 2001-07-02  Andreas Jaeger  <aj@suse.de>
18760
18761         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
18762         (find_inherently_necessary): Remove unused variable.
18763
18764 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
18765
18766         * c-common.h (TDI_inlined): New ast dump phase.
18767         (dump_flag_name): New function.
18768         * c-dump.c (dump_files): Add inlined phase.
18769         (dump_flag_name): Define.
18770         * doc/invoke.texi (-fdump-ast-inlined): Document.
18771
18772 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18773
18774         * stor-layout.c (layout_decl): Revert change to handling of alignment
18775         in packed types.
18776
18777 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18778
18779         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
18780         for FIELD_DECL.
18781
18782 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
18783
18784         * doc/tm.texi (FUNCTION_ARG): Document that the last call
18785         is special.
18786
18787 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
18788
18789         * tlink.c (recompile_files): Remove COMPILER_PATH and
18790         LIBRARY_PATH from the environment.
18791
18792 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
18793
18794         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
18795         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
18796         enumerators.
18797         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
18798
18799         * c-parse.in (OBJC_STRING): Kill.
18800         (objc_string): Decompose to [objc_string] '@' STRING.
18801         (reswords): Take the leading '@' off all the Objective C keywords.
18802         (objc_rid_sans_at): Kill.
18803         (init_reswords): Don't initialize it.
18804         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
18805         (_yylex): Kill reconsider label.  Look ahead one token after
18806         an '@'; if we get an identifier, check whether it's an
18807         Objective C @-keyword.  If so, return the keyword.  Otherwise,
18808         put back the token and return the '@' as a terminal.
18809
18810         * cpplib.c (lex_macro_node): Remove unnecessary check for
18811         leading '@' on identifier.  Clarify control flow and commentary.
18812
18813 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18814
18815         * cse.c (new_label_ref): Variable deleted.
18816         (insert): Remove set of new_label_ref.
18817         (check_for_label_ref): New function.
18818         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
18819
18820 See ChangeLog.5 for earlier changes.