OSDN Git Service

* config/sparc/sparc.md (call struct patterns): Show starting
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2
3         * config/sparc/sparc.md (call struct patterns): Show starting
4         at two words long.
5
6 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
7
8         * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
9         * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
10
11 2001-12-26  DJ Delorie  <dj@redhat.com>
12
13         * function.c (expand_main_function): Make sure stack adjustments
14         happen before sjlj exception setup.
15
16 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
17
18         * rs6000.md (indirect_jump): Prefer CTR over LR.
19         * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
20
21 Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
22
23         * dwarf2out.c: Reformatting and minor code rearrangement.
24
25 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
26
27         * configure.in (quoted_stage_prefix_set_by_configure): Generate.
28         * configure: Regenerated.
29         * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
30         quoted_stage_prefix_set_by_configure.
31
32 Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
33
34         * rtl.h (in_expr_list_p): New declaration.
35         * rtlanal.c (in_expr_list_p): New function.
36         * cfgcleanup.c: Reformatting and minor code rearrangement.
37         * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
38
39 2001-12-23  Richard Henderson  <rth@redhat.com>
40
41         PR c/5163:
42         * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
43         we have a function body associated.  Minor cleanups.
44         (grokdeclarator): Do not set DECL_INLINE without a function body.
45
46 2001-12-23  Richard Henderson  <rth@redhat.com>
47
48         * stmt.c (resolve_operand_names): Handle operand modifiers.
49
50 2001-12-23  Richard Henderson  <rth@redhat.com>
51
52         * stmt.c (parse_input_constraint): Break out from ...
53         (expand_asm_operands): ... here.  Loop over the operands twice,
54         the first time only calling mark_addressable.  Correct and simplify
55         the conditions for spilling an output operand to memory.
56
57 2001-12-23  Richard Henderson  <rth@redhat.com>
58
59         * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
60
61         * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
62         (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
63         (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
64
65 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
66
67         * c-typeck.c (c_start_case): Don't strip conversions from the
68         controlling expression.  Partially fixes PR c/2454.
69
70 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
71
72         * Makefile.in (USER_H): Remove proto.h.
73         * config.gcc (c*-convex-*): Set extra_headers=proto.h.
74
75 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
76
77         * arc.c (arc_hard_regno_mode_ok): Const-ify.
78         * arc.h (arc_hard_regno_mode_ok): Likewise.
79         * i386.c (x86_64_reg_class_name): Make static.
80         * m68k.c (regno_reg_class): Const-ify.
81         * m68k.h (regno_reg_class): Likewise.
82         * mcore.c (reg_class_from_letter): Likewise.
83         * mcore.h (reg_class_from_letter): Likewise.
84         * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
85         ext_shift_insns, ext_shift_amounts): Likewise.
86         * sh.h (reg_class_from_letter): Likewise.
87         * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
88         hard_64bit_mode_classes): Likewise.
89         * sparc.h (hard_regno_mode_classes): Likewise.
90
91         * gcc.c (modify_target): Make static.
92         * gengenrtl.c (defs, formats): Likewise.
93         * reload1.c (elim_table_1, init_elim_table): Const-ify.
94         * tradcpp.c (directive, directive_table, handle_directive,
95         skip_if_group, run_directive): Likewise.
96
97 2001-12-23  Richard Henderson  <rth@redhat.com>
98
99         * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
100         an invalid result register; do end the sequence properly.
101         (emit_library_call_value_1): Likewise.
102
103 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
104
105         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
106
107         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
108
109         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
110         (altivec_init_builtins): Add tree types for builtins with 4 bit
111         literals.
112         (bdesc_3arg): Add vsldoi variants.
113
114 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
115
116         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
117         * a29k.h (a29k_debug_reg_map): Likewise.
118         * arc.h (arc_regno_reg_class): Likewise.
119         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
120         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
121         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
122         * i386.h (regclass_map): Likewise.
123         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
124         * mcore.h (regno_reg_class): Likewise.
125         * mips.h (mips_print_operand_punct, mips_char_to_class):
126         Likewise.
127         * ns32k.h (regclass_map): Likewise.
128         * pj.h (pj_debugreg_renumber_vec): Likewise.
129         * s390.h (regclass_map): Likewise.
130         * sh.h (regno_reg_class): Likewise.
131         * sparc.h (sparc_regno_reg_class): Likewise.
132
133         * hard-reg-set.h (reg_class_contents): Likewise.
134         * machmode.h (class_narrowest_mode): Likewise.
135
136 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
137
138         * loop.c (scan_loop, move_movables, count_one_set): Do not
139         overlook hard registers when computing statistics.
140
141 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
142
143         * calls.c (ECF_LIBCALL_BLOCK): New constant.
144         (emit_call_1, initialize_argument_information,
145         precompute_arguments, expand_call,
146         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
147         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
148
149 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
150
151         * config.gcc (extra_headers): Move settings to math-68881.h and
152         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
153         m68k targets.
154         (header_files): Remove unused setting.
155
156 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
157
158         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
159         `call_used_regs' explicitly.
160         * i860.c: Likewise.
161         * m68k.c: Likewise.
162         * ns32k.c: Likewise.
163         * pa.c: Likewise.
164         * vax.c: Likewise.
165         * we32k.c: Likewise.
166
167 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
168
169         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
170         (TARGET_CPU_DEFAULT_*): Renumber.
171
172 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
173
174         * rtl.h (subreg_lsb): Declare.
175         * rtlanal.c (subreg_lsb): Implement.
176
177 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
178
179         * predict.c: Reformatting and minor cleanups.
180         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
181
182         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
183         SAVE_EXPR.
184         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
185         (put_addressof_into_stack): Clarify code in setting of used_p.
186
187         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
188         (expand_call): Delete from here.
189         Do pending stack adjustments if ECF_SP_DEPRESSED.
190
191         * dwarf2out.c (save_rtx): Deleted.
192         (mem_loc_descriptor): Do equivalent operation.
193         (add_const_value_attribute, case CONST): Likewise.
194         (add_name_and_src_coords_attributes): Likewise.
195
196 2001-12-21  Kazu Hirata  <kazu@hxi.com>
197
198         * config/h8300/h8300.h: Fix comment formatting.
199
200 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
201
202         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
203         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
204
205 2001-12-21  Robert Lipe  <robertlipe@usa.net>
206
207          * system.h (PREFETCH): Explictly undefine.
208
209 2001-12-21  Richard Henderson  <rth@redhat.com>
210
211         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
212         (RESTORE_WARN_FLAGS): Restore it.
213         (extension): Zero warn_traditional.
214
215 2001-12-21  Kazu Hirata  <kazu@hxi.com>
216
217         * doc/passes.texi: Fix a typo.
218
219 2001-12-21  Kazu Hirata  <kazu@hxi.com>
220
221         * config/h8300/h8300.h: Fix a comment typo.
222
223 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
224
225         * combine.c (nonzero_bits): If using reg_nonzero_bits,
226         we don't know anything about bits outside of X mode.
227         (num_sign_bit_copies): Likewise.
228
229 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
230
231         * config/arm/arm.md (prefetch): Use 'a' operand code.
232
233 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
234
235         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
236         subshells.
237         * configure.in: Likewise for perl Pod::Man.
238
239         * configure: Regenerated.
240
241 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
242
243         * builtin-attrs.def (__builtin_printf_unlocked,
244         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
245         Mark with the __printf__ attribute.
246         
247         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
248         and set the replacement function depending on it.
249         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
250         Handle BUILT_IN_*_UNLOCKED when optimizing.
251         
252         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
253         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
254         Declare the "unlocked" stdio functions.
255         
256         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
257         Add an `unlocked' parameter and set the replacement function
258         depending on it.
259         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
260         BUILT_IN_FPRINTF_UNLOCKED.
261
262         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
263         fputs_unlocked): Document.
264
265 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
266
267         * cfgloop.c (flow_loops_find): Use the information of the depth
268         first search order of the CFG correctly when finding natural loops.
269
270 2001-12-20  Richard Henderson  <rth@redhat.com>
271
272         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
273
274 2001-12-20  Richard Henderson  <rth@redhat.com>
275
276         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
277         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
278         operand into $27.
279
280 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
281
282         * configure.in (all_headers, all_lib2funcs): Remove.
283         * configure: Regenerate.
284         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
285         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
286         * config/alpha/t-interix (USER_H): Don't include
287         $(LANG_EXTRA_HEADERS).
288         * config/i386/t-interix: Likewise.
289         * config/t-openbsd: Likewise.
290
291 2001-12-20  Andreas Jaeger  <aj@suse.de>
292
293         * libgcc2.c (__bb_exit_func): Remove unused variable.
294         (num_digits): Remove unused function.
295
296 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
297
298         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
299         to use ldmfd instead of ldmea.
300         * config/arm/arm.c (arm_compute_initial_elimination_offset):
301         Modified to reflect behavior of arm_expand_prologue when generating
302         interrupt handlers
303
304 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
305
306         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
307         function. Compute which of registers r0 through r12 should be
308         saved onto the stack during a function's prologue.
309         (arm_compute_save_reg_mask): Use
310         arm_compute_save_reg0_reg12_mask.
311         (arm_compute_initial_elimination_offset): Use
312         arm_compute_save_reg0_reg12_mask.
313
314         (arm_expand_prologue): Do not mark as save of the IP register
315         for an interrupt handler as being part of the frame creation
316         code.
317
318 2001-12-20  Richard Henderson  <rth@redhat.com>
319
320         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
321         to emit floating point values.
322         (assemble_real_1): Remove.
323
324         * 1750a/1750a.c (real_value_to_target_single): New.
325         (real_value_to_target_double): New.
326         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
327         (REAL_VALUE_TO_TARGET_SINGLE): New.
328         (REAL_VALUE_TO_TARGET_DOUBLE): New.
329         * 1750a/1750a-protos.h: Update.
330
331         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
332         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
333         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
334         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
335         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
336         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
337         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
338         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
339         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
340         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
341         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
342         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
343         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
344         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
345         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
346         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
347         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
348         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
349         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
350         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
351         associated support routines.
352
353 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
354
355         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
356         if one of block does not contain jump.
357         (outgoing_edge_math): Revert last path; require edges to be noncomplex
358         nonfake to match single exit edge; require conditional jumps to not
359         have side effect.
360
361 2001-12-20  Turly O'Connor  <turly@apple.com>
362
363         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
364         "recog_operand" to "recog_data.operand".
365         * rtl.def: Likewise.
366
367 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
368
369         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
370         narrower mode than op0, only return the bits in DIV's mode.
371
372 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
373
374         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
375         to JUMP_INSNs with JUMP_LABEL.
376
377 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
378
379         * doc/install.texi: Add documentation for --enable-altivec.
380
381         * config.gcc: Add support for --enable-altivec.
382
383         * config/rs6000/altivec.h: New.
384
385         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
386         Define.  Fix typo.
387
388         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
389         unspec_volatile.
390         (generate_set_vrsave): Generate the unspec here instead of calling
391         an .md pattern.
392         (generate_set_vrsave): Use gen_rtvec.
393         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
394         gen_rtx_SET.
395
396         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
397         for setting special registers.
398         ("*set_vrsave_internal"): Use unspec_volatile.
399         ("set_vrsave"): Remove.
400         ("get_vrsave"): Remove.
401
402         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
403         SPECIAL_REGS.
404
405 2001-12-19  Bruce Korb  <bkorb@gnu.org>
406
407         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
408         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
409         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
410         * gcc/fixinc/base/...: adjust for changes in fixes
411
412 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
413
414         * po/gcc.pot: Regenerate.
415
416         * configure.in (all_diff_excludes, diff_excludes): Remove.
417         * configure: Regenerate.
418         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
419         * objc/config-lang.in (diff_excludes): Remove.
420
421 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
422
423         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
424         the destination register as a parameter to mems_ok_for_ldd_peep.
425         For store peepholes pass NULL_RTX.  Move all volatile checks ...
426         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
427         register parameter, check it's not the same as base for an address.
428         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
429
430 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
431
432         * config/ia64/ia64.c (ia64_single_set): Return first set for
433         prologue_allocate_stack and epilogue_deallocate_stack instructions.
434
435 2001-12-19  Dale Johannesen  <dalej@apple.com>
436
437          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
438          redefine in terms of rs6000_legitimize_reload_address().
439          * config/rs6000/rs6000-protos.h: Add this function.
440          * config/rs6000/rs6000.c: Add this function.  Includes
441          handling for Darwin FP constants.
442
443 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
444
445         * config/pa/t-hpux-shlib: New file.
446         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
447         for 32bit hpux10 & hpux11 configurations.
448
449 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
450
451         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
452         -mno-fpu onto gas unless -mhard-float is specified.
453         (MULTILIB_DEFAULTS): Include msoft-float.
454
455         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
456
457         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
458         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
459
460 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
461
462         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
463         descriptor output.
464
465 2001-12-18  Stan Shebs  <shebs@apple.com>
466
467         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
468
469 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
470
471         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
472         on an INTEGER_CST.
473
474 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
475
476         * rs6000.c (rs6000_override_options): Only use DI ops when
477         TARGET_64BIT.  Fix typo.
478
479 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
480
481         * att.h (ASM_FILE_START): Use asm_dialect.
482         * linux.h (ASM_FILE_START): Likewise.
483         * gas.h (ASM_FILE_START): Likewise.
484         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
485         ix86_asm_string, ix86_asm_dialect): New.
486         (override_options): Set asm_dialect.
487         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
488         MASK_DEBUG_ADDR): Kill.
489         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
490         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
491         (ASSEMBLER_DIALECT): Use asm_dialect.
492         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
493         remove debug-addr and debug-arg.
494         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
495         (asm_dialect): New enum.
496         (ix86_debug_arg_string, ix86_debug_addr_string,
497         ix86_asm_string, ix86_asm_dialect): Declare.
498         * invoke.texi (-mintel-syntax): Remove.
499         (-masm): Document.
500
501 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
502
503         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
504
505 2001-12-18  Jason Merrill  <jason@redhat.com>
506
507         C++ ABI change: destroy value arguments in caller.
508         * calls.c (initialize_argument_information): Pass the address of
509         the TARGET_EXPR temporary rather than storing it into another.
510
511 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
512
513         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
514         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
515
516 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
517
518         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
519         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
520         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
521         (CC1_SPEC): Don't default to -gstabs+ if -m32.
522
523 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
524
525         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
526
527 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
528
529         * po/gcc.pot: Regenerate.
530
531 2001-12-18  Kazu Hirata  <kazu@hxi.com>
532
533         * config/h8300/h8300.c: Fix comment typos.
534         * config/h8300/h8300.h: Fix comment formatting.
535
536 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
537
538         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
539         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
540         declaration to NUM_MACHINE_MODES.
541         (mode_size, mode_unit_size): Set array type to unsigned char.
542         (mode_bitsize): Set array type to unsigned short.
543
544         * rtl.c (rtx_length): Set array type to unsigned char.
545         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
546         NUM_RTX_CODE.
547         (mode_bitsize): Set array type to unsigned short.
548         (mode_size, mode_unit_size): Set array type to unsigned char.
549         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
550         mode_wider_mode, mode_mask_array): Set array size to
551         NUM_MACHINE_MODES.
552
553         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
554         size in declaration to NUM_RTX_CODE.
555
556 2001-12-17  Richard Henderson  <rth@redhat.com>
557
558         * config/alpha/alpha.md (unop): Encode RB as $sp.
559
560 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
561
562         * Makefile.in: Update dependencies.
563         * c-lang.c: Remove unnecessary includes.
564         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
565         c-objc-common.c.
566         (finish_file): Move body to c_common_finish_file.
567         * c-objc-common.c: Include varray.h and ggc.h.
568         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
569         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
570         (c_objc_common_init): Initialize deferred function array.
571         * c-tree.h (c_objc_common_finish_file,
572         static_ctors, static_dtors): New.
573 objc:
574         * Make-lang.in: Update dependencies.
575         * objc/objc-act.c: Don't include varray.h.
576         (defer_fn, deferred_fns): Move to c-objc-common.c.
577         (objc_init): Similarly for initialization of it.
578         (finish_file): Move some to c-objc-common.c, use
579         c_objc_common_finish_file.
580
581 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
582
583         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
584
585 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
586
587         * doc/cppinternals.texi: Update.
588
589 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
590
591         * expmed.c (emit_store_flag): Extract updated comparison code
592         from the return value of compare_from_rtx.
593         * expr.c (do_store_flag): Similarly.
594
595 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
596
597         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
598         preference to BASE_REG_CLASS.
599         * recog.c (preprocess_constraints): Ditto.
600         * regclass.c (record_operand_costs, scan_one_insn, regclass,
601         record_reg_classes, record_address_regs): Ditto.
602         * regrename.c (scan_rtx_address, scan_rtx,
603         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
604         * reload.c (find_reloads, find_reloads_address,
605         find_reloads_address_1): Ditto.
606         * reload1.c (maybe_fix_stack_asms): Ditto.
607         * defaults.h (MODE_BASE_REG_CLASS): Provide default
608         definition.
609         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
610
611         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
612
613 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
614
615         * doc/install.texi2html: Use -I $SOURCEDIR.
616
617         Separate user and internals manuals.
618         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
619         dependencies.
620         ($(docdir)/gccint.info, gccint.dvi): New targets.
621         (maintainer-clean, install-info, uninstall): Update.
622         * doc/.cvsignore: Add gccint.info*.
623         * doc/include/gcc-common.texi: New file.
624         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
625         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
626         is defined.
627         * doc/gccint.texi: New file.
628         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
629         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
630         Update for separate user and internals manuals.
631
632 2001-12-17  Dale Johannesen  <dalej@apple.com>
633
634          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
635          ASM_CPU_SPEC: Ditto.
636          RTX_COSTS: Fix timing info for 7450 multiply.
637          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
638          Allow floats to be kept in int regs in movsf_low,
639          movsf_low_st (Darwin only)
640
641 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
642
643         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
644         parallel.
645         (is_gpr_return_reg): New.
646         (rs6000_emit_prologue): Call generate_set_vrsave with additional
647         argument.  Save only registers in the mask.  Attach
648         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
649         rs6000_frame_related when saving VRSAVE.
650         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
651         argument.  Restore only registers in the mask.  Restore altivec
652         registers after we restore CR.
653         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
654         sets instead of clobbers for call saved registers.
655         (altivec_frame_fixup): New.
656
657 2001-12-17  Richard Henderson  <rth@redhat.com>
658
659         * config/sparc/sparc.md (movdi_zero): Remove.
660         (movdi_insn_sp32_v9): New.
661
662 2001-12-17  Richard Henderson  <rth@redhat.com>
663
664         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
665         a single outgoing edge too.
666
667 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
668
669         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
670         edges resulting from computed jump
671
672 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
673
674         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
675         * basic-block.h (CLEANUP_THREADING): New constant.
676         * cfgcleanup.c: Include cselib.h
677         (thread_jump, mark_effect): New functions.
678         (try_forward_edges): Do jump threading when asked for.
679         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
680         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
681         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
682         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
683         CLEANUP_THREAD instead.
684
685 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
686
687         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
688
689 2001-12-17  Tom Rix  <trix@redhat.com>
690
691         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
692         of bytes.
693
694 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
695
696         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
697         asm_out.integer): New fields.
698         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
699         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
700         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
701         the individual initialisers together.
702         (TARGET_ASM_OUT): Add the new initialisers.
703         * output.h (assemble_integer): Return bool.
704         (integer_asm_op): Declare.
705         (default_assemble_integer): Declare.
706         (assemble_aligned_integer): New interface to assemble_integer.
707         * varasm.c (integer_asm_op): New function to select pseudo-op.
708         (default_assemble_integer): Default implementation of asm_out.integer.
709         (assemble_integer): Use the new target hook.  Split objects into
710         words or bytes if the target hook fails.  Return bool.
711         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
712         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
713         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
714         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
715         Document new target hooks.
716
717         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
718         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
719         (dw2_assemble_integer): New.
720         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
721         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
722         dw2_asm_output_encoded_addr_rtx): Use it.
723         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
724         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
725         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
726         if it returns NULL.
727         * dwarf2asm.h (dw2_assemble_integer): Declare.
728         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
729         default implementation of most macros.
730         (output_unsigned_leb128): Use dw2_asm_output_data.
731         (output_signed_leb128, dwarfout_source_line): Likewise.
732         (output_reg_number): Use dw2_assemble_integer.
733         (generate_macinfo_entry): Separate the type and offset arguments.
734         Use assemble_integer to write the value.
735         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
736         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
737         * final.c (output_addr_const): Don't put brackets round a subtracted
738         symbol value or ".".
739         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
740
741         * config/1750a/1750a.c (assemble_integer_1750a): New,
742         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
743         * config/arc/arc.c (arc_assemble_integer): New.
744         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
745         * config/arm/arm.c (arm_poke_function_name): Likewise.
746         (arm_assemble_integer): New, extracted from...
747         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
748         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
749         (ARM_FUNCTION_PROFILER): Likewise.
750         * config/avr/avr-protos.h (asm_output_byte): Remove.
751         (asm_output_char, asm_output_short): Remove.
752         * config/avr/avr.c (avr_assemble_integer): New.
753         (asm_output_byte, asm_output_char, asm_output_short): Remove.
754         * config/clipper/clipper.h (ASM_LONG): Remove.
755         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
756         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
757         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
758         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
759         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
760         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
761         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
762         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
763         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
764         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
765         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
766         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
767         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
768         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
769         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
770         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
771         (ASM_SHORT, ASM_LONG): Undefine.
772         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
773         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
774         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
775         * config/ia64/ia64.c (ia64_assemble_integer): New.
776         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
777         (ASM_OUTPUT_DWARF_PCREL): Likewise.
778         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
779         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
780         (ASM_SHORT, ASM_LONG): Remove.
781         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
782         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
783         macros, the allowed values for INT_OP_GROUP.
784         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
785         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
786         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
787         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
788         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
789         * config/m68k/dpx2.h (ASM_LONG): Undefine.
790         (INT_OP_GROUP): Define to INT_OP_DC.
791         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
792         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
793         * config/m68k/lynx.h (ASM_LONG): Undefine.
794         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
795         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
796         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
797         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
798         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
799         for GAS and INT_OP_NO_DOT otherwise.
800         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
801         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
802         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
803         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
804         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
805         (INT_OP_GROUP): Define to INT_OP_STANDARD.
806         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
807         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
808         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
809         * config/m68k/tower-as.h (ASM_LONG): Remove.
810         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
811         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
812         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
813         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
814         * config/mips/iris5.h (TARGET_IRIX5): Define.
815         * config/mips/mips.c (mips_assemble_integer): New.
816         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
817         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
818         * config/mmix/mmix.c (mmix_assemble_integer): New.
819         (mmix_asm_output_double_int): Remove.
820         (mmix_print_operand): Call mmix_output_octa directly.
821         * config/mmix/mmix.h (ASM_LONG): Remove.
822         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
823         * config/pa/pa.c (pa_assemble_integer): New.
824         (pa_override_options): Only use aligned DI ops on 64-bit targets.
825         Only use the unaligned ops if TARGET_GAS.
826         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
827         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
828         * config/pj/pj.h (ASM_LONG): Undefine.
829         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
830         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
831         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
832         and in_toc_section() rather than the in_section variable.
833         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
834         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
835         (RELOCATABLE_NEEDS_FIXUP): Define.
836         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
837         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
838         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
839         to get the word directive.
840         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
841         * config/s390/s390.c (s390_assemble_integer): New.
842         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
843         integer_asm_op to get the word directive.
844         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
845         * config/sparc/sparc-protos.h (output_double_int): Remove.
846         * config/sparc/sparc.c (output_double_int): Move to...
847         (sparc_assemble_integer): ...this new function.
848         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
849         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
850         * config/sparc/sysv4.h (ASM_LONG): Remove.
851         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
852         ASM_LONG.
853         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
854         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
855
856         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
857         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
858         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
859         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
860         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
861         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
862         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
863         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
864         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
865         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
866         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
867         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
868         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
869         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
870         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
871         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
872         appropriate.
873
874         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
875         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
876         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
877         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
878         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
879         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
880         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
881         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
882         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
883         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
884         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
885         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
886         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
887         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
888         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
889         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
890         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
891         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
892         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
893         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
894         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
895         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
896         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
897         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
898         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
899         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
900
901 2001-12-17  Stan Shebs  <shebs@apple.com>
902
903         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
904         (STACK_BOUNDARY): Remove definition.
905         (CPP_PREDEFINES): Define __POWERPC__.
906
907 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
908
909         * doc/c-tree.texi (Trees): Only refer to GCC.
910
911 2001-12-17  Andreas Jaeger  <aj@suse.de>
912
913         * c-common.def: Fix typo in comment.
914
915 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
916
917         * config.gcc (sparc64-*-freebsd*): Add target.
918         * config/sparc/freebsd.h: New file.
919         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
920         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
921         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
922
923 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
924
925         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
926         PLUS operands into registers for altivec mode.
927
928 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
929
930         * builtins.c (apply_args_size): Change regno to unsigned.
931
932 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
933
934         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
935         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
936
937 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
938
939         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
940         gettext on argument before printing.
941
942         * fold-const.c (negate_expr): Always call fold on new
943         NEGATE_EXPR.
944
945 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
946
947         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
948         a DECL directly.
949         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
950         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
951         * c-decl.c (build_compound_literal): Put the decl inside a
952         DECL_STMT.
953         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
954         Fixes PR c/5105.
955
956 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
957
958         * config.gcc: Add powerpc-*-eabisimaltivec*.
959
960 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
961
962         * c-common.c, c-common.h (back_end_hook): Remove.
963         * c-lang.c (finish_file): Remove back_end_hook.
964
965 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
966
967         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
968         last change.
969
970 2001-12-16  Richard Henderson  <rth@redhat.com>
971
972         * toplev.c (parse_options_and_default_flags): Don't enable
973         flag_cprop_registers at -O1.
974
975 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
976
977         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
978         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
979         * avr.h (reg_class): Likewise.
980         * avr.md: Likewise.
981         * mcore.c (try_constant_tricks, mcore_byte_offset,
982         mcore_halfword_offset): Likewise.
983         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
984         * v850.c (not_power_of_two_operand): Likewise.
985
986         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
987         warnings.
988         * convex.h (ASM_OUTPUT_ASCII): Likewise.
989         * i370.h (ASM_OUTPUT_ASCII): Likewise.
990         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
991         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
992         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
993         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
994         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
995         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
996         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
997         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
998         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
999         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
1000         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
1001         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
1002         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
1003         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1004         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
1005         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
1006         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
1007         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
1008         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
1009         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
1010         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
1011         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1012         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
1013         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
1014
1015         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
1016         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
1017         * psos.h (CPP_PREDEFINES): Likewise.
1018         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
1019         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
1020         ASM_OUTPUT_EXTERNAL): Likewise.
1021         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1022         Likewise.
1023         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
1024         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1025         Likewise.
1026         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
1027
1028         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
1029         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
1030         * fold-const.c (real_hex_to_f): Use hex_value.
1031         * real.c (asctoeg): Use hex_value & ISXDIGIT.
1032         * toplev.c (toplev_main): Call hex_init.
1033         * tradcpp.c (main): Call hex_init.
1034
1035         * nextstep-protos.h: New file.
1036         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
1037         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
1038         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
1039         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
1040         handle_pragma): Move prototypes to nextstep-protos.h.
1041         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
1042         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
1043
1044 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1045
1046         PR other/3725
1047         * configure.in: Add AC_SUBST(target_alias).
1048         * configure: Regenerated.
1049
1050 2001-12-15  Richard Henderson  <rth@redhat.com>
1051
1052         * config/alpha/alpha.md (sibcall_osf_1_er): New.
1053         (sibcall_value_osf_1_er): New.
1054
1055 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
1056
1057         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
1058         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
1059         addrs; eliminate restriction of only using fp and sp as base
1060         registers.
1061         * config/sparc/sparc-protos.h: Update.
1062         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
1063         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1064         from old define_peepholes.
1065         Convert all the ldd/std peepholes to peephole2.
1066
1067 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1068
1069         * s390.md (prologue, epilogue, *return_si, *return_di): New.
1070         s390.c (find_unused_clobbered_reg, s390_frame_info,
1071         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1072         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1073         s390.c (s390_arg_frame_offset): Use s390_frame_info.
1074         (leaf_function_flag, cur_is_leaf_function,
1075         save_fprs, restore_fprs, force_const_mem_late): Remove.
1076         (s390_function_prologue, s390_function_epilogue): Mostly remove.
1077         s390.md (lit): New.  Uses ...
1078         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1079         s390-protos.h (s390_output_constant_pool): Declare.
1080         s390.md (load_multiple, store_multiple): Allow use after reload.
1081         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1082         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1083         s390.h (CALL_REALLY_USED_REGISTERS): Define.
1084         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1085         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1086         s390.c (s390_sr_alias_set): New global variable, initialized ...
1087         (override_options): ... here.  New.
1088         s390-protos.h (override_options): Declare.
1089         s390.h (OVERRIDE_OPTIONS): Call it.
1090         s390.c (s390_function_profiler): New.
1091         s390-protos.h (s390_function_profiler): Declare.
1092         s390.h (FUNCTION_PROFILER): Call it.
1093         s390.c (s390_profile): Remove.
1094
1095         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1096         (addr_generation_dependency_p): Consider literal pool register loads.
1097         (s390_adjust_priority): Do not schedule load_multiple.
1098         s390.md (attribute "type"): Define some additional types.
1099         (function_unit "integer"): Adapt.
1100         (many insns): Adapt "type" attribute setting.
1101
1102         * s390.c (general_s_operand, s_imm_operand): New.
1103         (s_operand): Remove old definition, call general_s_operand instead.
1104         s390-protos.h (s_imm_operand): Declare.
1105         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1106         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1107         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1108         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1109         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1110         s390.md (many insns): Rework insn predicates.
1111
1112         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1113         non-symbolic constants.  Reload will force them because of ...
1114         (s390_preferred_reload_class): ... this.  New.
1115         s390-protos.h (s390_preferred_reload_class): Declare.
1116         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1117         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1118         *reload_la_31 splitters): Handle constants after reload.
1119         (many insns): no longer force all constants immediately.
1120         s390.c (legitimate_reload_constant_p): New helper routine.
1121         s390-protos.h (legitimate_reload_constant_p): Declare.
1122         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1123
1124         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1125         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1126         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1127         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1128         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1129         (DWARF_FRAME_REGISTERS): Define.
1130         s390.c (regclass_map): Add virtual frame pointer.
1131         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1132         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1133         (addaddr, addsi_64): Delete.
1134
1135         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1136         floating point registers.
1137         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1138         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1139         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1140
1141         * s390.md (movti): Replace multi-insn output with splitters.
1142         (movdi_31, movdf_31): Likewise.
1143         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1144         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1145         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1146         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1147         (movsf_64, movsf_31): Remove, replace by ...
1148         (movsf): ... this.
1149         (movqi_64): Use lhi instead of llill.
1150         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1151
1152         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1153         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1154         extendqihi2 and associated splitters): Reworked.
1155         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1156         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1157         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1158         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1159         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1160         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1161         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1162         and associated splitters): Likewise.
1163         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1164         and associated splitters): New.
1165         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1166         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1167         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1168         s390.h (PROMOTE_PROTOTYPES): Remove.
1169         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1170
1171         * s390.md (muldi3): Delete, use instead ...
1172         (mulsidi3): ... this.
1173         (*muldi3_64): Rename to muldi3.
1174         (mulsi_6432): Fix template.
1175         (divdi3, moddi3): Delete, replace by ...
1176         (divmoddi4): ... this.
1177         (divmodtidi3): Fix template.
1178         (divmodtisi3): New.
1179         (udivdi3, umoddi3): Delete, replace by ...
1180         (udivmoddi4): ... this.
1181         (udivmodtidi3): Fix template.
1182         (divsi3, modsi3): Delete, replace by ...
1183         (divmodsi4): ... this.
1184         (divmoddisi3): Fix template.
1185         (udivsi3, umodsi3): Adapt.
1186
1187         * s390.md (anddi3): Remove SS alternative, use instead ...
1188         (anddi3_ss, anddi3_ss_inv): ... these.
1189         (anddi3_ni): New.
1190         (andsi3*, andhi3*, andqi3*): Likewise.
1191         (iordi3): Remove SS alternative, use instead ...
1192         (iordi3_ss, iordi3_ss_inv): ... these.
1193         (iordi3_oi): New.
1194         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1195         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1196         (xordi3): Remove SS alternative, use instead ...
1197         (xordi3_ss, xordi3_ss_inv): ... these.
1198         (xordi3_oi): New.
1199         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1200         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1201         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1202         Expand to XOR with -1.
1203         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1204         (cmpdi_tm): Delete, replace by ...
1205         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1206         (cmpsi_cct): Delete, replace by ...
1207         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1208         (cmpdi_tm2, cmpsi_tm2): Improve.
1209         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1210         s390.c (s390_single_hi, s390_extract_hi,
1211         s390_single_qi, s390_extract_qi): New helper routines.
1212         s390-protos.h (s390_single_hi, s390_extract_hi,
1213         s390_single_qi, s390_extract_qi): Declare.
1214         s390.c (tmxx_operand, const1_operand): Remove.
1215         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1216         s390.h (PREDICATE_CODES): Likewise.
1217
1218         * s390.md (sqrtdf2, sqrtsf2): New.
1219
1220         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1221         (check_and_change_labels): Remove section-change special case.
1222
1223         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1224         in leaf functions.  Needs ...
1225         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1226
1227         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1228
1229         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1230         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1231         input operands using a match_dup clause.
1232         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1233
1234         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1235         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1236
1237         * s390.md (floatsidf2_ibm): Use correct operand.
1238
1239         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1240         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1241         non-portable constants.
1242         s390.c (s390_gen_rtx_const_DI): New helper routine.
1243         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1244
1245         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1246
1247         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1248         ASM_OUTPUT_BYTE): Clean up assembly output.
1249         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1250         (ASM_OUTPUT_ASCII): Remove.
1251
1252         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1253
1254 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1255
1256         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1257         before including unwind-dw2-fde.c, if we are not using the
1258         special code in this file.
1259
1260 2001-12-15  Richard Henderson  <rth@redhat.com>
1261
1262         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1263         MASK_EXPLICIT_RELOCS if the assembler supports it.
1264         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1265         * configure, config.in: Rebuild.
1266
1267 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1268
1269         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1270         for rounded_stack_size.
1271
1272 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1273
1274         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1275         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1276         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1277         "bit-field" spellings in messages.
1278         * po/gcc.pot: Regenerate.
1279
1280 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1281
1282         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1283         American spelling in messages.
1284         * po/gcc.pot: Regenerate.
1285
1286 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1287
1288         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1289         constraints from expanders.  Replace \@ with @.
1290
1291 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1292
1293         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1294
1295 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1296
1297         * regrename.c (copyprop_hardreg_forward): Do not keep register
1298         value data live across abnormal call or eh egdes.
1299
1300 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1301
1302         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1303         BIGGEST_ALIGNMENT for 0.
1304
1305 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1306
1307         * predict.def (PRED_NORETURN): Make probabilities match reality.
1308         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1309         Likewise.
1310
1311 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1312
1313         * configure.in: Check for ld.
1314         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1315         * configure, config.in: Rebuilt.
1316         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1317         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1318         frame unwinding on Linux.
1319         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1320         frame unwinding.
1321         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1322         (LINK_EH_SPEC): Define.
1323         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1324         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1325         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1326         iterate further if pc falls into current library, but fde was not
1327         found.
1328         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1329         if using glibc.
1330         (LINK_EH_SPEC): Define.
1331         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1332         Use crtbeginT.o for -static.
1333         (LINK_EH_SPEC): Define.
1334         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1335         * Makefile.in (crtbeginT.o): Add rule.
1336         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1337         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1338         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1339         If none of the above switches are passed, use -lgcc -lgcc_eh.
1340         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1341         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1342         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1343         * unwind-dw2-fde.c: Don't include any headers if this file
1344         is included from other .c file.
1345         * unwind-dw2-fde-glibc.c: New file.
1346         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1347         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1348
1349 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1350
1351         * builtins.c (expand_builtin_memcmp): Mark parameter with
1352         ATTRIBUTE_UNUSED.
1353         * cfgcleanup.c (insns_match_p): Likewise.
1354         * regrename.c (mode_change_ok): Likewise.
1355         * gcc.c (execute): Const-ify.
1356
1357 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
1358
1359         * c-parse.in (typename): Do not split attributes.
1360         Remove unsupported attributes warning.
1361
1362         * c-decl.c (groktypename): Apply attributes.
1363
1364 2001-12-14  Richard Henderson  <rth@redhat.com>
1365
1366         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
1367         initialization as possibly dead.
1368
1369 2001-12-14  Richard Henderson  <rth@redhat.com>
1370
1371         * regrename.c (mode_change_ok): New.
1372         (find_oldest_value_reg): Use it.
1373
1374 2001-12-14  Richard Henderson  <rth@redhat.com>
1375
1376         * regrename.c (struct value_data): Add max_value_regs.
1377         (init_value_data): Initialize it.
1378         (kill_value): Kill values that overlap the dying register.
1379         (set_value_regno): New.
1380         (kill_set_value, kill_autoinc_value, copy_value): Use it.
1381         (copyprop_hardreg_forward_1): Kill earlyclobber operands
1382         before looking at inputs.
1383
1384 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
1385
1386         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
1387         DECL_WEAK for function descriptors.
1388         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
1389         weak support present.
1390         (ASM_WEAKEN_LABEL): Same.
1391
1392 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1393
1394         * config/h8300/h8300.md (anonymous pattern): Add a missing
1395         mode.
1396
1397 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1398
1399         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
1400         comment typo.
1401
1402 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1403
1404         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
1405         Remove the initialization requierment.
1406         (h8300_handle_tiny_data_attribute): Likewise.
1407
1408 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1409
1410         * config/h8300/h8300.md (udivqi3): Remove.
1411         (divqi3): Likewise.
1412         (udivhi3): Likewise.
1413         (divhi3): Likewise.
1414         (umodqi3): Likewise.
1415         (modqi3): Likewise.
1416         (umodhi3): Likewise.
1417         (modhi3): Likewise.
1418         (udivmodqi3): New.
1419         (divmodqi3): Likewise.
1420         (udivmodhi3): Likewise.
1421         (divmodhi3): Likewise.
1422
1423 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1424
1425         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
1426         by active_insn_p; count conditional jump as instruction.
1427
1428 2001-12-14  DJ Delorie  <dj@redhat.com>
1429             Danny Smith  <dannysmith@users.sourceforge.net>
1430
1431         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
1432         at SYM_NAME[0] or SYM_NAME[3].
1433         (STRIP_NAME_ENCODING): Don't check for leading '*'.
1434
1435 2001-12-14  Ira Ruben   <ira@apple.com>
1436
1437         Add -### option (displays driver-generated commands without
1438         executing and quotes all arguments).
1439         * doc/invoke.texi: Add -###.
1440         * gcc.c (verbose_only_flag) - New flag.
1441         * (execute): If -### write quoted arguments and return.
1442         * (display_help): Print meaning of -###.
1443         * (process_command): Handle -###.
1444
1445 2001-12-14  Ira Ruben   <ira@apple.com>
1446
1447         Fix to no allow -save-temps to clobber user's source file.
1448         * gcc.c: Add static globals input_stat and input_stat_set.
1449         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
1450         set, check that user's input file is not overwritten.
1451         (set_input): Reset input_stat_set for each new file.
1452
1453 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1454
1455         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
1456
1457 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
1458
1459         * combine.c (record_dead_and_set_regs): Use
1460         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
1461
1462 2001-12-14  Roger Sayle <roger@eyesopen.com>
1463
1464         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
1465         __builtin_fsqrt to __builtin_sqrt.
1466
1467         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
1468         * doc/extend.texi: Simplify documentation to match patch.
1469
1470 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1471
1472         * config.gcc: Revamp target_cpu_default2 to strings;
1473         support new x86 variants.
1474         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
1475         properly; set prefetch_sse.
1476         * i386.h (x86_prefetch_sse): Declare.
1477         (TARGET_PREFETCH_SSE): New.
1478         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
1479         (TARGET_CPU_DEFAULT_*): New.
1480
1481 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
1482                               Jan Hubicka  <jh@suse.cz>
1483
1484         * config/i386/i386.h (struct processor_costs): Add new members
1485           prefetch_block and simultaneous_prefetches.
1486           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
1487         * config/i386/i386.c (processor_costs structs): Add values for
1488           prefetch_block and simultaneous_prefetches.
1489         * config/i386/i386.md (unspec values): Remove values for prefetch
1490           operations, which now use the PREFETCH rtx code.
1491           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
1492           unified prefetch support.
1493
1494 2001-12-14  Jason Merrill  <jason@redhat.com>
1495
1496         * diagnostic.c (sorry): Increment sorrycount before saving the
1497         buffer state.
1498
1499 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1500
1501         * i386.md (sqrt?f): Fix conditionals.
1502
1503 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
1504
1505         * config.gcc (alpha64-dec-*vms*): New case.
1506         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
1507         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
1508         * config/alpha/xm-vms64.h: Likewise.
1509
1510         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
1511         (alpha_write_linkage): Test for null alpha_links.
1512         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
1513         (vms_section_type_flags, vms_asm_named_section): Handle them.
1514
1515 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1516
1517         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
1518         (override_option): Set ix86_fpmath.
1519         * i386.h (MASK_MIX_SSE_I387): Remove.
1520         (TARGET_SSE_MATH): New.
1521         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
1522         (TARGET_SWITCHES): Remove "mix-sse-i387".
1523         (fpmath_unit): New enum.
1524         (ix86_fpmath, ix86_fpmath_string): Declare.
1525         * i386.md (swapsf): Fix condition.
1526         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
1527         (fp_?f_*_nosse): New.
1528         (fp_*): Use TARGET_SSE_MATH.
1529         * invoke.texi (-mfpmath): Document.
1530         (-msse2): Add.
1531
1532 2001-12-14  Jason Merrill  <jason@redhat.com>
1533
1534         * dwarf2out.c (output_die): Print the string in the comment for
1535         a DW_FORM_strp.
1536
1537 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
1538
1539         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
1540         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
1541         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1542         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
1543
1544 2001-12-13  Richard Henderson  <rth@redhat.com>
1545
1546         * regrename.c (kill_value_regno): Simplify chain removal.
1547         (kill_value): Kill all of HARD_REGNO_NREGS.
1548         (kill_set_value): Use kill_value not kill_value_regno.
1549         (kill_autoinc_value): Likewise.
1550         (copyprop_hardreg_forward): Don't collect refresh_blocks.
1551         Call delete_noop_moves.
1552
1553 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1554
1555         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
1556         for the mode attribute.
1557         (handle_mode_attribute): Handle types, not decls.
1558
1559 2001-12-13  Jason Merrill  <jason@redhat.com>
1560
1561         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
1562
1563 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1564
1565         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
1566         constraint to base register.
1567         (eh_set_lr_si): Same.
1568
1569 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
1570
1571         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
1572         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
1573         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
1574
1575 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1576
1577         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
1578         warning and reformat comments.
1579         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
1580         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
1581         if overflow.
1582
1583 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
1584
1585         * config/rs6000/rs6000.c (rs6000_override_options): Add
1586         SUBSUBTARGET_OVERRIDE_OPTIONS.
1587
1588         * config/rs6000/eabialtivec.h: New file.
1589
1590         * config/rs6000/linuxaltivec.h: New file.
1591
1592         * config.gcc: Add powerpc-*-eabialtivec and
1593         powerpc-*-linux-gnualtivec.
1594
1595 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1596
1597         * toplev.c (process_options, parse_options_and_default_flags):
1598         Set flag_no_inline before the post_options hook.
1599
1600 2001-12-13  Richard Henderson  <rth@redhat.com>
1601
1602         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
1603         is false.
1604
1605 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1606
1607         * collect2.c (COLLECT_SHARED_INIT_FUNC)
1608         (COLLECT_SHARD_FINI_FUNC): Define default values.
1609         (write_c_file_stat): Use them to call construtor and destructor
1610         functions in shared libraries.
1611         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1612         (COLLECT_SHARD_FINI_FUNC): Document them.
1613         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
1614         (COLLECT_SHARD_FINI_FUNC): Define.
1615
1616         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
1617         shared library.  Pass -shared through to the linker.
1618         * config/arm/netbsd.h (LINK_SPEC): Likewise.
1619
1620         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
1621         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
1622         (SHLIB_INSTALL): Define.
1623
1624 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1625
1626         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
1627         the same way as we handle SYMBOL_REFS.
1628
1629 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1630
1631         * loop.c (remove_constant_addition): Fix prototype and whitespace.
1632         (emit_prefetch_instructions): Remove warnings and whitespace
1633         changes.
1634
1635 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
1636
1637         * config/alpha/vms-cc.c (preprocess_args): Fix forward
1638         declaration.
1639
1640 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1641
1642         * predict.c (estimate_probability): Reorganize opcode heuristics.
1643         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
1644         PRED_FPOPCODE): New.
1645
1646         * i386.c (override_options): Recognize various CPU variants and set
1647         SSE/MMX/3dNOW flags accordingly.
1648         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
1649         MASK_3DNOW_A_SET): New.
1650         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
1651         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
1652         (MASK_*): Renumber.
1653         (TARGET_FLAGS): Use new masks.
1654         (CPP_CPU_SPECS): Recognize new CPU variants.
1655         * invoke.texi (-mcpu): Update documentation.
1656
1657         * flags.h (flag_prefetch_loop_arrays): Declare.
1658         * loop.h (LOOP_PREFETCH): Define new constant.
1659         * loop.c (strength_reduce): Call emit_prefetch_instructions.
1660         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
1661         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
1662         constants.
1663         (check_store_data): New structure.
1664         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
1665         New functions.
1666         * toplev.c: Include insn-flags.h.
1667         (flag_prefetch_loop_arrays): New global variable.
1668         (lang_independent_option): Add -fprefetch-loop-arrays.
1669         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
1670         is set.
1671         * Makefile.in (toplev.c): Depend on insn-flags.h.
1672         * invoke.texi (-fprefetch-loop-arrays): Document.
1673
1674         * predict.c (estimate_probability): Distribute the loop exit
1675         probability according to number of exit edges.
1676
1677         * cfgcleanup.c (insns_match_p): Break out from ...;
1678         (flow_find_cross_jump): ... here;
1679         (outgoing_edges_match): Add parameter MODE; attempt to match everything
1680         except for tablejumps.
1681         (try_crossjump_to_edge): Accept complex edges.
1682         (try_crossjump_bb): Likewise.
1683
1684 2001-11-29  Corey Minyard <minyard@acm.org>
1685
1686         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
1687         instead of plus_constant.
1688         * simplify-rtx.c (neg_const_int): New.
1689         (simplify_gen_binary, simplify_plus_minus): Use it.
1690
1691 2001-12-12  Roger Sayle  <roger@eyesopen.com>
1692
1693         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
1694         expand_builtin_strcpy): Additional arguments TARGET and MODE.
1695         (expand_builtin_bzero, expand_builtin_strcpy,
1696         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
1697         TARGET and MODE parameters to the above functions.
1698         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
1699         case where the LEN parameter is constant zero.
1700         (expand_builtin_memcmp): No longer conditional on
1701         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
1702         the cases where len is either constant zero or one.
1703         Optimize to call to memcpy, even if the memcpy isn't inlined.
1704         (expand_builtin_strncpy): Optimize to call memcpy, even if the
1705         memcpy isn't inlined.
1706         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
1707         to optimize to a call to memcmp.
1708         (expand_builtin): expand_builtin_memcmp can always be called,
1709         and pass the required parameters to expand_builtin_memcmp,
1710         expand_builtin_memset, expand_builtin_memcpy and
1711         expand_builtin_strcpy.
1712
1713 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
1714
1715         * config.gcc (arm-*-freebsd*): Add target.
1716         * config/arm/freebsd.h: New file.
1717         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
1718         (CPP_SPEC): #undef before defining.
1719         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
1720         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
1721         -Amachine=arm.
1722         * config/arm/linux-elf.h: Likewise.
1723         * config/arm/netbsd.h: Likewise.
1724         * config/arm/riscix.h: Likewise.
1725         * config/arm/riscix1-1.h: Likewise.
1726         * config/arm/semiaof.h: Likewise.
1727
1728 2001-12-12  Richard Henderson  <rth@redhat.com>
1729
1730         * regrename.c (copyprop_hardreg_forward): New optimization.
1731         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
1732         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
1733         replace_oldest_value_reg, replace_oldest_value_addr,
1734         replace_oldest_value_mem, copyprop_hardreg_forward_1,
1735         debug_value_data, validate_value_data): New.
1736         * rtl.h (copyprop_hardreg_forward): Declare.
1737         * toplev.c (flag_cprop_registers): New.
1738         (f_options): Add -fcprop-registers
1739         (rest_of_compilation): Invoke it.
1740         (parse_options_and_default_flags): Set it at -O1.
1741         * doc/invoke.texi: Document it.
1742
1743 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1744
1745         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
1746         (DEBUG_RANGES_SECTION_LABEL): Define.
1747         (ranges_section_label): Add.
1748         (add_AT_range_list): New.
1749         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
1750         (output_loc_list): Location expression length is always 2-byte.
1751         (output_die): Handle dw_val_class_range_list.
1752         (gen_lexical_block_die): Call add_AT_range_list.
1753         (dwarf2out_init): Initialize ranges_section_label.
1754         (dwarf2out_finish): Emit ranges_section_label.
1755
1756 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1757
1758         * c-typeck.c (digest_init): Allow initializing
1759         static storage duration objects with compound literals.
1760         * doc/extend.texi (Compound literals): Document the extension.
1761
1762 2001-12-12  Richard Henderson  <rth@redhat.com>
1763
1764         * emit-rtl.c (adjust_address_1): Always copy address to avoid
1765         shared rtl.
1766
1767 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
1768
1769         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
1770         to avoid overflow.
1771
1772 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1773
1774         * cppfiles.c (read_include_file): Set buffer size properly when
1775         file is shorter than expected.
1776
1777 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1778
1779         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
1780         enumeral types - encode them using 'i'.
1781
1782 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1783
1784         * doc/extend.texi (Deprecated Features): Deprecate implicit
1785         typename. Document that named return and initializer lists are now
1786         removed.
1787
1788 2001-12-11  Roger Sayle <roger@eyesopen.com>
1789
1790         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
1791         compiler warning about enumeration values not being handled.
1792
1793 2001-12-11  Momchil Velikov  <velco@fadata.bg>
1794
1795         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
1796         shifts.
1797
1798 2001-12-11  Richard Henderson  <rth@redhat.com>
1799
1800         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
1801         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
1802         * config/alpha/alpha.md (prefetch): New.
1803
1804 2001-12-11  Richard Henderson  <rth@redhat.com>
1805
1806         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
1807         if C has only low bits set and doesn't intersect with X or Y.
1808
1809 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
1810
1811         * basic-block.h (flow_preorder_transversal_compute): Declare.
1812         * cfganal.c (flow_preorder_transversal_compute): Implement.
1813
1814 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
1815
1816         * cfganal.c (flow_depth_first_order_compute): Always
1817         increment dfsnum.
1818
1819 2001-11-30 Alan Matsuoka <alanm@redhat.com>
1820
1821         * combine.c (combine_simplify_rtx) : Can't simplify
1822         cases that use mode class MODE_CC.
1823
1824 2001-12-11  Richard Henderson  <rth@redhat.com>
1825
1826         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
1827         which there is no divide expander.
1828
1829 2001-12-11  Richard Henderson  <rth@redhat.com>
1830
1831         * except.c (sjlj_find_directly_reachable_regions): Don't
1832         consider RNL_BLOCKED a directly reachable region.
1833         (sjlj_assign_call_site_values): Trust directly_reachable.
1834         (sjlj_emit_dispatch_table): Likewise.
1835
1836 2001-12-11  Richard Henderson  <rth@redhat.com>
1837
1838         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
1839         we represent the address load's dependency on the gp.
1840         (divmoddi_internal_er): Likewise.
1841         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
1842
1843 2001-12-11  Richard Henderson  <rth@redhat.com>
1844
1845         * emit-rtl.c (widen_memory_access): New.
1846         * expr.h (widen_memory_access): Declare it.
1847         * config/alpha/alpha.c (get_aligned_mem): Use it.
1848
1849 2001-12-11  Richard Henderson  <rth@redhat.com>
1850
1851         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
1852         simplification above out of range check.
1853
1854 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
1855
1856         * config/sparc/sparc.md (prefetch): New.
1857
1858 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1859
1860         * output.h (regno_uninitialized): Make argument unsigned.
1861
1862         * flow.c (regno_uninitialized): Make regno unsigned.
1863
1864 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1865
1866         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
1867         * config/cris/cris.h (ENDFILE_SPEC): Define.
1868         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
1869         * config/pa/elf.h: Likewise.
1870
1871 2001-12-11  Richard Henderson  <rth@redhat.com>
1872
1873         * objc/objc-act.c (build_string_class_template): New.
1874         (build_objc_string_object): Call it.
1875
1876 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
1877
1878         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1879         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1880         * calls.c (store_unaligned_arguments_into_pseudos): Check
1881         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
1882         are passed/returned.
1883         * expr.c (move_block_from_reg): Ditto.
1884         (move_block_from_reg): Ditto.
1885         (copy_blkmode_from_reg): Ditto.
1886         * stmt.c (expand_return): Ditto.
1887         * stor-layout.c (compute_record_mode): If
1888         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
1889         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
1890         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
1891         so that Structures of one field are still treated as structures.
1892         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
1893         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
1894         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
1895         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
1896         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
1897         to special case handling of structure padding.
1898
1899 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
1900
1901         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
1902         (may_trap_exp): Stores only are risk if they trap, too, not just
1903         if code == MEM.
1904
1905 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1906
1907         * flow.c (find_regno_partial): Indent properly.  Add a default to
1908         switch.
1909
1910 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1911
1912         * c-common.c (combine_strings): Complain if concatenating
1913         __FUNCTION__.
1914         * c-parse.in (yylexname): Flag artificial strings.
1915         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
1916 doc:
1917         * extend.texi: Update.
1918
1919 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1920
1921         * c-common.c (type_for_mode): Handle unsigned vectors.
1922         (type_for_mode): Remove redundant calls to TYPE_MODE.
1923
1924         * tree.c (make_vector): New.
1925         (build_common_tree_nodes_2): Use make_vector for vector types.
1926         Add unsigned vector types.
1927
1928         * tree.h (tree_index): Add unsigned types for vectors.
1929         (unsigned_V16QI_type_node): New.
1930         (unsigned_V4SI_type_node): New.
1931         (unsigned_V8QI_type_node): New.
1932         (unsigned_V8HI_type_node): New.
1933         (unsigned_V4HI_type_node): New.
1934         (unsigned_V2SI_type_node): New.
1935
1936 2001-12-11  Stan Shebs  <shebs@apple.com>
1937
1938         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
1939         test of class names.
1940
1941 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1942
1943         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
1944         cpu configuration headers.
1945         * config/h8300/elf.h: Include dbxelf.h.
1946         * config/m68k/linux.h: Likewise.
1947         * config/m68k/m68020-elf.h: Likewise.
1948         * config/m68k/m68kv4.h: Likewise.
1949         * config/sh/elf.h: Likewise.
1950         * config/m68k/m68kemb.h: Add comment about the its purpose.
1951
1952 2001-12-11  Richard Henderson  <rth@redhat.com>
1953
1954         * objc/objc-act.c (build_constructor): Cast initializer values
1955         to the proper field types.
1956
1957 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
1958
1959         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
1960
1961 2001-12-10  Roger Sayle <roger@eyesopen.com>
1962
1963         * builtins.c (expand_builtin): Use a switch statement to list
1964         those functions not expanded without optimizations, instead of a
1965         series of equality tests.
1966
1967 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1968
1969         * config/alpha/vms.h (LIB_SPEC): Define.
1970         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
1971
1972         * libgcc2.c (_bb): Remove ctime declaration.
1973
1974         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
1975         that works if LN_S = cp.
1976
1977         * config/alpha/x-vms (version): Change "." to "_".
1978
1979         * configure.in: Hardcode that vfork works on VMS host.
1980         * configure: Regenerated.
1981
1982 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
1983
1984         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
1985         unless do_obj true.
1986         (process_command): Modify calls to convert_filename.
1987
1988 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1989
1990         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
1991
1992 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
1993
1994         * combine.c (known_cond): Check mode of each operand to determine
1995         if COND is comparing floating point values.
1996
1997 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
1998
1999         * rs6000.h (processor_type): Add PPC405.
2000         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
2001         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
2002         rios1, rs64, and ppc630 processors.
2003         * rs6000.c (processor_target_table): Add PPC405.
2004
2005 2001-12-10  Richard Henderson  <rth@redhat.com>
2006
2007         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
2008         instead of hardcoding subregs into the _be and _le patterns.
2009
2010 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
2011
2012         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
2013
2014 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2015
2016         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
2017         what insn does.
2018
2019 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2020
2021         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
2022         copyright notice formerly conditioned on @ifinfo on @ifnottex
2023         instead.
2024
2025 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2026
2027         * vmsdbgout.c (lookup_filename): Remove warning.
2028
2029 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
2030
2031         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
2032
2033         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2034         (exeext, target_alias, prefix, local_prefix): Define.
2035         * config/alpha/x-vms (USE_COLLECT2): Make empty.
2036         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
2037         file specifications. Remove ".".
2038         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
2039         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
2040
2041 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2042
2043         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
2044
2045 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
2046
2047         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
2048         Add rules for building [vp]crt0.o
2049         * config/alpha/vms.h (START_FILE_SPEC): Define.
2050         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
2051         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
2052         * doc/invoke.texi: Document special Alpha/VMS options.
2053
2054 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2055
2056         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
2057         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
2058         not GNUC.
2059
2060 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2061                           Douglas B. Rupp  <rupp@gnat.com>
2062
2063         * tree.c (append_random_char): Conditionalize INO for VMS.
2064
2065 2001-12-09  Richard Henderson  <rth@redhat.com>
2066
2067         * cfgcleanup.c (label_is_jump_target_p): New function.
2068         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2069         target of a JUMP_INSN from the preceding block.
2070
2071 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
2072
2073         * vmsdbgout.c (lookup_filename): Assign null string instead
2074         of null pointer to fnam.
2075
2076 2001-12-09  Richard Henderson  <rth@redhat.com>
2077
2078         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2079         immediately after a call; insert nops before a call.
2080
2081 2001-12-09  Richard Henderson  <rth@redhat.com>
2082
2083         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2084         not FUNCTION_BOUNDARY.
2085         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2086         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2087         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2088
2089 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
2090
2091         * config/mmix/mmix.c (mmix_function_block_profiler,
2092         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2093         unused functions.
2094         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2095         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2096         prototypes.
2097
2098         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2099         Delete obsoleted macros.
2100
2101 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2102
2103         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2104         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2105
2106         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2107         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2108         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2109         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2110         config/i370/i370.c, config/i386/i386.c,
2111         config/i386/i386-interix.h, config/i386/i386.md,
2112         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2113         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2114         config/rs6000/rs6000.h, config/sparc/linux64.h,
2115         config/sparc/sparc.c, config/v850/v850-protos.h,
2116         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2117         spelling errors.
2118
2119 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2120
2121         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2122         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2123
2124         * config/rs6000/rs6000.c: Ditto.
2125
2126         * config/rs6000/rs6000.md: Ditto.
2127
2128 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2129
2130         * 1750a.md: Add default case in switch.
2131         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2132         if-else statement.
2133         * dsp16xx.c (print_operand_address): Likewise.
2134         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2135         * ia64.md: Add missing braces.
2136         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2137         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2138         if-else statement.
2139         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2140         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2141         * dbxout.c (dbxout_source_file): Move a variable into the scope
2142         where it is used.
2143         * final.c (profile_function): Mark parameter with
2144         ATTRIBUTE_UNUSED.
2145         * genemit.c (gen_expand): Likewise for generated file.
2146         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2147
2148         * vmsdbg.h: Delete spurious close-comment.
2149         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2150         * vmsdbgout.c (write_modbeg): Define return type.
2151
2152         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2153         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2154         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2155         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2156         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2157         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2158         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2159
2160 2001-12-08  Tom Rix  <trix@redhat.com>
2161
2162         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2163         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2164         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2165         for powerpc64.
2166         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2167         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2168         * config/rs6000/rs6000.c (expand_block_move): Do not use
2169         gen_movstrsi_2reg and powerpc64.
2170
2171 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2172
2173         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2174         RID_TYPES_COMPATIBLE_P.
2175
2176         * c-parse.in (reswords): Add __builtin_choose_expr.
2177         Add __builtin_types_compatible_p.
2178         Add CHOOSE_EXPR token.
2179         Add TYPES_COMPATIBLE_P token.
2180         Add production for CHOOSE_EXPR.
2181         Add production for TYPES_COMPATIBLE_P.
2182
2183         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2184         (__builtin_types_compatible_p): Likewise.
2185
2186 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2187
2188         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2189         to unions.
2190
2191 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2192
2193         * c-parse.in: Take string literals in assembler constructs,
2194         not expressions.
2195         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2196         check the strings are STRING_CSTs.
2197
2198 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2199
2200         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2201         using combine_strings to do the concatenation.
2202         * c-parse.in: Replace uses of the string non-terminal with STRING.
2203         Don't attempt string concatenation.
2204         (OBJC_STRING): New terminal.
2205         (string): Remove non-terminal.
2206         (_yylex): Call combine_strings on function names.  Generate
2207         OBJC_STRING terminals; don't pass '@' on to yacc.
2208         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2209         (build_asm_stmt): Similarly.
2210
2211 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2212
2213         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2214
2215 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2216
2217         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2218         (prefetch): Rewrite using PREFETCH RTL primitive.
2219         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2220         * arm.c (arm_init_builtins): Don't initialize a builtin for
2221         __builtin_prefetch here.
2222         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2223
2224 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2225
2226         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2227         in test for a subreg.
2228
2229 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2230
2231         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2232         strings.
2233
2234 2001-12-07  Richard Henderson  <rth@redhat.com>
2235
2236         * doc/extend.texi: Fix typo last change.
2237
2238         * c-decl.c (c_language): Remove duplicate.
2239
2240 2001-12-07  Dale Johannesen  <dalej@apple.com>
2241
2242         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2243         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2244         specific codegen, eliminate a register copy.
2245         (print_operand_address): Add support for Darwin's lo16(constant)
2246         syntax.
2247         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2248         generation of addresses within very large data objects.
2249         (s8bit_cint_operand):  New.
2250         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2251         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2252         Add imul2 and imul3 insn types for multiplication by 16- and
2253         8-bit constants.
2254         Change tablejump patterns to strongly discourage using LR
2255         rather than CTR.
2256         Add %lo16 patterns for Darwin loads and stores.
2257
2258 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2259
2260         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2261
2262 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2263
2264         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2265         with %sp because it can cause the delayed instruction to load
2266         below the stack.
2267
2268 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2269
2270         * alpha.c (alpha_expand_unaligned_store,
2271         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2272         call to immed_double_const.
2273
2274 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2275
2276         * doc/extend.texi (Variable Attributes): Document vector_size.
2277
2278         * attribs.c (c_common_attribute_table): Add vector_size.
2279         (handle_vector_size_attribute): New.
2280         (vector_size_helper): New.
2281         (decl_attributes): Relayout the decl after calculating attribs.
2282
2283 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2284
2285         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2286         description for Trouble section.
2287         * doc/install-old.texi: Adjust for inclusion as chapter of new
2288         installation manual.
2289         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2290         Adjust to include old installation chapter as chapter of new
2291         installation manual.
2292
2293 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2294
2295         * rtl.h (get_jump_table_offset): Declare.
2296         * rtlanal.c (get_jump_table_offset): Implement.
2297
2298 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2299
2300         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2301         Deleted; were used only by BB profiler code.
2302         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2303         (end_final): Delete now-unused vars I, PTR, and SPTR.
2304
2305         * expr.c (store_field): Remove warning.
2306         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2307         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2308         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2309         divisor constant power of 2.
2310         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2311
2312 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2313
2314         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2315         shifting.
2316
2317 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2318
2319         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2320         (DWARF_FRAME_REGISTERS): Delete.
2321
2322 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2323
2324         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2325         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2326         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2327         with defaults for read prefetch with high degree of locality.
2328         * doc/extend.texi (__builtin_prefetch): Update documentation.
2329         * doc/md.texi (prefetch): Add documentation.
2330
2331 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2332
2333         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2334         UNIX V5.1A stdio.h.
2335         * fixinc/fixincl.x: Regenerate.
2336         Fixes PR libf2c/4826.
2337
2338 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2339             Richard Henderson  <rth@redhat.com>
2340
2341         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2342         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2343
2344         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2345         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2346         (frame_state): Same.
2347         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2348
2349 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2350
2351         * langhooks.c (lhd_staticp): Mark parameter with
2352         ATTRIBUTE_UNUSED.
2353
2354 2001-12-06  H.J. Lu <hjl@gnu.org>
2355
2356         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
2357         reduce noise.
2358         (.po.pox): Likewise.
2359         (o/$(PACKAGE).pot): Likewise.
2360
2361 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
2362
2363         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
2364         * tree-inline.c (expand_call_inline): ... here.
2365
2366 2001-12-06  H.J. Lu <hjl@gnu.org>
2367
2368         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
2369         (.po.pox): Likewise.
2370         (o/$(PACKAGE).pot): Likewise.
2371
2372 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
2373
2374         * config.gcc: Include dbxelf.h before elfos.h.
2375         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
2376
2377 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
2378
2379         * cppfiles.c (open_file): If we've opened a directory by
2380         mistake, close it.
2381         (find_include_file): Avoid turning / into // or // into ///.
2382
2383 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2384
2385         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
2386         (STRUCT_VALUE_REGNUM): Restore definition.
2387
2388 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
2389
2390         * flow.c (find_regno_partial): Return register, not the expression
2391         the register is in.
2392
2393 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2394
2395         * function.c (handle_epilogue_set): Check for FP setting case when
2396         SP is set from FP in same insn.
2397
2398 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2399
2400         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
2401         RTX when calling alter_subreg().
2402         (store_multiple_sequence): Pass pointer to RTX when calling
2403         alter_subreg().
2404
2405 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2406
2407         * function.c (assing_parms): Fix typo in last change.
2408         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
2409         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
2410         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2411         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
2412
2413 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
2414
2415         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
2416         correct code selecting section.
2417
2418 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2419
2420         * final.c (count_basic_block, add_bb, add_bb_string):
2421         Kill.
2422         (end_final, final_start_function, final, final_scan_insn,
2423         leaf_function_p): Kill BB profiler related code.
2424         * flags.h (profile_block_flag): Kill.
2425         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
2426         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
2427         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
2428         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
2429         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
2430         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
2431         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
2432         __bb_init_trace_func): Kill.
2433         * toplev.c (profile_block_flag): Kill.
2434         (indepdendent_decode_option, process_options): Kill -a related code.
2435         * alpha.c (direct_call_operand): Likewise.
2436         * arm.c (arm_expand_prologue, thumb_expand_prologue,
2437         thumb_expand_epilogue): Likewise.
2438         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
2439         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2440         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2441         MACHINE_STATE_RESTORE): Kill.
2442         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2443         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2444         MACHINE_STATE_RESTORE): Kill.
2445         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2446         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
2447         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
2448         code.
2449         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
2450         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2451         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2452         MACHINE_STATE_RESTORE): Kill.
2453         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2454         * i960.c (i960_output_function_prologue): Kill BB profiler related
2455         code.
2456         * ia64.c (ia64_compute_frame_size): Likewise.
2457         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2458         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2459         MACHINE_STATE_RESTORE): Kill.
2460         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
2461         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2462         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2463         MACHINE_STATE_RESTORE): Kill.
2464         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
2465         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2466         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2467         MACHINE_STATE_RESTORE): Kill.
2468         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
2469         Kill BB profiler related code.
2470         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2471         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2472         MACHINE_STATE_RESTORE): Kill.
2473         * mips.c (mips_expand_prologue): Kill BB profiler related code.
2474         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2475         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2476         MACHINE_STATE_RESTORE): Kill.
2477         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
2478         * s960.c (s390_function_prologue): Kill BB profiler related code.
2479         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2480         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2481         MACHINE_STATE_RESTORE): Kill.
2482         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2483         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2484         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2485         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2486         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
2487         sparc_nonflat_function_epilogue): Kill BB profiler related code.
2488         (sparc_function_block_profiler, sparc_block_profiler,
2489         sparc_function_block_profiler_exit): Kill.
2490         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
2491         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2492         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2493         MACHINE_STATE_RESTORE): Kill.
2494         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2495         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2496         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2497         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2498         MACHINE_STATE_RESTORE): Kill.
2499         * doc/invoke.texi: Kill documentation of -a and -ax.
2500         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2501         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2502         MACHINE_STATE_RESTORE): Kill.
2503
2504 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
2505
2506         * doc/rtl.texi: Use a table to display RTL format characters.
2507
2508 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
2509
2510         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
2511
2512 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2513
2514         * function.c (keep_stack_depressed): Check global_live_at_start
2515         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
2516
2517 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
2518
2519         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
2520         as set by the generic FreeBSD configure framework.
2521
2522 2001-12-04  Jason Merrill  <jason@redhat.com>
2523
2524         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2525         start_inlining, end_inlining.
2526         * tree-inline.c (expand_call_inline): Call them.
2527         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
2528         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
2529         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
2530         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
2531         (lhd_tree_inlining_end_inlining): New fn.
2532
2533 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2534
2535         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
2536         * c-common.h (shadow_warning): New.
2537         * c-decl.c: Include c-common.h.
2538         (warn_if_shadowing): New, broken out of pushdecl.
2539         (pushdecl): Use warn_if_shadowing.
2540         (store_parm_decls): Prevent duplicate -Wshadow warnings.
2541
2542 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
2543
2544         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
2545         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
2546         (LIB_SPEC): Remove.
2547
2548 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2549
2550         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
2551         (QUAL_UNION_TYPE): New type.
2552
2553         * varasm.c (output_constant, case ERROR_MARK): New case.
2554
2555         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
2556         (c_com): Delete its reference.
2557         * builtins.c: Delete memory checking code.
2558         * calls.c, expr.c, function.c, stmt.c: Likewise.
2559         * builtins.c (expand_builtin_arg_info): Remove reference to
2560         EXPAND_MEMORY_USE_* modifiers.
2561         * explow.c (expr_size): Likewise.
2562         * expr.c (expand_expr, expand_increment): Likewise.
2563         * expr.h (ARGS_SIZE_RTX): Likewise.
2564         * function.c (assign_parms, expand_pending_sizeso): Likewise.
2565         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
2566         * expr.c (in_check_memory_usage): Delete.
2567         (get_push_address, get_memory_usage_from_modifier): Delete.
2568         (expand_assigment): Use EXPAND_WRITE on destination.
2569         (expand_expr): Delete ro_modifier.
2570         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
2571         add EXPAND_WRITE.
2572         (memory_use_mode): Delete.
2573         * flags.h (flag_check_memory_usage): Deleted.
2574         (flag_prefix_function_name): Likewise.
2575         * function.c (expand_function_start): Don't set
2576         current_function_check_memory_usage.
2577         * function.h (check_memory_usage): Delete.
2578         * libfuncs.h, optabs.c: Delete chkr_* stuff.
2579         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
2580         EXPAND_WRITE.
2581         * toplev.c (flag_check_memory_usage): Deleted.
2582         (flag_prefix_function_name): Likewise.
2583         (f_options, process_options): Delete references to above.
2584         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
2585         * varasm.c (CHKR_PREFIX): Deleted.
2586         (make_decl_rtl): Remove flag_prefix_function_name handling.
2587         (assemble_name): Likewise.
2588         * doc/extend.texi: Remove no_check_memory_usage attribute.
2589         * doc/invoke.texi: Remove -fcheck-memory-usage
2590         and -fprefix-function-name.
2591
2592 2001-12-05  Andreas Schwab  <schwab@suse.de>
2593
2594         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
2595         from autoconf.
2596
2597 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
2598
2599         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
2600
2601 2001-12-05  William Cohen  <wcohen@redhat.com>
2602
2603         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
2604         instruction.
2605
2606 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
2607
2608         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
2609         builtins.
2610
2611         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
2612         better reflect reality (change from Apple's tree).
2613         Add more of altivec instructions.
2614         Add ftruncv4sf2 pattern.
2615         Remove more unspecs (vector merge instructions, etc).
2616
2617         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
2618         builtins.
2619         (bdesc_1arg): New, for 1 argument altivec builtins.
2620         (altivec_expand_builtin): Handle unary and ternary ops.
2621         (altivec_init_builtins): Ditto.
2622
2623 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2624
2625         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
2626         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2627
2628 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2629
2630         * gcse.c (store_killed_in_insn): Consider pure calls
2631         as potential store killers in addition to normal calls.
2632
2633 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2634
2635         * expr.c (expand_expr): When checking promoted value, use
2636         DECL_MODE (exp) and not mode.
2637
2638 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2639
2640         * c-typeck.c (output_init_element): Call digest_init
2641         just once, not in each if branch and check its return value for
2642         error_mark_node.
2643
2644 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2645
2646         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
2647         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
2648         (finish_struct): Break the loop if n_incomplete went to 0.
2649         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
2650
2651 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
2652
2653         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
2654
2655 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2656                           Douglas B. Rupp  <rupp@gnat.com>
2657
2658         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
2659         * doc/invoke.texi: Add -gvms.
2660         * doc/passes.texi: Add mention of vmsdbgout.c.
2661         * doc/tm.texi: Document VMS debugging output.
2662
2663 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2664
2665         * function.h (tree, rtx): Remove no-longer-needed definitions.
2666
2667         * function.c (keep_stack_depressed): Refine check for register
2668         clobbered over call.
2669
2670         * expr.c (store_expr): When copying string constant into array,
2671         use functions that update memrefs instead of computations on
2672         addresses to better track MEMs.  Also properly handle 32/64 pointers.
2673         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
2674         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
2675
2676         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
2677         underneath COMPONENT_REFs.
2678         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
2679
2680 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2681
2682         * toplev.c (display_target_options): Don't print twice.
2683
2684 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
2685
2686         * emit-rtl.c (set_unique_reg_note): Don't set
2687         a REG_EQUAL or REG_EQUIV note if multiple sets
2688         are present.
2689
2690 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2691
2692         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
2693         CASE_DROPS_THROUGH.
2694
2695 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2696
2697         * rtl.h (initialize_uninitialized_subregs): New prototype.
2698         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
2699         when optimization is on.
2700         * flow.c (find_regno_partial): Find subregs within an expression.
2701         (initialize_uninitialized_subregs): Initialize live on entry registers
2702         which are used in subreg expressions.
2703
2704 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
2705
2706         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
2707
2708 2001-12-04  DJ Delorie  <dj@redhat.com>
2709
2710         * fixinc/fixincl.c (initialize): Avoid problemsome macro
2711         parameter names (PR 3388).
2712
2713 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
2714
2715         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
2716         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
2717
2718 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2719
2720         * c-common.def (COMPOUND_LITERAL_EXPR): New.
2721         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
2722         (c_staticp): New function.
2723         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
2724         (c_staticp): Declare.
2725         * c-typeck.c (default_function_array_conversion, build_unary_op):
2726         Don't handle CONSTRUCTOR specially.
2727         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
2728         * c-decl.c (build_compound_literal): New function.
2729         * c-tree.h (build_compound_literal): Declare.
2730         * c-parse.in (primary): Use build_compound_literal.
2731         * c-lang.c (LANG_HOOKS_STATICP): Define.
2732         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
2733         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
2734         * doc/extend.texi: Update documentation of compound literals.
2735         Fixes PR c/4787.
2736
2737 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2738
2739         * langhooks.h (struct lang_hooks): Add staticp.
2740         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
2741         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
2742         * langhooks.c (lhd_staticp): New function.
2743         * tree.c (staticp): Call lang_hooks.staticp for language-specific
2744         tree codes.
2745
2746 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2747
2748         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
2749         * gcc.c (process_command): Ensure the cpp driver sees
2750         --help and --target-help, and that the help is printed
2751         exactly once.
2752
2753 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
2754
2755         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2756
2757 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
2758
2759         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
2760         flag_strict_aliasing.  Use separate assignment statements.
2761
2762 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
2763
2764         * build-make, cross-make: Delete file.
2765         * configure.in: Set and substitute CROSS, ALL,
2766         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
2767         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
2768         whether build == host and host == target.  Do not
2769         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
2770         AC_SUBST cross_defines or extra_c_flags.
2771         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
2772         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
2773         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
2774         partially or completely with autoconf-substituted @variable@
2775         notation.
2776         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
2777         @build_overrides@, @extra_c_flags@, all.build, install-build,
2778         install-cross-rest, install-float-h-cross): Deleted.
2779         (install-normal): Rename to install.  Delete old "install"
2780         indirection rule.
2781
2782 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2783
2784         * stmt.c (expand_return): Clear destination instead of clobbering it
2785         when setting a return value via bitsets.
2786
2787 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
2788
2789         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
2790         it has DECL_SAVED_TREE.
2791
2792         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
2793         is in a different binding level, get its abstract origin to be
2794         olddecl.
2795         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
2796         check earlier.
2797         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
2798         DECL_INITIAL is NULL.
2799
2800 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2801
2802         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
2803         Return correct value if one of the subexpressions was optimized to
2804         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
2805         (and_reg_cond): Similarly.
2806
2807 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2808
2809         * function.c (assign_parms): Set last_named only for last named
2810         argument.
2811
2812 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2813
2814         * doc/install.texi: Use the GFDL.  Include years from old install
2815         manual in copyright notice.  Include copyright and GFDL notice on
2816         HTML index page.  Include usual footer on testing.html.
2817         * doc/install.texi2html: Build gfdl.html.  Use -I
2818         $SOURCEDIR/include.
2819         * doc/include/fdl.texi: Adapt for use in the install manual.
2820
2821 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2822
2823         * doc/install.texi: Document that installed native compiler for
2824         building cross compilers should be GCC 2.95 or later.
2825
2826 2001-12-03  Eric Christopher  <echristo@redhat.com>
2827
2828         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
2829         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
2830         patterns.
2831
2832 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
2833
2834         * rtl.def (PREFETCH): New rtx code.
2835         * doc/rtl.texi (PREFETCH): Add documentation.
2836         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
2837         * rtlanal.c (reg_referenced_p): Ditto.
2838         * sched-vis.c (print_exp):  Ditto.
2839         * ssa-dce.c (find_inherently_necessary):  Ditto.
2840
2841         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
2842           (PREFETCH_BLOCK): Define.
2843         * config/ia64/ia64.md (itanium_class): Add lfetch.
2844           (prefetch, prefetch_internal): New.
2845
2846         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
2847         * builtins.def (BUILT_IN_PREFETCH): New.
2848         * builtins.c (expand_builtin_expect): New.
2849           (expand_builtin): Call it.
2850         * doc/extend.texi: Document __builtin_prefetch.
2851
2852         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
2853           conflicts with new generic prefetch functionality.
2854         * config/i386/i386.c (ix86_expand_builtin): Use new name for
2855           prefetch_sse.
2856
2857 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
2858
2859         * objc/Make-lang.in: Update copyright.
2860         (OBJC_OBJS): Add objc-lang.o.
2861         (objc-lang.o): New rule.
2862         * objc/config-lang.in: Fix file description and update
2863         copyright.
2864         * objc/objc-act.c: Do not include langhooks.h and
2865         langhooks-def.h
2866         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
2867         (objc_post_options): Move to objc-lang.c.
2868         (objc_init_options): Move to objc-lang.c.
2869         (objc_init): Make non-static.
2870         (objc_decode_option): Make non-static.
2871         (HASHFUNCTION): Remove macro.
2872         (hash_func): New function.
2873         (hash_enter): Replace HASHFUNCTION with hash_func.
2874         (hash_lookup): Replace HASHFUNCTION with hash_func.
2875         (maybe_objc_tree_codes): New function.
2876         (init_objc): Move ObjC tree code initialization to
2877         maybe_objc_tree_codes().
2878         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
2879         (objc_init): New public prototype.
2880         (objc_decode_option): New public prototype.
2881         (maybe_add_objc_tree_codes): New public prototype.
2882         * objc/objc-lang.c: New file.
2883         (lang_hooks): Moved from objc-act.c.
2884         (objc_post_options): Moved from objc-act.c.
2885         (objc_init_options): Moved from objc-act.c.
2886
2887 2001-12-03  Geoff Keating  <geoffk@redhat.com>
2888
2889         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
2890         of array elements.
2891
2892 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2893
2894         PR c/4988
2895         * gcc.c (process_command): Don't add a preprocessor option for
2896         --help and --target-help; cc1 is enough.
2897
2898 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2899
2900         * c-decl.c (grokdeclarator): Use ISO word.
2901         * cppinit.c: Remove leading capital from diagnostic messages, as
2902         per GNU coding standards.
2903         * emit-rtl.c: Similarly.
2904         * final.c: Similarly.
2905         * gcc.c: Similarly.
2906         * tradcpp.c: Similarly.
2907         * config/arm/arm.c: Similarly.
2908         * config/arm/arm.h: Similarly.
2909         * config/avr/avr.c: Similarly.
2910         * config/avr/avr.h: Similarly.
2911         * config/c4x/c4x.c: Similarly.
2912         * config/cris/cris.c: Similarly.
2913         * config/cris/cris.h: Similarly.
2914         * config/d30v/d30v.c: Similarly.
2915         * config/dsp16xx/dsp16xx.c: Similarly.
2916         * config/dsp16xx/dsp16xx.h: Similarly.
2917         * config/h8300/h8300.c: Similarly.
2918         * config/i386/i386.c: Similarly.
2919         * config/i386/xm-djgpp.h: Similarly.
2920         * config/i960/i960.h: Similarly.
2921         * config/m32r/m32r.c: Similarly.
2922         * config/m68hc11/m68hc11.c: Similarly.
2923         * config/m88k/m88k.c: Similarly.
2924         * config/m88k/m88k.h: Similarly.
2925         * config/mcore/mcore.c: Similarly.
2926         * config/mcore/mcore.h: Similarly.
2927         * config/mips/mips.c: Similarly.
2928         * config/mmix/mmix.c: Similarly.
2929         * config/pa/pa.c: Similarly.
2930         * config/rs6000/rs6000.c: Similarly.
2931         * config/rs6000/sysv4.h: Similarly.
2932         * config/s390/s390.c: Similarly.
2933         * config/sparc/sparc.c: Similarly.
2934         * config/v850/v850-c.c: Similarly.
2935         * config/v850/v850.c: Similarly.
2936
2937 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
2938
2939         * rs6000.h (RETURN_IN_MEMORY): Cast result of
2940         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
2941
2942 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
2943
2944         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
2945         bit twiddling constant.
2946
2947 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2948
2949         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
2950         call purge_dead_edges after removing.
2951         (delete_null_pointer_checks): Do not handle delete_list.
2952
2953         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
2954         (count_basic_blocks): ... here.
2955         (find_basic_blocks, find_bb_boundaries): Cleanup.
2956
2957         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
2958         overflow for types greater then 2 * HOST_WIDE_INT.
2959
2960         * reload.c (find_reloads): Update the duplicates after swapingg.
2961
2962 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2963
2964         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2965
2966 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
2967
2968         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
2969         MASK_LONG_DOUBLE_128): Delete.
2970         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
2971         TARGET_AIX_STRUCT_RET): New flags.
2972         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
2973         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
2974         and -m(no-)svr4-struct-return.
2975         (TARGET_OPTIONS): Add entry for -mlong-double-.
2976         (rs6000_long_double_size_string, rs6000_long_double_type_size,
2977         rs6000_altivec_abi): Declare.
2978         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
2979         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
2980         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
2981         structures of size <= 8 bytes in registers.
2982         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
2983
2984         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
2985         rs6000_long_double_type_size, rs6000_altivec_abi): New
2986         globals.
2987         (rs6000_override_options): Set rs6000_long_double_type_size
2988         from rs6000_long_double_size_string, if nonzero.  Set the
2989         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
2990         not already set.
2991         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
2992         target_flags bit.
2993         (rs6000_init_builtins): This hook now takes no arguments.
2994
2995         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
2996         DRAFT_V4_STRUCT_RET to 1.
2997
2998 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2999
3000         * c-typeck.c (really_start_incremental_init, push_init_level):
3001         Avoid constructor_max_index being other than an INTEGER_CST.
3002
3003 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3004
3005         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
3006         unsigned.
3007         (ASM_GENERATE_INTERNAL_LABEL): Same.
3008         (UNIQUE_SECTION): Fix typo.
3009
3010 2001-12-02  Richard Henderson  <rth@redhat.com>
3011
3012         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
3013
3014 2001-12-02  Richard Henderson  <rth@redhat.com>
3015
3016         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
3017         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
3018         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
3019         * expr.h, final.c, reload1.c: Adjust users.
3020
3021         * alias.c (nonoverlapping_component_refs_p): New.
3022         (decl_for_component_ref, adjust_offset_for_component_ref): New.
3023         (nonoverlapping_memrefs_p): Use them.
3024         * emit-rtl.c (component_ref_for_mem_expr): New.
3025         (set_mem_attributes): Use it.
3026         (set_mem_offset): New.
3027         * expr.c (expand_assignment): Call set_mem_attributes for
3028         inner references; adjust the memory offset as needed.
3029         * print-rtl.c (print_mem_expr): New.
3030         (print_rtx): Use it.
3031
3032 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
3033
3034         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
3035
3036         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
3037         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
3038         (ASM_SPEC): Don't redefine.
3039         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
3040         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
3041         * config/alpha/vms-dwarf2.asm: New file.
3042
3043         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
3044         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
3045         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
3046         (vmsdbgout_after_prologue): New declaration.
3047         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
3048         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
3049         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
3050         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
3051         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
3052         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
3053         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
3054         Test VMS_DEBUGGING_INFO.
3055         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
3056         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
3057         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
3058         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
3059         VMS_AND_DWARF2_DEBUG.
3060         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
3061         (decode_g_option): Add "vms" to debug_type_names.
3062         (process_options): Set vmsdbg_debug_hooks if -gvms.
3063         (lang_independent_init): Emit line number for VMS unless -g0.
3064         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3065         * vmsdbg.h, vmsdbgout.c: New files.
3066
3067 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3068
3069         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3070
3071 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3072
3073         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3074         * dwarf2out.c (is_cxx): Prototype.
3075         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3076         warning.
3077         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3078
3079 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3080
3081         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3082
3083 2001-12-02  Geoff Keating  <geoffk@redhat.com>
3084
3085         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3086         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3087         rather than simplify_subreg.  Check for volatile-ness.  Check that
3088         we're not splitting one slow operation into two slow operations.
3089
3090 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
3091
3092         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3093         before shifting.
3094
3095 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3096
3097         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3098         capital from diagnostics.
3099         * c-lex.c (cb_file_change): Similarly.
3100         * c-parse.in : Similarly.
3101         * cfgrtl.c (verify_flow_info): Similarly.
3102         * collect2.c: Similarly.
3103         * cppfiles.c (find_include_file): Similarly.
3104         * cppinit.c (cpp_handle_option): Similarly.
3105         * cpplex.c (cpp_spell_token): Similarly.
3106         * cppmain.c (do_preprocessing): Similarly.
3107         * gcc.c (translate_options, process_command, do_spec1,
3108         main, pfatal_execute): Similarly.
3109         * genattr.c (main): Similarly.
3110         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3111         write_test_expr, main): Similarly.
3112         * gencodes.c (main): Similarly.
3113         * genconfig.c (main): Similarly.
3114         * genconstants.c (main): Similarly.
3115         * genemit.c (main): Similarly.
3116         * genextract.c (main): Similarly.
3117         * genflags.c (main): Similarly.
3118         * genopinit.c (main): Similarly.
3119         * genoutput.c (process_template, main): Similarly.
3120         * genpeep.c (main): Similarly.
3121         * genrecog.c (main): Similarly.
3122         * gensupport.c (is_predicable, identify_predicable_attribute,
3123         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3124         * ggc-page.c (alloc_anon): Similarly.
3125         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3126         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3127         parse_stabs_common, parse_stabs, write_varray, write_object,
3128         read_seek, copy_object, main, error): Similarly.
3129         * profile.c (compute_branch_probabilities): Similarly.
3130         * reg-stack.c (check_asm_stack_operands): Similarly.
3131         * reload.c (find_reloads): Similarly.
3132         * reload1.c (spill_failure, failed_reload): Similarly.
3133         * rtl-error.c (_fatal_insn_not_found): Similarly.
3134         * toplev.c (read_integral_parameter, crash_signal,
3135         decode_f_option, set_target_switch, parse_options_and_default_flags)
3136         : Similarly.
3137         * tradcif.y (parse_number, yylex): Similarly.
3138         * tradcpp.c (main, fancy_abort): Similarly.
3139         * tree.c (tree_check_failed): Similarly.
3140         * varray.c (varray_check_failed): Similarly.
3141         * xcoffout.c (xcoff_output_standard_types): Similarly.
3142 objc:
3143         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3144         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3145         finish_message_expr, build_protocol_expr, is_public,
3146         start_class): Similarly.
3147
3148 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3149
3150         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3151         trailing period from diagnostics.
3152         * c-lex.c (cb_file_change): Similarly.
3153         * cppmacro.c (check_trad_stringification): Similarly.
3154         * gcc.c (do_spec_1): Similarly.
3155         * genattr.c (main): Similarly.
3156         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3157         * gencodes.c (main): Similarly.
3158         * genconfig.c (main): Similarly.
3159         * genconstants.c (main): Similarly.
3160         * genemit.c (main): Similarly.
3161         * genextract.c (main): Similarly.
3162         * genopinit.c (main): Similarly.
3163         * genoutput.c (main): Similarly.
3164         * genpeep.c (main): Similarly.
3165         * genrecog.c (main): Similarly.
3166         * mips-tfile.c (add_file, error): Similarly.
3167         * profile.c (init_branch_prob): Similarly.
3168         * reload1.c (spill_failure): Similarly.
3169         * stmt.c (parse_output_constraint): Similarly.
3170         * varasm.c (assemble_variable): Similarly.
3171
3172 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3173
3174         * m68k.c (init_FPA_table): Provide static prototype.
3175         * mips/abi64.h (mips_function_value): Move prototype to ...
3176         * mips-protos.h (mips_function_value): ... here.
3177         * mips.c: Include halfpic.h.
3178         * output.h (rdata_section): Prototype.
3179
3180         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3181         * m88k.c (m88k_svr3_asm_out_constructor,
3182         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3183         !OBJECT_FORMAT_ELF.
3184         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3185         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3186         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3187
3188 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3189
3190         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3191         LO_SUM addresses less than word size are not legitimate,
3192         because they lead to invalid SUBREGs.
3193         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3194
3195 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3196
3197         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3198         while scanning for multiple back edges.
3199
3200 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3201
3202         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3203         * config/rs6000/tramp.asm: Use it.
3204
3205 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3206
3207         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3208         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3209         xmalloc.
3210
3211 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3212
3213         * pa.c (output_ascii): Cast `p' to unsigned char.
3214
3215 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3216
3217         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3218         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3219         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3220         (altivec_init_builtins): Ditto.
3221         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3222
3223         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3224         veccomplex, vecfloat, and vecperm, for altivec instructions.
3225         Modify altivec patterns to use appropriate attribute type.
3226         Modify altivec patterns to match RTL operations where appropriate
3227         (IE no unspec where we can avoid it).
3228         Add vector unit scheduling for ppc7450.
3229         Rename patterns to what they are where appropriate
3230         (altivec_vaddfp->addv4sf3, etc)
3231
3232         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3233         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3234
3235         * config/rs6000/sysv4.h: Add -mcpu=7450.
3236
3237         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3238         _builtin_altivec_ld_interal function.
3239
3240 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3241
3242         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3243         strchr, strrchr, isascii, gettimeofday.
3244         * config.in, configure: Regenerate.
3245
3246 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3247
3248         * unroll.c (unroll_loop): Correct special exit cases.
3249
3250 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3251
3252         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3253         accept DFmode and DImode only.
3254
3255 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3256
3257         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3258         (STACK_DYNAMIC_OFFSET): Same.
3259
3260 2001-11-30  Richard Henderson  <rth@redhat.com>
3261
3262         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3263
3264 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3265
3266         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3267         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3268         the values in call_used_registers.
3269
3270 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3271
3272         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3273         gthr-single.
3274
3275 2001-11-30  Jason Merrill  <jason@redhat.com>
3276
3277         * dwarf2out.c (is_cxx): New fn.
3278         (add_data_member_location_attribute): Check it.
3279         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3280
3281 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3282
3283         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3284
3285 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3286
3287         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3288         MODE_VECTOR_FLOAT as allowed.
3289
3290 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3291
3292         Purge cruft now we have build libiberty.
3293
3294         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3295         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3296         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3297         USE_HOST_STRSTR): Delete variables.
3298         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3299         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3300         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3301         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3302         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3303         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3304         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3305         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3306         (HOST_LIBS): Ditto.
3307         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3308         (OBJS): Remove splay-tree.o.
3309         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3310         (distclean): No need to delete splay-tree.c obstack.c
3311         hashtab.c safe-ctype.c.
3312         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3313         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3314         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3315         Delete.
3316         * configure.in: Don't use them.
3317         Set and substitute @FORBUILD@.
3318         * config.in, configure: Regenerate.
3319         * doprint.c: Move to libiberty/_doprnt.c.
3320         * doc/configterms.texi: Document that libiberty is now built
3321         up to three times.  Fix typo.
3322
3323 2001-11-30  Jason Merrill  <jason@redhat.com>
3324
3325         * dwarf2out.c (add_data_member_location_attribute): Do the
3326         right thing for virtual bases.
3327         * dbxout.c (dbxout_type): For a virtual base, print the offset
3328         within the vtable.
3329
3330 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3331
3332         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3333
3334 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3335
3336         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3337         go in memory.
3338         Remove unused attribute for named.
3339
3340 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3341
3342         * genattrtab.c (attr_rtx_1): New function containing the
3343         majority of `attr_rtx'.  Move variable declarations into the
3344         scope where they are used.  Eliminate unnecessary gotos.
3345         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3346         VA_FIXEDARG, and VA_CLOSE.
3347
3348 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3349
3350         * config/cris/cris.c (cris_notice_update_cc): Check first
3351         destination also against overlap with cc_status.value2 and second
3352         destination against overlap with cc_status.value1.  For overlaps,
3353         clear overlapped value, don't just CC_STATUS_INIT.
3354
3355         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
3356         Fix typo in comment.
3357         (LINK_SPEC): Remove whitespace at end of line.
3358
3359 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3360
3361         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
3362
3363 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3364
3365         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
3366         macros for the supported debugging types.
3367
3368 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3369
3370         PR other/4932
3371         * config/i386/i386.c (print_operand):  Verify that the
3372           argument to %c is a constant and not a conditional which
3373           needs to be reversed.
3374
3375 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
3376
3377         * emit-rtl.c (gen_lowpart_common): Fix conversion of
3378         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
3379         of low part of those arrays for 32bit and 64bit hosts.
3380
3381 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3382
3383         * Makefile.in (insn-output.o): Depend on insn-codes.h.
3384
3385 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3386
3387         * configure.in (target_list): Add generated-manpages.
3388         * configure: Regenerate.
3389         * Makefile.in (generated-manpages): Depend on
3390         lang.generated-manpages.
3391         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
3392
3393 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
3394
3395         * config/arm/crti.asm (_init): Add .thumb_func if compiled
3396         with -mthumb.
3397         (_fini): Add .thumb_func if compiled with -mthumb.
3398
3399 2001-11-28  Eric Christopher  <echristo@redhat.com>
3400
3401         * config/mips/mips.c (override_options): Fix thinko in mips_tune
3402         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
3403
3404 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
3405
3406         * alpha.md (tablejump): Use pic_offset_table_rtx
3407         instead of gen_rtx_REG.
3408
3409 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
3410
3411         * expr.c (store_expr): When copying a string constant into an
3412         array, reset the known alignment of the MEM for the section to
3413         be cleared to BITS_PER_UNIT.
3414
3415 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3416
3417         * config/cris/cris.c: Remove whitespace at end of line.
3418
3419 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
3420
3421         * config.gcc (i[34567]86-*-interix3*): New case.
3422         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
3423         New files.
3424
3425 2001-11-28  Richard Henderson  <rth@redhat.com>
3426
3427         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
3428         symbolic_operand as the predicate.
3429
3430 2001-11-28  Richard Henderson  <rth@redhat.com>
3431
3432         * doloop.c (doloop_modify_runtime): Properly select induction
3433         variable; skip late entry test if biv initializer created by loop.
3434
3435 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3436
3437         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
3438         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
3439
3440         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
3441
3442         * tree.h: Add missing checks on some macros; make formatting more
3443         consistent.
3444
3445         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
3446         level; only add to pending_sizes if find it.
3447
3448         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
3449
3450         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
3451         Add casts to remove warnings.
3452
3453         * Makefile.in (OBJS): Sort alphabetically.
3454
3455         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
3456         Also minor cleanups.
3457
3458 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
3459
3460         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
3461         (FLAGS_TO_PASS): Add STAGE_PREFIX.
3462         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
3463         to STAGE_PREFIX.
3464
3465 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3466
3467         * cse.c (true_dependence_in_rtx): New function.
3468         (invalidate): Use it.
3469
3470         * c-common.h (GOTO_FAKE_P): New macro.
3471         * tree-inline.c (GOTO_FAKE_P): Set.
3472         * c-tree.texi (GOTO_FAKE_P): Document.
3473
3474         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
3475         containing pointers.
3476         (output_addressed_constants): Check for local/external relocations.
3477         * elfos.h (SELECT_SECTION): Classify data section.
3478         * tm.texi (SELECT_SECTION): Update documentation.
3479
3480         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
3481         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
3482
3483 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3484
3485         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3486         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
3487         OBJECT_FORMAT_ROSE.
3488
3489 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3490
3491         * config/cris/cris.c: Tweak spacing for prototypes.
3492         (LOSE_AND_RETURN): New macro.
3493         (cris_operand_lossage): New function.
3494         (cris_print_index, cris_print_base): Use cris_operand_lossage
3495         rather than fatal_insn.
3496         (cris_print_operand, cris_print_operand_address): Use
3497         LOSE_AND_RETURN rather than fatal_insn and internal_error.
3498         (cris_output_addr_const): Use LOSE_AND_RETURN and
3499         output_operand_lossage rather than fatal_insn and internal_error
3500         for valid but unexpected rtx expressions.
3501
3502         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
3503         for a SUBREG in src or dest, abort instead.
3504
3505 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3506
3507         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
3508         doc.
3509
3510 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
3511
3512         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
3513         preprocessor define.  If only DBX_DEBUGGING_INFO or only
3514         DWARF2_DEBUGGING_INFO is supported for the target, provide
3515         appropriate definitions.
3516
3517 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3518
3519         * Makefile.in: Update, and add c-objc-common.o dependencies.
3520         * c-lang.c: Remove unnecessary includes.
3521         (c_init): Move bulk of code to c_objc_common_init, and call it.
3522         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
3523         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
3524         c-objc-common.c.
3525         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
3526         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
3527         c_objc_common_init, c_missing_noreturn_ok_p): New.
3528         * toplev.c: Update comment.
3529         * doc/passes.texi: Update.
3530 objc:
3531         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
3532         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
3533         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
3534         (objc_init): Update to use c_objc_common_init.
3535
3536 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3537
3538         * cpphash.c (_cpp_init_hashtable): Update.
3539         * cpphash.h (struct spec_nodes): Remove n_L.
3540         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
3541
3542 2001-11-17  Richard Henderson  <rth@redhat.com>
3543
3544         * unroll.c (loop_iterations): Move last change ...
3545         * doloop.c (doloop_modify_runtime): ... here.
3546
3547 2001-11-17  Corey Minyard  <minyard@acm.org>
3548             Richard Henderson  <rth@redhat.com>
3549
3550         * unroll.c (loop_iterations): Detect one situation in which we
3551         overestimate the number of iterations.
3552
3553 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3554
3555         * gcc.c (set_input): Export.
3556         Move declaration ...
3557         gcc.h (set_input): ... here.
3558
3559 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3560
3561         * gcc.c (set_collect_gcc_options): New function, split out from
3562         main.
3563         Ignore elided switches.
3564         (do_spec): Invoke before executing command.
3565         (do_spec_1): Likewise.
3566         Fixes PR other/3968.
3567
3568 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
3569
3570         * config/cris/cris.h (INT_ASM_OP): Remove.
3571
3572 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3573
3574         * config/i386/sol2.h (WINT_TYPE): Redefine.
3575         (WINT_TYPE_SIZE): Likewise.
3576
3577 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3578
3579         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
3580         (dup2): Make static and add prototype.
3581         * m68k/plexus.h: Don't define NO_DUP2.
3582         * configure.in (AC_CHECK_FUNCS): Add dup2.
3583         * config.in, configure: Regenerate.
3584
3585         * ia64/aix.h (REG_SIZE): Don't #undef.
3586         * sparc.h (REG_SIZE): Delete.
3587         * flow.c (mark_used_regs): Don't use REG_SIZE.
3588         * regs.h (REG_SIZE): Delete.
3589
3590 2001-11-27  Andreas Schwab  <schwab@suse.de>
3591
3592         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
3593         PREFERRED_DEBUGGING_TYPE.
3594
3595 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3596
3597         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
3598         (expr.o, varasm.o): Depends on langhooks.h.
3599         * c-common.c (c_safe_from_p): Always declare.
3600         (c_expand_expr): Refine when declared.
3601         * c-lang.c (c-common.h): Now include.
3602         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
3603         (c_init): Don't set lang_safe_from_expr.
3604         * expr.c (langhooks.h): Now include.
3605         (lang_safe_from_p): No longer define.
3606         (safe_from_p): Use lang hook.
3607         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
3608         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
3609         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
3610         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
3611         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
3612         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
3613         * langhooks.h (struct lang_hooks): New fields expand_constant
3614         and safe_from_p.
3615         * output.h (output_constant): Size arg is HOST_WIDE_INT.
3616         * stmt.c (expand_decl_init): No longer need to expand constant
3617         for CONST_DECL.
3618         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
3619         * toplev.c (lang_expand_constant): Delete var.
3620         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
3621         operations on SAVE_EXPR.
3622         * varasm.c (langhooks.h): Now include.
3623         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
3624         (record_constant_1, output_addressed_constants): Likewise.
3625         (initializer_constant_valid_p, output_constant): Likewise.
3626         (output_constant_def): Process no-defer of string constant.
3627         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
3628         (output_constant): Strip more conversions.
3629         Track our size and pad for the rest.
3630         (array_size_for_constructor): Remove code for non-byte STRING_CST.
3631         (output_constructor): SIZE now HOST_WIDE_INT.
3632
3633 2001-11-27  Richard Henderson  <rth@redhat.com>
3634
3635         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
3636         in computing DIFF.
3637
3638 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
3639
3640         * cppfiles.c (read_include_file): Add comment.
3641
3642 2001-11-26  Richard Henderson  <rth@redhat.com>
3643
3644         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
3645
3646 2001-11-26  Richard Henderson  <rth@redhat.com>
3647
3648         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
3649         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
3650         commented out override.
3651
3652 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3653
3654         * cppfiles.c (stack_include_file): Don't optimize zero-length
3655         files.
3656         (read_include_file): NUL-terminate read files.
3657         * cpplex.c (handle_newline, skip_escaped_newlines,
3658         get_effective_char, skip_whitespace, parse_identifier,
3659         parse_identifier_slow, parse_number, parse_string,
3660         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
3661         NUL-terminated.
3662         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
3663         Be sure buffers are NUL terminated.
3664         * cppmacro.c (warn_of_redefinition): Kill compile warning.
3665
3666 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3667
3668         * c-common.c: Include tree-inline.h.
3669         (c_language): Move separate definitions here.
3670         (c_common_init_options, c_common_post_options): New.
3671         (c_common_lang_init): Rename c_common_init.
3672         * c-common.h (c_common_lang_init): Similarly.
3673         (c_common_init_options, c_common_post_options): New.
3674         * c-lang.c (c_post_options): Move body to c_common_post_options.
3675         (c_init_options): Use c_common_init_options.
3676         (c_init): Update.
3677         * langhooks.def: Rearrange.
3678         * langhooks.h: Rearrange, and improve comments.
3679         * toplev.c (do_compile): New function.
3680         (toplev_main): Use it.
3681         (lang_independent_f_options, parse_options_and_default_flags,
3682         process_options): Remove trailing periods.
3683         * Makefile.in: Update.
3684 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
3685         functions.
3686         (ojbc_init): Update.
3687
3688 2001-11-26  Richard Henderson  <rth@redhat.com>
3689
3690         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
3691
3692 2001-11-26  DJ Delorie  <dj@redhat.com>
3693
3694         * expr.c (store_constructor): Actually use the value computed
3695         if WORD_REGISTER_OPERATIONS.
3696
3697 2001-11-26  Richard Henderson  <rth@redhat.com>
3698
3699         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
3700         for CONSTRUCTOR.
3701
3702 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3703
3704         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
3705         correct function on AIX.
3706
3707 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
3708
3709         * toplev.c (process_options): Don't force
3710         flag_optimize_sibling_calls to zero just because exceptions are
3711         enabled.
3712
3713 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
3714
3715         * df.h (transfer_function_sbitmap): Use PARAMS around argument
3716         list in function prototypes.
3717         (transfer_function_bitmap): Likewise.
3718
3719 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
3720
3721         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
3722         * config/i386/netbsd-elf.h: Likewise.
3723
3724 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3725
3726         * doc/trouble.texi: Remove outdated RS/6000 comments.
3727
3728 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3729
3730         * final.c (walk_alter_subreg): Fix return value.
3731
3732 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3733
3734         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
3735         alter_subreg.
3736         * sparc.md (post-reload splitters): Do not call alter_subreg.
3737         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
3738
3739 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
3740
3741         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
3742
3743 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
3744
3745         * final.c: (insn_lengths): Make it an int *, so that large jump
3746         tables don't overflow.
3747
3748 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3749
3750         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
3751         (format_types): Use it for scanf.
3752         (dollar_arguments_pointer_p): New.
3753         (init_dollar_format_checking): Store details of which arguments
3754         are pointers.
3755         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
3756         (finish_dollar_format_checking): Take extra parameter
3757         pointer_gap_ok.  Treat unused arguments differently if
3758         pointer_gap_ok and the unused arguments are pointers.
3759         (check_format_info_main): Pass extra argument to
3760         finish_dollar_format_checking.
3761         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
3762         unused arguments are present between used arguments with operand
3763         numbers.
3764
3765 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
3766
3767         * df.c: Add prototypes for hybrid_search_bitmap and
3768         hybrid_search_sbitmap.
3769         (hybrid_search_bitmap): New function.
3770         (hybrid_search_sbitmap): New function.
3771         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
3772         (iterative_dataflow_bitmap): Ditto.
3773
3774 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3775
3776         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3777         address computations.
3778
3779 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3780
3781         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
3782         register b (low part of d).
3783
3784 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3785
3786         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
3787         passed to mcount.
3788
3789 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
3790
3791         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
3792         * config/alpha/x-vms: New file, to compile the above.
3793         * config.gcc (alpha*-dec-vms*): Add x-vms.
3794
3795 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
3796
3797         * genextract.c (main): Set ro_loc for peepholes.
3798
3799 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
3800
3801         * fix-header.c (main): Move inf_buffer termination and inf_limit
3802         calculation to after read.
3803
3804         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
3805         (__UNIX_FOPEN): Define.
3806
3807 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3808
3809         * function.c (assign_stack_temp_for_type): Clear alias set before
3810         setting new one.
3811
3812 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
3813
3814         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
3815         format.
3816         * rs6000.md (cmptf): Fix typo.
3817
3818 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
3819
3820         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
3821         * varasm.c (output_constructor): Use assemble_integer rather
3822         than ASM_OUTPUT_BYTE.
3823
3824 2001-11-23  Andreas Jaeger  <aj@suse.de>
3825
3826         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
3827         extension.
3828
3829 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
3830
3831         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
3832         default definition.
3833         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
3834         (MULTILIB_DEFAULTS): Remove previous definition.
3835
3836 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
3837
3838         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
3839         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
3840
3841 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3842
3843         * cris.h: Revert thinko in last patch.
3844
3845 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3846
3847         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
3848         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
3849         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
3850         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
3851         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
3852         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
3853
3854         * predict.c, reg-stack.c: Fix spelling errors.
3855
3856 2001-10-09  Andrew Haley  <aph@redhat.com>
3857
3858         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
3859         start of stack slot.
3860
3861 2001-11-22  Graham Stott  <grahams@redhat.com>
3862
3863         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
3864         replacement jump after original jump.
3865
3866         (verify_flow_info): Remove redundent initialisation.
3867         Handle reaching end of insn list before finding a BARRIER.
3868         Only issue one missing barrier diagnostic.
3869
3870 2001-11-22  Graham Stott  <grahams@redhat.com>
3871
3872         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
3873
3874 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3875
3876         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
3877         insn actually does.
3878
3879 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
3880
3881         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
3882         Fix typo -mm32rx=> -m32rx.
3883
3884         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
3885         targets.
3886
3887         * config.gcc (xscale-coff): Add necessary header files to
3888         tm_file variable.
3889
3890 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3891
3892         * rs6000.c (output_cbranch): Use $, not %$, in output template.
3893
3894 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3895
3896         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
3897         (lang_type_quals): Declare.
3898         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
3899         retrieve language-specific qualifiers for a type node, instead of
3900         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
3901         lang_dump_tree.
3902         * tree-dump.h: Rename from c-dump.h.
3903         * c-common.h (C_TYPE_QUALS): Removed.
3904         Move declarations for tree-dump.c interface to...
3905         * tree.h: ... here. Remove lang_dump_tree.
3906         * langhooks.h (struct lang_hooks_for_tree_dump): New.
3907         (struct lang_hooks): Add tree_dump hooks.
3908         * langhooks.c (lhd_tree_dump_dump_tree): New function.
3909         (lhd_tree_dump_type_quals): New function.
3910         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
3911         Declare.
3912         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
3913         * Makefile.in: Move tree-dump.o to language-independent back-end.
3914
3915 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3916
3917         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
3918         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
3919         * arc.h (DBX_REGISTER_NUMBER): Likewise.
3920         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
3921         * avr.h (DBX_REGISTER_NUMBER): Likewise.
3922         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
3923         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
3924         * convex.h (DBX_REGISTER_NUMBER): Likewise.
3925         * cris.h (DBX_REGISTER_NUMBER): Likewise.
3926         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
3927         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
3928         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
3929         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
3930         * i370.h (DBX_REGISTER_NUMBER): Likewise.
3931         * i860.h (DBX_REGISTER_NUMBER): Likewise.
3932         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
3933         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
3934         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3935         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
3936         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
3937         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
3938         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
3939         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
3940         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
3941         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
3942         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
3943         * romp.h (DBX_REGISTER_NUMBER): Likewise.
3944         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
3945         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3946         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
3947         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
3948         * v850.h (DBX_REGISTER_NUMBER): Likewise.
3949         * vax.h (DBX_REGISTER_NUMBER): Likewise.
3950         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
3951
3952         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
3953         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
3954
3955 2001-11-21  H.J. Lu <hjl@gnu.org>
3956
3957         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
3958
3959 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3960
3961         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
3962         emit_cmp_and_jump_insns.
3963
3964         * stormy16.c (xstormy16_expand_builtin_va_arg,
3965         xstormy16_expand_casesi): Likewise.
3966
3967 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3968
3969         * function.c (keep_stack_depressed): Major rework.
3970         (handle_epilogue_set, emit_equiv_load): New functions.
3971         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
3972         has return value.
3973         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
3974         * rtl.h (SET_IS_RETURN_P): New macro.
3975
3976         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
3977         and also support TREE_ADDRESSABLE.
3978         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
3979
3980 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
3981
3982         * rs6000.md (cmptf_internal1): Replace %$ with $.
3983
3984 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
3985
3986         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
3987         (read_include_file): Use STAT_SIZE_TOO_BIG.
3988
3989         * cppinit.c (INO_T_COPY): Define.
3990         (INO_T_EQ): Uppercase parameters.
3991         (append_include_chain): Use INO_T_COPY.
3992
3993 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
3994
3995         * cfg.c: Fix typos and formatting in the introductory comment.
3996
3997 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
3998
3999         * profile.c (compute_branch_probabilites):  Compute probabilities
4000         for entry/exit edges; estimate probabilities for zero counts.
4001
4002 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4003
4004         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
4005         to emit_library_call.
4006         * function.c (expand_main_function, expand_function_start,
4007         expand_function_end): Likewise.
4008         * profile.c (output_func_start_profiler): Likewise.
4009         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
4010         second argument to emit_library_call.
4011         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
4012         as second argument to emit_library_call.
4013         * calls.c (emit_library_call): Update fn_type description.
4014
4015 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
4016
4017         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
4018         if fndecl is still DECL_INLINE and has DECL_RESULT.
4019
4020 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4021
4022         * clipper.c (clipper_movstr): Avoid uninitialized warning.
4023         * i960.c (is_mask, legitimize_address): Likewise.
4024         * m88k.c (m88k_expand_prologue): Likewise.
4025         * m88k.md: Likewise.
4026         * mcore.c (emit_new_cond_insn): Likewise.
4027         * stormy16.c (xstormy16_emit_cbranch): Likewise.
4028
4029 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
4030
4031         * config.gcc: Delete powerpcle-*-solaris2* stanza.
4032         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
4033         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4034         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
4035         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
4036         config/rs6000/t-ppcos: Expunge all references to Solaris.
4037
4038         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
4039
4040         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
4041         output templates.
4042         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
4043         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
4044
4045 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4046
4047         * sh.md: Avoid uninitialized warnings.
4048         * vax.c (vax_rtx_cost): Likewise.
4049
4050 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4051
4052         * rs6000.c (direct_return): Check if we are saving altivec
4053         registers.
4054         (first_altivec_reg_to_save): New.
4055         Updated stack frame layout comments.
4056         (rs6000_stack_info): Calculate altivec register save size.
4057         Save link register if we saved some altivec registers.
4058         (rs6000_stack_info): Align save size to 16 if altivec abi or
4059         abi_darwin.
4060         (rs6000_stack_info): Calculate altivec register offsets.
4061         (rs6000_stack_info): Add altivec info to save_size.
4062         (debug_stack_info): Add altivec debug info.
4063         (rs6000_emit_prologue): Save altivec registers and vrsave.
4064         (compute_vrsave_mask): New.
4065         (altivec_expand_builtin): Remove unused variables.
4066         (rs6000_parse_abi_options): Add static qualifier.
4067         (rs6000_expand_builtin): Remove unused parameters.
4068         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4069         (altivec_init_builtins): Same.
4070         (is_altivec_return_reg): New.
4071         (vrsave_operation): New.
4072         (ALTIVEC_REG_BIT): New.
4073         (generate_set_vrsave): New.
4074
4075         * rs6000.md (get_vrsave): New.
4076         (set_vrsave): New.
4077         (*set_vrsave_internal): New.
4078
4079         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4080         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4081         altivec_padding_size, vrsave_mask.
4082         (TOTAL_ALTIVEC_REGS): New.
4083         (EPILOGUE_USES): Add VRSAVE_REGNO.
4084
4085 2001-11-20  Jeff Law <law@redhat.com>
4086
4087         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4088         exit label as necessary.
4089
4090 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
4091
4092         * reload1.c (elimination_effects): Use function_invariant_p
4093         instead of CONSTANT_P when considering register equivalences.
4094
4095 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
4096
4097         * config.gcc: Add FreeBSD/PowerPC target.
4098         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4099         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4100         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4101         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4102         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4103         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4104         freebsd-spec.h to tm_file.
4105         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4106         * config/freebsd.h: Tidy up.
4107         (USING_CONFIG_FREEBSD): Define.
4108         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4109         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4110         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4111         (TARGET_HAS_F_SETLKW): Define.
4112         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4113         * config/freebsd-spec.h: New file.
4114         * config/rs6000/freebsd.h: New file.
4115         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4116         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4117         USING_SVR4_H to know when to turn on ELF support.
4118         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4119         define only if not already defined.
4120         Add FreeBSD support.
4121         * config/rs6000/aix.h (TARGET_VERSION): Define.
4122         * config/rs6000/beos.h: Likewise.
4123         * config/rs6000/darwin.h: Likewise.
4124         * config/rs6000/mach.h: Likewise.
4125         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4126         Don't include lynx.h directly.
4127
4128 2001-11-20  Graham Stott  <grahams@redhat.com>
4129
4130         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4131         Fix lossage in last change return OB.
4132
4133 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4134
4135         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4136         Remove unneeded exit related macros.
4137
4138 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4139
4140         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4141
4142         * rs6000.c (rs6000_emit_move): Add TFmode case.
4143         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4144         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4145         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4146         * rs6000.h: ... to here.
4147         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4148         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4149         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4150
4151 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4152
4153         * emit-rtl.c (get_mem_attrs): Fix typo.
4154
4155 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4156
4157         * c-lang.c (finish_file): Backout 2001-11-16
4158         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4159         before calling c_expand_deferred_function.
4160
4161 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4162
4163         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4164         Don't register empty .eh_frame sections.
4165         (__deregister_frame_info_bases, __deregister_frame): Don't
4166         unregister them either.
4167
4168 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4169
4170         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4171         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4172         * configure: Regenerate.
4173         * config.in: Add dummy definitions of new flags.
4174         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4175         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4176         * gcc.c (ASM_DEBUG_SPEC): New macro.
4177         (asm_debug): New static variable.
4178         (default_compilers): Add asm_debug when assembling from
4179         user input.
4180         (static_specs): Add asm_debug.
4181
4182 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4183
4184         * config.gcc (*-*-freebsd*): Remove configuration block.
4185
4186 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4187
4188         bootstrap/4422
4189         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4190         fixinc *as if* it were a proper lang subdirectory.
4191         * configure: Rebuilt.
4192
4193 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4194
4195         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4196
4197 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4198
4199         * 1750a.md: Don't use hex format for a const_int.
4200
4201 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4202
4203         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4204
4205 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4206
4207         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4208         defined (prevents link errors when gettext isn't in the system
4209         library).
4210
4211 2001-11-19  DJ Delorie  <dj@redhat.com>
4212
4213         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4214         (validate_const_int): New.
4215         (read_rtx): Validate constant integers.
4216         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4217
4218 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4219
4220         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4221
4222 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4223
4224         * toplev.c (DUMPFILE_FORMAT): Define default.
4225         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4226         (close_dump_file, compile_file): Likewise.
4227         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4228         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4229
4230 2001-11-19  Jeff Law <law@redhat.com>
4231
4232         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4233         a nop-jump.
4234
4235 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4236
4237         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4238         Don't fall off the base token run.
4239
4240 2001-11-19  Jason Wilkins <fenix@io.com>
4241
4242         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4243
4244 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4245
4246         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4247         * tree.h (handled_component_p): New declaration.
4248         * alias.c (handled_component_p): Move function from here ...
4249         * expr.c (handled_component_p): ... to here and non longer static.
4250         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4251         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4252         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4253         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4254         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4255         (expand_expr, cse ADDR_EXPR): No need to copy if already
4256         BIGGEST_ALIGNMENT.
4257         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4258         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4259         (output_constant): Handle VIEW_CONVERT_EXPR.
4260         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4261         Add new case for VIEW_CONVERT_EXPR.
4262
4263 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4264
4265         * a29k/unix.h (ASM_FILE_START): Const-ify.
4266         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4267         * i386/isc.h (ASM_FILE_START): Const-ify.
4268         * i386/sun386.h (ASM_FILE_START): Likewise.
4269         * m32r.md: Likewise.
4270         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4271         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4272         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4273         * mn10200.md: Initialize variable.
4274
4275 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4276
4277         * gcse.c (try_replace_reg): Copy RTX before creating note.
4278
4279         * df.h (df_ref_flags): New uenum.
4280         (DF_REF_FLAGS): New macro.
4281         (struct ref): Add field "flags".
4282         * df.c (HANDLE_SUBREG): Remove.
4283         (df_ref_create): Likewise; set flags field of ref.
4284         (df_def_record_1): Strip down read_write subreg; remove
4285         commented out code; set READ_WRITE flag.
4286         (read_modify_subreg_p): New static function.
4287         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4288         new argument "flags".
4289         (df_insn_refs_record): Update call of df_uses_record.
4290         (df_insn_modify): Avoid #if 0 around comment.
4291         (df_dump): Dump the read/write flag.
4292
4293         * predict.c (propagate_freq): Make cyclic_probability and frequency
4294         volatile
4295
4296         * i386.c (ix86_cc_mode): Accept USE.
4297
4298         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4299         jump is turned into simplejump.
4300
4301 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4302
4303         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4304         installation chapter.
4305         * doc/gcc.texi: Don't claim that this manual documents
4306         installation.  Mark Installation menu entry as being out of date.
4307
4308 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4309
4310         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4311         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4312         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4313
4314 2001-11-19  Jason Merrill  <jason@redhat.com>
4315
4316         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4317         cur_token, not after.
4318
4319         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4320         Lose ASM_OUTPUT_CONSTRUCTOR.
4321         * system.h: Poison it and INT_ASM_OP.
4322         * c-lang.c (finish_file): Don't check for it.
4323         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4324
4325 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4326
4327         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4328         (mmix_init_machine_status): Make static to match declaration.
4329         (mmix_unique_section): Const-ify.
4330         (mmix_output_quoted_string): Avoid automatic aggregate
4331         initialization.
4332         (mmix_output_register_setting): Likewise.
4333         (mmix_output_shiftvalue_op_from_str): Likewise.
4334
4335         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4336         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4337         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4338
4339 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4340
4341         PR c/4448
4342         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4343         name __objc_thread_exit_status so that it matches the
4344         variable defined in objc/thr.h.
4345
4346 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4347
4348         PR bootstrap/4020
4349         * mklibgcc.in: Add missing semi-colons.
4350         * Makefile.in: Same.
4351
4352 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4353
4354         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
4355         after re-laying out decl in incomplete case.
4356         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
4357
4358 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4359
4360         * doc/install-old.texi: Move some sections out to ...
4361         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
4362         ... here.  New files.  Make into chapters rather than sections.
4363         * doc/gcc.texi: Include the new files and add menu entries for
4364         them.
4365         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4366
4367 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4368
4369         * tree.h (TYPE_ALIGN_OK): New flag.
4370         * emit-rtl.c (set_mem_attributes): Handle it.
4371         * expr.c (emit_single_push_insn): Only set to alias set 0 if
4372         doing sibcall optimization.
4373         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
4374         when make temporary.
4375         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
4376         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
4377
4378         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
4379
4380 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4381
4382         * c-decl.c (c_decode_option): Give deprecation warning for
4383         -traditional.
4384         * doc/invoke.texi (-traditional): Note that this option is
4385         deprecated.
4386
4387 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
4388
4389         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
4390         arg to HOST_WIDE_INT, not long.
4391
4392         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
4393         (HAS_INIT_SECTION): Define.
4394         (REAL_ARITHMETIC): Don't undefine.
4395
4396 2001-11-18  Egor Duda  <deo@logos-m.ru>
4397
4398         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4399
4400 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4401
4402         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
4403         * c-common.c: Include diagnostic.h.
4404         (c_common_finish): New.
4405         * c-common.h (c_common_finish): New.
4406         * c-lang.c (LANG_HOOKS_FINISH): Override.
4407         * c-parse.in: Don't include diagnostic.h.
4408         (finish_parse): Remove.
4409         * langhooks.h: Update comments.
4410         * toplev.c (lang_dependent_init): New prototype.
4411         (finalize): New.
4412         (compile_file): Split cleanup code out to finalize.
4413         (lang_dependent_init): Stop if lang_hooks.init fails.
4414         (toplev_main): Update.
4415         * tree.h (finish_parse): Remove.
4416 objc:
4417         * objc-act.c (LANG_HOOKS_FINISH): Override.
4418
4419 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4420
4421         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
4422         * config/alpha/vms_tramp.asm: New file.
4423         * config/alpha/vms-tramp.asm: Removed.
4424
4425 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4426
4427         * c-common.c (struct disabled_builtin, disabled_builtins,
4428         disable_builtin_function, builtin_function_disabled_p): New.
4429         (builtin_function_2): Check for disabled built-in functions.
4430         * c-common.h (disable_builtin_function): Declare.
4431         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
4432         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
4433         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
4434
4435 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4436
4437         PR target/4606
4438         * config.gcc: Remove reference to va-clipper.h.
4439
4440 2001-11-17  Stan Shebs  <shebs@apple.com>
4441
4442         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
4443         AltiVec-related bitfields.
4444
4445 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4446
4447         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
4448         (mark_eh_region, case ERT_UKNONW): New case.
4449
4450 2001-11-17  Christopher Faylor  <cgf@redhat.com>
4451             Corinna Vinschen  <vinschen@redhat.com>
4452
4453         * config/i386/cygwin.h: Search target specific include directory for
4454         w32api stuff, if appropriate.
4455
4456 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
4457
4458         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
4459
4460 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
4461
4462         * config/rs6000/rs6000.md: Change all ldvx to lvx.
4463
4464 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
4465
4466         * gensupport.c (process_rtx): Don't assume filename is the first
4467         argument of any rtl.
4468
4469 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4470
4471         * vax-protos.h (reg_was_0_p): New prototype.
4472         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
4473         * vax.c (follows_p, reg_was_0_p): New functions.
4474
4475 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4476
4477         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
4478         (casesi1): Likewise.  Define new pattern which arises by simplification
4479         when operand 1 is a constant int.  Correct pattern which arises by
4480         simplification when operand 1 is zero.
4481
4482 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
4483
4484         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
4485         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
4486         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
4487         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
4488         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
4489         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
4490         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
4491         * config/arm/aof.h: Don't include arm.h.
4492         * config/arm/aout.h: Likewise.
4493         * config/arm/coff.h: Don't include semi.h and aout.h.
4494         * config/arm/elf.h: Don't include aout.h.
4495         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
4496         (TARGET_VERSION): Undef before defining.
4497         (ARM_OS_NAME): Likewise
4498         (TARGET_DEFAULT): Likewise
4499         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
4500         * config/arm/pe.h: Don't include arm/coff.h.
4501         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
4502         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
4503         * config/arm/riscix1-1.h: Likewise.
4504         * config/arm/rix-gas.h: Don't include riscix.h.
4505         (DBX_CONTIN_LENGTH): Undef before defining.
4506         * config/arm/semi.h: Don't include aout.h.
4507         * config/arm/semiaof.h: Don't include aof.h.
4508         * config/arm/strongarm-coff.h: Don't include coff.h.
4509         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
4510         * config/arm/vxarm.h: Don't include arm/coff.h.
4511         * config/arm/xscale-coff.h: Don't include coff.h.
4512
4513 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4514
4515         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
4516         emit_cmp_insn.
4517
4518 2001-11-16  Andreas Jaeger  <aj@suse.de>
4519
4520         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
4521         to ....
4522         (fixup_fallthru_exit_predecessor): ... this.
4523         Change callers and prototype.
4524
4525 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
4526
4527         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
4528         hand; don't use gen_setcc_2.
4529         (ix86_expand_builtin): Fix pshufw.
4530         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
4531         case UNORDERED to emit the right assembler instruction.
4532         (mmx_pshufw): Lose operand 2.
4533         (cvtsi2ss): Fix representation.
4534         From Graham Stott:
4535         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
4536
4537 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
4538
4539         * doc/include/linux-and-gnu.texi: Remove.
4540         * doc/gnu.texi: New.
4541         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
4542         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4543
4544 2001-11-16  Kazu Hirata  <kazu@hxi.com>
4545
4546         * config/a29k/a29k.c: Fix comment formatting.
4547         * config/a29k/a29k.h: Likewise.
4548         * config/arc/arc.c: Likewise.
4549         * config/arc/arc.h: Likewise.
4550         * config/vax/vax.c: Likewise.
4551         * config/vax/vax.h: Likewise.
4552         * config/we32k/we32k.c: Likewise.
4553         * config/we32k/we32k.h: Likewise.
4554
4555 2001-11-16  Jeff Law  <law@redhat.com>
4556
4557         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
4558         creating a new jump insn.
4559
4560 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4561
4562         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
4563         copy misaligned data.
4564         * varasm.c (assemble_variable): Set alignment into MEM when changed.
4565
4566 2001-11-16  Graham Stott  <grahams@redhat.com>
4567
4568         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
4569         OPALIGN type.
4570
4571 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
4572
4573         * except.c: Support for catching a list of types with a single handler
4574         (struct eh_region): Change type and filter to lists for catch regions.
4575         (mark_eh_region): Mark the filter list for GC also.
4576         (expand_start_catch): Always build a list if argument not NULL and
4577         register each type of the list through add_type_for_runtime.
4578         (duplicate_eh_region_1): Change type into type_list for catch regions.
4579         (assign_filter_values): Assign a filter to each type associated with a
4580         catch region. Assign filter for NULL types in a unique entry in the
4581         filter list.
4582         (build_post_landing_pads): Emit compare and jump for each filter of
4583         the list associated with a catch region.
4584         (reachable_next_level): When the type thrown is known, stop the search
4585         as soon as one type within a catch list matches. Also, a handler is
4586         potentially reachable only if at least one of the types it catches
4587         has not been previously caught.
4588         (collect_one_action_chain): Retrieve the filter for a NULL type list
4589         from the first filter list entry. For non NULL type lists, add an
4590         action record for every filter assigned.
4591         * except.h: Reflect changes in comment before expand_start_catch.
4592
4593 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4594
4595         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
4596         BLKmode.
4597
4598 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
4599
4600         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
4601
4602 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
4603
4604         * c-lang.c (finish_file): Don't emit static inline functions if
4605         they weren't referenced.
4606
4607 2001-11-15  Stan Shebs  <shebs@apple.com>
4608
4609         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
4610
4611 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4612
4613         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
4614         call.
4615         * config/i386/i386.md: Likewise.
4616
4617 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4618
4619         * timevar.c (rtl.h): Include so get fancy abort.
4620
4621 2001-11-15  Dale Johannesen  <dalej@apple.com>
4622
4623         * config/darwin.h (SELECT_RTX_SECTION):  Force address
4624         initializers into 'const' section
4625         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
4626         if_then_else to match result, not operands
4627
4628 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4629
4630         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
4631         * emit-rtl.c (change_address): Fix typo in default alignment.
4632         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
4633         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
4634         * rtl.h (REGNO_PTR_FRAME_P): New macro.
4635
4636         * expr.c (store_field): Pass tree instead of max size; callers changed.
4637         Change handling of alignment.
4638         Only copy to_rtx if is TARGET.
4639         (expand_expr_unaligned): Delete; callers now use expand_expr.
4640         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
4641         (expand_assignment): Change handling of alignment.
4642         Only copy to_rtx if was original.
4643         (get_inner_reference): No longer return alginment; callers changed.
4644         (expand_expr, case COMPONENT_REF): Change handling of alignment.
4645         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
4646         (compare_from_rtx): Delete ALIGN parm; all callers changed.
4647         (do_compare_rtx_and_jump): Likewise.
4648         * expr.h: Reflect above changes.
4649         * tree.h: Likewise.
4650         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
4651         to get_inner_reference.
4652         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
4653         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
4654         * optabs.c: Likewise.
4655         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
4656         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
4657         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
4658         compare_rtx_and_jump, and emit_cmp_jump_insns.
4659         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
4660         * function.c (assign_stack_temp_for_type): No longer static.
4661         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
4662         (prepare_cmp_insn): Delete declaration.
4663         * rtl.h (assign_stack_temp_for_type): Add declaration.
4664         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
4665         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
4666         * config/i386/i386.c,config/mips/mips.c: Likewise.
4667         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
4668         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
4669
4670 2001-11-15  Stan Shebs  <shebs@apple.com>
4671
4672         * config/rs6000/rs6000.h: Fix a comment typo.
4673         (RTX_COSTS): Sort processor versions better.
4674
4675 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4676
4677         * config/h8300/h8300.md: Fix insn length of bit insns.
4678
4679 2001-11-15  Jason Merrill  <jason@redhat.com>
4680
4681         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
4682         DIEs if there were errors in the source.
4683
4684         * config/alpha/alpha-interix.h, config/alpha/elf.h,
4685         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
4686         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
4687         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
4688         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
4689         config/elfos.h, config/lynx.h, config/netware.h,
4690         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
4691         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
4692         uses to use ASM_LONG.
4693
4694 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
4695
4696         * gensupport.c  process_include : Change call to alloca to
4697         xmalloc.
4698
4699 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4700
4701         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
4702         templates.
4703
4704 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4705
4706         * final.c (alter_subreg): If simplify_subreg can't do anything,
4707         handle REG ourselves and abort for others.
4708
4709 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
4710
4711         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
4712         routines.
4713
4714 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4715
4716         * fix-header.c (read_scan_file): Update.
4717
4718 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4719
4720         * toplev.c (toplev_main): Don't start timing until after
4721         command-line options are parsed.
4722
4723 2001-11-15  Andreas Schwab  <schwab@suse.de>
4724
4725         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
4726         makefile frag, not host makefile frag.
4727         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
4728         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
4729         used.
4730         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
4731         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
4732         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
4733         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
4734         * config/i386/t-dgux (STMP_FIXPROTO): Define.
4735         * config/x-interix: Don't define STMP_FIXPROTO and
4736         FIXPROTO_DEFINES.
4737         * config/t-interix: New file, define STMP_FIXPROTO.
4738         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
4739         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
4740         * config/t-svr4 (FIXPROTO_DEFINES): Define.
4741         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
4742         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
4743         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
4744         * config/m68k/t-hp3200: Renamed from x-hp3200.
4745         * config/i370/t-oe: Renamed from x-oe.
4746         * config/mips/t-iris: Renamed from x-iris.
4747         * config/pa/t-bsd: Renamed from x-pa.
4748         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
4749         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
4750         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
4751         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
4752         config/rs6000/x-cygwin: Remove files.
4753
4754         * configure.in: Check for target objdump and use that in eh_frame
4755         optimization test.
4756         * configure: Regenerated.
4757
4758 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
4759
4760         * jump.c (squeeze_notes): Return true if no real insns were found.
4761         * rtl.h (squeeze_notes): Adjust prototype.
4762         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
4763         squeeze_notes finds no real instructions, abort.
4764         (merge_blocks_move_successor_nojumps): Likewise.
4765         * loop.c (find_and_verify_loops): Likewise.
4766         * stmt.c (expand_end_case): Likewise.
4767         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
4768         find any real instructions.
4769
4770         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
4771
4772         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
4773         conditional jump, request updating life into for the block
4774         containing it.  Fix a typo which prevented life info update.
4775         Clear blocks bitmap before using it.
4776
4777 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4778
4779         * c-common.c: Include c-lex.h.
4780         (c_common_lang_init): Change prototype.  Call init_c_lex and
4781         init_pragma from here.
4782         * c-common.h (c_common_lang_init): Change prototype.
4783         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
4784         * c-lang.c (c_init): Change prototype.  Update.
4785         (c_init_options): Update.
4786         * c-lex.c (cpp_filename): Remove.
4787         (init_c_lex): Update.  Read the main file, and get the original
4788         file name.
4789         (yyparse): Finish the command line options.
4790         * c-parse.in (c_parse_init): Call init_reswords here.
4791         (init_parse): Remove.
4792         * c-tree.h (c_init_decl_processing): New.
4793         * cpphash.c (_cpp_init_hashtable): After initializing the hash
4794         table, populate it.
4795         * cppinit.c (read_original_filename, cpp_finish_options): New.
4796         (cpp_create_reader): New prototype. Defer hash table initialization.
4797         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
4798         hash table.  Get the original filename.
4799         * cpplib.h (cpp_create_reader): Update.
4800         (cpp_start_read): Remove.
4801         (cpp_read_main_file, cpp_finish_options): New.
4802         * cppmain.c (main, do_preprocessing): Update.
4803         * langhooks.h (struct langhooks): Update init prototype.
4804         * toplev.c (general_init, parse_options_and_default_flags,
4805         process_options, lang_indpendent_init, lang_dependent_init,
4806         init_asm_output): New; perform the bulk of initialization.
4807         (compile_file): Move most of initialization to above functions.
4808         (debug_hooks): Initialize statically.
4809         (set_Wunused): Relocate.
4810         (toplev_main): Move most of initialization to other init functions.
4811         Have a clear logic flow.
4812         * tree.h (init_parse, init_decl_processing): Remove.
4813 objc:
4814         * objc-act.c (objc_init): Update prototype, combine with old
4815         init_parse.
4816         (objc_init_options): Update.
4817
4818
4819 2001-11-15  Andreas Jaeger  <aj@suse.de>
4820
4821         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
4822         portability.
4823         * basic-block.h: Adjust prototype.
4824
4825 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4826
4827         * config/rs6000/aix31.h: Fix comment formatting.
4828         * config/rs6000/beos.h: Likewise.
4829         * config/rs6000/darwin.h: Likewise.
4830         * config/rs6000/eabi.asm: Likewise.
4831         * config/rs6000/linux.h: Likewise.
4832         * config/rs6000/linux64.h: Likewise.
4833         * config/rs6000/lynx.h: Likewise.
4834         * config/rs6000/netbsd.h: Likewise.
4835         * config/rs6000/rs6000.c: Likewise.
4836         * config/rs6000/rs6000.h: Likewise.
4837         * config/rs6000/rs6000.md: Likewise.
4838         * config/rs6000/sol2.h: Likewise.
4839         * config/rs6000/tramp.asm: Likewise.
4840         * config/rs6000/xcoff.h: Likewise.
4841         * config/rs6000/xm-beos.h: Likewise.
4842
4843 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
4844
4845         * rtl.def (INCLUDE) : Define.
4846         * gensupport.c  (init_include_reader, process_include,
4847         save_string) :  New functions to implement an include facility
4848         in .md files.
4849         * gensupport.h : Add prototype for init_md_reader_args.
4850         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
4851         genextract.c genflags.c genopinit.c genoutput.c
4852         genpeep.c genrecog.c: Change call to init_md_reader to
4853         init_md_reader_args.
4854         * md.texi: Document (include "path") and -I directives for RTL
4855         generation tools.
4856
4857 2001-11-14  DJ Delorie  <dj@redhat.com>
4858
4859         * integrate.c (get_hard_reg_initial_reg): New.
4860         * integrate.h (get_hard_reg_initial_reg): Prototype.
4861         * local-alloc.c (block_alloc): Don't tie pseudos that
4862         represent call-saved hard regs' initial values.
4863
4864 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4865
4866         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
4867         recursion.
4868
4869 2001-11-14  Roger Sayle <roger@eyesopen.com>
4870
4871         * fold-const.c (fold): Optimize strlen comparisons against zero.
4872
4873 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
4874
4875         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
4876         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
4877         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
4878         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
4879         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
4880         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
4881         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
4882         Include various CPU headers via tm_file.  a.out based platforms now
4883         properly include sparc/aout.h.  sol2.h usage now implies including
4884         elfos.h, svr4.h, and sparc/sysv4.h.
4885         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
4886         Also define to '1'.
4887         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
4888         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4889         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
4890         Remove.  They are a.out specific and belong in sparc/aout.h.
4891         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
4892         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4893         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
4894         sparc/sparc.h.
4895         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
4896         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
4897         Moved here from sparc/sparc.h.
4898         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
4899         defining.
4900         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
4901         * config/sparc/lynx.h:  Don't include lynx.h.
4902         (SELECT_SECTION): Do not undef.
4903         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
4904         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
4905         and sparc/sysv4.h.
4906         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
4907         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
4908         sparc/aout.h now.
4909         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
4910         Don't undef, there is no need.
4911         * config/sparc/splet.h (CPP_PREDEFINES): Define.
4912         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
4913         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
4914         Don't include sparc/sparc.h.
4915         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
4916         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4917         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
4918         elfos.h and svr4.h.
4919         (TARGET_VERSION): Define.
4920         * config/sparc/vxsim.h (TARGET_VERSION): Define.
4921
4922 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
4923
4924         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
4925         (cfg_layout_finalize): Use it.
4926         * bb-reorder.c (HAVE_epilogue): Remove.
4927         (make_reorder_chain): Do not care special placement of
4928         last basic block.
4929
4930         * predict.c (expected_value_to_br_prob): Delete the note
4931         once transformed.
4932
4933         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
4934         measure integration time separately.
4935
4936 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4937
4938         * function.c (struct temp_slot): ALIGN now unsigned.
4939
4940 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4941
4942         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
4943         * config/dsp16xx/dsp16xx.h: Likewise.
4944         * config/dsp16xx/dsp16xx.md: Likewise.
4945
4946 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4947
4948         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
4949         that deals with 7-bit shifts in HImode.
4950
4951 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
4952
4953         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
4954         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
4955         (final_scan_insn): Update call of alter_subreg.
4956         (cleanup_subreg_operands): Likewise.
4957         (alter_subreg): Rewrite using simplify_subreg.
4958         (output_address, output_operand): Update call of alter_subreg.
4959         * output.h (alter_subreg): Update prototype.
4960         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
4961         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
4962         * Makefile.in (final.o): Add dependency on expr.h
4963
4964 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4965
4966         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
4967
4968 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
4969
4970         * doc/install.texi (sparc-*-linux*): Mention requirements for
4971         binutils and glibc.
4972
4973 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4974
4975         * Makefile.in (POD2MAN): Don't include --section=1.
4976         (manext): Rename to man1ext.  All users changed.
4977         (man7ext): New.
4978         (man7dir): New.
4979         (generated-manpages): Also depend on $(docdir)/gfdl.7,
4980         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
4981         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
4982         --section=1 in calls to $(POD2MAN).
4983         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
4984         (maintainer-clean, install, uninstall): Handle the new man pages.
4985         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
4986         (installdirs): Create man7dir.
4987         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
4988         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
4989         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
4990         the SEE ALSO man page section.
4991         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
4992         and fsf-funding(7) in the SEE ALSO man page section.
4993         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
4994         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
4995         * doc/include/fdl.texi, doc/include/funding.texi,
4996         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
4997         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
4998
4999 2001-11-13  Richard Henderson  <rth@redhat.com>
5000
5001         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
5002         as appropriate for the artificial decl.
5003
5004 2001-11-13  Richard Henderson  <rth@redhat.com>
5005
5006         * loop.c (combine_movables): Turn off combination until
5007         move_movables validation bugs are fixed.
5008
5009 2001-11-13  DJ Delorie  <dj@redhat.com>
5010
5011         * config.gcc (powerpc|rs6000): Set default cpp options based
5012         on --with-cpu settings.
5013         * config/rs6000/softfloat.h: New.
5014
5015 2001-11-13  Kazu Hirata  <kazu@hxi.com>
5016
5017         * config/h8300/h8300.c (shift_alg_si): Use special code for
5018         25-bit shifts on H8/S.
5019         (get_shift_alg): Generate special code for 25-bit shifts on
5020         H8/S.
5021
5022 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
5023
5024         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
5025         (adjust_automodify_address_1): New.
5026         * expr.h (adjust_address, adjust_address_nv): Adjust.
5027         (adjust_automodify_address, adjust_automodify_address_nv): Define.
5028         (adjust_address_1): Update prototype.
5029         (adjust_automodify_address_1): Add prototype.
5030         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
5031         (store_by_pieces_2): Likewise.
5032
5033 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5034
5035         * Makefile.in (explow.o): Now depends on ggc.h.
5036         * explow.c (ggc.h): Include.
5037         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
5038
5039         * Makefile.in (expr.o): Depends on insn-attr.h.
5040         * expr.c (insn-attr.h): New include.
5041         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
5042         of MEM.
5043         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
5044         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
5045         clean up related usage in ADDR_EXPR.
5046         (expand_expr_unaligned): Likewise.
5047
5048         * emit-rtl.c (change_address): Fix typo in alias setting.
5049
5050 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5051
5052         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
5053
5054 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5055
5056         PR bootstrap/3451
5057         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
5058         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
5059
5060 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5061
5062         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
5063         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5064         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5065         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5066         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5067         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5068         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5069         sparc64-*-linux*):  Include various CPU headers via tm_file.
5070         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5071         (SELECT_SECTION): Likewise.
5072         (SELECT_RTX_SECTION): Likewise.
5073         * config/sparc/sparc_bi.h: New file.
5074         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5075         * config/sparc/linux-aout.h: Likewise.
5076         * config/sparc/linux.h: Don't include sparc/sysv4.h.
5077         * config/sparc/linux64.h: Likewise.
5078         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5079         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
5080         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5081         and dbxcoff.h
5082         (ASM_OUTPUT_IDENT): Do not #undef.
5083         (SELECT_SECTION): Likewise.
5084         (SELECT_RTX_SECTION): Likewise.
5085         * config/sparc/liteelf.h: Don't include gofast.h.
5086         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5087         * config/sparc/lynx.h: Don't include sparc/sparc.h.
5088         * config/sparc/pbd.h: Likewise.
5089         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5090         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5091         * config/sparc/rtemself.h: Don't include rtems.h.
5092         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5093         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5094         sparc_bi.h instead.
5095         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5096         * config/sparc/sol2.h: Include sparc/sparc.h directly.
5097         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5098         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5099         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5100         * config/sparc/sp86x-elf.h: Don't include gofast.h.
5101         * config/sparc/splet.h: Don't include sparc/aout.h.
5102         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5103         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5104         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5105         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5106         * config/sparc/vxsparc64.h: Don't include gofast.h.
5107         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5108
5109 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5110
5111         * doc/standards.texi: Mention C99 TC1.
5112
5113 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5114
5115         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5116         * mips.c (mips_output_conditional_branch): Likewise.
5117
5118 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5119
5120         * config/h8300/h8300.c (shift_alg_si): Use special code for
5121         15-bit logical shifts and 31-bit logical shifts.
5122         (get_shift_alg): Generate special code for 15-bit and 31-bit
5123         logical shifts.
5124
5125 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5126
5127         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5128         doing 6-bit logical shifts on H8/S.
5129         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5130         (get_shift_alg): Generate special code for 21-bit shifts on
5131         H8/S.
5132
5133 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5134
5135         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5136         label.
5137
5138 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5139
5140         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5141         if both size and offset known.
5142
5143 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5144
5145         * config/ia64/freebsd.h: Fix misspelling.
5146
5147 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5148
5149         * doc/gcc.texi: Move several chapters out to ...
5150         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5151         doc/include/linux-and-gnu.texi, doc/interface.texi,
5152         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5153         ... here.  New files.
5154         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5155         contrib.texi.
5156         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5157
5158 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5159
5160         * config/alpha/alpha-interix.h: Fix comment formatting.
5161         * config/alpha/alpha.c: Likewise.
5162         * config/alpha/alpha.h: Likewise.
5163         * config/alpha/alpha32.h: Likewise.
5164         * config/alpha/freebsd.h: Likewise.
5165         * config/alpha/unicosmk.h: Likewise.
5166         * config/alpha/vms.h: Likewise.
5167
5168 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5169
5170         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5171
5172 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5173
5174         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5175         numbers.
5176
5177 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5178
5179         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5180         from type.
5181         (replace_equiv_address): Call update_temp_slot_address.
5182
5183         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5184
5185         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5186
5187 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5188
5189         * config/h8300/h8300.c (shift_alg_qi): New.
5190         (shift_alg_hi): Likewise.
5191         (shift_alg_si): Likewise.
5192         (get_shift_alg): Change the type of count to unsigned int.
5193         Use the tables.
5194
5195 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5196
5197         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5198         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5199         to decide whether to defer a function.
5200         (finish_function): Adjust.
5201         (c_expand_deferred_function): New function.
5202         * c-lang.c (deferred_fns): New variable.
5203         (c_init): Initialize it, and mark it as a root.
5204         (defer_fn): New function.
5205         (finish_file): Expand all deferred functions.
5206         * c-tree.h (defer_fn): Declare.
5207         (c_expand_deferred_function): Likewise.
5208         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5209         * objc-act.c (deferred_fns): New variable.
5210         (objc_init): Initialize it, and mark it as a root.
5211         (defer_fn): New function.
5212         (finish_file): Expand all deferred functions.
5213
5214 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5215
5216         * alpha.c (unicosmk_special_name): Prototype.
5217         (unicosmk_ssib_name): Delete unused variable.
5218         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5219         * alpha/vms.h (PREFIX): Undef before defining.
5220         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5221         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5222         controlling usage.  Const-ify.
5223         (alias_number): Delete unused variable.
5224         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5225         (m32r_expand_block_move): Fix uninitialized warnings.
5226         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5227         always true' warnings.
5228         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5229         * sh/sh.c: Include "integrate.h".
5230         (output_far_jump): Fix uninitialized warning.
5231         * final.c (shorten_branches): Avoid automatic aggregate
5232         initialization.
5233         * integrate.c (subst_constants): Likewise.
5234
5235 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5236
5237         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5238         (get_shift_alg): Remove redundant code.
5239
5240 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5241
5242         * config/pa/milli64.S: Fix comment formatting.
5243         * config/pa/pa-64.h: Likewise.
5244         * config/pa/pa-linux.h: Likewise.
5245         * config/pa/pa-protos.h: Likewise.
5246         * config/pa/pa.c: Likewise.
5247         * config/pa/pa.h: Likewise.
5248         * config/pa/pa32-linux.h: Likewise.
5249         * config/pa/pa32-regs.h: Likewise.
5250         * config/pa/pa64-hpux.h: Likewise.
5251         * config/pa/pa64-regs.h: Likewise.
5252         * config/pa/som.h: Likewise.
5253
5254 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5255
5256         * doc/gcc.texi: Move several chapters out to ...
5257         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5258         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5259         doc/vms.texi: ... here.  New files.
5260         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5261
5262 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5263
5264         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5265         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5266         collect2.c, combine.c, config.in, configure, configure.in,
5267         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5268         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5269         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5270         spelling errors.
5271
5272 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5273
5274         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5275         Adjust operand number in CONST_DOUBLE.
5276
5277         * expmed.c (extract_bit_field): No longer pass in alignment.
5278         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5279         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5280         Likewise.
5281         * expr.c (store_constructor, store_constructor_field): Likewise.
5282         (store_field, emit_group_load, emit_group_store): Likewise.
5283         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5284         (store_bit_field, extract_bit_field): Likewise.
5285         * calls.c, expr.c, function.c: Change calls to above functions.
5286         * ifcvt.c, stmt.c: Likewise.
5287
5288         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5289         constant and one is on frame.
5290         If know memref offset, adjust size from decl.
5291
5292 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5293
5294         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5295         format specifier warning.
5296         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5297         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5298         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5299         warning.
5300         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5301         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5302         * i386-interix.h (gen_stdcall_suffix): Prototype.
5303         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5304         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5305         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5306         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5307         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5308         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5309         specifier warnings.
5310         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5311         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5312         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5313         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5314         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5315         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5316         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5317         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5318         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5319         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5320         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5321         Likewise.
5322         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5323         Likewise.
5324         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5325         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5326         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5327         Likewise.
5328         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5329         Likewise.
5330         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5331         Likewise.
5332         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5333         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5334         * m68k/news.h (PRINT_OPERAND): Likewise.
5335         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5336         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5337         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5338         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5339         definition.
5340         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5341         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5342         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5343         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5344         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5345         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5346         PRINT_OPERAND): Likewise.
5347         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5348         Likewise.
5349         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5350         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5351         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5352         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5353         * mips.c (mips_output_external_libcall): Mark parameter with
5354         ATTRIBUTE_UNUSED.
5355         (mips_asm_file_start): Move variable into the scope where it's
5356         used.
5357         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5358         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5359         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
5360         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5361         * ns32k.c (print_operand): Likewise.
5362         * pa.c (print_operand, output_div_insn): Likewise.
5363         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
5364         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
5365         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
5366         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5367         specifier warnings.
5368         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5369         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5370         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
5371         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5372         specifier warnings.
5373         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5374
5375         * sdbout.c (sdbout_end_epilogue): Mark parameter with
5376         ATTRIBUTE_UNUSED.
5377         * varasm.c (assemble_global): Likewise.
5378
5379 2001-11-11  H.J. Lu <hjl@gnu.org>
5380
5381         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
5382
5383 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
5384
5385         * final.c (*_MAX_SKIP): Use *_max_skip variables.
5386         * flags.h (align_loops_max_skip, align_jumps_max_skip,
5387         align_labels_max_skip): New global variables.
5388         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
5389         align_labels_max_skip): New global variables.
5390         (toplev_main): Set new variables.
5391         * i386.c (override_options): Set max_skip values.
5392
5393 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
5394
5395         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
5396         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5397         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
5398         don't print an @fptr for labels either.
5399         (xstormy16_output_addr_vec): Don't print @fptr here.
5400         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
5401
5402 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
5403
5404         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
5405         an ANSI/ISO definitino.
5406         (ssa_const_prop): Likewise.
5407
5408 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
5409
5410         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
5411         altivec registers.
5412
5413 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5414
5415         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
5416         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
5417         * cppmain.c (general_init): Call hex_init.
5418         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
5419
5420         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
5421
5422         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
5423         of dgux.c:output_file_start().
5424
5425         * i386/dgux.c: Delete file.
5426
5427 2001-11-09  Richard Henderson  <rth@redhat.com>
5428
5429         * config/alpha/alpha.c (decl_in_text_section): New.
5430         (current_file_function_operand): Use it.
5431         (alpha_encode_section_info, alpha_end_function): Likewise.
5432
5433 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
5434
5435         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
5436         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
5437         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
5438         so OS specific files and use CPP_PREDEFINES for their needs.
5439         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
5440         target headers to tm_file.
5441         * config/ia64/aix.h (TARGET_VERSION): Likewise.
5442         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
5443         * config/ia64/linux.h (TARGET_VERSION): Likewise.
5444         (FUNCTION_PROFILER): Remove.
5445         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
5446         version in config/ia64/linux.h.
5447         * config/ia64/freebsd.h: New file.
5448         * config/freebsd.h: Tidy up.
5449         (_USING_CONFIG_FREEBSD): Define.
5450         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
5451         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
5452         (FBSD_STARTFILE_SPEC): Likewise.
5453         (FBSD_ENDFILE_SPEC): Likewise.
5454         (FBSD_LIB_SPEC): Likewise.
5455         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
5456         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
5457         set an ELF-improper one.
5458
5459 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5460
5461         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
5462         constant can be loaded in a single instruction to a register.  When
5463         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
5464         depdi for insertion of most significant 32-bits on 64-bit hosts.
5465         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
5466         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
5467         * pa.md: New addmove pattern for adding constant_int to HImode
5468         register and moving result to HImode register.  Remove HImode HIGH
5469         and LO_SUM patterns.
5470
5471 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5472
5473         * Makefile.in: Update.
5474         * c-decl.c (print_lang_decl, print_lang_type): Remove.
5475         (print_lang_identifier): Rename c_print_identifier.
5476         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5477         (print_lang_statistics, lang_print_xnode): Remove.
5478         * c-parse.in (set_yydebug): Rename c_set_yydebug.
5479         * c-tree.h (c_set_yydebug, c_print_identifier): New.
5480         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
5481         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
5482         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
5483         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5484         (LANG_HOOKS_INITIALIZER): Update.
5485         * langhooks.h (struct lang_hooks): New members.
5486         (lang_print_tree_hook): New.
5487         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
5488         * print-tree.c: Include langhooks.h.
5489         (print_node): Update.
5490         * toplev.c (decode_d_option): Update.
5491         * tree.c: Include langhooks.h.
5492         (dump_tree_statistics): Update.
5493         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
5494         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
5495 objc:
5496         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
5497         LANG_HOOKS_SET_YYDEBUG): Override.
5498         (lang_print_xnode, print_lang_statistics): Remove.
5499
5500 2001-11-09  Richard Henderson  <rth@redhat.com>
5501
5502         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
5503         on the symbol string.
5504
5505 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5506
5507         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
5508         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
5509         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
5510
5511         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
5512
5513         * tlink.c (recompile_files): Copy strings passed to `putenv'.
5514
5515 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
5516
5517         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
5518         (TYPE_READONLY): Likewise.
5519
5520         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
5521
5522         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
5523         don't pass --gdwarf2 to the assembler if the compiler will also
5524         provide debug info.
5525
5526         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
5527         Don't change INDEX.
5528
5529 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5530
5531         * alias.c (nonoverlapping_memrefs_p): New function.
5532         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
5533
5534         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
5535
5536 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
5537
5538         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
5539         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
5540         generating altivec code.
5541         (FIXED_REGISTERS): VRSAVE is fixed.
5542         (CALL_USED_REGISTERS): VRSAVE is call used.
5543
5544 2001-11-09  Jason Eckhardt  <jle@rice.edu>
5545
5546         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
5547         code the branch target as ".+16/.+12", but rather use labels.
5548
5549 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
5550
5551         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
5552         to work around limitations of certain versions of GAS.
5553
5554         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
5555         (muldi3): Update due to SUBREG_BYTE changes.
5556         (casesi): Similarly.
5557
5558 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
5559
5560         * doc/invoke.texi: Remove comment referring to -xf77-version.
5561
5562 2001-11-09  Kazu Hirata  <kazu@hxi.com>
5563
5564         * config/convex/convex.c: Fix comment formatting.
5565         * config/convex/convex.h: Likewise.
5566
5567 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
5568
5569         * Makefile.in (.po.pox): Look both in srcdir and builddir
5570         for $(PACKAGE).pot.
5571         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
5572         to the source directory.
5573
5574 2001-11-09 Ben Elliston  <bje@redhat.com>
5575            Michael Meissner  <meissner@redhat.com>
5576            Andrew MacLeod  <amacleod@redhat.com>
5577            Richard Henderson  <rth@redhat.com>
5578            Nick Clifton  <nickc@redhat.com>
5579            Catherine Moore  <clm@redhat.com>
5580
5581         * m32r.c: Add support for m32rx processor.
5582         * m32r.h: Ditto.
5583         * m32r.md: Ditto.
5584         * t-m32r: Ditto.
5585         * m32r-protos.h: Add prototypes for m32rx functions.
5586         * doc/invoke.texi: Document -m32rx option.
5587
5588 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5589
5590         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
5591         or after reload.
5592
5593 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5594
5595         * doc/install.texi2html: Use $MAKEINFO --no-split.
5596
5597 2001-11-09  Andreas Schwab  <schwab@suse.de>
5598
5599         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
5600         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
5601         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
5602         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
5603         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
5604
5605 2001-11-09  H.J. Lu <hjl@gnu.org>
5606
5607         * config/mips/mips.c (mips_output_function_prologues): Cast
5608         `tsize' to long for output.
5609
5610 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5611
5612         * c-lang.c (LANG_HOOKS_NAME): New.
5613         (lang_hooks): Constify.
5614         (c_init_options): Update.
5615         (lang_identify): Remove.
5616         * c-parse.in (language_string): Remove.
5617         * dbxout.c: Include langhooks.h.
5618         (dbxout_symbol_location): Update.
5619         * dwarf2out.c: Include langhooks.h.
5620         (gen_compile_unit_die): Update.
5621         * dwarfout.c: Include langhooks.h.
5622         (prototyped_attribute, output_compile_unit_die): Update.
5623         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
5624         (LANG_HOOKS_INITIALIZER): Update.
5625         * langhooks.h (struct lang_hooks): New members.  Constify.
5626         * stringpool.c: Don't include toplev.h.
5627         (set_identifier_size): Remove.
5628         * toplev.c (toplev_main): Initialize identifier size.
5629         (print_version): Update.
5630         * tree.h (language_string, init_lex, lang_identify,
5631         set_identifier_size): Remove.
5632         * Makefile.in: Update dependencies.
5633         * config/darwin.c: Include langhooks.h.
5634         (func_name_maybe_scoped): Update.
5635         * config/darwin.h (ASM_END_FILE): Update.
5636         * config/nextstep.h (ASM_END_FILE): Update.
5637         * config/nextstep21.h (ASM_END_FILE): Update.
5638         * config/i386/sun386.h (ASM_END_FILE): Update.
5639         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
5640         (rs6000_output_function_epilogue): Update.
5641 objc:
5642         * objc-act.c (LANG_HOOKS_NAME): Override.
5643         (struct lang_hooks): Constify.
5644         (objc_init_options): Update.
5645         (lang_identify): Remove.
5646
5647 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
5648
5649         * fold-const.c (lshift_double): Honor PREC.
5650         (rshift_double): Likewise.
5651
5652 2001-11-08  Kazu Hirata  <kazu@hxi.com>
5653
5654         * config/1750a/1750a.c: Fix comment formatting.
5655         * config/1750a/1750a.h: Likewise.
5656
5657 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
5658
5659         * configure.in (--enable-languages): Be more permissive about
5660         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
5661         * configure: Regenerated.
5662
5663 2001-11-08  Richard Henderson  <rth@redhat.com>
5664
5665         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
5666
5667 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
5668
5669         * config.gcc: Rename stormy16 to xstormy16.
5670         * config/stormy16/stormy-abi: Likewise.
5671         * config/stormy16/stormy16-protos.h: Likewise.
5672         * config/stormy16/stormy16.c: Likewise.
5673         * config/stormy16/stormy16.h: Likewise.
5674         * config/stormy16/stormy16.md: Likewise.
5675
5676 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
5677
5678         * tree.h (TYPE_VOLATILE): Add enable-checking code.
5679         (TYPE_READONLY): Likewise.
5680
5681 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5682
5683         * reload1.c (reload): Don't delete equiv insn if can throw.
5684
5685         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
5686         (clear_storage): Likewise, for OBJECT.
5687
5688 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
5689
5690         * pa.c (emit_move_sequence): Fix SUBREG expression to
5691         use proper byte offset when extending a constant from
5692         SImode to DImode.
5693
5694 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5695
5696         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
5697         which cannot throw.
5698
5699 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5700
5701         * explow.c (convert_memory_address, case SUBREG): Only return
5702         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
5703
5704 2001-11-08  Richard Henderson  <rth@redhat.com>
5705
5706         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
5707         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
5708         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
5709
5710 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
5711
5712         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
5713
5714 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5715
5716         * dwarf2out.c (debug_str_hash): New.
5717         (struct indirect_string_node): New.
5718         (struct dw_val_struct): Change type of val_str to it.
5719         (DEBUG_STR_SECTION_FLAGS): Define.
5720         (add_AT_string): Push string into hashtable, increment reference
5721         counter.
5722         (AT_string): Return string from ht_identifier.
5723         (AT_string_form): New.
5724         (free_AT): For dw_val_class_str, just decrement reference counter.
5725         (size_of_string): Remove.
5726         (size_of_die): Use AT_string_form to decide what size the string
5727         occupies in DIE.
5728         (size_of_pubnames): Use strlen instead of size_of_string.
5729         (value_format): Use AT_string_form for dw_val_class_str.
5730         (output_die): Output DW_FORM_strp strings using
5731         dw2_asm_output_offset.
5732         (indirect_string_alloc, output_indirect_string): New.
5733         (dwarf2out_finish): Emit .debug_str strings if there are any.
5734
5735 2001-11-08  Andreas Franck  <afranck@gmx.de>
5736
5737         * configure.in: Add AC_ARG_PROGRAM to support program name
5738         transformation with --program-prefix, --program-suffix and
5739         --program-transform-name.
5740         * configure: Regenerated.
5741         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
5742         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
5743         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
5744         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
5745         program_transform_name the way suggested by autoconf.
5746         (GCC_TARGET_INSTALL_NAME): Define.
5747         (install-driver): Use the transformed target alias name.
5748
5749 2001-11-08  Richard Henderson  <rth@redhat.com>
5750
5751         * config/mips/mips.c (save_restore_insns): Remove GP from the
5752         restore registers mask early instead of special casing it inside
5753         the loop.
5754
5755 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5756
5757         * cp/decl.c (shadow_warning): New function.
5758         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
5759         and an error when a block scope decl shadows a parameter.
5760
5761 2001-11-08  Richard Henderson  <rth@redhat.com>
5762
5763         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
5764         case as well.
5765
5766 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5767
5768         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
5769         to implement floating negation on processors prior to PA 2.0.
5770
5771 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5772
5773         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
5774         (USE_LINKONCE_INDIRECT): Define.
5775         (dw2_output_indirect_constant_1): Try to output indirect constants
5776         into linkonce sections if possible.
5777         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
5778         (dw2_output_indirect_constants): Likewise.
5779
5780 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5781
5782         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
5783
5784 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5785
5786         * c-decl.c (pushdecl): Remove file and line.
5787         * c-typeck.c (pop_init_level): Remove size.
5788
5789 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5790
5791         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
5792         for rs6000.
5793
5794         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
5795         (TARGET_ALTIVEC): New.
5796         (TARGET_SWITCHES): Add altivec.
5797         (FIRST_PSEUDO_REGISTER): Change to 109.
5798         (CALL_USED_REGISTERS): Same.
5799         (FIRST_ALTIVEC_REGNO): New.
5800         (LAST_ALTIVEC_REGNO): New.
5801         (ALTIVEC_REGNO_P): New.
5802         (UNITS_PER_ALTIVEC_WORD): New.
5803         (ALTIVEC_VECTOR_MODE): New.
5804         (FIXED_REGISTERS): Add altivec registers.
5805         (REG_ALLOC_ORDER): Same.
5806         (HARD_REGNO_NREGS): Adjust for altivec registers.
5807         (HARD_REGNO_MODE_OK): Same.
5808         (MODES_TIEABLE_P): Same.
5809         (REGISTER_MOVE_COST): Same.
5810         (REGNO_REG_CLASS): Same.
5811         (reg_class): Add ALTIVEC_REGS.
5812         (REG_CLASS_NAMES): Same.
5813         (REG_CLASS_CONTENTS): Same.
5814         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
5815         (ALTIVEC_ARG_RETURN): New.
5816         (FUNCTION_VALUE): Handle VECTOR_TYPE.
5817         (LIBCALL_VALUE): Handle altivec vector modes.
5818         (VECTOR_MODE_SUPPORTED_P): New.
5819         (ALTIVEC_ARG_MIN_REG): New.
5820         (ALTIVEC_ARG_MAX_REG): New.
5821         (ALTIVEC_ARG_NUM_REG): New.
5822         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
5823         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
5824         (REGISTER_NAMES): Add altivec regs.
5825         (DEBUG_REGISTER_NAMES): Same.
5826         (ADDITIONAL_REGISTER_NAMES): Same.
5827         (rs6000_builtins): New.
5828         (MD_EXPAND_BUILTIN): New.
5829         (MD_INIT_BUILTINS): New.
5830         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
5831         for AltiVec instructions.
5832         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
5833         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
5834         registers.
5835         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
5836         (TARGET_SWITCHES): Add no-altivec.
5837         (DATA_ALIGNMENT): Align vectors to 128 bits.
5838         (TARGET_OPTIONS): Add abi= option.
5839         Add rs6000_abi_string extern.
5840         (LOCAL_ALIGNMENT): New.
5841         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
5842         (MASK_ALTIVEC_ABI): New.
5843         (TARGET_ALTIVEC_ABI): New.
5844         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
5845         call-saved.
5846         (STACK_BOUNDARY): Adjust for altivec.
5847         (BIGGEST_ALIGNMENT): Same.
5848         (rs6000_args): Add vregno.
5849         (USE_ALTIVEC_FOR_ARG_P): New.
5850         (FIXED_REGISTERS): Add vrsave register.
5851         (CALL_USED_REGISTERS): Same.
5852         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
5853         (VRSAVE_REGNO): New.
5854         (reg_class): Add VRSAVE_REGS.
5855         (REG_CLASS_NAMES): Same.
5856         (REG_CLASS_CONTENTS): Same.
5857         (REGNO_REG_CLASS): Same.
5858
5859         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
5860         (ABI_STACK_BOUNDARY): Same.
5861         (BIGGEST_ALIGNMENT): Same.
5862         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
5863         (ROUND_TYPE_ALIGN): Same.
5864
5865         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5866         to 64.
5867
5868         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5869         to 64.
5870
5871         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5872         to 64.
5873
5874         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
5875         (altivec_expand_builtin): New.
5876         (altivec_init_builtins): New.
5877         (TARGET_EXPAND_BUILTIN): New.
5878         (TARGET_INIT_BUILTINS): New.
5879         (rs6000_init_builtins): New.
5880         (struct builtin_description): New.
5881         (bdesc_2arg): New.
5882         (rs6000_reg_names): Add altivec registers.
5883         (alt_reg_names): Same.
5884         (secondary_reload_class): Altivec regs can hold altivec regs and
5885         memory.
5886         (rs6000_emit_move): Force constants into memory for AltiVec moves.
5887         (print_operand): Add 'y' case for printing altivec memory
5888         operands.
5889         (rs6000_legitimize_address): Legitimize vector addresses into
5890         [REG+REG] or [REG].
5891         (altivec_expand_binop_builtin): New.
5892         New string rs6000_current_abi.
5893         (rs6000_override_options): Call rs6000_parse_abi_options.
5894         (rs6000_parse_abi_options): New.
5895         (function_arg_boundary): Vector arguments must be 16
5896         byte aligned.
5897         (function_arg_advance): Handle vector arguments.
5898         (function_arg_partial_nregs): Same.
5899         (init_cumulative_args): Same.
5900         (function_arg): Same.
5901
5902         * config/rs6000/rs6000.md (altivec_lvx): New.
5903         (type): Add altivec attribute.
5904         (movv4si): New.
5905         (*movv4si_internal): New.
5906         (movv16qi): New.
5907         (*movv16qi_internal): New.
5908         (movv8hi): New.
5909         (*movv8hi_internal1): New.
5910         (movv4sf): New.
5911         (*movv4sf_internal1): New.
5912         (altivec_stvx): New.
5913         (vaddubm): New.
5914         (vadduhm): New.
5915         (vadduwm): New.
5916         (vaddfp): New.
5917         (vaddcuw): New.
5918         (vaddubs): New.
5919         (vaddsbs): New.
5920         (vadduhs): New.
5921         (vaddshs): New.
5922         (vadduws): New.
5923         (vaddsws): New.
5924         (vand): New.
5925         (vandc): New.
5926         (vavgub): New.
5927         (vavgsb): New.
5928         (vavguh): New.
5929         (vavgsh): New.
5930         (vavguw): New.
5931         (vavgsw): New.
5932         (vcmpbfp): New.
5933         (vcmpequb): New.
5934         (vcmpequh): New.
5935         (vcmpequw): New.
5936         (vcmpeqfp): New.
5937         (vcmpgefp): New.
5938         (vcmpgtub): New.
5939         (vcmpgtsb): New.
5940         (vcmpgtuh): New.
5941         (vcmpgtsh): New.
5942         (vcmpgtuw): New.
5943         (vcmpgtsw): New.
5944         (vcmpgtfp): New.
5945         (vcmpgefp): New.
5946         (vcmpgtub): New.
5947         (vcmpgtsb): New.
5948         (vcmpgtuh): New.
5949         (vcmpgtsh): New.
5950         (vcmpgtuw): New.
5951         (vcmpgtsw): New.
5952         (vcmpgtfp): New.
5953         (vmaxub): New.
5954         (vmaxsb): New.
5955         (vmaxuh): New.
5956         (vmaxsh): New.
5957         (vmaxuw): New.
5958         (vmaxsw): New.
5959         (vmaxfp): New.
5960         (vmrghb): New.
5961         (vmrghh): New.
5962         (vmrghw): New.
5963         (vmrglb): New.
5964         (vmrglh): New.
5965         (vmrglw): New.
5966         (vminub): New.
5967         (vminsb): New.
5968         (vminuh): New.
5969         (vminsh): New.
5970         (vminuw): New.
5971         (vminsw): New.
5972         (vminfp): New.
5973         (vmuleub): New.
5974         (vmulesb): New.
5975         (vmuleuh): New.
5976         (vmulesh): New.
5977         (vmuloub): New.
5978         (vmulosb): New.
5979         (vmulouh): New.
5980         (vmulosh): New.
5981         (vnor): New.
5982         (vor): New.
5983         (vpkuhum): New.
5984         (vpkuwum): New.
5985         (vpkpx): New.
5986         (vpkuhss): New.
5987         (vpkshss): New.
5988         (vpkuwss): New.
5989         (vpkswss): New.
5990         (vpkuhus): New.
5991         (vpkshus): New.
5992         (vpkuwus): New.
5993         (vpkswus): New.
5994         (vrlb): New.
5995         (vrlh): New.
5996         (vrlw): New.
5997         (vslb): New.
5998         (vslh): New.
5999         (vslw): New.
6000         (vsl): New.
6001         (vslo): New.
6002         (vsrb): New.
6003         (vrsh): New.
6004         (vrsw): New.
6005         (vsrab): New.
6006         (vsrah): New.
6007         (vsraw): New.
6008         (vsr): New.
6009         (vsro): New.
6010         (vsububm): New.
6011         (vsubuhm): New.
6012         (vsubuwm): New.
6013         (vsubfp): New.
6014         (vsubcuw): New.
6015         (vsububs): New.
6016         (vsubsbs): New.
6017         (vsubuhs): New.
6018         (vsubshs): New.
6019         (vsubuws): New.
6020         (vsubsws): New.
6021         (vsum4ubs): New.
6022         (vsum4sbs): New.
6023         (vsum4shs): New.
6024         (vsum2sws): New.
6025         (vsumsws): New.
6026         (vxor): New.
6027
6028 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
6029
6030         * Makefile.in (df.o): Add fibheap.h to dependencies.
6031
6032         * df.h: Add prototypes for transfer functions, iterative_dataflow
6033         functions.
6034         (enum df_flow_dir): New enum.
6035         (enum df_confluence_op): New enum.
6036         (struct df): Add inverse_rts_map.
6037
6038         * df.c: Add sbitmap.h to the list of includes.
6039         (df_rd_global_compute): Removed.
6040         (df_ru_global_compute): Removed.
6041         (df_lr_global_compute): Removed.
6042         (df_rd_transfer_function): New function.
6043         (df_ru_transfer_function): New function.
6044         (df_lr_transfer_function): New function.
6045         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
6046         Use iterative_dataflow_bitmap instead of df_*_global_compute.
6047         (iterative_dataflow_sbitmap): New function.
6048         (iterative_dataflow_bitmap): New function.
6049
6050 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6051
6052         * doc/gcc.texi: Move terminology and spelling conventions to
6053         htdocs/codingconventions.html.
6054
6055 2001-11-07  Graham Stott  <grahams@redhat.com>
6056
6057         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
6058
6059 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
6060
6061         * expmed.c (expand_mult): Force operand to register before computing
6062         cost.
6063         * i386.c (x86_decompose_lea): New global vairable.
6064         * i386.h (x86_decompose_lea): Declare.
6065         (TARGET_DECOMPOSE_LEA): New macro.
6066         (RTX_COST): Handle leas properly.
6067
6068 2001-11-06  Richard Henderson  <rth@redhat.com>
6069
6070         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6071         defined for a CONSTRUCTOR; don't check it.
6072
6073 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6074
6075         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6076         test for absolute pathnames.
6077
6078 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
6079
6080         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6081         instructions up to the target pc inclusive.
6082
6083 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
6084
6085         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
6086
6087 2001-11-06  Eric Christopher  <echristo@redhat.com>
6088
6089         * config/mips/mips.md(movdf_internal2): Add constraints for float
6090         to general register move.
6091         * config/mips/elf64.h: Add default ABI.
6092
6093 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6094
6095         * alias.c:: Include langhooks.h.
6096         * emit-rtl.c: Similarly.
6097         * toplev.c: Similarly.
6098         * tree-inline.c: Similarly.
6099         * langhooks-def.h: New, the old langhooks.h.  Give the default
6100         hooks a common prefix.
6101         * langhooks.h: Contents extracted from toplev.h.
6102         * toplev.h: Move langhook stuff to langhooks.h.
6103         * langhooks.c: Give default hooks a common prefix.
6104
6105         * c-lang.c: Include langhooks-def.h.
6106         * objc/objc-act.c: Similarly.
6107         * Makefile.in: Update.
6108         * objc/Make-lang.in: Update.
6109
6110 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6111
6112         * doc/install.texi: Document that configure options not listed in
6113         this file are unsupported.  Document --with-system-zlib.
6114
6115 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6116
6117         * rtl.h (mem_for_const_double): New declaration.
6118         * varasm.c (mem_for_const_double): New function.
6119         * config/convex/convex.md (movdf): Use it.
6120         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6121         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6122         * config/m68k/m68kv4.h: Likewise.
6123
6124         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6125         of new GP reg classes.
6126
6127         * expr.c (store_field): When making temp object for unaligned
6128         component, set it to alias set 0.
6129
6130 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6131
6132         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6133         non-lvalue arrays if C99.
6134         * c-typeck.c (default_conversion): Split out code handling
6135         array-to-pointer and function-to-pointer conversions into a
6136         separate default_function_array_conversion function.
6137         (default_function_array_conversion): New function.  Keep track of
6138         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6139         arrays unchanged outside C99 mode instead of giving an error for
6140         them.
6141         (build_component_ref): Use pedantic_non_lvalue when handling
6142         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6143         (convert_arguments): Use default_function_array_conversion.
6144         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6145         non-lvalues are OK.
6146         (unary_complex_lvalue): Likewise.
6147         (internal_build_compound_expr): Use
6148         default_function_array_conversion.  Apply default conversions to
6149         function in compound expression.
6150         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6151         Use default_function_array_conversion.
6152         * doc/extend.texi: Update documentation of subscripting non-lvalue
6153         arrays.
6154         Fixes PR c/461.
6155
6156 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6157
6158         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6159         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6160         corresponding to the complete set of .po and .gmo files in
6161         the source directory's po subdir, modified by LINGUAS.  Don't
6162         look at ALL_LINGUAS.
6163         * configure.in: Don't set ALL_LINGUAS.
6164         * configure: Regenerate.
6165
6166         * Makefile.in (.po.gmo): Don't move into source directory.
6167         (.po.pox): Clarify comments.
6168         (install-po): Look for .gmo files in both srcdir and objdir;
6169         don't fail if a file is totally missing.
6170         (distclean): rmdir ada subdirectory too.
6171
6172 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6173
6174         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6175         CONSTRUCTORs _correctly_.
6176
6177 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6178
6179         * c-decl.c (delete_block): Remove.
6180         * c-tree.h (delete_block): Remove.
6181
6182 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6183
6184         * cppexp.c (lex, parse_defined): Update warning about defined.
6185
6186 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6187
6188         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6189         CONSTRUCTORs too.
6190
6191 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6192
6193         * config/arm/arm.c (arm_return_in_memory): Cope with
6194         int_size_in_bytes returning -1.
6195
6196         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6197         DECL being NULL.
6198
6199 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6200
6201         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6202         remove unneeded dependencies;
6203         (cfglayout.o): New.
6204         * cfglayout.c, cfglayout.h: New files; break out from ...
6205         * bb-reorder.c: ... here; Remove unneeded includes;
6206
6207 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6208
6209         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6210
6211 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6212
6213         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6214         mode as well.  Do not explicitly create intermediate regs.
6215
6216 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6217
6218         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6219         (common_section): Delete unused variable.
6220         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6221         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6222         * arm-protos.h (arm_poke_function_name, aof_add_import,
6223         aof_delete_import): Const-ify.
6224         * arm.c (legitimize_pic_address): Wrap variables in the macro
6225         controlling their usage.
6226         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6227         (arm_poke_function_name, pic_chain, import, aof_add_import,
6228         aof_delete_import): Const-ify.
6229         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6230         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6231         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6232         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6233         * i860/sysv3.h: Add missing comment closure.
6234         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6235         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6236         to symbolic_operand.
6237
6238         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6239         (i960-*-*): Set tmake_file.
6240         (sparc86x-*-elf*): Fix typo in header name.
6241
6242         * sched-rgn.c (schedule_insns): Delete unused variable.
6243
6244 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6245
6246         PR c/2820
6247         * c-typeck.c (lookup_field): Rework to return a chain down to
6248         the looked-up field.
6249         (build_component_ref): Use the new lookup_field to handle
6250         nested anonymous entities correctly.
6251
6252 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6253
6254         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6255         Change parameters to gen_rtx_CONST_DOUBLE.
6256         (GEN_INT64, sparc_emit_set_const64): Likewise.
6257         * config/sparc/sparc.md (movdf split): Likewise.
6258
6259 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6260
6261         * unroll.c (calculate_giv_inc): Use find_last_value rather
6262         than just hoping the last instruction is the right SET.
6263         [Fixes 990604-1.c on stormy16.]
6264
6265         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6266         library at all if -T is used.
6267
6268         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6269         some uses of uninitialized variables in error cases.
6270
6271         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6272         look at 'temp' if we won't be using it.
6273
6274         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6275         (RTX_COSTS): Define.
6276         (ADDRESS_COST): Define.
6277         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6278
6279         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6280
6281         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6282         stormy16_asm_output_mi_thunk.
6283         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6284         function.
6285         * config/stormy16/stormy16-protos.h
6286         (stormy16_asm_output_mi_thunk): New prototype.
6287
6288 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6289
6290         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6291         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6292         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6293         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6294         sched-int.h, toplev.c, config/alpha/alpha.c,
6295         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6296         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6297         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6298         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6299         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6300         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6301         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6302
6303 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6304
6305         * Makefile.in (dbxout.o): Depend on function.h.
6306         * collect2.c (is_in_list): Hide unused function.
6307         * dbxout.c: Include function.h.
6308         (source_label_number, dbxout_source_line, dbxout_source_file,
6309         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6310         macros controlling usage.
6311         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6312         * output.h (exports_section): Prototype.
6313
6314         * convex.c (convex_output_function_prologue): Fix format specifier
6315         warning.
6316         (asm_declare_function_name): Fix signed/unsigned warning.
6317         (print_operand): Fix format specifier warning.
6318         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6319         * dsp16xx-protos.h (uns_comparison_operator,
6320         num_1600_core_shifts): Prototype.
6321         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6322         (frame_size, frame_pointer_offset): Delete.
6323         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6324         Make static.  Fix format specifier warnings.
6325         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6326         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6327         * dsp16xx.md: Add default case in switches.
6328         * fr30.h (IN_RANGE): Delete.
6329         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6330         * mcore-protos.h (mcore_output_cmov): Const-ify.
6331         * mcore.c (mcore_output_cmov): Likewise.
6332         * mcore.h (switch_to_section): Make static and prototype.
6333         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6334         unsigned>=0 warnings.
6335         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6336         * rs6000-protos.h (read_only_data_section,
6337         read_only_private_data_section): Prototype.
6338         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6339         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6340         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6341
6342 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6343
6344         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6345         ATTRIBUTE_UNUSED.
6346         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6347         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6348         Wrap variable in macros controlling its use.
6349         * output.h (sdata_section): Add prototype.
6350
6351         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6352         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
6353         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
6354         (ASM_FILE_START): Const-ify.
6355         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
6356         specifier warning.
6357         * c4x.md: Don't use the 'U' integer suffix.
6358         * clipper.md (clipper_movstr): Delete declaration.
6359         * d30v-protos.h (d30v_move_2words): Const-ify.
6360         (debug_stack_info): Add prototype.
6361         * d30v.c: Include "integrate.h".
6362         (d30v_function_arg_boundary, d30v_function_arg,
6363         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
6364         signed/unsigned warnings.
6365         (d30v_print_operand_memory_reference, d30v_move_2words):
6366         Const-ify.
6367         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
6368         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
6369         * fr30.md: Const-ify.
6370         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6371         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
6372         (mvs_get_label_page): Hide unused static function.
6373         * i860.c (current_function_original_name): Const-ify.
6374         * i860/sysv3.h (current_function_original_name): Likewise.
6375         * i860/sysv4.h (current_function_original_name): Likewise.
6376         * i960.md: Add default case in switches.  Remove unused variable.
6377         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
6378         * m32r.md: Const-ify.
6379         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
6380         * m68hc11.c: Include "reload.h".
6381         (static_chain_reg, print_options, m68hc11_asm_file_start):
6382         Const-ify.
6383         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
6384         around & in comparison.
6385         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6386         * mn10200.c (shift_mode): Remove trailing comma.
6387         * mn10300-protos.h (output_tst): Const-ify.
6388         * mn10300.c (output_tst): Likewise.
6389         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
6390         warnings.
6391         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
6392         * pa.c (output_ascii): Likewise.
6393         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6394         * pdp11.md (expand_unop): Delete declarations.
6395         * pj-protos.h (pj_output_addsi3): Const-ify.
6396         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
6397         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
6398         unique_src_operand): Add prototypes.
6399         (pj_output_store_into_lval): Make definition static.
6400         (pj_function_incoming_arg): Don't use unary plus.
6401         (pj_output_addsi3): Const-ify.
6402         * romp.md (get_symref): Delete declarations.
6403         * v850-c.c (mark_current_function_as_interrupt): Don't return
6404         value from void function.
6405         * v850.c: Include "integrate.h".
6406         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
6407         * vax-protos.h (const_section): Add prototype.
6408
6409 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
6410
6411         * machmode.def: Add documentation for the seventh argument in
6412         vector modes.
6413
6414 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
6415
6416         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
6417         consistently.
6418         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
6419         <-melf>: Don't have markup for ELF acronym.
6420
6421 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
6422
6423         * config.gcc (mmix-*-*): New target.
6424         * doc/invoke.texi: Document MMIX options.
6425         * doc/contrib.texi: Add note about MMIX port to my entry.
6426         * config/mmix/t-mmix: New file.
6427         * config/mmix/mmix.h: New file.
6428         * config/mmix/mmix-protos.h: New file.
6429         * config/mmix/mmix.c: New file.
6430         * config/mmix/mmix.md: New file.
6431         * config/mmix/crti.asm: New file.
6432         * config/mmix/crtn.asm: New file.
6433
6434 2001-11-03  Kazu Hirata  <kazu@hxi.com>
6435
6436         * config/sparc/linux-aout.h: Fix comment formatting.
6437         * config/sparc/linux.h: Likewise.
6438         * config/sparc/linux64.h: Likewise.
6439         * config/sparc/lynx.h: Likewise.
6440         * config/sparc/pbd.h: Likewise.
6441         * config/sparc/sol2-sld-64.h: Likewise.
6442         * config/sparc/sol2.h: Likewise.
6443         * config/sparc/sparc.c: Likewise.
6444         * config/sparc/sparc.h: Likewise.
6445         * config/sparc/sparc.md: Likewise.
6446         * config/sparc/sunos4.h: Likewise.
6447         * config/sparc/vxsim.h: Likewise.
6448         * config/sparc/vxsparc.h: Likewise.
6449         * config/sparc/vxsparc64.h: Likewise.
6450
6451 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6452
6453         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
6454         reference to CONST_DOUBLE_MEM in comment.
6455         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
6456         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
6457         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
6458         * function.c (pop_function_context_from): Don't call
6459         restore_varasm_status.
6460         * function.h (restore_varasm_status): Delete declaration.
6461         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
6462         * rtl.c: Likewise.
6463         * rtl.def (CONST_DOUBLE): Update comment.
6464         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
6465         (CONST_DOUBLE_CHAIN): Likewise.
6466         (CONST_DOUBLE_MEM): Delete.
6467         (gen_rtx_CONST_DOUBLE): Update parameters.
6468         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
6469         Remove reference to CONST_DOUBLE_MEM.
6470         (const_alias_set): New variable.
6471         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
6472         (immed_real_const_1): Adjust tests for 0, 1, and 2.
6473         Don't set CONST_DOUBLE_MEM.
6474         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
6475         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
6476         Put constant in const_alias_set.
6477         (struct pool_constant): ALIGN now unsigned.
6478         OFFSET now HOST_WIDE_INT.
6479         Delete LABEL.
6480         (restore_varasm_status): Deleted.
6481         (mark_pool_constant): Mark desc->rtl.
6482         (force_const_mem): Rework to store rtl in hash table,
6483         not CONST_DOUBLE_MEM.
6484         Put constant in const_alias_set.
6485         (find_pool_constant): Check desc->rtl.
6486         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
6487         (init_varasm_once): Initialize const_alias_set.
6488
6489         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
6490         force_const_mem.
6491
6492         * reload.c (combine_reloads): Don't combine an output reload if there
6493         are other reloads around for part of the output.
6494
6495         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
6496         constant expression.
6497         (set_mem_decl): New function.
6498         * expr.h (set_mem_decl): New declaration.
6499         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
6500         (output_asm_operand_names): Add tab.
6501         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
6502
6503         * builtins.c (get_memory_rtx): Properly set MEM alias set and
6504         attributes.
6505
6506 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6507
6508         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
6509         Use "invalid" instead of "illegal".  Use @r in comments in
6510         examples.
6511
6512 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6513
6514         * c-decl.c (pushdecl): Move block inside if conditional to remove
6515         possibility of a segfault.  Lookup block-level extern
6516         variables in enclosing scopes correctly.
6517
6518         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
6519
6520 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6521
6522         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
6523         SUBREG so we avoid SUBREGing memory.
6524
6525         * expmed.c (store_bit_field): Same.
6526
6527 2001-11-02  DJ Delorie  <dj@redhat.com>
6528
6529         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
6530         using FP registers for DImode mem-mem moves is acceptable.
6531
6532 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6533
6534         * builtins.c (apply_args_size): Handle vector arguments.
6535         (apply_result_size): Same.
6536
6537         * machmode.def: Set WIDER mode field for all vector entries.
6538
6539 2001-11-02  Graham Stott  <grahams@redhat.com>
6540
6541         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
6542
6543 2001-11-01  Eric Christopher  <echristo@redhat.com>
6544
6545         * config.gcc: Revert part of earlier patch.
6546         * config/mips/linux.h: Ditto.
6547         * df.c: Include tm_p.h to avoid warnings.
6548         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
6549         #if/#endif.
6550         * config/mips/mips.c: Define mips_abi regardless.
6551         (mips_output_function_prologues): Add long casts for .frame
6552         output.
6553         (override_options): Allow use of ABI_32.
6554
6555 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6556
6557         * config/m68hc11/m68hc11.c: Fix comment formatting.
6558         * config/m68hc11/m68hc11.h: Likewise.
6559         * config/m68hc11/m68hc11.md: Likewise.
6560
6561 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6562
6563         * c-typeck.c (default_conversion): Retain the original expression
6564         codes.
6565         * gcc.dg/Wparentheses.c: New tests.
6566
6567 2001-11-01  David S. Miller  <davem@redhat.com>
6568
6569         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
6570         64-bit Sparc description more in line with reality.
6571
6572 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
6573
6574         * Makefile.in (GCOV_OBJS): Add version.o.
6575         * gcov.c: Include "version.h" and <getopt.h>.
6576         (gcov_version_string): Remove.
6577         (print_usage): Take a parameter to determine whether this is a
6578         call from --help or an error message.  Give fuller output that
6579         follows the GNU Coding Standards for --help.
6580         (print_version): New function.
6581         (options): New.
6582         (process_args): Use getopt_long.  Support long options.  Follow
6583         GNU Coding Standards for --help and --version.
6584         * doc/gcov.texi: Document long options.
6585         Addresses part of PR other/704.
6586
6587 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6588
6589         * pa.c (output_move_double): Fix typo in double load.
6590
6591 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6592
6593         * config/h8300/h8300.c (h8300_encode_label): Compute a string
6594         before passing it to ggc_alloc_string.
6595
6596 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6597
6598         * config/m68k/3b1.h: Fix comment formatting.
6599         * config/m68k/3b1g.h: Likewise.
6600         * config/m68k/a-ux.h: Likewise.
6601         * config/m68k/amix.h: Likewise.
6602         * config/m68k/apollo68.h: Likewise.
6603         * config/m68k/atari.h: Likewise.
6604         * config/m68k/aux-exit.c: Likewise.
6605         * config/m68k/ccur-GAS.h: Likewise.
6606         * config/m68k/crds.h: Likewise.
6607         * config/m68k/dpx2.h: Likewise.
6608         * config/m68k/dpx2g.h: Likewise.
6609         * config/m68k/hp310.h: Likewise.
6610         * config/m68k/hp320.h: Likewise.
6611         * config/m68k/isi.h: Likewise.
6612         * config/m68k/linux.h: Likewise.
6613         * config/m68k/lynx.h: Likewise.
6614         * config/m68k/m68k-psos.h: Likewise.
6615         * config/m68k/m68k.c: Likewise.
6616         * config/m68k/m68k.h: Likewise.
6617         * config/m68k/m68k.md: Likewise.
6618         * config/m68k/m68kelf.h: Likewise.
6619         * config/m68k/m68kv4.h: Likewise.
6620         * config/m68k/mot3300.h: Likewise.
6621         * config/m68k/news.h: Likewise.
6622         * config/m68k/next.h: Likewise.
6623         * config/m68k/pbb.h: Likewise.
6624         * config/m68k/plexus.h: Likewise.
6625         * config/m68k/sgs.h: Likewise.
6626         * config/m68k/sun3.h: Likewise.
6627         * config/m68k/tower.h: Likewise.
6628         * config/m68k/vxm68k.h: Likewise.
6629
6630 2001-10-31  DJ Delorie  <dj@redhat.com>
6631
6632         * config/mips/mips.h (mips_cache_flush_func): Prototype.
6633         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
6634         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
6635         * config/mips/mips.c (mips_cache_flush_func): New.
6636         * doc/invoke.texi: Document the new options.
6637
6638 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
6639
6640         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
6641         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
6642
6643         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
6644
6645         * config/cris/cris.c: Include output.h after tree.h but before
6646         target.h.
6647
6648 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
6649
6650         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
6651         (INTL_SUBDIRS): Just intl.
6652         (.SUFFIXES): Add .gmo .po .pox.
6653         (native): Also depend on build-@POSUB@.
6654         (intl.all, intl.install): Depend on config.h and things it includes.
6655         (po-generated): New target; depend on c-parse.c and tradcif.c.
6656         (install-normal): Also depend on install-@POSUB@.
6657         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
6658         (build-, install-, build-po, update-po, install-po,
6659         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
6660
6661         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
6662         * configure.in: Don't munge XGETTEXT.  Don't generate
6663         po/Makefile.in.
6664         * configure: Regenerate.
6665
6666         * exgettext: Delete.
6667         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
6668         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
6669
6670 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6671
6672         * config/h8300/h8300.md (two anonymous patterns): New.
6673
6674 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
6675
6676         * tree.h (tree_index): Add support for V16QI and V8HI.
6677         (V8HI_type_node): New.
6678         (V16QI_type_node): New.
6679
6680         * tree.c (build_common_tree_nodes_2): Same.
6681
6682         * c-common.c (type_for_mode): Same.
6683
6684 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6685
6686         * config/i386/att.h: Fix comment formatting.
6687         * config/i386/beos-elf.h: Likewise.
6688         * config/i386/bsd.h: Likewise.
6689         * config/i386/bsd386.h: Likewise.
6690         * config/i386/crtdll.h: Likewise.
6691         * config/i386/cygwin.asm: Likewise.
6692         * config/i386/cygwin.h: Likewise.
6693         * config/i386/djgpp.h: Likewise.
6694         * config/i386/freebsd-aout.h: Likewise.
6695         * config/i386/freebsd.h: Likewise.
6696         * config/i386/gas.h: Likewise.
6697         * config/i386/i386-interix.h: Likewise.
6698         * config/i386/i386-protos.h: Likewise.
6699         * config/i386/i386.c: Likewise.
6700         * config/i386/i386.h: Likewise.
6701         * config/i386/i386.md: Likewise.
6702         * config/i386/i386elf.h: Likewise.
6703         * config/i386/interix.c: Likewise.
6704         * config/i386/isc.h: Likewise.
6705         * config/i386/isccoff.h: Likewise.
6706         * config/i386/iscdbx.h: Likewise.
6707         * config/i386/linux.h: Likewise.
6708         * config/i386/lynx.h: Likewise.
6709         * config/i386/mingw32.h: Likewise.
6710         * config/i386/netbsd-elf.h: Likewise.
6711         * config/i386/next.h: Likewise.
6712         * config/i386/osf1elf.h: Likewise.
6713         * config/i386/osfrose.h: Likewise.
6714         * config/i386/sco5.h: Likewise.
6715         * config/i386/seq-gas.h: Likewise.
6716         * config/i386/seq-sysv3.h: Likewise.
6717         * config/i386/sequent.h: Likewise.
6718         * config/i386/sol2.h: Likewise.
6719         * config/i386/sun386.h: Likewise.
6720         * config/i386/uwin.asm: Likewise.
6721         * config/i386/uwin.h: Likewise.
6722         * config/i386/vxi386.h: Likewise.
6723         * config/i386/win32.h: Likewise.
6724         * config/i386/winnt.c: Likewise.
6725         * config/i386/xm-cygwin.h: Likewise.
6726         * config/i386/xm-mingw32.h: Likewise.
6727
6728 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6729
6730         * builtins.def: Fix comment typos.
6731         * config/alpha.c: Likewise.
6732         * config/arm/arm.c: Likewise.
6733         * config/avr/avr.h: Likewise.
6734         * config/d30v/d30v.c: Likewise.
6735         * config/d30v/d30v.h: Likewise.
6736         * config/d30v/d30v.md: Likewise.
6737         * config/dsp16xx/dsp16xx.c: Likewise.
6738         * config/fr30/fr30.c: Likewise.
6739         * config/fr30/fr30.md: Likewise.
6740         * config/i386/i386.c: Likewise.
6741         * config/i860/i860.c: Likewise.
6742         * config/i960/i960.c: Likewise.
6743         * config/ia64/ia64.c: Likewise.
6744         * config/mips/mips.c: Likewise.
6745         * config/pa/pa.c: Likewise.
6746         * config/rs6000/rs6000.c: Likewise.
6747         * config/s390/s390.c: Likewise.
6748         * config/sparc/sparc.c: Likewise.
6749
6750 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6751
6752         * config/mips/elf.h: Fix comment formatting.
6753         * config/mips/elf64.h: Likewise.
6754         * config/mips/iris5.h: Likewise.
6755         * config/mips/iris5gas.h: Likewise.
6756         * config/mips/iris6.h: Likewise.
6757         * config/mips/isa3264.h: Likewise.
6758         * config/mips/linux.h: Likewise.
6759         * config/mips/mips.c: Likewise.
6760         * config/mips/mips.h: Likewise.
6761         * config/mips/mips.md: Likewise.
6762         * config/mips/mips16.S: Likewise.
6763         * config/mips/netbsd.h: Likewise.
6764         * config/mips/osfrose.h: Likewise.
6765         * config/mips/r3900.h: Likewise.
6766         * config/mips/sni-svr4.h: Likewise.
6767         * config/mips/svr4-t.h: Likewise.
6768         * config/mips/ultrix.h: Likewise.
6769
6770 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
6771
6772         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
6773         when we update head->current.
6774
6775 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6776
6777         * tree.c (id_string_size): Remove.
6778         (dump_tree_statistics): Update.
6779         * toplev.c (compile_file): If dumping stats, dump tree stats too.
6780
6781 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6782
6783         * sched-rgn.c (schedule_insns): Fix comment.
6784
6785 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
6786
6787         * configure.in: Correct previous change: don't assume that
6788         gas's version number _isn't_ the last thing on the line, or
6789         isn't the only number on the line, either.
6790         * configure: Regenerate.
6791
6792 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6793
6794         * cfgcleanup.c: Fix a comment typo.
6795
6796 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6797
6798         * alias.c: Fix comment formatting.
6799         * recog.c: Likewise.
6800         * config/cris/cris.c: Likewise.
6801         * config/cris/cris.h: Likewise.
6802         * config/i960/i960.c: Likewise.
6803         * config/i960/i960.h: Likewise.
6804
6805 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6806
6807         * config/arm/arm.c: Fix a comment typo.
6808         * config/arm/arm.h: Likewise.
6809         * config/ia64/ia64.c: Likewise.
6810
6811 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
6812
6813         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
6814         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
6815         * rtl.h (set_unique_reg_note): Change return value.
6816         * gcse.c (try_replace_reg): Use set_unique_reg_note.
6817         * cse.c (cse_insn): Likewise.
6818         * expr.c (emit_move_insn): Likewise.
6819         * explow.c (force_reg): Likewise.
6820         * local-alloc (update_equiv_regs): Likewise.
6821         * loop.c (move_moveables, load_mems): Likewise.
6822         * reload (find_reloads): Likewise.
6823
6824 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
6825
6826         Localization fixes.
6827         * c-decl.c (parmlist_tags_warning, start_struct,
6828         check_for_loop_decls): Separate messages for struct, union and
6829         enum cases to allow for languages in which they have different
6830         genders.
6831         * c-format.c (scanf_flag_specs): Separate short and long name of
6832         the assignment suppression feature.
6833         (check_format_types): Localize "pointer" and "different types"
6834         strings.
6835         * c-lex.c (lex_number): Localize "an unsigned long int" and
6836         related strings.
6837         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
6838         warning message.
6839         * c-typeck.c (build_unary_up): Separate messages for increment and
6840         decrement cases to allow for languages in which they use different
6841         articles.  Localize the strings "increment" and "decrement" in one
6842         case.
6843
6844 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
6845
6846         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
6847         when no changes has been made.
6848
6849         * gcse.c (reg_set_bitmap): Turn into reg_set.
6850         (modify_mem_list_set, canon_modify_mem_list_set)
6851         (clear_modify_mem_tables, free_modify_mem_tables): New.
6852         (gcse_main); Use free_modify_mem_tables.
6853         (free_gcse_mem): Likewise; free the bitmaps.
6854         (alloc_gcse_main): Initialize the bitmaps.
6855         (canon_list_insert): Set canon_modify_mem_list_set.
6856         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
6857         (compute_hash_table): Use clear_modify_mem_tables.
6858         (reset_opr_set_tables): Likewise.
6859         (oprs_not_set_p): reg_set_bitmap is regset.
6860         (mark_set, mark_clobber): Likewise.
6861
6862         * df.h (DF_EQUIV_NOTES): New constant.
6863         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
6864         when asked for.
6865
6866         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
6867         (init_regions, schedule_insns): Conditionalize the checking
6868         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
6869
6870 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
6871
6872         * i386.md (movti_rex64 splitter): Fix condition.
6873
6874 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
6875
6876         * configure.in: Do not assume that gas's version number is the
6877         last thing on the first line of as --version output.
6878         * configure: Regenerate.
6879
6880         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
6881         MT_WARNING, MT_ERROR, MT_FATAL.
6882         (main): Call gcc_init_libintl.
6883         (v_message): Call gettext on msgid and "warning: "
6884         * tradcif.y: Include intl.h.
6885         (yyerror): Make parameter definition consistent with
6886         prototype.  Call gettext on msgid argument.
6887
6888 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6889
6890         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
6891         warnings.
6892
6893         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
6894
6895 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6896
6897         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
6898         before referencing it.
6899
6900 2001-10-26  DJ Delorie  <dj@redhat.com>
6901
6902         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
6903         override -G, and force -G0.
6904
6905 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6906
6907         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
6908         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
6909         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
6910         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
6911
6912         * loop.h (struct induction): Rename ext_dependant to
6913         ext_dependent.
6914         * loop.c: Change all uses.
6915         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
6916         All callers changed.
6917         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
6918
6919 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6920
6921         * c-parse.in (expr_no_commas, primary), c-typeck.c
6922         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
6923
6924 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
6925
6926         Undo assemble_name change in earlier patch.
6927
6928 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
6929
6930         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
6931         determining the type of the receiver, do not check that TREE_CODE
6932         of receiver is CALL_EXPR before calling receiver_is_class_object().
6933         (receiver_is_class_object): For the GNU runtime: recognize
6934         the case that the receiver is self in a class method context.
6935         Check that TREE_CODE of receiver is CALL_EXPR when checking that
6936         the receiver is a call to objc_get_class.
6937
6938 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6939
6940         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
6941
6942 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6943
6944         * Makefile.in (OBJS): Put all files in alphabetical order.
6945
6946         * dwarf2out.c (add_const_value_attribute): Fix error in last
6947         change.
6948
6949 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6950
6951         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
6952         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
6953         fix warning.
6954         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
6955         (life_analysis): call purge_all_dead_edges after deleting noops.
6956         (delete_noop_move): Do not purge CFG.
6957         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
6958
6959 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
6960
6961         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
6962         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
6963         (ASM_GLOBALIZE_LABEL): Use assemble_name.
6964         (ASM_OUTPUT_COMMON): Likewise.
6965         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
6966         (rs6000_output_function_epilogue): Likewise.
6967         (output_mi_thunk): Fix typo.
6968         (rs6000_output_symbol_ref): Use assemble_name.
6969         (output_toc): Likewise.
6970         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
6971         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
6972         assemble_name calls STRIP_NAME_ENCODING.
6973         (ASM_OUTPUT_LABEL): Use assemble_name.
6974         (ASM_GLOBALIZE_LABEL): Likewise.
6975         (ASM_DECLARE_FUNCTION_NAME): Likewise.
6976         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
6977         (ASM_OUTPUT_LOCAL): Likewise.
6978
6979 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6980
6981         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
6982         (expand_builtin_apply, expand_builtin_return): Likewise.
6983         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
6984
6985 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6986
6987         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6988         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
6989         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
6990         configure, configure.in, except.c, except.h, flow.c, function.c,
6991         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
6992         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
6993         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
6994         unroll.c: Fix spelling errors.
6995
6996         * doc/extend.texi, doc/invoke.texi: Fix spelling.
6997
6998         * doc/gcc.texi: Document use of "dependent" and American spelling.
6999
7000 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7001
7002         * expr.c (emit_group_load): Support CONCATs by storing them to memory
7003         and reloading.
7004
7005 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7006
7007         * expr.c (store_constructor_field): Only call adjust_address on MEM.
7008
7009 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
7010
7011         * genrecog.c (write_switch):  Output if before switch for
7012         DT_elt_zero_wide_safe.
7013
7014 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7015
7016         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
7017         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
7018         (FUNCTION_PROFILER): Const-ify.
7019         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
7020         (eliminate_constant_term, assemble_name, output_addr_const):
7021         Remove declarations.
7022         (ptr_half_pic_address_p, half_pic_hash): Prototype.
7023         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
7024         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
7025         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
7026         (half_pic_declare, half_pic_external): Const-ify.
7027         * toplev.c: Include "halfpic.h".
7028
7029 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
7030
7031         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
7032         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
7033         config/i386/i386.c, config/i386/i386-interix.h,
7034         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
7035         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
7036         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
7037         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
7038         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
7039         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
7040         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
7041         spelling errors.
7042
7043         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7044         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
7045         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
7046         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
7047         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
7048         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
7049         system.h, toplev.c: Fix spelling errors.
7050
7051 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7052
7053         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
7054
7055         * dwarf2out.c (reg_number): Abort if pseudo.
7056         (reg_loc_descriptor): Return 0 if pseudo.
7057         (is_based_loc): Return 0 if pseudo.
7058         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
7059         recursive calls.
7060         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
7061         (loc_descriptor): Return 0 if can't find location and handle 0
7062         return from recursive calls.
7063         (loc_descriptor_from_tree): Likewise.
7064         Fix handling of indirect.
7065         Also return 0 for PLACEHOLDER_EXPR.
7066         Clean up COMPONENT_REF cases.
7067         (add_AT_location_descriptor): Simplify, but handle 0 return from
7068         loc_descriptor.
7069         (add_const_value_attribute): Avoid shift count warning.
7070         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7071         Set comp_unit_die as context if not in function.
7072
7073         * config/mips/mips-protos.h: Break up long lines.
7074         Remove needless #ifdef/#endif blocks.
7075         Don't declare functions declared in file made by genpreds or recog.h.
7076         * config/mips/mips.c (mips_output_function_prologue): TSIZE
7077         is now HOST_WIDE_INT; delete unneeded casts.
7078         * config/mips/mips.h: Don't use #elif.
7079
7080         * expr.c (stor_constructor_field): Always call adjust_address.
7081         Copy TARGET before changing its alias set.
7082         (store_field): Likewise, for TO_RTX.
7083         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7084         replacement.
7085         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7086         (find_placeholder): Return 0 if can't find object.
7087         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7088         returns 0.
7089
7090 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7091
7092         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7093
7094 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
7095
7096         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7097         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7098         (merge_blocks): Properly udpate life after making edge nonfallthru.
7099         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7100
7101 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7102
7103         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7104
7105 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7106
7107         * c-typeck.c (convert_arguments): When comparing for enumeral
7108         type equality, use TYPE_MAIN_VARIANT.
7109         * gcc.dg/Wconversion.c: New tests.
7110
7111 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7112
7113         * s390/s390.c: Fix comment typos.
7114         * s390/s390.h: Likewise.
7115         * s390/s390.md: Likewise.
7116
7117 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7118
7119         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7120         (walk_tree): Use it for tail calls where appropriate.
7121
7122 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7123
7124         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7125         non-local label_refs.
7126
7127 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7128
7129         * config/h8300/h8300.md (4 anonymous patterns): New.
7130
7131 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7132
7133         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7134         algorithm through the shift_info structure.
7135         (emit_a_shift): Update the use of get_shift_alg.
7136
7137 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7138
7139         * sched-rgn.c: Remove bitset typedef.
7140         Change bitset to sbitmap in prototypes / variable types.
7141         Remove bbset_size.
7142         Remove edgeset_bits.
7143         Remove edgeset_size.
7144         s/BITSET_ADD/SET_BIT/g
7145         s/BITSET_INVERT/sbitmap_ones/g
7146         s/BITSET_INTER/sbitmap_a_and_b/g
7147         s/BITSET_UNION/sbitmap_a_or_b/g
7148         s/BITSET_DIFFER/sbitmap_difference/g
7149         s/bitset_member/TEST_BIT/g
7150         (BITSET_*): Removed.
7151         (bitset_member): Removed.
7152         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7153         EXECUTE_IF_SET_IN_SBITMAP.
7154         (split_edges): Rewrite, use sbitmap functions instead of bitset
7155         operations.
7156         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7157
7158 2001-10-26  Andreas Schwab  <schwab@suse.de>
7159
7160         * reload1.c (emit_input_reload_insns): Fix parens in last
7161         (undocumented) change that was supposed to change only whitespace.
7162
7163 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7164
7165         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7166
7167         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7168         ASM_OPERANDS.
7169
7170 2001-10-26  Andreas Jaeger  <aj@suse.de>
7171
7172         * flow.c (clear_log_links): Remove unused variable.
7173         * cfgcleanup.c (cleanup_cfg): Likewise.
7174
7175 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7176
7177         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7178         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7179
7180 2001-10-26  Richard Henderson  <rth@redhat.com>
7181
7182         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7183         rename PV_REG to R27_REG.
7184         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7185         (REG_CLASS_FROM_LETTER): Update.
7186         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7187         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7188         (udivsi3, modsi3, umodsi3): Likewise.
7189         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7190
7191 2001-10-26  Richard Henderson  <rth@redhat.com>
7192
7193         * cfg.c (clear_aux_for_blocks): Split out of ...
7194         (free_aux_for_blocks): here.
7195         (clear_aux_for_edges): Split from ...
7196         (free_aux_for_edges): here.
7197         * basic-block.h: Declare them.
7198         * lcm.c (compute_antinout_edge): Use them.
7199         (compute_laterin, compute_available, compute_nearerout): Likewise.
7200         (optimize_mode_switching): Likewise.
7201
7202 2001-10-26  Richard Henderson  <rth@redhat.com>
7203
7204         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7205         moving everything back to the main build directory.
7206
7207 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7208
7209         * config/i386/cygwin.h: Search target specific include directory, if
7210         appropriate.
7211
7212 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7213
7214         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7215         of macro guards. Fix #endif comment.
7216
7217         * output.h (default_exception_section, default_eh_frame_section):
7218         Move prototypes outside of macro guard.
7219
7220         * crtstuff.c: Fix #endif comment.
7221
7222 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7223
7224         * doc/md.texi (movMM): Clarify semantics of storing into a
7225         non-paradoxical SUBREG.
7226
7227 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7228
7229         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7230         (lang_hook_default_get_alias_set): Move next to other alias
7231         hooks.
7232         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7233         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7234         (LANG_HOOKS_INITIALIZER): Add it.
7235         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7236         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7237         instead of a loop calling poplevel.
7238
7239 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7240
7241         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7242         occurrences of #elif with #if...#endif.
7243
7244 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7245
7246         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7247
7248 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7249
7250         * alias.c (can_address_p): No longer static.
7251         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7252         Return 0 if all parameters are default values.
7253         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7254         (adjust_address_1): Try harder to compute a size.
7255         * expr.c (expand_assignment, store_constructor): If can't address,
7256         set MEM_KEEP_ALIAS_SET_P.
7257         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7258         (store_field): Likewise.
7259         (store_constructor): Simplify call to store_constructor_field.
7260         * expr.h (can_address_p): New declaration.
7261         * gensupport.c (gen_rtx_CONST_INT): New function.
7262         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7263         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7264         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7265
7266         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7267
7268 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7269
7270         * config/i386/cygwin.h: Use proper path for mingw crt files when
7271         -mno-cygwin.
7272
7273 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7274
7275         * dwarf2out.c (file_info_cmp): Always return consistent results.
7276
7277 2001-10-24  Roger Sayle <roger@eyesopen.com>
7278
7279         * stmt.c (expand_end_case): Index jumptables from zero for
7280         suitably small values of minval.
7281
7282 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7283
7284         * stor-layout.c (place_union_field): If any field was aligned with
7285         attribute aligned, set record type's TYPE_USER_ALIGN.
7286         (place_field): Likewise.
7287         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7288         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7289
7290 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7291
7292         * c-common.h (struct c_common_identifier): Remove rid_code field.
7293         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7294
7295         * c-typeck.c (constructor_designated): New local flag.
7296         (struct constructor_stack): Add "designated" field to match.
7297         (start_init): Clear it.
7298         (really_start_incremental_init, push_init_level): Push and
7299         clear it.
7300         (pop_init_level): Pop it.
7301         (set_designator): Set it.
7302
7303         (pop_init_level): Suppress "missing initializer" warnings if
7304         constructor_designated is true.
7305         (process_init_element): Suppress warning about union
7306         initialization under traditional C, if constructor_designated
7307         is true.
7308
7309 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7310
7311         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7312         change.
7313
7314 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7315
7316         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7317
7318 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7319
7320         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7321         the node was already a set to a constant.
7322
7323 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7324
7325         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7326         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7327
7328 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7329
7330         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7331         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7332         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7333         * s390.c (s390_final_chunkify): Don't use string concatenation.
7334         (s390_function_prologue, s390_function_epilogue): Const-ify.
7335         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7336
7337 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7338
7339         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7340         prototypes.
7341
7342 2001-10-23  Stan Shebs  <shebs@apple.com>
7343
7344         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7345         -traditional-cpp in first-stage compilation.
7346
7347 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7348
7349         * gensupport.c (target_flags): Add.
7350
7351 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7352
7353         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
7354         if needed.
7355         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
7356         * except.c (expand_builtin_frob_return_addr): Likewise.
7357         (expand_builtin_eh_return): Likewise.
7358         * stmt.c (expand_computed_goto): Likewise.
7359         * explow.c (memory_address): Likewise.
7360         (allocate_dynamic_stack_space): Clean up predicate testing.
7361         (probe_stack_range): Convert SIZE to Pmode.
7362         * calls.c (rtx_for_function_call): Only call convert_memory_address
7363         if needed.
7364         Pass function call operand as ptr_mode, not Pmode.
7365         * expr.c (expand_assignment): Clean up calls to convert_memory
7366         address by only doing so when needed and making offsets Pmode.
7367         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
7368         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
7369         is in Pmode, not ptr_mode.
7370
7371 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7372
7373         * darwin-protos.h (constructor_section, destructor_section,
7374         mod_init_section, mod_term_section): Prototype.
7375         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
7376         Const-ify.
7377         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
7378         Likewise.
7379         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
7380         objc_section_init declaration.
7381         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
7382         (objc_section_init, try_section_alias): Make static.
7383         (alias_section): Make static and hide unused function.
7384         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
7385
7386 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7387
7388         * alias.c (can_address_p): Compnonents are not addressable if
7389         the containing type has alias set 0.
7390         (get_alias_set): Rework to use STRIP_NOPS.
7391         Only call front-end routine on object, type, or object with
7392         NOPs stripped, not inner values.
7393         Use language hook to call front-end routine.
7394         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
7395         (expand_builtin_apply): Call set_mem_align on MEMs we make.
7396         Don't pass alignment to emit_block_move.
7397         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
7398         (expand_builtin_memset): Likewise, but for clear_storage.
7399         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
7400         and remove C++ specific parts.
7401         * c-common.h (c_common_get_alias_set): Add declaration.
7402         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
7403         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
7404         (save_fixed_argument_area): Call set_mem_align.
7405         Remove alignment in call to emit_block_move.
7406         (emit_library_call_value_1, store_one_arg): Likewise.
7407         (target_for_arg): Remove; disabled long ago.
7408         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
7409         once and similar cleanups.
7410         (offset_address): Use proper introductory comment.
7411         * expr.c (emit_block_move): Use alignment from that of MEM args, not
7412         from explicit operand; all callers changed.
7413         (clear_storage): Likewise.
7414         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
7415         (store_field): Remove kludge on alias set used for to_rtx.
7416         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
7417         (expand_expr_unaligned): Call set_mem_attributes instead of
7418         set_mem_alias_set.
7419         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
7420         * function.c (assign_stack_temp_for_type): Set MEM alignment.
7421         (expand_function_end): Track MEM attributes of trampolines.
7422         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
7423         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
7424         attributes from original.
7425         * langhooks.c (lang_hook_default_get_alias_set): New function.
7426         (hook_get_alias_set_0): New function.
7427         * langhooks.h (hook_get_alias_set_0): New declaration.
7428         (lang_hook_default_get_alias_set): Likewise.
7429         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
7430         * reload1.c (alter_reg): Use adjust_address_nv.
7431         * rtl.c (get_mode_alignment): Moved to here.
7432         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
7433         change default if unknown from 1 to BITS_PER_UNIT.
7434         * stor-layout.c (get_mode_alignment): Remove from here.
7435         * toplev.h (struct lang_hoks): Add get_alias_set field.
7436         * tree.h (lang_get_alias_set): Delete declaration.
7437         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
7438         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
7439         (ix86_va_arg): Likewise.
7440         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
7441         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
7442         * config/sparc/sparc.c (sparc_va_arg): Likewise.
7443         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
7444         (expand_block_move_mem): Remove dead code.
7445
7446 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7447
7448         * c-common.c (warn_div_by_zero): New.
7449         * c-common.h (warn_div_by_zero): New.
7450         * c-decl.c (c_decode_option): Take it on the command line.
7451         * c-typeck.c (build_binary_op): Warn about division by zero.
7452         * doc/invoke.texi: Document the new command line option, fix
7453         documentation of -Wmultichar.
7454         * testsuite/gcc.dg/divbyzero.c: New tests.
7455         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
7456
7457 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7458
7459         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
7460
7461         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
7462         to avoid update_life_info call.
7463         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
7464         * cfgcleanup.c (bb_flags): New enum.
7465         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
7466         (notice_new_block, update_forwarder_flag): New functions.
7467         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
7468         (try_forward_edges): Likewise; update flags.
7469         (merge_blocks): Likewise.
7470         (outgoing_edges_match): Likewise.
7471         (try_crossjump_to_edge): Likewise.
7472         (try_optimize_cfg): Likewise; initialize and clear the flags;
7473         recompute life info if needed.
7474         (cleanup_cfg): No need to clear aux pointers.
7475
7476 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
7477
7478         * config/i386/i386.c (override_options): Default to minimum
7479         stack alignment when optimizing for code size.
7480         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
7481         change.
7482
7483         * config/i386/i386.c (override_options): Set upper limit of
7484         -mpreferred-stack-boundary to 12.
7485
7486 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
7487
7488         * recog.c (peephole2_optimize): Add default case to switch.
7489
7490 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7491
7492         * doc/gcc.texi (Sending Patches): Remove.
7493
7494 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
7495
7496         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
7497         fields when comparing.
7498
7499 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7500
7501         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
7502         * arm.c (HOST_INT, HOST_UINT): Likewise.
7503
7504 2001-10-22  Stan Shebs  <shebs@apple.com>
7505
7506         * config/darwin-protos.h (darwin_exception_section): Declare.
7507         (darwin_eh_frame_section): Declare.
7508
7509 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
7510
7511         * i386.md (movti_rex64): Fix mode.
7512
7513 2001-10-22  Stan Shebs  <shebs@apple.com>
7514
7515         * target.h (struct gcc_target): Add asm_out.exception_section,
7516         asm_out.eh_frame_section.
7517         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
7518         (TARGET_ASM_EH_FRAME_SECTION): New.
7519         (TARGET_INITIALIZER): Update.
7520         * output.h (default_exception_section): Declare.
7521         (default_eh_frame_section): Declare.
7522         * dwarf2out.c: Include target.h.
7523         (output_call_frame_info): Call target hook for eh frames.
7524         (default_eh_frame_section): New function.
7525         * except.c: Include target.h.
7526         (output_function_exception_table): Call target hook for exception
7527         section.
7528         * varasm.c (default_exception_section): Rename from
7529         exception_section, remove EXCEPTION_SECTION macro.
7530
7531         * config/darwin.h (darwin_eh_frame_section): New function.
7532         (EXCEPTION_SECTION): Remove.
7533         (TARGET_ASM_EXCEPTION_SECTION): Define.
7534         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
7535         (nextstep_exception_section): New function.
7536         (nextstep_eh_frame_section): New function.
7537         (TARGET_ASM_EXCEPTION_SECTION): Define.
7538         (TARGET_ASM_EH_FRAME_SECTION): Define.
7539
7540         * config/pa/som.h (EXCEPTION_SECTION): Remove.
7541         (TARGET_ASM_EXCEPTION_SECTION): Define.
7542         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
7543         (EXCEPTION_SECTION): Remove.
7544         (TARGET_ASM_EXCEPTION_SECTION): Define.
7545         * config/stormy16/stormy16.h: Remove comments referencing
7546         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
7547
7548         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
7549         TARGET_ASM_EH_FRAME_SECTION.
7550
7551 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
7552
7553         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
7554         terms.
7555
7556         * c-format.c: Fix spelling typo in comment.
7557
7558         * sched-int.h: Fix typo in GCC preamble.
7559
7560 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7561
7562         PR debug/4252
7563         * doc/invoke.texi: Remove references to -fdump-translation-unit.
7564
7565 2001-10-22  Richard Henderson  <rth@redhat.com>
7566
7567         * config/i386/i386.c (ix86_expand_clear): New.
7568         * config/i386/i386-protos.h: Declare it.
7569         * config/i386/i386.md (setcc peep2s): Use it.
7570         (movsi_xor): Unexport.
7571
7572 2001-10-22  Richard Henderson  <rth@redhat.com>
7573
7574         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
7575         free_EXPR_LIST_list for LOG_LINKS.
7576
7577 2001-10-21  Robert Lipe  <robertlipe@usa.net>
7578
7579         * config/i386/i386.c (sco_asm_named_section): Delete.
7580         (sco_asm_out_constructor): Delete.
7581         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
7582         (ASM_OUTPUT_DOUBLE_INT): Likewise.
7583         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
7584         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
7585         (EXCEPTION_SECTION): Delete EH scn renaming hack.
7586
7587 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7588
7589         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
7590         and/or fold extra calls into fewer ones.
7591         * collect2.c (dump_file): Likewise.
7592         * cppexp.c (parse_number): Likewise.
7593         * cpplex.c (_cpp_lex_direct): Likewise.
7594         * final.c (output_asm_insn, asm_fprintf): Likewise.
7595         * fix-header.c (inf_scan_ident, main): Likewise.
7596         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
7597         Likewise.
7598         * fold-const.c (real_hex_to_f): Likewise.
7599         * gen-protos.c (parse_fn_proto): Likewise.
7600         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
7601         * genrecog.c (change_state, write_action): Likewise.
7602         * gensupport.c (shift_output_template): Likewise.
7603         * local-alloc.c (requires_inout): Likewise.
7604         * mips-tfile.c (IS_ASM_IDENT): Likewise.
7605         * protoize.c (is_id_char, main): Likewise.
7606         * real.c (asctoeg): Likewise.
7607         * recog.c (asm_operand_ok): Likewise.
7608         * reload.c (find_reloads): Likewise.
7609         * scan.c (scan_identget_token): Likewise.
7610         * sched-vis.c (print_value): Likewise.
7611         * stringpool.c (ggc_alloc_string): Likewise.
7612         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
7613         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
7614         * tradcpp.c (rescan): Likewise.
7615         * tree.c (clean_symbol_name): Likewise.
7616         * varasm.c (decode_reg_name): Likewise.
7617
7618         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
7619         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
7620         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
7621         * m88k.c (output_ascii): Likewise.
7622         * m88k.h (OVERRIDE_OPTIONS): Likewise.
7623         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
7624         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
7625         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
7626
7627 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7628
7629         * langhooks.c (lang_hook_default_do_nothing,
7630         lang_hook_default_decode_option): New defaults.
7631         * langhooks.h: Make hooks unconditional and non-NULL.
7632         * toplev.c (compile_file, toplev_main): Update.
7633         * toplev.h: Update comments.
7634         * objc/objc-act.c (lang_hooks): Update to new paradigm.
7635
7636 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7637
7638         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
7639
7640         * system.h (IN_RANGE): New macro.
7641
7642 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
7643
7644         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
7645         INTLDEPS variable, which does not include $LIBICONV.
7646         * Makefile.in: Use INTLDEPS in LIBDEPS.
7647         * configure: Regenerate.
7648
7649 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7650
7651         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
7652         * cpplex.c (lex_percent, lex_dot): Remove.
7653         (get_effective_char, skip_block_comment, skip_line_comment,
7654         parse_identifier_slow, parse_number, parse_string, save_comment,
7655         _cpp_lex_direct): Update to do lookback freely.
7656         (IF_NEXT_IS, BACKUP): New macros.
7657         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
7658         * cppmacro.c (paste_tokens): Update.
7659
7660 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
7661
7662         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
7663
7664 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
7665
7666         * reload1.c (reload): Check CONSTANT_P before calling
7667         LEGITIMATE_PIC_OPERAND_P.
7668         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
7669         workaround of 2001-10-13.
7670
7671 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
7672
7673         * i386.c (split_di): Handle splitting of DFmode.
7674
7675 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7676
7677         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
7678         (adjust_address_1, offset_address): Likewise.
7679
7680         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
7681         (output_asm_insn): Call it for each line output.
7682         Don't record an operand more than once.
7683
7684         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
7685         * main.c: Include config.h and system.h, but not ansidecl.h.
7686         * Makefile.in (main.o): Update accordingly.
7687
7688 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7689
7690         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
7691
7692 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7693
7694         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
7695         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
7696         Break out from ...
7697         (find_sub_basic_blocks): ... here;
7698         (find_many_sub_basic_blocks): New.
7699         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
7700
7701         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
7702
7703         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
7704
7705         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
7706
7707         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
7708         * flow.c (update_life_info): Measure time.
7709         * c-decl.c: Include timevar.h
7710         (c_expand_body): Measure time.
7711         * toplev.c (rest_of_compilation): Measure time of mode switching
7712         separately.
7713         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
7714
7715         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
7716         (lang_independent_options): Add asynchronous-unwind-tables
7717         (toplev_main): flag_asynchronous_unwind_tables implies
7718         flag_unwind_tables.
7719         * flags.h (flag_asynchronous_unwind_tables): Declare.
7720         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
7721         flag_asynchronous_unwind_tables.
7722         (output_call_frame_info): Likewise.
7723         * invoke.texi (-fasynchronous-unwind-tables): Document.
7724         * i386.c (optimization_options): Enable
7725         flag_asynchronous_unwind_tables.
7726
7727         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
7728         * i386.md (s* expanders): Destination is QImode.
7729
7730         * toplev.c (rest_of_compilation): Do not call clear_log_links.
7731         * rtl.h (clear_log_links): Kill.
7732         * flow.c (clear_log_links): Make static; accept blocks parameter;
7733         do no clear life info.
7734         (update_life_info): Call clear_log_links.
7735
7736         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
7737
7738 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7739
7740         * cpplex.c (handle_newline, skip_escaped_newlines,
7741         get_effective_char, skip_block_comment, skip_line_comment,
7742         parse_identifier_slow, parse_number, parse_string,
7743         _cpp_lex_direct): Update to do more stepping back.
7744         (trigraph_ok): Similarly.  Rename trigraph_p.
7745         (SAVE_STATE, RESTORE_STATE): Remove.
7746         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
7747
7748         * cpplib.c (destringize): Rename destringize_and_run, and
7749         call run_directive directly.
7750         (_cpp_do__Pragma): Simplify.
7751
7752 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7753
7754         * pe.c (arm_pe_unique_section): Const-ify.
7755         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7756         (switch_to_section): Add static prototype.
7757
7758         * output.h (drectve_section): Prototype.
7759
7760 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7761
7762         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
7763         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
7764         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
7765         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
7766         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
7767         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
7768         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
7769         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
7770         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
7771         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
7772         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
7773         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
7774         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
7775         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
7776         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
7777         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
7778         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
7779         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
7780         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
7781         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
7782         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
7783         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
7784         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
7785         cris-*-none, cris-*-linux*: Update ${tmfile} list.
7786         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
7787         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
7788         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
7789         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
7790         v850-*-*): Delete superflous ${cpu_type} setting.
7791         * config/linux.h: Delete svr4.h include.
7792         (SET_ASM_OP): Delete.
7793         * config/netware.h (INT_ASM_OP): Undef before define.
7794         * config/ptx4.h: Delete elfos.h include.
7795         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
7796         * config/svr4.h: Delete elfos.h include. Update commentary.
7797         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
7798         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
7799         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
7800         config/v850/v850.h: Delete svr4.h include.
7801         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
7802         config/m68k/m68kv4.h, config/m88k/sysv4.h,
7803         config/sparc/sysv4.h: Update includes.
7804         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
7805         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
7806         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
7807         config/m88k/dguxbcs.h: Delete includes.
7808         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
7809         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
7810         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
7811         it.
7812         * config/m88k/dgux.h: Delete include.
7813         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
7814         defining it.
7815         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
7816         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
7817         * config/sh/elf.h: Update include.
7818         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
7819         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
7820
7821 2001-10-19  Catherine Moore  <clm@redhat.com>
7822
7823         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
7824         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
7825         base and count fields.
7826         (stormy16_expand_builtin_va_start):  last_reg_count changed to
7827         size_of_reg_args.  Use count + size in first comparison.
7828
7829 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7830
7831         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
7832         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
7833         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
7834         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
7835         Set alignment from type if INDIRECT_REF.
7836         (adjust_address_1, offset_address): Simplify alignment compuitation.
7837         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
7838         here; done by set_mem_attributes.
7839
7840 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7841
7842         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
7843         * arm-protos.h (rdata_section, zero_init_section, common_section):
7844         Prototype.
7845         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
7846         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
7847         traditional mode stringification.
7848         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
7849         in macros controling its use.
7850         * rtlanal.c: Include tm_p.h.
7851         * varasm.c (asm_output_aligned_bss): Mark parameter with
7852         ATTRIBUTE_UNUSED.
7853         (assemble_constant_align, assemble_start_function, assemble_align,
7854         assemble_variable, assemble_trampoline_template,
7855         output_constant_def_contents): Wrap potentially empty if-stmt body
7856         in brackets.
7857
7858 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7859
7860         * a29k-protos.h (literal_section): Prototype.
7861         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
7862         * a29k.md: Ensure function pointers are prototyped.
7863         * genattrtab.c (write_eligible_delay): Mark parameter with
7864         ATTRIBUTE_UNUSED.
7865
7866 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7867
7868         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
7869         * 1750a.c (print_operand): Fix format specifier warning.
7870         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
7871         * 1750a.md: Likewise.
7872         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
7873         * genemit.c (output_add_clobbers): Mark parameter with
7874         ATTRIBUTE_UNUSED.
7875         * genrecog.c (write_subroutine): Likewise.
7876         * integrate.c (expand_inline_function): Delete unused variable.
7877         * varasm.c (remove_from_pending_weak_list): Wrap with
7878         ASM_WEAKEN_LABEL.
7879
7880 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
7881
7882         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
7883         field is different to previous argument's neg field.
7884
7885         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
7886
7887 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7888
7889         * final.c (get_decl_from_op): New function.
7890         (output_asm_insn): Call it; write "*" when item with decl is address.
7891
7892 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
7893
7894         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
7895         about 64-bit support from the 3.0_branch version.
7896
7897 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
7898
7899         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
7900         USE_INCLUDED_LIBINTL when appropriate.
7901         * configure, config.in: Regenerate.
7902         * Makefile.in (datadir): Set to @datadir@.
7903         (intl.o): Also depend on $(CONFIG_H) and system.h.
7904
7905         * intl.c: Factor out common gettext initialization sequence.
7906         (gcc_init_libintl):  New function.
7907         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
7908         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
7909         off NLS.  Add multiple include guard.  No need to #ifdef-guard
7910         an #undef.  Prototype gcc_init_libintl here.
7911
7912         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
7913         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
7914         Use gcc_init_libintl.
7915
7916 2001-10-19  Catherine Moore  <clm@redhat.com>
7917
7918         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
7919
7920         * config/stormy16/stormy16.c (stormy16_split_move):  Make
7921         sure that REG_INC notes are present for auto_inc operands.
7922
7923 2001-10-19  Andreas Jaeger  <aj@suse.de>
7924
7925         * configure: Regenerated.
7926         * configure.in: Add x86_64 to switch statements.
7927
7928 2001-10-18  Richard Henderson  <rth@redhat.com>
7929
7930         * config/alpha/alpha.md (sibcall_osf_1): Load destination
7931         address into $27 explicitly.
7932         (sibcall_value_osf_1): Likewise.
7933
7934 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7935
7936         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
7937         (offset_address): New function.
7938         (free_emit_status): Free regno_decl.
7939         (init_emit): Pass proper number of elements to xcalloc.
7940         Allocate regno_decl.
7941         (mark_emit_status): Mark regno_decl values.
7942         * expr.c (highest_pow2_factor): New function.
7943         (expand_assigment): Use it and offset_address.
7944         Properly handle ptr_mode vs. Pmode in offset calculation.
7945         (store_constructor, expand_expr_unaligned): Likewise.
7946         (expand_expr, case COMPONENT_EXPR): Likewise.
7947         * expr.h (offset_address): New decl.
7948         * function.h (struct emit_status): Add regno_decl.
7949         (REGNO_DECL): New macro.
7950         * final.c (output_asm_name): Move in file and don't conditionalize
7951         on flag_print_asm_name.
7952         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
7953         Output names of operands, if known.
7954         * function.c (assign_parms): Set REGNO_DECL.
7955         * integrate.c (integrate_decl_tree): Likewise.
7956         * stmt.c (expand_decl): Likewise.
7957         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
7958
7959 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
7960
7961         * attribs.c (handle_noinline_attribute): New function.
7962         (handle_used_attribute): Likewise.
7963         (c_common_attribute_table): Added noinline and used.
7964         * doc/extend.texi (Function Attributes): Document them.
7965         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
7966         Warn when merging inline with attribute noinline.
7967         (start_decl, start_function): Warn if inline and attribute
7968         noinline appear in the same declaration.
7969
7970 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7971
7972         * config.gcc: Update c4x and i370 for C front end-specific
7973         dependencies.
7974         * config/c4x/c4x-c.c: New.
7975         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
7976         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7977         New declarations.
7978         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
7979         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7980         Make extern.
7981         (c4x_init_pragma): Remove.
7982         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
7983         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
7984         c4x_pr_ignored): Move to c4x-c.c.
7985         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7986         * config/c4x/t-c4x: Update.
7987         * config/i370/i370-c.c: New.
7988         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
7989         (i370_pr_map): Move to i370-c.c.
7990         * config/i370/t-i370: New.
7991
7992         * doc/tm.texi: Update.
7993
7994 2001-10-17  Stan Shebs  <shebs@apple.com>
7995
7996         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
7997         typo fixes throughout.
7998         (machopic_output_stub): Remove some dead code.
7999
8000 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
8001
8002         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
8003         leak.
8004
8005 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8006
8007         * Makefile.in (print-rtl.o): Depend on TREE_H.
8008         * alias.c (get_alias_set): Make two passes over objects to first
8009         see if inner object is access via restricted pointer.
8010         Defer allocating alias set for restricted pointer until here.
8011         Call find_placeholder with second arg nonzero.
8012         Minor cleanups.
8013         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
8014         set for restricted pointer types.
8015         * emit-rtl.c (set_mem_attributes): Set more attributes.
8016         (set_mem_align, change_address, adjust_address_1): New functions.
8017         (change_address_1): Now static.
8018         (adjust_address, adjust_address_nv): Deleted.
8019         (replace_equiv_address): Call change_address_1.
8020         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
8021         (find_placeholder): Get starting point from PLIST arg.
8022         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
8023         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
8024         (adjust_address, adjust_address_nv): New macros.
8025         * print-rtl.c (tree.h): New include.
8026         (print_rtx, case MEM): Print all memory attributes.
8027
8028 2001-10-17  Richard Henderson  <rth@redhat.com>
8029
8030         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
8031
8032 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
8033
8034         * c-tree.texi: Eliminate duplicated word.
8035         * cpp.texi: Likewise.
8036         * install.texi: Likewise.
8037         * invoke.texi: Likewise.
8038         * tm.texi: Likewise.
8039
8040 2001-10-17  Michael Collison  <collison@isisinc.net>
8041
8042         * dsp16xx.c: Fix comment formatting to match GNU standards.
8043         (dsp16xx_output_function_prologue): Change type of 'size'
8044         parameter from 'int' to HOST_WIDE_INT.
8045         (dsp16xx_output_function_epilogue): Change type of 'size'
8046         parameter from 'int' to HOST_WIDE_INT.
8047
8048 2001-10-16  Richard Henderson  <rth@redhat.com>
8049
8050         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
8051         * configure, config.in: Rebuild.
8052
8053         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
8054         (ix86_output_addr_diff_elt): New.
8055         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
8056         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8057         (JUMP_TABLES_IN_TEXT_SECTION): New.
8058         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
8059         * config/i386/i386-protos.h: Update.
8060
8061         * config/i386/386bsd.h, config/i386/beos-elf.h,
8062         config/i386/freebsd-aout.h, config/i386/freebsd.h,
8063         config/i386/i386-interix.h, config/i386/i386elf.h,
8064         config/i386/linux.h, config/i386/netbsd-elf.h,
8065         config/i386/netbsd.h, config/i386/openbsd.h,
8066         config/i386/ptx4-i.h, config/i386/rtemself.h,
8067         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8068         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8069
8070 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
8071
8072         * stmt.c (expand_asm_operands): Update commentary.
8073
8074 2001-10-16  Stan Shebs  <shebs@apple.com>
8075
8076         * config/darwin.h (GCC_NAME): Remove, no longer used.
8077         (NO_MATH_LIBRARY): Ditto.
8078         (MATH_LIBRARY): Define to emptiness.
8079         (DWARF2_DEBUGGING_INFO): Define.
8080         (PREFERRED_DEBUGGING_TYPE): Define.
8081         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8082         (EXCEPTION_SECTION): Define.
8083         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8084         * config/darwin.c (darwin_encode_section_info): Handle case of
8085         DECL_INITIAL being error_mark_node.
8086
8087 2001-10-16  Richard Henderson  <rth@redhat.com>
8088
8089         * alpha.c (current_file_function_operand): Don't fail for profiling.
8090         (direct_call_operand): New.
8091         * alpha-protos.h: Declare it.
8092         * alpha.h (EXTRA_CONSTRAINT): Use it.
8093         (PREDICATE_CODES): Add it.
8094         (ASM_OUTPUT_MI_THUNK): Remove.
8095         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8096         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8097
8098 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
8099
8100         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8101         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8102
8103 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8104
8105         * cfg.c (free_edge): Break out from ....
8106         (remove_edge): ... here.
8107         (clear_edges): Use free_edge.
8108
8109         * att.h (ASM_QUAD): Add comment.
8110         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8111
8112 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8113
8114         * i386.c (split_ti): New function.
8115         (ix86_split_to_parts): Support TImodes.
8116         * i386.h (VALID_INT_MODE_P): Add TImode.
8117         * i386.md (movdi splitter): Fix.
8118         (movti): Support 64bit integer registers.
8119         (movti_rex64): New function and splitter.
8120
8121         * i386.c (*_cost): Add movsx/movzx cost.
8122         * i386.h (struct processor_costs): Add movsx/movzx fields.
8123         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8124         64bit operations require split on 64bit machine.
8125         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8126
8127         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8128         (ix86_expand_move): Avoid pushes of memory if size does not match;
8129         move long constants to register.
8130         (x86_initialize_trampoline): Fix mode.
8131         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8132         Use ASM_QUAD on 64bit.
8133         * i386.md (test pattern): Disallow impossible constants.
8134         (tablejump PIC expander): Fix emitting of sum.
8135         (movdicc_rex64): Rename to movdicc.
8136         * linux64.h (LINK_SPEC): Add missing '%'.
8137
8138 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8139
8140         * tree-inline.c (inlinable_function_p): Leave it up to the
8141         front-end to turn -finline-functions into DECL_INLINE set for all
8142         functions.
8143
8144 2001-10-16  Stan Shebs  <shebs@apple.com>
8145
8146         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8147
8148 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8149
8150         * recog.c: Formatting and comment typo fixes.
8151
8152         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8153         version in single tree build.
8154         * configure: Regenerate.
8155
8156 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8157
8158         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8159         MODE arguments to gen_rtx and compare operand with const0_rtx.
8160
8161 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8162
8163         * system.h: Poison old unused target macros.
8164         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8165         * config/stormy16/stormy16.c: Update references to obsolete macros.
8166         * config/stormy16/stormy16.h: Similarly.
8167         * config/stormy16/stormy16.md: Similarly.
8168         * config/cris/cris.h: Similarly.
8169
8170 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8171
8172         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8173         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8174         cpp_register_pragma): Update accordingly.
8175
8176 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8177
8178         * c-pragma.h (cpp_register_pragma_space): Remove.
8179         * cpplib.h (cpp_register_pragma_space): Remove.
8180         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8181         (cpp_register_pragma_space): Remove.
8182         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8183         add sanity checks.
8184         (do_pragma): Similarly.
8185         (_cpp_init_internal_pragmas): Don't register namespaces.
8186
8187         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8188         Don't register namespaces.
8189         * cp/lex.c (init_cp_pragma): Similarly.
8190         * doc/tm.texi: Update.
8191
8192 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8193
8194         PR c/4157
8195         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8196
8197 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8198
8199         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8200         add scheduling support.
8201         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8202         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8203         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8204
8205
8206 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8207
8208         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8209         missing CONSTANT_P test in core GCC.
8210
8211 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8212
8213         * cppmain.c (struct printer): New member source.
8214         (scan_translation_unit): Fix spacing at start of lines.
8215         (cb_line_change): Update.
8216
8217         * gcc.dg/cpp/spacing2.c: New test.
8218
8219 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8220
8221         * config/cris/arit.c: Use __builtin_labs, not abs.
8222
8223         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8224
8225         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8226         misplaced sprintf and fprintf argument.
8227
8228 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8229
8230         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8231         * configure.in, Makefile.in: Take out obsolete check-po logic.
8232         * configure, config.in: Regenerate.
8233
8234 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8235
8236         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8237         symtab declarations.
8238
8239 2001-10-12  Stan Shebs  <shebs@apple.com>
8240
8241         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8242         declarations of arguments and local variables.
8243
8244 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8245
8246         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8247         ENDFILE_SPEC definition.
8248
8249 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8250
8251         * gthr-dce.h: Fix comment formatting.
8252         * gthr-posix.h: Likewise.
8253         * gthr-single.h: Likewise.
8254         * gthr-solaris.h: Likewise.
8255         * gthr-vxworks.h: Likewise.
8256         * gthr-win32.h: Likewise.
8257
8258 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8259
8260         * final.c (output_asm_insn): Make sure assembly dialects are
8261         terminated, not nested.  Output `|' and `}' characters if they
8262         don't appear inside assembly dialect selection.
8263         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8264         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8265         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8266         strsetsi_rex_1): Add {} braces.
8267
8268 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8269
8270         * toplev.c (compile_file): Ignore return value from yyparse.
8271         Always pop any nested binding levels after yyparse returns.
8272
8273 2001-10-11  Richard Henderson  <rth@redhat.com>
8274
8275         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8276
8277 2001-10-11  Richard Henderson  <rth@redhat.com>
8278
8279         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8280         fall back to add_AT_long_long for large CONST_INT.
8281
8282 2001-10-11  Richard Henderson  <rth@redhat.com>
8283
8284         * config/i386/i386.md (setcc splitters): Add four splitters to
8285         simplify compound compares that simplify_comparison can't handle.
8286
8287 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8288
8289         * cpplex.c (digraph_spellings, token_spellings): Make static.
8290
8291 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8292
8293         * unroll.c (loop_iterations): Fixup last patch.
8294
8295 2001-10-11  Richard Henderson  <rth@redhat.com>
8296
8297         * rtl.h (REG_VTABLE_REF): New.
8298         * rtl.c (reg_note_name): Add it.
8299         * combine.c (distribute_notes): Handle it.
8300         * final.c (final_scan_insn): Handle it.
8301         * tree.def (VTABLE_REF): New.
8302         * expr.c (expand_expr): Handle it.
8303         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8304         * output.h: Declare them.
8305
8306 2001-10-11  Richard Henderson  <rth@redhat.com>
8307
8308         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8309         for a DECL_INITIAL.
8310
8311 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8312
8313         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8314         available in 64-bit mode.
8315
8316 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8317
8318         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8319         cris-*-linux* cases.
8320         * config/cris/cris-protos.h: New file.
8321         * config/cris/cris.c: New file.
8322         * config/cris/cris.h: New file.
8323         * config/cris/cris.md: New file.
8324         * config/cris/linux.h: New file.
8325         * config/cris/aout.h: New file.
8326         * config/cris/arit.c: New file.
8327         * config/cris/cris_abi_symbol.c: New file.
8328         * config/cris/mulsi3.asm: New file.
8329         * config/cris/t-aout: New file.
8330         * config/cris/t-cris: New file.
8331         * config/cris/t-elfmulti: New file.
8332         * config/cris/t-linux: New file.
8333         * doc/invoke.texi: Add CRIS options.
8334         * doc/install.texi (Specific): Add blurb for CRIS.
8335
8336 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8337
8338         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8339         before using it.
8340         * config/float/i32.h: Likewise.
8341         * config/float-i386.h: Likewise.
8342         * config/float-i64.h: Likewise.
8343         * config/float-m68k.h: Likewise.
8344         * config/float-sh.h: Likewise.
8345         * config/float-sparc.h: Likewise.
8346
8347 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8348
8349         * doc/contrib.texi: Add note about CRIS port to my entry.
8350
8351 2001-10-11  Kazu Hirata  <kazu@hxi.com>
8352
8353         * basic-block.h: Fix formatting.
8354         * bitmap.h: Likewise.
8355         * cpplib.h: Likewise.
8356         * c-tree.h: Likewise.
8357         * diagnostic.h: Likewise.
8358         * flags.h: Likewise.
8359         * ggc.h: Likewise.
8360         * longlong.h: Likewise.
8361         * real.h: Likewise.
8362         * reload.h: Likewise.
8363         * rtl.h: Likewise.
8364         * tree.h: Likewise.
8365
8366 2001-10-10  Richard Henderson  <rth@redhat.com>
8367
8368         * c-parse.in (asm_operand): Allow named operands.
8369         * genconfig.c (max_recog_operands): Set to 29.
8370         * local-alloc.c (requires_inout): Skip multiple digits.
8371         * recog.c (asm_operand_ok): Likewise.
8372         (preprocess_constraints): Use strtoul for matching constraints.
8373         (constrain_operands): Likewise.
8374         * regmove.c (find_matches): Likewise.
8375         * reload.c (find_reloads): Likewise.
8376         * stmt.c (parse_output_constraint): Don't reject in-out
8377         constraint on operands > 9.  Reject '[' in constraint.
8378         (expand_asm_operands): Handle named operands.  Use strtoul
8379         for matching constraints.
8380         (check_operand_nalternatives): Split out from expand_asm_operands.
8381         (check_unique_operand_names): New.
8382         (resolve_operand_names, resolve_operand_name_1): New.
8383
8384         * doc/extend.texi (Extended Asm): Document named operands.
8385         * doc/md.texi (Simple Constraints): Document matching constraints
8386         on operands > 9.
8387
8388 2001-10-10  Richard Henderson  <rth@redhat.com>
8389
8390         * combine.c (try_combine): Handle a SEQUENCE of one insn.
8391
8392         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
8393         (jcc splitters): Add two splitters to simplify compound compares
8394         that simplify_comparison can't handle.
8395
8396 2001-10-10  Richard Henderson  <rth@redhat.com>
8397
8398         * langhooks.c: Include langhooks.h.
8399         * Makefile.in (langhooks.o): Depend on it.
8400
8401 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
8402
8403         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
8404         should not be considered as a no-op.
8405         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
8406
8407 2001-10-10  Stan Shebs  <shebs@apple.com>
8408
8409         * alias.c: Remove uses of "register" specifier in declarations
8410         of arguments and local variables.
8411         * c-common.c: Ditto.
8412         * c-convert.c: Ditto.
8413         * c-decl.c: Ditto.
8414         * c-format.c: Ditto.
8415         * c-semantics.c: Ditto.
8416         * c-typeck.c: Ditto.
8417         * caller-save.c: Ditto.
8418         * calls.c: Ditto.
8419         * cfg.c: Ditto.
8420         * cfgbuild.c: Ditto.
8421         * cfgrtl.c: Ditto.
8422         * collect2.c: Ditto.
8423         * combine.c: Ditto.
8424         * convert.c: Ditto.
8425         * cppexp.c: Ditto.
8426         * cppfiles.c: Ditto.
8427         * cse.c: Ditto.
8428         * dbxout.c: Ditto.
8429         * defaults.h: Ditto.
8430         * df.c: Ditto.
8431         * dwarf2out.c: Ditto.
8432         * dwarfout.c: Ditto.
8433         * emit-rtl.c: Ditto.
8434         * explow.c: Ditto.
8435         * expmed.c: Ditto.
8436         * expr.c: Ditto.
8437         * final.c: Ditto.
8438         * fix-header.c: Ditto.
8439         * floatlib.c: Ditto.
8440         * flow.c: Ditto.
8441         * fold-const.c: Ditto.
8442         * function.c: Ditto.
8443         * gcc.c: Ditto.
8444         * gcse.c: Ditto.
8445         * gen-protos.c: Ditto.
8446         * genattrtab.c: Ditto.
8447         * gencheck.c: Ditto.
8448         * genconfig.c: Ditto.
8449         * genemit.c: Ditto.
8450         * genextract.c: Ditto.
8451         * genflags.c: Ditto.
8452         * gengenrtl.c: Ditto.
8453         * genoutput.c: Ditto.
8454         * genpeep.c: Ditto.
8455         * genrecog.c: Ditto.
8456         * gensupport.c: Ditto.
8457         * global.c: Ditto.
8458         * gmon.c: Ditto.
8459         * graph.c: Ditto.
8460         * haifa-sched.c: Ditto.
8461         * hard-reg-set.h: Ditto.
8462         * hash.c: Ditto.
8463         * integrate.c: Ditto.
8464         * jump.c: Ditto.
8465         * lists.c: Ditto.
8466         * local-alloc.c: Ditto.
8467         * loop.c: Ditto.
8468         * mips-tdump.c: Ditto.
8469         * mips-tfile.c: Ditto.
8470         * optabs.c: Ditto.
8471         * prefix.c: Ditto.
8472         * print-rtl.c: Ditto.
8473         * read-rtl.c: Ditto.
8474         * real.c: Ditto.
8475         * recog.c: Ditto.
8476         * reg-stack.c: Ditto.
8477         * regclass.c: Ditto.
8478         * regmove.c: Ditto.
8479         * reload.c: Ditto.
8480         * reload1.c: Ditto.
8481         * reorg.c: Ditto.
8482         * resource.c: Ditto.
8483         * rtl.c: Ditto.
8484         * rtlanal.c: Ditto.
8485         * scan.c: Ditto.
8486         * sched-deps.c: Ditto.
8487         * sched-rgn.c: Ditto.
8488         * sdbout.c: Ditto.
8489         * simplify-rtx.c: Ditto.
8490         * stmt.c: Ditto.
8491         * stor-layout.c: Ditto.
8492         * toplev.c: Ditto.
8493         * tradcif.y: Ditto.
8494         * tradcpp.c: Ditto.
8495         * tree.c: Ditto.
8496         * unroll.c: Ditto.
8497         * varasm.c: Ditto.
8498         * xcoffout.c: Ditto.
8499
8500 2001-10-10  Richard Henderson  <rth@redhat.com>
8501
8502         * rtl.h (can_reverse_comparison_p): Remove.
8503
8504 2001-10-10  Christopher Faylor <cgf@redhat.com>
8505
8506         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
8507         used.
8508
8509 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8510
8511         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
8512         (Thanks to Chris Faylor for suggesting macro name).
8513         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
8514         WIN32 defines.
8515         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
8516         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
8517         (MATH_LIBRARY): Undef before definition.
8518         (OUTPUT_QUOTED_STRING): Likewise.
8519         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
8520
8521 2001-10-10  Richard Henderson  <rth@redhat.com>
8522
8523         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
8524         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
8525         a tristate comparison value.
8526         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
8527
8528 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8529
8530         PR c++/4512
8531         * unroll.c (loop_iterations): Ignore insns generated by loop
8532         unrolling.
8533
8534         * config.gcc (mips*-*-gnu*): Delete support.
8535         * config/mips/gnu.h: Remove.
8536
8537 2001-10-10  Kazu Hirata  <kazu@hxi.com>
8538
8539         * calls.c: Fix formatting.
8540         * c-decl.c: Likewise.
8541         * cfgcleanup.c: Likewise.
8542         * combine.c: Likewise.
8543         * cppfiles.c: Likewise.
8544         * cpplib.c: Likewise.
8545         * cppmacro.c: Likewise.
8546         * crtstuff.c: Likewise.
8547         * cse.c: Likewise.
8548         * dwarf2out.c: Likewise.
8549         * expmed.c: Likewise.
8550         * expr.c: Likewise.
8551         * fold-const.c: Likewise.
8552         * function.c: Likewise.
8553         * gcse.c: Likewise.
8554         * genattrtab.c: Likewise.
8555         * ggc-page.c: Likewise.
8556         * integrate.c: Likewise.
8557         * libgcc2.c: Likewise.
8558         * loop.c: Likewise.
8559         * optabs.c: Likewise.
8560         * profile.c: Likewise.
8561         * protoize.c: Likewise.
8562         * real.c: Likewise.
8563         * recog.c: Likewise.
8564         * reload1.c: Likewise.
8565         * reload.c: Likewise.
8566         * reorg.c: Likewise.
8567         * resource.c: Likewise.
8568         * sched-rgn.c: Likewise.
8569         * sdbout.c: Likewise.
8570         * stmt.c: Likewise.
8571         * toplev.c: Likewise.
8572         * varasm.c: Likewise.
8573
8574 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
8575
8576         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
8577         * Makefile.in (langhooks.o): Add dependencies.
8578
8579 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
8580
8581         * rs6000.c (rs6000_emit_load_toc_table): Don't
8582         strdup the toc label.
8583         (create_TOC_reference): Likewise.
8584
8585 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8586
8587         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
8588         version default.
8589
8590 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8591
8592         * config/i386/i386.c (ix86_attribute_table): Correct
8593         min_len, max_len fields for dllimport, dllexport and shared.
8594
8595 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
8596
8597         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
8598         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
8599         Consistently use "nonzero" instead of "non-zero".
8600
8601 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8602
8603         * acconfig.h: Fix comment formatting.
8604         * c-dump.h: Likewise.
8605         * c-tree.h: Likewise.
8606         * conditions.h: Likewise.
8607         * expr.h: Likewise.
8608         * function.h: Likewise.
8609         * gthr.h: Likewise.
8610         * hwint.h: Likewise.
8611         * integrate.h: Likewise.
8612         * intl.h: Likewise.
8613         * loop.h: Likewise.
8614         * optabs.h: Likewise.
8615
8616 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8617
8618         * c-common.h: Fix comment formatting.
8619         * c-dump.c: Likewise.
8620         * cfg.c: Likewise.
8621         * diagnostic.h: Likewise.
8622         * except.c: Likewise.
8623         * gcc.h: Likewise.
8624         * gcov-io.h: Likewise.
8625         * genattrtab.c: Likewise.
8626         * output.h: Likewise.
8627         * predict.h: Likewise.
8628         * reload1.c: Likewise.
8629         * reload.h: Likewise.
8630         * resource.h: Likewise.
8631         * scan.h: Likewise.
8632         * system.h: Likewise.
8633         * tree.h: Likewise.
8634         * tree-inline.c: Likewise.
8635         * tsystem.h: Likewise.
8636         * varasm.c: Likewise.
8637         * xcoffout.h: Likewise.
8638
8639 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8640
8641         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
8642
8643 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8644
8645         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
8646         config/i386/i386elf.h, config/i386/netbsd-elf.h,
8647         config/i386/netware.h, config/mcore/gfloat.h,
8648         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
8649         config/netware.h, gccbug.in: Update FSF address.
8650
8651 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8652
8653         * c-common.c: Fix comment typos.
8654         * cfgrtl.c: Likewise.
8655         * collect2.c: Likewise.
8656         * cpplex.c: Likewise.
8657         * doloop.c: Likewise.
8658         * dwarf2out.c: Likewise.
8659         * dwarfout.c: Likewise.
8660         * expr.c: Likewise.
8661         * fold-const.c: Likewise.
8662         * gcc.c: Likewise.
8663         * gcov.c: Likewise.
8664         * gcse.c: Likewise.
8665         * global.c: Likewise.
8666         * ifcvt.c: Likewise.
8667         * loop.c: Likewise.
8668         * optabs.c: Likewise.
8669         * protoize.c: Likewise.
8670         * regclass.c: Likewise.
8671         * reorg.c: Likewise.
8672         * rtl.h: Likewise.
8673         * stmt.c: Likewise.
8674         * tree.h: Likewise.
8675         * doc/cpp.texi: Likewise.
8676         * doc/c-tree.texi: Likewise.
8677         * doc/extend.texi: Likewise.
8678         * doc/invoke.texi: Likewise.
8679         * doc/objc.texi: Likewise.
8680         * doc/tm.texi: Likewise.
8681
8682 2001-10-08  Richard Henderson  <rth@redhat.com>
8683
8684         * varasm.c (set_named_section_flags): Initialize "declared".
8685
8686 2001-10-08  Robert Lipe  <robertlipe@usa.net>
8687
8688         * varasm.c (struct in_named_entry): Add declared.
8689         (named_section_first_declaration): New function.
8690         (default_elf_asm_named_section): Use it.
8691         * output.h (named_section_first_declaration): New.
8692
8693 2001-10-08  Richard Henderson  <rth@redhat.com>
8694
8695         * i386.md (movsi_xor): Export.
8696         (setcc peep2): Use it when available; add an alternative to
8697         match zero_extendhisi2_and.
8698
8699 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8700
8701         * romp-protos.h (romp_initialize_trampoline): New function.
8702         * romp.c (romp_initialize_trampoline): Likewise.
8703         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
8704         romp_initialize_trampoline.
8705
8706 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8707
8708         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
8709         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8710         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8711         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8712
8713 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8714
8715         * unroll.c (loop_iterations): Extend check for multiple back edges.
8716
8717 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
8718
8719         * langhooks.h: New file.
8720         * Makefile.in (OBJS): Added langhooks.o.
8721         (c-lang.o): Depend on langhooks.h.
8722         (c-common.o): Don't depend on tree-inline.h.
8723         (tree-inline.o): Depend on toplev.h.
8724         (langhooks.o): New rule.
8725         * c-common.c: Don't include tree-inline.h.
8726         (c_mark_lang_decl): Mark argument c as unused.
8727         (c_common_lang_init): Don't initialize hooks here.
8728         * c-lang.c: Include langhooks.h, then override some macros.
8729         (lang_hooks): Initialize with macros in langhooks.h.
8730         (c_init): Don't initialize hooks here.
8731         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
8732         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
8733         * tree-inline.c: Include toplev.h.  Don't define hook variables.
8734         * tree-inline.h: Don't define hook types nor declare hook
8735         variables.  Move macros to...
8736         * langhooks.c: ... new file, as functions.  Adjust all callers.
8737
8738 2001-10-08  Jeffrey A Law  <law@cygnus.com>
8739
8740         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
8741         purge_mem_unchanging_flag on all instructions, not just on those
8742         before NOTE_INSN_FUNCTION_BEG.
8743
8744 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8745
8746         * cppmacro.c (_cpp_create_definition): Leave comments off.
8747
8748         * doc/cpp.texi: Update.
8749
8750 2001-10-08  DJ Delorie  <dj@redhat.com>
8751
8752         * c-decl.c (grokfield): Make sure the only unnamed fields
8753         we're allowing are either structs or unions.
8754         * doc/extend.texi: Add documentation for the unnamed field
8755         extension.
8756
8757 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
8758
8759         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
8760         * configure.in: Use it.
8761         * configure: Regenerated.
8762         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
8763         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
8764
8765 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8766
8767         * cppfiles.c (open_file): Don't mark zero-length files
8768         never-reread here.  Don't output diagnostics here either.
8769         (stack_include_file): Mark them never-reread here.
8770         (_cpp_read_file): Update.
8771
8772 2001-10-08  Richard Henderson  <rth@redhat.com>
8773
8774         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8775
8776 2001-10-08  Richard Henderson  <rth@redhat.com>
8777
8778         * expr.c (store_expr): When converting a CONST_INT for storage
8779         in a SUBREG, convert it to both SUBREG modes before stripping
8780         the SUBREG.
8781
8782 2001-10-08  Richard Henderson  <rth@redhat.com>
8783
8784         * varasm.c (restore_varasm_status): New.
8785         * function.h: Declare it.
8786         * function.c (pop_function_context_from): Call it.
8787
8788 2001-10-08  Richard Henderson  <rth@redhat.com>
8789
8790         * c-common.h (struct c_lang_decl): Add declared_inline.
8791         * c-tree.h (DECL_DECLARED_INLINE_P): New.
8792         * c-lang.c (c_disregard_inline_limits): Use it.
8793         * c-decl.c (duplicate_decls): Likewise.
8794         (pushdecl, redeclaration_error_message): Likewise.
8795         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
8796         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
8797         Set DECL_INLINE if -finline-functions.
8798         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
8799
8800 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8801
8802         * cppmacro.c (funlike_invocation_p): Move some logic to caller
8803         in enter_macro_context.  Create a padding token in its own context
8804         if necessary when the search for '(' fails.
8805         (enter_macro_context): Update.
8806
8807 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8808
8809         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
8810         genmultilib, toplev.c: Fix spelling errors of "separate" as
8811         "seperate", and corresponding spelling errors of related words.
8812
8813 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8814
8815         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
8816         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
8817         Likewise.
8818         * c-dump.c (dump_option_value_info): Likewise.
8819         * c-format.c (format_length_info, format_char_info,
8820         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
8821         * collect2.c (names): Likewise.
8822         * cppdefault.h (default_include): Likewise.
8823         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
8824         * flow.c (life_analysis): Likewise.
8825         * gcc.c (dir_separator_str, modify_target, option_map,
8826         target_option_translations, spec_list_1, extra_specs_1,
8827         init_spec): Likewise.
8828         * gcov.c (gcov_version_string): Likewise.
8829         * genattr.c (write_units): Likewise.
8830         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
8831         * gengenrtl.c (rtx_definition, defs): Likewise.
8832         * genrecog.c (pred_table): Likewise.
8833         * global.c (global_alloc): Likewise.
8834         * lcm.c (optimize_mode_switching): Likewise.
8835         * local-alloc.c (find_free_reg): Likewise.
8836         * params.h (param_info): Likewise.
8837         * predict.c (predictor_info): Likewise.
8838         * protoize.c (unexpansion_struct): Likewise.
8839         * real.c (bmask): Likewise.
8840         * recog.h (insn_operand_data, insn_data): Likewise.
8841         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
8842         * stmt.c (expand_nl_goto_receiver): Likewise.
8843         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
8844         target_switches, target_options): Likewise.
8845         * tradcif.y (token, tokentab2, yylex): Likewise.
8846         * tree.h (attribute_spec): Likewise.
8847
8848         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
8849         Likewise.
8850         * arc.c (arc_output_function_epilogue): Likewise.
8851         * arm.c (processors, all_cores, all_architectures,
8852         arm_override_options, isr_attribute_arg, isr_attribute_args,
8853         arm_isr_value): Likewise.
8854         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
8855         Likewise.
8856         * c4x.c (c4x_int_reglist): Likewise.
8857         * d30v.c (override_options): Likewise.
8858         * h8300.c (shift_insn): Likewise.
8859         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
8860         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
8861         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
8862         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
8863         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
8864         * i386.h (processor_costs, ix86_cost): Likewise.
8865         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
8866         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
8867         * m68k.c (codes_68881, codes_FPA): Likewise.
8868         * m88k.c (mode_from_align, max_from_align, all_from_align,
8869         best_from_align, m_options): Likewise.
8870         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
8871         * mcore.c (mode_from_align): Likewise.
8872         * mips/elf64.h (UNIQUE_SECTION): Likewise.
8873         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
8874         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
8875         * mips.h (mips_regno_to_class): Likewise.
8876         * ns32k.c (scales): Likewise.
8877         * pa.c (import_string, magic_milli): Likewise.
8878         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
8879         * sparc.c (leaf_reg_remap, sparc_override_options,
8880         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
8881         Likewise.
8882         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
8883
8884 2001-10-07  Dale Johannesen  <dalej@apple.com>
8885
8886         * reload1.c (reload_reg_free_p): Teach register interference
8887         checking that multiple output reloads are emitted in
8888         reverse order.
8889         reload1.c (reload_reg_reaches_end_p):  Ditto.
8890         reload1.c (reloads_conflict):  Ditto.
8891
8892 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8893
8894         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
8895         NULL_TREE inside @code.
8896
8897 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8898
8899         * doc/gcc.texi: Document consistent style of "32-bit",
8900         "Objective-C", and "@code{NULL}".
8901
8902 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8903
8904         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
8905         (cpp_token_len, cpp_spell_token, cpp_output_token,
8906         _cpp_equiv_tokens): Handle it.
8907         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
8908         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
8909         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
8910         error messages.
8911
8912 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8913
8914         * gcc.c (default_compilers): Remove .ada.
8915
8916 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8917
8918         * doc/cppinternals.texi: Update.
8919
8920 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8921
8922         * gcc.c (main): Set this_file_error if the appropriate
8923         compiler for a language has not been installed.
8924
8925 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
8926
8927         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
8928
8929 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
8930
8931         * gccbug.in (CATEGORIES): Add ada.
8932
8933 2001-10-05  Catherine Moore  <clm@redhat.com>
8934
8935         * config/stormy16/stormy-abi:  Document abi changes.
8936         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
8937         (ICALL_REGS): New register class.
8938         (NUM_ARGUMENT_REGISTERS): Now 6.
8939         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
8940         in registers.
8941         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
8942         * config/stormy16.md (call_internal, call_value_internal,
8943         indirect_jump): Use new 'z' constraint.
8944
8945 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8946
8947         * doc/cppinternals.texi: Update.
8948
8949 2001-10-05  Richard Henderson  <rth@redhat.com>
8950
8951         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
8952         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
8953         the gas section-name-as-label feature.
8954
8955 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8956
8957         * doc/cppinternals.texi: Update.
8958
8959 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8960
8961         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
8962         to ensure valid SImode constants.
8963
8964 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
8965
8966         * Makefile.in (c-decl.o): Depend on tree-inline.h.
8967         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
8968         * c-decl.c: Include tree-inline.h.
8969         (c_expand_body): Call optimize_inline_calls. Determine whether
8970         a function is inlinable upfront, and only clear
8971         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
8972         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
8973         (c_disregard_inline_limits): New function.
8974         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
8975         (c_post_options): Enable tree inlining if inlining is enabled.
8976         Don't inline trees when instrumenting functions.
8977         (c_init): Initialize lang_disregard_inline_limits and
8978         lang_cannot_inline_tree_fn.
8979         * tree-inline.c (initialize_inlined_parameters): Handle calls
8980         with fewer arguments than declared parameters, and fewer
8981         parameters than passed arguments.  Don't assume value is a
8982         DECL.
8983         (declare_return_variable): Convert return value back to the
8984         original type, if it was promoted.
8985         (tree_inlinable_function_p): New function.
8986         (inlinable_function_p): Don't look at DECL_INLINE if we're
8987         inlining all functions.  Make it work with a NULL id.
8988         Re-check DECL_UNINLINABLE after language-specific checks.
8989         * tree-inline.h (tree_inlinable_function_p): Declare it.
8990         * integrate.c (save_for_inline): Don't bother to prepare argvec
8991         when not inlining.
8992         * cse.c (check_for_label_ref): Don't check deleted labels.
8993
8994         * Makefile.in (tree-inline.o): Depend on newly-included headers.
8995         * tree-inline.c: Include headers needed for the functions moved in.
8996         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
8997         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
8998         (copy_body, initialize_inlined_parameters): Likewise.
8999         (declare_return_variable, inlinable_function_p): Likewise.
9000         (expand_call_inline, expand_calls_inline): Likewise.
9001         (optimize_inline_calls, clone_body): Likewise.
9002         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
9003         (copy_tree_r, remap_save_expr): Likewise.
9004
9005 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
9006
9007         * Makefile.in (OBJS): Added tree-inline.o.
9008         (c-common.o): Depend on tree-inline.h.
9009         (tree-inline.o): New target.
9010         * c-common.c: Include tree-inline.h.
9011         (c_mark_lang_decl): Don't mark saved_tree.
9012         (c_common_lang_init): Set lang_anon_aggr_type_p.
9013         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
9014         (struct c_lang_decl): Moved saved_tree to tree_decl.
9015         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
9016         * integrate.h (function_attribute_inlinable_p): Declare it.
9017         * integrate.c (function_attribute_inlinable_p): Export it.
9018         * tree-inline.c: New file.  Define variables declared in...
9019         * tree-inline.h: New file.  Declare functions to be moved to
9020         tree-inline.c.  Define macros and declare types and hooks for
9021         language-specific tree inlining.
9022         (flag_inline_trees): Moved definition from cp/decl2.c.
9023         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
9024         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
9025         (struct tree_decl): Moved saved_tree from c_lang_decl and
9026         inlined_fns from C++'s lang_decl.
9027
9028 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
9029
9030         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
9031         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
9032
9033 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
9034
9035         * doc/cppinternals.texi: Update.
9036
9037 2001-10-04  Eric Christopher  <echristo@redhat.com>
9038
9039         * config/mips/mips.c (init_cumulative_args): Remember to set
9040         cum->prototype.
9041         * config.gcc: Redo linux configuration. Add target_cpu_default
9042         of soft-float to all mipsisa32 combinations and tx39.
9043         * config/mips/linux.h: Remove include of mips.h.
9044
9045 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
9046
9047         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
9048         HOST_LDFLAGS and HOST_CPPFLAGS.
9049
9050 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
9051
9052         * c-parse.in (objc_inherit_code, objc_pq_context,
9053         objc_public_flag): Make static.
9054         (objc_interface_context, objc_implementation_context,
9055         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
9056         global tree array in objc/objc-act.[ch].
9057         (methoddef): Remove unnecessary code.
9058
9059         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
9060         Hoist struct definitions to objc-act.h.
9061         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
9062         cat_count): Place declaration in objc-act.h.
9063         (objc_tree_index): Move enumeration to objc-act.h.
9064         (objc_global_trees): Place declaration and macro accessors in
9065         objc-act.h.
9066         (implementation_context): Remove duplicate; use
9067         objc_implementation_context instead:
9068         (method_context): Remove duplicate; use objc_method_context
9069         instead.
9070         (objc_ellipsis_node, objc_method_prototype_template,
9071         implemented_classes, function_type): Move global vars to
9072         objc_global_trees.
9073         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9074         (build_message_expr): Move actual construction of ObjC message
9075         send nodes to finish_message_expr.
9076         (finish_message_expr): New routine, contains code formerly in
9077         build_message_expr.
9078         * objc/objc-act.h (finish_message_expr): New prototype.
9079         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9080         declarations; these vars are now part of objc_global_trees.
9081         (objc_tree_index, objc_global_trees): Move definitions from
9082         objc-act.c.
9083         * objc/objc-tree.def: Update copyright info.
9084
9085 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
9086
9087         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9088         op is NULL.
9089         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9090         only if TARGET_ARCH64.
9091
9092 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
9093
9094         * doc/extend.texi: Fix some problems with previous checkin.
9095         * doc/invoke.texi: Likewise.
9096
9097 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9098
9099         * cpphash.h: Update comments.
9100         (cpp_context): Update.
9101         (spec_nodes): Remove n__Pragma.
9102         * cppinit.c (cpp_create_reader): Update.
9103         (builtin_array): Add _Pragma.
9104         * cpplib.h: Update comments.
9105         (NODE_DISABLED, BT_PRAGMA): New.
9106         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9107         * cppmacro.c (struct cpp_macro): Remove disabled.
9108         (builtin_macro): Return int, handle _Pragma, push the new token
9109         on the context stack.
9110         (funlike_invocation_p): Unconstify, update.
9111         (enter_macro_context): Handle builtins here.
9112         (replace_args, push_token_context, push_ptoken_context):
9113         Update for prototype changes.
9114         (_cpp_pop_context): Update.
9115         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9116         (cpp_sys_macro_p): Update.
9117         (_cpp_free_definition): Clear disabled flag.
9118         (_cpp_create_definition): Upate.
9119         * cppmain.c: Update comments.
9120
9121 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9122                                 Andreas Jaeger <aj@suse.de>,
9123                                 Jan Hubicka    <jh@suse.cz>
9124
9125         * doc/invoke.texi (i386 Options): Document x86-64 options.
9126         (i386 and x86-64 Options): Rename i386 options section.
9127
9128         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9129         (TARGET_SWITCHES): Add -munwind-info.
9130         (MASK_NO_UNWIND_INFO): New.
9131         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9132         biarch compilation.
9133         (ASM_OUTPUT_DOUBLE_INT): New.
9134
9135         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9136         * config.gcc: Fix tm_file settings for x86-64.
9137         * config/i386/x86-64.h: New file with OS independent x86-64
9138         definitions.
9139         * config/i386/biarch64.h: New file used to configure compiler
9140         to biarch/64bit compilation.
9141
9142         * config/i386/i386.c: (override_options): Set flags default
9143         for 64bit compilation.
9144
9145 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9146
9147         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9148         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9149         constants on x86_64.
9150         (ix86_attr_length_immediate_default): Support MODE_DI.
9151         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9152         condition.
9153         (indirect_jump, tablejump): Turn into expander.
9154
9155 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9156
9157         * c-common.c (c_format_attribute_table): Make format and
9158         format_arg attributes apply to function types rather than to
9159         decls.
9160         (is_valid_printf_arglist): Construct an attribute list and pass
9161         that to check_function_format rather than a name.
9162         * c-common.h (check_function_format): Adjust prototype.
9163         * c-decl.c (duplicate_decls): Preserve attributes from type of
9164         built-in decl when allowing for harmless conflict in types.
9165         * c-format.c (record_function_format,
9166         record_international_format, function_format_list,
9167         international_format_info, international_format_list): Remove.
9168         (function_format_info): Remove next, name and assembler_name.
9169         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9170         (decode_format_attr): New.
9171         (handle_format_attribute): Handle receiving a type rather than a
9172         decl.  Call decode_format_attr.  Store format information in a
9173         function_format_info.
9174         (handle_format_arg_attribute): Correct comment.  Handle receiving
9175         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9176         arg_num.
9177         (check_format_info_recurse, check_format_info_main): Take argument
9178         numbers as unsigned HOST_WIDE_INT.
9179         (check_function_format): Take a list of attributes from the
9180         function type rather than a name or assembler name.  Check for
9181         format attributes in that list and the attributes on the type of
9182         the current function rather than looking through
9183         function_format_list.
9184         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9185         numbers.
9186         (check_format_info_recurse): Take format_arg attributes from the
9187         type of the function calls rather than using
9188         international_format_list.  Allow for multiple format_arg
9189         attributes.
9190         * c-typeck.c (build_function_call): Pass type attributes to
9191         check_function_format rather than name or assembler name.  Don't
9192         require there to be a name or assembler name to check formats.
9193
9194 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9195
9196         * attribs.c (decl_attributes): Possibly call
9197         insert_default_attributes to insert default attributes on
9198         functions in a lazy manner.
9199         * builtin-attrs.def: New file; define the default format and
9200         format_arg attributes.
9201         * c-common.c (c_format_attribute_table): Move to earlier in the
9202         file.
9203         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9204         (enum built_in_attribute, built_in_attributes,
9205         c_attrs_initialized, c_init_attributes,
9206         c_common_insert_default_attributes): New.
9207         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9208         call c_init_attributes.
9209         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9210         * c-common.h (init_function_format_info): Don't declare.
9211         (c_common_insert_default_attributes): Declare.
9212         * c-decl.c (implicitly_declare, builtin_function): Call
9213         decl_attributes.
9214         (init_decl_processing): Don't call init_function_format_info.
9215         (insert_default_attributes): New.
9216         * c-format.c (handle_format_attribute,
9217         handle_format_arg_attribute): Be quiet about inappropriate
9218         declaration when applying default attributes.
9219         (init_function_format_info): Remove.
9220         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9221         (insert_default_attributes): Declare.
9222
9223 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9224
9225         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9226
9227 2001-10-01  Jim Wilson  <wilson@redhat.com>
9228
9229         * sched-deps.c (add_dependence): When elide conditional dependence,
9230         check that insn doesn't modify cond2.
9231
9232 2001-10-01  Dale Johannesen  <dalej@apple.com>
9233
9234         * config/rs6000/rs6000.h (enum processor_type): Add support
9235         for 7400 (G4) and 7450.
9236         (RTX_COSTS): Ditto.
9237         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9238         (rs6000_issue_rate): Ditto.
9239         (rs6000_adjust_cost): Fix cycle counts for compares.
9240         (debug_stack_info):  Fix an obvious typo.
9241         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9242         * doc/invoke.texi: Document.
9243         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9244         for Darwin.
9245         (PROCESSOR_DEFAULT): Ditto.
9246
9247 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9248
9249         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9250         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9251         later recursive make invocation.
9252
9253 2001-10-01  Hans Boehm  <boehm@acm.org>
9254
9255         * optabs.c (emit_libcall_block): When using non-call exceptions,
9256         don't add REG_LIBCALL reg notes to trapping calls.
9257
9258 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9259
9260         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9261         (propagate_one_insn):  Update for above change
9262
9263 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9264
9265         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9266         _Unwind_GetTextRelBase): Argument is unused.
9267
9268 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9269
9270         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9271         Loop through NOPs, placeholders, and components.
9272         Don't go through NOPs if change mode.
9273         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9274         * emit-rtl.c (set_mem_alias_set): Enable check.
9275         * expr.c (find_placeholder): New function.
9276         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9277         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9278         to modify it and avoid unneeded copies.
9279         * expr.h (expand_expr): Always define.
9280         (find_placeholder): New declaration.
9281
9282 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9283
9284         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9285         operand 2 is the stack pointer.
9286         ("addr-peephole"): Fix address computation peephole when operand 2
9287         is the stack pointer.
9288
9289 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9290
9291         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9292         (ix86_setup_incoming_varargs): Likewise.
9293
9294 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9295
9296         * stor-layout.c (layout_type): Don't complain about too-large
9297         array here.
9298
9299 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9300
9301         * function.c (keep_stack_depressed): Don't use delete_insn.
9302
9303         * expr.h (set_mem_alias_set): Move decl to here.
9304         * rtl.h (mem_attrs): New typedef and struct.
9305         (union rtunion_def): Add field for mem_attrs.
9306         (X0MEMATTR, MEM_ATTRS): New macros.
9307         (MEM_ALIAS_SET): Use MEM_ATTRS.
9308         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9309         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9310         (set_mem_alias_set): Delete decl from here.
9311
9312         * alias.c (set_mem_alias_set): Delete from here.
9313         * emit-rtl.c (mem_attrs_htab): New variable.
9314         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9315         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9316         (mem_attrs_mark, get_mem_attrs): Likewise.
9317         (gen_rtx_MEM): Clear MEM_ATTRS.
9318         (set_mem_attributes): Move to here.
9319         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9320         (init_emit_once): const_int_htab now deletable htab.
9321         Initialize mem_attrs_htab.
9322         * explow.c (set_mem_attributes): Delete from here.
9323         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9324         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9325         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9326         * reload1.c (reload): Rework changing REG to MEM.
9327
9328 2001-09-30  H.J. Lu <hjl@gnu.org>
9329
9330         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9331         * config.in: Rebuild.
9332
9333 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9334
9335         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9336         ("tsthi_1"): Avoid allocation in register y.
9337         ("*movqi_68hc12"): Reorganize and fix constraints.
9338         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9339         ("addqi3"): Likewise.
9340         ("addhi3"): Fix constraints.
9341         ("*logicalhi3_zexthi"): Disparage soft registers.
9342
9343 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9344
9345         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9346         to tmp reg.
9347
9348 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9349
9350         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
9351         that we use setjmp/longjmp exceptions.
9352
9353 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9354
9355         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
9356         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
9357         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9358         _cpp_pool_alloc, _cpp_next_chunk): Remove.
9359         (_cpp_extend_buff, BUFF_ROOM): Update.
9360         (_cpp_append_extend_buff): New.
9361         (struct cpp_reader): Remove macro_pool, add a_buff.
9362         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
9363         macro_pool.
9364         (cpp_destroy): Free a_buff instead of macro_pool.
9365         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
9366         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9367         _cpp_pool_alloc, ): Remove.
9368         (parse_number, parse_string): Update use of _cpp_extend_buff.
9369         (_cpp_extend_buff): Update.
9370         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
9371         * cpplib.c (glue_header_name, parse_answer):
9372         Update use of _cpp_extend_buff.
9373         (cpp_register_pragma, cpp_register_pragma_space): Use
9374         _cpp_aligned_alloc.
9375         (do_assert, do_unassert): Check for EOL, update.
9376         * cppmacro.c (stringify_arg, collect_args): Update to use
9377         _cpp_extend_buff and _cpp_append_extend_buff.
9378         (save_parameter, parse_params, alloc_expansion_token,
9379         _cpp_create_definition): Rework memory management.
9380
9381 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
9382
9383         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
9384         update md_exec_prefix.
9385         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
9386         to string constant.
9387
9388 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9389
9390         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
9391         (SELECT_CC_MODE): Use s390_select_ccmode.
9392         * config/s390/s390-protos.h (s390_select_ccmode): Add.
9393         * config/s390/s390.c (s390_select_ccmode): New.
9394         (s390_match_ccmode): Add CCLmode.
9395         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
9396         (output_branch_condition, output_inverse_branch_condition): Removed.
9397         (print_operand): Use s390_branch_condition_mnemonic.
9398         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
9399         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
9400         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
9401
9402         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
9403         when converting conditional branches to far branches.
9404         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
9405         cmpint_di): Use CCSmode instead of CCUmode.
9406
9407         * config/s390/s390.c (legitimate_la_operand_p): New.
9408         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
9409         * config/s390/s390.md (movsi): Convert load address patterns to
9410         arithmetic operations when necessary.
9411         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
9412         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
9413         (*do_la_reg_0): Don't use before reload.
9414
9415         * config/s390/s390.c (legitimize_address): Make more efficient
9416         use of two-register addressing mode.
9417
9418         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
9419         with -mno-backchain in some corner cases.
9420
9421         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
9422
9423 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
9424
9425         * reload.c (find_reloads): Mark new USE insns with QImode.
9426         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
9427         find_reloads_subreg_address): Likewise.
9428         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
9429         encountered.
9430         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
9431         CLOBBERs.
9432         (reload): Make sure there are no USEs with mode other than
9433         VOIDmode.  At the end, remove those marked with QImode.
9434
9435 2001-09-29  Per Bothner  <per@bothner.com>
9436
9437         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
9438         * Makefile.in (includedir):  Rename to local_includedir.
9439         (includedir):  Define as $(prefix)/include.
9440         * config.in (PREFIX_INCLUDE_DIR):  New variable.
9441         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
9442
9443 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
9444
9445         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
9446         storehps builtins.
9447         * doc/extend.texi (Vector Extensions): New node.
9448         * doc/invoke.texi (Machine Dependent Options): Add documentation for
9449         i386 -mmmx, -msse, -m3dnow.
9450
9451 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9452
9453         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
9454
9455 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
9456
9457         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
9458
9459         * doc/invoke.texi (Optimize Options): Delete spurious @table.
9460
9461 2001-09-28  Richard Henderson  <rth@redhat.com>
9462
9463         * varasm.c (assemble_integer): Bound alignment check by
9464         BIGGEST_ALIGNMENT.
9465
9466         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
9467
9468 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9469
9470         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
9471
9472 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9473
9474         Mostly from Graham Stott  <grahams@redhat.com>
9475         * c-common.c (type_for_mode): Add support for V2SFmode.
9476         * tree.c (build_common_tree_nodes_2): Likewise.
9477         * tree.h (enum tree_index, global_trees): Likewise.
9478         * config/i386/i386.c (x86_3dnow_a): New variable.
9479         (override_options): Support 3Dnow extensions.
9480         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
9481         Athlon's version of 3Dnow.
9482         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
9483         (ix86_expand_builtin): Handle them.
9484         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
9485         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
9486         TARGET_3DNOW_A): New macros.
9487         (TARGET_SWITCHES): Add 3Dnow switches.
9488         (VALID_MMX_REG_MODE_3DNOW): New macro.
9489         (VECTOR_MODE_SUPPORTED_P): Use it.
9490         (enum ix86_builtins): Add entries for 3Dnow builtins.
9491         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
9492         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
9493         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
9494         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
9495         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
9496         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
9497         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
9498         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
9499         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
9500         sfence_insn, prefetch): Make these available if TARGET_SSE or
9501         TARGET_3DNOW_A.
9502
9503 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9504
9505         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
9506         ix86_va_start, ix86_build_va_list): Declare.
9507         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
9508         ix86_va_start, ix86_build_va_list): New global functions.
9509         * i386.md (sse_prologue_save_insn): New insn.
9510         (sse_prologue_save): New expander.
9511         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
9512         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
9513
9514 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9515
9516         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
9517         Use size_t everywhere, make definitions consistent with
9518         prototypes.
9519
9520 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
9521
9522         * gcse.c (replace_store_insn): Use delete_insn.
9523         * loop.c (move_movables): Likewise; avoid delete_insn
9524         from clobbering notes moved elsewhere.
9525         (check_dbra_loop): Use delete_insn.
9526         * ssa.c (convert_from_ssa): Likewise.
9527         * cse.c (cse_insn): Use delete_insn.
9528
9529 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9530
9531         * cpphash.h (struct cpp_buff): Make unsigned.
9532         (_cpp_get_buff): Take length of size_t.
9533         (_cpp_unaligned_alloc): New.
9534         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
9535         (struct cpp_reader): Remove ident_pool.  Add u_buff.
9536         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
9537         (cpp_destroy): Destroy u_buff, not ident_pool.
9538         * cpplex.c (parse_number, parse_string, save_comment,
9539         cpp_token_as_text): Update to use the unaligned buffer.
9540         (new_buff): Make unsigned.
9541         (_cpp_unaligned_alloc): New.
9542         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
9543         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
9544         Similarly.
9545         (collect_args): Make unsigned.
9546
9547 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
9548
9549         * cpplex.c (cpp_output_token): Use a putc loop for
9550         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
9551
9552         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
9553         * configure, config.in: Regenerate.
9554         * system.h: Replace fwrite and fprintf with their unlocked
9555         variants if available.
9556
9557 2001-09-27  Richard Henderson  <rth@redhat.com>
9558
9559         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
9560         in favour of .eh_frame.
9561
9562 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
9563
9564         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
9565         to macros.
9566         (LIBCALL_VALUE): Likewise.
9567
9568 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9569
9570         * cpphash.h: Update comment.
9571         * cpplex.c: Update comments.
9572         (_cpp_can_paste): Remove.
9573         * cpplib.h (_cpp_can_paste): Remove.
9574         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
9575         lexer rather than _cpp_can_paste.
9576
9577 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9578
9579         * doc/cppinternals.texi: Update.
9580
9581 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9582
9583         * cpphash.h (struct cpp_pool): Remove locks and locked.
9584         (struct cpp_context): Add member buff.
9585         (struct cpp_reader): Remove member argument_pool.
9586         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9587         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
9588         * cpplex.c (chunk_suitable): Remove pool argument.
9589         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
9590         (new_buff, _cpp_extend_buff): Update.
9591         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
9592         which buffer is returned.
9593         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
9594         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9595         * cppmacro.c (lock_pools, unlock_pools): Remove.
9596         (push_ptoken_context): Take a _cpp_buff.
9597         (enter_macro_context): Pool locking removed.
9598         (replace_args): Use a _cpp_buff for the replacement list with
9599         arguments replaced.
9600         (push_token_context): Clear buff.
9601         (expand_arg): Use _cpp_pop_context.
9602         (_cpp_pop_context): Free a context's buffer, if any.
9603
9604 2001-09-26  DJ Delorie  <dj@redhat.com>
9605
9606         * c-typeck.c (digest_init): Check for sizeless arrays.
9607
9608 2001-09-26  Richard Henderson  <rth@redhat.com>
9609
9610         * optabs.c (init_one_libfunc): Create a dummy function type
9611         instead of using error_mark_node.
9612
9613 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9614
9615         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
9616         _cpp_extend_buff, _cpp_free_buff): New.
9617         (struct cpp_reader): New member free_buffs.
9618         * cppinit.c (cpp_destroy): Free buffers.
9619         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
9620         _cpp_extend_buff, _cpp_free_buff): New.
9621         * cpplib.h (struct cpp_options): Remove unused member.
9622         * cppmacro.c (collect_args): New.  Combines the old parse_arg
9623         and parse_args.  Use _cpp_buff for memory allocation.
9624         (funlike_invocation_p, replace_args): Update.
9625
9626 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9627
9628         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
9629
9630 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
9631
9632         * except.c (sjlj_mark_call_sites): Change address inside sequence.
9633
9634 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
9635
9636         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
9637         glibc.
9638
9639 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
9640             Jim Wilson  <wilson@redhat.com>
9641
9642         * doc/install.texi (Specific, ia64-*-linux): Document.
9643
9644 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9645
9646         * Makefile.in (cfgrtl.o): Add.
9647         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9648         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9649         free_aux_for_edge): Declare.
9650         * cfg.c
9651         (HAVE_return): Undefine.
9652         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9653         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9654         free_aux_for_edge): New global functions.
9655         (first_delete_block): New static variable.
9656         (init_flow): Clear first_delete_block.
9657         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
9658          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
9659          try_redirect_by_replacing_jump, last_loop_beg_note,
9660          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
9661          delete_insn, delete_insn_chain, create_basic_block_structure,
9662          create_basic_block, flow_delete_block, compute_bb_for_insn,
9663          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
9664          set_block_for_new_insns, split_block, merge_blocks_nomove,
9665          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
9666          redirect_edge_and_branch, force_nonfallthru_and_redirect,
9667          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
9668          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
9669          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
9670          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9671          purge_all_dead_edges): Move to ....
9672         * cfgrtl.c: New file; .... Here.
9673
9674         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
9675         (reroder_basic_block): Use alloc_aux_for_blocks.
9676         * predict.c (estimate_bb_frequencies): Likewise; use
9677         alloc_aux_for_edges.
9678         * profile.c (compute_branch_probabilities): Likewise.
9679         (branch_prob): Likewise.
9680         * reg-stack.c (reg_to_stack): Likewise.
9681
9682         * emit-rtl.c (emit_insns_after): Never return NULL.
9683
9684         * basic-block.h (set_block_for_new_insns): Delete.
9685         * cfgrtl.c (set_block_for_new_insns): Delete.
9686
9687         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
9688         calls when crossjumping.
9689
9690         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
9691         * unroll.c (copy_loop_body): Use delete_insn.
9692
9693         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
9694         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
9695         keep_stack_depressed): Likewise.
9696         * gcse.c (cprop_cc0_jump): Likewise.
9697         * local-alloc.c (update_equiv_regs): Likewise.
9698         * loop.c (scan_loop, loop_delete_insns): Likewise.
9699         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
9700         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
9701         delete_output_reload, delete_address_reloads_1,
9702         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
9703         Likewise.
9704         * sibcall.c (replace_call_placeholder): Likewise.
9705         * cse.c (cse_insn): Likewise.
9706
9707 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9708
9709         From Graham Stott  <grahams@redhat.com>
9710         (def_builtin): Only define builtins appropriate for target_flags.  All
9711         callers changed.
9712         (builtin_decsription): Add new field mask which is used to determine
9713         when to define the builtin via the macro def_builtin.
9714
9715         (bdesc_comi): Initialise new mask fields.
9716         (bdesc_2srg): Likewise.
9717         (bdesc_1arg): Likewise.
9718
9719         * config/i386/i386.c (ix86_init_builtins): Correct return type
9720         building v4hi_ftype_v4hi_int_int tree node.
9721         (ix86_expand_sse_comi): Fix typo swapping operands.
9722         Don't swap comparision condition, it is already swapped.
9723         (ix86_expand_sse_compare): Before swapping operands
9724         move operand 1 into new rtx and not the target rtx.
9725         Don't swap comparison condition, it is already swapped.
9726         Always check whether we need to create a new TARGET.
9727
9728         * config/i386/i386.md: (sse_comi) Fix typos.
9729         (sse_ucomi): Likewise.
9730         (cvtss2si): Fix operand 0 contraint.
9731         (cvttss2si): Likewise.
9732         (sse_unpckhps): Fix mode for operand 2.
9733         (sse_unpcklps): Likewise.
9734
9735 2001-09-25  Graham Stott  <grahams@redhat.com>
9736
9737         * sibcall.c (skip_copy_to_return_value): Tighten return value
9738         copy check.
9739
9740 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
9741
9742         * rs6000.c (lwa_operand): Address must be word aligned.
9743
9744 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9745
9746         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
9747         number has been set.
9748         (type_hash_mark): Mark type itself.
9749
9750 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9751
9752         * c-lex.c (cb_def_pragma): Update.
9753         (c_lex): Update, and skip padding.
9754         * cppexp.c (lex, parse_defined): Update, remove unused variable.
9755         * cpphash.h (struct toklist): Delete.
9756         (union utoken): New.
9757         (struct cpp_context): Update.
9758         (struct cpp_reader): New members eof, avoid_paste.
9759         (_cpp_temp_token): New.
9760         * cppinit.c (cpp_create_reader): Update.
9761         * cpplex.c (_cpp_temp_token): New.
9762         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
9763         (cpp_output_token): Don't print leading whitespace.
9764         (cpp_output_line): Update.
9765         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
9766         do_include_common, do_line, do_ident, do_pragma,
9767         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
9768         parse_assertion): Update.
9769         (get_token_no_padding): New.
9770         * cpplib.h (CPP_PADDING): New.
9771         (AVOID_LPASTE): Delete.
9772         (struct cpp_token): New union member source.
9773         (cpp_get_token): Update.
9774         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
9775         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
9776         replace_args, quote_string, stringify_arg, parse_arg, next_context,
9777         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
9778         _cpp_backup_tokens, _cpp_create_definition): Update.
9779         (push_arg_context): Delete.
9780         (padding_token, push_token_context, push_ptoken_context): New.
9781         (make_string_token, make_number_token): Update, rename.
9782         (cpp_get_token): Update to handle tokens as pointers to const,
9783         and insert padding appropriately.
9784         * cppmain.c (struct printer): New member prev.
9785         (check_multiline_token): Constify.
9786         (do_preprocessing, cb_line_change): Update.
9787         (scan_translation_unit): Update to handle spacing.
9788         * scan-decls.c (get_a_token): New.
9789         (skip_to_closing_brace, scan_decls): Update.
9790         * fix-header.c (read_scan_file): Update.
9791
9792         * doc/cpp.texi: Update.
9793
9794 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9795
9796         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
9797         leak by passing malloc'ed pointer to reconcat, not concat.
9798
9799 2001-09-24  DJ Delorie  <dj@redhat.com>
9800
9801         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
9802
9803 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
9804
9805         * flow.c (delete_dead_jumptables): Delete jumptable if the only
9806         reference is from the literal pool.
9807
9808 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
9809
9810         * doc/install.texi (Final install): Request additional information
9811         in mail about successful builds.
9812
9813 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9814
9815         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
9816         initial value of return pointer register instead of value in frame-20.
9817         Revise comments.
9818
9819 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9820
9821         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
9822         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
9823         the libcall if there isn't a referenced identifier for the symbol.
9824
9825 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9826
9827         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
9828         non 64-bit machines.  Use these as a plabel for the trampoline.
9829         (TRAMPOLINE_SIZE): Adjust size for new words.
9830         (INITIALIZE_TRAMPOLINE): Initialize new words.
9831         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
9832         pointer to the plabel in the trampoline.
9833
9834 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9835
9836         * pa.c (function_arg): Pass floating arguments in both general and
9837         floating registers in indirect (dynamic) calls when generating code
9838         for the 32 bit ABI and the HP assembler.
9839
9840 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9841
9842         * doc/install.texi: Markup fixes.
9843         Use Solaris 2, SunOS 4 as appropriate.
9844         (Specific, *-*-solaris2*): Explain this.
9845         Unconditionally warn against /usr/ucb tools.
9846         Remove Sun as warning, obsolete.
9847         Move X11 header bug workaround here, update patches.
9848         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
9849         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
9850
9851 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
9852
9853         * errors.h (warning, error, fatal, internal_error): Don't mark
9854         with ATTRIBUTE_PRINTF_n.
9855         * toplev.h (internal_error, fatal_io_error, warning, error,
9856         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
9857         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
9858         Likewise.
9859
9860 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9861
9862         * function.c (pop_function_context_from): var_refs_queue
9863         and temp slots now in GC memory.
9864         (mark_function_status, free_after_compilation): Likewise;
9865         also struct function now in GC memory.
9866         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
9867         (combine_temp_slots): Likewise.
9868         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
9869         (prepare_function_start): Use GC memory for struct function.
9870         (mark_temp_slot): Deleted.
9871         (gcc_mark_struct_function): struct function now in GC memory.
9872
9873         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
9874         code for division, not modulus.
9875
9876         * rtl.def (MEM): Remove obsolete part of comment.
9877
9878 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
9879
9880         * c-format.c (init_function_format_info): Check __builtin_printf
9881         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
9882         in gnu89 mode.
9883
9884 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9885
9886         * c-common.c (format_attribute_table): Remove decl.
9887         * tree.h (format_attribute_table, lang_attribute_table): New decls.
9888         (lang_attribute_common): Likewise.
9889
9890         * function.c (fix_lexical_address): Use set_mem_alias_set.
9891         (expand_function_start): Likewise.
9892         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
9893
9894         * varasm.c (output_constant): Fix unused variable warning.
9895
9896         * attribs.c: New file, from c-common.c.
9897         (attribute_tables): Now four elements.
9898         (format_attribute_table, lang_attribute_common): New variables.
9899         (init_attributes): Reflect above changes.
9900         (handle_mode_attribute): Delete check for wider than uintmax.
9901         * c-common.c: Delete parts moved to attribs.c.
9902         (enum attrs): Deleted; unused.
9903         (c_format_attribute_table): New variable.
9904         (c_common_lang_init): Initialize format_attribute_table with it.
9905         * c-common.h (decl_attributes): Remove decl.
9906         * tree.h (decl_attribute): Move it to here.
9907         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
9908         (attribs.o): New rule.
9909
9910 2001-09-22  Andreas Jaeger  <aj@suse.de>
9911
9912         * builtins.c (c_getstr): Remove unused variable.
9913
9914 2001-09-21  Richard Henderson  <rth@redhat.com>
9915
9916         * reload1.c (reload): Use delete_insn instead of splatting
9917         NOTE_INSN_DELETED.
9918
9919 2001-09-21  Richard Henderson  <rth@redhat.com>
9920
9921         * reload.c (push_secondary_reload): Don't check for "=" in output
9922         constraint after ""->ALL_REGS check.
9923
9924 2001-09-21  Richard Henderson  <rth@redhat.com>
9925
9926         * predict.c (expected_value_to_br_prob): Use pc_set.
9927
9928         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
9929         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
9930
9931 2001-09-21  Richard Henderson  <rth@redhat.com>
9932
9933         * rtl.h (LCT_RETURNS_TWICE): New.
9934         * calls.c (emit_call_1): Set current_function_calls_setjmp for
9935         ECF_RETURNS_TWICE.
9936         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
9937         to ECF_RETURNS_TWICE.
9938         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
9939         call to setjmp.
9940
9941         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
9942
9943         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
9944         (JMP_BUF_SIZE): New.
9945
9946 2001-09-21  Richard Henderson  <rth@redhat.com>
9947
9948         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
9949         to R8_REGS.
9950
9951 2001-09-21  Richard Henderson  <rth@redhat.com>
9952
9953         * tree.def (FDESC_EXPR): New.
9954         * expr.c (expand_expr): Handle it.
9955         * varasm.c (initializer_constant_valid_p): Likewise.
9956         (output_constant): Likewise.
9957         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9958         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9959         (ASM_OUTPUT_FDESC): New.
9960         * doc/tm.texi: Document the new macros.
9961
9962 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9963
9964         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
9965         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
9966         once merging is complete.
9967
9968 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9969
9970         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
9971
9972 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9973
9974         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
9975         that would be invalid after a merge.
9976
9977 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
9978
9979         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
9980         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
9981         remove some labels.
9982         (flow_delete_insn): This one.
9983         (delete_insn_chain): Rename from ...; do not care labels.
9984         (flow_delete_insn_chain): ... this one.
9985         (flow_delete_block): Remove the insns one BB has been expunged.
9986         (merge_blocks_nomove): Likewise.
9987         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
9988         updating BB boundaries.
9989         (tidy_fallthru_edge): Likewise.
9990         (commit_one_edge_insertion): Likewise.
9991         * cfgbuild.c (find_basic_block): Likewise.
9992         (find_basic_blocks_1): Likewise.
9993         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
9994         (try_crossjump_to_edge): Likewise.
9995         (try_optimize_cfg): Likewise.
9996         * cse.c (delete_trivially_dead_insns): Likewise.
9997         * df.c (df_insn_delete): Likewise.
9998         * doloop.c (doloop_modify): Use delete_related_insns.
9999         * emit-rtl.c (try_split): Likewise.
10000         (remove_insn): Update BB boundaries.
10001         * expect.c (connect_post_landing_pads): Use delete_related_insns.
10002         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
10003         updating BB boundaries.
10004         (propagate_block_delete_insn): Likewise.
10005         (propagate_block_delete_libcall): Likewise.
10006         * function.c (delete_handlers): Use delete_related_insns.
10007         (thread_prologue_and_epilogue_insns): Likewise.
10008         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
10009         * genpeep.c (gen_peephole): Use delete_related_insns.
10010         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
10011         BB boundaries.
10012         (find_cond_trap): Likewise.
10013         * integrate.c (save_for_inline): Use delete_related_insns.
10014         (copy_insn_list): Likewise.
10015         * jump.c (pruge_linie_number_notes): Likewise.
10016         (duplicate_loop_exit_test): Likewise.
10017         (delete_computation): Likewise.
10018         (delete_related_insn): Rename from ...; use delete_insn
10019         (delete_insn): ... this one.
10020         (redirect_jump): Use delete_related_insns.
10021         * loop.c (scan_loop): Likewise.
10022         (move_movables): Likewise.
10023         (find_and_verify_loops): Likewise.
10024         (check_dbra_loop): Likewise.
10025         * recog.c (peephole2_optimize): Likewise.
10026         * reg-stack.c (delete_insn_for_stacker): Remove.
10027         (move_for_stack_reg): Use delete_insn.
10028         * regmove.c (combine_stack_adjustments_for_block): Likewise.
10029         * reload1.c (delete_address_reloads): Use delete_related_insns.
10030         (fixup_abnormal_edges): Use delete_insn.
10031         * recog.c (emit_delay_sequence): Use delete_related_insns.
10032         (delete_from-delay_slot): Likewise.
10033         (delete_scheduled_jump): likewise.
10034         (optimize_skip): Likewise.
10035         (try_merge_delay_insns): Likewise.
10036         (full_simple_delay_slots): Likewise.
10037         (fill_slots_from_thread): Likewise.
10038         (relax_delay_slots): Likewise.
10039         (make_return_insns): Likewise.
10040         (dbr_schedule): Likewise.
10041         * rtl.h (delete_insn): Rename to delete_related_insns.
10042         (delete_insn, delete_insn_chain): New prototypes.
10043         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
10044         by df_insn_delete already.
10045         * ssa-dce.c (delete_insn_bb): Use delete_insn.
10046         * ssa.c (convert_from_ssa): Use delete_related_insns.
10047         * unroll.c (unroll_loop): Likewise.
10048         (calculate_giv_inc): Likewise.
10049         (copy_loop_body): Likewise.
10050
10051         * i386-protos.h (ix86_libcall_value, ix86_function_value,
10052         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10053         ix86_return_in_memory, ix86_function_value): Declare.
10054         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
10055         new static valurables.
10056         (x86_64_reg_class): New enum
10057         (x86_64_reg_class_name): New array.
10058         (classify_argument, examine_argument, construct_container,
10059          merge_classes): New static functions.
10060         (optimization_options): Enable flag_omit_frame_pointer and disable
10061         flag_pcc_struct_return on 64bit.
10062         (ix86_libcall_value, ix86_function_value,
10063         ix86_function_arg_regno_p, ix86_function_arg_boundary,
10064         ix86_return_in_memory, ix86_function_value): New global functions.
10065         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10066         (function_arg_advance): Handle x86_64 passing conventions.
10067         (function_arg): Likewise.
10068         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10069         (RETURN_IN_MEMORY): Move offline.
10070         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10071         (FUNCTION_VALUE_REGNO_P): New macro.
10072         (FUNCTION_ARG_REGNO_P): Move offline.
10073         (struct ix86_args): Add maybe_vaarg.
10074         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10075         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10076
10077 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
10078
10079         * s390.md: Changed attributes for scheduling.
10080         * s390.c: (s390_adjust_cost, s390_adjust_priority)
10081         Changed scheduling
10082
10083 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10084
10085         Table-driven attributes.
10086         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10087         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10088         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10089         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10090         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10091         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10092         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10093         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10094         * tree.h (struct tree_decl): Change machine_attributes to
10095         attributes.
10096         * doc/c-tree.texi: Document that all attributes are now attached
10097         to decls and types.
10098         * c-common.c (add_attribute, attrtab, attrtab_idx,
10099         default_valid_lang_attribute, valid_lang_attribute): Remove.
10100         (attribute_tables, attributes_initialized,
10101         c_common_attribute_table, default_lang_attribute_table): New
10102         variables.
10103         (handle_packed_attribute, handle_nocommon_attribute,
10104         handle_common_attribute, handle_noreturn_attribute,
10105         handle_unused_attribute, handle_const_attribute,
10106         handle_transparent_union_attribute, handle_constructor_attribute,
10107         handle_destructor_attribute, handle_mode_attribute,
10108         handle_section_attribute, handle_aligned_attribute,
10109         handle_weak_attribute, handle_alias_attribute,
10110         handle_no_instrument_function_attribute,
10111         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10112         handle_no_limit_stack_attribute, handle_pure_attribute): New
10113         functions.
10114         (init_attributes, decl_attributes): Rewrite to implement
10115         table-driven attributes.
10116         * c-common.h (enum attribute_flags): Move to tree.h.
10117         * c-format.c (decl_handle_format_attribute,
10118         decl_handle_format_arg_attribute): Rename to
10119         handle_format_attribute and handle_format_arg_attribute.  Update
10120         for table-driven attributes.
10121         * c-common.h (decl_handle_format_attribute,
10122         decl_handle_format_arg_attribute): Remove prototypes.
10123         (handle_format_attribute, handle_format_arg_attribute): Add
10124         prototypes.
10125         * c-decl.c (grokdeclarator): Handle attributes nested inside
10126         declarators.
10127         * c-parse.in (setattrs, maybe_setattrs): Remove.
10128         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10129         Update to handle nested attributes properly.
10130         (maybe_resetattrs, after_type_declarator,
10131         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10132         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10133         properly.
10134         (make_pointer_declarator): Update to handle nested attributes
10135         properly.
10136         * doc/extend.texi: Update documentation of limits of attributes
10137         syntax.  Warn about problems with attribute semantics in C++.
10138         * target.h (struct target): Remove valid_decl_attribute and
10139         valid_type_attribute.  Add attribute_table and
10140         function_attribute_inlinable_p.
10141         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10142         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10143         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10144         Add.
10145         (TARGET_INITIALIZER): Update.
10146         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10147         definition.
10148         (function_attribute_inlinable_p): New function.  Check for the
10149         presence of any machine attributes before using
10150         targetm.function_attribute_inlinable_p.
10151         (function_cannot_inline_p): Update.
10152         * Makefile.in (integrate.o): Update dependencies.
10153         * doc/tm.texi: Update documentation of target attributes and
10154         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10155         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10156         Remove.
10157         (default_target_attribute_table,
10158         default_function_attribute_inlinable_p): New.
10159         (lookup_attribute): Update comment to clarify handling of multiple
10160         attributes with the same name.
10161         (merge_attributes, attribute_list_contained): Allow multiple
10162         attributes with the same name but different arguments to appear in
10163         the same attribute list.
10164         * tree.h (default_valid_attribute_p): Remove prototype.
10165         (struct attribute_spec): New.
10166         (default_target_attribute_table): Declare.
10167         (enum attribute_flags): Move from c-common.h.  Add
10168         ATTR_FLAG_TYPE_IN_PLACE.
10169         (default_function_attribute_inlinable_p): Declare.
10170         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10171         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10172         (TARGET_ATTRIBUTE_TABLE): Define.
10173         (vms_attribute_table): New.
10174         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10175         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10176         (TARGET_ATTRIBUTE_TABLE): Define.
10177         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10178         * config/arm/arm.c (arm_valid_type_attribute_p,
10179         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10180         Remove.
10181         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10182         define.
10183         (TARGET_ATTRIBUTE_TABLE): Define.
10184         (arm_attribute_table, arm_handle_fndecl_attribute,
10185         arm_handle_isr_attribute): New.
10186         * config/avr/avr.c (avr_valid_type_attribute,
10187         avr_valid_decl_attribute): Remove.
10188         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10189         define.
10190         (TARGET_ATTRIBUTE_TABLE): Define.
10191         (avr_attribute_table, avr_handle_progmem_attribute,
10192         avr_handle_fndecl_attribute): New.
10193         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10194         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10195         (TARGET_ATTRIBUTE_TABLE): Define.
10196         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10197         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10198         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10199         (TARGET_ATTRIBUTE_TABLE): Define.
10200         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10201         h8300_handle_eightbit_data_attribute,
10202         h8300_handle_tiny_data_attribute): New.
10203         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10204         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10205         Remove prototypes.
10206         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10207         declarations.
10208         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10209         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10210         define.
10211         (TARGET_ATTRIBUTE_TABLE): Define.
10212         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10213         ix86_handle_regparm_attribute): New.
10214         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10215         i386_pe_valid_type_attribute_p): Remove.
10216         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10217         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10218         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10219         (TARGET_ATTRIBUTE_TABLE): Define.
10220         (ia64_attribute_table): New.
10221         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10222         interrupt_ident2, model_ident1, model_ident2): Remove.
10223         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10224         (TARGET_ATTRIBUTE_TABLE): Define.
10225         (init_idents): Update.
10226         (m32r_attribute_table, m32r_handle_model_attribute): New.
10227         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10228         Remove.
10229         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10230         (TARGET_ATTRIBUTE_TABLE): Define.
10231         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10232         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10233         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10234         (TARGET_ATTRIBUTE_TABLE): Define.
10235         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10236         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10237         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10238         (TARGET_ATTRIBUTE_TABLE): Define.
10239         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10240         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10241         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10242         (TARGET_ATTRIBUTE_TABLE): Define.
10243         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10244         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10245         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10246         (TARGET_ATTRIBUTE_TABLE): Define.
10247         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10248         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10249         New.
10250         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10251         Remove.
10252         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10253         (TARGET_ATTRIBUTE_TABLE): Define.
10254         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10255         New.
10256         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10257         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10258         (TARGET_ATTRIBUTE_TABLE): Define.
10259         (v850_attribute_table, v850_handle_interrupt_attribute,
10260         v850_handle_data_area_attribute): New.
10261         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10262         Return void.  Call decl_attributes instead of
10263         valid_machine_attribute.
10264
10265 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10266
10267         * sh-protos.h (sh_pr_n_sets): Declare.
10268         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10269         look at the copy to determine if PR needs to be saved.
10270         sh_pr_n_sets: New function.
10271         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10272         (ALLOCATE_INITIAL_VALUE): Define.
10273
10274         * sh.c (initial_elimination_offset):
10275         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10276
10277 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10278
10279         * integrate.c (allocate_initial_values): New function.
10280         * integrate.h (allocate_initial_values): Declare.
10281         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10282         here...
10283         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10284         from here...
10285         * toplev.c (rest_of_compilation): To here.
10286         Call allocate_initial_values.
10287         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10288
10289 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10290
10291         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10292
10293 2001-09-20  DJ Delorie  <dj@redhat.com>
10294
10295         * c-typeck.c (really_start_incremental_init): Discriminate
10296         between zero-length arrays and flexible arrays.
10297         (push_init_level): Detect zero-length arrays and handle them
10298         like fixed-sized arrays.
10299         * expr.c (store_constructor): Handle zero-length arrays and
10300         flexible arrays correctly.
10301         * doc/extend.texi: Update zero-length array notes.
10302
10303 2001-09-20  Jim Wilson  <wilson@redhat.com>
10304
10305         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10306         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10307         for issue port conflicts.
10308         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10309
10310 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10311
10312         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10313         on ia64.
10314
10315 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10316
10317         * fold-const.c (hashtab.h): Include.
10318         (int_const_binop): Remove FORSIZE arg and compute from type; all
10319         callers changed.
10320         Call size_int_type_wide for all single-word constants.
10321         (size_htab_hash, size_htab_eq): New functions.
10322         (size_int_type_wide): Rework to use hash table.
10323         * ggc-common.c (hashtab.h): Include.
10324         (struct d_htab_root): New struct.
10325         (d_htab_roots): New variable.
10326         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10327         (ggc_mark_roots): Handle deletable htabs.
10328         * ggc-page.c (ggc_marked_p): New function.
10329         * ggc-simple.c (ggc_marked_p): Likewise.
10330         * ggc.h: Reformatting throughout.
10331         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10332         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10333         (type_hash_add): Allocate struct type_hash from GC memory.
10334         (mark_hash_entry, mark_type_hash): Deleted.
10335         (type_hash_marked_p, type_hash_mark): New functions.
10336         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10337
10338 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10339
10340         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10341         than SImode.
10342
10343 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10344
10345         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10346         array-too-large test for signed sizetype.
10347
10348 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10349
10350         * i386.md (indirect_jump): Allow Pmode operand.
10351         (tablejump): LIkewise; perform expansion to 64bit mode.
10352         * i386.c (symbolic_operand): Allow 64bit PIC references.
10353         (pic_symbolic_operand): Likewise.
10354         (ix86_find_base_term): Strip the 64bit PIC references.
10355         (legitimate_pic_address_disp_p): Handle 64bit PIC.
10356         (legitimize_pic_address): Likewise.
10357         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
10358         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
10359
10360 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
10361
10362         * stringpool.c (get_identifier_with_length): New function.
10363         * tree.h (get_identifier_with_length): New prototype.
10364
10365 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
10366             David Edelsohn  <edelsohn@gnu.org>
10367
10368         Revert:
10369         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
10370         already sign-extended.
10371
10372         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
10373         * config/rs6000/rs6000.c (logical_operand): Always compare op as
10374         HOST_WIDE_INT.
10375         (rs6000_emit_set_long_const): Avoid unnecessary shift.
10376         (output_profile_hook): Declare label_name const.
10377         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
10378         to match constraints.
10379
10380 2001-09-19  Stan Shebs  <shebs@apple.com>
10381
10382         * alias.c: Fix typos in comments.
10383         * sched-rgn.c (init_ready_list): Ditto.
10384         * unwind-dw2.c (uw_frame_state_for): Ditto.
10385         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
10386         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
10387         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
10388
10389 2001-09-19  Richard Henderson  <rth@redhat.com>
10390
10391         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
10392         to the exit block.
10393         * Makefile.in (cfg.o): Depend on TM_P_H.
10394
10395 2001-09-19  Richard Henderson  <rth@redhat.com>
10396
10397         * config/alpha/alpha.c (local_symbol_p): Split out from ...
10398         (local_symbolic_operand): ... here.
10399         (small_symbolic_operand): Check mode.
10400         (global_symbolic_operand): New.
10401         (input_operand): Reject symbolics if explicit relocs.
10402         (call_operand): Tidy.
10403         (alpha_legitimize_address): Use movdi_er_high_g.
10404         (alpha_expand_mov): Likewise.
10405         * config/alpha/alpha-protos.h: Update.
10406         * config/alpha/alpha.h (PREDICATE_CODES): Update.
10407         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
10408         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
10409         (UNSPECV_LDGP2): Remove.
10410         (all call patterns): Use 's' not 'i' for symbolic constraint.
10411         (call_osf call_value_osf): Use call_operand.
10412         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
10413         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
10414         (prologue_ldgp_1_er): Remove.
10415         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
10416         (builtin_setjmp_receiver_er patterns): Use them.
10417         (exception_receiver_er): Likewise.
10418
10419 2001-09-19  Richard Henderson  <rth@redhat.com>
10420
10421         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
10422
10423         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
10424         and NON_LOCAL_GOTO notes.
10425         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
10426         copy over CALL_INSN_FUNCTION_USAGE.
10427
10428 2001-09-18  Catherine Moore  <clm@redhat.com>
10429
10430         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
10431         Define as 0.
10432
10433 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
10434
10435         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
10436         new-style tm_file specification.  Specify correct tm_p_file,
10437         md_file, and out_file for s390x.
10438
10439         * config/s390/linux.h, linux64.h:  Don't include other target
10440         macro header files.  Now handled via tm_file.
10441
10442         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
10443         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
10444         are defined before use.
10445
10446 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
10447
10448         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
10449         code generation only for Gnu assembler.
10450
10451 2001-09-18  Catherine Moore  <clm@redhat.com>
10452
10453         * config/stormy16 (LIB_SPEC): Remove -lnosys.
10454
10455 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
10456
10457         * config/mips/mips.c (mips_frame_set): New.
10458         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
10459         a parallel frame-related expression with a set for each register.
10460
10461 2001-09-18  Philip Blundell  <philb@gnu.org>
10462
10463         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
10464         header files.
10465
10466 2001-09-17  Dale Johannesen  <dalej@apple.com>
10467
10468         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
10469         * config/rs6000/aix.h (FIXED_R2): Define.
10470         * config/rs6000/darwin.h (FIXED_R2): Define.
10471         * config/rs6000/sysv4.h (FIXED_R2): Define.
10472
10473 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
10474
10475         * except.c (dw2_build_landing_pads): New local
10476         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
10477         barrier after clobbers.  Fixes c++/4012.
10478
10479 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10480
10481         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
10482
10483 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10484
10485         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
10486         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
10487
10488 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10489
10490         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
10491         alloca/strcpy.
10492
10493 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10494
10495         * cpphash.h (_cpp_lex_direct): New.
10496         * cpplex.c (_cpp_lex_token): Update.
10497         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
10498         and increment that pointer.
10499         * cppmacro.c (alloc_expansion_token): New.
10500         (lex_expansion_token): Lex macro expansion directly into
10501         macro storage.
10502
10503 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
10504
10505         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
10506
10507 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
10508
10509         * basic-block.h (free_bb_for_insn): Declare.
10510         * bb-reorder.c (label_for_bb): Use block_label.
10511         (emit_jump_to_block_after): Remove.
10512         (insert_intra_1): Do not update block_for_insn.
10513         (insert_inter_bb_scope_notes): Likewise; update bb->end
10514         * cfg.c (free_bb_for_insn): New.
10515         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
10516         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
10517         (commit_one_edge_insertion): Likewise.
10518         (commit_one_edge_insertion): Do not update BB boundary.
10519         (commit_edge_insertions): Do not call compute_bb_for_insn.
10520         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
10521         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
10522         (merge_blocks_move_successor_nojumps): Likewise.
10523         (try_crossjump_to_edge): Do not update block_for_insn.
10524         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
10525         * df.c (df_pattern_emit_later): Do not update BB boundary.
10526         (df_jump_pattern_emit_after): Likewise.
10527         (df_insn_move_before): Use emit_insn_before.
10528         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
10529          properly.
10530         (add_insn_after, add_insn_before, emit_insns_after): Update BB
10531         boundaries and basic_block_for_insn.
10532         (reorder_insns_nobb): Rename from reorder_insns.
10533         (reorder_insns): New.
10534         (emit_block_insn_before, emit_block_insn_after): Kill.
10535         * flow.c (check_function_return_warnings): Do not call
10536         compute_bb_for_insn; Do not free basic_block_for_insn.
10537         (attempt_auto_inc): Do not update basic_block_for_insn.
10538         * function.c (emit_return_into_block): Likewise;
10539         do not update BB boundaries.
10540         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
10541         (insert_insn_end_bb): Use emit_insn_before; Likewise.
10542         (pre_insert_copy_insn): Likewise.
10543         (update_ld_motion_notes): Likewise.
10544         (insert_insn_start_bb): Likewise.
10545         (replace_store_insn): Likewise.
10546         * ifcvt.c (noce_process_if_block): Likewise.
10547         (if_convert): Do not call compute_bb_for_insn.
10548         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
10549         Use emit_insn_before and emit_insn_after.
10550         * recog.c (split_all_insns): Do not update BB boundaries;
10551         Do not call compute_bb_for_insn.
10552         (peephole2_optimize): Do not update BB boundaries.
10553         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
10554         emit_insn_before.
10555         (emit_swap_insn): Likewise.
10556         (convert_regs_1): Likewise.
10557         * reload1.c (reload): Call compute_bb_for_insn.
10558         * rtl.h (reorder_insns_nobb): Declare.
10559         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
10560         * toplev.c (rest_of_compilation): Call free_bb_for_insn
10561         at places CFG is invalidated; do not call compute_bb_for_insn.
10562
10563         * cfg.c (expunge_block): Invalidate BB structure.
10564
10565         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
10566         array.
10567
10568         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
10569
10570 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10571
10572         * cpphash.h (_cpp_lex_token): Update prototype.
10573         * cpplex.c (_cpp_lex_token): New prototype.
10574         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
10575         lex_macro_node, read_flag, do_pragma_poison): Update.
10576         * cppmacro.c (cpp_get_token, parse_params,
10577         lex_expansion_token): Update.
10578
10579 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10580
10581         * cppmain.c (scan_translation_unit): Don't worry about
10582         putting a space after hashes.
10583         * cpplib.c (directive_diagnostics): New.
10584         (_cpp_handle_directive): Update to use directive_diagnostics.
10585         (run_directive): Don't toggle prevent_expansion.
10586         (do_line): Backup in case of the line extension.
10587         * cpplib.h (cpp_lexer_pos): Remove.
10588         * cppmacro.c (_cpp_create_definition): Precede a leading #
10589         with whitespace.
10590
10591 2001-09-15  Richard Henderson  <rth@redhat.com>
10592
10593         * c-typeck.c (comptypes): Handle zero-length arrays properly.
10594
10595 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10596
10597         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
10598
10599 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10600
10601         PR preprocessor/3571
10602         * tradcpp.c (handle_directive): Skip non-vertical space.
10603
10604 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10605
10606         * cppmain.c (setup_callbacks): Set line callback only
10607         if outputting preprocessed source.
10608
10609 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10610
10611         * collect2.c (main): Const-ification.
10612         * gcc.c (translate_options, process_command): Use xstrdup in
10613         lieu of xmalloc/strcpy.
10614         (main): Use concat in lieu of xmalloc/strcpy/strcat.
10615
10616 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10617
10618         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
10619         example.
10620
10621 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10622
10623         * scan-decls.c (scan_decls): Fix typo.
10624
10625 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10626
10627         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
10628         Split mlstring_pos into mls_line and mls_col.
10629         * cppinit.c (cpp_create_reader): Initialize line to 1.
10630         (cpp_destroy): Free tokenruns.
10631         (push_include): Don't update lexer_pos.
10632         * cpplex.c (unterminated, parse_string): Update.
10633         (lex_token): Don't update lexer_pos, update.
10634         * cpplib.c (if_stack): Save line instead of line + col.
10635         (start_directive, _cpp_do__Pragma, do_else, do_elif,
10636         push_conditional, _cpp_pop_buffer): Update.
10637         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
10638         (_cpp_create_definition): Update.
10639
10640 2001-09-15  Eric Christopher  <echristo@redhat.com>
10641
10642         * config/mips/abi64.h: Add support for MEABI.
10643
10644 2001-09-15  Eric Christopher  <echristo@redhat.com>
10645
10646         * config/mips/mips.md: Add unspec #2.
10647         (reload_indi): Use.
10648         (reload_outdi): Ditto.
10649         (reload_outsi): Ditto.
10650         (HILO_delay): New.
10651
10652 2001-09-15  Eric Christopher  <echristo@redhat.com>
10653             Jason Eckhardt  <jle@redhat.com>
10654
10655         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
10656         * config/mips/isa32-linux.h: New file.
10657         * config/mips/isa3264.h: Ditto.
10658         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
10659         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
10660         (output_block_mode): Support MEABI.
10661         (function_arg): Ditto. Fix floating point arg passing.
10662         (mips_va_start): Ditto.
10663         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
10664         processors.
10665         (mips_asm_file_start): Add new section to pass abi to gdb.
10666         (function_arg_pass_by_reference): Support MEABI.
10667         (mips_parse_cpu): Support mips32 and mips64 processors.
10668         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
10669         TARGET_MIPS5KC.  Support isa32 and isa64.
10670         (processor_type): Add r4kc, r5kc, r20kc.
10671         (GENERATE_MULT3_SI): New.
10672         (GENERATE_MULT3_DI): Ditto.
10673         (GENERATE_MULT3): Remove.
10674         (ISA_HAS_64BIT_REGS): Add isa == 64.
10675         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
10676         (ISA_HAS_MADD_MSUB): New.
10677         (ISA_HAS_CLZ_CLO): Ditto.
10678         (ISA_HAS_DCLZ_DCLO): Ditto.
10679         (ABI_GAS_ASM_SPEC): New.
10680         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
10681         (ASM_SPEC): Ditto.
10682         (LINK_SPEC): Ditto.
10683         (SUBTARGET_CC1_SPEC): Ditto.
10684         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10685         (PAD_VARARGS_DOWN): Support MEABI.
10686         (HARD_REGNO_NREGS): Move to mips.c.
10687         (ASM_OUTPUT_IDENT): Add #undef.
10688         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
10689         (mulsi3): Use GENERATE_MULT3_SI.
10690         (mulsi3_mult3): Ditto.  Support mips32, mips64.
10691         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
10692         (mul_sub_si): New pattern.
10693         (unnamed splitters): New.
10694         (muldi3): Use GENERATE_MULT3_DI.
10695         (muldi3_internal2): Ditto.
10696         (movdicc): Support mips32.
10697         * config/mips/t-isa3264: New file.
10698
10699 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
10700
10701         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
10702         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
10703         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
10704
10705         * reorg.c (fill_slots_from_thread): After call to
10706         steal_delay_list_from_target, update own_thread as new_thread may
10707         have branched.
10708
10709 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10710
10711         * cpperror.c (print_location): Take line and column, for
10712         default positioning use the previously lexed token.
10713         (_cpp_begin_message): Take line and column.
10714         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10715         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10716         * cpphash.h (_cpp_begin_message): Update prototype.
10717         * cppinit.c (push_include): Don't set output line.
10718         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
10719         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
10720         (do_pragma): Kludge for front ends.  Don't expand macros at all.
10721         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
10722         (struct cpp_token): Remove output_line.
10723         (struct cpp_callbacks): New member line_change.
10724         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
10725         cpp_get_token): Preserve BOL flag.
10726         (cpp_get_line): Remove.
10727         (_cpp_backup_tokens): Remove useless abort().
10728         * cppmain.c (cb_line_change): New.
10729         (scan_translation_unit): Don't worry about starting new lines here.
10730         * scan-decls.c (scan_decls): Update.
10731         * c-lex.c (c_lex, init_c_lex): Update.
10732         (cb_line_change, src_lineno): New.
10733
10734 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
10735
10736         * tree.c (append_random_chars): Generate the random
10737         characters in a reproducable fashion.
10738
10739 2001-09-14  Richard Henderson  <rth@redhat.com>
10740
10741         * config/i386/i386.c (internal_label_prefix): New.
10742         (internal_label_prefix_len): New.
10743         (override_options): Set them.
10744         (local_symbolic_operand): New.
10745         (legitimate_pic_address_disp_p): Use it.
10746         (legitimize_pic_address): Likewise.
10747
10748 2001-09-14  Marc Espie <espie@openbsd.org>
10749
10750         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
10751         correctly.
10752
10753 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10754
10755         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
10756         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
10757
10758 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
10759
10760         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
10761         invocation of SUBREG_REGNO_OFFSET.
10762
10763         * haifa-sched.c: Fix typo in FSF copyright statement.
10764         * sched-deps.c: Fix typo in FSF copyright statement.
10765         * sched-ebb.c: Fix typo in FSF copyright statement.
10766         * sched-rgn.c: Fix typo in FSF copyright statement.
10767         * sched-vis.c: Fix typo in FSF copyright statement.
10768
10769         * config.gcc: Move inclusion of arm elf specific header files
10770         from the files themselves into the tm_file variable.  Make
10771         sure that elfos.h is included before target specific elf
10772         headers.
10773         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
10774         already defined.
10775         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
10776         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
10777         ASM_OUTPUT_CASE_LABEL): Protect definition.
10778         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
10779         not already defined.
10780         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
10781         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
10782         Remove duplicate definition.
10783         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
10784         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
10785         (RDATA_SECTION_FUNCTION): Remove redundant definition.
10786         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
10787         Remove inclusion of arm/elf.h.
10788         * config/arm/unknown-elf.h: as for conix-elf.h.
10789         (STARTFILE_SPEC): Include crti.o and crtn.o.
10790         * config/arm/linux-elf.h: as for conix-elf.h.
10791         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
10792         * config/arm/strongarm-elf.h: Remove inclusion of
10793         unknown-elf.h.
10794         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
10795         * config/arm/unknown-elf-oabi.h: Remove inclusion of
10796         unknown-elf.h and elf.h.
10797         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
10798         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
10799         ASM_WEAKEN_LABEL): Remove redundant definition.
10800         * config/arm/elf.h: Test for inclusion of elfos.h
10801         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
10802         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
10803         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
10804         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
10805         redundant definition.
10806         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
10807         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
10808         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
10809         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
10810         Add rules to build crti.o and crtn.o
10811         * crti.asm: New file.
10812         * crtn.asm: New file.
10813
10814 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10815
10816         * c-parse.in (_yylex): Use _cpp_backup_tokens.
10817         * cpphash.h (struct tokenrun): Add prev.
10818         (struct lexer_state): Remove bol.
10819         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
10820         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
10821         : Remove.
10822         * cppinit.c (cpp_create_reader): Don't set bol.
10823         (cpp_destroy): Don't free lookaheads.
10824         * cpplex.c (lex_directive): Remove.
10825         (next_tokenrun): Update.
10826         (_cpp_lex_token): Clean up logic.
10827         (lex_token): Update to return a pointer to lexed token, since it
10828         can move to the start of the buffer.  Simpify newline handling.
10829         * cpplib.c (SEEN_EOL): Update.
10830         (skip_rest_of_line): Remove lookahead stuff.
10831         (end_directive): Line numbers are already incremented.  Revert
10832         to start of lexed token buffer if we can.
10833         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
10834         parse_answer): Use _cpp_backup_tokens.
10835         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
10836         instead.  Don't check for EOL.
10837         (do_include_common, do_line, do_pragma_system_header): Use
10838         skip_rest_of_line.
10839         * cpplib.h (BOL, _cpp_backup_tokens): New.
10840         * cppmacro.c (save_lookahead_token, take_lookahead_token,
10841         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
10842         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
10843         (builtin_macro): Don't use cpp_get_line.
10844         (cpp_get_line): Short term kludge.
10845         (parse_arg): Handle directives in arguments here.  Back up when
10846         appropriate.  Store EOF at end of argument list.
10847         (funlike_invocation_p): Use _cpp_backup_tokens.
10848         (push_arg_context): Account for EOF at end of list.
10849         (cpp_get_token): Remove lookahead stuff.  Update.
10850
10851 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10852
10853         * c-parse.in (yyerror): Const-ification and/or static-ization.
10854         * c-typeck.c (push_member_name): Likewise.
10855         * collect2.c (main): Likewise.
10856         * dbxout.c (dbxout_parms): Likewise.
10857         * diagnostic.c (format_with_decl): Likewise.
10858         * dwarf2out.c (output_ranges): Likewise.
10859         * dwarfout.c (fundamental_type_code): Likewise.
10860         * except.c (dw2_output_call_site_table): Likewise.
10861         * gcc.c (do_spec_1): Likewise.
10862         * genopinit.c (optabs): Likewise.
10863         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
10864         gen_declaration_1, handle_impent): Likewise.
10865         * protoize.c (default_include, in_system_include_dir, abspath):
10866         Likewise.
10867         * sched-vis.c (visualize_stall_cycles): Likewise.
10868         * sdbout.c (plain_type_1, sdbout_end_function,
10869         sdbout_end_epilogue): Likewise.
10870         * varasm.c (decode_reg_name): Likewise.
10871
10872         * 1750a.c (mod_regno_adjust): Likewise.
10873         * alpha.c (alpha_write_one_linkage,
10874         unicosmk_output_default_externs): Likewise.
10875         * arm.c (arm_condition_codes): Likewise.
10876         * arm.h (arm_condition_codes): Likewise.
10877         * avr.c (output_movsisf, encode_section_info): Likewise.
10878         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
10879         Likewise.
10880         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10881         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10882         * m88k.c (output_function_profiler): Likewise.
10883         * mips.c (mips_output_conditional_branch): Likewise.
10884         * ns32k.c (ns32k_out_reg_names): Likewise.
10885         * ns32k.h (ns32k_out_reg_names): Likewise.
10886         * pj.c (pj_output_rval): Likewise.
10887         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
10888         * sparc.c (sparc_flat_function_prologue,
10889         sparc_flat_function_epilogue): Likewise.
10890
10891 2001-09-13  Markus Werle <numerical.simulation@web.de>
10892             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10893
10894         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
10895         Aachen University of Technology".
10896
10897 2001-09-13  Andreas Schwab  <schwab@suse.de>
10898
10899         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
10900         C99.
10901
10902 2001-09-13  Richard Henderson  <rth@redhat.com>
10903
10904         * config/alpha/alpha.c (small_symbolic_operand): New.
10905         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
10906         (some_operand, input_operand): Don't handle HIGH.
10907         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
10908         (alpha_expand_mov): Likewise.
10909         (print_operand) [H]: Just print HIGH symbol.
10910         (print_operand_address): Handle small data.
10911         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
10912         (TARGET_SWITCHES): Add -msmall-data/large-data.
10913         (PIC_OFFSET_TABLE_REGNUM): New.
10914         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
10915         (PREDICATE_COES): Update.
10916         * config/alpha/alpha.md (adddi_er_high): New.
10917         (adddi_er_low): Handle small data.
10918         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
10919         prefer .sdata to .rodata.
10920         (SELECT_RTX_SECTION): Likewise.
10921
10922 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
10923
10924         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
10925         defining __size_t and leaving size_t undefined.
10926
10927 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
10928
10929         * basic-block.h (expunge_block): Declare.
10930         * cfg.c (expunge_block): Remove static declaration.
10931
10932 2001-09-12  Richard Henderson  <rth@redhat.com>
10933
10934         * integrate.c (copy_insn_list): Copy label name from
10935         NOTE_INSN_DELETED_LABEL.
10936
10937 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10938
10939         * c-common.c (c_tree_code_name): Const-ification.
10940         * c-decl.c (c_decode_option): Likewise.
10941         * c-typeck.c (warn_for_assignment): Likewise.
10942         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
10943         Likewise.
10944         * cppinit.c (output_deps): Likewise.
10945         * dependence.c (dependence_string, direction_string): Likewise.
10946         * dwarf2out.c (output_ranges): Likewise.
10947         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
10948         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
10949         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
10950         standard_startfile_prefix, standard_startfile_prefix_1,
10951         standard_startfile_prefix_2, tooldir_base_prefix,
10952         standard_bindir_prefix, find_a_file): Likewise.
10953         * genattrtab.c (make_length_attrs): Likewise.
10954         * gencheck.c (tree_codes): Likewise.
10955         * genemit.c (gen_split): Likewise.
10956         * genrecog.c (special_mode_pred_table): Likewise.
10957         * graph.c (graph_ext): Likewise.
10958         * protoize (default_include): Likewise.
10959         * reload.c (reload_when_needed_name): Likewise.
10960         * sched-vis.c (visualize_stall_cycles): Likewise.
10961         * tlink.c (recompile_files): Likewise.
10962         * toplev.c (decode_g_option): Likewise.
10963         * tradcpp.c (output_deps): Likewise.
10964         * varasm.c (decode_reg_name): Likewise.
10965
10966         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
10967         Const-ification.
10968         * arm.md: Likewise.
10969         * avr.c (avr_regnames, encode_section_info): Likewise.
10970         * c4x.c (float_reg_names): Likewise.
10971         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
10972         * elfos.h (const_section): Likewise.
10973         * i386.c (ix86_comp_type_attributes): Likewise.
10974         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10975         * ia64/aix.h (UNIQUE_SECTION): Likewise.
10976         * ia64.c (type_names): Likewise.
10977         * m68hc11.c (reg_class_names): Likewise.
10978         * m88k.c (m_options): Likewise.
10979         * mips.c (mips_output_conditional_branch, mips_unique_section):
10980         Likewise.
10981         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10982         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
10983         ultra_code_names): Likewise.
10984         * sparc.h (OVERRIDE_OPTIONS): Likewise.
10985
10986 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
10987
10988         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
10989         Use --fatal-warnings option for gas.
10990         * configure: Rebuilt.
10991
10992 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10993
10994         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
10995
10996 2001-09-11  Jim Wilson  <wilson@redhat.com>
10997
10998         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
10999
11000 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11001
11002         * builtins.c (c_strlen): Treat an offset too large for a
11003         HOST_WIDE_INT as out of range.
11004
11005 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
11006
11007         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
11008         (EDGE_CRITICAL_P): New predicate.
11009         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
11010         handling.
11011         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
11012         (dump_edge_info): Remove "crit".
11013         * cfganal.c (mark_critical_edges): Kill.
11014         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
11015         * cfgcleanup.c (cleanup_cfg): Likewise.
11016         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
11017         (find_spanning_tree): Likewise.
11018         * reg-stack.c (convert_regs_1): Likewise.
11019         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
11020
11021         * basic-block.h (create_basic_block_structure): New.
11022         (create_basic_block): Update prototype.
11023         (force_nonfallthru): New.
11024         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
11025         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
11026         handle updating of block_for_insn, creating of empty BBs and BBs at
11027         the end of INSN chain.
11028         (create_basic_block): New function.
11029         (split_block): Use create_basic_block.
11030         (force_nonfallthru_and_redirect): Break out from ...; cleanup
11031         (redirect_edge_and_branch_force): ... here.
11032         (force_nonfallthru): New.
11033         (split_edge): Rewrite to use force_nonfallthru and create_block.
11034         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
11035         (find_basic_blocks): Free basic_block_for_insn.
11036         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
11037
11038         * cfg.c: Fix formating.
11039         * cfgcleanup.c: Fix formating.
11040         (merge_blocks, tail_recursion_label_p): Return bool.
11041         (merge_blocks_move_predecessor_nojumps,
11042          merge_blocks_move_successor_nojumps): Return void.
11043
11044 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
11045
11046         * configure.in: Check whether assembler supports section merging.
11047         * config.in: Rebuilt.
11048         * configure: Rebuilt.
11049         * varasm.c (variable_section, output_constant_pool): Pass alignment
11050         to SELECT_SECTION and SELECT_RTX_SECTION.
11051         (mergeable_string_section): New.
11052         (mergeable_constant_section): New.
11053         (default_elf_asm_named_section): Output SECTION_MERGE and
11054         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11055         * output.h (mergeable_string_section): New.
11056         (mergeable_constant_section): New.
11057         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
11058         * toplev.c (flag_merge_constants): New.
11059         (f_options): Add -fmerge-constants and -fmerge-all-constants
11060         options.
11061         (toplev_main): Default to -fno-merge-constants if not optimizing.
11062         * flags.h (flag_merge_constants): Add extern.
11063         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11064         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11065         argument.
11066         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11067         Define if assembler has working .subsection -1 support.
11068         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11069         Put constant into special SHF_MERGE sections if the linker should
11070         attempt to merge duplicates.
11071         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11072         macro argument.
11073         Put constant into special SHF_MERGE sections if the linker should
11074         attempt to merge duplicates.
11075         * config/alpha/elf.h: Likewise.
11076         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11077         has working .subsection -1 support.
11078         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11079         SELECT_SECTION.
11080         * config/svr3.h: Likewise.
11081         * config/darwin.h: Likewise.
11082         * config/arm/aof.h: Likewise.
11083         * config/arm/linux-elf.h: Likewise.
11084         * config/avr/avr.h: Likewise.
11085         * config/c4x/c4x.h: Likewise.
11086         * config/d30v/d30v.h: Likewise.
11087         * config/i386/dgux.h: Likewise.
11088         * config/i386/osfrose.h: Likewise.
11089         * config/i386/sco5.h: Likewise.
11090         * config/i386/svr3gas.h: Likewise.
11091         * config/ia64/aix.h: Likewise.
11092         * config/m32r/m32r.h: Likewise.
11093         * config/m68k/m68k.h: Likewise.
11094         * config/m88k/dgux.h: Likewise.
11095         * config/m88k/m88k.h: Likewise.
11096         * config/mcore/mcore-pe.h: Likewise.
11097         * config/mips/mips.h: Likewise.
11098         * config/pa/pa.h: Likewise.
11099         * config/pa/pa-linux.h: Likewise.
11100         * config/romp/romp.h: Likewise.
11101         * config/rs6000/sysv4.h: Likewise.
11102         * config/rs6000/xcoff.h: Likewise.
11103         * config/s390/linux.h: Likewise.
11104         * config/sparc/sparc.h: Likewise.
11105         * config/sparc/sysv4.h: Likewise.
11106         * config/stormy16/stormy16.h: Likewise.
11107         * config/v850/v850.h: Likewise.
11108         * config/vax/vms.h: Likewise.
11109         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11110         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11111         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11112         default_elf_asm_named_section for SHF_MERGE sections.
11113
11114 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11115
11116         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11117         is OK.
11118
11119 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11120
11121         * c-common.c (split_specs_attrs): Allow for empty attributes with
11122         empty TREE_PURPOSE.  Fixes PR c/4294.
11123
11124 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11125
11126         * basic-block.h (cached_make_edge, make_single_succ): New.
11127         (make_edge): Remove first parameter.
11128         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11129         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11130         created edge; use obstack allocation.
11131         (make_edge, make_single_succ_edge): New.
11132         (first_removed_edge): New static variable.
11133         (init_flow): Initialize first_removed_edge and n_edges.
11134         (clear_edges): Use remove_edge.
11135         (flow_delete_block): Likewise.
11136         (remove_edge): Add removed edges to the removed edges list.
11137         (split_block, redirect_edge_and_branch_force, split_edge):
11138         Use make_edge.
11139         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11140         (add_noreturn_fake_exit_edges): Likewise.
11141         (connect_infinite_loops_to_exit): Liekwise.
11142         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11143         Use cached_make_edge.
11144         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11145         * profile.c (branch_prob): Update make_edge call.
11146         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11147
11148 2001-09-11  Richard Henderson  <rth@redhat.com>
11149
11150         * config/alpha/alpha.c: Tidy formatting.
11151         (local_symbolic_operand): Verify mode.
11152         (alpha_sa_mask): Ignore unicos for eh_return.
11153         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11154         * config/alpha/alpha.md (umk divsi patterns): Remove.
11155         (extendsfdf2): Remove unicos check.
11156         (tablejump): Merge vms and unicos code; always use direct set
11157         plus label_ref use.
11158
11159 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11160
11161         * config.gcc (alpha*-*-unicosmk*): New target.
11162
11163         * config/alpha/alpha-protos.h (symbolic_operand,
11164         unicosmk_add_call_info_word, unicosmk_add_extern,
11165         unicosmk_defer_case_vector, unicosmk_unique_section,
11166         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11167         unicosmk_asm_file_start, unicosmk_asm_file_end,
11168         unicosmk_output_common): Declare.
11169
11170         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11171         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11172         alpha_does_function_need_gp, alpha_end_function): Support Cray
11173         Unicos/Mk.
11174         (alpha_init_machine_status, alpha_mark_machine_status,
11175         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11176         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11177         unicosmk_asm_named_section, unicosmk_insert_attributes,
11178         unicosmk_section_type_flags, symbolic_operand,
11179         unicosmk_output_module_name, unicosmk_output_default_externs,
11180         unicosmk_output_dex, unicosmk_output_externs,
11181         unicosmk_output_addr_vec, unicosmk_ssib_name,
11182         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11183         unicosmk_asm_file_end, unicosmk_output_common,
11184         unicosmk_section_type_flags, unicosmk_unique_section,
11185         unicosmk_add_call_info_word, unicosmk_text_section,
11186         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11187         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11188         unicosmk_dex_count, unicosmk_special_name): New.
11189         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11190         TARGET_ABI_UNICOSMK.
11191         (get_aligned_mem, alpha_expand_unaligned_load,
11192         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11193         alpha_expand_unaligned_store_words): Support big-endian mode.
11194         (print_operand): Likewise. New format specifier 't'. Use
11195         TARGET_AS_SLASH_BEFORE_SUFFIX.
11196         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11197         (alpha_pv_save_size): Update with above change.
11198         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11199         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11200         Unicos/Mk.
11201
11202         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11203         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11204         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11205         (EXTRA_CONSTRAINT): New constraint 'U'.
11206         (PREDICATE_CODES): Add symbolic_operand.
11207
11208         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11209         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11210         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11211         (integer division and modulus patterns): Split in default and
11212         Unicos/Mk versions.
11213         (*divmodsi_internal, *divmoddi_internal): Disable for
11214         TARGET_ABI_UNICOSMK.
11215         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11216         little-endian and big-endian versions.
11217         (ext, ins, msk): Likewise.
11218         (extv, extzv, insv): Support big-endian mode.
11219         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11220         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11221         *tablejump_umk_internal, *call_value_umk): New.
11222         (*movdi_nofix): Add pattern for loading an address into a register on
11223         TARGET_ABI_UNICOSMK.
11224         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11225         (umk_mismatch_args, arg_home_umk): New.
11226         (various insns): Don't use mov, fmov, nop, fnop and unop.
11227         (realign): Support TARGET_ABI_UNICOSMK.
11228
11229         * config/alpha/unicosmk.h: New file.
11230         * config/alpha/t-unicosmk: New file.
11231
11232         * fixinc/inclhack.def (unicosmk_restrict): New.
11233         * fixinc/fixincl.x: Regenerate.
11234
11235         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11236         (wchar_t): Check for and define __WCHAR_T__.
11237
11238 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11239
11240         * combine.c (simplify_shift_const): Treat shifts by the mode
11241         size as undefined.
11242
11243 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11244
11245         * cpphash.h (struct tokenrun): New.
11246         (struct cpp_context): New member bol.
11247         (struct cpp_reader): New members.
11248         (_cpp_init_tokenrun): New.
11249         * cppinit.c (cpp_create_reader): Set up the token runs.
11250         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11251         (lex_token): New internalised version of _cpp_lex_token.  Don't
11252         handle directives or the multiple include optimization here any
11253         more.  Simply lex a token.
11254         * cpplib.c (run_directive): Clear bol.
11255         (_cpp_pop_buffer): Set bol.
11256         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11257         arguments.
11258
11259 2001-09-11  Michael Meissner  <meissner@redhat.com>
11260
11261         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11262         give an error if the user uses -mfp32.
11263         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11264         default options.
11265         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11266         floating point register size.
11267         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11268
11269         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11270         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11271         int_size_in_bytes.
11272         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11273         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11274
11275 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11276
11277         * dbxout.c (dbxout_parms): Fix typo in comment.
11278         * unroll.c (loop_find_equiv_value): Ditto.
11279         * toplev.c (rest_of_compilation): Ditto.
11280         * loop.c (scan_loop): Ditto.
11281         * dwarf2out.c (struct dw_fde_struct): Ditto.
11282
11283 2001-09-10  Zack Weinberg  <zackw@panix.com>
11284
11285         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11286         copying identifier when we're just going to throw it away.
11287         (parse_identifier_slow): New routine to handle abnormal cases.
11288         (_cpp_lex_token): Update call site.
11289
11290         * hashtable.c (ht_lookup): Don't assume that the string we've
11291         been given is NUL-terminated.
11292         * system.h: #define __builtin_expect(a, b) to (a) if not
11293         GCC >=3.0.
11294
11295 2001-09-10  Michael Meissner  <meissner@redhat.com>
11296
11297         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11298         binutils, gdb.
11299
11300 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11301
11302         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11303
11304 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11305
11306         * builtins.c (c_getstr): Correct thinko in last change and further
11307         cleanup.
11308
11309 2001-09-10  Tim Freeman <tim@fungibole.com>
11310
11311         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11312         into varray's and register them as roots with the garbage
11313         collector so they are not collected too soon.
11314
11315 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11316
11317         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11318         New.
11319         * basic-block.h (flow_obstack, label_value_list,
11320         tail_recursion_label_list): Declare
11321         (tidy_fallthru_edges): Declare.
11322         (expunge_block, last_loop_beg_note): Delete.
11323         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11324         * cfg.c: New file
11325         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11326         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11327         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11328         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11329         expunge_block, flow_delete_block, compute_bb_for_insn,
11330         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11331         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11332         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11333         try_redirect_by_replacing_jump, last_loop_beg_note,
11334         redirect_edge_and_branch, redirect_edge_and_branch_force,
11335         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11336         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11337         commit_edge_insertions, dump_flow_info, debug_flow_info,
11338         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11339         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11340         Move here from flow.c
11341         * cfganal.c: New file.
11342         (forwarder_block_p, can_fallthru, mark_critical_edges,
11343          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11344          find_unreachable_blocks, create_edge_list, free_edge_list,
11345          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11346          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11347          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11348          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11349          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11350          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
11351         Move here from flow.c
11352         * cfgbuild.c: New file
11353         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
11354          make_edges, find_basic_blocks_1, find_basic_blocks,
11355          find_sub_basic_blocks): Move here from flow.c
11356         * cfgcleanup.c: New file.
11357         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
11358          merge_blocks_move_predecessor_nojumps,
11359          merge_blocks_move_successor_nojumps, merge_blocks,
11360          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11361          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
11362         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
11363         if succeeded.
11364         * cfgloop.c: New file
11365         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
11366          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
11367          flow_loop_exit_edges_find, flow_loop_nodes_find,
11368          flow_loop_pre_header_scan, flow_loop_pre_header_find,
11369          flow_loop_tree_node_add, flow_loops_tree_build,
11370          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
11371          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
11372         Move here from flow.c
11373         * flow.c: Remove everything moved elsewhere
11374         * output.h (cleanup_cfg): Return bool.
11375
11376         * bb-reorder.c (reorder_block_def): Remove 'index'.
11377         (insert_intra_1): Add argument BB, set block for new note.
11378         (make_reorder_chain): Do not depdent on BB indexes.
11379         (make_reorder_chain_1): Do not use BB indexes.
11380         (label_for_bb): Likewise; set BB for new insn.
11381         (emit_jump_to_block_after): Likewise.
11382         (fixup_reorder_chain): Sanity check that all basic blocks
11383         are chained; verify newly created insn chain; remove
11384         undocnitional jump simplifying; Do not use BB indexes;
11385         properly initialize count and frequency information;
11386         dump reordered sequence.
11387         (insert_intra_bb_scope_notes): update call of insert_intra_1.
11388         (insert_inter_bb_scope_notes): Set block for new insn.
11389         (reorder_basic_blocks): Dump flow info before reoredering.
11390
11391 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11392
11393         * alias.c (clear_reg_alias_info): Use K&R format definition.
11394         Avoid unsigned warning.
11395         * builtins.c: Use "unsigned int", not "unsigned".
11396         (target_char_cast): Use host_integerp and tree_low_cst.
11397         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
11398         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
11399         (c_getstr): Likewise.
11400         (std_expand_builtin_va_arg): Use int_size_in_bytes.
11401         (builtin_memcpy_read_str): Avoid unsigned warning.
11402         (expand_builtin_memcpy): Alignments are unsigned.
11403         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
11404         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
11405         * predict.c (expensive_function_p): LIMIT now unsigned.
11406         * resource.c (mark_target_live_regs): Make some vars unsigned.
11407         * sdbout.c: Use "unsigned int", not "unsigned".
11408         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
11409         (sdbout_source_line): Likewise.
11410         (sdbout_record_type_name): Remove "const" for NAME declaration.
11411         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
11412
11413 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
11414
11415         * calls.c (store_one_arg): Expand comment.
11416
11417 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11418
11419         * calls.c (store_one_arg): Make sure that the entire argument is
11420         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
11421
11422 2001-09-09  Richard Henderson  <rth@redhat.com>
11423
11424         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
11425
11426 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
11427
11428         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
11429
11430 2001-09-09  Richard Henderson  <rth@redhat.com>
11431
11432         * config/alpha/alpha.c (alpha_next_sequence_number): New.
11433         (alpha_this_literal_sequence_number): New.
11434         (alpha_this_gpdisp_sequence_number): New.
11435         (some_operand, input_operand): Add HIGH.
11436         (local_symbolic_operand): New.
11437         (alpha_encode_section_info): New.
11438         (alpha_legitimate_address_p): Allow LO_SUM.
11439         (alpha_legitimize_address): Generate HIGH+LO_SUM.
11440         (alpha_expand_mov): Likewise.
11441         (secondary_reload_class): Check memory_operand not general_operand
11442         for FP_REGS test.
11443         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
11444         (alpha_expand_unaligned_store): Likewise.
11445         (alpha_expand_unaligned_load_words): Likewise.
11446         (alpha_expand_unaligned_store_words): Likewise.
11447         (alpha_expand_block_clear): Likewise.
11448         (print_operand): Handle %#, %*, %H.
11449         (print_operand_address): Handle LO_SUM.
11450         (find_lo_sum): New.
11451         (alpha_does_function_need_gp): Use it.
11452         (alpha_expand_block_move): Fix signed compare warnings.
11453         (alpha_sa_mask, alpha_align_insns): Likewise.
11454         * config/alpha/alpha-protos.h: Update.
11455         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
11456         (MASK_EXPLICIT_RELOCS): New.
11457         (TARGET_SWITCHES): Add -mexplicit-relocs.
11458         (EXTRA_CONSTRAINT): Add 'T'.
11459         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
11460         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
11461         (ENCODE_SECTION_INFO): Out line.
11462         (REDO_SECTION_INFO_P): New.
11463         (STRIP_NAME_ENCODING): New.
11464         (ASM_OUTPUT_LABELREF): New.
11465         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
11466         (PREDICATE_CODES): Update.
11467         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
11468         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
11469         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
11470         builtin_setjmp_receiver_er, exception_receiver_1_er,
11471         call_value_osf_1_er): New patterns.
11472         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
11473         (movqi, movhi, movsi): Add explicit $31 base register to lda.
11474         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
11475         (FINAL_PRESCAN_INSN): New.
11476
11477 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
11478
11479         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
11480
11481 2001-09-08  Andreas Jaeger  <aj@suse.de>
11482
11483         * i386.h (TARGET_SWITCHES): Fix description.
11484
11485 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
11486
11487         * rs6000.c (num_insns_constant): Compute number of instructions
11488         more accurately.
11489
11490         * doc/install.texi: Explain AIX exception handling work-around.
11491         Update URL for AIX fixes.
11492
11493 2001-09-07  Jim Wilson  <wilson@redhat.com>
11494
11495         * alias.c (clear_reg_alias_info): New.
11496         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
11497         * rtl.h (clear_reg_alias_info): Declare.
11498
11499 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11500
11501         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
11502         available.
11503         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
11504         (m16m,edivm,emulm): Change declaration to match definition.
11505
11506 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
11507
11508         * reload.c (push_reload): Check for subreg_lowpart_p instead of
11509         SUBREG_BYTE being 0 when determining if the inner part of a subreg
11510         can be reloaded.
11511
11512 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11513
11514         * c-common.c (signed_or_unsigned_type): Handle machine mode types
11515         which have no corresponding C type.
11516         * fold_const.c (target_isinf,target_isnan,target_negative): Update
11517         the representation of 64-bit doubles to work with 64-bit ints.
11518
11519 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
11520
11521         * config/mips/mips.c (override_options): Do not override ISA when ABI
11522         specified if MIPS_CPU_STRING_DEFAULT was specified.
11523
11524 2001-09-07  Richard Henderson  <rth@redhat.com>
11525
11526         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
11527         (express_from_1): Wrap lines.
11528         * rtlanal.c (commutative_operand_precedence): Rename from
11529         operand_preference; export.
11530         * rtl.h: Declare it.
11531         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
11532         (simplify_binary_operation): Invoke simplify_plus_minus on
11533         (CONST (PLUS ...)) as well.
11534         (struct simplify_plus_minus_op_data): New.
11535         (simplify_plus_minus_op_data_cmp): New.
11536         (simplify_plus_minus): Use them.  Avoid infinite recursion with
11537         simplify_binary_operation wrt CONST.
11538
11539 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
11540
11541         * h8300-protos.h (general_operand_dst_push): Remove.
11542         * h8300.c (general_operand_dst_push): Likewise.
11543         * h8300.h (OK_FOR_T): Likewise.
11544         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
11545         * h8300.md (pushqi_h8300): New.
11546         (pushqi_h8300hs): Likewise.
11547         (pushqi): Likewise.
11548         (pushhi_h8300): Likewise.
11549         (pushhi_h8300hs): Likewise.
11550         (pushhi): Likewise.
11551
11552 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11553
11554         * genattrtab.c (attr_printf): First arg is unsigned.
11555         Clean up formatting of callers.
11556
11557 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
11558
11559         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
11560         registers.
11561
11562 2001-09-07  Andreas Jaeger  <aj@suse.de>
11563
11564         * i386.h (TARGET_SWITCHES): Fix descriptions.
11565
11566 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11567
11568         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
11569
11570 2001-09-06  Ira Ruben  <ira@apple.com>
11571
11572         Remove OP_IDENTIFIER.
11573         * tree.def (OP_IDENTIFIER): Remove.
11574         * tree.c (tree_node_kind enum): Remove op_id_kind.
11575         (tree_node_kind_names): Remove "op_identifiers".
11576         (make_node): Remove OP_IDENTIFIER test.
11577         (build_op_identifier): Removed because it isn't being used.
11578         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
11579         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
11580
11581 2001-09-06  Richard Henderson  <rth@redhat.com>
11582
11583         * simplify-rtx.c (simplify_binary_operation): Revert last change.
11584
11585 2001-09-06  Richard Henderson  <rth@redhat.com>
11586
11587         * simplify-rtx.c (simplify_binary_operation): Simplify contents
11588         of CONST.
11589
11590 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11591
11592         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
11593         number used for CR register.
11594
11595 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11596                           Joern Rennecke (amylaar@cygnus.com)
11597
11598         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
11599         * h8300.c (initial_offset): Handle offset between RP and FP.
11600         (h8300_return_addr_rtx): New function.
11601         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
11602         return register.
11603         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
11604         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11605         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
11606         (CAN_ELIMINATE, REGISTER_NAMES):
11607         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
11608
11609 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
11610
11611         Remove TYPE_NONCOPIED_PARTS.
11612         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
11613         (struct tree_type): Remove noncopied_parts.
11614         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
11615         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
11616         (fixed_type_p): Remove.
11617         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
11618         (expand_expr, MODIFY_EXPR): Likewise.
11619         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
11620         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
11621
11622 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
11623
11624         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
11625         compiler warnings.
11626         (mask64_operand): Likewise.
11627         (includes_rldic_lshift_p): Likewise.
11628         (includes_rldicr_lshift_p): Likewise.
11629
11630 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
11631
11632         * objc/objc-act.c (build_message_expr): If a class method cannot
11633         be found, do not issue a warning if a corresponding instance
11634         method exists in the root class.
11635
11636 2001-09-05  Richard Henderson  <rth@redhat.com>
11637
11638         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
11639
11640 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
11641
11642         * function.c (ggc_mark_struct_function): Mark f->outer.
11643         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
11644         * integrate.c (output_inline_function): ... not here.
11645
11646 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11647
11648         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
11649
11650         * i386.c (size_cost): New static variable.
11651         (override_function): Use size_cost when -Os is specified.
11652
11653         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
11654         properly;  Use current_function_calls_eh_return.
11655         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
11656         use leave to avoid dependency chain.
11657
11658         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
11659         get BB loop_depth instead of computing it from LOOP notes.
11660
11661         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
11662
11663 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11664
11665         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11666         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11667         UNALIGNED_DOUBLE_INT_ASM_OP): Define
11668
11669 2001-09-05  Jeffrey A Law  (law@cygnus.com)
11670             Jason Merrill (jason@redhat.com)
11671
11672         * stor-layout.c (layout_type): Complain if an array's size can
11673         not be represented in a size_t.
11674
11675         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
11676
11677 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
11678
11679         * gcc.c: (process_command) Add parentheses around assignment
11680         used as truth value.
11681
11682 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11683
11684         * config/mips/mips.c (save_restore_insns): Don't mark any register
11685         save slots as unchanging if current_function_calls_eh_return.
11686
11687 2001-09-05  Richard Henderson  <rth@redhat.com>
11688
11689         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
11690         * config/alpha/alpha-protos.h: Declare it.
11691         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
11692         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
11693         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
11694         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
11695         (REG_OK_FOR_BASE_P): Select one of the above.
11696
11697 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11698
11699         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
11700         (crti.o): Prefix name of object file with $(T).
11701         (crtn.o): Likewise.
11702
11703 2001-09-05  David S. Miller  <davem@redhat.com>
11704
11705         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11706         * config/sparc/linux64.h: Likewise.
11707
11708 2001-09-05  Andreas Jaeger  <aj@suse.de>
11709
11710         * doc/invoke.texi (i386 Options): -mwide-multiply is not
11711         available anymore, remove the documentation.
11712         (i386 Options): Fix typo, cleanup index entries.
11713
11714         * prefix.c (concat): Remove, we can use the version from liberty.
11715
11716 2001-09-05  Richard Henderson  <rth@redhat.com>
11717
11718         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
11719         New functions split out of md file expanders.
11720         * config/alpha/alpha-protos.h: Declare them.
11721         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
11722
11723 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11724
11725         * cppmacro.c (funlike_invocation_p): No need to restore context.
11726
11727 2001-09-04  Richard Henderson  <rth@redhat.com>
11728
11729         * reload.c (push_reload): Export.
11730         * reload.h (push_reload): Declare it.
11731
11732         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
11733         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11734         * config/alpha/alpha.c (alpha_legitimize_address): New.
11735         (alpha_legitimize_reload_address): Likewise.
11736         * config/alpha/alpha-protos.h: Declare them.
11737
11738 2001-09-04  Stan Shebs  <shebs@apple.com>
11739
11740         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
11741         * config/darwin.c (machopic_stub_name): Account for internally
11742         generated lib calls such as memcpy.
11743
11744 2001-09-04  Richard Henderson  <rth@redhat.com>
11745
11746         * unwind.h (_UA_END_OF_STACK): New flag.
11747         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
11748
11749 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11750
11751         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
11752
11753 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
11754
11755         * config/mips/mips.c (save_restore_insns): Change base_offset to
11756         fp_offset in second call to mips_emit_frame_related_store.
11757
11758 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
11759
11760         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
11761         sometimes be represented as a NOTE of type
11762         NOTE_INSN_DELETED_LABEL.
11763         (Insns): Document NOTE_INSN_DELETED_LABEL.
11764
11765 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
11766
11767         * c-common.h (tree_dump_index): Add more comments.
11768         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
11769         (dump_option_value_info): New struct.
11770         (dump_options): New array.
11771         (dump_switch_p): Parse switch options symbolically.
11772         * doc/invoke.texi (-fdump-ast): Rename to ...
11773         (-fdump-tree): ... here. Document that options are symbolic, and
11774         not all are applicable.
11775
11776 2001-09-04  David S. Miller  <davem@redhat.com>
11777
11778         * config/sparc/sparc.md (define_splits): Kill constraints.
11779
11780         Cleanup redundant and unused insn attributes.
11781         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
11782         binary, and move.  Mark ialu as default.
11783         (commented out define_function_unit "alu"): Kill.
11784         (define_attr "use_clobbered"): Kill.
11785         (whole file): Kill address insn type references.  Replace
11786         all unary/binary/move references with ialu.
11787         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
11788         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
11789         TYPE_IALU.
11790
11791         Simplify length insn attribute and make more judicious use
11792         of insn attribute defaulting.
11793         * config/sparc/sparc.md (all insns with length > one): Mark as
11794         insn type multi if real instructions, else use default if
11795         it is a forced splitter.
11796         (all insns with length == one): Use default insn length.
11797         (all insns of type ialu): Use default insn type.
11798
11799         Fix erroneous insn attribute settings.
11800         (addx): Set insn type to misc.
11801         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
11802         const_umulsidi3_sp64): Set insn type to imul.
11803
11804         Track SFmode vs DFmode insns according to UltraSPARC
11805         scheduling rules.
11806         * config/sparc/sparc.md ("fptype"): New attribute, default
11807         to "single".
11808         (all DFmode single insns): Mark as fptype "double".
11809
11810 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
11811
11812         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
11813
11814 2001-09-03  Richard Henderson  <rth@redhat.com>
11815
11816         * function.h (struct function): Add arg_pointer_save_area_init.
11817         * function.c (expand_function_end): Init arg_pointer_save_area.
11818         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
11819         when called from a nested function.
11820
11821 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
11822
11823         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
11824         is enabled.
11825
11826 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11827
11828         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
11829
11830 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
11831
11832         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
11833         (emit_push_insn): Use specified padding direction when
11834         STACK_PUSH_CODE is POST_INC.
11835
11836         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
11837
11838 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11839
11840         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
11841
11842 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
11843
11844         * cppinit.c (cpp_start_read): Free the imacros list as we
11845         traverse it.  Don't free the chains before returning.
11846         (_cpp_push_next_buffer): Only try pushing buffers if we've
11847         completed -imacros handling.
11848
11849 2001-08-31  Eric Christopher  <echristo@redhat.com>
11850
11851         * gcc.c (handle_braces): Add explaination for abort.
11852
11853 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
11854
11855         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
11856         move adjustment of bitpos instead.
11857
11858 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
11859
11860         * function.c: Remove all_functions.  Make outer_function_chain
11861         static.
11862         (init_function_start): Don't add new function structure to
11863         all_functions.
11864         (find_function_data, push_function_context_to,
11865         pop_function_context_from, put_var_into_stack,
11866         trampoline_address): Update for changed structure element names.
11867         (push_function_context_to): Disentangle.
11868         (free_after_compilation): Also free F.
11869         (expand_dummy_function_end): Don't free cfun here.
11870         (put_var_into_stack): Comment why we can't use find_function_data here.
11871         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
11872         (mark_function_chain): Split into maybe_mark_struct_function and
11873         ggc_mark_struct_function.  Export the latter.
11874         (init_function_once): Mark from cfun and outer_function_chain;
11875         not all_functions.
11876
11877         * function.h (struct function): Kill next_global.  Rename next
11878         to outer.  All users updated to match.
11879         (all_functions, outer_function_chain): Don't declare.
11880
11881         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
11882         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
11883         don't touch f->inlinable, after calling rest_of_compilation.
11884
11885         * tree.h: Forward-declare struct function.  Prototype
11886         ggc_mark_struct_function.
11887
11888 2001-08-31  Kazu Hirata  <kazu@hxi.com>
11889
11890         * config/h8300/h8300.md (*andorhi3): Fix typos.
11891
11892 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11893
11894         * calls.c (emit_library_call_value): Don't use a fixed
11895         argument after VA_CLOSE, i.e. out of scope in traditional C.
11896
11897         * emit-rtl.c (gen_rtvec): Likewise.
11898
11899 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11900
11901         * Makefile.in (c-pragma.o): Depend on output.h.
11902         (reorg.o): Depend on except.h.
11903
11904         * c-pragma.c: Include output.h.
11905
11906         * reorg.c: Include except.h.
11907
11908         * unwind-dw2.c: Call __builtin_alloca, not alloca.
11909
11910 2001-08-31  Richard Henderson  <rth@redhat.com>
11911
11912         * sched-deps.c (add_dependence): Don't elide dependency if the
11913         conditional used by insn is modified in elem.
11914
11915 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
11916
11917         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11918
11919 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
11920
11921         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
11922         dump_switch_p.
11923
11924 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11925
11926         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
11927         function.
11928         (stormy16_asm_out_constructor): New function.
11929         (TARGET_ASM_CONSTRUCTOR): Define.
11930         (TARGET_ASM_DESTRUCTOR): Define.
11931
11932 2001-08-31  Andreas Jaeger  <aj@suse.de>
11933
11934         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
11935         * loop.c (add_label_notes): Likewise.
11936         * reload.c (find_reloads): Likewise.
11937         * config/sh/sh.c (machine_dependent_reorg): Likewise.
11938
11939 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
11940
11941         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
11942         code here.  Take _Unwind_{W,Sw}ord*.
11943         (read_encoded_value_with_base): Use them.
11944         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
11945         words.
11946         (extract_cie_info): Simplify read_?leb128 handling.
11947         (execute_stack_op, execute_cfa_program): Likewise.
11948         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
11949
11950 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11951
11952         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
11953         the frame pointer to pop the stack if convenient.
11954
11955         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
11956         Don't use post-increment before combine.
11957         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
11958         a call-saved register.
11959
11960 2001-08-31  Andreas Jaeger  <aj@suse.de>
11961
11962         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
11963         code was correct.
11964
11965 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
11966
11967         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
11968         not DIV/MOD, of course.
11969
11970 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
11971
11972         * rtl.def: Undo my patch commited 2001-08-27.
11973
11974         * genattrtab.c: Ditto.
11975
11976         * rtl.h: Ditto.
11977
11978         * sched-int.h: Ditto.
11979
11980         * target-def.h: Ditto.
11981
11982         * target.h: Ditto.
11983
11984         * haifa-sched.c: Ditto.
11985
11986         * sched-rgn.c: Ditto.
11987
11988         * sched-vis.c: Ditto.
11989
11990         * Makefile.in: Ditto.
11991
11992         * doc/md.texi: Ditto.
11993
11994         * doc/tm.texi: Ditto.
11995
11996         * doc/contrib.texi: Ditto.
11997
11998         * doc/gcc.texi: Ditto.
11999
12000         * genattrtab.h: Remove it.
12001
12002         * genautomata.c: Remove it.
12003
12004         * genattr.c: Undo my patch and Richard Henderson's patch commited
12005         2001-08-27.
12006
12007 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
12008
12009         * config.gcc (h8300-*-elf*): New case.
12010         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
12011         (SUBTARGET_CPP_SPEC): Define.
12012         (EXTRA_SPECS): Define.
12013         (SUBTARGET_EXTRA_SPECS): Define.
12014         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
12015         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
12016
12017 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
12018
12019         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
12020         (LIB2FUNCS_EXTRA): Define.
12021         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
12022         config/h8300/fixunssfsi.c: New file.
12023
12024 2001-08-30  Kazu Hirata  <kazu@hxi.com>
12025
12026         * config/h8300/h8300.md (zero_extendqihi2): Changes to
12027         define_expand to accommodate target-specific attributes.
12028         (anonymous zero_extendqihi2 patterns): New.
12029
12030 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
12031
12032         * h8300.md (*andorhi3): New pattern.
12033
12034 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
12035
12036         * h8300.c (dosize): Fix test for "sub".
12037
12038 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
12039
12040         * c-typeck.c (pointer_diff): Try to eliminate common term before
12041         doing conversions.
12042
12043 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
12044
12045         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12046         Account for the saves of the FP registers.
12047
12048         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
12049         (TEXT_SECTION_ASM_OP): Define.
12050         (INIT_SECTION_ASM_OP): Define.
12051         (FINI_SECTION_ASM_OP): Define.
12052         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
12053         (RDATA_SECTION_FUNCITON): Provide prototype.
12054
12055 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
12056
12057         * reload1.c (move2add_note_store): Correct typo checking for
12058         argument pushes.
12059
12060 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
12061
12062         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
12063         note should not be considered outside the libcall block.
12064
12065 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12066
12067         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12068
12069 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12070
12071         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12072
12073 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12074
12075         * config/h8300/h8300-protos.h: Add a prototype for
12076         emit_logical_op.
12077         * config/h8300/h8300.c (emit_logical_op): New.
12078         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12079         (andsi3): Likewise.
12080         (iorhi3): Likewise.
12081         (iorsi3): Likewise.
12082         (xorhi3): Likewise.
12083         (xorsi3): Likewise.
12084
12085 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12086
12087         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12088         comparison with rtx INTVAL.
12089         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12090         expression.
12091         * pa.h (FUNCTION_ARG_SIZE): Likewise.
12092
12093 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12094
12095         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
12096         comment typos.
12097
12098 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12099
12100         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12101         (reg n) to (mem (pre_dec (reg n))
12102         (anonymous movsi pattern): Likewise.
12103
12104 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12105
12106         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12107
12108 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12109
12110         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12111         several special constants.
12112
12113 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12114
12115         * config/h8300/lib1funcs.asm: Fix comment typos.
12116
12117 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12118
12119         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12120         Fix format specifier warnings.
12121
12122         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12123         inet_makeaddr, semctl): Prototype.
12124
12125         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12126         (save_restore_insns): Use base_offset, not gp_offset.
12127
12128         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12129         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12130
12131 2001-08-29  Richard Henderson  <rth@redhat.com>
12132
12133         * bb-reorder.c (function_tail_eff_head): New.
12134         (record_effective_endpoints): Set it.
12135         (fixup_reorder_chain): Use it.
12136
12137 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12138
12139         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12140
12141 2001-08-28  Dale Johannesen  <dalej@apple.com>
12142
12143         * config/darwin.c (machopic_function_base_name): Add const
12144         qualifier to a string.
12145         (darwin_encode_section_info): Ditto.
12146
12147 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12148
12149         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12150         function definition.
12151
12152 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12153
12154         * df.h (struct df): Add rts_order variable.
12155
12156         * df.c (df_visit_next_rts): New function.
12157         (df_visit_next): Renamed to df_visit_next_rc
12158         (df_analyse_1): Allocate/compute/free rts_order as well.
12159         (df_rd_global_compute): Use df_visit_next_rc instead of
12160         df_visit_next.
12161         (df_ru_global_compute): Use df_visit_next_rts instead of
12162         df_visit_next.
12163
12164         * flow.c (flow_reverse_top_sort_order_compute): New function.
12165
12166         * basic-block.h: Add prototype.
12167
12168 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12169
12170         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12171         blocks, the BB_REACHABLE is now set, rather than aux being
12172         non-NULL. Update the test to reflect this.
12173
12174 2001-08-28  Eric Christopher  <echristo@redhat.com>
12175
12176         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12177         config/mips/crti.asm: Ditto.
12178
12179 2001-08-28  Eric Christopher <echristo@redhat.com>
12180             Richard Henderson <rth@redhat.com>
12181
12182         * c-pragma.h (add_weak): Move prototype from here...
12183         * output.h (add_weak): ... to here.
12184         * varasm.c (add_weak): Fix typo.
12185         * config/mips/crti.asm: New file.
12186         * config/mips/crtn.asm: Ditto.
12187         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12188         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12189         (INVOKE__main): Ditto.
12190         (INIT_SECTION_ASM_OP): New.
12191         (FINI_SECTION_ASM_OP): Ditto.
12192         (STARTFILE_SPEC): Add crti.
12193         (ENDFILE_SPEC): Add crtn.
12194         * config/mips/elf64.h: Same.
12195         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12196         Remove.
12197         * config/mips/vxworks.h: Ditto.
12198         * config/mips/t-elf: Support crti and crtn.
12199
12200 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12201
12202         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12203         INSN_LIST.
12204
12205 2001-08-28  Richard Henderson  <rth@redhat.com>
12206
12207         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12208         (one_cmplbi2 splitter): Remove redundant test.
12209
12210 2001-08-28  Dale Johannesen  <dalej@apple.com>
12211
12212         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12213
12214 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12215
12216         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12217
12218 2001-08-28  Stan Shebs  <shebs@apple.com>
12219
12220         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12221         (UNALIGNED_SHORT_ASM_OP): Define.
12222         (UNALIGNED_INT_ASM_OP): Define.
12223
12224 2001-08-28  Will Cohen  <wcohen@redhat.com>
12225
12226         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12227         generation for first set.
12228
12229 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12230
12231         * flow.c (redirect_edge_succ_nodup): Return new edge.
12232         (try_simplify_condjump): Use new edge.
12233         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12234
12235         * cse.c (cse_basic_block): Skip note instructions.
12236
12237 2001-08-27  Richard Henderson  <rth@redhat.com>
12238
12239         * combine.c (combine_simplify_rtx): Don't reverse condition
12240         if there is no reverse for the condition.
12241         (simplify_comparison): Don't simplify subregs from INT to FP.
12242
12243         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12244         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12245         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12246         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12247         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12248         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12249
12250 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12251
12252         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12253         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12254         (pushqi1): New.
12255         (adddi_dilshr32, adddi_dishl32): Only data register can be
12256         source for mem destination.
12257
12258         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12259         and use bitnum to decide about register move.
12260
12261 2001-08-27  Richard Henderson  <rth@redhat.com>
12262
12263         * genattr.c (main): Emit state_t even when not doing scheduling.
12264
12265 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12266             Richard Henderson  <rth@redhat.com>
12267
12268         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12269         (reg_avail_info, current_bb): ... these.
12270         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12271         (compute_hash_table): Likewise.
12272
12273 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12274
12275         * flow.c (verify_flow_info): Use checksums to verify edges.
12276
12277 2001-08-27  Richard Henderson  <rth@redhat.com>
12278
12279         * genautomata.c (expand_automata): Always create a description.
12280
12281 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12282
12283         * optabs.c (expand_binop): Correctly handle the carry in multiword
12284         add/subtract operations.
12285
12286 2001-08-27  Fred Fish  <fnf@be.com>
12287
12288         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12289         __SIZE_TYPE__.
12290
12291 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12292
12293         * reload.c (find_reloads_toplev): Back out this change:
12294
12295         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12296
12297         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12298         mem if the address is a mode_dependent_address_p.
12299
12300 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12301
12302         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12303         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12304         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12305         RTL constructions.
12306
12307         * genattr.c (main): New variable num_insn_reservations.  Increase
12308         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12309         pipeline hazard recognizer interface.
12310
12311         * genattrtab.h: New file.
12312
12313         * genattrtab.c: Include genattrtab.h.
12314         (attr_printf, check_attr_test, make_internal_attr,
12315         make_numeric_value): Move protypes into genattrtab.h.  Define them
12316         as external.
12317         (num_dfa_decls): New global variable.
12318         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12319         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12320         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12321         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12322
12323         * genautomata.c: New file.
12324
12325         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12326
12327         * sched-int.h: (curr_state): Add the external definition for
12328         automaton pipeline interface.
12329         (haifa_insn_data): Add comments for members blockage and units.
12330
12331         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12332         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12333         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12334         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12335         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12336         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12337         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12338         macros.
12339         (TARGET_SCHED): Use the new macros.
12340
12341         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12342         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12343         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12344         dfa_bubble): New members in gcc_target.sched.
12345
12346         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12347         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12348         (insn_queue): Redefine it as pointer to array.
12349         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12350         INSN_QUEUE_SIZE.
12351         (max_insn_queue_index_macro_value): New variable.
12352         (curr_state, dfa_state_size, ready_try): New varaibles for
12353         automaton interface.
12354         (ready_element, ready_remove, max_issue): New function prototypes
12355         for automaton interface.
12356         (choose_ready): New function prototype.
12357         (insn_unit, blockage_range): Add comments.
12358         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12359         FUNCTION_UNITS_SIZE == 0.
12360         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12361         actual_hazard, potential_hazard): Add comments.
12362         (insn_cost): Use cost -1 as undefined value.  Remove
12363         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
12364         pipeline interface.
12365         (ready_element, ready_remove): New functions for automaton
12366         interface.
12367         (schedule_insn): Add new code for automaton pipeline interface.
12368         (queue_to_ready): Add new code for automaton pipeline interface.
12369         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12370         (debug_ready_list): Print newline when the queue is empty.
12371         (max_issue): New function for automaton pipeline interface.
12372         (choose_ready): New function.
12373         (schedule_block): Add new code for automaton pipeline interface.
12374         Print ready list before scheduling each insn.
12375         (sched_init): Add new code for automaton pipeline interface.
12376         Initiate insn cost by -1.
12377         (sched_finish): Free the current automaton state and finalize
12378         automaton pipeline interface.
12379
12380         * sched-rgn.c: Include target.h.
12381         (init_ready_list, new_ready, debug_dependencies): Add new code for
12382         automaton pipeline interface.
12383
12384         * sched-vis.c: Include target.h.
12385         (get_visual_tbl_length): Add code for automaton interface.
12386         (target_units, print_block_visualization):  Add comments.
12387
12388         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
12389         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12390         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12391         (getruntime.o, genautomata.o): New entries.
12392         (genattrtab.o): Add new dependency file genattrtab.h.
12393         (genattrtab): Add new dependencies.  Link it with `libm.a'.
12394         (getruntime.o, hashtab.o): New entries for canadian cross.
12395
12396         * doc/md.texi: Description of automaton based model.
12397
12398         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12399         Add comments.
12400         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12401         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12402         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12403         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12404         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12405         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12406         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12407         hook descriptions.
12408         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12409         MAX_DFA_ISSUE_RATE): New macro descriptions.
12410
12411         * doc/contrib.texi: Add dfa based scheduler contribution.
12412
12413         * doc/gcc.texi: Add more information about genattrtab.
12414
12415 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
12416
12417         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
12418         an RTL basic block.
12419
12420 2001-08-27  Richard Henderson  <rth@redhat.com>
12421
12422         * function.c (expand_function_end): Don't init arg_pointer_save_area.
12423         (get_arg_pointer_save_area): New.  Create an init it here.
12424         (fix_lexical_addr): Use it.
12425         * function.h: Declare it.
12426         * builtins.c (expand_builtin_setjmp_receiver): Use it.
12427         * stmt.c (expand_nl_goto_receiver): Use it.
12428
12429 2001-08-27  Richard Henderson  <rth@redhat.com>
12430
12431         * final.c (final_scan_insn): Don't enter APP_ON mode for
12432         empty asm strings.
12433
12434         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
12435         alignment for assemble_integer for DW_EH_PE_aligned.
12436         * except.c (output_function_exception_table): Likewise.
12437
12438 2001-08-26  Andreas Jaeger  <aj@suse.de>
12439
12440         * c-tree.h: Add prototyp for c_sizeof_nowarn.
12441
12442 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
12443
12444         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
12445
12446 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
12447
12448         * config/rs6000/rs6000.c (mask_operand): Rewrite without
12449         bit-shifting loop.
12450         (mask64_operand): Likewise.
12451         (rldic_operand): Delete.
12452         (includes_lshift64_p): Delete.
12453         (includes_rldic_lshift_p): New function.
12454         (includes_rldicr_lshift_p): New function.
12455         (print_operand): Don't call rldic_operand in case 'W'.
12456         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
12457         (includes_lshift64_p): Remove.
12458         (includes_rldic_lshift_p): Declare.
12459         (includes_rldicr_lshift_p): Declare.
12460         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
12461         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
12462         Replace match_operand rldic_operand predicate with
12463         const_int_operand.  Replace includes_lshift64_p condition with
12464         includes_rldic_lshift_p.
12465         <ashldi3_internal 64 bit rldicr patterns>: New.
12466
12467 2001-08-27  Andreas Jaeger  <aj@suse.de>
12468
12469         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12470         * errors.c: Likewise.
12471         * final.c: Likewise.
12472         * dwarf2asm.c: Likewise.
12473         * doprint.c (checkit): Likewise.
12474         * diagnostic.c: Likewise.
12475         * collect2.c: Likewise.
12476         * calls.c: Likewise.
12477         * c-semantics.c (build_stmt): Likewise.
12478         * c-format.c (status_warning): Likewise.
12479         * c-errors.c (pedwarn_c99): Likewise.
12480         * builtins.c (validate_arglist): Likewise.
12481         * config/pj/pj.c (pj_printf): Likewise.
12482         * fix-header.c: Likewise.
12483         * gcc.c: Likewise.
12484         * gcov.c (fnotice): Likewise.
12485         * gensupport.c (message_with_line): Likewise.
12486         * mips-tfile.c: Likewise.
12487         * protoize.c (notice): Likewise.
12488         * read-rtl.c (fatal_with_file_and_line): Likewise.
12489         * rtl-error.c: Likewise.
12490         * tradcpp.c: Likewise.
12491         * tree.c: Likewise.
12492         * cp/tree.c (build_min_nt): Likewise.
12493         (build_min): Likewise.
12494         * cp/lex.c: Likewise.
12495         * cp/errfn.c: Likewise.
12496         * cp/rtti.c (create_pseudo_type_info): Likewise.
12497
12498 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
12499
12500         * df.c (df_uses_record): Return after recording all uses
12501         in ASM_OPERANDS.
12502
12503 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
12504
12505         * df.c (df_insn_modify): Realloc the INSN table here, if
12506         necessary, here, too.
12507
12508 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
12509
12510         * config/mips/mips.c (mips_function_value): Handle complex return
12511         values.
12512
12513 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
12514
12515         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
12516         unshared.
12517         * reload.c (make_memloc): Copy result if it is still
12518         reg_equiv_memory_loc[regno] on return.
12519         (subst_reloads) [ENABLE_CHECKING]: Check that none of
12520         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
12521         reg_equiv_mem are modified by the substitutions.
12522
12523 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12524
12525         * predict.c (expensive_function_p): New.
12526         * rtl.h (expensive_function_p): Declare.
12527         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
12528         (use_fast_prologue_epilogue): New static variable.
12529         (expand_prologue): Set it; emit short prologues if unset.
12530         (expand_epilogue): Likewise.
12531
12532 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12533
12534         * config.gcc: Add stormy16-*-elf case.
12535         * config/stormy16/stormy-abi: New file.
12536         * config/stormy16/stormy16-lib2.c: New file.
12537         * config/stormy16/stormy16-protos.h: New file.
12538         * config/stormy16/stormy16.c: New file.
12539         * config/stormy16/stormy16.h: New file.
12540         * config/stormy16/stormy16.md: New file.
12541         * config/stormy16/t-stormy16: New file.
12542
12543 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
12544
12545         * i386.h (no-accumulate-outgoing-args): Use proper mask.
12546
12547 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
12548
12549         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
12550         descriptor members are pointer size, not constant 4.
12551         * config/rs6000/rs6000.md (define_splits): Remove more unused
12552         constraints.
12553
12554 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12555
12556         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
12557
12558 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
12559
12560         * cp/rtti.c (VPARAMS): Fix parameter.
12561
12562 2001-08-24  Zack Weinberg  <zackw@panix.com>
12563
12564         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
12565         to zero.
12566         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
12567         to switch.
12568         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
12569         in if controlling use of insv.
12570         (extract_bit_field): Likewise, for extv and extzv.
12571
12572 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
12573
12574         * i386.md (movcc peep2): Fix load of 0.
12575
12576 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12577
12578         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
12579         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
12580
12581 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
12582
12583         * c-pragma.h: Move weak_syms and weak_decls...
12584         * varasm.c: ...here.  Now static.
12585         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
12586         depend on HANDLE_PRAGMA_WEAK.
12587
12588         * c-common.c (c_alignof, c_alignof_expr): Move here...
12589         * c-typeck.c: ...from here.
12590         * c-tree.h, c-common.h: Adjust.
12591
12592 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
12593
12594         * config/ia64/ia64.c (rws_update): If !pred, set write_count
12595         instead of incrementing it.
12596
12597         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
12598         asm ready, don't try to move them all into the same array element.
12599
12600 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12601
12602         * function.c (thread_prologue_and_epilogue_insns): Avoid
12603         fallthru flag on edge to exit.
12604
12605         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
12606
12607         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
12608         dead edges.
12609
12610 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12611
12612         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
12613         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
12614         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
12615         Remove prototype.
12616
12617 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12618
12619         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
12620         replace "GNU CC" with "GCC".
12621
12622 2001-08-23  Richard Henderson  <rth@redhat.com>
12623
12624         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
12625         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
12626         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
12627         Need GR between FR and not GR_AND_FR.
12628         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
12629         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
12630         AR regs before GR regs.
12631         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12632         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
12633         (REGISTER_MOVE_COST): Update.
12634         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
12635
12636 2001-08-23  Richard Henderson  <rth@redhat.com>
12637
12638         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
12639         a register class.
12640
12641 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12642
12643         * reload1.c (emit_reload_insns): Don't look for notes
12644         on a NULL store_insn.
12645
12646 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12647
12648         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
12649         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
12650         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
12651         format specifier warnings.
12652         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
12653
12654 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
12655
12656         * config/i386/i386-protos.h: Correct declaration of
12657         i386_pe_asm_named_section.
12658
12659 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12660
12661         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
12662         variable i.
12663         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12664
12665 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12666
12667         * cpperror.c (print_location): Don't show _Pragma.
12668         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
12669         and file change callback generation here.
12670         (stack_include_file): Update use of cpp_push_buffer.
12671         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
12672         (struct cpp_buffer): Remove type, pfile members.
12673         * cppinit.c (cpp_handle_option): Use free_chain.
12674         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
12675         (skip_escaped_newlines, get_effective_char, lex_percent): Take
12676         a cpp_reader rather than a cpp_buffer.
12677         (skip_escaped_newlines, get_effective_char, skip_block_comment,
12678         skip_line_comment, parse_string, lex_percent, lex_dot,
12679         _cpp_lex_token): Update accordingly.
12680         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
12681         generation here.
12682         (cpp_push_buffer): Update prototype.
12683         (run_directive): Update use of cpp_push_buffer.
12684         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
12685         handle_assertion): Update use of run_directive.
12686         * cpplib.h (enum cpp_buffer_type): Remove.
12687         (cpp_push_buffer): Update prototype.
12688         * fix-header.c (read_scan_file): Update.
12689
12690 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12691
12692         * gcc.c (struct prefix_list): Change prefix to const char *.
12693
12694 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12695
12696         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
12697
12698 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
12699
12700         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
12701         from a new MEM.
12702
12703         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
12704         a squeezable note.
12705         * rtl.h: Adjust.
12706         * ifcvt.c (dead_or_predicable): Adjust.
12707         * loop.c (find_and_verify_loops): Adjust.
12708         * stmt.c (expand_end_case): Adjust.
12709         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
12710         head and end insn pointers in the basic block, not just local copies.
12711         (merge_blocks_move_predecessor_nojumps): Likewise.
12712
12713 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
12714
12715         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
12716         bitmap.h, builtin-types.def, builtins.c, builtins.def,
12717         c-aux-info.c, c-common.c, c-common.def, c-common.h,
12718         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
12719         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
12720         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
12721         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
12722         conditions.h, config.gcc, configure.frag, configure.in,
12723         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
12724         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
12725         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
12726         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
12727         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
12728         emit-rtl.c, errors.c, errors.h, except.c, except.h,
12729         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
12730         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
12731         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
12732         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
12733         gencheck.c, gencodes.c, genconfig.c, genemit.c,
12734         genextract.c, genflags.c, gengenrtl.c, genmultilib,
12735         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
12736         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
12737         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
12738         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
12739         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
12740         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
12741         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
12742         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
12743         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
12744         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
12745         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
12746         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
12747         params.h, predict.c, predict.def, predict.h, prefix.c,
12748         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
12749         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
12750         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
12751         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
12752         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
12753         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
12754         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
12755         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
12756         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
12757         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
12758         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
12759         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
12760         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
12761         xcoffout.h: replace "GNU CC" with "GCC".
12762
12763 2001-08-21  Richard Henderson  <rth@redhat.com>
12764
12765         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
12766         (final_scan_insn): Consider jump tables data even if we have no
12767         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
12768         ADDR_VEC_ALIGN.
12769         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
12770         (ASM_OUTPUT_CASE_END): Remove.
12771         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
12772         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
12773         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
12774
12775 2001-08-21  Richard Henderson  <rth@redhat.com>
12776
12777         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
12778         at barrier insns.  Emit stop bits before barriers.
12779
12780         * flow.c (flow_find_cross_jump): Don't consider unconditional
12781         return insns for commoning.
12782
12783         * final.c (compute_alignments): Fix typo.
12784
12785         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
12786         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
12787         (store_bit_field): Use mode_for_extraction more places.
12788         (extract_bit_field): Likewise.
12789
12790 2001-08-21  Zack Weinberg  <zackw@panix.com>
12791
12792         * caller-save.c: Don't include insn-codes.h.
12793         (reg_save_code, reg_restore_code): Make arrays of int.
12794         All uses updated to match.
12795         (insert_save, insert_restore): No need to initialize "code"
12796         variable upon declaration.
12797         * Makefile.in: update dependencies; fix typo in clean rule.
12798
12799 2001-08-21  Richard Henderson  <rth@redhat.com>
12800
12801         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
12802         (merge_if_block): Handle fallout from same.
12803
12804 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12805
12806         * builtins.c (type_to_class): Fix typo in last change.
12807
12808 2001-08-21  Richard Henderson  <rth@redhat.com>
12809
12810         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
12811         ia64_asm_output_label.
12812
12813         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
12814         copy of gp while the real gp register contains garbage.
12815
12816 2001-08-21  Zack Weinberg  <zackw@panix.com>
12817
12818         * expmed.c (mode_for_extraction): New function.
12819         (store_bit_field, extract_bit_field): Use it.
12820         * expr.h: Prototype it and provide an enum for its first argument.
12821
12822         * combine.c, function.c, recog.c: Don't include insn-codes.h.
12823         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
12824         and digging through the insn_data tables.
12825         * Makefile.in: Update dependencies.
12826
12827 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12828
12829         * cppfiles.c (stack_include_file): line-map.c now handles include
12830         depth.
12831         (handle_missing_handler): Similarly.
12832         (_cpp_execute_include): Similarly.
12833         (_cpp_pop_file_buffer): Similarly.
12834         * cpphash.h (struct cpp_reader): Remove system_include_depth,
12835         buffer_stack_depth and include_depth.
12836         * cpplib.c (do_include_common): line-map.c now handles include depth.
12837         (cpp_push_buffer): Similarly.
12838         (_cpp_pop_buffer): Similarly.
12839         * cppmacro.c (builtin_macro): Update.
12840         * line-map.c (init_line_maps): Set depth.
12841         (add_line_map): Increment "used" earlier.  Update and use the
12842         include depth.
12843         (trace_include): Use the include depth.
12844         * line-map.h (struct line_maps): New member depth.
12845
12846 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12847
12848         * cppfiles.c (stack_include_file): Don't handle -H here.
12849         * cppinit.c (cpp_start_read): Set include tracing after
12850         cpp_post_options and after stacking the main file.
12851         * line-map.c (trace_include): New.
12852         (init_line_maps, add_line_map): Update.
12853         * line-map.h (struct line_maps): New member trace_includes.
12854
12855 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12856
12857         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
12858         * cppfiles.c (stack_include_file): Only stack a file if there
12859         is something to do.  Return a boolean indicating whether a
12860         buffer was stacked or not.
12861         (_cpp_execute_include): Similarly.
12862         (_cpp_read_file): Similarly.
12863         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
12864
12865 2001-08-21  Sam Steingold  <sds@gnu.org>
12866
12867         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
12868         (RECACHE): keep obufp_before_macroname up to date
12869
12870 2001-08-21  Zack Weinberg  <zackw@panix.com>
12871
12872         * stmt.c: Don't include insn-codes.h.
12873         (expand_end_case): Machine specific logic moved to expr.c.
12874         No need to worry about __builtin_classify_type.
12875         (check_for_full_enumeration_handling, emit_case_nodes):
12876         Kill #if 0 blocks.
12877
12878         * builtins.o (expand_builtin_classify_type): Split up so code
12879         can be shared with fold_builtin_classify_type.
12880         (type_to_class, fold_builtin_classify_type): New functions.
12881         (fold_builtins): Handle __builtin_classify_type.
12882
12883         * expr.c (do_tablejump): Now static.
12884         (case_values_threshold, try_casesi, try_tablejump): New;
12885         code mostly from stmt.c (expand_end_case).
12886         (expr.h): Update prototypes.
12887
12888         * Makefile.in (stmt.o): Update dependencies.
12889
12890 2001-08-21  Will Cohen  <wcohen@redhat.com>
12891
12892         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
12893         declaration of variable i.
12894         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
12895         declaration of variable i.
12896
12897 2001-08-21  Richard Henderson  <rth@redhat.com>
12898
12899         * crtstuff.c: Fix thinko last change.  Move list tails to start
12900         of CRT_END section.  Tidy ifdefs.
12901         (__EH_FRAME_BEGIN__): Always static for ELF.
12902         (__do_global_ctors_1): Rename from __frame_dummy.
12903         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
12904         name change; don't hide __EH_FRAME_BEGIN__.
12905
12906 2001-08-21  Richard Henderson  <rth@redhat.com>
12907
12908         * gdbinit.in: Move break on exit after break on fancy_abort.
12909
12910         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
12911         sized types.
12912
12913 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12914
12915         * cpphash.h (_cpp_push_next_buffer): New.
12916         * cppinit.c (do_includes): Remove.
12917         (push_include, free_chain, _cpp_push_next_buffer): New.
12918         (cpp_start_read): Use them to rework command line option handling.
12919         (cpp_handle_option): Combine handling of -include and -imacros.
12920         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
12921         appropriate.  Always insert missing \n at EOF.
12922         * cpplib.c (start_directive): Get the directive position right.
12923         * cppmain.c (cb_file_change): Always print the first line, unless
12924         preprocessed.
12925
12926 2001-08-20  Andreas Jaeger  <aj@suse.de>
12927
12928         * profile.c (compute_branch_probabilities): Remove extra new-line
12929         in error message.
12930         * flow.c (verify_flow_info): Likewise.
12931
12932 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12933
12934         * basic-block.h (basic_block): Add new field 'flags'.
12935         (BB_REACHABLE): Define.
12936         (expunge_block): Declare.
12937         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
12938         (EXIT_BLOCK_PTR): Ditto.
12939         (expunge_block): Remove static declaration.
12940         (cleanup_cfg): Clear bb->aux on every basic block.
12941         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
12942         computing reachability.
12943         (delete_unreachable_blocks): Delete block b if b->flags has
12944         BB_REACHABLE unset.
12945
12946 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12947
12948         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
12949
12950 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12951
12952         * sparc.c (sparc_variable_issue): Fix typo in last change.
12953
12954 2001-08-20  Richard Henderson  <rth@redhat.com>
12955
12956         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
12957
12958 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12959
12960         * pa.h (RETURN_IN_MEMORY): Improve comment.
12961
12962 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
12963
12964         * doc/invoke.texi (Profiling options): Clarify the interactions
12965         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
12966
12967 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
12968
12969         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
12970         command.
12971
12972 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12973
12974         * gcc.c (make_relative_prefix): Allocate a sufficiently large
12975         buffer.
12976
12977 2001-08-20  Richard Henderson  <rth@redhat.com>
12978
12979         * final.c (end_final): Fix typo last change.
12980
12981 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
12982
12983         * cppinit.c (init_standard_includes): The returned buffer
12984         is already malloc-ed.
12985         * gcc.c (add_prefix): Similarly.
12986         * prefix.c (translate_name): Update to support clear buffer
12987         ownership rules.
12988         (update_path): Similarly.  Be sure to free any newly allocated
12989         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
12990         (tr): New function.
12991         * prefix.h (update_path): Update prototype and document.
12992         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
12993         up and update to new buffer ownership rules.
12994         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
12995
12996 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
12997
12998         * final.c (compute_alignments): New function.
12999         (init_insn_lengths): Do not care label_align.
13000         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
13001         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
13002         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
13003         (shorted_branches): Realloc label_align array; do
13004         not call init_insn_lengths; Do not care about loop alignments.
13005         * output.h (compute_alignments): Declare.
13006         * toplev.c (rest_of_compilation): Call compute_alignments.
13007         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
13008
13009         * predict.c (block_info_def): Add npredecesors, remove nvisited;
13010         change visited to tovisit.
13011         (propagate_freq): Use faster traversing algorithm.
13012         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
13013         to tovisit; reverse meaning.
13014
13015         * predict.c (struct block_info_def): Remove nvisited.
13016         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13017         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13018
13019 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
13020
13021         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
13022         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
13023         (TARGET_FUSED_MADD): New.
13024         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
13025         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
13026         the multiply-add instructions.
13027
13028 2001-08-19  Richard Henderson  <rth@redhat.com>
13029
13030         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
13031         is aligned to pointer size.
13032
13033 2001-08-19  Richard Henderson  <rth@redhat.com>
13034
13035         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
13036         display markers during final schedule.
13037
13038 2001-08-19  Richard Henderson  <rth@redhat.com>
13039
13040         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
13041
13042 2001-08-19  Richard Henderson  <rth@redhat.com>
13043
13044         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
13045         in the same string.
13046         (ASM_NAME_TO_STRING): Remove.
13047         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
13048         in the same string.  Remove support for expressions.
13049
13050 2001-08-19  Richard Henderson  <rth@redhat.com>
13051
13052         * config/i386/i386.md (tablejump): Make an expander; handle
13053         pic relative addressing here.
13054         (tablejump_1): Rename from tablejump_pic.
13055         (casesi): Remove.
13056
13057 2001-08-19  Richard Henderson  <rth@redhat.com>
13058
13059         * regclass.c (fix_register): Fix typo.
13060
13061 2001-08-18  Richard Henderson  <rth@redhat.com>
13062
13063         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13064         (struct _Unwind_Context): Expand br_loc to hold it.
13065         (uw_frame_state_for): Handle leaf functions better.
13066         (uw_update_reg_address): Update for br_loc change.
13067
13068 2001-08-18  Richard Henderson  <rth@redhat.com>
13069
13070         * crtstuff.c: Move list heads before code that uses them.
13071         (__JCR_LIST__): Remove initial null.
13072         (frame_dummy, __frame_dummy): Do java registration here ...
13073         (__do_global_ctors_aux): ... not here.
13074
13075         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13076         (__do_global_dtors_aux): Update to match.
13077         (__JCR_LIST__, __do_jv_register_classes): New.
13078         (.init): Call it.
13079         * config/ia64/crtend.asm (__JCR_END__): New.
13080         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13081         instead of an indirect LTOFF22 reloc.
13082
13083 2001-08-18  Richard Henderson  <rth@redhat.com>
13084
13085         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13086         * regclass.c (init_reg_sets_1): Fix typo.
13087         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13088         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13089         (ia64_compute_frame_size): Make ar.unat live when in use.
13090         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13091         for ar.pfs; remove ar.unat handling.
13092         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
13093         call-saved.
13094         (PREDICATE_CODES): Add ar_pfs_reg_operand.
13095         * config/ia64/ia64-protos.h: Update decls.
13096         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13097         (sibcall_pic): Likewise.
13098
13099 2001-08-18  Richard Henderson  <rth@redhat.com>
13100
13101         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13102         pred_rel_mutex when searching for insn_group_barrier.
13103         * config/ia64/ia64.md (cycle_display): Combine the expander
13104         and insn patterns.
13105
13106         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13107         bit before asm as needed.
13108
13109 2001-08-18  Richard Henderson  <rth@redhat.com>
13110
13111         * timevar.def (TV_MACH_DEP): New.
13112         * toplev.c (rest_of_compilation): Use it.
13113         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13114
13115 2001-08-18  Zack Weinberg  <zackw@panix.com>
13116
13117         * unwind-dw2.c (execute_stack_op): Add default aborts to
13118         the inner switches to prevent warnings.
13119
13120 2001-08-18  Richard Henderson  <rth@redhat.com>
13121
13122         * timevar.h (struct timevar_time_def): Change element type to float.
13123         (ticks_to_msec, clocks_to_msec): Likewise.
13124         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13125         (get_time): Likewise.
13126         (timevar_print): Adjust zero check and printing to match.
13127
13128 2001-08-18  Zack Weinberg  <zackw@panix.com>
13129
13130         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13131         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13132         Eliminate overfull or underfull hboxes.
13133
13134 2001-08-18  Zack Weinberg  <zackw@panix.com>
13135
13136         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13137
13138 2001-08-18  Zack Weinberg  <zackw@panix.com>
13139
13140         * haifa-sched.c: Convert to target hooks.  Macros replaced
13141         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13142         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13143         MD_SCHED_FINISH, and HAVE_cycle_display.
13144         * target-def.h (TARGET_SCHED_ADJUST_COST,
13145         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13146         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13147         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13148         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13149         New hook #defines to be overridden.
13150         (TARGET_SCHED): Bring them all together.
13151         (TARGET_INITIALIZER): Update.
13152         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13153         instead of 'struct rtx_def *' throughout.
13154         (struct sched): New set of hooks for the scheduler.
13155         * Makefile.in (haifa-sched.o): Depend on target.h.
13156         * doc/tm.texi: Document the new scheduler hooks, together in
13157         their own section, instead of scattered around.
13158         Fix a bunch of underfull/overfull hboxes.
13159
13160         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13161         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13162         sparc.h: Don't define any of the old scheduler macros.
13163
13164         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13165         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13166         sparc.c: Create hook functions from code extracted from
13167         corresponding target header, or make existing hooks static, as
13168         appropriate.  Set the appropriate entries in targetm.
13169
13170         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13171         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13172         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13173         Remove prototypes for functions which are now static.
13174
13175         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13176         related gunk; the Haifa scheduler is now the only choice.
13177
13178 2001-08-18  Zack Weinberg  <zackw@panix.com>
13179
13180         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13181         * genopinit.c: Put floating point divide insns in sdiv_optab.
13182         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13183         * config/gofast.h, config/c4x/c4x.h,
13184         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13185         config/pa/long_double.h, config/rs6000/sysv4.h,
13186         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13187         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13188         (init_optabs): Use init_optabv for overflow-trapping optabs.
13189         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13190         cmp_optab RTX codes so have_insn_for can find them.
13191
13192         * optabs.c (expand_simple_binop, expand_simple_unop,
13193         have_insn_for, gen_sub3_insn): New interfaces.
13194         * expr.h: Prototype new functions.
13195         (enum optab_methods): Move here from optabs.h.
13196
13197         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13198         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13199         Use new functions instead of working directly with optabs.
13200         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13201         unroll.c: Don't include optabs.h.
13202         * caller-save.c, combine.c, function.c, stmt.c: Just include
13203         insn-codes.h, not optabs.h.
13204         * Makefile.in: Update dependencies.
13205
13206         * combine.c (make_compound_operation, simplify_comparison):
13207         Fix typos testing for this or that instruction.
13208
13209 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13210
13211         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13212         generating libgcc.a.
13213
13214 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13215
13216         * except.c (TYPE_HASH): Delete.
13217
13218         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13219         HOST_WIDE_INT.
13220
13221         * tree.c (TYPE_HASH): Delete.
13222
13223         * tree.h (TYPE_HASH): Define.
13224
13225 2001-08-18  Graham Stott  <grahams@redhat.com>
13226
13227         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13228         define_split.
13229         (adddi3_internal_2+2): Likewise.
13230         (eh_set_lr_di+1): Likewise.
13231
13232 2001-08-17  Richard Henderson  <rth@redhat.com>
13233
13234         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13235         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13236         * dwarf2asm.c: ... here.
13237         * dwarfout.c: Remove them.
13238
13239         * varasm.c (assemble_integer): Add align parameter.
13240         (assemble_real, output_constant, output_constructor): Likewise.
13241         * output.h: Update decls.
13242         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13243         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13244         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13245         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13246         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13247         Update all callers.
13248
13249         * final.c (end_final): Abort profile block generation if we
13250         haven't layed it out properly.
13251         * output.h (assemble_eh_integer): Remove stale decl.
13252         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13253         (min_align): New.
13254         (assemble_integer): Handle unaligned data.
13255         (assemble_real): Abort on unaligned data.
13256         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13257         anything useful.
13258         (default_dtor_section_asm_out_destructor): Use assemble_align.
13259         (default_named_section_asm_out_constructor): Likewise.
13260         (default_ctor_section_asm_out_constructor): Likewise.
13261         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13262         (machopic_asm_out_destructor): Likewise.
13263         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13264         (nextstep_asm_out_destructor): Likewise.
13265         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13266         (vms_asm_out_destructor): Likewise.
13267
13268 2001-08-17  Richard Henderson  <rth@redhat.com>
13269
13270         * config/mips/iris6.h (TARGET_IRIX6): New.
13271         (current_section_name, current_section_flags): New.
13272         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13273         (MAX_OFILE_ALIGNMENT): New.
13274         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13275         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13276         (copy_file_data): Split out from
13277         (mips_asm_file_end): ... here.
13278         (mips_asm_file_start): Remove extra .section directive.  Use
13279         tmpfile instead of mips_make_temp_file.
13280         (mips_unique_section): Use const char * as needed for warnings.
13281         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13282         re-add align parameter.
13283         (iris6_asm_named_section): New.
13284         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13285         (iris6_asm_output_align, iris6_section_align_1): New.
13286         (iris6_asm_file_start, iris6_asm_file_end): New.
13287         * config/mips/mips-protos.h: Update decls.
13288
13289 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13290
13291         * doc/install.texi (Install GCC): Add links to build status pages.
13292         (Specific): Ditto.
13293         (Final install): Ditto; request updates for specific info
13294
13295 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13296
13297         * cpperror.c (print_location):  Don't take a file name; use the
13298         line map instead.
13299         (_cpp_begin_message): Similarly.
13300         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13301         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13302         (cpp_pedwarn_with_file_and_line): Remove.
13303         * cppfiles.c (stack_include_file): Update; set filename to stdin
13304         here when appropriate.
13305         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13306         (_cpp_begin_message): Don't take a file name.
13307         * cppinit.c: Add comment.
13308         * cpplex.c: Fix end-of-directive indicator.
13309         * cpplib.c: Don't include intl.h.
13310         (run_directive, do_diagnostic): Update.
13311         (do_line): Update to not use nominal_fname.
13312         (cpp_push_buffer): Don't take a filename.
13313         * cpplib.h (struct ht): Remove.
13314         (cpp_push_buffer): Don't take a filename.
13315         (cpp_pedwarn_with_file_and_line): Remove.
13316         * cppmacro.c (struct cpp_macro): Remove file.
13317         (builtin_macro): Update.
13318         (_cpp_create_definition): Update.
13319         * cppmain.c: Correct comment.
13320         * fix-header.c (read_scan_file): Update.
13321
13322 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13323
13324         * sbitmap.c: Fix comment formatting.
13325         * sched-deps.c: Likewise.
13326         * sibcall.c: Likewise.
13327         * simplify-rtx.c: Likewise.
13328         * ssa.c: Likewise.
13329         * ssa-ccp.c: Likewise.
13330         * stor-layout.c: Likewise.
13331         * timevar.c: Likewise.
13332         * toplev.c: Likewise.
13333         * unwind-dw2.c: Likewise.
13334         * unwind-dw2-fde.c: Likewise.
13335         * varasm.c: Likewise.
13336
13337 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13338
13339         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13340         or larger than an integer in memory.
13341
13342 2001-08-17  Zack Weinberg  <zackw@panix.com>
13343
13344         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13345         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13346         * rtl.h: Don't forward-declare union tree_node here.  Don't
13347         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13348         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13349         and tree respectively.
13350         * tree.h: Don't forward-declare struct rtx_def here.  Don't
13351         typedef tree here.  Change all uses of struct rtx_def *,
13352         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13353         and tree respectively.
13354
13355 2001-08-17  Richard Henderson  <rth@redhat.com>
13356
13357         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
13358         config/mips/openbsd.h: Fix typos last change.
13359
13360 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13361
13362         * doc/invoke.texi (Optimize Options): The default for
13363         -finline-limit is 600.
13364
13365 2001-08-17  Richard Henderson  <rth@redhat.com>
13366
13367         * varasm.c (text_section): Allow TEXT_SECTION to override the
13368         printing of TEXT_SECTION_ASM_OP.
13369         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
13370         (DATA_SECTION, BSS_SECTION): Remove.
13371         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
13372         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
13373         Rename from s/_NAME//.
13374         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
13375         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
13376         (TEXT_SECTION): ... here.  New.
13377         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
13378         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
13379         * config/mips/openbsd.h: Likewise.
13380         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
13381         (mips_asm_file_end): Likewise test.
13382         (mips_output_function_epilogue): Likewise.  Switch back to data
13383         section after emitting the function.
13384
13385         * doc/tm.texi (Sections): Document TEXT_SECTION.
13386
13387 2001-08-17  Richard Henderson  <rth@redhat.com>
13388
13389         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
13390         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
13391
13392 2001-08-17  Richard Henderson  <rth@redhat.com>
13393
13394         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
13395         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
13396         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
13397         Add aligned attribute.
13398
13399 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
13400
13401         * config/sh/sh.md: Add modes to unspecs in first insn to match
13402         those in the second.
13403
13404         * Makefile.in: Fix collect2 copy for Cygwin.
13405
13406 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13407
13408         Install the proper patch.
13409         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13410         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13411         (expand_function_start): Likewise.
13412         * stmt.c (expand_decl): Likewise.
13413         * varasm.c (make_decl_rtx): Likewise.
13414
13415 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13416
13417         * final.c: Undo my previous accidental checkin.
13418         * output.h: Likewise.
13419         * tm.texi: Likewise.
13420
13421 2001-08-16  Richard Henderson  <rth@redhat.com>
13422
13423         * varasm.c (named_section_flags): Remove align parameter.
13424         * varasm.c, dwarf2out.c: Update all callers.
13425         * output.h: Update prototypes.
13426
13427         * target.h (target.asm_out.named_section): Remove align parameter.
13428         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
13429         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
13430         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
13431         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
13432         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
13433
13434         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
13435         (get_named_section_flags, set_named_section_flags): New.
13436         (named_section_flags): Use them.
13437         (named_section): Do decl vs section flags check here...
13438         (default_section_type_flags): ... not here.
13439         (init_varasm_once): Create in_named_htab.
13440         (resolve_unique_section): Mark reloc unused.
13441
13442 2001-08-16  Richard Henderson  <rth@redhat.com>
13443
13444         * varasm.c (force_const_mem): Keep pool alignment in bits.
13445         (output_constant_pool): Use assemble_align.
13446
13447 2001-08-16  Zack Weinberg  <zackw@panix.com>
13448
13449         * doc/tm.texi: Remove extra @table command.
13450
13451 2001-08-16  Zack Weinberg  <zackw@panix.com>
13452
13453         * final.c (shorten_branches): Clear the end of the label_align
13454         array only if we made it larger.  Break up messy expressions
13455         for clarity.
13456
13457         * diagnostic.c (internal_error): Check for error recursion
13458         before doing ICE suppression.
13459
13460         * timevar.c: Timing variables now count in milliseconds.
13461         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
13462         (get_time): Not here.
13463         (timevar_print): Don't print any timer whose user, cpu, and
13464         wall times are all zero as displayed.
13465         * timevar.h: Update comment aboout units.  Make timevar
13466         counters unsigned.
13467
13468 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13469
13470         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13471         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13472         (expand_function_start): Likewise.
13473         * stmt.c (expand_decl): Likewise.
13474         * varasm.c (make_decl_rtx): Likewise.
13475
13476 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
13477
13478         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
13479         (finalize_record_size): Don't set TYPE_USER_ALIGN.
13480
13481 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13482
13483         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
13484         variables.
13485
13486 2001-08-16  Andreas Jaeger  <aj@suse.de>
13487
13488         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
13489         prototype.
13490
13491 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
13492
13493         * rtl.h (only_sets_cc0_p): New prototype.
13494         * jump.c (sets_cc0_p): Handle INSN.
13495         (only_sets_cc0_p): New function.
13496         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
13497         (tidy_fallthru_edge): Likewise.
13498         * integrate.c (copy_insn_list): Likewise.
13499         * unroll.c (unroll_loop): Likewise.
13500         (copy_loop_body): Likewise.
13501
13502 2001-08-15  Jason Eckhardt  <jle@redhat.com>
13503
13504         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
13505
13506 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13507
13508         * predict.c (struct block_info_def): Remove nvisited.
13509         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13510         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13511
13512         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
13513         (ix86_adjust_cost): Teach scheduler that latency to load operand can
13514         be masked.
13515
13516 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
13517
13518         * predict.def: Update hitrates.
13519
13520 2001-08-15  Richard Henderson  <rth@redhat.com>
13521
13522         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
13523
13524 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
13525
13526         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
13527         note from its associated jump.
13528
13529 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13530
13531         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
13532         also on 64-bit s390x targets.
13533
13534 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
13535
13536         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
13537         function.
13538         (arm_expand_prologue): Handled nested functions which take a
13539         variable argument list.
13540         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
13541         macro with an invocation of
13542         arm_compute_initial_elimination_offset.
13543         * config/arm/arm-protos.h: Prototype
13544         arm_compute_initial_elimination_offset.
13545
13546 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13547
13548         * doc/install.texi (Specific, avr): Fix markup.
13549         (Specific, c4x): Ditto.
13550
13551 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13552
13553         * predict.c (dump_prediction): Change `bool' parameter to `int'.
13554
13555 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
13556
13557         * Makefile.in (OBJS): Add rtl-error.o
13558         (rtl-error.o): New rule.
13559         (diagnostic.o): Adjust dependency.
13560         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
13561         error_for_asm, _fatal_insn, _fatal_insn_not_found,
13562         warning_for_asm): Move to...
13563         rtl-error.c: ...here.  New file.
13564
13565 2001-08-14  Richard Henderson  <rth@redhat.com>
13566
13567         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
13568         if USING_SJLJ_EXCEPTIONS.
13569
13570 2001-08-14  Steve Ellcey <sje@cup.hp.com>
13571
13572         * tlink.c (scan_linker_output): Check string for unsatisfied in
13573         addition to undefined and unresolved.
13574
13575 2001-08-14  Graham Stott  <grahams@redhat.com>
13576
13577         * libgcc2.c (*): Replace EH_FRAME_SECTION with
13578         EH_FRAME_SECTION_NAME.
13579
13580 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
13581
13582         * genattrtab.c (simplify_test_exp_in_temp): New function.
13583         (simplify_test_exp): Avoid explicit use of temporary obstack.
13584         (simplify_cond, insert_right_side, evaluate_eq_attr,
13585         simplify_and_tree, simplify_or_tree, eliminate_known_true):
13586         Use simplify_test_exp_in_temp.
13587         (optimize_attrs): Iterate until expression stabilizes.
13588
13589 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
13590
13591         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
13592         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
13593
13594 2001-08-13  Richard Henderson  <rth@redhat.com>
13595
13596         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
13597         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
13598         * config/arm/conix-elf.h: Likewise.
13599
13600 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13601
13602         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
13603         in gcc.c.
13604         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13605
13606         * gcse.c (hash_scan_set): Expressions that are set as part of
13607         jump instructions are not available.
13608
13609 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13610
13611         * config/s390/s390.c (print_operand, s390_function_prologue,
13612         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
13613
13614 2001-08-13  Richard Henderson  <rth@redhat.com>
13615
13616         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
13617         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
13618         * doc/tm.texi (Exception Region Output): Document it.
13619
13620 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13621
13622         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
13623         DWARF2 instead of stabs by default.
13624
13625 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13626
13627         * config/rs6000/rs6000.c: Include optabs.h.
13628
13629 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13630
13631         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
13632         save/restore routines.
13633         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
13634
13635 2001-08-13  Andreas Jaeger  <aj@suse.de>
13636
13637         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
13638         the english is correct.
13639
13640 2001-08-13  Zack Weinberg  <zackw@panix.com>
13641
13642         * expr.h: Split out optab- and libfunc-related code to...
13643         * optabs.h, libfuncs.h: ... these new headers.
13644
13645         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
13646         (OPTABS_H): New.
13647         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
13648         dependencies.
13649         * mkconfig.sh: Don't include insn-codes.h from config.h.
13650
13651         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
13652         enum insn_code is available.  Move reload_in_optab and
13653         reload_out_optab array declarations to optabs.h.
13654         * regmove.c (gen_add3_insn): Move to optabs.c, export from
13655         there, prototype in expr.h.
13656         * gencodes.c: Cleanup: zap global variables, don't use
13657         printf where puts will do, don't bother defining MAX_INSN_CODE
13658         which nothing uses, let CODE_FOR_nothing get its value implicitly.
13659
13660         * genemit.c, genopinit.c: Include optabs.h in generated file.
13661         * genoutput.c: Include insn-codes.h in generated file.
13662         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
13663         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
13664         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
13665         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
13666         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
13667         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
13668         Include optabs.h.
13669         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
13670         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
13671         config/m88k/m88k.c, config/sparc/sparc.c:
13672         Include libfuncs.h.
13673         * reload.c: Include expr.h and optabs.h before reload.h.
13674         * config/alpha/alpha.c: Include tree.h before reload.h.
13675         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
13676         and reload.h in that order.
13677         * config/sparc/sparc.c: Include debug.h.
13678         * recog.c: Include insn-codes.h.
13679
13680 2001-08-13  Andreas Jaeger  <aj@suse.de>
13681
13682         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
13683         s390*linux.
13684
13685 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
13686
13687         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
13688         * gcc.c (init_spec): Fix typo in comment.
13689         * varasm.c (data_section): Fix typo in comment.
13690
13691 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
13692
13693         * predict.c (dump_prediction): New argument "USED".
13694         (combine_predictions_for_insn): Determine the used heuristics,
13695         output the case no heuristic applied.
13696         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
13697
13698 2001-08-13  Andreas Jaeger  <aj@suse.de>
13699
13700         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
13701         register %rip.
13702
13703 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13704
13705         * jump.c: Fix formatting.
13706
13707 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13708
13709         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
13710         length.
13711
13712 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
13713
13714         * loop.c (check_dbra_loop): Use condjump_label to compute
13715         jump_label.
13716
13717         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
13718         to better document the files they're in.
13719
13720 2001-08-12  Zack Weinberg  <zackw@panix.com>
13721
13722         * recog.h (struct insn_operand_data): Shrink 'mode' field
13723         to 16 bits.
13724
13725 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13726
13727         * gcc.c: Fix comment formatting.
13728         * gccspec.c: Likewise.
13729         * gcov.c: Likewise.
13730         * gcse.c: Likewise.
13731         * genemit.c: Likewise.
13732         * gengenrtl.c: Likewise.
13733         * genrecog.c: Likewise.
13734         * gensupport.c: Likewise.
13735         * ggc-page.c: Likewise.
13736         * global.c: Likewise.
13737         * graph.c: Likewise.
13738         * ifcvt.c: Likewise.
13739         * integrate.c: Likewise.
13740         * lcm.c: Likewise.
13741         * libgcc2.c: Likewise.
13742         * loop.c: Likewise.
13743         * mbchar.c: Likewise.
13744         * optabs.c: Likewise.
13745         * predict.c: Likewise.
13746         * prefix.c: Likewise.
13747         * profile.c: Likewise.
13748         * protoize.c: Likewise.
13749         * real.c: Likewise.
13750         * recog.c: Likewise.
13751         * regclass.c: Likewise.
13752         * regmove.c: Likewise.
13753         * reg-stack.c: Likewise.
13754         * reload1.c: Likewise.
13755         * resource.c: Likewise.
13756         * rtlanal.c: Likewise.
13757         * rtl.c: Likewise.
13758
13759 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13760
13761         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
13762         a tree representing a constant is passed to the macro.
13763
13764 2001-08-12  Richard Henderson  <rth@redhat.com>
13765
13766         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
13767         (rs6000_elf_asm_out_destructor): New.
13768         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
13769         (DTORS_SECTION_ASM_OP): Remove.
13770         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13771         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
13772
13773 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
13774
13775         Revert:
13776         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13777         * gcc.c (set_collect_gcc_options): New function, split out from
13778         main.
13779         Ignore elided switches.
13780         (do_spec_1): Invoke before executing command.
13781         (set_input): Export.
13782         Move declaration ...
13783         * gcc.h (set_input): ... here.
13784         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13785         file.
13786
13787 2001-08-12  Richard Henderson  <rth@redhat.com>
13788
13789         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
13790         thinko wrt TARGET_RELOCATABLE.
13791
13792 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13793
13794         * fix-header.c (cb_file_change): Update prototype.
13795
13796 2001-08-11  Zack Weinberg  <zackw@panix.com>
13797
13798         * toplev.c (set_float_handler): Make static.
13799         * toplev.h: Don't prototype set_float_handler.
13800
13801         * simplify-rtx.c: Don't include setjmp.h.
13802         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
13803         New functions.
13804         (simplify_unary_operation, simplify_binary_operation): Use them,
13805         via do_float_handler.
13806
13807         * fold-const.c: Don't include setjmp.h.
13808         (exact_real_inverse_1): New function.
13809         (exact_real_inverse): Use it, via do_float_handler.
13810
13811         * varasm.c: Don't include setjmp.h.
13812         (assemble_real_1): New function.
13813         (assemble_real): Use it, via do_float_handler.
13814         Call internal_error if we get a trap here.
13815
13816         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
13817         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
13818
13819 2001-08-11  Zack Weinberg  <zackw@panix.com>
13820
13821         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
13822         STACK_BOUNDARY if not already defined.
13823
13824         * calls.c, function.c, reload1.c, explow.c: Don't default
13825         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
13826         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
13827
13828         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
13829         to run-time test.
13830
13831         * doc/tm.texi: Document that STACK_BOUNDARY is required;
13832         clarify difference between it and PREFERRED_STACK_BOUNDARY.
13833
13834 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13835
13836         * cppmacro.c (enter_macro_context): Push macro expansions even
13837         if empty.
13838
13839 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13840
13841         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
13842         (rs6000_elf_section_type_flags): Actually return a value.
13843
13844 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13845
13846         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
13847         Clean up code: add missing comments and prototypes, fix warnings,
13848         remove obsolete code, fix spacing to conform to coding style.
13849
13850 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13851
13852         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
13853         and TARGET_ASM_CLOSE_PAREN.
13854         (regclass_map): CC register belongs to class NO_REGS.
13855         (legitimize_pic_address): Don't generate unnecessary moves
13856         (to avoid confusing loop optimization).
13857         (check_and_change_labels): Replace jump_long by indirect_jump.
13858         (s390_final_chunkify): Don't start a new literal pool on section
13859         switch in 64-bit code.
13860         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
13861
13862         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
13863         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
13864         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
13865         modes correctly.
13866         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
13867         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
13868         (CONST_COSTS): Fixed incorrect costs.
13869
13870         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
13871         Use emit_jump instead of emit_jump_insn (gen_jump).
13872         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
13873         (to avoid confusing flow analysis).
13874         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
13875         (casesi, casesi_jump): New.
13876         (jump_long): Removed.  Functionality merged into indirect_jump.
13877         (indirect_jump): Accept address_operand, not just register_operand.
13878         (cjump_long, icjump_long): Use same logic as indirect_jump.
13879         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
13880         Fixed broken setjmp/longjmp handling.
13881         (do_builtin_setjmp_setup): Removed.
13882
13883         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
13884         broken GNU as versions that don't accept .quad with large
13885         negative values.  Use hexadecimal output instead.
13886         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
13887         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
13888         FUNCTION_EPILOGUE): Removed.  Now in targetm.
13889
13890         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
13891
13892         * config/s390/fixdfdi.h: Add missing copyright statement.
13893         Fix type conflicts on 64-bit.  Add missing SFmode routines.
13894
13895         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
13896         email address.
13897
13898 2001-08-11  Richard Henderson  <rth@redhat.com>
13899
13900         * rtl.h (REG_EH_RETHROW): Remove.
13901         * rtl.c (reg_note_name): Update.
13902         * combine.c (distribute_notes): Don't check for it.
13903
13904 2001-08-11  Richard Henderson  <rth@redhat.com>
13905
13906         * combine.c (distribute_notes): Place REG_SETJMP.
13907
13908 2001-08-11  Richard Henderson  <rth@redhat.com>
13909
13910         * doc/extend.texi (Arrays and pointers implementation): Discourage
13911         relying on sign-extension of pointers.
13912
13913 2001-08-11  H.J. Lu <hjl@gnu.org>
13914
13915         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
13916         in_dtors.
13917         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
13918         RDATA_SECTION_ASM_OP.
13919
13920 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13921
13922         * doc/install.texi (Specific, c4x): Fix cross-reference to the
13923         main manual to work both for info and HTML versions.
13924
13925 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13926             Matt Kraai <kraai@alumni.carnegiemellon.edu>
13927
13928         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
13929         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
13930         (struct cpp_pool): New member first.
13931         * cppinit.c (append_include_chain): Plug memory leaks.
13932         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
13933         Allocate pragma structures from the (aligned) macro pool to
13934         avoid leaking memory.
13935         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
13936         so we don't leak memory.
13937         * hashtable.c (ht_destroy): New.
13938         * hashtable.h (ht_destroy): New.
13939
13940 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13941             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13942
13943         * c-lex.c (map): Make const.
13944         (cb_file_change): Update for callback passing a line map.
13945         Don't assume we have a previous map.  Remove sanity check
13946         about popping too many files.
13947         * cpperror.c (print_location): Make map const.
13948         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
13949         (cpp_make_system_header): Similarly.
13950         (search_from): Similarly.
13951         (_cpp_execute_include): Don't remember where we came from.
13952         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
13953         (struct cpp_reader): Make map const.
13954         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
13955         * cpplib.c (do_line): Update; line maps now hold sysp.
13956         (cpp_push_buffer): Similarly.
13957         (_cpp_do_file_change): Similarly; callback with map instead.
13958         (cpp_get_line_maps): Constify return value.
13959         (_cpp_pop_buffer): Update.
13960         * cpplib.h (struct cpp_file_change): Remove.
13961         (struct cpp_callbacks): Update.
13962         (cpp_get_line_maps): Constify return value.
13963         * cppmacro.c (_cpp_create_definition): Update.
13964         * cppmain.c (struct printer): Constify map.
13965         (maybe_print_line): Similarly.
13966         (print_line): Similarly.  Deduce flags 1 and 2 here.
13967         (cb_file_change): Update.
13968         * line-map.c (free_line_maps): Warn regardless.
13969         (add_line_map): Return pointer to const.  When passed NULL to_file
13970         with LC_LEAVE, use the obvious values for the return point so the
13971         caller doesn't have to figure them out.
13972         (lookup_line): Return pointer to const.
13973         (print_containing_files): Take pointer to const.
13974         * line-map.h (struct line_map): New members reason, sysp.
13975         (add_line_map): Return pointer to const.
13976         (lookup_line): Similarly.
13977         (print_containing_files): Take pointer to const.
13978
13979 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
13980             Richard Henderson  <rth@redhat.com>
13981
13982         * regmove.c (regmove_optimize): Avoid setting a register twice in
13983         a parallel set.
13984
13985 2001-08-10  Richard Henderson  <rth@redhat.com>
13986
13987         * doc/extend.texi (Arrays and pointers implementation): Document
13988         behavior of pointer/integer conversion.
13989
13990 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
13991
13992         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
13993
13994 2001-08-10  Richard Henderson  <rth@redhat.com>
13995
13996         * doc/extend.texi (C Implementation): New chapter.
13997         * doc/gcc.texi (Top): Link it in.
13998
13999 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
14000
14001         * doc/install.texi (Specific): Fix CVS merge botch.
14002
14003 2001-08-10  Richard Henderson  <rth@redhat.com>
14004
14005         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
14006         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
14007
14008 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
14009
14010         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
14011         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
14012         this macro is now required.
14013
14014         * cselib.c (cselib_process_insn), flow.c (propagate_block),
14015         loop.c (find_and_verify_loops), reload.c (reload): Check
14016         for rtx code of CALL_INSN, not CALL, when deciding if we
14017         need to check for REG_SETJMP note.
14018
14019         * gcse.c (compute_hash_table, compute_store_table): Update
14020         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
14021         logic.
14022
14023         * config/avr/avr.c: Fix typo.
14024         * config/convex/convex.c (expand_movstr): Use adjust_address.
14025         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
14026         variable.
14027         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
14028         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
14029         Fix typo.
14030         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
14031         Do define STACK_BOUNDARY.
14032         * config/i370/i370.c: Include expr.h.
14033         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
14034         config/pa/som.h, config/v850/v850.h: Take in_ctors and
14035         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
14036         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
14037         * config/m88k/m88k.c: Include c-tree.h after expr.h.
14038         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
14039         * config/romp/romp.c: Include expr.h after tree.h.
14040         Include toplev.h.
14041         (output_fpop): Use xmalloc, not oballoc.
14042         * config/we32k/we32k.c: Include expr.h.
14043
14044 2001-08-10  Kazu Hirata  <kazu@hxi.com>
14045
14046         * config/h8300/h8300.h: Fix formatting.
14047
14048 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14049
14050         * c-common.h (RETURN_NULLIFIED_P): Lose.
14051         * c-semantics.c (genrtl_return_stmt): Don't check it.
14052
14053 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14054
14055         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
14056         (mips_annotate_frame_insn): New function.
14057         (mips_emit_frame_related_store): New function.
14058         (save_restore_insns): Don't mark instructions that set up the base
14059         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
14060         the store instructions instead.
14061         (mips_expand_prologue): If the stack size is moved into a temporary
14062         register, do not mark that move as frame-related.  Add a
14063         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14064
14065 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14066
14067         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14068         stack slot as unchanging if current_function_calls_eh_return.
14069
14070 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
14071
14072         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
14073         access the second half of the TFmode scratch operand.
14074
14075 2001-08-10  Anthony Green  <green@redhat.com>
14076
14077         * java/class.c (emit_register_classes): Conditionalize code on
14078         JCR_SECTION_NAME.
14079
14080 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14081
14082         * doc/install.texi (Specific, avr): Fix cross-reference to the
14083         main manual to work both for info and HTML versions.
14084
14085 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14086
14087         * stmt.c (expand_null_return_1): Remove code to generate simple returns
14088         and "use_goto" argument.
14089         (expand_null_return, expand_value_return): Update all callers.
14090         * function.c (expand_function_end): Remove code to generate simple
14091         return.
14092         * config/vax/vax.md (epilogue): New expander for function return.
14093         * doc/md.texi (epilogue): Remove "if defined".
14094
14095 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14096
14097         * Makefile.in: Partially revert my previous change:
14098         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14099         of the hashtab.o and safe-ctype.o rules.
14100
14101 2001-08-09  Richard Henderson  <rth@redhat.com>
14102
14103         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14104         (USE_COLLECT2): Remove duplicate definition.
14105         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14106         (use_collect2): Remove dead code.
14107         * configure.in (use_collect2): Remove will_use_collect2 and
14108         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14109         * configure: Rebuild.
14110
14111         * target.h (targetm.asm_out.constructor): New.
14112         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14113         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14114         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14115         * varasm.c (in_ctors, in_dtors): New.
14116         (assemble_constructor, assemble_destructor): Remove.
14117         (default_stabs_asm_out_destructor): New.
14118         (default_named_section_asm_out_destructor): New.
14119         (dtors_section, default_dtor_section_asm_out_destructor): New.
14120         (default_stabs_asm_out_constructor): New.
14121         (default_named_section_asm_out_constructor): New.
14122         (ctors_section, default_ctor_section_asm_out_constructor): New.
14123         * output.h: Update declarations.
14124         * c-decl.c (c_expand_body): Use target hooks instead of
14125         assemble_constructor and assemble_destructor.
14126         * profile.c (output_func_start_profiler): Likewise.
14127         * objc/objc-act.c (finish_objc): Likewise.
14128         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14129         for the constructor.
14130         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14131
14132         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14133         (DTORS_SECTION_ASM_OP): Likewise.
14134         (__CTOR_LIST__): Use attribute section when possible.
14135         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14136
14137         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14138         ASM_OUTPUT_CONSTRUCTOR.
14139
14140         * config/darwin.c (machopic_asm_out_constructor): New.
14141         (machopic_asm_out_destructor): New.
14142         * config/darwin-protos.h: Update declarations.
14143         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14144         (ASM_OUTPUT_DESTRUCTOR): Remove.
14145         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14146         * config/nextstep.c (nextstep_asm_out_constructor): New.
14147         (nextstep_asm_out_destructor): New.
14148         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14149         (ASM_OUTPUT_DESTRUCTOR): Remove.
14150         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14151         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14152         ASM_OUTPUT_*STRUCTOR.
14153         * config/i386/aix386ng.h: Likewise.
14154
14155         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14156         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14157         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14158         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14159         * config/lynx.h: Likewise.
14160         * config/netware.h: Likewise.
14161         * config/psos.h: Likewise.
14162         * config/alpha/alpha-interix.h: Likewise.
14163         * config/alpha/elf.h: Likewise.
14164         * config/arc/arc.h: Likewise.
14165         * config/arm/aof.h: Likewise.
14166         * config/arm/coff.h: Likewise.
14167         * config/arm/elf.h: Likewise.
14168         * config/c4x/c4x.h: Likewise.
14169         * config/h8300/h8300.h: Likewise.
14170         * config/i386/cygwin.h: Likewise.
14171         * config/i386/djgpp.h: Likewise.
14172         * config/i386/i386-coff.h: Likewise.
14173         * config/i386/i386-interix.h: Likewise.
14174         * config/i386/sco5.h: Likewise.
14175         * config/i386/vsta.h: Likewise.
14176         * config/i386/win32.h: Likewise.
14177         * config/i960/i960-coff.h: Likewise.
14178         * config/ia64/sysv4.h: Likewise.
14179         * config/m68hc11/m68hc11.h: Likewise.
14180         * config/m68k/coff.h: Likewise.
14181         * config/m68k/mot3300.h: Likewise.
14182         * config/m88k/m88k.h: Likewise.
14183         * config/mcore/mcore-pe.h: Likewise.
14184         * config/mcore/mcore.h: Likewise.
14185         * config/mips/elf.h: Likewise.
14186         * config/mips/elf64.h: Likewise.
14187         * config/mips/iris6.h: Likewise.
14188         * config/pa/pa64-hpux.h: Likewise.
14189         * config/rs6000/sysv4.h: Likewise.
14190         * config/sh/sh.h: Likewise.
14191         * config/sparc/litecoff.h: Likewise.
14192
14193         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14194         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14195         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14196         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14197         (ASM_OUTPUT_DESTRUCTOR): Remove.
14198         * config/a29k/a29k.c: Move include of tree.h.
14199         * config/a29k/udi.h: Delete file.
14200         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14201         (vms_asm_out_destructor): New.
14202         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14203         (EXTRA_SECTION_FUNCTIONS): Likewise.
14204         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14205         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14206         * config/c4x/c4x.c: Move include of tree.h.
14207         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14208         (clix_asm_out_destructor): New.
14209         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14210         (ASM_OUTPUT_DESTRUCTOR): Remove.
14211         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14212         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14213         (TARGET_ASM_CONSTRUCTOR): New.
14214         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14215         (sco_asm_out_constructor): New.
14216         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14217         * config/i386/svr3gas.h: Remove stack grows up code.
14218         Remove code duplicated from i386/sysv3.h.
14219         (TARGET_ASM_CONSTRUCTOR): New.
14220         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14221         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14222         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14223         (TARGET_ASM_CONSTRUCTOR): New.
14224         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14225         (m68hc11_asm_out_destructor): New.
14226         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14227         (TARGET_ASM_DESTRUCTOR): New.
14228         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14229         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14230         config/svr3.h pertaining to section manipulation.
14231         * config/m68k/dpx2g.h: Remove #if 0 code.
14232         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14233         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14234         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14235         (TARGET_ASM_CONSTRUCTOR): New.
14236         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14237         (m88k_svr3_asm_out_constructor): New.
14238         (m88k_svr3_asm_out_destructor): New.
14239         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14240         (ASM_OUTPUT_DESTRUCTOR): Remove.
14241         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14242         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14243         * config/rs6000/aix.h: Likewise.
14244         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14245         * config/mips/vxworks.h: Likewise.
14246         * config/rs6000/lynx.h: Likewise.
14247         * config/sh/elf.h: Likewise.
14248         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14249         (DTORS_SECTION_ASM_OP): New.
14250         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14251         (ASM_OUTPUT_DESTRUCTOR): Remove.
14252         * config/sparc/sol2-sld-64.h: Likewise.
14253         * config/vax/vax.c (vms_asm_out_constructor): New.
14254         (vms_asm_out_destructor): New.
14255         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14256         (ASM_OUTPUT_DESTRUCTOR): Remove.
14257         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14258
14259         * doc/tm.texi (@node Initialization): Update.
14260
14261 2001-08-09  Richard Henderson  <rth@redhat.com>
14262
14263         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14264         (__do_global_dtors_aux): Use gp-relative static data to avoid
14265         one dynamic relocation.
14266         (__do_frame_setup): Register Java classes.
14267         * config/alpha/crtend.asm (__JCR_END__): New.
14268
14269 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14270
14271         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14272         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14273         (GEN, STAGESTUFF): Add new files.
14274         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14275         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14276         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14277         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14278         as well as insn-codes.h and insn-flags.h in config.h; and no
14279         extra headers in tconfig.h and hconfig.h.
14280
14281         * gencodes.c: Eliminate code to generate predicate declarations
14282         or #defines for md-file constants.
14283         * genconstants.c, genpreds.c: New files.
14284
14285         * i386.md: Re-order guard expressions such that TARGET_64BIT
14286         comes first, when this permits better optimization.  Add
14287         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14288         why this is desirable.
14289
14290 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14291
14292         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14293         (find_fde_for_dso): Remove.
14294         (_Unwind_IteratePhdrCallback): New.
14295         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14296         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14297
14298 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14299
14300         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14301         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14302
14303 2001-08-09  Graham Stott  <grahams@redhat.com>
14304
14305         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14306         (vis_no_unit): Use it.
14307         (visualize_no_unit): Add the insn only if room exists.
14308
14309 2001-08-09  Graham Stott  <grahams@redhat.com>
14310
14311         * predict.c (estimate_probability): Replace magic numbers with
14312         appropriate enumeration.
14313
14314 2001-08-09  Graham Stott  <grahams@redhat.com>
14315
14316         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14317         parameter.
14318         (EXTRACT_FLAGS): Likewise.
14319
14320 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14321
14322         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14323         CONST_INT in last patch.
14324
14325 2001-08-08  Anthony Green  <green@redhat.com>
14326
14327         * java/class.c (emit_register_classes): Use assemble_jcr if
14328         possible.  Keep the original mechanism as a fallback.
14329         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14330         and weak symbol support.
14331         * crtstuff.c (__JCR_LIST__): Define.
14332         (__JCR_END__): Define.
14333         (_Jv_RegiserClasses): Define weak symbol if possible.
14334         (__do_global_ctors_aux): Register classes for ELF targets with
14335         weak symbol support.
14336
14337 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14338
14339         * dbxout.c: Fix comment formatting.
14340         * dependence.c: Likewise.
14341         * df.c: Likewise.
14342         * diagnostic.c: Likewise.
14343         * dominance.c: Likewise.
14344         * doprint.c: Likewise.
14345         * dwarf2out.c: Likewise.
14346         * dwarfout.c: Likewise.
14347         * emit-rtl.c: Likewise.
14348         * except.c: Likewise.
14349         * explow.c: Likewise.
14350         * expmed.c: Likewise.
14351         * expr.c: Likewise.
14352         * flow.c: Likewise.
14353         * fold-const.c: Likewise.
14354         * function.c: Likewise.
14355
14356 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14357
14358         * global.c (retry_global_alloc): Avoid shadowing allocno.
14359
14360 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
14361
14362         * except.c (remove_fixup_regions): Fix typo.
14363
14364 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
14365
14366         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
14367         unsigned HOST_WIDE_INT to avoid warning.
14368         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
14369         * flow.c (set_block_for_new_insns): Likewise.
14370
14371 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
14372
14373         * sibcall.c (return_value_pseudo): New static variable.
14374         (skip_copy_to_return_value): Handle return_value_pseudo.
14375         (call_ends_block_p): Ensure that return_value_pseudo is set.
14376         (optimize_sibling_and_tail_recursive_call): Discover the
14377         load of pseudo return value in alternate exit block.
14378
14379 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14380
14381         * calls.c (ECF_ALWAYS_RETURN): New constant.
14382         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
14383         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
14384         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
14385         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
14386         * rtl.c (reg_note_name): New name.
14387         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
14388
14389 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
14390
14391         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
14392
14393 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14394
14395         * alias.c (get_alias_set): Return a previously calculated
14396         alias set for a VAR_DECL.
14397         * function.c (gen_mem_addressof): Calculate the alias set before
14398         touching the RTL.
14399
14400 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
14401
14402         * predict.def: Set hitrates according our experimental run.
14403
14404 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
14405
14406         * i386.h (HARD_REGNO_RENAME_OK): New macro.
14407
14408 2001-08-08  H.J. Lu <hjl@gnu.org>
14409
14410         * config/mips/mips.c (mips_unique_section): New. Copied from
14411         config/mips/elf.h.
14412
14413         * config/mips/mips-protos.h (mips_unique_section): New
14414         prototype.
14415
14416         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
14417
14418         * config/mips/little.h: New. Generic little endian mips
14419         targets. Only mips*-*-linux* is converted to use it so far.
14420
14421         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
14422         (WCHAR_TYPE): Defined
14423         (WCHAR_TYPE_SIZE): Likewise.
14424         (INIT_SUBTARGET_OPTABS): Likewise.
14425         (BSS_SECTION_ASM_OP): Likewise.
14426         (SBSS_SECTION_ASM_OP): Likewise.
14427         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14428         (ASM_DECLARE_OBJECT_NAME): Likewise.
14429         (UNIQUE_SECTION): Likewise.
14430         (EXTRA_SECTIONS): Likewise.
14431         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
14432         (ASM_OUTPUT_DESTRUCTOR): Likewise.
14433         (ASM_OUTPUT_DEF): Likewise.
14434         (HANDLE_SYSV_PRAGMA): Removed.
14435         (NO_IMPLICIT_EXTERN_C): Likewise.
14436         (TARGET_MEM_FUNCTIONS): Likewise.
14437         (STARTFILE_SPEC): Likewise.
14438         (ENDFILE_SPEC): Likewise.
14439         (LIB_SPEC): Likewise.
14440         (INVOKE__main): Likewise.
14441         (CTOR_LIST_BEGIN): Likewise.
14442         (CTOR_LIST_END): Likewise.
14443         (DTOR_LIST_BEGIN): Likewise.
14444         (DTOR_LIST_END): Likewise.
14445         (SET_ASM_OP): Likewise.
14446         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14447         (ASM_OUTPUT_DEF): Likewise.
14448         (ASM_OUTPUT_IDENT): Likewise.
14449
14450         * config/mips/mips.h (ASM_SPEC): Undefine before define.
14451         (CPLUSPLUS_CPP_SPEC): Likewise.
14452         (ASM_APP_ON) Redefine only if not defined.
14453         (ASM_APP_OFF): Likewise.
14454         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14455         (ASM_OUTPUT_IDENT): Likewise.
14456
14457         * config.gcc: Update tm_file for Linux/mips.
14458
14459 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
14460
14461         * cselib.c (cselib_record_sets): If insn is predicated, turn
14462         sources into IF_THEN_ELSEs.
14463
14464         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
14465         Turn into define_insn_and_split.
14466
14467         * sched-deps.c: Include "cselib.h".
14468         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
14469         Use cselib to turn memory addresses into VALUEs.
14470         (sched_analyze): Call cselib_init/cselib_finish if necessary.
14471         * sched-int.h (struct sched_info): New member USE_CSELIB.
14472         * sched-ebb.c (ebb_sched_info): Initialize it.
14473         * sched-rgn.c (rgn_sched_info): Likewise.
14474         * Makefile.in (sched-deps.o): Update dependencies.
14475
14476         * cselib.h (cselib_subst_to_values): Declare.
14477         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
14478         that have no value and autoincs to be handled by generating a new
14479         dummy value.
14480
14481 2001-08-08  Graham Stott  <grahams@redhat.com>
14482
14483         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
14484         within fixed length SEQUENCE.
14485
14486 2001-08-08  Graham Stott  <grahams@redhat.com>
14487
14488         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
14489         (diagnostic_prefixing_rule): Likewise.
14490         (diagnostic_line_cutoff): Likewise.
14491         (diagnostic_kind_count): Likewise.
14492
14493 2001-08-08  Graham Stott  <grahams@redhat.com>
14494
14495         * alias.c (find_base_decl): Delete redundent assignment.
14496
14497 2001-08-08  Graham Stott  <grahams@redhat.com>
14498
14499         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
14500         (abs): Uppercase and paranthesize macro parameter.
14501         (MEM_DEPENDENCY): Add whitespace.
14502
14503 2001-08-08  Graham Stott  <grahams@redhat.com>
14504
14505         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
14506         failure check for CONST_INT
14507
14508 2001-08-08  Graham Stott  <grahams@redhat.com>
14509
14510         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
14511         (libcall_dead_p): Likewise.
14512
14513         (mark_used_regs): Constify fmt.
14514         (find_use_as_address): Likewise.
14515
14516 2001-08-08  Graham Stott  <grahams@redhat.com>
14517
14518         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
14519          parameter.
14520
14521 2001-08-08  Graham Stott  <grahams@redhat.com>
14522
14523         * combine.c (combine_simplify_rtx): Update comment and
14524         remove erroneous test.
14525
14526 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14527
14528         * cppinit.c (cpp_finish): Pop the final buffer without comment.
14529         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
14530         take care to avoid multiple no-newline at EOF warnings in that
14531         case.
14532
14533 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
14534
14535         * calls.c (expand_call): Do not emit INSN_SETJMP note.
14536         (emit_library_call_value_1): Likewise.
14537         (emit_call_1): Emit REG_SETJMP note.
14538         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
14539         of INSN_SETJMP
14540         * cselib.c (cselib_process_insn): Likewise.
14541         * flow.c (propagate_block): Likewise.
14542         * loop.c (find_and_verify_loops): Likewise.
14543         * reload.c (find_equiv_regs): Likewise.
14544         * reload1.c (reload): Likewise.
14545         * resource.c (mark_referenced_resources,
14546         mark_set_resources): Likewise.
14547         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
14548         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
14549         * haifa-sched.c (unlink_other_notes): Likewise.
14550         (reemit_notes): Likewise.
14551         * sched-ebb.c (sched_ebb): Likewise.
14552         * sched-rgc.c (sched_region): Likewise.
14553         * rtl.c (note_insn_name): Likewise.
14554         (reg_note_name): Add REG_SETJMP
14555         * rtl.h (reg_note): Add REG_SETJMP.
14556         (insn_note): Remove NOTE_INSN_SETJMP.
14557
14558         * profile.c (branch_prob): Add fake edges for setjmp.
14559
14560 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
14561
14562         * config.gcc: Quote target_cpu_default2 correctly for
14563         powerpc*-*-* targets.
14564
14565 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14566
14567         * cpplib.h, line-map.h: Update comments.
14568         * cppmain.c (printer_init): Move inline.
14569         (maybe_print_line, print_line): Take a map pointer.
14570         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
14571         (cb_file_change): Don't use prior value of print.map.
14572
14573 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
14574
14575         * doc/install.texi: Document fine-grained multilib configuration.
14576
14577 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
14578
14579         * rtlanal.c (find_first_parameter_load): Call note_stores
14580         only on the instructions.
14581
14582 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14583
14584         * alias.c (nonlocal_mentioned_p):
14585         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
14586         * calls.c (emit_call_1): Likewise.
14587         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
14588         * cselib.c (cselib_process_insn): Likewise.
14589         * df.c (df_insns_modify): Likewise.
14590         * flow.c (need_fake_edge_p): Likewise.
14591         (propagate_one_insn): Likewise.
14592         * haifa-sched.c (reemit_notes): Likewise.
14593         * integrate.c (copy_insn_list): Likewise.
14594         * jump.c (delete_prior_computation): Likewise.
14595         * local-alloc.c (validate_equiv_mem): Likewise.
14596         * loop.c (scan_loop): Likewise.
14597         * predict.c (estimate_probability): Likewise.
14598         * reload.c (reload): Likewise.
14599         * sched-deps (sched_analyze): Likewise.
14600         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
14601         * gcse.c (compute_hash_table): Likewise.
14602         (mark_call): Likewise.
14603         (store_killed_in_insn): Likewise.
14604
14605 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
14606
14607         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
14608
14609 2001-08-06  Richard Henderson  <rth@redhat.com>
14610
14611         * varasm.c (assemble_gc_entry): Remove.
14612         * output.h: Likewise.
14613
14614 2001-08-06  Richard Henderson  <rth@redhat.com>
14615
14616         * varasm.c (assemble_constructor): Take a symbol_ref and a
14617         priority instead of a bare string.  Move priority handling
14618         here from cp/decl2.c.
14619         * output.h: Update decls.
14620
14621         * c-decl.c (c_expand_body): Update calls to assemble_constructor
14622         and assemble_destructor.
14623         * profile.c (output_func_start_profiler): Likewise.
14624         * objc/objc-act.c (finish_objc): Likewise.
14625         (build_module_descriptor): Return the symbol not the symbol name.
14626
14627 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
14628
14629         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
14630         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
14631         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
14632         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
14633         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
14634         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
14635
14636 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14637
14638         * cpperror.c (print_containing_files): Moved to line-map.c.
14639         (print_location): line-map.c handles re-listing or otherwise.
14640         * cpphash.h (struct lexer_state): Remove next_bol.
14641         (struct cpp_buffer): Remove include_stack_listed.
14642         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
14643         Remove faked buffer handling.
14644         (_cpp_do_file_change): Tweak.
14645         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
14646         * cppmain.c (struct printer): Remove filename.
14647         (print_line, cb_file_change): Update accordingly.
14648         * line-map.c: Include intl.h.
14649         (init_line_maps): Initialize last_listed.
14650         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
14651         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
14652         (print_containing_files): New.
14653         * line-map.h (struct line_maps): New member last_listed.
14654         (print_containing_files, INCLUDED_FROM): New.
14655         * Makefile.in: Update.
14656         * po/POTFILES.in: Add line-map.c.
14657
14658 2001-08-06  Richard Henderson  <rth@redhat.com>
14659
14660         * except.c (convert_from_eh_region_ranges_1): Never mark
14661         USE or CLOBBER insns as throwing.
14662
14663         * expr.c (store_constructor): Don't clobber memory targets.
14664
14665 2001-08-06  Andreas Jaeger  <aj@suse.de>
14666
14667         * profile.c (branch_prob): Remove unused variable insn.
14668
14669         * Makefile.in (local-alloc.o): Add dependency on except.h.
14670
14671         * local-alloc.c: Include except.h for can_throw_internal prototype.
14672
14673 2001-08-06  Richard Henderson  <rth@redhat.com>
14674
14675         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
14676         * function.c (expand_main_function): Implement it.
14677         * doc/tm.texi: Document it.
14678
14679 2001-08-06  Stan Shebs  <shebs@apple.com>
14680
14681         * doc/install.texi: Document powerpc-*-darwin* details.
14682
14683 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
14684
14685         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
14686         (ASM_CPU_SPEC): Move back to rs6000.h
14687         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
14688
14689         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
14690
14691         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
14692         readded.
14693
14694         * config/rs6000/linux64.h: Ditto.
14695
14696         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14697         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
14698         nothing.
14699
14700         Remove accidently readded definitions of FUNCTION_PROLOGUE,
14701         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
14702
14703         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14704         to rs6000.h
14705
14706 2001-08-05  Richard Henderson  <rth@redhat.com>
14707
14708         * local-alloc.c (update_equiv_regs): Do not move insns that
14709         can throw.
14710
14711 2001-08-05  Jan Hubicka  <jh@suse.cz>
14712
14713         * Makefile.in (reload1.o): Add dedendancy on except.h
14714         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
14715         prototypes.
14716         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
14717         indicating wehther edges has been cleaned up.
14718         * reload1.c: Inlucde except.h
14719         (fixup_abnormal_edges): Accept deleted insns.
14720         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
14721         after combine.
14722
14723 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14724
14725         * cpplib.c (do_line): Correct line number after pop_buffer.
14726
14727 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14728
14729         PR preprocessor/3824
14730         * line-map.c: Update comments.
14731         * line-map.h: Update comments.
14732         * tradcif.y: Don't consider large numbers unsigned.
14733
14734 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14735
14736         PR preprocessor/3081
14737         * c-lex.c (map): New.
14738         (cb_file_change): Update map and use it.
14739         (cb_def_pragma, cb_define, cb_undef): Use map and line.
14740         (c_lex): Update to use map.
14741         * cpperror.c (print_location): Move to using logical line numbers.
14742         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
14743         (cpp_make_system_header): Similarly.
14744         (_cpp_execute_include): Stop line numbering hacks.  Store the
14745         line we will return to.
14746         * cpphash.h (CPP_BUF_LINE): Remove.
14747         (struct cpp_buffer): Remove lineno and pseudo_newlines.
14748         Add map and return_to_line.
14749         (_cpp_do_file_change): Update.
14750         * cppinit.c (cpp_start_read): Update line kludge.
14751         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
14752         (trigraph_ok): Use logical line numbers for diagnostics.
14753         (skip_block_comment): Likewise.
14754         (skip_whitespace): Likewise.
14755         (skip_line_comment): Use pfile->line instead.
14756         (_cpp_lex_token): Update to use logical line numbering exclusively.
14757         Handle BOL locally.  Accept new lines in directives, but keep
14758         pfile->line decremented.  Diagnostics use logical lines.  Update
14759         directive handling.
14760         * cpplib.c (SEEN_EOL): New.
14761         (skip_rest_of_line, check_eol): Use it.
14762         (end_directive): Increase line number when accepting the newline
14763         at the end of a directive.
14764         (run_directive): Simplify.
14765         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
14766         (_cpp_do_file_change): Update to take buffer line number as an
14767         argument, and store the current map in the cpp_reader.  Remove
14768         line number kludges.
14769         (_cpp_do__Pragma): Restore output position after a _Pragma.
14770         (cpp_push_buffer): Don't set output line or lineno.
14771         (_cpp_pop_buffer): Transfer more info from a faked buffer.
14772         Remove line kludge.  Set output_line.
14773         * cppmacro.c (builtin_macro): Update handling of __LINE__.
14774         (parse_arg): Use logical lines.
14775         (save_lookahead_token): Save EOFs too now.
14776         * cppmain.c (struct printer): Fix comments.
14777         (printer_init): Simplify, let caller do errors.
14778         (scan_translation_unit, check_multiline_token, dump_macro): Update.
14779         (maybe_print_line): Simplify.
14780         (print_line): Don't print a linemarker if -P.
14781         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
14782         (cb_file_change): Simplify.
14783         * line-map.h (LAST_SOURCE_LINE): Fix.
14784         (CURRENT_LINE_MAP): New.
14785
14786 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
14787
14788         * doloop.c (doloop_modify_runtime): Properly compute number of
14789         iterations if loop was unrolled.
14790
14791         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
14792         if their CSELIB_VAL_PTRs are.
14793
14794         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
14795         (setup_spill_pointers): Initialize it.
14796         (spill_restore_mem): Set it.
14797         (do_spill, do_restore): Use it to add REG_INC note.
14798         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
14799
14800         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
14801         asms if other insns are available.
14802
14803         * config/ia64/ia64.c (condop_operator): New predicate.
14804         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
14805         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
14806         patterns.
14807
14808         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
14809         temporary register than directly using a MEM.
14810
14811 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14812
14813         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
14814         parameter in last change.
14815
14816 2001-08-04  Zack Weinberg  <zackw@panix.com>
14817
14818         * sparc.md: Don't use #if inside C test expression.
14819
14820 2001-08-04  Richard Henderson  <rth@redhat.com>
14821
14822         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
14823
14824 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14825
14826         * cpphash.h (struct cpp_reader): New member directive_line.
14827         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
14828         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
14829         do_pragma): Pass line to callbacks.
14830         (start_directive): Record line of directive.
14831         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
14832         cb_include): Similarly.
14833         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
14834         Similarly.
14835
14836 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14837
14838         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
14839         comment.
14840
14841 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14842
14843         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
14844
14845         * reload1.c (fixup_abnormal_edges): New static function.
14846         (reload): Use it.
14847
14848         * flow.c (need_fake_edge_p): New function.
14849         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
14850         avoid call insn to be very last insn in the insn stream.
14851
14852         * profile.c (branch_prob): Call flow_call_edges_add instead of
14853         doing that by hand; cleanup cfg to re-merge basic blocks once
14854         we are done.
14855
14856 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14857
14858         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
14859         are also on line-map.h.
14860         * cppfiles.c (stack_include_file): Update.
14861         * cpphash.h (struct cpp_buffer): New member return_at_eof.
14862         (_cpp_pop_buffer): New.
14863         * cppinit.c (cpp_destroy, cpp_finish): Update.
14864         (do_includes): Mark each buffer to return at EOF.
14865         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
14866         return as requested.
14867         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
14868         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
14869         * cpplib.h (cpp_pop_buffer): Remove.
14870         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
14871         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
14872         buffers.
14873         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
14874         to pop buffers.
14875         (do_preprocessing): Update.
14876         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
14877         * c-parse.in (_yylex): Similarly.
14878         * scan-decls.c (scan_decls): Similarly.
14879         * line-map.h: Update comments.
14880
14881         * objc/Make-lang.in (objc-act.o): Update dependencies.
14882
14883 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14884
14885         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
14886         and soft register for operand 0.
14887         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
14888
14889 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14890
14891         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
14892         register for operand 0.
14893         ("bitcmpqi_z_used"): Allow memory for operand 0.
14894         (split "bitcmpqi"): New split to handle address reg as operand 1.
14895
14896 2001-08-04  Andreas Jaeger  <aj@suse.de>
14897
14898         * gcse.c: Revert Daniel's last patch.
14899
14900 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14901
14902         * sparc-protos.h: Add prototypes for fp_zero_operand and
14903         reg_or_0_operand.
14904         * sh-protos.h: Add prototype for fpul_operand.
14905
14906 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14907
14908         * doc/extend.texi (Other Builtins): Fix typo in last change.
14909
14910 2001-08-03  Richard Henderson  <rth@redhat.com>
14911
14912         * target.h (gcc_target): Add asm_out.named_section,
14913         section_type_flags, have_named_sections.
14914         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
14915         (TARGET_HAVE_NAMED_SECTIONS): New.
14916         (TARGET_SECTION_TYPE_FLAGS): New.
14917
14918         * Makefile.in (toplev.o): Depend on TARGET_H.
14919         (varasm.o, dbxout.o): Likewise.
14920         * c-common.c (decl_attributes): Check targetm.have_named_sections
14921         instead of ifdef ASM_OUTPUT_SECTION_NAME.
14922         * dbxout.c (dbxout_function_decl): Likewise.
14923         (dbxout_function_end): Likewise.
14924         * toplev.c (compile_file): Likewise.
14925         * varasm.c (exception_section): Likewise.
14926         * cp/decl2.c (finish_objects): Likewise.
14927
14928         * defaults.h (EH_FRAME_SECTION): Remove.
14929         (EH_FRAME_SECTION_ASM_OP): Remove.
14930         (EH_FRAME_SECTION_NAME): New.
14931         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
14932         (UNIQUE_SECTION_P): Remove.
14933         * dwarf2out.c (SECTION_FORMAT): Remove.
14934         (ASM_OUTPUT_SECTION): Remove.
14935         (output_call_frame_info): Use named_section_flags.
14936         (output_comp_unit, dwarf2out_start_source_file): Likewise.
14937         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
14938         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
14939         * varasm.c (in_eh_frame, eh_frame_section): Remove.
14940         (named_section_flags): New.
14941         (named_section): Use it and targetm.section_type_flags.
14942         (resolve_unique_section): New.
14943         (assemble_start_function): Use it.
14944         (asm_emit_uninitialised, assemble_variable): Likewise.
14945         (default_section_type_flags): New.
14946         (default_no_named_section, default_elf_asm_named_section): New.
14947         (default_coff_asm_named_section, default_pe_asm_named_section): New.
14948         * output.h: Update varasm.c decls.
14949         (SECTION_*): New flags.
14950
14951         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
14952         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
14953
14954         * config/elfos.h (UNIQUE_SECTION_P): Remove.
14955         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
14956         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
14957         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14958         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
14959         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
14960         * config/mips/elf.h, config/mips/elf64.h: Likewise.
14961         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
14962         * config/pa/pa64-hpux.h,
14963
14964         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
14965         (TARGET_ASM_NAMED_SECTION): New.
14966         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
14967         * config/alpha/vms.h, config/arm/coff.h: Likewise.
14968         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
14969         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
14970         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
14971         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
14972         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14973         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
14974         * config/i386/sco5.h, config/i386/win32.h: Likewise.
14975         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
14976         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
14977         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
14978         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
14979         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
14980         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
14981         * config/sparc/sysv4.h: Likewise.
14982
14983         * config/nextstep.h: Error until named sections implemented.
14984
14985         * config/a29k/a29k.c (a29k_asm_named_section): New.
14986         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
14987         (vms_section_type_flags, vms_asm_named_section): New.
14988         * config/arm/arm.c (arm_elf_asm_named_section): New.
14989         * config/avr/avr.c (asm_output_section_name): Remove.
14990         * config/avr/avr-protos.h: Update.
14991         * config/c4x/c4x.c (c4x_asm_named_section): New.
14992         * config/h8300/h8300.c (h8300_asm_named_section): New.
14993         * config/i386/i386.c (sco_asm_named_section): New.
14994         * config/i386/winnt.c (SECTION_PE_SHARED): New.
14995         (i386_pe_section_type_flags): New.
14996         (i386_pe_asm_named_section): New.
14997         * config/i386/i386-protos.h: Update.
14998         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
14999         * config/mcore/mcore.c (mcore_asm_named_section): New.
15000         * config/mips/mips.c (iris6_asm_named_section): New.
15001         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
15002         instead of UNIQUE_SECTION_P.
15003         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
15004         (xcoff_asm_named_section): New.
15005         * config/sh/sh.c (sh_asm_named_section): New.
15006         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
15007
15008         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
15009         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
15010         (EH_FRAME_SECTION_NAME): New.
15011         (EXCEPTION_SECTION): New.
15012         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
15013         (DEBUG_*_SECTION): Remove.
15014         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
15015         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
15016         (EH_FRAME_SECTION_ASM_OP): Remove.
15017
15018         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
15019         (ASM_OUTPUT_SECTION_NAME): Remove.
15020         (TARGET_ASM_NAMED_SECTION): New.
15021         (TARGET_HAVE_NAMED_SECTIONS): New.
15022         (TARGET_SECTION_TYPE_FLAGS): New.
15023         (EH_FRAME_SECTION_ASM_OP): Remove.
15024         (EH_FRAME_SECTION_NAME): New.
15025
15026 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
15027
15028         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
15029         for complex expressions when cfun == 0.
15030         * doc/extend.texi: Document that __builtin_constant_p can be
15031         used in data initializers as well as functions.
15032
15033 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
15034
15035         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
15036         variable I locally, instead of expecting a declaration in the
15037         calling context.
15038
15039 2001-08-03  Richard Henderson  <rth@redhat.com>
15040
15041         * except.c (collect_one_action_chain): Add an explicit cleanup
15042         action if regions surrounding a catch were encoded entirely
15043         within the call-site entry.
15044
15045 2001-08-03  Richard Henderson  <rth@redhat.com>
15046
15047         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
15048         don't take REGNO of a non-register.
15049
15050 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15051
15052         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
15053         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
15054         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
15055         (__gthread_mutex_init_function): New function for mutex initialization.
15056
15057 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15058
15059         * Makefile.in: Revert screwed up commit.
15060
15061 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15062
15063         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15064         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15065         merged by linker script to get a final _exit().
15066         (__do_global_dtors): New for destructor handling in specific exit
15067         section.
15068         (__do_global_ctors): New for constructors in specific install section.
15069         (__map_data_section): Map data sections before running constructors.
15070         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15071         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15072         (DTORS_SECTION_ASM_OP): Likewise.
15073         (CTORS_SECTION_FUNCTION): Define to force a reference to
15074         __do_global_ctors.
15075         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15076
15077 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15078
15079         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
15080
15081         * Makefile.in: Add df.h to gcse.c dependencies.
15082
15083 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15084
15085         * varasm.c (output_constant_def_contents): Use for the length of a
15086         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15087         depending on which is larger.
15088
15089 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
15090
15091         * gcse.c: Include df.h for use as a dataflow analyzer.
15092         Remove regvec.
15093         Declaration of reg_set_info: gone.
15094         New df_analyzer variable used by store motion.
15095         (reg_set_info): Deleted.
15096         (mark_mem_regs): New function, analyze regs used by a mem.
15097         (store_ops_ok): Use dataflow analyzer results to determine if
15098         necessary regs are changed in the block.
15099         (find_moveable_store): Remove check for symbol ref, we can handle
15100         much more complex expressions now.
15101         (compute_store_table): Remove most of the code, it's unnecessary
15102         now that the dataflow analyzer records the info for us.
15103         (store_killed_after): Add parameter to say whether to do the
15104         store_ops_okay test, used to speed up testing when we already know
15105         the answer, and just want to know if the store itself was killed.
15106         (build_store_vector): Largely rewritten to calculate the various
15107         vectors properly, and somewhat optimized.
15108         (store_motion): Init the df_analyzer, get REG_DEF chains.
15109         Also handle trapping expressions (since mems almost always trap)
15110         (simple_mem): Redefine what a simple mem is.
15111
15112 2001-08-03  DJ Delorie  <dj@redhat.com>
15113
15114         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15115         set from a constant part of the condition.
15116
15117 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15118
15119         * mkdeps.c (deps_add_default_target): Make local variable
15120         ``start'' a const char pointer.
15121         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15122
15123 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15124
15125         * doc/install.texi (Configuration): Fix markup.
15126         (Specific, i?86-*-udk): Likewise.
15127         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15128         --with-gnu-ld.
15129         Document --enable-threads and --enable-libgcj status.
15130         (Specific, mips-sgi-irix*): Canonicalize triples.
15131         (Specific, mips-sgi-irix5): Warn about problems with this config.
15132         Mention required GNU as patch.
15133         Native assembler problems are fixed.
15134         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15135         Document --enable-threads and --enable-libgcj status.
15136
15137 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15138
15139         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15140         of mkinstalldirs.
15141
15142 2001-08-03  Richard Henderson  <rth@redhat.com>
15143
15144         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15145         constant data.
15146
15147 2001-08-03  Richard Henderson  <rth@redhat.com>
15148
15149         * rtlanal.c (find_first_parameter_load): Stop if we
15150         reach a CODE_LABEL at BOUNDARY.
15151
15152 2001-08-03  Richard Henderson  <rth@redhat.com>
15153
15154         * config/alpha/alpha.md (force_movdi): New insn.
15155         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15156         Tweek FRP marking of VMS prologue insns.
15157         * config/alpha/vms.h (EPILOGUE_USES): New.
15158
15159 2001-08-02  Richard Henderson  <rth@redhat.com>
15160
15161         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15162
15163 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15164
15165         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15166         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15167         config/convex/convex.h, config/d30v/d30v.c,
15168         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15169         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15170         config/mips/mips.h, config/mn10200/mn10200.h,
15171         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15172         config/v850/v850.h, config/vax/openbsd.h,
15173         config/vax/openbsd1.h, config/vax/ultrix.h,
15174         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15175         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15176         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15177         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15178         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15179         in comments and documentation.
15180
15181 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15182
15183         * line-map.c: New.
15184         * line-map.h: New.
15185         * Makefile.in (line-map.o): New.
15186         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15187         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15188         * cpperror.c (print_containing_files): Similarly.
15189         (print_location): Update.  Don't output a space before _Pragma.
15190         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15191         (stack_include_filee, cpp_make_system_header): Update.
15192         (_cpp_execute_include): Get logical line number right for calling
15193         as-yet-unterminated #include.
15194         * cpphash.h (struct cpp_reader): Add line_maps.
15195         (_cpp_do_file_change): Update.
15196         * cppinit.c (cpp_create_reader): Initialize line maps.
15197         (cpp_destroy): Destroy line maps.
15198         (cpp_start_read): Get logical line number right.
15199         * cpplex.c (parse_string): Only warn once for multi-line strings.
15200         Use boolean variable for null warning.
15201         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15202         already.
15203         (do_include_common): End the directive early.
15204         (do_line): Don't warn about out-of-range lines in preprocessed
15205         source.  Update.  Remove unused variables.
15206         (_cpp_do_file_change): Update for new line mapping.
15207         (pragma_cb): New typedef.
15208         (cpp_register_pragma): Stop looking ahead before calling the
15209         handler.  Clean up.
15210         (do_pragma_system_header): End directive early.
15211         (cpp_get_line_maps): New.
15212         (cpp_pop_buffer): Fudge logical line.  Update.
15213         * cpplib.h: Include line-map.h
15214         (enum cpp_fc_reason): Remove.
15215         (struct cpp_file_change): Update.
15216         (cpp_get_line_maps): New.
15217         * cppmain.c (struct_printer): New member map.
15218         (cb_file_change): Update for new mappings.
15219         * fix-header.c (cb_file_change): Similarly.
15220
15221 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15222
15223         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15224         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15225
15226 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15227
15228         * config/vax/vax.c: include expr.h.
15229
15230 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15231
15232         * Makefile.in ($(srcdir)/configure): Only rebuild in
15233         maintainer mode.
15234         ($(srcdir)/config.in): Only define in maintainer mode.
15235         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15236
15237 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15238
15239         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15240
15241 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15242
15243         * gcc.c (set_collect_gcc_options): New function, split out from
15244         main.
15245         Ignore elided switches.
15246         (do_spec_1): Invoke before executing command.
15247         (set_input): Export.
15248         Move declaration ...
15249         * gcc.h (set_input): ... here.
15250         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15251         file.
15252
15253 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15254
15255         Kill -fhonor-std.
15256         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15257         interaction.
15258         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15259
15260 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15261
15262         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15263         for the unnamed instructions it expands to.
15264
15265 2001-08-02  Richard Henderson  <rth@redhat.com>
15266
15267         * regclass.c (call_really_used_regs): Conditionally define.
15268         (init_reg_sets_1): Don't use it if not defined.
15269         (fix_register): Similarly, don't set it.
15270
15271 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15272
15273         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15274         Correct comment that had been missed in the previous change.
15275
15276 2001-08-01  Stan Shebs  <shebs@apple.com>
15277
15278         * config/darwin.c (machopic_stub_name): Try matching by name.
15279         (update_stubs): New function.
15280         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15281         unconditionally.
15282
15283 2001-08-01  Richard Henderson  <rth@redhat.com>
15284
15285         * except.c (output_function_exception_table): Use assemble_align.
15286         * varasm.c (assemble_eh_label): Remove.
15287         (assemble_eh_align, assemble_eh_integer): Remove.
15288
15289 2001-08-01  Robert Lipe  <robertl@caldera.com>
15290
15291         * dwarfout.c: Remove reference to README.DWARF.
15292
15293 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15294
15295         * regclass.c (call_really_used_regs): New array for registers which
15296         are actually used by a call.
15297         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15298         new array.
15299         (fix_register): Set call_really_used too.
15300         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15301         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15302
15303 2001-08-01  Richard Henderson  <rth@redhat.com>
15304
15305         * read-rtl.c (read_name): Consider \r whitespace.
15306
15307 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15308
15309         * config.gcc: Recognize powerpc-*-netbsd*.
15310
15311         * doc/install.texi (Host/target specific installation notes for
15312         GCC): Mention powerpc-*-netbsd*.
15313
15314         * config/rs6000/netbsd.h: New file.
15315         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15316         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15317         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15318         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15319         (TARGET_VERSION): Redefine.
15320
15321         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15322         mcall-netbsd as a match for mcall-sysv.
15323         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15324         (ncrti.S, ncrtn.S): New targets.
15325         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15326
15327         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15328         "netbsd' as a V4 ABI.
15329         (ASM_SPEC): Check for -mcall-netbsd.
15330         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15331         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15332         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15333         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15334         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15335         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15336         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15337
15338         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15339         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15340
15341 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15342
15343         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15344         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15345         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15346         including "unwind-pe.h".
15347
15348 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15349
15350         * rs6000.md (define_splits): Kill unused constraints.
15351
15352 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
15353                               Jan Hubicka  <jh@suse.cz>
15354
15355         * function.c (thread_prologue_and_epilogue_insns): Kill code
15356         dealing with non-existent CFG.
15357
15358 2001-08-01  Kazu Hirata  <kazu@hxi.com>
15359
15360         * alias.c: Fix comment formatting.
15361         * bitmap.c: Likewise.
15362         * builtins.c: Likewise.
15363         * calls.c: Likewise.
15364         * c-common.c: Likewise.
15365         * c-decl.c: Likewise.
15366         * c-dump.c: Likewise.
15367         * c-lex.c: Likewise.
15368         * collect2.c: Likewise.
15369         * combine.c: Likewise.
15370         * conflict.c: Likewise.
15371         * cppfiles.c: Likewise.
15372         * cppinit.c: Likewise.
15373         * cpplex.c: Likewise.
15374         * cpplib.c: Likewise.
15375         * cppmacro.c: Likewise.
15376         * cppspec.c: Likewise.
15377         * c-pragma.c: Likewise.
15378         * crtstuff.c: Likewise.
15379         * cse.c: Likewise.
15380         * cselib.c: Likewise.
15381         * c-semantics.c: Likewise.
15382         * c-typeck.c: Likewise.
15383
15384 2001-08-01  H.J. Lu <hjl@gnu.org>
15385
15386         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
15387
15388 2001-08-01  H.J. Lu <hjl@gnu.org>
15389
15390         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
15391
15392 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
15393
15394         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
15395         contextualizing Objective-C class name lookup by the lexer.
15396         (typespec_reserved_nonattr): Disable ObjC class name lookup after
15397         seeing a TYPESPEC.
15398         (protocoldef): Add support for forward @protocol declarations.
15399         (yylexname): Suppress ObjC class name lookup in certain contexts;
15400         re-enable after lookup is complete.
15401         (_yylex): Re-enable ObjC class name lookup when certain
15402         punctuation marks are seen.
15403
15404         * objc/objc-act.c (check_protocol_recursively): New function used
15405         for finding circular dependencies in protocols.
15406         (objc_declare_protocols): New function for handling forward
15407         @protocol declarations.
15408         (receiver_is_class_object): Detect the case when 'self' is used
15409         inside of a class method.
15410         (build_message_expr): Issue a warning if class method is desired
15411         but instance method is found instead.
15412         (conforms_to_protocol): Streamline.
15413         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
15414         protocol Foo, even if 'Bar foo' does not.
15415         (check_protocols): Streamline.
15416         (start_protocol): Add checks for circular and duplicate protocol
15417         definitions.
15418         (encode_aggregate_within): For typedefs of structs, encode the
15419         underlying struct.
15420         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
15421         (objc_declare_protocols): New prototype.
15422
15423 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15424
15425         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
15426         * cpplex.c (handle_newline): Update prototype.  Maintain logical
15427         line number.
15428         (skip_escaped_newlines, skip_block_comment, parse_string):
15429         Update accordingly.
15430         (_cpp_lex_token): Update, and store token position within the token.
15431         * cpplib.h (struct cpp_token): Add line and column entries.
15432         * cppmacro.c (replace_args): Position stringified tokens correctly.
15433
15434 2001-08-01  Andreas Jaeger  <aj@suse.de>
15435
15436         * basic-block.h: Add prototype for last_loop_beg_note.
15437
15438 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
15439
15440         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
15441         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
15442         comment.
15443         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
15444         while handling WITH_CLEANUP_EXPR node. Use second operand calling
15445         expand_decl_cleanup.
15446         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
15447         the first RTX.
15448         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
15449         operand while calling simple_cst_equal.
15450         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
15451         operand is the cleanup expression, the third is the RTL_EXPR.
15452         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
15453
15454 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
15455
15456         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
15457
15458 2001-07-31  matthew green  <mrg@eterna.com.au>
15459
15460         * config.gcc (i386-*-netbsdelf): New description.
15461         * config/i386/netbsd-elf.h: New file.
15462
15463 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
15464
15465         * loop.c (check_dbra_loop): Use single_set to compute
15466         jump_label.
15467
15468 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
15469
15470         PowerPC reorg and support for powerpc64-*-linux*.
15471
15472         Also fixes emitting of constants on 32 bit and 64 bit
15473         platforms.
15474
15475         * config.gcc: powerpc64-*-linux* is a new target.
15476         Things that needed aix.h now also include xcoff.h
15477
15478         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
15479         xcoff.h.
15480         Move AIX specific stuff into aix.h.
15481         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
15482         with more than just XCOFF now.
15483         (SET_ASM_OP): Remove, now defined where needed.
15484         (FUNCTION_PROLOGUE): New macro definition.
15485         (FUNCTION_EPILOGUE): New macro definition.
15486         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
15487
15488         * config/rs6000/xcoff.h: New file.
15489
15490         * config/rs6000/linux64.h: New file.
15491
15492         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
15493
15494 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
15495
15496         * rs6000.c (print_operand_address): Handle ELF syntax.
15497         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
15498         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
15499         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
15500
15501 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
15502
15503         * rs6000.c (rs6000_override_options): Only disable
15504         flag_function_sections for XCOFF.
15505         (exact_log2_cint_operand): New predicate.
15506         (reg_or_{add,sub}_cint64_operand): New predicates.
15507         (add_operand): Compare CONST_INT with fewer function calls.
15508         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
15509         (print_operand, case 'p'): Ensure positive operand.
15510         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
15511         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
15512         (PREDICATE_CODES): Add new predicates.
15513         * rs6000.md (addsi3): Split 32-bit constants more correctly.
15514         (divsi3, modsi3): Ensure positive power-of-2.
15515         (adddi3): Use new predicate.  Split 32-bit constants more
15516         correctly.  Re-arrange splitter to handle any constant.
15517         (subdi3): Use new predicate.
15518         (divdi3, moddi3): Ensure positive power-of-2.
15519         (movdi): Use rs6000_emit_set_const.
15520         (load_toc_v4_pic_di): Delete.
15521
15522 2001-07-31  Graham Stott <grahams@redhat.com>
15523
15524         * function.c (pad_below): Revert 2001-07-26 patch.
15525
15526 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15527
15528         * reg-stack (convert_regs_1): Fix best edge condition.
15529
15530 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15531
15532         * jump.c (duplicate_loop_exit_test): Better test for jumps
15533         entering the loop; create loop pre_header.
15534
15535 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
15536
15537         * doc/install.texi: Add s390 and s390x as new targets.
15538         * doc/invoke.texi: Add documentation of S/390 and zSeries
15539         target options.
15540         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
15541
15542 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15543
15544         * config/m68k/m68k.md: Replace all general_operand with
15545         nonimmediate_operand for all destinations.
15546         * config/m68k/m68k.c (not_sp_operand): Likewise.
15547
15548 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
15549
15550         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
15551
15552 2001-07-30  Richard Henderson  <rth@redhat.com>
15553
15554         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
15555         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
15556
15557 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15558
15559         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
15560         Add missing doc strings
15561         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
15562         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
15563
15564 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
15565
15566         * i386.c (ix86_output_main_function_alignment_hack): New function.
15567         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
15568
15569         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
15570         edges by EDGE_DFS_BACK flag.
15571         (dump_edge_info): Add dfs_back flag.
15572         * basic-block.h (EDGE_DFS_BACK): New constant.
15573         (mark_dfs_back_edges): Declare.
15574         * alias.c (loop_p): Remove.
15575         (mark_constant_function): Use mark_dfs_back_edges.
15576
15577         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
15578         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
15579         (compensate_edge): Break out from ...
15580         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
15581         (convert_regs_2): Set block_done once block is really done;
15582         Do updating of the predecessors counts.
15583
15584         * toplev.c (rest_of_compilation): Recompute block_for_insn
15585         before post-reload cfg_cleanup.
15586         * function.c (thread_prologue_epilogue_insns):
15587         Call set_block_for_new_insns when emitting prologue directly.
15588
15589 2001-07-30  Andreas Jaeger  <aj@suse.de>
15590
15591         * jump.c: Add prototype for mark_modified_reg.
15592
15593         * cse.c (set_live_p): Add unused attribute.
15594
15595         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
15596         overflow.
15597         (scan_for_source_files): Use long for count to avoid overflow.
15598         (output_data): Likewise.
15599         (output_data): Don't use string concatatenation to silence gcc
15600         -traditional.
15601
15602         * predict.c: Fix typos and grammar.
15603
15604         * gcse.c (insert_insn_end_bb): Remove unused variables.
15605
15606 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
15607
15608         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
15609         (attempt_auto_inc): LIkewise.
15610         (mark_used_reg): Likewise.
15611         (try_pre_increment_1): Likewise.
15612         * regclass.c (regclass): Likewise.
15613         * global.c (allocno_compare): Update comment; change scaling factor.
15614         * local-alloc.c (QTY_CMP_PRI): Likewise.
15615         * regs.h (REG_FREQ_FROM_BB): New.
15616         (REG_FREQ_MAX): Likewise.
15617
15618 2001-07-30  H.J. Lu <hjl@gnu.org>
15619
15620         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
15621         -D_GNU_SOURCE.
15622
15623 2001-07-30  H.J. Lu  (hjl@gnu.org)
15624
15625         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
15626         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
15627         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
15628
15629 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
15630
15631         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
15632         as -mthumb-interwork when -mcpu=arm7 is specified.
15633
15634 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15635
15636         * predict.def (noreturn, loop branch, loop exit): Mark as first
15637         match heuristics.
15638
15639 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
15640
15641         * combine.c (try_combine): Avoid barrier after noop jumps.
15642
15643 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15644
15645         * cpphash.h (struct cpp_reader): Remove import_warning.
15646         * cpplib.c (skip_rest_of_line): Don't bother turning off
15647         macro expansion.
15648         (parse_include): Move include handling to...
15649         (do_include_common): ... here.  Move import warning from...
15650         (do_import): ... here.
15651         (do_pragma_poison): Don't do a callback for poison identifiers.
15652         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
15653         * cppmain.c (setup_callbacks): Similarly.
15654
15655 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
15656
15657         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
15658         handle multiple sets.
15659         * except.c (sjlj_mark_call_sites): .... here.
15660         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
15661
15662 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
15663
15664         Suggested by Richard Henderson and Richard Kenner:
15665         * combine.c (recog_for_combine): Use the fake recog
15666         only if instruction does not match.
15667         * rtl.h (NOOP_MOVE_INSN_CODE): New.
15668         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
15669
15670         * combine.c (try_combine): Discover noop jump as direct jump.
15671
15672 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
15673
15674         * df.c (df_rd_global_compute): Add successors to worklist, not
15675         current item.
15676         (df_ru_global_compute): Ditto.
15677
15678 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
15679
15680         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
15681         increment REG_N_SETS.
15682
15683 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15684
15685         * sbitmap.h: New prototype for sbitmap_a_xor_b.
15686
15687         * sbitmap.c (sbitmap_a_xor_b): New function.
15688         ifdef the basic block stuff on IN_GCC.
15689
15690 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15691
15692         * cppexp.c (parse_defined): Always record the macro name.
15693         (lex): Don't worry about identifiers, or special-case
15694         CPP_NOT here.
15695         (_cpp_parse_expr): Figure out at the end of the routine
15696         whether we saw a valid !defined() expression.
15697         * cppfiles.c (stack_include_file): Update for mi_valid.
15698         (_cpp_pop_file_buffer): Similarly.
15699         * cpplex.c (_cpp_lex_token): Similarly.
15700         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
15701         mi_if_not_defined, mi_lexed): Remove.
15702         (mi_valid): New.
15703         * cpplib.c (do_if): Simplify.
15704         (do_endif, push_conditional, _cpp_handle_directive): Update
15705         for renaming of mi_state to mi_valid.
15706 doc:
15707         * cpp.texi: Add index entries for digraphs, and add comment
15708         that C++ refers to them as alternative tokens.
15709
15710 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
15711
15712         * basic-block.h (CLEANUP_PRE_LOOP): New.
15713         * except.c (finish_eh_generation): Update call of cleanup_cfg.
15714         * sibcall.c (optimize_sibling_calls): Likewise.
15715         * toplev.c (rest_of_compilation): Likewise.
15716         * flow.c (try_forward_edges): Take argument MODE;
15717         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
15718         (try_optimize_cfg): Update call of try_forward_edges.
15719
15720 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15721                                 Jan Hubicka  <jh@suse.cz>
15722
15723         * (validate_replace_rtx_1): Fix simplification of MINUS.
15724
15725 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
15726
15727         PR preprocessor/3669
15728         * cppinit.c (init_dependency_output): Turn off dump requests
15729         if sending dependencies to stdout.
15730
15731 2001-07-28  Richard Henderson  <rth@redhat.com>
15732
15733         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
15734         not optimizing.
15735
15736 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
15737
15738         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
15739
15740 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15741
15742         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
15743         is VAR_DECL first to prevent an ICE.
15744
15745 2001-07-28  Richard Henderson  <rth@redhat.com>
15746
15747         * varasm.c (immed_real_const_1): Don't elide special cases for
15748         nested functions.
15749         (clear_const_double_mem): Clear const_tiny_rtx too.
15750
15751 2001-07-28  Richard Henderson  <rth@redhat.com>
15752
15753         * dwarf2out.c (dw_val_class_offset): New.
15754         (struct dw_ranges_struct, dw_ranges_ref): New.
15755         (ranges_table, ranges_table_allocated): New.
15756         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
15757         (add_AT_offset, add_ranges, output_ranges): New.
15758         (print_die, output_die): Handle dw_val_class_offset.
15759         (attr_checksum, size_of_die, value_format): Likewise.
15760         (gen_lexical_block_die): Handle non-contiguous blocks.
15761         (gen_block_die): Likewise.
15762         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
15763         if needed.  Dump the ranges table.
15764         * final.c (final_start_function): Remove unnecessary notes and
15765         rebuild the block tree before numbering the blocks.
15766         * function.c (reorder_blocks_0): Walk the existing block tree
15767         to unmark all blocks.
15768         (reorder_blocks_1): Create block fragments when duplicate block
15769         notes are seen.
15770         (reorder_fix_fragments): New.
15771         (reorder_blocks): Call it.
15772         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
15773
15774 2001-07-28  Richard Henderson  <rth@redhat.com>
15775
15776         * emit-rtl.c (adjust_address): Make a copy of the memory address.
15777
15778 2001-07-28  Richard Henderson  <rth@redhat.com>
15779
15780         * flow.c (add_to_mem_set_list): New function.
15781         (init_propagate_block_info): Use it.
15782         (mark_set_1): Likewise.
15783         (insn_dead_p): Canonicalize memory address for dead store
15784         comparison.  Allow wider mode stores to kill narrower mode stores.
15785         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
15786         (invalidate_mems_from_set): Don't handle MEMs.
15787
15788 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15789
15790         * config/h8300/h8300.h: Fix formatting.
15791
15792 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15793
15794         * basic-block.h (EDGE_FREQUENCY): New macro.
15795         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
15796         for new BB/edges.
15797         * flow.c (find_sub_basic_blocks): Likewise.
15798         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
15799         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
15800
15801         * predict.c (DEF_PREDICTOR): New argument FLAGS.
15802         (HITRATE): New macro.
15803         (PRED_FLAG_FIRST_MATCH): New constant.
15804         (predictor_info): New field flgags.
15805         (combine_predictions_for_insn): Use DS theory to combine
15806         probabilities; set the edge probabilities when finished.
15807         (estimate_probability): Avoid duplicated matches
15808         of LOOP_BRANCH heuristics for nested loops; update comment.
15809         * predict.def: Add flags for each prediction, set probabilities
15810         according to B&L paper.
15811         * predict.h (DEF_PREDICTOR): New argument FLAGS.
15812
15813         * profile.c (compute_branch_probabilities):  Cleanup way the edge
15814         probabilities are computed and REG_BR_PROB notes are dropped; if
15815         values does not match, emit error.
15816         (init_branch_prob): Do error instead of warning when profile driven
15817         feedback is missing or corrupt.
15818
15819 2001-07-27  DJ Delorie  <dj@redhat.com>
15820
15821         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
15822         against a constant, try to adjust the compare to have the desired
15823         constant in it so that min/max optimizations happen more often.
15824
15825 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15826
15827         * flow.c (last_loop_beg_note): New function.
15828         (redirect_edge_and_branch): Use it.
15829         (split_edge): Likewise.
15830
15831         * alias.c (loop_p): Avoid uninitialized memory access.
15832
15833         * flow.c (try_forward_edges): Avoid accessing freed memory.
15834
15835         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
15836         variable access.
15837
15838 2001-07-26  Andrew Haley  <aph@redhat.com>
15839         Joern Rennecke <amylaar@redhat.com>
15840
15841         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
15842         (SUBTARGET_CPP_ENDIAN_SPEC): New.
15843         (SUBTARGET_CPP_SPEC): New.
15844         (CPP_SPEC): Remove.
15845         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
15846         (SUBTARGET_CPP_PTR_SPEC): New.
15847         (CPP_DEFAULT_CPU_SPEC): New.
15848         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
15849         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15850         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
15851         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15852         (SUBTARGET_CPP_SPEC): Define as an empty string.
15853
15854 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15855
15856         * doc/install.texi (Configuration): Properly link the host
15857         specific instructions also when generating HTML.
15858
15859 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
15860
15861         * flow.c (redirect_edge_and_branch_force): Test
15862         target->global_live_at_start.
15863
15864 2001-07-26  Richard Henderson  <rth@redhat.com>
15865
15866         * simplify-rtx.c (avoid_constant_pool_reference): Export.
15867         * rtl.h (avoid_constant_pool_reference): Declare it.
15868         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
15869         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
15870
15871 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15872
15873         * rtl.h (cleanup_barriers): Declare.
15874         * jump.c (cleanup_barriers): New function.
15875         * toplev.c (rest_of_compilation): Call cleanup_barriers
15876         before loop optimizer and after bb_reorder.
15877
15878         * flow.c (back_edge_of_syntactic_loop_p): New.
15879         (split_edge): Use it.
15880
15881 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15882
15883         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
15884
15885 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
15886
15887         * cse.c (cse_process_notes): Replace any registers if the address
15888         remains valid.
15889
15890 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
15891
15892         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
15893         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
15894         (propagate_block): Update prototype.
15895         * flow.c (update_life_info): Simplify the CFG and
15896         recalculate the global regs which are alive when
15897         removing dead code during a global update.
15898         (propagate_block): Return non-zero if an INSN is
15899         deleted.
15900
15901 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15902
15903         * Makefile.in (LIBICONV): Define.
15904
15905 2001-07-26  Catherine Moore  <clm@redhat.com>
15906
15907         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
15908         of conditional to avoid tree checking errors.
15909
15910 2001-07-26  Kazu Hirata  <kazu@hxi.com>
15911
15912         * regmove.c (regmove_optimize): Don't replace a reg with
15913         another reg of a different mode.
15914
15915 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
15916
15917         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
15918         limit length of dependency flush list.
15919         * params.h (MAX_PENDING_LIST_LENGTH): Define.
15920         * sched-int.h  (struct deps): Add pending_flush_length field.
15921         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
15922         has 1 element in it.
15923         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
15924         (sched_analyze): After a jump, if the pending memory flush list is too
15925         large, flush the pending lists.
15926         (init_deps): Initialize pending_flush_length to 0.
15927         * doc/invoke.texi (max_pending_list_length): Document parameter.
15928
15929 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
15930
15931         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
15932         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
15933         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
15934
15935 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15936
15937         * cpphash.h (struct_lexer_state): Delete was_skipping.
15938         Move skipping here from struct cpp_reader.
15939         * cpplex.c (parse_identifier): Update.
15940         (_cpp_lex_token): Don't skip tokens in a directive.
15941         * cpplib.c (struct if_stack): Update.
15942         (start_directive, end_directive): Don't change skipping state.
15943         (_cpp_handle_directive): Update.
15944         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
15945         (do_else, do_endif): Update; only check for excess tokens if not
15946         in a skipped conditional block.
15947         (push_conditional): Update for new struct if_stack.
15948
15949 2001-07-26  Graham Stott  <grahams@redhat.com>
15950
15951         * function.c (locate_and_pad_parm): Also pad initial offset
15952         so that the total argument size also includes the padding.
15953
15954 2001-07-26  Graham Stott <grahams@redhat.com>
15955
15956         * gensupport.c (alter_output_for_insn): Correct enable checking failure
15957         change XSTR to XTMPL.
15958
15959         (process_one_cond_exec): Likewise
15960
15961 2001-07-25  Richard Henderson  <rth@redhat.com>
15962
15963         * varasm.c (assemble_variable): Create DECL_RTL before setting
15964         TREE_ASM_WRITTEN.
15965
15966 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
15967
15968         * predict.c (estimate_probability): Avoid duplicated predictions.
15969
15970         * loop.c (find_and_verify_loops): Grok multiple barriers.
15971
15972 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15973
15974         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
15975
15976         * dbxout.c: Consistently use putc instead of fputc.
15977         (print_wide_int): New function; call instead of direct fprintf.
15978         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
15979         (dbxout_type_fields, dbxout_type_method_1): Likewise.
15980         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
15981         (print_int_cst_octal): Likewise.
15982         (print_octal): Show we wrote characters.
15983         (dbxout_type): Set have_used_extensions in more places.
15984
15985 2001-07-25  Catherine Moore  <clm@redhat.com>
15986
15987         * config/v850/v850.c (v850_va_arg):  Use addr
15988         instead of valist to build incr.
15989
15990 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
15991
15992         * flow.c (delete_dead_jumptables): New function.
15993         (life_analyzis): Call it.
15994         * bb-reorder.c (skip_insns_after_block): Handle contradictory
15995         sequences.
15996
15997 2001-07-25  Richard Henderson  <rth@redhat.com>
15998
15999         * except.c (reachable_handlers): Handle a region being removed
16000         out from under a RESX.
16001
16002 2001-07-25  Richard Henderson  <rth@redhat.com>
16003
16004         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
16005         swap GE/GT if it is an fp comparison.
16006
16007 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
16008
16009         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
16010         operands.
16011
16012 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
16013
16014         * ssa.c (rename_insn_1): Do not wrap an assignment to a
16015         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
16016         glitch.
16017
16018         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
16019         throw an exception.
16020         (visit_expression): When attempting to simplify an expression,
16021         retrieve any modes for arguments before they are simplified
16022         to constants.
16023
16024 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16025             Janis Johnson  <janis@us.ibm.com>
16026
16027         * stmt.c (expand_goto): A nonlocal goto can be a call too.
16028         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
16029         pointer parameters to match documented usage of nonlocal_goto.
16030         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
16031         parameters to their correct order.
16032         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
16033         parameters to their correct order.
16034
16035 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
16036
16037         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
16038
16039 2001-07-25  Jan Hubicka  <jh@suse.cz>
16040             Richard Henderson  <rth@redhat.com>
16041
16042         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
16043         the sequence.
16044         (make_edges): New argument update_p; populate the edge cache if set.
16045         (find_basic_blocks): Update make_edges invocation.
16046
16047 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16048
16049         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
16050
16051 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16052
16053         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
16054         -Acpu and -Amachine.h.
16055         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
16056         Corrected header to say ELF not a.out.
16057         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
16058         when given -msoft-float.
16059
16060 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16061
16062         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
16063         extra multilib parts like arm-elf.
16064         (i960-*-coff*, i960-*-rtems): Should not use collect2.
16065         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16066         crtfini.o as extra multilib parts.
16067
16068 2001-07-24  Joel Sherrill <joel@OARcorp.com>
16069
16070         * configure.in: Add rtems as a supported thread model.
16071         * gthr-rtems.h: Add missing entry point __gthread_active_p.
16072         * configure: Rebuilt.
16073
16074 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
16075
16076         * stor-layout.c (get_mode_alignment): make it work when
16077         BITS_PER_UNIT is not a power of two.
16078         * builtins.c (get_pointer_alignment): Likewise.
16079
16080 2001-07-24  Richard Henderson  <rth@redhat.com>
16081
16082         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16083         the retrieved constant into the expected mode.
16084
16085 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
16086
16087         * flow.c (try_simplify_condjump): Avoid duplicated edges.
16088         (verify_flow_info): Check for duplicated edges; clarify
16089         error reporting.
16090
16091         * flow.c (block_label): Update basic_block_for_insn.
16092         (commit_edge_insertions): Call compute_bb_for_insn.
16093
16094         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16095         returns too.
16096
16097         * flow.c (redirect_edge_and_branch,
16098         try_optimize_cfg): Use redirect_edge_succ_nodup
16099         (redirect_edge_succ_nodup): New.
16100         * basic_block.h (redirect_edge_succ_nodup): Declare.
16101
16102         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16103         after gcse.
16104
16105 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16106
16107         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16108         (try_crossjump_to_edge): Update commetns.
16109         (try_crossjump_bb): Likewise.
16110
16111 2001-07-24  Richard Henderson  <rth@redhat.com>
16112
16113         * combine.c (distribute_notes): Move set of need_refresh
16114         for noop_move_p down to catch all cases.
16115
16116 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16117
16118         * recog.c (split_all_insns_noflow): New.
16119         * rtl.h (split_all_insns_noflow): Declare.
16120         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16121         * m68hc11.c (m68hc11_reorg): Likewise.
16122         * sh.c (machine_dependent_reorg): Likewise.
16123         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16124         call.
16125
16126 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16127
16128         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16129         (ashlsi3_n splitter): Likewise.
16130         (lshrsi3_n splitter): Likewise.
16131
16132         (GOTaddr2picreg): Make const SImode.
16133         (sym_label2reg): Likewise.
16134         (symGOT2reg): Likewise.
16135         (symGOTOFF2reg) Likewise.
16136
16137         (casesi_worker_0): Make unspec SImode.
16138
16139 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16140
16141         * config/sh/sh.c (barrier_align): Check that an operand really is
16142         an insn before extracting its INSN_CODE.
16143
16144 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16145
16146         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16147         dangling else.
16148
16149         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16150         for SImode to prevent overflow.
16151
16152 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16153
16154         * config/mips/irix6-libc-compat.c: New file.
16155         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16156         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16157         passing workaround.
16158
16159 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16160
16161         * rtl.texi (REG_POINTER): Document.
16162         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16163         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16164
16165 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16166
16167         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16168
16169 2001-07-23  Richard Henderson  <rth@redhat.com>
16170
16171         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16172
16173 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16174
16175         * config/h8300/h8300-protos.h: Add a prototype for
16176         general_operand_dst_push.
16177         * config/h8300/h8300.c (general_operand_dst_push): New.
16178         * config/h8300/h8300.h (OK_FOR_T): New.
16179         (EXTRA_CONSTRAINT): Use it.
16180         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16181         the existing movqi pattern.
16182         (movhi_push): Likewise.
16183
16184         * reload.c: Fix comment typos.
16185
16186 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16187
16188         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16189
16190 2001-07-23  H.J. Lu  (hjl@gnu.org)
16191
16192         * doc/extend.texi: Update __builtin_return_address and
16193         __builtin_frame_address.
16194
16195 2001-07-23  Richard Henderson  <rth@redhat.com>
16196
16197         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16198         before CSE.
16199         * config/i386/i386.md: New setcc+movzbl peephole2.
16200
16201 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16202
16203         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16204         * objc/objc-act.c: Include debug.h.
16205         (synth_module_prologue): Save and restore debug hooks too.
16206
16207 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16208
16209         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16210         and C4X_FLOAT_FORMAT.
16211         (BOOL_TYPE_SIZE): Document.
16212
16213 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16214
16215         * unroll.c (loop_iterations): Fix miscalculation of initial
16216         giv offset.
16217
16218 2001-07-13  Andrew Haley  <aph@redhat.com>
16219
16220         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16221         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16222         * config/sh/sh.c (sh_can_redirect_branch): New function.
16223         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16224         * reorg.c (steal_delay_list_from_target): Use
16225         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16226
16227 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16228
16229         * flow.c (try_simplify_condjump): Unlink insn chain on
16230         fallthru edge; use can_fallthru.
16231
16232 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16233
16234         * basic-block.h (find_sub_basic_block): Declare.
16235         * flow.c (make_edges): New arguments MIN and MAX;
16236         (find_sub_basic_blocks): Revamp to use make_edges
16237         and purge_dead_edges.
16238         (find_basic_blocks): Update call of find_sub_basic_block.
16239
16240         * recog.c (split_all_insns): Always expect CFG to be consistent;
16241         call find_sub_basic_blocks in case something has changed.
16242         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16243         has been built.
16244
16245         * basic-block.h (delete_noop_moves): Declare.
16246         * combine.c (combine_instructions): Call it.
16247         (recog_for_combine): Tolerate noop moves
16248         (distribute_notes): Force refresh when register dies at noop move.
16249         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16250         too.
16251         (life_analysis): Update delete_noop_moves call.
16252         (set_noop_p): Move too ...
16253         * rtlanal.c (noop_move_p): ... here.
16254         * rtl.h (noop_move_p): Declare.
16255
16256         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16257         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16258         after combine.
16259         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16260         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16261
16262 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16263
16264         * reload.c (push_reload): Fix typo in comment.
16265         (find_reloads_address): Ditto.
16266         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16267
16268 2001-07-22  Richard Henderson  <rth@redhat.com>
16269
16270         * flow.c: Grammar check and clarify a lot of comments.
16271         (try_simplify_condjump): Rename variables to be clearer.
16272         (try_forward_edges): Skip complex and fallthru edges.
16273         Rearrange tests to avoid duplicate checks.
16274         (flow_find_cross_jump): Likewise.
16275         (outgoing_edges_match): Allow match if neither branch has
16276         probability data.  Loosen probability match to 5%.
16277         (try_crossjump_to_edge): Hoist repeated indirection into
16278         local variables.
16279         (try_crossjump_bb): Don't check complex edges.  Eliminate
16280         redundant crossjump tests.
16281         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16282         checks before more expensive checks.
16283
16284 2001-07-22  Richard Henderson  <rth@redhat.com>
16285
16286         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16287         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16288         arguments.
16289
16290 2001-07-22  Richard Henderson  <rth@redhat.com>
16291
16292         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16293         (const_sint32_operand): Likewise.
16294         * m68k.md (anon mulsi pattern): Use const_int_operand not
16295         const_sint32_operand.
16296         (umulsi3_highpart): Zero extend a constant input.
16297         (smulsi3_highpart): Don't bother checking SImode constant.
16298         (const_umulsi3_highpart): Give op3 DImode.
16299         (const_smulsi3_highpart): Likewise.
16300
16301 2001-07-22  Richard Henderson  <rth@redhat.com>
16302
16303         * flow.c (split_block): Make sure bb_note is included in the
16304         new block when splitting before a label.
16305
16306 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16307
16308         * basic-block.h (redirect_edge_and_branch_force,
16309         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16310         * flow.c (redirect_edge_and_branch_force,
16311         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16312         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16313         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16314         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16315         instead of label; update CFG after transformation.
16316         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16317         for finishing the transformation; handle even case where ELSE
16318         does not follow THEN.
16319         (find_if_case_2): Update call of dead_or_predictable; simplify
16320         CFG update.
16321
16322         * emit-rtl.c (split_branch_probability): New global variable.
16323         (try_split): Take care to set split_branch_probability and
16324         create REG_BR_PROB note for new jump insns.
16325         * md.texi (define_split): Document new feature.
16326
16327         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16328
16329 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16330
16331         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16332         (asm_out_file): Remove redundant declaration.
16333         (assemble_asm): Remove old #if 0 block.
16334         (assemble_variable): Remove end of function; debug output is
16335         now handled with global_decl.  Remove old #if 0 block.  Update.
16336         Remove saved_in_section and associated no-op code.
16337         * Makefile.in (varasm.o): Correct dependencies.
16338
16339 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16340
16341         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16342         the definition in defaults.h.
16343
16344 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16345
16346         * jump.c: Update comments.
16347         (delete_barrier_successors, delete_unreferenced_labels,
16348         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16349         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16350         jump_optimize, jump_optimize_minimal): Kill.
16351         (rebuild_jump_labels): Move code from jump_optimize_1.
16352         (purge_line_number_notes): Likewise.
16353         (copy_loop_headers): Likewise.
16354         * reg-stack.c: Update comment.
16355         * stmt.c: Likewise.
16356         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
16357         JUMP_AFTER_REGSCAN): Kill.
16358         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
16359         purge_line_number_notes and copy_loop_headers.
16360
16361 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
16362            Richard Henderson  <rth@redhat.com>
16363
16364         * dbxout.c (dbxout_global_decl): New.
16365         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16366         * sdbout.c (sdbout_finish): New.
16367         (sdbout_debug_hooks): Use it, add comments.
16368         (sdbout_global_decl): Defer initialised public vars to
16369         sdbout_finish.
16370         * varasm.c (assemble_variable): Don't output debug information
16371         for file-scope variables.
16372
16373 2001-07-22  Richard Henderson  <rth@redhat.com>
16374
16375         * config/alpha/alpha.c (get_trap_mode_suffix): New.
16376         (get_round_mode_suffix): New.
16377         (print_operand): Use them for [/].  Remove support for [&'`()+].
16378         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
16379         * config/alpha/alpha.md (attr round_suffix): New.
16380         (attr trap_suffix): New.
16381         (all insns): Set them appropriately.  Use %/ instead of the
16382         myriad punctuators.
16383
16384 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16385
16386         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
16387
16388 2001-07-22  Richard Henderson  <rth@redhat.com>
16389
16390         * regrename.c (regrename_optimize): Compute nregs for each
16391         potential target register.
16392
16393 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
16394            Richard Henderson  <rth@redhat.com>
16395
16396         * dbxout.c (dbxout_global_decl): New.
16397         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16398         * sdbout.c (sdbout_finish): New.
16399         (sdbout_debug_hooks): Use it, add comments.
16400         (sdbout_global_decl): Defer initialised public vars to
16401         sdbout_finish.
16402         * varasm.c (assemble_variable): Don't output debug information
16403         for file-scope variables.
16404
16405 2001-07-21  H.J. Lu  (hjl@gnu.org)
16406
16407         * config/mips/mips.c (mips_cpu): Moved into ...
16408         (override_options): Here.
16409
16410         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
16411         mips_tune.
16412         (mips_cpu): Removed.
16413
16414 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16415
16416         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
16417         ("iorqi3"): Likewise.
16418         ("xorqi3"): Likewise.
16419         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
16420         ("*subhi3_sp): Likewise.
16421         ("*subhi3"): Likewise.
16422         ("extendhisi2"): Accept D, X and Y as source operand to avoid
16423         reload problems.
16424
16425 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
16426
16427         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
16428         * config/freebsd.h: Likewise.
16429         * config/linux.h: Likewise.
16430         * config/openbsd.h: Likewise.
16431         * config/alpha/linux-elf.h: Likewise.
16432         * config/arm/linux-elf.h: Likewise.
16433         * config/d30v/d30v.h: Likewise.
16434         * config/fr30/fr30.h: Likewise.
16435         * config/ia64/aix.h: Likewise.
16436         * config/ia64/ia64.h: Likewise.
16437         * config/mips/linux.h: Likewise.
16438         * config/pj/pj.h: Likewise.
16439         * config/rs6000/linux.h: Likewise.
16440         * config/sparc/linux.h: Likewise.
16441         * config/sparc/linux64.h: Likewise.
16442
16443 2001-07-20  Bruce Korb  <bkorb@gnu.org>
16444
16445         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
16446         because getc() and char* may disagree on signedness.
16447
16448 2001-07-20  Richard Henderson  <rth@redhat.com>
16449
16450         * doc/rtl.texi (REG_DEAD): Update for current semantics.
16451
16452         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
16453         insns to delete in the presence of cc0 in a jump insn.
16454
16455 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16456                                 Jan Hubicka  <jh@suse.cz>
16457
16458         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
16459         of doing the change by hand.
16460
16461 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16462
16463         * rtlanal.c (set_noop_p): Return true for noop jumps.
16464
16465         * expr.c (emit_single_push_insn): Add call to push expander.
16466         * expr.h (optab_index): Add OTI_push
16467         (push_optab): New constant.
16468         * genopinit.c (optabs): Add push_optab.
16469         * optabs.c (init_optab): Init push optab.
16470         * md.texi (push??1): Document
16471
16472 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16473
16474         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
16475         expand to emit the pattern; put a REG_INC note for push/pop
16476         instructions.
16477         ("movdf", "movdf_internal"): Likewise.
16478         ("movsi", "movsi_internal"): Likewise.
16479         ("movsf", "movsf_internal"): Likewise.
16480         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
16481
16482 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16483
16484         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
16485         gen_highpart.
16486
16487 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
16488
16489         * params.def: Change default max inline insns to 100.
16490
16491 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
16492
16493         * combine.c (combine_simplify_rtx): Generate a new shift operation
16494         when simplifying the first operand of a (neg (ashift)) expression.
16495
16496 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16497
16498         * regclass.c (N_REG_INTS): Use only 32 bits per element.
16499
16500 2001-07-20  Kelley Cook  <kelley.cook@home.com>
16501
16502         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
16503         information.   Move rest into ...
16504         (*-*-solaris): ... here.  Eliminate redundant information and
16505         reword necessary packages section.  Delete 4.x assembler bug info.
16506         (sparc-sun-*): Merge into ...
16507         (sparc-sun-sunos*): here.
16508
16509 2001-07-20  Catherine Moore  <clm@redhat.com>
16510
16511         * config/v850/v850.md (casesi): Generate LABEL_REF
16512         with Pmode.
16513
16514 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
16515
16516         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
16517         * i386.c (ix86_zero_extend_to_Pmode): Make global.
16518         * i386.md (strclrsi expander): Use it.
16519
16520 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16521
16522         * integrate.c (copy_insn_list): handle
16523         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
16524         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
16525         identically as to CODE_LABEL.
16526
16527         * fold-const (fold): Convert A/B/C to A/(B*C) and
16528         A/(B/C) to (A/B)*C
16529
16530         * except.c (connect_post_landing_pads): Delete the RESX insns.
16531
16532 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
16533
16534         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
16535
16536         * config/mips/mips.md (nmadd/nmsub): Use macro.
16537
16538 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
16539
16540         * cppinit.c (remove_dup_dir): Make static.
16541         (remove_dup_dirs): Make static. Only warn about preempting a
16542         system directory with a non-system directory.
16543
16544 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16545
16546         * ifcvt.c (noce_try_store_flag_constants): Correct order
16547         of parameters to trunc_int_for_mode.
16548
16549 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
16550
16551         * reorg.c (fill_simple_delay_slots): If an instruction might throw
16552         an exception that will be caught within this function, do not fill
16553         its delay slot with any subsequent instruction.
16554
16555 2001-07-19  Steve Ellcey <sje@cup.hp.com>
16556
16557         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
16558         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
16559         pointer extension instruction.
16560         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
16561         * simplify-rtx.c (simplify_unary_operation) Likewise.
16562         * explow.c (convert_memory_address) Check value of
16563         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
16564         less than zero.
16565         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
16566         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
16567         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
16568         Add Multilib Support.
16569         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
16570         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
16571         Add Multilib Support.
16572         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
16573         support.
16574         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
16575         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
16576         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
16577
16578 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
16579
16580         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
16581         old and new operands in `<', `3' and `b'.
16582
16583 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16584
16585         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
16586         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
16587         (toplev.o): Don't depend on xcoffout.h.
16588         * c-decl.c: Include debug.h
16589         (duplicate_decls): Use debug hook.
16590         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
16591         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16592         (dbxout_types): Remove.
16593         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
16594         * debug.c (do_nothing_debug_hooks): Update.
16595         (debug_true_tree, debug_nothing_rtx): New.
16596         * debug.h (struct rtx_def): New.
16597         (struct gcc_debug_hooks): New hooks ignore_block,
16598         outlining_inline_function and label.
16599         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
16600         dwarf2out_frame_finish): New.
16601         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
16602         Make static, update prototype.
16603         (dwarf2_debug_hooks): Update.
16604         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
16605         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
16606         * dwarfout.c (dwarf_debug_hooks): Update.
16607         * emit-rtl.c: Include debug.h.
16608         (remove_unnecessary_notes): Use debug hook.
16609         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
16610         (final_scan_insn): Use debug hook.
16611         * integrate.c (output_inline_function): Use debug hook.
16612         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
16613         (sdb_debug_hooks): Update.
16614         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
16615         * toplev.c: Don't include xcoffout.h.
16616         (note_outlining_of_inline_function, debug_ignore_block): Remove.
16617         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
16618         Remove.
16619         * tree.h (dwarf2out_do_frame): Remove.
16620
16621 2001-07-19  Catherine Moore  <clm@cygnus.com>
16622
16623         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
16624
16625 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16626
16627         * reload1.c (eliminate_regs_in_insn): When updating a set
16628         to the frame pointer to the hardware frame pointer, perform
16629         the update always not just when REPLACE is set.
16630
16631         * reload1.c (choose_reload_regs): Don't inherit a reload
16632         that crosses multiple registers if registers past the first
16633         don't fit in the desired class.
16634
16635         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
16636         when negating constants.
16637
16638 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
16639
16640         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
16641         * doc/tree.texi: Ditto.
16642
16643 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
16644             Jakub Jelinek  <jakub@redhat.com>
16645
16646         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
16647         (extract_cie_info): Handle "eh" augmentation properly,
16648         remember eh_ptr.
16649         (struct frame_state, __frame_state_for): New.
16650
16651 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16652
16653         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
16654         HANDLE_SYSV_PRAGMA): Define.
16655         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
16656         previous args.
16657         (copy_object): Caller changed.
16658
16659 2001-07-19  Andreas Schwab  <schwab@suse.de>
16660
16661         * configure.in (assembler dwarf2 debug_line support): Define nop
16662         insn for m68k.
16663         * configure: Regenerated.
16664
16665 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16666
16667         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
16668         dwarfout.h.
16669         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
16670         to conditionally compiled block.
16671         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16672         * dbxout.h (dbxout_function): Remove.
16673         * debug.c (do_nothing_debug_hooks): Update.
16674         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
16675         global_decl, deferred_inline_function.
16676         * dwarf2out.c (dwarf2_debug_hooks): Update.
16677         (dwarf2out_global_decl): New.
16678         * dwarfout.c: Don't include dwarfout.h.
16679         (dwarfout_global_decl, dwarfout_function_decl,
16680         dwarfout_deferred_inline_function): New.
16681         (dwarf_debug_hooks): Update.
16682         * dwarfout.h: Remove.
16683         * final.c: Don't include dwarfout.h.
16684         * sdbout.c (sdbout_global_decl): New.
16685         (sdbout_debug_hooks): Update.
16686         * toplev.c: Don't include dwarfout.h.
16687         (check_global_declarations, rest_of_compilation): Use new debug hooks.
16688         (note_deferral_of_defined_inline_function): Remove.
16689         * toplev.h (note_deferral_of_defined_inline_function): Remove.
16690         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
16691         * ch/lex.c: Don't include dwarfout.h.
16692         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
16693         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
16694         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
16695         * cp/optimize.c: Include debug.h.
16696         (maybe_clone_body): Use debug hook.
16697         * cp/semantics.c: Include debug.h.
16698         (expand_body): Use debug hook.
16699         * po/POTFILES.in: Remove dwarfout.h.
16700
16701 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16702
16703         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
16704         * c-parse.in (yyerror, _yylex): Similarly.
16705         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
16706         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
16707         Update comments.
16708         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
16709         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
16710
16711 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
16712
16713         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
16714         in-class declaration at -g1.  Fixes c++/2814.
16715
16716 2001-07-18  Richard Henderson  <rth@redhat.com>
16717
16718         * doc/md.texi (reload_in/out): Document restrictions in predicates
16719         and constraints for these patterns.  Document empty string matching
16720         ALL_REGS.
16721
16722 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16723
16724         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
16725
16726 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16727
16728         * cse.c: Undo my previous patch.
16729
16730 2001-07-18  Tom Tromey  <tromey@redhat.com>
16731
16732         For PR java/2812:
16733         * configure: Rebuilt.
16734         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
16735         instead.
16736         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
16737
16738 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
16739                                 Jan Hubicka  <jh@suse.cz>
16740
16741         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
16742         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
16743         * jump.c (mark_jump_label): Do not forward branches.
16744
16745 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
16746
16747         * cse.c (delete_trivially_dead_insns): Delete the libcall block
16748         when return value is unused.
16749
16750 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16751
16752         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
16753
16754 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
16755
16756         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
16757         on error.  We can't blindly return the result of
16758         pthread_mutex_trylock because it returns a positive number on
16759         error, while we must return -1 on error.
16760         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
16761         fixes.
16762         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
16763
16764 2001-07-18  Andreas Jaeger  <aj@suse.de>
16765
16766         * integrate.c (output_inline_function): Correct type of debug_hooks.
16767
16768 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16769
16770         * combine.c (combine_simplify_rtx): DIV can be treated
16771         associatively for floats if unsafe math optimisations are enabled.
16772
16773 2001-07-17  Richard Henderson  <rth@redhat.com>
16774
16775         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
16776
16777 2001-07-17  Richard Henderson  <rth@redhat.com>
16778
16779         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
16780         don't force the function address into a register.
16781         (expand_call, emit_library_call_value_1): Update callers.
16782         * builtins.c (expand_builtin_apply): Likewise.
16783         * expr.h (prepare_call_address): Update decl.
16784
16785 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
16786
16787         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
16788         config directory.
16789         * config/i386/chorus.h: Move up.
16790         * config/sparc/chorus.h: Likewise.
16791         * config/rs6000/chorus.h: Likewise.
16792         * config/chorus.h: Moved here.
16793
16794 2001-07-17  Andreas Schwab  <schwab@suse.de>
16795
16796         * configure.in  (assembler eh_frame optimization): Handle big
16797         endian.
16798         * configure: Regenerated.
16799
16800 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
16801
16802         * expr.c (epxand_expr): Convert divisions into multiplications by
16803         reciprocals if -ffast-math.
16804
16805 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
16806
16807         * dbxout.c (dbxout_really_begin_function): Rename to
16808         dbxout_begin_function.
16809         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16810         (dbxout_begin_function): Remove.
16811         (dbxout_function): Update.
16812         (dbxout_source_line): Update prototype.
16813         * dbxout.h (dbxout_begin_function): Remove.
16814         * debug.c (do_nothing_debug_hooks): Update.
16815         (debug_nothing_tree): Update.
16816         (debug_nothing_charstar_rtx): Remove.
16817         * debug.h (union tree_node): Declare.
16818         (struct rtx_def): Remove.
16819         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
16820         begin_function.  Change source_line prototype.
16821         (debug_nothing_tree): New.
16822         (debug_nothing_charstar_rtx): Delete.
16823         (dwarf2out_begin_prologue): Moved from ...
16824         * tree.h: ... here.
16825         * dwarf2out.c (dwarf2_debug_hooks): Update.
16826         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
16827         debug info, call dwarf2out_source_line.
16828         (dwarf2out_souce_line): Update prototype.
16829         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
16830         Change prototype, make static.
16831         (dwarfout_source_line): Update prototype.
16832         (dwarf_debug_hooks): Update.
16833         * dwarfout.h (dwarfout_begin_function): Remove.
16834         * final.c (final_start_function, final_scan_insn): Use appropriate
16835         debug hooks, update to use notice_source_line.
16836         (output_source_line): Rename notice_source_line.  Don't call the
16837         source_line debug hook.
16838         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
16839         make static, update prototype.
16840         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
16841         prototype.
16842         (sdbout_end_prologue): New.
16843         (sdbout_source_line): Update prototype.
16844         (sdbout_debug_hooks): Update.
16845         (sdbout_symbol): Remove unused var.
16846         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
16847         Delete.
16848         * varasm.c: Include debug.h.
16849         (assemble_start_function): Use begin_function debug_hook.
16850         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16851         update with prototype.
16852         (xcoffout_source_line): Update prototype.
16853         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16854         update prototype.
16855         (xcoffout_source_line): Update prototype.
16856
16857 2001-07-17  Richard Henderson  <rth@redhat.com>
16858
16859         * c-typeck.c (build_binary_op): Do not shorten unsigned
16860         right shift after sign extension.
16861
16862 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
16863
16864         * combine.c (combine_simplify_rtx): Attempt to simplify
16865         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
16866
16867         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
16868         (simplify_binary_operation, simplify_unary_operation,
16869          simplify_relational_operation): Use it.
16870
16871         * combine.c (combine_simplify_rtx): Don't do associative law
16872         on divisions; allow associative law on floats.
16873
16874 2001-07-17  H.J. Lu <hjl@gnu.org>
16875             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16876
16877         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
16878         ASM_OUTPUT_WEAK_ALIAS are defined.
16879         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
16880         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
16881         Moved ...
16882         * config/mips/iris5.h: ... here.
16883         (HANDLE_SYSV_PRAGMA): Defined as 1.
16884         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
16885         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
16886         symbol.
16887
16888 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
16889
16890         * c-parse.in (all_prefix_attributes): New variable.
16891         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
16892         (maybe_resetattrs): New production.
16893         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
16894         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
16895         notype_initdcl, nested_function, notype_nested_function,
16896         component_decl, components, components_notype,
16897         component_declarator, component_notype_declarator,
16898         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
16899         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
16900         after a comma being applied to more than one declarator.
16901         * doc/extend.texi (Attribute Syntax): Update.  Remove
16902         documentation of bugs that are no longer present.
16903
16904 2001-07-13  Eric Christopher  <echristo@redhat.com>
16905
16906         * config/mips/mips.h: Change TUNE_MIPS* options to use
16907         mips_tune.
16908         (EXTRA_SPECS): Add cc1_cpu_spec.
16909         * config/mips/mips.md (muldf3): Fix typo.
16910
16911 2001-07-16  Richard Henderson  <rth@redhat.com>
16912
16913         * config/m68k/m68k.c: Include expr.h and reload.h.
16914         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
16915         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
16916
16917 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16918             Richard Henderson  <rth@redhat.com>
16919
16920         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
16921         (insn_live_p): Fix fall off end of function.
16922         (dead_libcall_p): Remove COUNTS argument; update callers.
16923         (delete_trivially_dead_insns): Remove unused variables.
16924
16925 2001-07-17  Andreas Jaeger  <aj@suse.de>
16926
16927         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
16928         x86-64 pic support.
16929
16930         * lcm.c (optimize_mode_switching): Avoid warning for unused
16931         variable if !NORMAL_MODE.
16932
16933         * flow.c (try_crossjump_to_edge): Remove unused variable.
16934
16935 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16936
16937         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
16938         atexit declaration in stdlib.h.
16939
16940 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
16941
16942         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
16943
16944 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16945
16946         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
16947         * except.c (finish_eh_generation): Update call of cleanup_cfg;
16948         do rebuild_jump_labels instead of jump_optimize
16949         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
16950         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
16951         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
16952
16953         * flow.c: Include timevar.h
16954         (find_basic_block): Push/pop timevar;
16955         (cleanup_cfg): Likewise.
16956         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
16957         * Makefile: Add dependencies on timevar.h
16958
16959         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
16960         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
16961
16962         * rtl.h (delete_trivially_dead_insns): Add new parameter.
16963         * toplev.c (rest_of_compilation): Update calls.
16964         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
16965         (delete_trivially_dead_insns): ... here; accept new argument
16966         preserve_basic_blocks; preserve basic blocks if set.
16967
16968         * reg-stack.c (stack_regs_mentioned): Return 0 if
16969         stack_regs_mentioned_data is not initialized.
16970         (reg_to_stack): Make stack_regs_mentioned survive after the
16971         reg-stack is completted; do not call cleanup_cfg.
16972         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
16973         make cleanup_cfg after bb-reorder to output to debug file.
16974
16975 2001-07-16  Richard Henderson  <rth@redhat.com>
16976
16977         * regclass.c (init_reg_sets): Use only 32 bits per initializer
16978         from int_reg_class_contents.
16979
16980 2001-07-16  Richard Henderson  <rth@redhat.com>
16981
16982         * hard-reg-set.h (regs_invalidated_by_call): Declare.
16983         * regclass.c (regs_invalidated_by_call): Move from cse.c.
16984         (init_reg_sets_1): Move initialization from cse_main.
16985         * cse.c (regs_invalidated_by_call): Move to regclass.c.
16986         (cse_main): Move its initialization also.
16987         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
16988         * flow.c (propagate_one_insn): Likewise.
16989         * gcse.c (compute_hash_table): Likewise.
16990         (compute_kill_rd, compute_store_table): Likewise.
16991         * sched-deps.c (sched_analyze_1): Likewise.
16992
16993 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
16994
16995         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
16996         gen_rtx_SET.
16997
16998 2001-07-16  Steve Ellcey <sje@cup.hp.com>
16999
17000         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
17001         in if statement so we don't access undefined memory.
17002
17003 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
17004
17005         * gcse.c: Update comment at top.
17006         Update comment on mem handling.
17007         mem_last_set, mem_first_set, mem_set_in_block: gone.
17008         Declaration of reg_set_info: gone.
17009         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
17010         pointless with load_killed_in_block_p (they are *more*
17011         conservative then it, not less, and less accurate).
17012         (oprs_not_set_p): Ditto.
17013         (alloc_gcse_mem): Don't allocate mem_set_in_block
17014         (free_gcse_mem): Don't free it, either.
17015         (record_last_mem_set_info): Update comment in front, remove
17016         mem_*set_* stuff. Note the reason we don't handle stores directly
17017         here.
17018         (compute_hash_table): Update comments to reflect reality. Remove
17019         mem_*set_* references.
17020         (reset_opr_set_tables): Remove mem_*set_* references.
17021         (mark_call): Ditto.
17022         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
17023         (mark_clobber): Ditto (on both parts, we double set here too).
17024         (expr_killed_p): Remove mem_set_in_block test.
17025         (compute_transp): Remove mem_set_in_block test.
17026
17027         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
17028         of edge, and removal of phi alternative to dump file.
17029         (ssa_ccp_substitute_constants): Add note about register now being
17030         constant, and which uses were replaced in what insns to dump file.
17031
17032 2001-07-16  Andreas Jaeger  <aj@suse.de>
17033
17034         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
17035         variables of type HOST_WIDEST_INT.
17036
17037         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
17038         (__bb_exit_func): Correct type of count_max to avoid overflow.
17039         (num_digits): Handle long long argument.
17040
17041         * combine.c (gen_lowpart_for_combine): Remove unused variable.
17042
17043 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
17044
17045         * output.h (sdb_begin_function_line): Restore as an extern
17046         variable.
17047         * sdbout.c (sdb_begin_function_line): Make extern.
17048
17049 2001-07-15  Richard Henderson  <rth@redhat.com>
17050
17051         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
17052         * genrecog.c (maybe_both_true_mode): New.
17053         (maybe_both_true_2): Use it.
17054         (write_switch): Don't put Pmode in a switch.
17055         * rtl.c (mode arrays): Don't explicitly size them.
17056
17057 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
17058
17059         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
17060         handling; move unconditional splitting before mode switching.
17061
17062         * i386.md (type): Add fistp type.
17063         (i387, length_attr, scheduling definitions): Handle this type.
17064         (fix_trunc?f?i2): Revamp to use mode switching.
17065         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17066         * i386.h (fp_cw_mode): New enum
17067         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17068         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17069
17070 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17071
17072         * Makefile.in (integrate.o): Add debug.h.
17073         * integrate.c (debug.h): Add.
17074         (output_inline_function): Save, reset, and restore debug_hooks.
17075
17076 2001-07-15  Richard Henderson  <rth@redhat.com>
17077
17078         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17079         instead of COMPARE for the EQUIV expression.
17080
17081 2001-07-15  Richard Henderson  <rth@redhat.com>
17082
17083         * flow.c (redirect_edge_and_branch_force): Initialize
17084         global_live_at_start and global_live_at_end.
17085         (allocate_bb_life_data): Export.
17086         * basic-block.h (allocate_bb_life_data): Declare.
17087         * toplev.c (rest_of_compilation): Call it.
17088
17089 2001-07-15  Richard Henderson  <rth@redhat.com>
17090
17091         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17092         (alpha_tablejump_best_label): New.
17093         * config/alpha/alpha-protos.h: Declare them.
17094         * config/alpha/alpha.md: Use braced strings for code blocks.
17095         (tablejump_osf): Break out add with r29.
17096         (tablejump_osf_internal): Remove.
17097         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17098         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17099
17100 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
17101
17102         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17103         of the movable.
17104
17105         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17106
17107         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17108         (ix86_fp_jump_nontrivial_p): New.
17109         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17110         use ix86_fp_jump_nontrivial_p.
17111         * i386.c (ix86_fp_jump_nontrivial_p): New.
17112         (ix86_split_fp_branch): Accept code instead of rtx.
17113         (ix86_expand_compare): Expand comparison early in case
17114         doing so is resonably cheap.
17115
17116 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17117
17118         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17119         not 'machine'.
17120         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17121         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17122
17123 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17124
17125         * dbxout.c (dbxout_source_line): Make static, update prototype.
17126         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17127         (dbxout_init, dbxout_finish, dbxout_source_line,
17128         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17129         * dbxout.h (dbxout_source_line): Delete.
17130         * debug.c (debug_nothing_file, debug_nothing_file_int,
17131         debug_nothing_file_charstar_rtx): New.
17132         (do_nothing_debug_hooks): Update.
17133         (debug_nothing_void, debug_nothing_charstar_rtx,
17134         dwarf2out_end_epilogue): New.
17135         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17136         * debug.h (struct rtx_def): Declare.
17137         (gcc_debug_hooks): New hooks source_line, end_epilogue
17138         and end_function.
17139         (debug_nothing_void, debug_nothing_charstar_rtx,
17140         dwarf2out_end_epilogue): New.
17141         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17142         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17143         (dwarf2_debug_hooks): Update.
17144         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17145         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17146         * dwarf2out.h (dwarf2out_source_line): Remove.
17147         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17148         Make static, update prototype.
17149         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17150         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17151         (dwarf_debug_hooks): Update.
17152         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17153         dwarfout_end_function): Remove.
17154         * final.c (profile_function): Use debug hooks for ending functions
17155         and epilogues.
17156         (output_source_line, final_end_function): Update prototype,
17157         use debug hooks.
17158         (final_start_function, final_scan_insn): Update.
17159         * output.h (sdb_begin_function_line): Remove.
17160         (final_end_function): Update prototype.
17161         * sdbout.c (sdb_begin_function_line): Make static.
17162         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17163         (sdbout_source_line): New.
17164         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17165         prototypes.
17166         (sdb_debug_hooks): Update.
17167         (sdbout_init, sdbout_source_line,
17168         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17169         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17170         * toplev.c (compile_file, rest_of_compilation): Update.
17171         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17172         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17173         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17174         Update for prototype changes.
17175         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17176         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17177
17178 2001-07-15  Richard Henderson  <rth@redhat.com>
17179
17180         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17181         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17182         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17183         * config/alpha/alpha.c: Likewise.
17184         * config/alpha/alpha.md: Likewise.
17185         * config/alpha/alpha32.h: Likewise.
17186         * config/alpha/vms.h: Likewise.
17187         (OPEN_VMS): Remove.
17188
17189 2001-07-14  Richard Henderson  <rth@redhat.com>
17190
17191         * config/alpha/alpha.md: Use define_constants for unspec values.
17192         Substitute throughout.
17193
17194 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17195
17196         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17197
17198 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17199
17200         * pa.md: Remove unused constraints from define_split's.
17201
17202 2001-04-14  Richard Henderson  <rth@redhat.com>
17203
17204         * ifcvt.c (find_cond_trap): Test for exit block.
17205
17206 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17207
17208         Re-install recently reverted patch.
17209         * emit-rtl.c (try_split): Update mark_jump_label call.
17210         * flow.c (find_sub_basic_blocks): Likewise.
17211         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17212         jump_back_p): Kill.
17213         (mark_all_labels): Kill second parameter.
17214         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17215         (rebuild_jump_labels, jump_optimize_minimal): Update call
17216         of jump_optimize_1.
17217         (jump_optimize_1): Kill crossjumping code.
17218         (mark_jump_label): Kill cross_jump parameter.
17219         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17220         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17221         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17222          splitting.
17223         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17224         DFI_bpro.
17225         (dump_file_info): Likewise.
17226         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17227         reorganize passes to do reg-stack first, bb-reorder second.
17228         * invoke.texi (-d letters doc): Remove the jump2 pass.
17229
17230 2001-07-14  Richard Henderson  <rth@redhat.com>
17231
17232         * ifcvt.c (find_cond_trap): New.
17233         (find_if_header): Call it.
17234         (merge_if_block): Relax existing jump sanity check.
17235         * jump.c (jump_optimize_1): Remove conditional trap handling.
17236
17237 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17238
17239         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17240         millicode.
17241         (insn_refs_are_delayed): Correct comment.
17242         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17243         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17244         instead of r31.  Make associated insn !TARGET_64BIT, and
17245         provide an additional 64-bit insn that clobbers r2.
17246         (divsi3): Likewise.
17247         (udivsi3): Likewise.
17248         (modsi3): Likewise.
17249         (umodsi3): Likewise.
17250
17251 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17252
17253         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17254
17255         * flow.c (redirect_edge_and_branch_force, split_edge,
17256         try_crossjump_to_edge): Use set_block_for_new_insns.
17257         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17258
17259 2001-07-13  H.J. Lu  (hjl@gnu.org)
17260
17261         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17262         the correct patch.
17263
17264 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17265
17266         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17267
17268 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17269
17270         * c-common.c (decl_attributes): Take a pointer to the node to
17271         which attributes are to be attached, and a flags argument.
17272         * c-common.h (enum attribute_flags): New.
17273         (decl_attributes): Update prototype.
17274         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17275         finish_enum, start_function): Update calls to decl_attributes.
17276         * c-parse.in (component_declarator, component_notype_declarator,
17277         label): Update calls to decl_attributes.
17278
17279 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17280
17281         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17282         * config/avr/avr.c (legitimate_address_p): Return value changed
17283         from letter to register classes. For better debugging.
17284
17285 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17286
17287         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17288
17289 2001-07-13  H.J. Lu  (hjl@gnu.org)
17290
17291         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17292
17293 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17294
17295         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17296         correctly for shared configurations.
17297         * config/t-libgcc-pic:  New.
17298         * config/{i386,m68k,sparc}/t-openbsd:  New.
17299         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17300         Support -shared.  Support debugging libraries with -g.
17301         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17302         frame information does not emit pointer diffs.
17303         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17304         emit pointer diffs.
17305
17306 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17307
17308         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17309
17310 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17311
17312         * combine.c (try_combine): Ensure const_int pow2 is positive.
17313
17314 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17315
17316         * config.gcc: Add configuration for s/390.
17317         * config/s390/s390.c: New. Subroutines for code generation.
17318         * config/s390/s390.h: New. Definitions for s/390.
17319         * config/s390/s390-protos.h: New. Prototypes.
17320         * config/s390/linux.h: New. Definitions for linux for s/390.
17321         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17322         * config/s390/t-linux: New. Makefile fragment.
17323         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17324         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17325
17326 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17327
17328         * emit-rtl.c (try_split): Update mark_jump_label call.
17329         * flow.c (find_sub_basic_blocks): Likewise.
17330         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17331         jump_back_p): Kill.
17332         (mark_all_labels): Kill second parameter.
17333         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17334         (rebuild_jump_labels, jump_optimize_minimal): Update call
17335         of jump_optimize_1.
17336         (jump_optimize_1): Kill crossjumping code.
17337         (mark_jump_label): Kill cross_jump parameter.
17338         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17339         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17340         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17341          splitting.
17342         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17343         DFI_bpro.
17344         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17345         reorganize passes to do reg-stack first, bb-reorder second.
17346         * invoke.texi (-d letters doc): Remove the jump2 pass.
17347
17348 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17349
17350         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
17351
17352 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17353
17354         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
17355         basic blocks.
17356         (verify_flow_info): Make diagnostics prettier.
17357
17358 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
17359
17360         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
17361
17362         * flow.c (outgoing_edges_match): Return early if condition reversal
17363         failed.
17364
17365 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
17366
17367         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
17368         (mips_move_2words): When splitting a move into two instructions,
17369         prefix the second address operand with '%D'.
17370
17371 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
17372
17373         * Makefile.in (final.o): Depend on debug.h.
17374         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
17375         (dbx_debug_hooks): Add new hooks.
17376         (xcoff_debug_hooks): New.
17377         * debug.c (debug_nothing_file_int_int): New.
17378         (do_nothing_debug_hooks): Update.
17379         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
17380         (debug_nothing_file_int_int): New.
17381         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
17382         static, update prototype.
17383         (dwarf2_debug_hooks): Update.
17384         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
17385         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
17386         static, update prototype.
17387         (dwarf_debug_hooks): Update.
17388         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
17389         * final.c: Include debug.h.
17390         (final_scan_insn): Use debug hooks when beginning and ending blocks.
17391         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
17392         static, update prototype.
17393         (sdb_debug_hooks): Update.
17394         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
17395         * toplev.c: Distinguish between xcoff and dbx.
17396
17397         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
17398         Call all debug hooks, not just dwarf ones.
17399
17400 2001-07-11  Timothy Wall  <twall@redhat.com>
17401
17402         * config.gcc: Add configuration for AIX5/IA64.
17403         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
17404         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
17405         support prefix/suffix code.
17406         * config/ia64/t-aix: New.  Makefile fragment.
17407         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
17408
17409 2001-07-11  Kazu Hirata  <kazu@hxi.com>
17410
17411         * recog.c (validate_change): Fix a comment typo.
17412
17413 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
17414
17415         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
17416         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
17417         hooks directly.
17418         * dbxout.c (dbx_debug_hooks): Add new hooks.
17419         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
17420         make static.
17421         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
17422         make static.
17423         * dbxout.h (dbxout_start_new_source_file,
17424         dbxout_resume_previous_source_file): Delete.
17425         * debug.c (do_nothing_debug_hooks): Add new hooks.
17426         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17427         (debug_nothing_int_charstar, debug_nothing_int): New.
17428         * debug.h (gcc_debug_hooks): New hooks define, undef,
17429         start_source_file and end_source_file.
17430         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17431         (debug_nothing_int_charstar, debug_nothing_int): New.
17432         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
17433         the conditionally compiled section.
17434         (dwarf2out_start_source_file, dwarf2out_end_source_file,
17435         dwarf2out_define, dwarf2out_undef): Make static.
17436         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
17437         dwarf2out_define, dwarf2out_undef): Remove.
17438         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
17439         (dwarfout_start_source_file, dwarfout_end_source_file,
17440         dwarfout_define, dwarfout_undef): Make static.
17441         (dwarfout_start_source_file_check,
17442         dwarfout_end_source_file_check): New.
17443         (dwarfout_define, dwarfout_finish): Update.
17444         * dwarfout.h (dwarfout_start_new_source_file,
17445         dwarfout_resume_previous_source_file, dwarfout_define,
17446         dwarfout_undef): Remove.
17447         * sdbout.c (sdb_debug_hooks): Add new hooks.
17448         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
17449         make static.
17450         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
17451         make static, take an arg.
17452         * sdbout.h (sdbout_start_new_source_file,
17453         sdbout_resume_previous_source_file): Delete.
17454         * toplev.c (debug_start_source_file, debug_end_source_file,
17455         debug_define, debug_undef): Delete.
17456         * toplev.h (debug_start_source_file, debug_end_source_file,
17457         debug_define, debug_undef): Delete.
17458
17459         * java/jcf-parse.c: Include debug.h.
17460         (parse_class_file): Update to use debug hooks directly.
17461         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
17462
17463 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17464
17465         * alias.c (set_mem_alias_set): New function.
17466         * rtl.h (set_mem_alias_set): Declare it.
17467         * builtins.c (expand_builtin_return_addr): Call it instead of
17468         using MEM_ALIAS_SET accessor.
17469         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
17470         (get_memory_rtx, expand_builtin_va_arg): Likewise.
17471         (expand_builtin_va_copy):Likewise.
17472         * caller-save.c (setup_save_areas): Likewise.
17473         * calls.c (compute_argument_addresses): Likewise.
17474         * explow.c (set_mem_attributes): Likewise.
17475         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
17476         (expand_assignment, store_constructor_field, store_field): Likewise.
17477         (expand_expr_unaligned): Likewise.
17478         * function.c (assign_stack_temp_for_type): Likewise.
17479         (put_reg_into_stack, gen_mem_addressof): Likewise.
17480         * ifcvt.c (noce_try_cmove_arith): Likewise.
17481         * reload1.c (reload, alter_reg): Likewise.
17482         * config/alpha/alpha.c (get_aligned_mem): Likewise.
17483         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
17484         (alpha_expand_unaligned_store): Likewise
17485         (alpha_expand_unaligned_load_words): Likewise.
17486         (alpha_expand_unaligned_store_words): Likewise.
17487         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
17488         (alpha_expand_epilogue): Likewise.
17489         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
17490         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
17491         * config/i386/i386.c (legitimize_pic_address): Likewise.
17492         * config/i960/i960.c (setup_incoming_varargs): Likewise.
17493         * config/ia64/ia64.c (spill_restore_mem): Likewise.
17494         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
17495         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
17496         * config/mips/mips.c (mips_va_arg): Likewise.
17497         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17498         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17499         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
17500         (setup_incoming_varargs, rs6000_va_arg): Likewise.
17501         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
17502         (rs6000_emit_epilogue): Likewise.
17503         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
17504         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17505         * config/v850/v850.c (v850_va_arg): Likewise.
17506
17507 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
17508
17509         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
17510         when fallthru edge is present.
17511         (mege_blocks): Handle case where creation of jump insn
17512         is required.
17513
17514         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
17515         CLEANUP_POST_REGSTACK): New constants.
17516         * except.c (finish_eh_generation): Update call of cleanup_cfg,
17517         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
17518         * output.h (cleanup_cfg): Update prototype.
17519         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
17520         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
17521         cleanup_cfg call; kill missleading comment.
17522         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
17523         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
17524         parameter; control optimizations performed using it.
17525         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
17526         try_crossjump_bb): New functions.
17527
17528 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17529
17530         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
17531         extern.
17532         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
17533         pa_output_function_prologue.
17534         * pa-protos.h (pa_output_function_prologue): New prototype.
17535
17536 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17537
17538         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
17539         and low to get correct sign extension in low+high test.
17540
17541 2001-07-11  Janis Johnson <janis@us.ibm.com>
17542
17543         * gcov.c (arcdata): Use gcov_type to fix branch percentage
17544         for large hit count.
17545
17546         * profile.c (branch_prob): Fix .bbg info for computed gotos
17547         and C++ EH code.
17548
17549 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
17550
17551         * stmt.c (parse_output_constraint): New function, split out
17552         from ...
17553         (expand_asm_operands): ... here.  Use parse_output_constraint.
17554         * tree.h (parse_output_constraint): Declare it.
17555
17556 2001-07-11  Richard Henderson  <rth@redhat.com>
17557
17558         * bitmap.c: Comment some functions; fiddle whitespace.
17559         (bitmap_free): Don't export.
17560         (bitmap_element_allocate): Use memset.
17561         * bitmap.h (bitmap_free): Don't declare.
17562
17563 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
17564
17565         * gcse.c, lcm.c, sched-deps.c:
17566         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
17567
17568         * flow.c (flow_loops_find): Free dom if we found no loops, since
17569         we aren't going to save it.
17570
17571         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
17572         done.
17573
17574 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
17575
17576         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
17577
17578 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17579
17580         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
17581         #ifndef DWARF2_DEBUGGING_INFO.
17582
17583 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17584
17585         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
17586
17587 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17588
17589         * config/mips/mips.c (gen_int_relational): Tell the caller not to
17590         reverse a branch if a NE comparison is implemented with GTU.
17591
17592 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17593             H.J. Lu  <hjl@gnu.org>
17594
17595         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
17596         constant addresses.
17597         (call_internal2): Likewise.
17598         (call_value_internal1): Likewise.
17599         (call_value_internal2): Likewise.
17600         (call_value_multiple_internal1): Likewise.
17601         (call_value_multiple_internal2): Likewise.
17602
17603 2001-07-10  Kazu Hirata  <kazu@hxi.com>
17604
17605         * calls.c (emit_library_call_value_1): Fix a comment typo.
17606         * dwarf2out.c (mem_loc_descriptor): Likewise.
17607         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
17608
17609 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
17610
17611         * simplify-rtx.c (simplify_subreg): Fix typo in comment
17612
17613 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17614
17615         * recog.c (offsettable_address_p): Handle LO_SUM case.
17616         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
17617         instead of plus_constant.
17618
17619 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17620
17621         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
17622         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
17623
17624 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17625
17626         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
17627         adjust_address_nv instead of plus_constant.
17628
17629 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
17630
17631         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
17632         dwarf2out.o): Depend on debug.h, wrap long lines.
17633         * dbxout.c: Include debug.h.
17634         (dbx_debug_hooks): New.
17635         (dbxout_init): Make static, take just 2 args.
17636         (dbxout_finish): Make static.
17637         * dbxout.h (dbxout_init, dbxout_finish): Delete.
17638         * debug.c: New file.
17639         * debug.h: New file.
17640         * dwarf2out.c: Include debug.h.
17641         (dwarf2_debug_hooks): New.
17642         (dwarf2out_init): Make static.
17643         (dwarf2out_finish): Make static, take 2 args.
17644         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
17645         * dwarfout.c: Include debug.h.
17646         (dwarf_debug_hooks): New.
17647         (dwarfout_init): Make static.
17648         (dwarfout_finish): Make static, take 2 args.
17649         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
17650         * sdbout.c: Include debug.h.
17651         (sdb_debug_hooks): New.
17652         (sdbout_init): Make static, take 2 args.
17653         * sdbout.h (sdbout_init): Delete.
17654         * toplev.c: Include debug.h.
17655         (debug_hooks): New.
17656         (compile_file): Set deubg_hooks based on command line options.
17657         Use the hooks unconditionally rather than conditional compilation.
17658
17659 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
17660
17661         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
17662         first_insn_after_basic_block_note instead.
17663
17664         * df.c (df_bb_refs_unlink): #if 0 out for now.
17665
17666 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
17667
17668         * ssa.h: Add prototype for ssa_const_prop
17669         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
17670         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
17671         (ssa_fast_dce): Remove unused variable
17672
17673 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17674
17675         * diagnostic.c (finish_diagnostic): Rename to
17676         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
17677         calls thourghout.
17678
17679 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
17680
17681         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
17682         .loc support.
17683
17684         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
17685         (dump_file): Only pad the demangled name with spaces if the
17686         mangled name was padded with spaces.
17687
17688 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
17689
17690         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
17691         edge detection.
17692
17693 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17694
17695         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
17696         extraction if no direct load if either EXPAND_CONST_ADDRESS or
17697         EXPAND_INITIALIZER.
17698
17699         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
17700         whether can put offset inside LO_SUM to check mode alignment, not size.
17701
17702 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17703
17704         * doc/tm.texi (Misc): Fix thinko.
17705
17706 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
17707
17708         * regmove.c (replace_in_call_usage): Fix warnings.
17709         * sched-deps.c (add_dependence): Fix warnings.
17710         * simplify-rtx.c (simplify_subreg): Likewise.
17711         Return NULL_RTX instead of NULL.
17712
17713         * reg-stack.c (emit_swap_insn): Eliminate warnings.
17714         (subst_asm_stack_regs): Likewise.
17715
17716         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
17717         warnings.
17718
17719         * dwarf2out.c (output_call_frame_info): Declare i as int.
17720         (build_abbrev_table): Declare n_alloc as int.
17721         (dwarf2out_finish): Initialize die.
17722         * except.c: Declare sjlj_funcdef_number as unsigned.
17723         (connect_post_landing_pads): Declare j as unsigned.
17724         (convert_to_eh_region_ranges): Initialize call_site.
17725         (output_function_exception_table): Initialize tt_format_size.
17726         * expr.c (move_by_pieces_1): Initialize to1.
17727         (store_constructor): Initialize minelt and maxelt.
17728         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
17729         * function.c (instantiate_decls): Avoid signed/unsigned warning.
17730
17731         * c-decl.c (combine_parm_decls): Unused, remove.
17732         * c-tree.h: Remove prototype for combine_parm_decls.
17733
17734         * reload.c (push_reload): Fix warning.
17735         (regno_clobbered_p): Likewise.
17736         * reload1.c (replace_pseudos_in_call_usage): Likewise.
17737         (reload_combine): Likewise.
17738
17739         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
17740         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
17741         warnings.
17742         * bitmap.c (bitmap_operation): Change user.
17743         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
17744
17745 2001-07-10  Eric Christopher  <echristo@redhat.com>
17746
17747         * config/mips/mips.c (override_options): Fix typo.
17748
17749 2001-07-09  Stan Shebs  <shebs@apple.com>
17750
17751         * target.h (struct gcc_target): New fields init_builtins and
17752         expand_builtin.
17753         * target-def.h (TARGET_INIT_BUILTINS): New macro.
17754         (TARGET_EXPAND_BUILTIN): New macro.
17755         (TARGET_INITIALIZER): Add them.
17756         * builtins.c: Include target.h.
17757         (expand_builtin): Use targetm.expand_builtin.
17758         (default_init_builtins): New function.
17759         (default_expand_builtin): New function.
17760         * expr.h (default_init_builtins): Declare.
17761         (default_expand_builtin): Declare.
17762         * c-common.c (c_common_nodes_and_builtins): Use
17763         targetm.init_builtins.
17764         * defaults.h (MD_INIT_BUILTINS): Remove.
17765         * Makefile.in (builtins.o): Depend on target.h.
17766
17767         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
17768         (TARGET_EXPAND_BUILTIN): Define.
17769         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
17770         (MD_EXPAND_BUILTIN): Remove.
17771
17772         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
17773         (TARGET_EXPAND_BUILTIN): Define.
17774         (c4x_init_builtins): Make endlink arg a local.
17775         (c4x_print_operand): Fix typos in adjust_address usages.
17776         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
17777         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
17778         (MD_EXPAND_BUILTIN): Remove.
17779
17780         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
17781         (TARGET_EXPAND_BUILTIN): Define.
17782         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
17783         (ix86_init_builtins): Call new function only if TARGET_MMX.
17784         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
17785         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
17786         (MD_EXPAND_BUILTIN): Remove.
17787
17788         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
17789         (TARGET_EXPAND_BUILTIN): Define.
17790         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
17791         (MD_EXPAND_BUILTIN): Remove.
17792
17793         * doc/tm.texi: Document these changes.
17794
17795 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
17796
17797         * basic-block.h (tree_node): Forward declare if needed.
17798         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
17799         (BLOCK_HEAD_TREE): Define.
17800         (BLOCK_END_TREE): Define.
17801         (struct loops): Rename field 'tree' to 'tree_root'.
17802         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
17803         'end_tree'.
17804         (flow_loops_tree_build): Rename reference to field 'tree' to
17805         'tree_root'.
17806         (flow_loops_level_compute): Ditto.
17807         * predict.c (estimate_bb_frequencies): Ditto.
17808         * tree.h (struct tree_common): Add field 'aux'.
17809
17810 2001-07-09  Stan Shebs  <shebs@apple.com>
17811
17812         * config/darwin.c (darwin_encode_section_info): Don't mark any
17813         DECL_EXTERNAL node as defined.
17814
17815 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17816
17817         * pa.c (pa_init_machine_status, pa_mark_machine_status,
17818         pa_free_machine_status, hppa_init_pic_save): Delete.
17819         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
17820         (hppa_profile_hook): Use hppa_pic_save_rtx.
17821         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
17822         hppa_init_pic_save): Delete.
17823         (hppa_pic_save_rtx): Declare.
17824         * pa.md (call, call_value, sibcall, sibcall_value,
17825         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
17826
17827 2001-07-09  Kazu Hirata  <kazu@hxi.com>
17828
17829         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
17830         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
17831
17832 2001-07-09  Andreas Jaeger  <aj@suse.de>
17833
17834         * output.h: Add declaration of final_forward_branch_p.
17835
17836         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
17837
17838         * varray.c: Include errors.h for internal_error and trim_filename
17839         declarations.
17840
17841         * Makefile.in (varray.o): Add errors.h.
17842
17843 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
17844
17845         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
17846         * optabs.c (have_add2_insn): Check whether the add insn chosen
17847         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
17848         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
17849
17850 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
17851
17852         * Makefile.in (OBJS): Add ssa-ccp.o
17853         (ssa-ccp.o): Add dependencies.
17854         * toplev.c (DFI_ssa_ccp): New dump file enum.
17855         (dump_file): Add entry for dumping after SSA CCP.
17856         (flag_ssa_ccp): New flag variable.
17857         (f_options): Add -fssa-ccp.
17858         (rest_of_compilation): Run SSA CCP if requested.
17859         * timevar.def (TV_SSA_CCP): New timevar.
17860         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
17861         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
17862         Fix minor typo in SSA DCE documentation.
17863         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
17864         Add documentation for new dump option.  Renumber dump files
17865         appropriately.
17866
17867 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17868
17869         * emit-rtl.c (gen_highpart_mode): New.
17870         * rtl.h (gen_highpart_mode): Declare.
17871         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
17872         operand can be VOIDmode constant.
17873
17874 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
17875
17876         * flow.c (redirect_edge_and_branch_force): New.
17877         (can_fallthru): Ensure that basic blocks are succeeding.
17878         (try_optimize_cfg): Do not delete basic block if it is the last one.
17879
17880         * flow.c (try_redirect_by_replacing_jump): Do not remove
17881         jumps with side effects, unlink chain on fallthru edge;
17882         set block for new jump instruction; avoid basic block to
17883         over by line number note.
17884
17885         * flow.c (try_simplify_condjump): Verify that the condjump
17886         is not always falling through.
17887
17888         Re-install patch:
17889         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17890
17891         * flow.c (forwarder_block_p): Fix for fallthru blocks.
17892         (try_redirect_by_replacing_jump): Update properly the count
17893         and frequency information.
17894
17895 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17896
17897         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
17898         address that is a LO_SUM specially.
17899         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
17900
17901         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
17902
17903         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
17904         (operand_subword): Use them.
17905         (change_address_1): Renamed from change_address; new arg VALIDATE.
17906         * expr.h: Reflect above changes; change_address now macro.
17907         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
17908         making MEM.
17909         * cselib.c (add_mem_for_addr): Likewise.
17910         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
17911         * regmove.c (try_apply_stack_adjustment): Likewise.
17912         * reload.c (push_reload, make_memloc): Likewise.
17913         * reload1.c (eliminate_regs): Likewise.
17914         * simplify-rtx.c (simplify_replace_rtx): Likewise.
17915         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
17916         adjust_addess.
17917         * combine.c (make_extraction, simplify_shift_const): Likewise.
17918         (gen_lowpart_for_combine): Likewise.
17919         * cse.c (gen_lowpart_if_possible): Likewise.
17920         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
17921         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
17922         * optabs.c (gen_move_insn): Likewise.
17923         * reload1.c (alter_reg): Likewise.
17924         * simplify-rtx.c (simplify_subreg): Likewise.
17925         * stmt.c (expand_anon_union_decl): Likewise.
17926         * recog.c (validate_replace_rtx_1): Likewise.
17927         (expr.h): Include.
17928         * Makefile.in (recog.o): Add $(EXPR_H).
17929         * explow.c (stabilize): Call replace_equiv_address.
17930         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
17931         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
17932
17933 2001-07-03  Andrew Haley  <aph@redhat.com>
17934
17935         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
17936         the mode of the memory location.
17937
17938 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
17939
17940         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
17941
17942 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
17943
17944         * final.c (output_addr_const): Use target opening and
17945         closing parentheses.
17946         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
17947         defaults, add to TARGET_ASM_OUT.
17948         * target.h (struct gcc_target): Add open_paren and close_paren.
17949         * doc/md.texi: Update.
17950         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
17951         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
17952         TARGET_ASM_CLOSE_PAREN.
17953         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17954         Override.
17955         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17956         Override.
17957         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
17958         * config/a29k/a29k.h: Similarly.
17959         * config/alpha/alpha.h: Similarly.
17960         * config/arc/arc.h: Similarly.
17961         * config/arm/aof.h: Similarly.
17962         * config/arm/aout.h: Similarly.
17963         * config/avr/avr.h: Similarly.
17964         * config/c4x/c4x.h: Similarly.
17965         * config/clipper/clipper.h: Similarly.
17966         * config/convex/convex.h: Similarly.
17967         * config/d30v/d30v.h: Similarly.
17968         * config/dsp16xx/dsp16xx.h: Similarly.
17969         * config/elxsi/elxsi.h: Similarly.
17970         * config/fr30/fr30.h: Similarly.
17971         * config/h8300/h8300.h: Similarly.
17972         * config/i370/i370.h: Similarly.
17973         * config/i386/i386.h: Similarly.
17974         * config/i860/i860.h: Similarly.
17975         * config/i960/i960.h: Similarly.
17976         * config/ia64/ia64.h: Similarly.
17977         * config/m32r/m32r.h: Similarly.
17978         * config/m68hc11/m68hc11.h: Similarly.
17979         * config/m68k/m68k.h: Similarly.
17980         * config/m88k/m88k.h: Similarly.
17981         * config/mcore/mcore.h: Similarly.
17982         * config/mips/mips.h: Similarly.
17983         * config/mn10200/mn10200.h: Similarly.
17984         * config/mn10300/mn10300.h: Similarly.
17985         * config/ns32k/ns32k.h: Similarly.
17986         * config/pa/pa.h: Similarly.
17987         * config/pdp11/pdp11.h: Similarly.
17988         * config/pj/pj.h: Similarly.
17989         * config/romp/romp.h: Similarly.
17990         * config/rs6000/rs6000.h: Similarly.
17991         * config/sh/sh.h: Similarly.
17992         * config/sparc/sparc.h: Similarly.
17993         * config/v850/v850.h: Similarly.
17994         * config/vax/vax.h: Similarly.
17995         * config/we32k/we32k.h: Similarly.
17996
17997 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
17998
17999         * doc/c-tree.texi: Document representation of attributes.
18000
18001 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18002
18003         * doc/tm.texi: Update some places for the rename of target to
18004         targetm.  Fix typo.
18005
18006 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18007
18008         * target.h (struct gcc_target): Add insert_attributes.
18009         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
18010         (TARGET_INITIALIZER): Update.
18011         * tree.c, tree.h (default_insert_attributes): New function.
18012         Update comments on other default functions to refer to targetm,
18013         not target.
18014         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
18015         TARGET_INSERT_ATTRIBUTES.
18016         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
18017         * c-common.c (decl_attributes): Use targetm.insert_attributes.
18018         Don't use PRAGMA_INSERT_ATTRIBUTES.
18019         * Makefile.in (c-common.o): Depend on $(TARGET_H).
18020         * c-decl.c (start_decl, start_function): Don't call
18021         SET_DEFAULT_DECL_ATTRIBUTES.
18022         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18023         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
18024         declare.
18025         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
18026         (c4x_check_attribute): Avoid modifying attribute list itself.
18027         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
18028         Make static.
18029         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
18030         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
18031         declare.
18032         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
18033         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
18034         Make static.
18035         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18036         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
18037         declare.
18038         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
18039         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
18040         Adjust parameters.  Make static.
18041
18042 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
18043
18044         * c-common.c (decl_attributes): Only take a single attributes
18045         parameter.
18046         * c-common.h (decl_attributes): Update prototype.
18047         * c-decl.c (start_decl, start_function): Only take a single
18048         attributes parameter.  Update calls to decl_attributes.
18049         (finish_struct, finish_enum): Update calls to decl_attributes.
18050         (push_parm_decl): Expect unified list of attributes.  Update call
18051         to decl_attributes.
18052         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
18053         notype_nested_function, component_declarator,
18054         component_notype_declarator, label): Update calls to
18055         decl_attributes.
18056         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
18057         lists that are passed to push_parm_decl.
18058         * c-tree.h (start_function, start_decl): Update prototypes.
18059         * config/sh/sh-protos.h, config/sh/sh.c
18060         (sh_pragma_insert_attributes): Only take a single attributes
18061         parameter.
18062         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
18063         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18064         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18065         build_module_descriptor, generate_static_references,
18066         generate_strings, build_selector_translation_table,
18067         generate_descriptor_table, generate_protocols,
18068         generate_ivars_list, generate_dispatch_table,
18069         generate_protocol_list, generate_category,
18070         generate_shared_structures, really_start_method, add_objc_decls,
18071         generate_classref_translation_entry): Update calls to start_decl
18072         and start_function.
18073         (build_tmp_function_decl, start_method_def): Unify attribute lists
18074         that are passed to push_parm_decl.
18075
18076 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
18077
18078         * final.c (no_asm_to_stream): New.
18079         (final_scan_insn): Use target structures for prologue ends
18080         and epilogue starts.
18081         * output.h (no_asm_to_stream): New.
18082         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18083         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18084         (TARGET_ASM_OUT): Update.
18085         * target.h (struct gcc_target): New members function_end_prologue
18086         and function_begin_epilogue.
18087         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18088         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18089         * config/alpha/alpha.c (output_end_prologue): Rename to
18090         alpha_output_function_end_prologue.  Use in target struct
18091         and make static.
18092         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18093         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18094         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
18095         ia64_output_function_end_prologue.  Use in target struct
18096         and make static.
18097         (ia64_function_prologue, ia64_funciton_epilogue): Rename
18098         mistyped prototypes.
18099         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18100         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18101         Delete.
18102         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18103         an use in target struct, make static.
18104         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18105         Delete.
18106
18107 2001-07-08  Richard Henderson  <rth@redhat.com>
18108
18109         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18110
18111 2001-07-08  Richard Henderson  <rth@redhat.com>
18112
18113         * config/i386/i386.md: Remove constraints strings from define_split
18114         and define_peephole2 patterns.
18115         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18116         (eh_return): Use them.
18117
18118 2001-07-08  Richard Henderson  <rth@redhat.com>
18119
18120         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18121         Document MD_FALLBACK_FRAME_STATE_FOR.
18122
18123 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18124
18125         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18126         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18127         elimination.
18128         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18129
18130 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18131
18132         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18133         of the label inside NAME as opposed to just the end of NAME.
18134
18135 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18136
18137         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18138         * config/alpha/alpha.c (alpha_init_machine_status,
18139         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18140         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18141         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18142         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18143
18144 2001-07-06  Stan Shebs  <shebs@apple.com>
18145
18146         * target.h (targetm): Rename global from "target", so as not to
18147         conflict with local variables.
18148         * c-decl.c: Ditto.
18149         * c-typeck.c: Ditto.
18150         * final.c: Ditto.
18151         * tree.c: Ditto.
18152         * cp/decl.c: Ditto.
18153         * cp/decl2.c: Ditto.
18154         * cp/typeck.c: Ditto.
18155         * 1750a/1750a.c: Ditto.
18156         * a29k/a29k.c: Ditto.
18157         * arc/arc.c: Ditto.
18158         * arm/arm.c: Ditto.
18159         * avr/avr.c: Ditto.
18160         * clipper/clipper.c: Ditto.
18161         * convex/convex.c: Ditto.
18162         * d30v/d30v.c: Ditto.
18163         * dsp16xx/dsp16xx.c: Ditto.
18164         * elxsi/elxsi.c: Ditto.
18165         * fr30/fr30.c: Ditto.
18166         * h8300/h8300.c: Ditto.
18167         * i370/i370.c: Ditto.
18168         * i386/i386.c: Ditto.
18169         * i860/i860.c: Ditto.
18170         * i960/i960.c: Ditto.
18171         * ia64/ia64.c: Ditto.
18172         * m32r/m32r.c: Ditto.
18173         * m68hc11/m68hc11.c: Ditto.
18174         * m68k/m68k.c: Ditto.
18175         * m88k/m88k.c: Ditto.
18176         * mips/mips.c: Ditto.
18177         * ns32k/ns32k.c: Ditto.
18178         * pa/pa.c: Ditto.
18179         * pdp11/pdp11.c: Ditto.
18180         * romp/romp.c: Ditto.
18181         * rs6000/rs6000.c: Ditto.
18182         * sh/sh.c: Ditto.
18183         * sparc/sparc.c: Ditto.
18184         * vax/vax.c: Ditto.
18185         * we32k/we32k.c: Ditto.
18186         * doc/tm.texi: Update the manual to match.
18187
18188 2001-07-06  Richard Henderson  <rth@redhat.com>
18189
18190         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18191         DWARF2_UNWIND_INFO not just whether it is defined.
18192
18193 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18194
18195         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18196         call to simplify_binary_operation returns a new pattern.
18197
18198 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18199
18200         * glimits.h (__SHRT_MAX__): New.
18201         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18202         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18203
18204 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18205
18206         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18207         avoid warnings.
18208
18209 2001-07-06  Richard Henderson  <rth@redhat.com>
18210
18211         * bitmap.c (bitmap_release_memory): Move adjacent to the
18212         allocation functions.
18213         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18214         the implementation.  Binary search for the set bit.
18215         (bitmap_union_of_diff): Allocate the temporary on the stack
18216         instead of using xmalloc.
18217
18218 2001-07-06  Richard Henderson  <rth@redhat.com>
18219
18220         * genrecog.c (validate_pattern): Warn for constraints in
18221         define_{expand,split,peephole2}.  Remove strict_low_part
18222         before looking up match_dup.
18223
18224 2001-07-06  DJ Delorie  <dj@redhat.com>
18225
18226         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18227         chapter about various build hints and history.  Add section
18228         talking about the various types of native and cross builds.
18229
18230 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18231
18232         * Makefile.in (final.o): Depend on target.h.
18233         * final.c: Include target.h.
18234         (default_function_pro_epilogue): New.
18235         (final_start_function): Use target structure for function prologues.
18236         (final_end_function): Use target structure for function epilogues.
18237         * fold-const.c (real_hex_to_f): Constify s and p.
18238         * output.h (default_function_pro_epilogue): New.
18239         * real.h (real_hex_to_f): Update prototype.
18240         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18241         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18242         (TARGET_INITIALIZER): Update.
18243         * target.h (gcc_target): Add struct asm_out.
18244         * doc/tm.texi: Update.
18245
18246 config:
18247         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18248         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18249         in cpu/cpu.c, or rename old functions consistently.  Take
18250         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18251         redundant macros and prototypes.  Make new functions static.
18252
18253         * 1750a/1750a.c: Similarly.
18254         * 1750a/1750a.h: Similarly.
18255         * a29k/a29k-protos.h: Similarly.
18256         * a29k/a29k.c: Similarly.
18257         * a29k/a29k.h: Similarly.
18258         * arc/arc-protos.h: Similarly.
18259         * arc/arc.c: Similarly.
18260         * arc/arc.h: Similarly.
18261         * arm/arm-protos.h: Similarly.
18262         * arm/arm.c: Similarly.
18263         * arm/arm.h: Similarly.
18264         * avr/avr-protos.h: Similarly.
18265         * avr/avr.c: Similarly.
18266         * avr/avr.h: Similarly.
18267         * clipper/clipper-protos.h: Similarly.
18268         * clipper/clipper.c: Similarly.
18269         * clipper/clipper.h: Similarly.
18270         * convex/convex.c: Similarly.
18271         * convex/convex.h: Similarly.
18272         * d30v/d30v-protos.h: Similarly.
18273         * d30v/d30v.c: Similarly.
18274         * d30v/d30v.h: Similarly.
18275         * d30v/d30v.md: Similarly.
18276         * dsp16xx/dsp16xx-protos.h: Similarly.
18277         * dsp16xx/dsp16xx.c: Similarly.
18278         * dsp16xx/dsp16xx.h: Similarly.
18279         * elxsi/elxsi.c: Similarly.
18280         * elxsi/elxsi.h: Similarly.
18281         * fr30/fr30.c: Similarly.
18282         * fr30/fr30.md: Similarly.
18283         * h8300/h8300-protos.h: Similarly.
18284         * h8300/h8300.c: Similarly.
18285         * h8300/h8300.h: Similarly.
18286         * i370/i370-protos.h: Similarly.
18287         * i370/i370.c: Similarly.
18288         * i370/i370.h: Similarly.
18289         * i386/i386.c: Similarly.
18290         * i386/osf1elf.h: Similarly.
18291         * i386/osfrose.h: Similarly.
18292         * i860/i860-protos.h: Similarly.
18293         * i860/i860.c: Similarly.
18294         * i860/i860.h: Similarly.
18295         * i960/i960-protos.h: Similarly.
18296         * i960/i960.c: Similarly.
18297         * i960/i960.h: Similarly.
18298         * ia64/ia64-protos.h: Similarly.
18299         * ia64/ia64.c: Similarly.
18300         * ia64/ia64.h: Similarly.
18301         * m32r/m32r-protos.h: Similarly.
18302         * m32r/m32r.c: Similarly.
18303         * m32r/m32r.h: Similarly.
18304         * m68hc11/m68hc11-protos.h: Similarly.
18305         * m68hc11/m68hc11.c: Similarly.
18306         * m68hc11/m68hc11.h: Similarly.
18307         * m68k/crds.h: Similarly.
18308         * m68k/dpx2.h: Similarly.
18309         * m68k/m68k-protos.h: Similarly.
18310         * m68k/m68k.c: Similarly.
18311         * m68k/m68k.h: Similarly.
18312         * m68k/news.h: Similarly.
18313         * m88k/m88k-protos.h: Similarly.
18314         * m88k/m88k.c: Similarly.
18315         * m88k/m88k.h: Similarly.
18316         * mips/mips-protos.h: Similarly.
18317         * mips/mips.c: Similarly.
18318         * mips/mips.h: Similarly.
18319         * ns32k/merlin.h: Similarly.
18320         * ns32k/ns32k.c: Similarly.
18321         * ns32k/ns32k.h: Similarly.
18322         * ns32k/tek6000.h: Similarly.
18323         * pa/pa-protos.h: Similarly.
18324         * pa/pa.c: Similarly.
18325         * pa/pa.h: Similarly.
18326         * pdp11/2bsd.h: Similarly.
18327         * pdp11/pdp11-protos.h: Similarly.
18328         * pdp11/pdp11.c: Similarly.
18329         * pdp11/pdp11.h: Similarly.
18330         * romp/romp-protos.h: Similarly.
18331         * romp/romp.c: Similarly.
18332         * romp/romp.h: Similarly.
18333         * rs6000/rs6000-protos.h: Similarly.
18334         * rs6000/rs6000.c: Similarly.
18335         * rs6000/rs6000.h: Similarly.
18336         * rs6000/sysv4.h: Similarly.
18337         * sh/sh-protos.h: Similarly.
18338         * sh/sh.c: Similarly.
18339         * sh/sh.h: Similarly.
18340         * sparc/sparc-protos.h: Similarly.
18341         * sparc/sparc.c: Similarly.
18342         * sparc/sparc.h: Similarly.
18343         * vax/vax.c: Similarly.
18344         * vax/vax.h: Similarly.
18345         * vax/vms.h: Similarly.
18346         * we32k/we32k.c: Similarly.
18347         * we32k/we32k.h: Similarly.
18348
18349 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18350
18351         * basic-block.h (first_insn_after_basic_block_note): Declare.
18352         * flow.c (first_insn_after_basic_block_note): Define.  Moved
18353         from...
18354         * ssa.c (first_insn_after_basic_block_note): Remove.
18355         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
18356         necessary.
18357         (ssa_eliminate_dead_code): Properly update the CFG and PHI
18358         nodes when we find a dead conditional branch.  Insert BARRIERs
18359         after any blocks with no successors, but which do not have
18360         any BARRIERs.
18361
18362 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
18363
18364         * varray.c (varray_check_failed): Use internal_error.
18365
18366 2001-07-05  Andrew Haley  <aph@redhat.com>
18367
18368         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
18369         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
18370         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
18371
18372 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
18373
18374         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
18375         reference if the target constant is also a SYMBOL_REF.
18376
18377 2001-07-05  Eric Christopher  <echristo@redhat.com>
18378
18379         * config/mips/mips.h (MASK_MIPS3900): Remove.
18380         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
18381         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
18382         (TARGET_MIPS3900): Change to use mips_arch.
18383         (TARGET_MIPS4000): New.
18384         (TARGET_MIPS4100): New.
18385         (TARGET_MIPS4300): New.
18386         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
18387         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
18388         for -mipsX.
18389         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
18390         (ISA_HAS_BRANCHLIKELY): To here.
18391         (CC1_CPU_SPEC):  New.
18392         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
18393         (mips_arch_string): Declare.
18394         (mips_arch): Declare.
18395         (TARGET_OPTIONS): Add -march and -mtune.
18396
18397         * config/mips/mips.c (mips_arch_string): New.
18398         (mips_arch): New.
18399         (override_options): Handle -march for codegen and -mtune
18400         for scheduling. Use mips_arch. Move tx39 target default here.
18401         (mips_parse_cpu): Move error message to override_options.
18402
18403         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
18404
18405         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
18406
18407         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
18408         (MIPS Options): Ditto.  Change mcpu entry to historical text.
18409
18410 2001-07-05  H.J. Lu  (hjl@gnu.org)
18411
18412         * config/mips/mips.c (mips_parse_cpu): New function to parse
18413         -march=*/-mcpu=*.
18414
18415 2001-07-05  Jim Wilson  <wilson@redhat.com>
18416
18417         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
18418         * config/ia64/t-ia64: Likewise.
18419         (LIB1ASMFUNCS): Update comment.
18420
18421 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
18422
18423         * doc/install.texi (Install GCC: Binaries): Fix typo.
18424
18425 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18426
18427         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
18428         reference using the stack pointer, adjust it since we push Y
18429         temporarily.
18430         ("*ashrsi3"): Likewise.
18431         ("*lshrsi3"): Likewise.
18432
18433 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18434
18435         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
18436         when -fomit-frame-pointer is used.
18437
18438 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
18439
18440         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
18441         (try_redirect_by_replacing_jump): Reverse updating properly the
18442         count and frequency information.  Reverse removing cc0 setter.
18443         (forwarder_block_p): Reverse fixing for fallthru blocks.
18444
18445 2001-07-05  DJ Delorie  <dj@redhat.com>
18446
18447         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
18448         (translate_options): If the above is defined, use it to map
18449         given options to new options.
18450         * doc/tm.texi: Document it.
18451
18452 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
18453             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18454
18455         * doc/invoke.texi (Optimize Options): Document that -fgcse may
18456         cause programs using computed gotos to run more slowly.
18457
18458 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18459
18460         * doc/install.texi (Specific): Markup, spelling and typo fixes.
18461         Fixed sorting.
18462         Consistently require binutils 2.11.2, not prereleases.
18463         (Specific, decstation-*): Canonicalize as mips-dec-*.
18464         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
18465         always necessary.
18466         (Specific, m68k-altos): Removed reference to README.altos, deleted.
18467         (Specific, mips-*): Reword MIPS C compiler requirements.
18468         (Specific, powerpc*-*-*): New, mention --with-cpu once.
18469         (Specific, sunv5): Removed, obsolete.
18470
18471 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18472
18473         * dwarf2out.c (output_loc_list): Use an all ones mask for
18474         .text asm output and don't rely on long long
18475         literals. Reformat some long lines.
18476
18477 2001-07-05  Andreas Jaeger  <aj@suse.de>
18478
18479         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
18480         section.
18481
18482 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18483
18484         * dwarf2out.c (dwarf2out_define): Update comment.
18485         (dwarf2out_undef): Ditto.
18486         (dwarf2out_start_source_file): Ditto.
18487         (dwarf2out_end_source_file): Ditto.
18488         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
18489         since we never call the start/end debug hook for the primary file.
18490
18491 2001-07-04  Kazu Hirata  <kazu@hxi.com>
18492
18493         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
18494         from shll.
18495
18496 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18497
18498         * cppinit.c (remove_dup_dirs): Inform if a system include
18499         directory is being reordered.
18500         * doc/invoke.texi (Directory Options): GCC warns if you hide a
18501         system include.
18502         * doc/cpp.texi (Search Paths): Likewise.
18503         * doc/gcc.texi (Interoperation): Remove information about
18504         -I/usr/include.
18505
18506 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18507
18508         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
18509         (VARRAY_TOP_CHAR_PTR): Likewise.
18510
18511 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18512
18513         * gcc.c (process_command): Don't assign elements of a const char*.
18514
18515 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18516
18517         * emit-rtl.c (change_address): Don't abort if invalid address while
18518         reload is in progress.
18519
18520 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18521
18522         * c-lex.c (cb_file_change): Pass line number to
18523         debug_start_source_file.
18524         (cb_undefine): Pass correct line number to debug_undef.
18525
18526         * toplev.c (debug_start_source_file): Add line number to
18527         parameters. Pass it along to dwarf2out_start_source_file.
18528         (decode_g_option): Stop resetting debug level back to normal when
18529         we change debug formats, unless the current level is
18530         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
18531         3).
18532
18533         * toplev.h (debug_start_source_file): Add line number to
18534         parameters.
18535
18536         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
18537         parameters.
18538
18539         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
18540         parameters.
18541         Output debug_macinfo data for starting file if requested.
18542         (dwarf2out_end_source_file): Output debug_macinfo data for ending
18543         file if requested.
18544         (dwarf2out_define): Output debug_macinfo data for defining a macro
18545         if requested.
18546         (dwarf2out_undef): Output debug_macinfo data for undefining a
18547         macro if requested.
18548         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
18549         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
18550         (macinfo_section_label): New. DWARF2 macro info section label.
18551         (dwarf2out_init): If we want macro info, output the start label
18552         for the section.
18553         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
18554         attribute to the compilation unit die pointing to the macro info.
18555
18556 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18557
18558         * dwarf2out.c (new_loc_list): Move to inside #ifdef
18559         DWARF2_DEBUGGING_INFO.
18560         (add_loc_descr_to_loc_list): Ditto.
18561         (output_loc_list): Ditto.
18562         Also, fix thinko in curr not being initialized.
18563         (gen_internal_sym): Ditto.
18564
18565 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18566
18567         * emit-rtl.c (replace_equiv_address): New function.
18568         * expr.h (replace_equiv_address): New declaration.
18569         * explow.c (validize_mem): Call it instead of change_address and
18570         also call if -fforce-addr and address is constant.
18571         * expr.c: Replace more calls to change_address with adjust_address
18572         and/or replace_equiv_address or to validize_mem.
18573         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
18574         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
18575         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18576         * config/i370/i370.md, config/i860/i860.md: Likewise.
18577         * config/i960/i960.md, config/mips/mips.c: Likewise.
18578         * config/mips/mips.md, config/pa/pa.md: Likewise.
18579         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
18580         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
18581
18582 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18583
18584         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
18585
18586         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
18587         function.
18588
18589 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
18590
18591         * doc/include: New directory.
18592         * doc/fdl.texi: Move to doc/include/fdl.texi.
18593         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
18594         * doc/include/funding.texi, doc/include/gpl.texi: New files.
18595         * doc/gcc.texi: Use funding.texi and gpl.texi.
18596         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
18597         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
18598         Update dependencies and use -I $(docdir)/include.
18599
18600 2001-07-04  Anthony Green  <green@redhat.com>
18601
18602         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
18603
18604 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18605
18606         * doc/install.texi (sparc64-*-*): Remove garbage.
18607
18608 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
18609
18610         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
18611         Fix typo in last change to use adjust_address.
18612
18613 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18614
18615         * doc/install.texi (Specific): Update information for *-*-solaris*.
18616
18617 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18618
18619         * explow.c (plus_constant_wide): Reinitialize Y for restart.
18620
18621 2001-07-03  Stan Shebs  <shebs@apple.com>
18622
18623         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
18624         case for flag_no_mach_text_sections.
18625         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
18626         * config/darwin.c (flag_no_mach_text_sections): Remove.
18627         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
18628
18629 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18630
18631         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
18632         and avoid checking for constant as first operand.
18633         * recog.c (find_constant_term_loc): No longer static.
18634         (adj_offettable_operand): Delete.
18635         * rtl.h (adj_offsettable_operand): Delete declaration.
18636         (find_constant_term): Add declaration.
18637         * caller-save.c: Replace calls to adj_offsettable_operand with calls
18638         to adjust_address.
18639         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
18640         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
18641         * config/i386/i386.c, config/i386/i386.md: Likewise.
18642         * config/i860/i860.c, config/i960/i960.c: Likewise.
18643         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
18644         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
18645         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
18646         * config/mips/mips.c, config/mips/mips.md: Likewise.
18647         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
18648         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
18649         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
18650         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
18651         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
18652         * config/ns32k/ns32k.md: Likewise.
18653
18654 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
18655
18656         * rtl.c (copy_rtx): Handle 'T' format letter.
18657         * gensupport.c (collect_insn_data): Likewise.
18658         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
18659
18660 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
18661
18662         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
18663         -B option.  Use 'dir' not 'foo' as example directory name.
18664
18665 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18666
18667         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18668         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
18669
18670 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18671
18672         * doc/cppinternals.texi: Improve formatting and logical markup.
18673
18674 2001-07-03  Andreas Jaeger  <aj@suse.de>
18675
18676         * Makefile.in (insn-recog.o): Add dependency on reload.h.
18677
18678         * genrecog.c (write_header): Include reload.h for prototypes in
18679         insn-recog.c.
18680
18681 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
18682
18683 config:
18684         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
18685         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18686         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
18687         i386_pe_valid_type_attribute_p): Add.
18688         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
18689         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
18690
18691 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18692
18693         * explow.c (plus_constant_wide, case LO_SUM): New case.
18694         (plus_constant_for_output_wide): Delete.
18695         * rtl.h (plus_constant_for_output): Delete.
18696         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
18697         instead of plus_constant_for_output.
18698         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
18699         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
18700         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
18701         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
18702         * config/sparc/sparc.md: Likewise.
18703         Convert some change_address calls to adjust_address.
18704
18705 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18706
18707         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
18708         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
18709         documentation of -std and -Wwrite-strings.
18710
18711 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18712
18713         * cse.c (canon_hash): Don't register registers in very small
18714         register classes, as extending their lifetime might cause
18715         reload to fail.
18716
18717 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18718
18719         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18720
18721         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18722         (try_redirect_by_replacing_jump): Update properly the count
18723         and frequency information.
18724
18725 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
18726
18727         * toplev.c (dump_file_index): Move SSA dumps just after first
18728         jump dump.
18729         (dump_file): Corresponding changes.
18730         (rest_of_compilation): Move SSA path to just after the first
18731         jump pass.
18732         * doc/gcc.texi (Passes): Update due to movement of SSA path.
18733         * doc/invoke.texi: Update dump file #s as they were completely
18734         out of date with reality.
18735
18736 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18737
18738         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
18739
18740         * expr.c (emit_move_insn_1): Deal with non-default
18741         STACK_PUSH_CODE.
18742
18743         * expr.c (emit_single_push_insn): Fix warning.
18744
18745 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18746
18747         * expr.c (emit_move_insn_1): Avoid modifying
18748         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
18749
18750 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18751
18752         * emit-rtl.c (adjust_address): New function.
18753         * expr.h (adjust_address): Add declaration.
18754         * builtins.c: Replace some calls to change_address with calls to it
18755         or to validize_mem.
18756         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
18757         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
18758         * config/arm/arm.c, config/convex/convex.c: Likewise.
18759         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18760         * config/i386/i386.c, config/i386/i386.md: Likewise.
18761         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
18762         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
18763         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
18764         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
18765         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
18766
18767 2001-07-02  Jim Wilson  <wilson@redhat.com>
18768
18769         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
18770
18771 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
18772
18773         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
18774         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
18775
18776 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18777
18778         * cppinit.c (lang_defaults): New table.
18779         (set_lang): Just read from lang_defaults into the live options
18780         structure.
18781
18782 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18783
18784         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
18785         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
18786         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
18787
18788 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18789
18790         * doc/install.texi: Various spelling and markup fixes.
18791         (Installing GCC): Component specific installation instructions are
18792         gone.
18793         Fix reference.
18794         Warn about removing old install dir in the presence of shared libs.
18795         (Configuration): Invoke with options target to match configure
18796         --help.
18797         Consistently refer to gas, gld pathnames.
18798         Invert --enable-multilib documentation.
18799         Remove references to old compiler versions.
18800
18801 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18802
18803         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
18804
18805 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18806
18807         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
18808         section.
18809         (Specific, mips*-sgi-irix5): Note IDO download.
18810         Reworded MIPS C hints.
18811         Use GNU as instead of GAS.
18812         Markup fixes.
18813         Removed SGI Freeware reference, IRIX 6 only.
18814         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
18815         Note N64 library requirement/workaround.
18816         Update O32 hints.
18817         Complete list of structure passing bug victims.
18818
18819 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18820
18821         * doc/install.texi: Remove CVS Id.
18822
18823 2001-07-02  Andreas Jaeger  <aj@suse.de>
18824
18825         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
18826         (find_inherently_necessary): Remove unused variable.
18827
18828 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
18829
18830         * c-common.h (TDI_inlined): New ast dump phase.
18831         (dump_flag_name): New function.
18832         * c-dump.c (dump_files): Add inlined phase.
18833         (dump_flag_name): Define.
18834         * doc/invoke.texi (-fdump-ast-inlined): Document.
18835
18836 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18837
18838         * stor-layout.c (layout_decl): Revert change to handling of alignment
18839         in packed types.
18840
18841 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18842
18843         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
18844         for FIELD_DECL.
18845
18846 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
18847
18848         * doc/tm.texi (FUNCTION_ARG): Document that the last call
18849         is special.
18850
18851 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
18852
18853         * tlink.c (recompile_files): Remove COMPILER_PATH and
18854         LIBRARY_PATH from the environment.
18855
18856 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
18857
18858         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
18859         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
18860         enumerators.
18861         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
18862
18863         * c-parse.in (OBJC_STRING): Kill.
18864         (objc_string): Decompose to [objc_string] '@' STRING.
18865         (reswords): Take the leading '@' off all the Objective C keywords.
18866         (objc_rid_sans_at): Kill.
18867         (init_reswords): Don't initialize it.
18868         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
18869         (_yylex): Kill reconsider label.  Look ahead one token after
18870         an '@'; if we get an identifier, check whether it's an
18871         Objective C @-keyword.  If so, return the keyword.  Otherwise,
18872         put back the token and return the '@' as a terminal.
18873
18874         * cpplib.c (lex_macro_node): Remove unnecessary check for
18875         leading '@' on identifier.  Clarify control flow and commentary.
18876
18877 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18878
18879         * cse.c (new_label_ref): Variable deleted.
18880         (insert): Remove set of new_label_ref.
18881         (check_for_label_ref): New function.
18882         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
18883
18884 See ChangeLog.5 for earlier changes.