OSDN Git Service

* config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
2
3         * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
4
5         * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
6
7         * config/rs6000/rs6000.c: Clean up some spacing and indentation.
8         (altivec_init_builtins): Add tree types for builtins with 4 bit
9         literals.
10         (bdesc_3arg): Add vsldoi variants.
11
12 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13
14         * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
15         * a29k.h (a29k_debug_reg_map): Likewise.
16         * arc.h (arc_regno_reg_class): Likewise.
17         * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
18         * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
19         * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
20         * i386.h (regclass_map): Likewise.
21         * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
22         * mcore.h (regno_reg_class): Likewise.
23         * mips.h (mips_print_operand_punct, mips_char_to_class):
24         Likewise.
25         * ns32k.h (regclass_map): Likewise.
26         * pj.h (pj_debugreg_renumber_vec): Likewise.
27         * s390.h (regclass_map): Likewise.
28         * sh.h (regno_reg_class): Likewise.
29         * sparc.h (sparc_regno_reg_class): Likewise.
30
31         * hard-reg-set.h (reg_class_contents): Likewise.
32         * machmode.h (class_narrowest_mode): Likewise.
33
34 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
35
36         * loop.c (scan_loop, move_movables, count_one_set): Do not
37         overlook hard registers when computing statistics.
38
39 Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
40
41         * calls.c (ECF_LIBCALL_BLOCK): New constant.
42         (emit_call_1, initialize_argument_information,
43         precompute_arguments, expand_call,
44         emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
45         instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
46
47 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
48
49         * config.gcc (extra_headers): Move settings to math-68881.h and
50         ppc-asm.h to common code for CPU types.  Use math-68881.h on all
51         m68k targets.
52         (header_files): Remove unused setting.
53
54 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
55
56         * elxsi.c: Include "hard-reg-set.h" and/or don't declare
57         `call_used_regs' explicitly.
58         * i860.c: Likewise.
59         * m68k.c: Likewise.
60         * ns32k.c: Likewise.
61         * pa.c: Likewise.
62         * vax.c: Likewise.
63         * we32k.c: Likewise.
64
65 Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
66
67         * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
68         (TARGET_CPU_DEFAULT_*): Renumber.
69
70 Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
71
72         * rtl.h (subreg_lsb): Declare.
73         * rtlanal.c (subreg_lsb): Implement.
74
75 Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
76
77         * predict.c: Reformatting and minor cleanups.
78         * cfg.c, cfganal.c, cfgbuild.c: Likewise.
79
80         * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
81         SAVE_EXPR.
82         * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
83         (put_addressof_into_stack): Clarify code in setting of used_p.
84
85         * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
86         (expand_call): Delete from here.
87         Do pending stack adjustments if ECF_SP_DEPRESSED.
88
89         * dwarf2out.c (save_rtx): Deleted.
90         (mem_loc_descriptor): Do equivalent operation.
91         (add_const_value_attribute, case CONST): Likewise.
92         (add_name_and_src_coords_attributes): Likewise.
93
94 2001-12-21  Kazu Hirata  <kazu@hxi.com>
95
96         * config/h8300/h8300.h: Fix comment formatting.
97
98 Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
99
100         * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
101         (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
102
103 2001-12-21  Robert Lipe  <robertlipe@usa.net>
104
105          * system.h (PREFETCH): Explictly undefine.
106
107 2001-12-21  Richard Henderson  <rth@redhat.com>
108
109         * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
110         (RESTORE_WARN_FLAGS): Restore it.
111         (extension): Zero warn_traditional.
112
113 2001-12-21  Kazu Hirata  <kazu@hxi.com>
114
115         * doc/passes.texi: Fix a typo.
116
117 2001-12-21  Kazu Hirata  <kazu@hxi.com>
118
119         * config/h8300/h8300.h: Fix a comment typo.
120
121 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
122
123         * combine.c (nonzero_bits): If using reg_nonzero_bits,
124         we don't know anything about bits outside of X mode.
125         (num_sign_bit_copies): Likewise.
126
127 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
128
129         * config/arm/arm.md (prefetch): Use 'a' operand code.
130
131 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
132
133         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
134         subshells.
135         * configure.in: Likewise for perl Pod::Man.
136
137         * configure: Regenerated.
138
139 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
140
141         * builtin-attrs.def (__builtin_printf_unlocked,
142         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
143         Mark with the __printf__ attribute.
144         
145         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
146         and set the replacement function depending on it.
147         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
148         Handle BUILT_IN_*_UNLOCKED when optimizing.
149         
150         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
151         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
152         Declare the "unlocked" stdio functions.
153         
154         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
155         Add an `unlocked' parameter and set the replacement function
156         depending on it.
157         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
158         BUILT_IN_FPRINTF_UNLOCKED.
159
160         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
161         fputs_unlocked): Document.
162
163 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
164
165         * cfgloop.c (flow_loops_find): Use the information of the depth
166         first search order of the CFG correctly when finding natural loops.
167
168 2001-12-20  Richard Henderson  <rth@redhat.com>
169
170         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
171
172 2001-12-20  Richard Henderson  <rth@redhat.com>
173
174         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
175         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
176         operand into $27.
177
178 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
179
180         * configure.in (all_headers, all_lib2funcs): Remove.
181         * configure: Regenerate.
182         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
183         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
184         * config/alpha/t-interix (USER_H): Don't include
185         $(LANG_EXTRA_HEADERS).
186         * config/i386/t-interix: Likewise.
187         * config/t-openbsd: Likewise.
188
189 2001-12-20  Andreas Jaeger  <aj@suse.de>
190
191         * libgcc2.c (__bb_exit_func): Remove unused variable.
192         (num_digits): Remove unused function.
193
194 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
195
196         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
197         to use ldmfd instead of ldmea.
198         * config/arm/arm.c (arm_compute_initial_elimination_offset):
199         Modified to reflect behavior of arm_expand_prologue when generating
200         interrupt handlers
201
202 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
203
204         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
205         function. Compute which of registers r0 through r12 should be
206         saved onto the stack during a function's prologue.
207         (arm_compute_save_reg_mask): Use
208         arm_compute_save_reg0_reg12_mask.
209         (arm_compute_initial_elimination_offset): Use
210         arm_compute_save_reg0_reg12_mask.
211
212         (arm_expand_prologue): Do not mark as save of the IP register
213         for an interrupt handler as being part of the frame creation
214         code.
215
216 2001-12-20  Richard Henderson  <rth@redhat.com>
217
218         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
219         to emit floating point values.
220         (assemble_real_1): Remove.
221
222         * 1750a/1750a.c (real_value_to_target_single): New.
223         (real_value_to_target_double): New.
224         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
225         (REAL_VALUE_TO_TARGET_SINGLE): New.
226         (REAL_VALUE_TO_TARGET_DOUBLE): New.
227         * 1750a/1750a-protos.h: Update.
228
229         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
230         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
231         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
232         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
233         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
234         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
235         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
236         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
237         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
238         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
239         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
240         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
241         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
242         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
243         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
244         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
245         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
246         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
247         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
248         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
249         associated support routines.
250
251 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
252
253         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
254         if one of block does not contain jump.
255         (outgoing_edge_math): Revert last path; require edges to be noncomplex
256         nonfake to match single exit edge; require conditional jumps to not
257         have side effect.
258
259 2001-12-20  Turly O'Connor  <turly@apple.com>
260
261         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
262         "recog_operand" to "recog_data.operand".
263         * rtl.def: Likewise.
264
265 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
266
267         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
268         narrower mode than op0, only return the bits in DIV's mode.
269
270 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
271
272         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
273         to JUMP_INSNs with JUMP_LABEL.
274
275 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
276
277         * doc/install.texi: Add documentation for --enable-altivec.
278
279         * config.gcc: Add support for --enable-altivec.
280
281         * config/rs6000/altivec.h: New.
282
283         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
284         Define.  Fix typo.
285
286         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
287         unspec_volatile.
288         (generate_set_vrsave): Generate the unspec here instead of calling
289         an .md pattern.
290         (generate_set_vrsave): Use gen_rtvec.
291         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
292         gen_rtx_SET.
293
294         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
295         for setting special registers.
296         ("*set_vrsave_internal"): Use unspec_volatile.
297         ("set_vrsave"): Remove.
298         ("get_vrsave"): Remove.
299
300         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
301         SPECIAL_REGS.
302
303 2001-12-19  Bruce Korb  <bkorb@gnu.org>
304
305         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
306         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
307         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
308         * gcc/fixinc/base/...: adjust for changes in fixes
309
310 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
311
312         * po/gcc.pot: Regenerate.
313
314         * configure.in (all_diff_excludes, diff_excludes): Remove.
315         * configure: Regenerate.
316         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
317         * objc/config-lang.in (diff_excludes): Remove.
318
319 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
320
321         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
322         the destination register as a parameter to mems_ok_for_ldd_peep.
323         For store peepholes pass NULL_RTX.  Move all volatile checks ...
324         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
325         register parameter, check it's not the same as base for an address.
326         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
327
328 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
329
330         * config/ia64/ia64.c (ia64_single_set): Return first set for
331         prologue_allocate_stack and epilogue_deallocate_stack instructions.
332
333 2001-12-19  Dale Johannesen  <dalej@apple.com>
334
335          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
336          redefine in terms of rs6000_legitimize_reload_address().
337          * config/rs6000/rs6000-protos.h: Add this function.
338          * config/rs6000/rs6000.c: Add this function.  Includes
339          handling for Darwin FP constants.
340
341 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
342
343         * config/pa/t-hpux-shlib: New file.
344         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
345         for 32bit hpux10 & hpux11 configurations.
346
347 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
348
349         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
350         -mno-fpu onto gas unless -mhard-float is specified.
351         (MULTILIB_DEFAULTS): Include msoft-float.
352
353         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
354
355         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
356         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
357
358 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
359
360         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
361         descriptor output.
362
363 2001-12-18  Stan Shebs  <shebs@apple.com>
364
365         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
366
367 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
368
369         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
370         on an INTEGER_CST.
371
372 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
373
374         * rs6000.c (rs6000_override_options): Only use DI ops when
375         TARGET_64BIT.  Fix typo.
376
377 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
378
379         * att.h (ASM_FILE_START): Use asm_dialect.
380         * linux.h (ASM_FILE_START): Likewise.
381         * gas.h (ASM_FILE_START): Likewise.
382         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
383         ix86_asm_string, ix86_asm_dialect): New.
384         (override_options): Set asm_dialect.
385         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
386         MASK_DEBUG_ADDR): Kill.
387         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
388         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
389         (ASSEMBLER_DIALECT): Use asm_dialect.
390         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
391         remove debug-addr and debug-arg.
392         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
393         (asm_dialect): New enum.
394         (ix86_debug_arg_string, ix86_debug_addr_string,
395         ix86_asm_string, ix86_asm_dialect): Declare.
396         * invoke.texi (-mintel-syntax): Remove.
397         (-masm): Document.
398
399 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
400
401         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
402
403 2001-12-18  Jason Merrill  <jason@redhat.com>
404
405         C++ ABI change: destroy value arguments in caller.
406         * calls.c (initialize_argument_information): Pass the address of
407         the TARGET_EXPR temporary rather than storing it into another.
408
409 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
410
411         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
412         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
413
414 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
415
416         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
417         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
418         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
419         (CC1_SPEC): Don't default to -gstabs+ if -m32.
420
421 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
422
423         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
424
425 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
426
427         * po/gcc.pot: Regenerate.
428
429 2001-12-18  Kazu Hirata  <kazu@hxi.com>
430
431         * config/h8300/h8300.c: Fix comment typos.
432         * config/h8300/h8300.h: Fix comment formatting.
433
434 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
435
436         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
437         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
438         declaration to NUM_MACHINE_MODES.
439         (mode_size, mode_unit_size): Set array type to unsigned char.
440         (mode_bitsize): Set array type to unsigned short.
441
442         * rtl.c (rtx_length): Set array type to unsigned char.
443         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
444         NUM_RTX_CODE.
445         (mode_bitsize): Set array type to unsigned short.
446         (mode_size, mode_unit_size): Set array type to unsigned char.
447         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
448         mode_wider_mode, mode_mask_array): Set array size to
449         NUM_MACHINE_MODES.
450
451         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
452         size in declaration to NUM_RTX_CODE.
453
454 2001-12-17  Richard Henderson  <rth@redhat.com>
455
456         * config/alpha/alpha.md (unop): Encode RB as $sp.
457
458 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
459
460         * Makefile.in: Update dependencies.
461         * c-lang.c: Remove unnecessary includes.
462         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
463         c-objc-common.c.
464         (finish_file): Move body to c_common_finish_file.
465         * c-objc-common.c: Include varray.h and ggc.h.
466         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
467         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
468         (c_objc_common_init): Initialize deferred function array.
469         * c-tree.h (c_objc_common_finish_file,
470         static_ctors, static_dtors): New.
471 objc:
472         * Make-lang.in: Update dependencies.
473         * objc/objc-act.c: Don't include varray.h.
474         (defer_fn, deferred_fns): Move to c-objc-common.c.
475         (objc_init): Similarly for initialization of it.
476         (finish_file): Move some to c-objc-common.c, use
477         c_objc_common_finish_file.
478
479 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
480
481         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
482
483 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
484
485         * doc/cppinternals.texi: Update.
486
487 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
488
489         * expmed.c (emit_store_flag): Extract updated comparison code
490         from the return value of compare_from_rtx.
491         * expr.c (do_store_flag): Similarly.
492
493 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
494
495         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
496         preference to BASE_REG_CLASS.
497         * recog.c (preprocess_constraints): Ditto.
498         * regclass.c (record_operand_costs, scan_one_insn, regclass,
499         record_reg_classes, record_address_regs): Ditto.
500         * regrename.c (scan_rtx_address, scan_rtx,
501         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
502         * reload.c (find_reloads, find_reloads_address,
503         find_reloads_address_1): Ditto.
504         * reload1.c (maybe_fix_stack_asms): Ditto.
505         * defaults.h (MODE_BASE_REG_CLASS): Provide default
506         definition.
507         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
508
509         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
510
511 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
512
513         * doc/install.texi2html: Use -I $SOURCEDIR.
514
515         Separate user and internals manuals.
516         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
517         dependencies.
518         ($(docdir)/gccint.info, gccint.dvi): New targets.
519         (maintainer-clean, install-info, uninstall): Update.
520         * doc/.cvsignore: Add gccint.info*.
521         * doc/include/gcc-common.texi: New file.
522         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
523         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
524         is defined.
525         * doc/gccint.texi: New file.
526         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
527         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
528         Update for separate user and internals manuals.
529
530 2001-12-17  Dale Johannesen  <dalej@apple.com>
531
532          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
533          ASM_CPU_SPEC: Ditto.
534          RTX_COSTS: Fix timing info for 7450 multiply.
535          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
536          Allow floats to be kept in int regs in movsf_low,
537          movsf_low_st (Darwin only)
538
539 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
540
541         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
542         parallel.
543         (is_gpr_return_reg): New.
544         (rs6000_emit_prologue): Call generate_set_vrsave with additional
545         argument.  Save only registers in the mask.  Attach
546         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
547         rs6000_frame_related when saving VRSAVE.
548         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
549         argument.  Restore only registers in the mask.  Restore altivec
550         registers after we restore CR.
551         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
552         sets instead of clobbers for call saved registers.
553         (altivec_frame_fixup): New.
554
555 2001-12-17  Richard Henderson  <rth@redhat.com>
556
557         * config/sparc/sparc.md (movdi_zero): Remove.
558         (movdi_insn_sp32_v9): New.
559
560 2001-12-17  Richard Henderson  <rth@redhat.com>
561
562         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
563         a single outgoing edge too.
564
565 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
566
567         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
568         edges resulting from computed jump
569
570 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
571
572         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
573         * basic-block.h (CLEANUP_THREADING): New constant.
574         * cfgcleanup.c: Include cselib.h
575         (thread_jump, mark_effect): New functions.
576         (try_forward_edges): Do jump threading when asked for.
577         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
578         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
579         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
580         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
581         CLEANUP_THREAD instead.
582
583 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
584
585         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
586
587 2001-12-17  Tom Rix  <trix@redhat.com>
588
589         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
590         of bytes.
591
592 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
593
594         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
595         asm_out.integer): New fields.
596         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
597         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
598         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
599         the individual initialisers together.
600         (TARGET_ASM_OUT): Add the new initialisers.
601         * output.h (assemble_integer): Return bool.
602         (integer_asm_op): Declare.
603         (default_assemble_integer): Declare.
604         (assemble_aligned_integer): New interface to assemble_integer.
605         * varasm.c (integer_asm_op): New function to select pseudo-op.
606         (default_assemble_integer): Default implementation of asm_out.integer.
607         (assemble_integer): Use the new target hook.  Split objects into
608         words or bytes if the target hook fails.  Return bool.
609         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
610         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
611         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
612         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
613         Document new target hooks.
614
615         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
616         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
617         (dw2_assemble_integer): New.
618         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
619         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
620         dw2_asm_output_encoded_addr_rtx): Use it.
621         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
622         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
623         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
624         if it returns NULL.
625         * dwarf2asm.h (dw2_assemble_integer): Declare.
626         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
627         default implementation of most macros.
628         (output_unsigned_leb128): Use dw2_asm_output_data.
629         (output_signed_leb128, dwarfout_source_line): Likewise.
630         (output_reg_number): Use dw2_assemble_integer.
631         (generate_macinfo_entry): Separate the type and offset arguments.
632         Use assemble_integer to write the value.
633         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
634         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
635         * final.c (output_addr_const): Don't put brackets round a subtracted
636         symbol value or ".".
637         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
638
639         * config/1750a/1750a.c (assemble_integer_1750a): New,
640         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
641         * config/arc/arc.c (arc_assemble_integer): New.
642         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
643         * config/arm/arm.c (arm_poke_function_name): Likewise.
644         (arm_assemble_integer): New, extracted from...
645         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
646         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
647         (ARM_FUNCTION_PROFILER): Likewise.
648         * config/avr/avr-protos.h (asm_output_byte): Remove.
649         (asm_output_char, asm_output_short): Remove.
650         * config/avr/avr.c (avr_assemble_integer): New.
651         (asm_output_byte, asm_output_char, asm_output_short): Remove.
652         * config/clipper/clipper.h (ASM_LONG): Remove.
653         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
654         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
655         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
656         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
657         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
658         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
659         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
660         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
661         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
662         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
663         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
664         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
665         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
666         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
667         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
668         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
669         (ASM_SHORT, ASM_LONG): Undefine.
670         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
671         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
672         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
673         * config/ia64/ia64.c (ia64_assemble_integer): New.
674         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
675         (ASM_OUTPUT_DWARF_PCREL): Likewise.
676         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
677         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
678         (ASM_SHORT, ASM_LONG): Remove.
679         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
680         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
681         macros, the allowed values for INT_OP_GROUP.
682         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
683         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
684         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
685         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
686         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
687         * config/m68k/dpx2.h (ASM_LONG): Undefine.
688         (INT_OP_GROUP): Define to INT_OP_DC.
689         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
690         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
691         * config/m68k/lynx.h (ASM_LONG): Undefine.
692         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
693         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
694         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
695         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
696         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
697         for GAS and INT_OP_NO_DOT otherwise.
698         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
699         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
700         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
701         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
702         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
703         (INT_OP_GROUP): Define to INT_OP_STANDARD.
704         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
705         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
706         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
707         * config/m68k/tower-as.h (ASM_LONG): Remove.
708         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
709         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
710         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
711         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
712         * config/mips/iris5.h (TARGET_IRIX5): Define.
713         * config/mips/mips.c (mips_assemble_integer): New.
714         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
715         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
716         * config/mmix/mmix.c (mmix_assemble_integer): New.
717         (mmix_asm_output_double_int): Remove.
718         (mmix_print_operand): Call mmix_output_octa directly.
719         * config/mmix/mmix.h (ASM_LONG): Remove.
720         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
721         * config/pa/pa.c (pa_assemble_integer): New.
722         (pa_override_options): Only use aligned DI ops on 64-bit targets.
723         Only use the unaligned ops if TARGET_GAS.
724         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
725         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
726         * config/pj/pj.h (ASM_LONG): Undefine.
727         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
728         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
729         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
730         and in_toc_section() rather than the in_section variable.
731         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
732         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
733         (RELOCATABLE_NEEDS_FIXUP): Define.
734         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
735         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
736         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
737         to get the word directive.
738         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
739         * config/s390/s390.c (s390_assemble_integer): New.
740         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
741         integer_asm_op to get the word directive.
742         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
743         * config/sparc/sparc-protos.h (output_double_int): Remove.
744         * config/sparc/sparc.c (output_double_int): Move to...
745         (sparc_assemble_integer): ...this new function.
746         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
747         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
748         * config/sparc/sysv4.h (ASM_LONG): Remove.
749         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
750         ASM_LONG.
751         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
752         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
753
754         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
755         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
756         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
757         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
758         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
759         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
760         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
761         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
762         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
763         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
764         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
765         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
766         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
767         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
768         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
769         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
770         appropriate.
771
772         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
773         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
774         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
775         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
776         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
777         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
778         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
779         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
780         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
781         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
782         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
783         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
784         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
785         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
786         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
787         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
788         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
789         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
790         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
791         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
792         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
793         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
794         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
795         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
796         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
797         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
798
799 2001-12-17  Stan Shebs  <shebs@apple.com>
800
801         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
802         (STACK_BOUNDARY): Remove definition.
803         (CPP_PREDEFINES): Define __POWERPC__.
804
805 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
806
807         * doc/c-tree.texi (Trees): Only refer to GCC.
808
809 2001-12-17  Andreas Jaeger  <aj@suse.de>
810
811         * c-common.def: Fix typo in comment.
812
813 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
814
815         * config.gcc (sparc64-*-freebsd*): Add target.
816         * config/sparc/freebsd.h: New file.
817         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
818         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
819         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
820
821 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
822
823         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
824         PLUS operands into registers for altivec mode.
825
826 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
827
828         * builtins.c (apply_args_size): Change regno to unsigned.
829
830 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
831
832         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
833         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
834
835 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
836
837         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
838         gettext on argument before printing.
839
840         * fold-const.c (negate_expr): Always call fold on new
841         NEGATE_EXPR.
842
843 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
844
845         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
846         a DECL directly.
847         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
848         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
849         * c-decl.c (build_compound_literal): Put the decl inside a
850         DECL_STMT.
851         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
852         Fixes PR c/5105.
853
854 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
855
856         * config.gcc: Add powerpc-*-eabisimaltivec*.
857
858 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
859
860         * c-common.c, c-common.h (back_end_hook): Remove.
861         * c-lang.c (finish_file): Remove back_end_hook.
862
863 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
864
865         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
866         last change.
867
868 2001-12-16  Richard Henderson  <rth@redhat.com>
869
870         * toplev.c (parse_options_and_default_flags): Don't enable
871         flag_cprop_registers at -O1.
872
873 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
874
875         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
876         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
877         * avr.h (reg_class): Likewise.
878         * avr.md: Likewise.
879         * mcore.c (try_constant_tricks, mcore_byte_offset,
880         mcore_halfword_offset): Likewise.
881         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
882         * v850.c (not_power_of_two_operand): Likewise.
883
884         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
885         warnings.
886         * convex.h (ASM_OUTPUT_ASCII): Likewise.
887         * i370.h (ASM_OUTPUT_ASCII): Likewise.
888         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
889         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
890         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
891         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
892         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
893         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
894         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
895         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
896         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
897         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
898         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
899         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
900         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
901         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
902         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
903         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
904         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
905         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
906         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
907         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
908         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
909         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
910         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
911         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
912
913         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
914         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
915         * psos.h (CPP_PREDEFINES): Likewise.
916         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
917         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
918         ASM_OUTPUT_EXTERNAL): Likewise.
919         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
920         Likewise.
921         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
922         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
923         Likewise.
924         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
925
926         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
927         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
928         * fold-const.c (real_hex_to_f): Use hex_value.
929         * real.c (asctoeg): Use hex_value & ISXDIGIT.
930         * toplev.c (toplev_main): Call hex_init.
931         * tradcpp.c (main): Call hex_init.
932
933         * nextstep-protos.h: New file.
934         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
935         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
936         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
937         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
938         handle_pragma): Move prototypes to nextstep-protos.h.
939         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
940         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
941
942 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
943
944         PR other/3725
945         * configure.in: Add AC_SUBST(target_alias).
946         * configure: Regenerated.
947
948 2001-12-15  Richard Henderson  <rth@redhat.com>
949
950         * config/alpha/alpha.md (sibcall_osf_1_er): New.
951         (sibcall_value_osf_1_er): New.
952
953 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
954
955         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
956         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
957         addrs; eliminate restriction of only using fp and sp as base
958         registers.
959         * config/sparc/sparc-protos.h: Update.
960         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
961         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
962         from old define_peepholes.
963         Convert all the ldd/std peepholes to peephole2.
964
965 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
966
967         * s390.md (prologue, epilogue, *return_si, *return_di): New.
968         s390.c (find_unused_clobbered_reg, s390_frame_info,
969         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
970         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
971         s390.c (s390_arg_frame_offset): Use s390_frame_info.
972         (leaf_function_flag, cur_is_leaf_function,
973         save_fprs, restore_fprs, force_const_mem_late): Remove.
974         (s390_function_prologue, s390_function_epilogue): Mostly remove.
975         s390.md (lit): New.  Uses ...
976         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
977         s390-protos.h (s390_output_constant_pool): Declare.
978         s390.md (load_multiple, store_multiple): Allow use after reload.
979         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
980         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
981         s390.h (CALL_REALLY_USED_REGISTERS): Define.
982         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
983         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
984         s390.c (s390_sr_alias_set): New global variable, initialized ...
985         (override_options): ... here.  New.
986         s390-protos.h (override_options): Declare.
987         s390.h (OVERRIDE_OPTIONS): Call it.
988         s390.c (s390_function_profiler): New.
989         s390-protos.h (s390_function_profiler): Declare.
990         s390.h (FUNCTION_PROFILER): Call it.
991         s390.c (s390_profile): Remove.
992
993         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
994         (addr_generation_dependency_p): Consider literal pool register loads.
995         (s390_adjust_priority): Do not schedule load_multiple.
996         s390.md (attribute "type"): Define some additional types.
997         (function_unit "integer"): Adapt.
998         (many insns): Adapt "type" attribute setting.
999
1000         * s390.c (general_s_operand, s_imm_operand): New.
1001         (s_operand): Remove old definition, call general_s_operand instead.
1002         s390-protos.h (s_imm_operand): Declare.
1003         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
1004         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1005         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1006         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1007         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1008         s390.md (many insns): Rework insn predicates.
1009
1010         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1011         non-symbolic constants.  Reload will force them because of ...
1012         (s390_preferred_reload_class): ... this.  New.
1013         s390-protos.h (s390_preferred_reload_class): Declare.
1014         s390.h (PREFERRED_RELOAD_CLASS): Call it.
1015         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1016         *reload_la_31 splitters): Handle constants after reload.
1017         (many insns): no longer force all constants immediately.
1018         s390.c (legitimate_reload_constant_p): New helper routine.
1019         s390-protos.h (legitimate_reload_constant_p): Declare.
1020         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1021
1022         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
1023         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1024         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1025         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1026         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1027         (DWARF_FRAME_REGISTERS): Define.
1028         s390.c (regclass_map): Add virtual frame pointer.
1029         (legitimate_la_operand_p): Allow use of virtual frame pointer.
1030         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1031         (addaddr, addsi_64): Delete.
1032
1033         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
1034         floating point registers.
1035         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1036         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1037         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1038
1039         * s390.md (movti): Replace multi-insn output with splitters.
1040         (movdi_31, movdf_31): Likewise.
1041         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1042         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1043         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1044         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1045         (movsf_64, movsf_31): Remove, replace by ...
1046         (movsf): ... this.
1047         (movqi_64): Use lhi instead of llill.
1048         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1049
1050         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1051         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1052         extendqihi2 and associated splitters): Reworked.
1053         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1054         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1055         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1056         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1057         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1058         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1059         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1060         and associated splitters): Likewise.
1061         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
1062         and associated splitters): New.
1063         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
1064         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1065         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1066         s390.h (PROMOTE_PROTOTYPES): Remove.
1067         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1068
1069         * s390.md (muldi3): Delete, use instead ...
1070         (mulsidi3): ... this.
1071         (*muldi3_64): Rename to muldi3.
1072         (mulsi_6432): Fix template.
1073         (divdi3, moddi3): Delete, replace by ...
1074         (divmoddi4): ... this.
1075         (divmodtidi3): Fix template.
1076         (divmodtisi3): New.
1077         (udivdi3, umoddi3): Delete, replace by ...
1078         (udivmoddi4): ... this.
1079         (udivmodtidi3): Fix template.
1080         (divsi3, modsi3): Delete, replace by ...
1081         (divmodsi4): ... this.
1082         (divmoddisi3): Fix template.
1083         (udivsi3, umodsi3): Adapt.
1084
1085         * s390.md (anddi3): Remove SS alternative, use instead ...
1086         (anddi3_ss, anddi3_ss_inv): ... these.
1087         (anddi3_ni): New.
1088         (andsi3*, andhi3*, andqi3*): Likewise.
1089         (iordi3): Remove SS alternative, use instead ...
1090         (iordi3_ss, iordi3_ss_inv): ... these.
1091         (iordi3_oi): New.
1092         (iorsi3*, iorhi3*, iorqi3*): Likewise.
1093         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1094         (xordi3): Remove SS alternative, use instead ...
1095         (xordi3_ss, xordi3_ss_inv): ... these.
1096         (xordi3_oi): New.
1097         (xorsi3*, xorhi3*, xorqi3*): Likewise.
1098         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1099         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1100         Expand to XOR with -1.
1101         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1102         (cmpdi_tm): Delete, replace by ...
1103         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1104         (cmpsi_cct): Delete, replace by ...
1105         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1106         (cmpdi_tm2, cmpsi_tm2): Improve.
1107         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
1108         s390.c (s390_single_hi, s390_extract_hi,
1109         s390_single_qi, s390_extract_qi): New helper routines.
1110         s390-protos.h (s390_single_hi, s390_extract_hi,
1111         s390_single_qi, s390_extract_qi): Declare.
1112         s390.c (tmxx_operand, const1_operand): Remove.
1113         s390-protos.h (tmxx_operand, const1_operand): Likewise.
1114         s390.h (PREDICATE_CODES): Likewise.
1115
1116         * s390.md (sqrtdf2, sqrtsf2): New.
1117
1118         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1119         (check_and_change_labels): Remove section-change special case.
1120
1121         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
1122         in leaf functions.  Needs ...
1123         (DYNAMIC_CHAIN_RTX):  ... this.  New.
1124
1125         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1126
1127         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1128         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1129         input operands using a match_dup clause.
1130         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1131
1132         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1133         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1134
1135         * s390.md (floatsidf2_ibm): Use correct operand.
1136
1137         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1138         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1139         non-portable constants.
1140         s390.c (s390_gen_rtx_const_DI): New helper routine.
1141         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1142
1143         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1144
1145         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1146         ASM_OUTPUT_BYTE): Clean up assembly output.
1147         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1148         (ASM_OUTPUT_ASCII): Remove.
1149
1150         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1151
1152 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1153
1154         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1155         before including unwind-dw2-fde.c, if we are not using the
1156         special code in this file.
1157
1158 2001-12-15  Richard Henderson  <rth@redhat.com>
1159
1160         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1161         MASK_EXPLICIT_RELOCS if the assembler supports it.
1162         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1163         * configure, config.in: Rebuild.
1164
1165 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1166
1167         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1168         for rounded_stack_size.
1169
1170 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1171
1172         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1173         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1174         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1175         "bit-field" spellings in messages.
1176         * po/gcc.pot: Regenerate.
1177
1178 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1179
1180         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1181         American spelling in messages.
1182         * po/gcc.pot: Regenerate.
1183
1184 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1185
1186         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1187         constraints from expanders.  Replace \@ with @.
1188
1189 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1190
1191         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1192
1193 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1194
1195         * regrename.c (copyprop_hardreg_forward): Do not keep register
1196         value data live across abnormal call or eh egdes.
1197
1198 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1199
1200         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1201         BIGGEST_ALIGNMENT for 0.
1202
1203 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1204
1205         * predict.def (PRED_NORETURN): Make probabilities match reality.
1206         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1207         Likewise.
1208
1209 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1210
1211         * configure.in: Check for ld.
1212         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1213         * configure, config.in: Rebuilt.
1214         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1215         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1216         frame unwinding on Linux.
1217         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1218         frame unwinding.
1219         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1220         (LINK_EH_SPEC): Define.
1221         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1222         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1223         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1224         iterate further if pc falls into current library, but fde was not
1225         found.
1226         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1227         if using glibc.
1228         (LINK_EH_SPEC): Define.
1229         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1230         Use crtbeginT.o for -static.
1231         (LINK_EH_SPEC): Define.
1232         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1233         * Makefile.in (crtbeginT.o): Add rule.
1234         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1235         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1236         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1237         If none of the above switches are passed, use -lgcc -lgcc_eh.
1238         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1239         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1240         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1241         * unwind-dw2-fde.c: Don't include any headers if this file
1242         is included from other .c file.
1243         * unwind-dw2-fde-glibc.c: New file.
1244         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1245         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1246
1247 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1248
1249         * builtins.c (expand_builtin_memcmp): Mark parameter with
1250         ATTRIBUTE_UNUSED.
1251         * cfgcleanup.c (insns_match_p): Likewise.
1252         * regrename.c (mode_change_ok): Likewise.
1253         * gcc.c (execute): Const-ify.
1254
1255 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
1256
1257         * c-parse.in (typename): Do not split attributes.
1258         Remove unsupported attributes warning.
1259
1260         * c-decl.c (groktypename): Apply attributes.
1261
1262 2001-12-14  Richard Henderson  <rth@redhat.com>
1263
1264         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
1265         initialization as possibly dead.
1266
1267 2001-12-14  Richard Henderson  <rth@redhat.com>
1268
1269         * regrename.c (mode_change_ok): New.
1270         (find_oldest_value_reg): Use it.
1271
1272 2001-12-14  Richard Henderson  <rth@redhat.com>
1273
1274         * regrename.c (struct value_data): Add max_value_regs.
1275         (init_value_data): Initialize it.
1276         (kill_value): Kill values that overlap the dying register.
1277         (set_value_regno): New.
1278         (kill_set_value, kill_autoinc_value, copy_value): Use it.
1279         (copyprop_hardreg_forward_1): Kill earlyclobber operands
1280         before looking at inputs.
1281
1282 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
1283
1284         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
1285         DECL_WEAK for function descriptors.
1286         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
1287         weak support present.
1288         (ASM_WEAKEN_LABEL): Same.
1289
1290 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1291
1292         * config/h8300/h8300.md (anonymous pattern): Add a missing
1293         mode.
1294
1295 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1296
1297         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
1298         comment typo.
1299
1300 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1301
1302         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
1303         Remove the initialization requierment.
1304         (h8300_handle_tiny_data_attribute): Likewise.
1305
1306 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1307
1308         * config/h8300/h8300.md (udivqi3): Remove.
1309         (divqi3): Likewise.
1310         (udivhi3): Likewise.
1311         (divhi3): Likewise.
1312         (umodqi3): Likewise.
1313         (modqi3): Likewise.
1314         (umodhi3): Likewise.
1315         (modhi3): Likewise.
1316         (udivmodqi3): New.
1317         (divmodqi3): Likewise.
1318         (udivmodhi3): Likewise.
1319         (divmodhi3): Likewise.
1320
1321 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1322
1323         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
1324         by active_insn_p; count conditional jump as instruction.
1325
1326 2001-12-14  DJ Delorie  <dj@redhat.com>
1327             Danny Smith  <dannysmith@users.sourceforge.net>
1328
1329         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
1330         at SYM_NAME[0] or SYM_NAME[3].
1331         (STRIP_NAME_ENCODING): Don't check for leading '*'.
1332
1333 2001-12-14  Ira Ruben   <ira@apple.com>
1334
1335         Add -### option (displays driver-generated commands without
1336         executing and quotes all arguments).
1337         * doc/invoke.texi: Add -###.
1338         * gcc.c (verbose_only_flag) - New flag.
1339         * (execute): If -### write quoted arguments and return.
1340         * (display_help): Print meaning of -###.
1341         * (process_command): Handle -###.
1342
1343 2001-12-14  Ira Ruben   <ira@apple.com>
1344
1345         Fix to no allow -save-temps to clobber user's source file.
1346         * gcc.c: Add static globals input_stat and input_stat_set.
1347         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
1348         set, check that user's input file is not overwritten.
1349         (set_input): Reset input_stat_set for each new file.
1350
1351 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1352
1353         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
1354
1355 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
1356
1357         * combine.c (record_dead_and_set_regs): Use
1358         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
1359
1360 2001-12-14  Roger Sayle <roger@eyesopen.com>
1361
1362         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
1363         __builtin_fsqrt to __builtin_sqrt.
1364
1365         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
1366         * doc/extend.texi: Simplify documentation to match patch.
1367
1368 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1369
1370         * config.gcc: Revamp target_cpu_default2 to strings;
1371         support new x86 variants.
1372         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
1373         properly; set prefetch_sse.
1374         * i386.h (x86_prefetch_sse): Declare.
1375         (TARGET_PREFETCH_SSE): New.
1376         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
1377         (TARGET_CPU_DEFAULT_*): New.
1378
1379 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
1380                               Jan Hubicka  <jh@suse.cz>
1381
1382         * config/i386/i386.h (struct processor_costs): Add new members
1383           prefetch_block and simultaneous_prefetches.
1384           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
1385         * config/i386/i386.c (processor_costs structs): Add values for
1386           prefetch_block and simultaneous_prefetches.
1387         * config/i386/i386.md (unspec values): Remove values for prefetch
1388           operations, which now use the PREFETCH rtx code.
1389           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
1390           unified prefetch support.
1391
1392 2001-12-14  Jason Merrill  <jason@redhat.com>
1393
1394         * diagnostic.c (sorry): Increment sorrycount before saving the
1395         buffer state.
1396
1397 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1398
1399         * i386.md (sqrt?f): Fix conditionals.
1400
1401 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
1402
1403         * config.gcc (alpha64-dec-*vms*): New case.
1404         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
1405         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
1406         * config/alpha/xm-vms64.h: Likewise.
1407
1408         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
1409         (alpha_write_linkage): Test for null alpha_links.
1410         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
1411         (vms_section_type_flags, vms_asm_named_section): Handle them.
1412
1413 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1414
1415         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
1416         (override_option): Set ix86_fpmath.
1417         * i386.h (MASK_MIX_SSE_I387): Remove.
1418         (TARGET_SSE_MATH): New.
1419         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
1420         (TARGET_SWITCHES): Remove "mix-sse-i387".
1421         (fpmath_unit): New enum.
1422         (ix86_fpmath, ix86_fpmath_string): Declare.
1423         * i386.md (swapsf): Fix condition.
1424         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
1425         (fp_?f_*_nosse): New.
1426         (fp_*): Use TARGET_SSE_MATH.
1427         * invoke.texi (-mfpmath): Document.
1428         (-msse2): Add.
1429
1430 2001-12-14  Jason Merrill  <jason@redhat.com>
1431
1432         * dwarf2out.c (output_die): Print the string in the comment for
1433         a DW_FORM_strp.
1434
1435 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
1436
1437         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
1438         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
1439         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1440         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
1441
1442 2001-12-13  Richard Henderson  <rth@redhat.com>
1443
1444         * regrename.c (kill_value_regno): Simplify chain removal.
1445         (kill_value): Kill all of HARD_REGNO_NREGS.
1446         (kill_set_value): Use kill_value not kill_value_regno.
1447         (kill_autoinc_value): Likewise.
1448         (copyprop_hardreg_forward): Don't collect refresh_blocks.
1449         Call delete_noop_moves.
1450
1451 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1452
1453         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
1454         for the mode attribute.
1455         (handle_mode_attribute): Handle types, not decls.
1456
1457 2001-12-13  Jason Merrill  <jason@redhat.com>
1458
1459         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
1460
1461 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1462
1463         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
1464         constraint to base register.
1465         (eh_set_lr_si): Same.
1466
1467 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
1468
1469         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
1470         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
1471         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
1472
1473 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1474
1475         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
1476         warning and reformat comments.
1477         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
1478         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
1479         if overflow.
1480
1481 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
1482
1483         * config/rs6000/rs6000.c (rs6000_override_options): Add
1484         SUBSUBTARGET_OVERRIDE_OPTIONS.
1485
1486         * config/rs6000/eabialtivec.h: New file.
1487
1488         * config/rs6000/linuxaltivec.h: New file.
1489
1490         * config.gcc: Add powerpc-*-eabialtivec and
1491         powerpc-*-linux-gnualtivec.
1492
1493 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1494
1495         * toplev.c (process_options, parse_options_and_default_flags):
1496         Set flag_no_inline before the post_options hook.
1497
1498 2001-12-13  Richard Henderson  <rth@redhat.com>
1499
1500         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
1501         is false.
1502
1503 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1504
1505         * collect2.c (COLLECT_SHARED_INIT_FUNC)
1506         (COLLECT_SHARD_FINI_FUNC): Define default values.
1507         (write_c_file_stat): Use them to call construtor and destructor
1508         functions in shared libraries.
1509         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1510         (COLLECT_SHARD_FINI_FUNC): Document them.
1511         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
1512         (COLLECT_SHARD_FINI_FUNC): Define.
1513
1514         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
1515         shared library.  Pass -shared through to the linker.
1516         * config/arm/netbsd.h (LINK_SPEC): Likewise.
1517
1518         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
1519         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
1520         (SHLIB_INSTALL): Define.
1521
1522 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1523
1524         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
1525         the same way as we handle SYMBOL_REFS.
1526
1527 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1528
1529         * loop.c (remove_constant_addition): Fix prototype and whitespace.
1530         (emit_prefetch_instructions): Remove warnings and whitespace
1531         changes.
1532
1533 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
1534
1535         * config/alpha/vms-cc.c (preprocess_args): Fix forward
1536         declaration.
1537
1538 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1539
1540         * predict.c (estimate_probability): Reorganize opcode heuristics.
1541         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
1542         PRED_FPOPCODE): New.
1543
1544         * i386.c (override_options): Recognize various CPU variants and set
1545         SSE/MMX/3dNOW flags accordingly.
1546         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
1547         MASK_3DNOW_A_SET): New.
1548         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
1549         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
1550         (MASK_*): Renumber.
1551         (TARGET_FLAGS): Use new masks.
1552         (CPP_CPU_SPECS): Recognize new CPU variants.
1553         * invoke.texi (-mcpu): Update documentation.
1554
1555         * flags.h (flag_prefetch_loop_arrays): Declare.
1556         * loop.h (LOOP_PREFETCH): Define new constant.
1557         * loop.c (strength_reduce): Call emit_prefetch_instructions.
1558         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
1559         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
1560         constants.
1561         (check_store_data): New structure.
1562         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
1563         New functions.
1564         * toplev.c: Include insn-flags.h.
1565         (flag_prefetch_loop_arrays): New global variable.
1566         (lang_independent_option): Add -fprefetch-loop-arrays.
1567         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
1568         is set.
1569         * Makefile.in (toplev.c): Depend on insn-flags.h.
1570         * invoke.texi (-fprefetch-loop-arrays): Document.
1571
1572         * predict.c (estimate_probability): Distribute the loop exit
1573         probability according to number of exit edges.
1574
1575         * cfgcleanup.c (insns_match_p): Break out from ...;
1576         (flow_find_cross_jump): ... here;
1577         (outgoing_edges_match): Add parameter MODE; attempt to match everything
1578         except for tablejumps.
1579         (try_crossjump_to_edge): Accept complex edges.
1580         (try_crossjump_bb): Likewise.
1581
1582 2001-11-29  Corey Minyard <minyard@acm.org>
1583
1584         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
1585         instead of plus_constant.
1586         * simplify-rtx.c (neg_const_int): New.
1587         (simplify_gen_binary, simplify_plus_minus): Use it.
1588
1589 2001-12-12  Roger Sayle  <roger@eyesopen.com>
1590
1591         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
1592         expand_builtin_strcpy): Additional arguments TARGET and MODE.
1593         (expand_builtin_bzero, expand_builtin_strcpy,
1594         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
1595         TARGET and MODE parameters to the above functions.
1596         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
1597         case where the LEN parameter is constant zero.
1598         (expand_builtin_memcmp): No longer conditional on
1599         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
1600         the cases where len is either constant zero or one.
1601         Optimize to call to memcpy, even if the memcpy isn't inlined.
1602         (expand_builtin_strncpy): Optimize to call memcpy, even if the
1603         memcpy isn't inlined.
1604         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
1605         to optimize to a call to memcmp.
1606         (expand_builtin): expand_builtin_memcmp can always be called,
1607         and pass the required parameters to expand_builtin_memcmp,
1608         expand_builtin_memset, expand_builtin_memcpy and
1609         expand_builtin_strcpy.
1610
1611 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
1612
1613         * config.gcc (arm-*-freebsd*): Add target.
1614         * config/arm/freebsd.h: New file.
1615         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
1616         (CPP_SPEC): #undef before defining.
1617         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
1618         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
1619         -Amachine=arm.
1620         * config/arm/linux-elf.h: Likewise.
1621         * config/arm/netbsd.h: Likewise.
1622         * config/arm/riscix.h: Likewise.
1623         * config/arm/riscix1-1.h: Likewise.
1624         * config/arm/semiaof.h: Likewise.
1625
1626 2001-12-12  Richard Henderson  <rth@redhat.com>
1627
1628         * regrename.c (copyprop_hardreg_forward): New optimization.
1629         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
1630         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
1631         replace_oldest_value_reg, replace_oldest_value_addr,
1632         replace_oldest_value_mem, copyprop_hardreg_forward_1,
1633         debug_value_data, validate_value_data): New.
1634         * rtl.h (copyprop_hardreg_forward): Declare.
1635         * toplev.c (flag_cprop_registers): New.
1636         (f_options): Add -fcprop-registers
1637         (rest_of_compilation): Invoke it.
1638         (parse_options_and_default_flags): Set it at -O1.
1639         * doc/invoke.texi: Document it.
1640
1641 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1642
1643         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
1644         (DEBUG_RANGES_SECTION_LABEL): Define.
1645         (ranges_section_label): Add.
1646         (add_AT_range_list): New.
1647         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
1648         (output_loc_list): Location expression length is always 2-byte.
1649         (output_die): Handle dw_val_class_range_list.
1650         (gen_lexical_block_die): Call add_AT_range_list.
1651         (dwarf2out_init): Initialize ranges_section_label.
1652         (dwarf2out_finish): Emit ranges_section_label.
1653
1654 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1655
1656         * c-typeck.c (digest_init): Allow initializing
1657         static storage duration objects with compound literals.
1658         * doc/extend.texi (Compound literals): Document the extension.
1659
1660 2001-12-12  Richard Henderson  <rth@redhat.com>
1661
1662         * emit-rtl.c (adjust_address_1): Always copy address to avoid
1663         shared rtl.
1664
1665 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
1666
1667         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
1668         to avoid overflow.
1669
1670 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1671
1672         * cppfiles.c (read_include_file): Set buffer size properly when
1673         file is shorter than expected.
1674
1675 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1676
1677         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
1678         enumeral types - encode them using 'i'.
1679
1680 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1681
1682         * doc/extend.texi (Deprecated Features): Deprecate implicit
1683         typename. Document that named return and initializer lists are now
1684         removed.
1685
1686 2001-12-11  Roger Sayle <roger@eyesopen.com>
1687
1688         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
1689         compiler warning about enumeration values not being handled.
1690
1691 2001-12-11  Momchil Velikov  <velco@fadata.bg>
1692
1693         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
1694         shifts.
1695
1696 2001-12-11  Richard Henderson  <rth@redhat.com>
1697
1698         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
1699         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
1700         * config/alpha/alpha.md (prefetch): New.
1701
1702 2001-12-11  Richard Henderson  <rth@redhat.com>
1703
1704         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
1705         if C has only low bits set and doesn't intersect with X or Y.
1706
1707 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
1708
1709         * basic-block.h (flow_preorder_transversal_compute): Declare.
1710         * cfganal.c (flow_preorder_transversal_compute): Implement.
1711
1712 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
1713
1714         * cfganal.c (flow_depth_first_order_compute): Always
1715         increment dfsnum.
1716
1717 2001-11-30 Alan Matsuoka <alanm@redhat.com>
1718
1719         * combine.c (combine_simplify_rtx) : Can't simplify
1720         cases that use mode class MODE_CC.
1721
1722 2001-12-11  Richard Henderson  <rth@redhat.com>
1723
1724         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
1725         which there is no divide expander.
1726
1727 2001-12-11  Richard Henderson  <rth@redhat.com>
1728
1729         * except.c (sjlj_find_directly_reachable_regions): Don't
1730         consider RNL_BLOCKED a directly reachable region.
1731         (sjlj_assign_call_site_values): Trust directly_reachable.
1732         (sjlj_emit_dispatch_table): Likewise.
1733
1734 2001-12-11  Richard Henderson  <rth@redhat.com>
1735
1736         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
1737         we represent the address load's dependency on the gp.
1738         (divmoddi_internal_er): Likewise.
1739         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
1740
1741 2001-12-11  Richard Henderson  <rth@redhat.com>
1742
1743         * emit-rtl.c (widen_memory_access): New.
1744         * expr.h (widen_memory_access): Declare it.
1745         * config/alpha/alpha.c (get_aligned_mem): Use it.
1746
1747 2001-12-11  Richard Henderson  <rth@redhat.com>
1748
1749         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
1750         simplification above out of range check.
1751
1752 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
1753
1754         * config/sparc/sparc.md (prefetch): New.
1755
1756 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1757
1758         * output.h (regno_uninitialized): Make argument unsigned.
1759
1760         * flow.c (regno_uninitialized): Make regno unsigned.
1761
1762 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1763
1764         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
1765         * config/cris/cris.h (ENDFILE_SPEC): Define.
1766         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
1767         * config/pa/elf.h: Likewise.
1768
1769 2001-12-11  Richard Henderson  <rth@redhat.com>
1770
1771         * objc/objc-act.c (build_string_class_template): New.
1772         (build_objc_string_object): Call it.
1773
1774 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
1775
1776         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1777         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1778         * calls.c (store_unaligned_arguments_into_pseudos): Check
1779         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
1780         are passed/returned.
1781         * expr.c (move_block_from_reg): Ditto.
1782         (move_block_from_reg): Ditto.
1783         (copy_blkmode_from_reg): Ditto.
1784         * stmt.c (expand_return): Ditto.
1785         * stor-layout.c (compute_record_mode): If
1786         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
1787         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
1788         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
1789         so that Structures of one field are still treated as structures.
1790         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
1791         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
1792         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
1793         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
1794         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
1795         to special case handling of structure padding.
1796
1797 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
1798
1799         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
1800         (may_trap_exp): Stores only are risk if they trap, too, not just
1801         if code == MEM.
1802
1803 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1804
1805         * flow.c (find_regno_partial): Indent properly.  Add a default to
1806         switch.
1807
1808 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1809
1810         * c-common.c (combine_strings): Complain if concatenating
1811         __FUNCTION__.
1812         * c-parse.in (yylexname): Flag artificial strings.
1813         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
1814 doc:
1815         * extend.texi: Update.
1816
1817 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1818
1819         * c-common.c (type_for_mode): Handle unsigned vectors.
1820         (type_for_mode): Remove redundant calls to TYPE_MODE.
1821
1822         * tree.c (make_vector): New.
1823         (build_common_tree_nodes_2): Use make_vector for vector types.
1824         Add unsigned vector types.
1825
1826         * tree.h (tree_index): Add unsigned types for vectors.
1827         (unsigned_V16QI_type_node): New.
1828         (unsigned_V4SI_type_node): New.
1829         (unsigned_V8QI_type_node): New.
1830         (unsigned_V8HI_type_node): New.
1831         (unsigned_V4HI_type_node): New.
1832         (unsigned_V2SI_type_node): New.
1833
1834 2001-12-11  Stan Shebs  <shebs@apple.com>
1835
1836         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
1837         test of class names.
1838
1839 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1840
1841         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
1842         cpu configuration headers.
1843         * config/h8300/elf.h: Include dbxelf.h.
1844         * config/m68k/linux.h: Likewise.
1845         * config/m68k/m68020-elf.h: Likewise.
1846         * config/m68k/m68kv4.h: Likewise.
1847         * config/sh/elf.h: Likewise.
1848         * config/m68k/m68kemb.h: Add comment about the its purpose.
1849
1850 2001-12-11  Richard Henderson  <rth@redhat.com>
1851
1852         * objc/objc-act.c (build_constructor): Cast initializer values
1853         to the proper field types.
1854
1855 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
1856
1857         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
1858
1859 2001-12-10  Roger Sayle <roger@eyesopen.com>
1860
1861         * builtins.c (expand_builtin): Use a switch statement to list
1862         those functions not expanded without optimizations, instead of a
1863         series of equality tests.
1864
1865 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1866
1867         * config/alpha/vms.h (LIB_SPEC): Define.
1868         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
1869
1870         * libgcc2.c (_bb): Remove ctime declaration.
1871
1872         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
1873         that works if LN_S = cp.
1874
1875         * config/alpha/x-vms (version): Change "." to "_".
1876
1877         * configure.in: Hardcode that vfork works on VMS host.
1878         * configure: Regenerated.
1879
1880 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
1881
1882         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
1883         unless do_obj true.
1884         (process_command): Modify calls to convert_filename.
1885
1886 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1887
1888         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
1889
1890 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
1891
1892         * combine.c (known_cond): Check mode of each operand to determine
1893         if COND is comparing floating point values.
1894
1895 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
1896
1897         * rs6000.h (processor_type): Add PPC405.
1898         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
1899         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
1900         rios1, rs64, and ppc630 processors.
1901         * rs6000.c (processor_target_table): Add PPC405.
1902
1903 2001-12-10  Richard Henderson  <rth@redhat.com>
1904
1905         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
1906         instead of hardcoding subregs into the _be and _le patterns.
1907
1908 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1909
1910         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
1911
1912 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1913
1914         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
1915         what insn does.
1916
1917 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1918
1919         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
1920         copyright notice formerly conditioned on @ifinfo on @ifnottex
1921         instead.
1922
1923 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1924
1925         * vmsdbgout.c (lookup_filename): Remove warning.
1926
1927 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1928
1929         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
1930
1931         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1932         (exeext, target_alias, prefix, local_prefix): Define.
1933         * config/alpha/x-vms (USE_COLLECT2): Make empty.
1934         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
1935         file specifications. Remove ".".
1936         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
1937         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
1938
1939 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
1940
1941         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
1942
1943 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1944
1945         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
1946         Add rules for building [vp]crt0.o
1947         * config/alpha/vms.h (START_FILE_SPEC): Define.
1948         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
1949         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
1950         * doc/invoke.texi: Document special Alpha/VMS options.
1951
1952 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1953
1954         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
1955         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
1956         not GNUC.
1957
1958 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1959                           Douglas B. Rupp  <rupp@gnat.com>
1960
1961         * tree.c (append_random_char): Conditionalize INO for VMS.
1962
1963 2001-12-09  Richard Henderson  <rth@redhat.com>
1964
1965         * cfgcleanup.c (label_is_jump_target_p): New function.
1966         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
1967         target of a JUMP_INSN from the preceding block.
1968
1969 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
1970
1971         * vmsdbgout.c (lookup_filename): Assign null string instead
1972         of null pointer to fnam.
1973
1974 2001-12-09  Richard Henderson  <rth@redhat.com>
1975
1976         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
1977         immediately after a call; insert nops before a call.
1978
1979 2001-12-09  Richard Henderson  <rth@redhat.com>
1980
1981         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
1982         not FUNCTION_BOUNDARY.
1983         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
1984         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
1985         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
1986
1987 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
1988
1989         * config/mmix/mmix.c (mmix_function_block_profiler,
1990         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1991         unused functions.
1992         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
1993         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1994         prototypes.
1995
1996         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
1997         Delete obsoleted macros.
1998
1999 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2000
2001         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2002         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2003
2004         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2005         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2006         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2007         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2008         config/i370/i370.c, config/i386/i386.c,
2009         config/i386/i386-interix.h, config/i386/i386.md,
2010         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2011         config/m32r/m32r-protos.h, config/mcore/mcore.h,
2012         config/rs6000/rs6000.h, config/sparc/linux64.h,
2013         config/sparc/sparc.c, config/v850/v850-protos.h,
2014         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2015         spelling errors.
2016
2017 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
2018
2019         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2020         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2021
2022         * config/rs6000/rs6000.c: Ditto.
2023
2024         * config/rs6000/rs6000.md: Ditto.
2025
2026 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2027
2028         * 1750a.md: Add default case in switch.
2029         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2030         if-else statement.
2031         * dsp16xx.c (print_operand_address): Likewise.
2032         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2033         * ia64.md: Add missing braces.
2034         * rs6000-protos.h (s8bit_cint_operand): Prototype.
2035         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2036         if-else statement.
2037         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2038         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2039         * dbxout.c (dbxout_source_file): Move a variable into the scope
2040         where it is used.
2041         * final.c (profile_function): Mark parameter with
2042         ATTRIBUTE_UNUSED.
2043         * genemit.c (gen_expand): Likewise for generated file.
2044         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2045
2046         * vmsdbg.h: Delete spurious close-comment.
2047         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2048         * vmsdbgout.c (write_modbeg): Define return type.
2049
2050         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2051         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2052         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2053         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2054         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2055         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2056         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2057
2058 2001-12-08  Tom Rix  <trix@redhat.com>
2059
2060         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2061         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
2062         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2063         for powerpc64.
2064         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2065         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2066         * config/rs6000/rs6000.c (expand_block_move): Do not use
2067         gen_movstrsi_2reg and powerpc64.
2068
2069 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
2070
2071         * c-common.h (rid): Add RID_CHOOSE_EXPR and
2072         RID_TYPES_COMPATIBLE_P.
2073
2074         * c-parse.in (reswords): Add __builtin_choose_expr.
2075         Add __builtin_types_compatible_p.
2076         Add CHOOSE_EXPR token.
2077         Add TYPES_COMPATIBLE_P token.
2078         Add production for CHOOSE_EXPR.
2079         Add production for TYPES_COMPATIBLE_P.
2080
2081         * doc/extend.texi (__builtin_choose_expr): Add documentation.
2082         (__builtin_types_compatible_p): Likewise.
2083
2084 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
2085
2086         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2087         to unions.
2088
2089 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2090
2091         * c-parse.in: Take string literals in assembler constructs,
2092         not expressions.
2093         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2094         check the strings are STRING_CSTs.
2095
2096 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
2097
2098         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2099         using combine_strings to do the concatenation.
2100         * c-parse.in: Replace uses of the string non-terminal with STRING.
2101         Don't attempt string concatenation.
2102         (OBJC_STRING): New terminal.
2103         (string): Remove non-terminal.
2104         (_yylex): Call combine_strings on function names.  Generate
2105         OBJC_STRING terminals; don't pass '@' on to yacc.
2106         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2107         (build_asm_stmt): Similarly.
2108
2109 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2110
2111         * rtlanal.c (get_jump_table_offset): Delete unused variable.
2112
2113 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2114
2115         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2116         (prefetch): Rewrite using PREFETCH RTL primitive.
2117         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2118         * arm.c (arm_init_builtins): Don't initialize a builtin for
2119         __builtin_prefetch here.
2120         (arm_expand_builtin): Don't expand __builtin_prefetch here.
2121
2122 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
2123
2124         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
2125         in test for a subreg.
2126
2127 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2128
2129         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2130         strings.
2131
2132 2001-12-07  Richard Henderson  <rth@redhat.com>
2133
2134         * doc/extend.texi: Fix typo last change.
2135
2136         * c-decl.c (c_language): Remove duplicate.
2137
2138 2001-12-07  Dale Johannesen  <dalej@apple.com>
2139
2140         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2141         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2142         specific codegen, eliminate a register copy.
2143         (print_operand_address): Add support for Darwin's lo16(constant)
2144         syntax.
2145         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2146         generation of addresses within very large data objects.
2147         (s8bit_cint_operand):  New.
2148         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2149         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2150         Add imul2 and imul3 insn types for multiplication by 16- and
2151         8-bit constants.
2152         Change tablejump patterns to strongly discourage using LR
2153         rather than CTR.
2154         Add %lo16 patterns for Darwin loads and stores.
2155
2156 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2157
2158         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2159
2160 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2161
2162         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2163         with %sp because it can cause the delayed instruction to load
2164         below the stack.
2165
2166 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2167
2168         * alpha.c (alpha_expand_unaligned_store,
2169         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2170         call to immed_double_const.
2171
2172 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2173
2174         * doc/extend.texi (Variable Attributes): Document vector_size.
2175
2176         * attribs.c (c_common_attribute_table): Add vector_size.
2177         (handle_vector_size_attribute): New.
2178         (vector_size_helper): New.
2179         (decl_attributes): Relayout the decl after calculating attribs.
2180
2181 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2182
2183         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2184         description for Trouble section.
2185         * doc/install-old.texi: Adjust for inclusion as chapter of new
2186         installation manual.
2187         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2188         Adjust to include old installation chapter as chapter of new
2189         installation manual.
2190
2191 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2192
2193         * rtl.h (get_jump_table_offset): Declare.
2194         * rtlanal.c (get_jump_table_offset): Implement.
2195
2196 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2197
2198         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2199         Deleted; were used only by BB profiler code.
2200         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2201         (end_final): Delete now-unused vars I, PTR, and SPTR.
2202
2203         * expr.c (store_field): Remove warning.
2204         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2205         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2206         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2207         divisor constant power of 2.
2208         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2209
2210 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2211
2212         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2213         shifting.
2214
2215 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2216
2217         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2218         (DWARF_FRAME_REGISTERS): Delete.
2219
2220 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2221
2222         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2223         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2224         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2225         with defaults for read prefetch with high degree of locality.
2226         * doc/extend.texi (__builtin_prefetch): Update documentation.
2227         * doc/md.texi (prefetch): Add documentation.
2228
2229 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2230
2231         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2232         UNIX V5.1A stdio.h.
2233         * fixinc/fixincl.x: Regenerate.
2234         Fixes PR libf2c/4826.
2235
2236 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2237             Richard Henderson  <rth@redhat.com>
2238
2239         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2240         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2241
2242         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2243         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2244         (frame_state): Same.
2245         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2246
2247 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2248
2249         * langhooks.c (lhd_staticp): Mark parameter with
2250         ATTRIBUTE_UNUSED.
2251
2252 2001-12-06  H.J. Lu <hjl@gnu.org>
2253
2254         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
2255         reduce noise.
2256         (.po.pox): Likewise.
2257         (o/$(PACKAGE).pot): Likewise.
2258
2259 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
2260
2261         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
2262         * tree-inline.c (expand_call_inline): ... here.
2263
2264 2001-12-06  H.J. Lu <hjl@gnu.org>
2265
2266         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
2267         (.po.pox): Likewise.
2268         (o/$(PACKAGE).pot): Likewise.
2269
2270 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
2271
2272         * config.gcc: Include dbxelf.h before elfos.h.
2273         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
2274
2275 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
2276
2277         * cppfiles.c (open_file): If we've opened a directory by
2278         mistake, close it.
2279         (find_include_file): Avoid turning / into // or // into ///.
2280
2281 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2282
2283         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
2284         (STRUCT_VALUE_REGNUM): Restore definition.
2285
2286 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
2287
2288         * flow.c (find_regno_partial): Return register, not the expression
2289         the register is in.
2290
2291 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2292
2293         * function.c (handle_epilogue_set): Check for FP setting case when
2294         SP is set from FP in same insn.
2295
2296 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2297
2298         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
2299         RTX when calling alter_subreg().
2300         (store_multiple_sequence): Pass pointer to RTX when calling
2301         alter_subreg().
2302
2303 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2304
2305         * function.c (assing_parms): Fix typo in last change.
2306         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
2307         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
2308         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2309         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
2310
2311 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
2312
2313         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
2314         correct code selecting section.
2315
2316 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2317
2318         * final.c (count_basic_block, add_bb, add_bb_string):
2319         Kill.
2320         (end_final, final_start_function, final, final_scan_insn,
2321         leaf_function_p): Kill BB profiler related code.
2322         * flags.h (profile_block_flag): Kill.
2323         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
2324         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
2325         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
2326         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
2327         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
2328         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
2329         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
2330         __bb_init_trace_func): Kill.
2331         * toplev.c (profile_block_flag): Kill.
2332         (indepdendent_decode_option, process_options): Kill -a related code.
2333         * alpha.c (direct_call_operand): Likewise.
2334         * arm.c (arm_expand_prologue, thumb_expand_prologue,
2335         thumb_expand_epilogue): Likewise.
2336         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
2337         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2338         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2339         MACHINE_STATE_RESTORE): Kill.
2340         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2341         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2342         MACHINE_STATE_RESTORE): Kill.
2343         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2344         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
2345         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
2346         code.
2347         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
2348         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2349         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2350         MACHINE_STATE_RESTORE): Kill.
2351         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2352         * i960.c (i960_output_function_prologue): Kill BB profiler related
2353         code.
2354         * ia64.c (ia64_compute_frame_size): Likewise.
2355         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2356         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2357         MACHINE_STATE_RESTORE): Kill.
2358         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
2359         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2360         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2361         MACHINE_STATE_RESTORE): Kill.
2362         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
2363         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2364         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2365         MACHINE_STATE_RESTORE): Kill.
2366         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
2367         Kill BB profiler related code.
2368         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2369         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2370         MACHINE_STATE_RESTORE): Kill.
2371         * mips.c (mips_expand_prologue): Kill BB profiler related code.
2372         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2373         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2374         MACHINE_STATE_RESTORE): Kill.
2375         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
2376         * s960.c (s390_function_prologue): Kill BB profiler related code.
2377         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2378         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2379         MACHINE_STATE_RESTORE): Kill.
2380         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2381         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2382         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2383         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2384         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
2385         sparc_nonflat_function_epilogue): Kill BB profiler related code.
2386         (sparc_function_block_profiler, sparc_block_profiler,
2387         sparc_function_block_profiler_exit): Kill.
2388         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
2389         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2390         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2391         MACHINE_STATE_RESTORE): Kill.
2392         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2393         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2394         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2395         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2396         MACHINE_STATE_RESTORE): Kill.
2397         * doc/invoke.texi: Kill documentation of -a and -ax.
2398         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2399         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2400         MACHINE_STATE_RESTORE): Kill.
2401
2402 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
2403
2404         * doc/rtl.texi: Use a table to display RTL format characters.
2405
2406 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
2407
2408         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
2409
2410 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2411
2412         * function.c (keep_stack_depressed): Check global_live_at_start
2413         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
2414
2415 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
2416
2417         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
2418         as set by the generic FreeBSD configure framework.
2419
2420 2001-12-04  Jason Merrill  <jason@redhat.com>
2421
2422         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2423         start_inlining, end_inlining.
2424         * tree-inline.c (expand_call_inline): Call them.
2425         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
2426         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
2427         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
2428         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
2429         (lhd_tree_inlining_end_inlining): New fn.
2430
2431 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2432
2433         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
2434         * c-common.h (shadow_warning): New.
2435         * c-decl.c: Include c-common.h.
2436         (warn_if_shadowing): New, broken out of pushdecl.
2437         (pushdecl): Use warn_if_shadowing.
2438         (store_parm_decls): Prevent duplicate -Wshadow warnings.
2439
2440 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
2441
2442         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
2443         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
2444         (LIB_SPEC): Remove.
2445
2446 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2447
2448         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
2449         (QUAL_UNION_TYPE): New type.
2450
2451         * varasm.c (output_constant, case ERROR_MARK): New case.
2452
2453         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
2454         (c_com): Delete its reference.
2455         * builtins.c: Delete memory checking code.
2456         * calls.c, expr.c, function.c, stmt.c: Likewise.
2457         * builtins.c (expand_builtin_arg_info): Remove reference to
2458         EXPAND_MEMORY_USE_* modifiers.
2459         * explow.c (expr_size): Likewise.
2460         * expr.c (expand_expr, expand_increment): Likewise.
2461         * expr.h (ARGS_SIZE_RTX): Likewise.
2462         * function.c (assign_parms, expand_pending_sizeso): Likewise.
2463         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
2464         * expr.c (in_check_memory_usage): Delete.
2465         (get_push_address, get_memory_usage_from_modifier): Delete.
2466         (expand_assigment): Use EXPAND_WRITE on destination.
2467         (expand_expr): Delete ro_modifier.
2468         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
2469         add EXPAND_WRITE.
2470         (memory_use_mode): Delete.
2471         * flags.h (flag_check_memory_usage): Deleted.
2472         (flag_prefix_function_name): Likewise.
2473         * function.c (expand_function_start): Don't set
2474         current_function_check_memory_usage.
2475         * function.h (check_memory_usage): Delete.
2476         * libfuncs.h, optabs.c: Delete chkr_* stuff.
2477         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
2478         EXPAND_WRITE.
2479         * toplev.c (flag_check_memory_usage): Deleted.
2480         (flag_prefix_function_name): Likewise.
2481         (f_options, process_options): Delete references to above.
2482         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
2483         * varasm.c (CHKR_PREFIX): Deleted.
2484         (make_decl_rtl): Remove flag_prefix_function_name handling.
2485         (assemble_name): Likewise.
2486         * doc/extend.texi: Remove no_check_memory_usage attribute.
2487         * doc/invoke.texi: Remove -fcheck-memory-usage
2488         and -fprefix-function-name.
2489
2490 2001-12-05  Andreas Schwab  <schwab@suse.de>
2491
2492         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
2493         from autoconf.
2494
2495 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
2496
2497         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
2498
2499 2001-12-05  William Cohen  <wcohen@redhat.com>
2500
2501         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
2502         instruction.
2503
2504 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
2505
2506         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
2507         builtins.
2508
2509         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
2510         better reflect reality (change from Apple's tree).
2511         Add more of altivec instructions.
2512         Add ftruncv4sf2 pattern.
2513         Remove more unspecs (vector merge instructions, etc).
2514
2515         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
2516         builtins.
2517         (bdesc_1arg): New, for 1 argument altivec builtins.
2518         (altivec_expand_builtin): Handle unary and ternary ops.
2519         (altivec_init_builtins): Ditto.
2520
2521 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2522
2523         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
2524         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2525
2526 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2527
2528         * gcse.c (store_killed_in_insn): Consider pure calls
2529         as potential store killers in addition to normal calls.
2530
2531 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2532
2533         * expr.c (expand_expr): When checking promoted value, use
2534         DECL_MODE (exp) and not mode.
2535
2536 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2537
2538         * c-typeck.c (output_init_element): Call digest_init
2539         just once, not in each if branch and check its return value for
2540         error_mark_node.
2541
2542 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2543
2544         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
2545         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
2546         (finish_struct): Break the loop if n_incomplete went to 0.
2547         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
2548
2549 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
2550
2551         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
2552
2553 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2554                           Douglas B. Rupp  <rupp@gnat.com>
2555
2556         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
2557         * doc/invoke.texi: Add -gvms.
2558         * doc/passes.texi: Add mention of vmsdbgout.c.
2559         * doc/tm.texi: Document VMS debugging output.
2560
2561 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2562
2563         * function.h (tree, rtx): Remove no-longer-needed definitions.
2564
2565         * function.c (keep_stack_depressed): Refine check for register
2566         clobbered over call.
2567
2568         * expr.c (store_expr): When copying string constant into array,
2569         use functions that update memrefs instead of computations on
2570         addresses to better track MEMs.  Also properly handle 32/64 pointers.
2571         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
2572         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
2573
2574         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
2575         underneath COMPONENT_REFs.
2576         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
2577
2578 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2579
2580         * toplev.c (display_target_options): Don't print twice.
2581
2582 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
2583
2584         * emit-rtl.c (set_unique_reg_note): Don't set
2585         a REG_EQUAL or REG_EQUIV note if multiple sets
2586         are present.
2587
2588 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2589
2590         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
2591         CASE_DROPS_THROUGH.
2592
2593 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2594
2595         * rtl.h (initialize_uninitialized_subregs): New prototype.
2596         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
2597         when optimization is on.
2598         * flow.c (find_regno_partial): Find subregs within an expression.
2599         (initialize_uninitialized_subregs): Initialize live on entry registers
2600         which are used in subreg expressions.
2601
2602 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
2603
2604         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
2605
2606 2001-12-04  DJ Delorie  <dj@redhat.com>
2607
2608         * fixinc/fixincl.c (initialize): Avoid problemsome macro
2609         parameter names (PR 3388).
2610
2611 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
2612
2613         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
2614         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
2615
2616 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2617
2618         * c-common.def (COMPOUND_LITERAL_EXPR): New.
2619         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
2620         (c_staticp): New function.
2621         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
2622         (c_staticp): Declare.
2623         * c-typeck.c (default_function_array_conversion, build_unary_op):
2624         Don't handle CONSTRUCTOR specially.
2625         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
2626         * c-decl.c (build_compound_literal): New function.
2627         * c-tree.h (build_compound_literal): Declare.
2628         * c-parse.in (primary): Use build_compound_literal.
2629         * c-lang.c (LANG_HOOKS_STATICP): Define.
2630         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
2631         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
2632         * doc/extend.texi: Update documentation of compound literals.
2633         Fixes PR c/4787.
2634
2635 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2636
2637         * langhooks.h (struct lang_hooks): Add staticp.
2638         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
2639         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
2640         * langhooks.c (lhd_staticp): New function.
2641         * tree.c (staticp): Call lang_hooks.staticp for language-specific
2642         tree codes.
2643
2644 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2645
2646         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
2647         * gcc.c (process_command): Ensure the cpp driver sees
2648         --help and --target-help, and that the help is printed
2649         exactly once.
2650
2651 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
2652
2653         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2654
2655 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
2656
2657         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
2658         flag_strict_aliasing.  Use separate assignment statements.
2659
2660 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
2661
2662         * build-make, cross-make: Delete file.
2663         * configure.in: Set and substitute CROSS, ALL,
2664         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
2665         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
2666         whether build == host and host == target.  Do not
2667         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
2668         AC_SUBST cross_defines or extra_c_flags.
2669         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
2670         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
2671         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
2672         partially or completely with autoconf-substituted @variable@
2673         notation.
2674         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
2675         @build_overrides@, @extra_c_flags@, all.build, install-build,
2676         install-cross-rest, install-float-h-cross): Deleted.
2677         (install-normal): Rename to install.  Delete old "install"
2678         indirection rule.
2679
2680 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2681
2682         * stmt.c (expand_return): Clear destination instead of clobbering it
2683         when setting a return value via bitsets.
2684
2685 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
2686
2687         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
2688         it has DECL_SAVED_TREE.
2689
2690         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
2691         is in a different binding level, get its abstract origin to be
2692         olddecl.
2693         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
2694         check earlier.
2695         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
2696         DECL_INITIAL is NULL.
2697
2698 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2699
2700         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
2701         Return correct value if one of the subexpressions was optimized to
2702         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
2703         (and_reg_cond): Similarly.
2704
2705 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2706
2707         * function.c (assign_parms): Set last_named only for last named
2708         argument.
2709
2710 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2711
2712         * doc/install.texi: Use the GFDL.  Include years from old install
2713         manual in copyright notice.  Include copyright and GFDL notice on
2714         HTML index page.  Include usual footer on testing.html.
2715         * doc/install.texi2html: Build gfdl.html.  Use -I
2716         $SOURCEDIR/include.
2717         * doc/include/fdl.texi: Adapt for use in the install manual.
2718
2719 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2720
2721         * doc/install.texi: Document that installed native compiler for
2722         building cross compilers should be GCC 2.95 or later.
2723
2724 2001-12-03  Eric Christopher  <echristo@redhat.com>
2725
2726         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
2727         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
2728         patterns.
2729
2730 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
2731
2732         * rtl.def (PREFETCH): New rtx code.
2733         * doc/rtl.texi (PREFETCH): Add documentation.
2734         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
2735         * rtlanal.c (reg_referenced_p): Ditto.
2736         * sched-vis.c (print_exp):  Ditto.
2737         * ssa-dce.c (find_inherently_necessary):  Ditto.
2738
2739         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
2740           (PREFETCH_BLOCK): Define.
2741         * config/ia64/ia64.md (itanium_class): Add lfetch.
2742           (prefetch, prefetch_internal): New.
2743
2744         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
2745         * builtins.def (BUILT_IN_PREFETCH): New.
2746         * builtins.c (expand_builtin_expect): New.
2747           (expand_builtin): Call it.
2748         * doc/extend.texi: Document __builtin_prefetch.
2749
2750         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
2751           conflicts with new generic prefetch functionality.
2752         * config/i386/i386.c (ix86_expand_builtin): Use new name for
2753           prefetch_sse.
2754
2755 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
2756
2757         * objc/Make-lang.in: Update copyright.
2758         (OBJC_OBJS): Add objc-lang.o.
2759         (objc-lang.o): New rule.
2760         * objc/config-lang.in: Fix file description and update
2761         copyright.
2762         * objc/objc-act.c: Do not include langhooks.h and
2763         langhooks-def.h
2764         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
2765         (objc_post_options): Move to objc-lang.c.
2766         (objc_init_options): Move to objc-lang.c.
2767         (objc_init): Make non-static.
2768         (objc_decode_option): Make non-static.
2769         (HASHFUNCTION): Remove macro.
2770         (hash_func): New function.
2771         (hash_enter): Replace HASHFUNCTION with hash_func.
2772         (hash_lookup): Replace HASHFUNCTION with hash_func.
2773         (maybe_objc_tree_codes): New function.
2774         (init_objc): Move ObjC tree code initialization to
2775         maybe_objc_tree_codes().
2776         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
2777         (objc_init): New public prototype.
2778         (objc_decode_option): New public prototype.
2779         (maybe_add_objc_tree_codes): New public prototype.
2780         * objc/objc-lang.c: New file.
2781         (lang_hooks): Moved from objc-act.c.
2782         (objc_post_options): Moved from objc-act.c.
2783         (objc_init_options): Moved from objc-act.c.
2784
2785 2001-12-03  Geoff Keating  <geoffk@redhat.com>
2786
2787         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
2788         of array elements.
2789
2790 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2791
2792         PR c/4988
2793         * gcc.c (process_command): Don't add a preprocessor option for
2794         --help and --target-help; cc1 is enough.
2795
2796 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2797
2798         * c-decl.c (grokdeclarator): Use ISO word.
2799         * cppinit.c: Remove leading capital from diagnostic messages, as
2800         per GNU coding standards.
2801         * emit-rtl.c: Similarly.
2802         * final.c: Similarly.
2803         * gcc.c: Similarly.
2804         * tradcpp.c: Similarly.
2805         * config/arm/arm.c: Similarly.
2806         * config/arm/arm.h: Similarly.
2807         * config/avr/avr.c: Similarly.
2808         * config/avr/avr.h: Similarly.
2809         * config/c4x/c4x.c: Similarly.
2810         * config/cris/cris.c: Similarly.
2811         * config/cris/cris.h: Similarly.
2812         * config/d30v/d30v.c: Similarly.
2813         * config/dsp16xx/dsp16xx.c: Similarly.
2814         * config/dsp16xx/dsp16xx.h: Similarly.
2815         * config/h8300/h8300.c: Similarly.
2816         * config/i386/i386.c: Similarly.
2817         * config/i386/xm-djgpp.h: Similarly.
2818         * config/i960/i960.h: Similarly.
2819         * config/m32r/m32r.c: Similarly.
2820         * config/m68hc11/m68hc11.c: Similarly.
2821         * config/m88k/m88k.c: Similarly.
2822         * config/m88k/m88k.h: Similarly.
2823         * config/mcore/mcore.c: Similarly.
2824         * config/mcore/mcore.h: Similarly.
2825         * config/mips/mips.c: Similarly.
2826         * config/mmix/mmix.c: Similarly.
2827         * config/pa/pa.c: Similarly.
2828         * config/rs6000/rs6000.c: Similarly.
2829         * config/rs6000/sysv4.h: Similarly.
2830         * config/s390/s390.c: Similarly.
2831         * config/sparc/sparc.c: Similarly.
2832         * config/v850/v850-c.c: Similarly.
2833         * config/v850/v850.c: Similarly.
2834
2835 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
2836
2837         * rs6000.h (RETURN_IN_MEMORY): Cast result of
2838         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
2839
2840 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
2841
2842         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
2843         bit twiddling constant.
2844
2845 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2846
2847         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
2848         call purge_dead_edges after removing.
2849         (delete_null_pointer_checks): Do not handle delete_list.
2850
2851         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
2852         (count_basic_blocks): ... here.
2853         (find_basic_blocks, find_bb_boundaries): Cleanup.
2854
2855         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
2856         overflow for types greater then 2 * HOST_WIDE_INT.
2857
2858         * reload.c (find_reloads): Update the duplicates after swapingg.
2859
2860 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2861
2862         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2863
2864 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
2865
2866         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
2867         MASK_LONG_DOUBLE_128): Delete.
2868         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
2869         TARGET_AIX_STRUCT_RET): New flags.
2870         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
2871         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
2872         and -m(no-)svr4-struct-return.
2873         (TARGET_OPTIONS): Add entry for -mlong-double-.
2874         (rs6000_long_double_size_string, rs6000_long_double_type_size,
2875         rs6000_altivec_abi): Declare.
2876         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
2877         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
2878         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
2879         structures of size <= 8 bytes in registers.
2880         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
2881
2882         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
2883         rs6000_long_double_type_size, rs6000_altivec_abi): New
2884         globals.
2885         (rs6000_override_options): Set rs6000_long_double_type_size
2886         from rs6000_long_double_size_string, if nonzero.  Set the
2887         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
2888         not already set.
2889         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
2890         target_flags bit.
2891         (rs6000_init_builtins): This hook now takes no arguments.
2892
2893         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
2894         DRAFT_V4_STRUCT_RET to 1.
2895
2896 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2897
2898         * c-typeck.c (really_start_incremental_init, push_init_level):
2899         Avoid constructor_max_index being other than an INTEGER_CST.
2900
2901 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2902
2903         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
2904         unsigned.
2905         (ASM_GENERATE_INTERNAL_LABEL): Same.
2906         (UNIQUE_SECTION): Fix typo.
2907
2908 2001-12-02  Richard Henderson  <rth@redhat.com>
2909
2910         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
2911
2912 2001-12-02  Richard Henderson  <rth@redhat.com>
2913
2914         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
2915         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
2916         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
2917         * expr.h, final.c, reload1.c: Adjust users.
2918
2919         * alias.c (nonoverlapping_component_refs_p): New.
2920         (decl_for_component_ref, adjust_offset_for_component_ref): New.
2921         (nonoverlapping_memrefs_p): Use them.
2922         * emit-rtl.c (component_ref_for_mem_expr): New.
2923         (set_mem_attributes): Use it.
2924         (set_mem_offset): New.
2925         * expr.c (expand_assignment): Call set_mem_attributes for
2926         inner references; adjust the memory offset as needed.
2927         * print-rtl.c (print_mem_expr): New.
2928         (print_rtx): Use it.
2929
2930 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
2931
2932         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
2933
2934         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
2935         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
2936         (ASM_SPEC): Don't redefine.
2937         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
2938         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
2939         * config/alpha/vms-dwarf2.asm: New file.
2940
2941         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
2942         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
2943         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
2944         (vmsdbgout_after_prologue): New declaration.
2945         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
2946         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
2947         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
2948         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
2949         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
2950         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
2951         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
2952         Test VMS_DEBUGGING_INFO.
2953         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
2954         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
2955         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
2956         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
2957         VMS_AND_DWARF2_DEBUG.
2958         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
2959         (decode_g_option): Add "vms" to debug_type_names.
2960         (process_options): Set vmsdbg_debug_hooks if -gvms.
2961         (lang_independent_init): Emit line number for VMS unless -g0.
2962         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
2963         * vmsdbg.h, vmsdbgout.c: New files.
2964
2965 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2966
2967         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
2968
2969 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2970
2971         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
2972         * dwarf2out.c (is_cxx): Prototype.
2973         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
2974         warning.
2975         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
2976
2977 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2978
2979         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
2980
2981 2001-12-02  Geoff Keating  <geoffk@redhat.com>
2982
2983         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
2984         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
2985         rather than simplify_subreg.  Check for volatile-ness.  Check that
2986         we're not splitting one slow operation into two slow operations.
2987
2988 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2989
2990         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
2991         before shifting.
2992
2993 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2994
2995         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
2996         capital from diagnostics.
2997         * c-lex.c (cb_file_change): Similarly.
2998         * c-parse.in : Similarly.
2999         * cfgrtl.c (verify_flow_info): Similarly.
3000         * collect2.c: Similarly.
3001         * cppfiles.c (find_include_file): Similarly.
3002         * cppinit.c (cpp_handle_option): Similarly.
3003         * cpplex.c (cpp_spell_token): Similarly.
3004         * cppmain.c (do_preprocessing): Similarly.
3005         * gcc.c (translate_options, process_command, do_spec1,
3006         main, pfatal_execute): Similarly.
3007         * genattr.c (main): Similarly.
3008         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3009         write_test_expr, main): Similarly.
3010         * gencodes.c (main): Similarly.
3011         * genconfig.c (main): Similarly.
3012         * genconstants.c (main): Similarly.
3013         * genemit.c (main): Similarly.
3014         * genextract.c (main): Similarly.
3015         * genflags.c (main): Similarly.
3016         * genopinit.c (main): Similarly.
3017         * genoutput.c (process_template, main): Similarly.
3018         * genpeep.c (main): Similarly.
3019         * genrecog.c (main): Similarly.
3020         * gensupport.c (is_predicable, identify_predicable_attribute,
3021         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3022         * ggc-page.c (alloc_anon): Similarly.
3023         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3024         parse_begin, parse_bend, parse_def, parse_end, parse_file,
3025         parse_stabs_common, parse_stabs, write_varray, write_object,
3026         read_seek, copy_object, main, error): Similarly.
3027         * profile.c (compute_branch_probabilities): Similarly.
3028         * reg-stack.c (check_asm_stack_operands): Similarly.
3029         * reload.c (find_reloads): Similarly.
3030         * reload1.c (spill_failure, failed_reload): Similarly.
3031         * rtl-error.c (_fatal_insn_not_found): Similarly.
3032         * toplev.c (read_integral_parameter, crash_signal,
3033         decode_f_option, set_target_switch, parse_options_and_default_flags)
3034         : Similarly.
3035         * tradcif.y (parse_number, yylex): Similarly.
3036         * tradcpp.c (main, fancy_abort): Similarly.
3037         * tree.c (tree_check_failed): Similarly.
3038         * varray.c (varray_check_failed): Similarly.
3039         * xcoffout.c (xcoff_output_standard_types): Similarly.
3040 objc:
3041         * objc-act.c (get_object_ref, lookup_and_install_protocols,
3042         build_objc_string_object, objc_declare_alias, build_ivar_chain,
3043         finish_message_expr, build_protocol_expr, is_public,
3044         start_class): Similarly.
3045
3046 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3047
3048         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3049         trailing period from diagnostics.
3050         * c-lex.c (cb_file_change): Similarly.
3051         * cppmacro.c (check_trad_stringification): Similarly.
3052         * gcc.c (do_spec_1): Similarly.
3053         * genattr.c (main): Similarly.
3054         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3055         * gencodes.c (main): Similarly.
3056         * genconfig.c (main): Similarly.
3057         * genconstants.c (main): Similarly.
3058         * genemit.c (main): Similarly.
3059         * genextract.c (main): Similarly.
3060         * genopinit.c (main): Similarly.
3061         * genoutput.c (main): Similarly.
3062         * genpeep.c (main): Similarly.
3063         * genrecog.c (main): Similarly.
3064         * mips-tfile.c (add_file, error): Similarly.
3065         * profile.c (init_branch_prob): Similarly.
3066         * reload1.c (spill_failure): Similarly.
3067         * stmt.c (parse_output_constraint): Similarly.
3068         * varasm.c (assemble_variable): Similarly.
3069
3070 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3071
3072         * m68k.c (init_FPA_table): Provide static prototype.
3073         * mips/abi64.h (mips_function_value): Move prototype to ...
3074         * mips-protos.h (mips_function_value): ... here.
3075         * mips.c: Include halfpic.h.
3076         * output.h (rdata_section): Prototype.
3077
3078         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3079         * m88k.c (m88k_svr3_asm_out_constructor,
3080         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3081         !OBJECT_FORMAT_ELF.
3082         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3083         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3084         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3085
3086 2001-12-01  Geoff Keating  <geoffk@redhat.com>
3087
3088         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3089         LO_SUM addresses less than word size are not legitimate,
3090         because they lead to invalid SUBREGs.
3091         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3092
3093 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
3094
3095         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3096         while scanning for multiple back edges.
3097
3098 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3099
3100         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3101         * config/rs6000/tramp.asm: Use it.
3102
3103 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
3104
3105         * gencheck.c, gengenrtl.c: Don't define xmalloc.
3106         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3107         xmalloc.
3108
3109 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3110
3111         * pa.c (output_ascii): Cast `p' to unsigned char.
3112
3113 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3114
3115         * config/rs6000/rs6000.c (altivec_expand_builtin): add
3116         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
3117         *_16qi,_8hi, rename existing V4SI ones to *_4si.
3118         (altivec_init_builtins): Ditto.
3119         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
3120
3121         * config/rs6000/rs6000.md: Add attribute types vecsimple,
3122         veccomplex, vecfloat, and vecperm, for altivec instructions.
3123         Modify altivec patterns to use appropriate attribute type.
3124         Modify altivec patterns to match RTL operations where appropriate
3125         (IE no unspec where we can avoid it).
3126         Add vector unit scheduling for ppc7450.
3127         Rename patterns to what they are where appropriate
3128         (altivec_vaddfp->addv4sf3, etc)
3129
3130         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3131         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3132
3133         * config/rs6000/sysv4.h: Add -mcpu=7450.
3134
3135         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3136         _builtin_altivec_ld_interal function.
3137
3138 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3139
3140         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3141         strchr, strrchr, isascii, gettimeofday.
3142         * config.in, configure: Regenerate.
3143
3144 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3145
3146         * unroll.c (unroll_loop): Correct special exit cases.
3147
3148 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3149
3150         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3151         accept DFmode and DImode only.
3152
3153 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3154
3155         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3156         (STACK_DYNAMIC_OFFSET): Same.
3157
3158 2001-11-30  Richard Henderson  <rth@redhat.com>
3159
3160         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3161
3162 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3163
3164         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3165         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3166         the values in call_used_registers.
3167
3168 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3169
3170         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3171         gthr-single.
3172
3173 2001-11-30  Jason Merrill  <jason@redhat.com>
3174
3175         * dwarf2out.c (is_cxx): New fn.
3176         (add_data_member_location_attribute): Check it.
3177         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3178
3179 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3180
3181         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3182
3183 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3184
3185         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3186         MODE_VECTOR_FLOAT as allowed.
3187
3188 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3189
3190         Purge cruft now we have build libiberty.
3191
3192         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3193         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3194         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3195         USE_HOST_STRSTR): Delete variables.
3196         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3197         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3198         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3199         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3200         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3201         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3202         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3203         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3204         (HOST_LIBS): Ditto.
3205         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3206         (OBJS): Remove splay-tree.o.
3207         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3208         (distclean): No need to delete splay-tree.c obstack.c
3209         hashtab.c safe-ctype.c.
3210         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3211         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3212         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3213         Delete.
3214         * configure.in: Don't use them.
3215         Set and substitute @FORBUILD@.
3216         * config.in, configure: Regenerate.
3217         * doprint.c: Move to libiberty/_doprnt.c.
3218         * doc/configterms.texi: Document that libiberty is now built
3219         up to three times.  Fix typo.
3220
3221 2001-11-30  Jason Merrill  <jason@redhat.com>
3222
3223         * dwarf2out.c (add_data_member_location_attribute): Do the
3224         right thing for virtual bases.
3225         * dbxout.c (dbxout_type): For a virtual base, print the offset
3226         within the vtable.
3227
3228 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3229
3230         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3231
3232 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3233
3234         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3235         go in memory.
3236         Remove unused attribute for named.
3237
3238 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3239
3240         * genattrtab.c (attr_rtx_1): New function containing the
3241         majority of `attr_rtx'.  Move variable declarations into the
3242         scope where they are used.  Eliminate unnecessary gotos.
3243         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3244         VA_FIXEDARG, and VA_CLOSE.
3245
3246 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3247
3248         * config/cris/cris.c (cris_notice_update_cc): Check first
3249         destination also against overlap with cc_status.value2 and second
3250         destination against overlap with cc_status.value1.  For overlaps,
3251         clear overlapped value, don't just CC_STATUS_INIT.
3252
3253         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
3254         Fix typo in comment.
3255         (LINK_SPEC): Remove whitespace at end of line.
3256
3257 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3258
3259         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
3260
3261 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3262
3263         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
3264         macros for the supported debugging types.
3265
3266 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3267
3268         PR other/4932
3269         * config/i386/i386.c (print_operand):  Verify that the
3270           argument to %c is a constant and not a conditional which
3271           needs to be reversed.
3272
3273 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
3274
3275         * emit-rtl.c (gen_lowpart_common): Fix conversion of
3276         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
3277         of low part of those arrays for 32bit and 64bit hosts.
3278
3279 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3280
3281         * Makefile.in (insn-output.o): Depend on insn-codes.h.
3282
3283 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3284
3285         * configure.in (target_list): Add generated-manpages.
3286         * configure: Regenerate.
3287         * Makefile.in (generated-manpages): Depend on
3288         lang.generated-manpages.
3289         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
3290
3291 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
3292
3293         * config/arm/crti.asm (_init): Add .thumb_func if compiled
3294         with -mthumb.
3295         (_fini): Add .thumb_func if compiled with -mthumb.
3296
3297 2001-11-28  Eric Christopher  <echristo@redhat.com>
3298
3299         * config/mips/mips.c (override_options): Fix thinko in mips_tune
3300         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
3301
3302 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
3303
3304         * alpha.md (tablejump): Use pic_offset_table_rtx
3305         instead of gen_rtx_REG.
3306
3307 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
3308
3309         * expr.c (store_expr): When copying a string constant into an
3310         array, reset the known alignment of the MEM for the section to
3311         be cleared to BITS_PER_UNIT.
3312
3313 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3314
3315         * config/cris/cris.c: Remove whitespace at end of line.
3316
3317 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
3318
3319         * config.gcc (i[34567]86-*-interix3*): New case.
3320         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
3321         New files.
3322
3323 2001-11-28  Richard Henderson  <rth@redhat.com>
3324
3325         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
3326         symbolic_operand as the predicate.
3327
3328 2001-11-28  Richard Henderson  <rth@redhat.com>
3329
3330         * doloop.c (doloop_modify_runtime): Properly select induction
3331         variable; skip late entry test if biv initializer created by loop.
3332
3333 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3334
3335         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
3336         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
3337
3338         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
3339
3340         * tree.h: Add missing checks on some macros; make formatting more
3341         consistent.
3342
3343         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
3344         level; only add to pending_sizes if find it.
3345
3346         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
3347
3348         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
3349         Add casts to remove warnings.
3350
3351         * Makefile.in (OBJS): Sort alphabetically.
3352
3353         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
3354         Also minor cleanups.
3355
3356 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
3357
3358         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
3359         (FLAGS_TO_PASS): Add STAGE_PREFIX.
3360         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
3361         to STAGE_PREFIX.
3362
3363 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3364
3365         * cse.c (true_dependence_in_rtx): New function.
3366         (invalidate): Use it.
3367
3368         * c-common.h (GOTO_FAKE_P): New macro.
3369         * tree-inline.c (GOTO_FAKE_P): Set.
3370         * c-tree.texi (GOTO_FAKE_P): Document.
3371
3372         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
3373         containing pointers.
3374         (output_addressed_constants): Check for local/external relocations.
3375         * elfos.h (SELECT_SECTION): Classify data section.
3376         * tm.texi (SELECT_SECTION): Update documentation.
3377
3378         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
3379         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
3380
3381 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3382
3383         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3384         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
3385         OBJECT_FORMAT_ROSE.
3386
3387 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3388
3389         * config/cris/cris.c: Tweak spacing for prototypes.
3390         (LOSE_AND_RETURN): New macro.
3391         (cris_operand_lossage): New function.
3392         (cris_print_index, cris_print_base): Use cris_operand_lossage
3393         rather than fatal_insn.
3394         (cris_print_operand, cris_print_operand_address): Use
3395         LOSE_AND_RETURN rather than fatal_insn and internal_error.
3396         (cris_output_addr_const): Use LOSE_AND_RETURN and
3397         output_operand_lossage rather than fatal_insn and internal_error
3398         for valid but unexpected rtx expressions.
3399
3400         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
3401         for a SUBREG in src or dest, abort instead.
3402
3403 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3404
3405         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
3406         doc.
3407
3408 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
3409
3410         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
3411         preprocessor define.  If only DBX_DEBUGGING_INFO or only
3412         DWARF2_DEBUGGING_INFO is supported for the target, provide
3413         appropriate definitions.
3414
3415 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3416
3417         * Makefile.in: Update, and add c-objc-common.o dependencies.
3418         * c-lang.c: Remove unnecessary includes.
3419         (c_init): Move bulk of code to c_objc_common_init, and call it.
3420         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
3421         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
3422         c-objc-common.c.
3423         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
3424         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
3425         c_objc_common_init, c_missing_noreturn_ok_p): New.
3426         * toplev.c: Update comment.
3427         * doc/passes.texi: Update.
3428 objc:
3429         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
3430         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
3431         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
3432         (objc_init): Update to use c_objc_common_init.
3433
3434 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3435
3436         * cpphash.c (_cpp_init_hashtable): Update.
3437         * cpphash.h (struct spec_nodes): Remove n_L.
3438         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
3439
3440 2001-11-17  Richard Henderson  <rth@redhat.com>
3441
3442         * unroll.c (loop_iterations): Move last change ...
3443         * doloop.c (doloop_modify_runtime): ... here.
3444
3445 2001-11-17  Corey Minyard  <minyard@acm.org>
3446             Richard Henderson  <rth@redhat.com>
3447
3448         * unroll.c (loop_iterations): Detect one situation in which we
3449         overestimate the number of iterations.
3450
3451 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3452
3453         * gcc.c (set_input): Export.
3454         Move declaration ...
3455         gcc.h (set_input): ... here.
3456
3457 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3458
3459         * gcc.c (set_collect_gcc_options): New function, split out from
3460         main.
3461         Ignore elided switches.
3462         (do_spec): Invoke before executing command.
3463         (do_spec_1): Likewise.
3464         Fixes PR other/3968.
3465
3466 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
3467
3468         * config/cris/cris.h (INT_ASM_OP): Remove.
3469
3470 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3471
3472         * config/i386/sol2.h (WINT_TYPE): Redefine.
3473         (WINT_TYPE_SIZE): Likewise.
3474
3475 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3476
3477         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
3478         (dup2): Make static and add prototype.
3479         * m68k/plexus.h: Don't define NO_DUP2.
3480         * configure.in (AC_CHECK_FUNCS): Add dup2.
3481         * config.in, configure: Regenerate.
3482
3483         * ia64/aix.h (REG_SIZE): Don't #undef.
3484         * sparc.h (REG_SIZE): Delete.
3485         * flow.c (mark_used_regs): Don't use REG_SIZE.
3486         * regs.h (REG_SIZE): Delete.
3487
3488 2001-11-27  Andreas Schwab  <schwab@suse.de>
3489
3490         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
3491         PREFERRED_DEBUGGING_TYPE.
3492
3493 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3494
3495         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
3496         (expr.o, varasm.o): Depends on langhooks.h.
3497         * c-common.c (c_safe_from_p): Always declare.
3498         (c_expand_expr): Refine when declared.
3499         * c-lang.c (c-common.h): Now include.
3500         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
3501         (c_init): Don't set lang_safe_from_expr.
3502         * expr.c (langhooks.h): Now include.
3503         (lang_safe_from_p): No longer define.
3504         (safe_from_p): Use lang hook.
3505         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
3506         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
3507         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
3508         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
3509         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
3510         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
3511         * langhooks.h (struct lang_hooks): New fields expand_constant
3512         and safe_from_p.
3513         * output.h (output_constant): Size arg is HOST_WIDE_INT.
3514         * stmt.c (expand_decl_init): No longer need to expand constant
3515         for CONST_DECL.
3516         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
3517         * toplev.c (lang_expand_constant): Delete var.
3518         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
3519         operations on SAVE_EXPR.
3520         * varasm.c (langhooks.h): Now include.
3521         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
3522         (record_constant_1, output_addressed_constants): Likewise.
3523         (initializer_constant_valid_p, output_constant): Likewise.
3524         (output_constant_def): Process no-defer of string constant.
3525         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
3526         (output_constant): Strip more conversions.
3527         Track our size and pad for the rest.
3528         (array_size_for_constructor): Remove code for non-byte STRING_CST.
3529         (output_constructor): SIZE now HOST_WIDE_INT.
3530
3531 2001-11-27  Richard Henderson  <rth@redhat.com>
3532
3533         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
3534         in computing DIFF.
3535
3536 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
3537
3538         * cppfiles.c (read_include_file): Add comment.
3539
3540 2001-11-26  Richard Henderson  <rth@redhat.com>
3541
3542         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
3543
3544 2001-11-26  Richard Henderson  <rth@redhat.com>
3545
3546         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
3547         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
3548         commented out override.
3549
3550 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3551
3552         * cppfiles.c (stack_include_file): Don't optimize zero-length
3553         files.
3554         (read_include_file): NUL-terminate read files.
3555         * cpplex.c (handle_newline, skip_escaped_newlines,
3556         get_effective_char, skip_whitespace, parse_identifier,
3557         parse_identifier_slow, parse_number, parse_string,
3558         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
3559         NUL-terminated.
3560         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
3561         Be sure buffers are NUL terminated.
3562         * cppmacro.c (warn_of_redefinition): Kill compile warning.
3563
3564 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3565
3566         * c-common.c: Include tree-inline.h.
3567         (c_language): Move separate definitions here.
3568         (c_common_init_options, c_common_post_options): New.
3569         (c_common_lang_init): Rename c_common_init.
3570         * c-common.h (c_common_lang_init): Similarly.
3571         (c_common_init_options, c_common_post_options): New.
3572         * c-lang.c (c_post_options): Move body to c_common_post_options.
3573         (c_init_options): Use c_common_init_options.
3574         (c_init): Update.
3575         * langhooks.def: Rearrange.
3576         * langhooks.h: Rearrange, and improve comments.
3577         * toplev.c (do_compile): New function.
3578         (toplev_main): Use it.
3579         (lang_independent_f_options, parse_options_and_default_flags,
3580         process_options): Remove trailing periods.
3581         * Makefile.in: Update.
3582 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
3583         functions.
3584         (ojbc_init): Update.
3585
3586 2001-11-26  Richard Henderson  <rth@redhat.com>
3587
3588         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
3589
3590 2001-11-26  DJ Delorie  <dj@redhat.com>
3591
3592         * expr.c (store_constructor): Actually use the value computed
3593         if WORD_REGISTER_OPERATIONS.
3594
3595 2001-11-26  Richard Henderson  <rth@redhat.com>
3596
3597         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
3598         for CONSTRUCTOR.
3599
3600 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3601
3602         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
3603         correct function on AIX.
3604
3605 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
3606
3607         * toplev.c (process_options): Don't force
3608         flag_optimize_sibling_calls to zero just because exceptions are
3609         enabled.
3610
3611 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
3612
3613         * df.h (transfer_function_sbitmap): Use PARAMS around argument
3614         list in function prototypes.
3615         (transfer_function_bitmap): Likewise.
3616
3617 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
3618
3619         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
3620         * config/i386/netbsd-elf.h: Likewise.
3621
3622 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3623
3624         * doc/trouble.texi: Remove outdated RS/6000 comments.
3625
3626 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3627
3628         * final.c (walk_alter_subreg): Fix return value.
3629
3630 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3631
3632         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
3633         alter_subreg.
3634         * sparc.md (post-reload splitters): Do not call alter_subreg.
3635         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
3636
3637 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
3638
3639         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
3640
3641 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
3642
3643         * final.c: (insn_lengths): Make it an int *, so that large jump
3644         tables don't overflow.
3645
3646 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3647
3648         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
3649         (format_types): Use it for scanf.
3650         (dollar_arguments_pointer_p): New.
3651         (init_dollar_format_checking): Store details of which arguments
3652         are pointers.
3653         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
3654         (finish_dollar_format_checking): Take extra parameter
3655         pointer_gap_ok.  Treat unused arguments differently if
3656         pointer_gap_ok and the unused arguments are pointers.
3657         (check_format_info_main): Pass extra argument to
3658         finish_dollar_format_checking.
3659         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
3660         unused arguments are present between used arguments with operand
3661         numbers.
3662
3663 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
3664
3665         * df.c: Add prototypes for hybrid_search_bitmap and
3666         hybrid_search_sbitmap.
3667         (hybrid_search_bitmap): New function.
3668         (hybrid_search_sbitmap): New function.
3669         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
3670         (iterative_dataflow_bitmap): Ditto.
3671
3672 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3673
3674         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3675         address computations.
3676
3677 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3678
3679         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
3680         register b (low part of d).
3681
3682 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3683
3684         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
3685         passed to mcount.
3686
3687 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
3688
3689         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
3690         * config/alpha/x-vms: New file, to compile the above.
3691         * config.gcc (alpha*-dec-vms*): Add x-vms.
3692
3693 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
3694
3695         * genextract.c (main): Set ro_loc for peepholes.
3696
3697 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
3698
3699         * fix-header.c (main): Move inf_buffer termination and inf_limit
3700         calculation to after read.
3701
3702         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
3703         (__UNIX_FOPEN): Define.
3704
3705 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3706
3707         * function.c (assign_stack_temp_for_type): Clear alias set before
3708         setting new one.
3709
3710 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
3711
3712         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
3713         format.
3714         * rs6000.md (cmptf): Fix typo.
3715
3716 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
3717
3718         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
3719         * varasm.c (output_constructor): Use assemble_integer rather
3720         than ASM_OUTPUT_BYTE.
3721
3722 2001-11-23  Andreas Jaeger  <aj@suse.de>
3723
3724         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
3725         extension.
3726
3727 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
3728
3729         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
3730         default definition.
3731         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
3732         (MULTILIB_DEFAULTS): Remove previous definition.
3733
3734 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
3735
3736         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
3737         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
3738
3739 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3740
3741         * cris.h: Revert thinko in last patch.
3742
3743 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3744
3745         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
3746         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
3747         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
3748         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
3749         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
3750         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
3751
3752         * predict.c, reg-stack.c: Fix spelling errors.
3753
3754 2001-10-09  Andrew Haley  <aph@redhat.com>
3755
3756         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
3757         start of stack slot.
3758
3759 2001-11-22  Graham Stott  <grahams@redhat.com>
3760
3761         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
3762         replacement jump after original jump.
3763
3764         (verify_flow_info): Remove redundent initialisation.
3765         Handle reaching end of insn list before finding a BARRIER.
3766         Only issue one missing barrier diagnostic.
3767
3768 2001-11-22  Graham Stott  <grahams@redhat.com>
3769
3770         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
3771
3772 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3773
3774         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
3775         insn actually does.
3776
3777 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
3778
3779         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
3780         Fix typo -mm32rx=> -m32rx.
3781
3782         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
3783         targets.
3784
3785         * config.gcc (xscale-coff): Add necessary header files to
3786         tm_file variable.
3787
3788 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3789
3790         * rs6000.c (output_cbranch): Use $, not %$, in output template.
3791
3792 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3793
3794         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
3795         (lang_type_quals): Declare.
3796         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
3797         retrieve language-specific qualifiers for a type node, instead of
3798         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
3799         lang_dump_tree.
3800         * tree-dump.h: Rename from c-dump.h.
3801         * c-common.h (C_TYPE_QUALS): Removed.
3802         Move declarations for tree-dump.c interface to...
3803         * tree.h: ... here. Remove lang_dump_tree.
3804         * langhooks.h (struct lang_hooks_for_tree_dump): New.
3805         (struct lang_hooks): Add tree_dump hooks.
3806         * langhooks.c (lhd_tree_dump_dump_tree): New function.
3807         (lhd_tree_dump_type_quals): New function.
3808         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
3809         Declare.
3810         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
3811         * Makefile.in: Move tree-dump.o to language-independent back-end.
3812
3813 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3814
3815         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
3816         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
3817         * arc.h (DBX_REGISTER_NUMBER): Likewise.
3818         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
3819         * avr.h (DBX_REGISTER_NUMBER): Likewise.
3820         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
3821         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
3822         * convex.h (DBX_REGISTER_NUMBER): Likewise.
3823         * cris.h (DBX_REGISTER_NUMBER): Likewise.
3824         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
3825         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
3826         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
3827         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
3828         * i370.h (DBX_REGISTER_NUMBER): Likewise.
3829         * i860.h (DBX_REGISTER_NUMBER): Likewise.
3830         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
3831         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
3832         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3833         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
3834         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
3835         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
3836         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
3837         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
3838         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
3839         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
3840         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
3841         * romp.h (DBX_REGISTER_NUMBER): Likewise.
3842         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
3843         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3844         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
3845         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
3846         * v850.h (DBX_REGISTER_NUMBER): Likewise.
3847         * vax.h (DBX_REGISTER_NUMBER): Likewise.
3848         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
3849
3850         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
3851         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
3852
3853 2001-11-21  H.J. Lu <hjl@gnu.org>
3854
3855         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
3856
3857 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3858
3859         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
3860         emit_cmp_and_jump_insns.
3861
3862         * stormy16.c (xstormy16_expand_builtin_va_arg,
3863         xstormy16_expand_casesi): Likewise.
3864
3865 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3866
3867         * function.c (keep_stack_depressed): Major rework.
3868         (handle_epilogue_set, emit_equiv_load): New functions.
3869         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
3870         has return value.
3871         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
3872         * rtl.h (SET_IS_RETURN_P): New macro.
3873
3874         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
3875         and also support TREE_ADDRESSABLE.
3876         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
3877
3878 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
3879
3880         * rs6000.md (cmptf_internal1): Replace %$ with $.
3881
3882 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
3883
3884         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
3885         (read_include_file): Use STAT_SIZE_TOO_BIG.
3886
3887         * cppinit.c (INO_T_COPY): Define.
3888         (INO_T_EQ): Uppercase parameters.
3889         (append_include_chain): Use INO_T_COPY.
3890
3891 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
3892
3893         * cfg.c: Fix typos and formatting in the introductory comment.
3894
3895 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
3896
3897         * profile.c (compute_branch_probabilites):  Compute probabilities
3898         for entry/exit edges; estimate probabilities for zero counts.
3899
3900 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3901
3902         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
3903         to emit_library_call.
3904         * function.c (expand_main_function, expand_function_start,
3905         expand_function_end): Likewise.
3906         * profile.c (output_func_start_profiler): Likewise.
3907         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
3908         second argument to emit_library_call.
3909         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
3910         as second argument to emit_library_call.
3911         * calls.c (emit_library_call): Update fn_type description.
3912
3913 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3914
3915         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
3916         if fndecl is still DECL_INLINE and has DECL_RESULT.
3917
3918 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3919
3920         * clipper.c (clipper_movstr): Avoid uninitialized warning.
3921         * i960.c (is_mask, legitimize_address): Likewise.
3922         * m88k.c (m88k_expand_prologue): Likewise.
3923         * m88k.md: Likewise.
3924         * mcore.c (emit_new_cond_insn): Likewise.
3925         * stormy16.c (xstormy16_emit_cbranch): Likewise.
3926
3927 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3928
3929         * config.gcc: Delete powerpcle-*-solaris2* stanza.
3930         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
3931         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3932         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
3933         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
3934         config/rs6000/t-ppcos: Expunge all references to Solaris.
3935
3936         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
3937
3938         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
3939         output templates.
3940         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
3941         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
3942
3943 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3944
3945         * sh.md: Avoid uninitialized warnings.
3946         * vax.c (vax_rtx_cost): Likewise.
3947
3948 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
3949
3950         * rs6000.c (direct_return): Check if we are saving altivec
3951         registers.
3952         (first_altivec_reg_to_save): New.
3953         Updated stack frame layout comments.
3954         (rs6000_stack_info): Calculate altivec register save size.
3955         Save link register if we saved some altivec registers.
3956         (rs6000_stack_info): Align save size to 16 if altivec abi or
3957         abi_darwin.
3958         (rs6000_stack_info): Calculate altivec register offsets.
3959         (rs6000_stack_info): Add altivec info to save_size.
3960         (debug_stack_info): Add altivec debug info.
3961         (rs6000_emit_prologue): Save altivec registers and vrsave.
3962         (compute_vrsave_mask): New.
3963         (altivec_expand_builtin): Remove unused variables.
3964         (rs6000_parse_abi_options): Add static qualifier.
3965         (rs6000_expand_builtin): Remove unused parameters.
3966         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
3967         (altivec_init_builtins): Same.
3968         (is_altivec_return_reg): New.
3969         (vrsave_operation): New.
3970         (ALTIVEC_REG_BIT): New.
3971         (generate_set_vrsave): New.
3972
3973         * rs6000.md (get_vrsave): New.
3974         (set_vrsave): New.
3975         (*set_vrsave_internal): New.
3976
3977         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
3978         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
3979         altivec_padding_size, vrsave_mask.
3980         (TOTAL_ALTIVEC_REGS): New.
3981         (EPILOGUE_USES): Add VRSAVE_REGNO.
3982
3983 2001-11-20  Jeff Law <law@redhat.com>
3984
3985         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
3986         exit label as necessary.
3987
3988 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
3989
3990         * reload1.c (elimination_effects): Use function_invariant_p
3991         instead of CONSTANT_P when considering register equivalences.
3992
3993 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
3994
3995         * config.gcc: Add FreeBSD/PowerPC target.
3996         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3997         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3998         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3999         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4000         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4001         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4002         freebsd-spec.h to tm_file.
4003         (rs6000-*-lynxos*): Add lynx.h to tm_file.
4004         * config/freebsd.h: Tidy up.
4005         (USING_CONFIG_FREEBSD): Define.
4006         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4007         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4008         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4009         (TARGET_HAS_F_SETLKW): Define.
4010         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4011         * config/freebsd-spec.h: New file.
4012         * config/rs6000/freebsd.h: New file.
4013         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4014         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4015         USING_SVR4_H to know when to turn on ELF support.
4016         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4017         define only if not already defined.
4018         Add FreeBSD support.
4019         * config/rs6000/aix.h (TARGET_VERSION): Define.
4020         * config/rs6000/beos.h: Likewise.
4021         * config/rs6000/darwin.h: Likewise.
4022         * config/rs6000/mach.h: Likewise.
4023         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4024         Don't include lynx.h directly.
4025
4026 2001-11-20  Graham Stott  <grahams@redhat.com>
4027
4028         * unwind-dw2-fde.c (__deregister_frame_info_bases):
4029         Fix lossage in last change return OB.
4030
4031 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
4032
4033         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4034         Remove unneeded exit related macros.
4035
4036 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
4037
4038         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4039
4040         * rs6000.c (rs6000_emit_move): Add TFmode case.
4041         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4042         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4043         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4044         * rs6000.h: ... to here.
4045         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4046         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
4047         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
4048
4049 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4050
4051         * emit-rtl.c (get_mem_attrs): Fix typo.
4052
4053 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4054
4055         * c-lang.c (finish_file): Backout 2001-11-16
4056         changes, instead set DECL_DEFER_OUTPUT for static inline functions
4057         before calling c_expand_deferred_function.
4058
4059 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
4060
4061         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4062         Don't register empty .eh_frame sections.
4063         (__deregister_frame_info_bases, __deregister_frame): Don't
4064         unregister them either.
4065
4066 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4067
4068         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4069         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4070         * configure: Regenerate.
4071         * config.in: Add dummy definitions of new flags.
4072         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4073         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4074         * gcc.c (ASM_DEBUG_SPEC): New macro.
4075         (asm_debug): New static variable.
4076         (default_compilers): Add asm_debug when assembling from
4077         user input.
4078         (static_specs): Add asm_debug.
4079
4080 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
4081
4082         * config.gcc (*-*-freebsd*): Remove configuration block.
4083
4084 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4085
4086         bootstrap/4422
4087         * configure.in: Setup ability to run ./stage[1234]/xgcc in
4088         fixinc *as if* it were a proper lang subdirectory.
4089         * configure: Rebuilt.
4090
4091 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
4092
4093         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4094
4095 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4096
4097         * 1750a.md: Don't use hex format for a const_int.
4098
4099 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
4100
4101         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4102
4103 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
4104
4105         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4106         defined (prevents link errors when gettext isn't in the system
4107         library).
4108
4109 2001-11-19  DJ Delorie  <dj@redhat.com>
4110
4111         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4112         (validate_const_int): New.
4113         (read_rtx): Validate constant integers.
4114         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4115
4116 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
4117
4118         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4119
4120 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4121
4122         * toplev.c (DUMPFILE_FORMAT): Define default.
4123         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4124         (close_dump_file, compile_file): Likewise.
4125         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4126         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4127
4128 2001-11-19  Jeff Law <law@redhat.com>
4129
4130         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4131         a nop-jump.
4132
4133 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4134
4135         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4136         Don't fall off the base token run.
4137
4138 2001-11-19  Jason Wilkins <fenix@io.com>
4139
4140         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4141
4142 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4143
4144         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4145         * tree.h (handled_component_p): New declaration.
4146         * alias.c (handled_component_p): Move function from here ...
4147         * expr.c (handled_component_p): ... to here and non longer static.
4148         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4149         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4150         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4151         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4152         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4153         (expand_expr, cse ADDR_EXPR): No need to copy if already
4154         BIGGEST_ALIGNMENT.
4155         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4156         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4157         (output_constant): Handle VIEW_CONVERT_EXPR.
4158         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4159         Add new case for VIEW_CONVERT_EXPR.
4160
4161 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4162
4163         * a29k/unix.h (ASM_FILE_START): Const-ify.
4164         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4165         * i386/isc.h (ASM_FILE_START): Const-ify.
4166         * i386/sun386.h (ASM_FILE_START): Likewise.
4167         * m32r.md: Likewise.
4168         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4169         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4170         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4171         * mn10200.md: Initialize variable.
4172
4173 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4174
4175         * gcse.c (try_replace_reg): Copy RTX before creating note.
4176
4177         * df.h (df_ref_flags): New uenum.
4178         (DF_REF_FLAGS): New macro.
4179         (struct ref): Add field "flags".
4180         * df.c (HANDLE_SUBREG): Remove.
4181         (df_ref_create): Likewise; set flags field of ref.
4182         (df_def_record_1): Strip down read_write subreg; remove
4183         commented out code; set READ_WRITE flag.
4184         (read_modify_subreg_p): New static function.
4185         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4186         new argument "flags".
4187         (df_insn_refs_record): Update call of df_uses_record.
4188         (df_insn_modify): Avoid #if 0 around comment.
4189         (df_dump): Dump the read/write flag.
4190
4191         * predict.c (propagate_freq): Make cyclic_probability and frequency
4192         volatile
4193
4194         * i386.c (ix86_cc_mode): Accept USE.
4195
4196         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4197         jump is turned into simplejump.
4198
4199 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4200
4201         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4202         installation chapter.
4203         * doc/gcc.texi: Don't claim that this manual documents
4204         installation.  Mark Installation menu entry as being out of date.
4205
4206 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4207
4208         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4209         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4210         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4211
4212 2001-11-19  Jason Merrill  <jason@redhat.com>
4213
4214         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4215         cur_token, not after.
4216
4217         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4218         Lose ASM_OUTPUT_CONSTRUCTOR.
4219         * system.h: Poison it and INT_ASM_OP.
4220         * c-lang.c (finish_file): Don't check for it.
4221         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4222
4223 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4224
4225         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4226         (mmix_init_machine_status): Make static to match declaration.
4227         (mmix_unique_section): Const-ify.
4228         (mmix_output_quoted_string): Avoid automatic aggregate
4229         initialization.
4230         (mmix_output_register_setting): Likewise.
4231         (mmix_output_shiftvalue_op_from_str): Likewise.
4232
4233         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4234         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4235         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4236
4237 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4238
4239         PR c/4448
4240         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4241         name __objc_thread_exit_status so that it matches the
4242         variable defined in objc/thr.h.
4243
4244 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4245
4246         PR bootstrap/4020
4247         * mklibgcc.in: Add missing semi-colons.
4248         * Makefile.in: Same.
4249
4250 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4251
4252         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
4253         after re-laying out decl in incomplete case.
4254         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
4255
4256 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4257
4258         * doc/install-old.texi: Move some sections out to ...
4259         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
4260         ... here.  New files.  Make into chapters rather than sections.
4261         * doc/gcc.texi: Include the new files and add menu entries for
4262         them.
4263         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4264
4265 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4266
4267         * tree.h (TYPE_ALIGN_OK): New flag.
4268         * emit-rtl.c (set_mem_attributes): Handle it.
4269         * expr.c (emit_single_push_insn): Only set to alias set 0 if
4270         doing sibcall optimization.
4271         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
4272         when make temporary.
4273         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
4274         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
4275
4276         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
4277
4278 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4279
4280         * c-decl.c (c_decode_option): Give deprecation warning for
4281         -traditional.
4282         * doc/invoke.texi (-traditional): Note that this option is
4283         deprecated.
4284
4285 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
4286
4287         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
4288         arg to HOST_WIDE_INT, not long.
4289
4290         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
4291         (HAS_INIT_SECTION): Define.
4292         (REAL_ARITHMETIC): Don't undefine.
4293
4294 2001-11-18  Egor Duda  <deo@logos-m.ru>
4295
4296         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4297
4298 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4299
4300         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
4301         * c-common.c: Include diagnostic.h.
4302         (c_common_finish): New.
4303         * c-common.h (c_common_finish): New.
4304         * c-lang.c (LANG_HOOKS_FINISH): Override.
4305         * c-parse.in: Don't include diagnostic.h.
4306         (finish_parse): Remove.
4307         * langhooks.h: Update comments.
4308         * toplev.c (lang_dependent_init): New prototype.
4309         (finalize): New.
4310         (compile_file): Split cleanup code out to finalize.
4311         (lang_dependent_init): Stop if lang_hooks.init fails.
4312         (toplev_main): Update.
4313         * tree.h (finish_parse): Remove.
4314 objc:
4315         * objc-act.c (LANG_HOOKS_FINISH): Override.
4316
4317 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4318
4319         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
4320         * config/alpha/vms_tramp.asm: New file.
4321         * config/alpha/vms-tramp.asm: Removed.
4322
4323 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4324
4325         * c-common.c (struct disabled_builtin, disabled_builtins,
4326         disable_builtin_function, builtin_function_disabled_p): New.
4327         (builtin_function_2): Check for disabled built-in functions.
4328         * c-common.h (disable_builtin_function): Declare.
4329         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
4330         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
4331         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
4332
4333 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4334
4335         PR target/4606
4336         * config.gcc: Remove reference to va-clipper.h.
4337
4338 2001-11-17  Stan Shebs  <shebs@apple.com>
4339
4340         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
4341         AltiVec-related bitfields.
4342
4343 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4344
4345         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
4346         (mark_eh_region, case ERT_UKNONW): New case.
4347
4348 2001-11-17  Christopher Faylor  <cgf@redhat.com>
4349             Corinna Vinschen  <vinschen@redhat.com>
4350
4351         * config/i386/cygwin.h: Search target specific include directory for
4352         w32api stuff, if appropriate.
4353
4354 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
4355
4356         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
4357
4358 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
4359
4360         * config/rs6000/rs6000.md: Change all ldvx to lvx.
4361
4362 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
4363
4364         * gensupport.c (process_rtx): Don't assume filename is the first
4365         argument of any rtl.
4366
4367 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4368
4369         * vax-protos.h (reg_was_0_p): New prototype.
4370         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
4371         * vax.c (follows_p, reg_was_0_p): New functions.
4372
4373 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4374
4375         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
4376         (casesi1): Likewise.  Define new pattern which arises by simplification
4377         when operand 1 is a constant int.  Correct pattern which arises by
4378         simplification when operand 1 is zero.
4379
4380 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
4381
4382         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
4383         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
4384         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
4385         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
4386         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
4387         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
4388         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
4389         * config/arm/aof.h: Don't include arm.h.
4390         * config/arm/aout.h: Likewise.
4391         * config/arm/coff.h: Don't include semi.h and aout.h.
4392         * config/arm/elf.h: Don't include aout.h.
4393         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
4394         (TARGET_VERSION): Undef before defining.
4395         (ARM_OS_NAME): Likewise
4396         (TARGET_DEFAULT): Likewise
4397         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
4398         * config/arm/pe.h: Don't include arm/coff.h.
4399         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
4400         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
4401         * config/arm/riscix1-1.h: Likewise.
4402         * config/arm/rix-gas.h: Don't include riscix.h.
4403         (DBX_CONTIN_LENGTH): Undef before defining.
4404         * config/arm/semi.h: Don't include aout.h.
4405         * config/arm/semiaof.h: Don't include aof.h.
4406         * config/arm/strongarm-coff.h: Don't include coff.h.
4407         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
4408         * config/arm/vxarm.h: Don't include arm/coff.h.
4409         * config/arm/xscale-coff.h: Don't include coff.h.
4410
4411 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4412
4413         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
4414         emit_cmp_insn.
4415
4416 2001-11-16  Andreas Jaeger  <aj@suse.de>
4417
4418         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
4419         to ....
4420         (fixup_fallthru_exit_predecessor): ... this.
4421         Change callers and prototype.
4422
4423 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
4424
4425         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
4426         hand; don't use gen_setcc_2.
4427         (ix86_expand_builtin): Fix pshufw.
4428         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
4429         case UNORDERED to emit the right assembler instruction.
4430         (mmx_pshufw): Lose operand 2.
4431         (cvtsi2ss): Fix representation.
4432         From Graham Stott:
4433         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
4434
4435 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
4436
4437         * doc/include/linux-and-gnu.texi: Remove.
4438         * doc/gnu.texi: New.
4439         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
4440         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4441
4442 2001-11-16  Kazu Hirata  <kazu@hxi.com>
4443
4444         * config/a29k/a29k.c: Fix comment formatting.
4445         * config/a29k/a29k.h: Likewise.
4446         * config/arc/arc.c: Likewise.
4447         * config/arc/arc.h: Likewise.
4448         * config/vax/vax.c: Likewise.
4449         * config/vax/vax.h: Likewise.
4450         * config/we32k/we32k.c: Likewise.
4451         * config/we32k/we32k.h: Likewise.
4452
4453 2001-11-16  Jeff Law  <law@redhat.com>
4454
4455         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
4456         creating a new jump insn.
4457
4458 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4459
4460         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
4461         copy misaligned data.
4462         * varasm.c (assemble_variable): Set alignment into MEM when changed.
4463
4464 2001-11-16  Graham Stott  <grahams@redhat.com>
4465
4466         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
4467         OPALIGN type.
4468
4469 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
4470
4471         * except.c: Support for catching a list of types with a single handler
4472         (struct eh_region): Change type and filter to lists for catch regions.
4473         (mark_eh_region): Mark the filter list for GC also.
4474         (expand_start_catch): Always build a list if argument not NULL and
4475         register each type of the list through add_type_for_runtime.
4476         (duplicate_eh_region_1): Change type into type_list for catch regions.
4477         (assign_filter_values): Assign a filter to each type associated with a
4478         catch region. Assign filter for NULL types in a unique entry in the
4479         filter list.
4480         (build_post_landing_pads): Emit compare and jump for each filter of
4481         the list associated with a catch region.
4482         (reachable_next_level): When the type thrown is known, stop the search
4483         as soon as one type within a catch list matches. Also, a handler is
4484         potentially reachable only if at least one of the types it catches
4485         has not been previously caught.
4486         (collect_one_action_chain): Retrieve the filter for a NULL type list
4487         from the first filter list entry. For non NULL type lists, add an
4488         action record for every filter assigned.
4489         * except.h: Reflect changes in comment before expand_start_catch.
4490
4491 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4492
4493         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
4494         BLKmode.
4495
4496 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
4497
4498         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
4499
4500 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
4501
4502         * c-lang.c (finish_file): Don't emit static inline functions if
4503         they weren't referenced.
4504
4505 2001-11-15  Stan Shebs  <shebs@apple.com>
4506
4507         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
4508
4509 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4510
4511         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
4512         call.
4513         * config/i386/i386.md: Likewise.
4514
4515 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4516
4517         * timevar.c (rtl.h): Include so get fancy abort.
4518
4519 2001-11-15  Dale Johannesen  <dalej@apple.com>
4520
4521         * config/darwin.h (SELECT_RTX_SECTION):  Force address
4522         initializers into 'const' section
4523         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
4524         if_then_else to match result, not operands
4525
4526 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4527
4528         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
4529         * emit-rtl.c (change_address): Fix typo in default alignment.
4530         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
4531         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
4532         * rtl.h (REGNO_PTR_FRAME_P): New macro.
4533
4534         * expr.c (store_field): Pass tree instead of max size; callers changed.
4535         Change handling of alignment.
4536         Only copy to_rtx if is TARGET.
4537         (expand_expr_unaligned): Delete; callers now use expand_expr.
4538         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
4539         (expand_assignment): Change handling of alignment.
4540         Only copy to_rtx if was original.
4541         (get_inner_reference): No longer return alginment; callers changed.
4542         (expand_expr, case COMPONENT_REF): Change handling of alignment.
4543         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
4544         (compare_from_rtx): Delete ALIGN parm; all callers changed.
4545         (do_compare_rtx_and_jump): Likewise.
4546         * expr.h: Reflect above changes.
4547         * tree.h: Likewise.
4548         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
4549         to get_inner_reference.
4550         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
4551         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
4552         * optabs.c: Likewise.
4553         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
4554         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
4555         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
4556         compare_rtx_and_jump, and emit_cmp_jump_insns.
4557         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
4558         * function.c (assign_stack_temp_for_type): No longer static.
4559         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
4560         (prepare_cmp_insn): Delete declaration.
4561         * rtl.h (assign_stack_temp_for_type): Add declaration.
4562         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
4563         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
4564         * config/i386/i386.c,config/mips/mips.c: Likewise.
4565         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
4566         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
4567
4568 2001-11-15  Stan Shebs  <shebs@apple.com>
4569
4570         * config/rs6000/rs6000.h: Fix a comment typo.
4571         (RTX_COSTS): Sort processor versions better.
4572
4573 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4574
4575         * config/h8300/h8300.md: Fix insn length of bit insns.
4576
4577 2001-11-15  Jason Merrill  <jason@redhat.com>
4578
4579         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
4580         DIEs if there were errors in the source.
4581
4582         * config/alpha/alpha-interix.h, config/alpha/elf.h,
4583         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
4584         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
4585         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
4586         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
4587         config/elfos.h, config/lynx.h, config/netware.h,
4588         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
4589         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
4590         uses to use ASM_LONG.
4591
4592 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
4593
4594         * gensupport.c  process_include : Change call to alloca to
4595         xmalloc.
4596
4597 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4598
4599         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
4600         templates.
4601
4602 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4603
4604         * final.c (alter_subreg): If simplify_subreg can't do anything,
4605         handle REG ourselves and abort for others.
4606
4607 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
4608
4609         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
4610         routines.
4611
4612 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4613
4614         * fix-header.c (read_scan_file): Update.
4615
4616 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4617
4618         * toplev.c (toplev_main): Don't start timing until after
4619         command-line options are parsed.
4620
4621 2001-11-15  Andreas Schwab  <schwab@suse.de>
4622
4623         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
4624         makefile frag, not host makefile frag.
4625         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
4626         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
4627         used.
4628         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
4629         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
4630         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
4631         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
4632         * config/i386/t-dgux (STMP_FIXPROTO): Define.
4633         * config/x-interix: Don't define STMP_FIXPROTO and
4634         FIXPROTO_DEFINES.
4635         * config/t-interix: New file, define STMP_FIXPROTO.
4636         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
4637         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
4638         * config/t-svr4 (FIXPROTO_DEFINES): Define.
4639         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
4640         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
4641         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
4642         * config/m68k/t-hp3200: Renamed from x-hp3200.
4643         * config/i370/t-oe: Renamed from x-oe.
4644         * config/mips/t-iris: Renamed from x-iris.
4645         * config/pa/t-bsd: Renamed from x-pa.
4646         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
4647         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
4648         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
4649         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
4650         config/rs6000/x-cygwin: Remove files.
4651
4652         * configure.in: Check for target objdump and use that in eh_frame
4653         optimization test.
4654         * configure: Regenerated.
4655
4656 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
4657
4658         * jump.c (squeeze_notes): Return true if no real insns were found.
4659         * rtl.h (squeeze_notes): Adjust prototype.
4660         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
4661         squeeze_notes finds no real instructions, abort.
4662         (merge_blocks_move_successor_nojumps): Likewise.
4663         * loop.c (find_and_verify_loops): Likewise.
4664         * stmt.c (expand_end_case): Likewise.
4665         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
4666         find any real instructions.
4667
4668         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
4669
4670         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
4671         conditional jump, request updating life into for the block
4672         containing it.  Fix a typo which prevented life info update.
4673         Clear blocks bitmap before using it.
4674
4675 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4676
4677         * c-common.c: Include c-lex.h.
4678         (c_common_lang_init): Change prototype.  Call init_c_lex and
4679         init_pragma from here.
4680         * c-common.h (c_common_lang_init): Change prototype.
4681         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
4682         * c-lang.c (c_init): Change prototype.  Update.
4683         (c_init_options): Update.
4684         * c-lex.c (cpp_filename): Remove.
4685         (init_c_lex): Update.  Read the main file, and get the original
4686         file name.
4687         (yyparse): Finish the command line options.
4688         * c-parse.in (c_parse_init): Call init_reswords here.
4689         (init_parse): Remove.
4690         * c-tree.h (c_init_decl_processing): New.
4691         * cpphash.c (_cpp_init_hashtable): After initializing the hash
4692         table, populate it.
4693         * cppinit.c (read_original_filename, cpp_finish_options): New.
4694         (cpp_create_reader): New prototype. Defer hash table initialization.
4695         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
4696         hash table.  Get the original filename.
4697         * cpplib.h (cpp_create_reader): Update.
4698         (cpp_start_read): Remove.
4699         (cpp_read_main_file, cpp_finish_options): New.
4700         * cppmain.c (main, do_preprocessing): Update.
4701         * langhooks.h (struct langhooks): Update init prototype.
4702         * toplev.c (general_init, parse_options_and_default_flags,
4703         process_options, lang_indpendent_init, lang_dependent_init,
4704         init_asm_output): New; perform the bulk of initialization.
4705         (compile_file): Move most of initialization to above functions.
4706         (debug_hooks): Initialize statically.
4707         (set_Wunused): Relocate.
4708         (toplev_main): Move most of initialization to other init functions.
4709         Have a clear logic flow.
4710         * tree.h (init_parse, init_decl_processing): Remove.
4711 objc:
4712         * objc-act.c (objc_init): Update prototype, combine with old
4713         init_parse.
4714         (objc_init_options): Update.
4715
4716
4717 2001-11-15  Andreas Jaeger  <aj@suse.de>
4718
4719         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
4720         portability.
4721         * basic-block.h: Adjust prototype.
4722
4723 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4724
4725         * config/rs6000/aix31.h: Fix comment formatting.
4726         * config/rs6000/beos.h: Likewise.
4727         * config/rs6000/darwin.h: Likewise.
4728         * config/rs6000/eabi.asm: Likewise.
4729         * config/rs6000/linux.h: Likewise.
4730         * config/rs6000/linux64.h: Likewise.
4731         * config/rs6000/lynx.h: Likewise.
4732         * config/rs6000/netbsd.h: Likewise.
4733         * config/rs6000/rs6000.c: Likewise.
4734         * config/rs6000/rs6000.h: Likewise.
4735         * config/rs6000/rs6000.md: Likewise.
4736         * config/rs6000/sol2.h: Likewise.
4737         * config/rs6000/tramp.asm: Likewise.
4738         * config/rs6000/xcoff.h: Likewise.
4739         * config/rs6000/xm-beos.h: Likewise.
4740
4741 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
4742
4743         * rtl.def (INCLUDE) : Define.
4744         * gensupport.c  (init_include_reader, process_include,
4745         save_string) :  New functions to implement an include facility
4746         in .md files.
4747         * gensupport.h : Add prototype for init_md_reader_args.
4748         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
4749         genextract.c genflags.c genopinit.c genoutput.c
4750         genpeep.c genrecog.c: Change call to init_md_reader to
4751         init_md_reader_args.
4752         * md.texi: Document (include "path") and -I directives for RTL
4753         generation tools.
4754
4755 2001-11-14  DJ Delorie  <dj@redhat.com>
4756
4757         * integrate.c (get_hard_reg_initial_reg): New.
4758         * integrate.h (get_hard_reg_initial_reg): Prototype.
4759         * local-alloc.c (block_alloc): Don't tie pseudos that
4760         represent call-saved hard regs' initial values.
4761
4762 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4763
4764         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
4765         recursion.
4766
4767 2001-11-14  Roger Sayle <roger@eyesopen.com>
4768
4769         * fold-const.c (fold): Optimize strlen comparisons against zero.
4770
4771 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
4772
4773         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
4774         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
4775         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
4776         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
4777         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
4778         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
4779         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
4780         Include various CPU headers via tm_file.  a.out based platforms now
4781         properly include sparc/aout.h.  sol2.h usage now implies including
4782         elfos.h, svr4.h, and sparc/sysv4.h.
4783         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
4784         Also define to '1'.
4785         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
4786         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4787         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
4788         Remove.  They are a.out specific and belong in sparc/aout.h.
4789         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
4790         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4791         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
4792         sparc/sparc.h.
4793         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
4794         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
4795         Moved here from sparc/sparc.h.
4796         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
4797         defining.
4798         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
4799         * config/sparc/lynx.h:  Don't include lynx.h.
4800         (SELECT_SECTION): Do not undef.
4801         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
4802         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
4803         and sparc/sysv4.h.
4804         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
4805         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
4806         sparc/aout.h now.
4807         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
4808         Don't undef, there is no need.
4809         * config/sparc/splet.h (CPP_PREDEFINES): Define.
4810         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
4811         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
4812         Don't include sparc/sparc.h.
4813         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
4814         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4815         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
4816         elfos.h and svr4.h.
4817         (TARGET_VERSION): Define.
4818         * config/sparc/vxsim.h (TARGET_VERSION): Define.
4819
4820 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
4821
4822         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
4823         (cfg_layout_finalize): Use it.
4824         * bb-reorder.c (HAVE_epilogue): Remove.
4825         (make_reorder_chain): Do not care special placement of
4826         last basic block.
4827
4828         * predict.c (expected_value_to_br_prob): Delete the note
4829         once transformed.
4830
4831         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
4832         measure integration time separately.
4833
4834 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4835
4836         * function.c (struct temp_slot): ALIGN now unsigned.
4837
4838 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4839
4840         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
4841         * config/dsp16xx/dsp16xx.h: Likewise.
4842         * config/dsp16xx/dsp16xx.md: Likewise.
4843
4844 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4845
4846         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
4847         that deals with 7-bit shifts in HImode.
4848
4849 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
4850
4851         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
4852         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
4853         (final_scan_insn): Update call of alter_subreg.
4854         (cleanup_subreg_operands): Likewise.
4855         (alter_subreg): Rewrite using simplify_subreg.
4856         (output_address, output_operand): Update call of alter_subreg.
4857         * output.h (alter_subreg): Update prototype.
4858         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
4859         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
4860         * Makefile.in (final.o): Add dependency on expr.h
4861
4862 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4863
4864         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
4865
4866 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
4867
4868         * doc/install.texi (sparc-*-linux*): Mention requirements for
4869         binutils and glibc.
4870
4871 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4872
4873         * Makefile.in (POD2MAN): Don't include --section=1.
4874         (manext): Rename to man1ext.  All users changed.
4875         (man7ext): New.
4876         (man7dir): New.
4877         (generated-manpages): Also depend on $(docdir)/gfdl.7,
4878         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
4879         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
4880         --section=1 in calls to $(POD2MAN).
4881         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
4882         (maintainer-clean, install, uninstall): Handle the new man pages.
4883         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
4884         (installdirs): Create man7dir.
4885         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
4886         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
4887         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
4888         the SEE ALSO man page section.
4889         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
4890         and fsf-funding(7) in the SEE ALSO man page section.
4891         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
4892         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
4893         * doc/include/fdl.texi, doc/include/funding.texi,
4894         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
4895         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
4896
4897 2001-11-13  Richard Henderson  <rth@redhat.com>
4898
4899         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
4900         as appropriate for the artificial decl.
4901
4902 2001-11-13  Richard Henderson  <rth@redhat.com>
4903
4904         * loop.c (combine_movables): Turn off combination until
4905         move_movables validation bugs are fixed.
4906
4907 2001-11-13  DJ Delorie  <dj@redhat.com>
4908
4909         * config.gcc (powerpc|rs6000): Set default cpp options based
4910         on --with-cpu settings.
4911         * config/rs6000/softfloat.h: New.
4912
4913 2001-11-13  Kazu Hirata  <kazu@hxi.com>
4914
4915         * config/h8300/h8300.c (shift_alg_si): Use special code for
4916         25-bit shifts on H8/S.
4917         (get_shift_alg): Generate special code for 25-bit shifts on
4918         H8/S.
4919
4920 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
4921
4922         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
4923         (adjust_automodify_address_1): New.
4924         * expr.h (adjust_address, adjust_address_nv): Adjust.
4925         (adjust_automodify_address, adjust_automodify_address_nv): Define.
4926         (adjust_address_1): Update prototype.
4927         (adjust_automodify_address_1): Add prototype.
4928         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
4929         (store_by_pieces_2): Likewise.
4930
4931 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4932
4933         * Makefile.in (explow.o): Now depends on ggc.h.
4934         * explow.c (ggc.h): Include.
4935         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
4936
4937         * Makefile.in (expr.o): Depends on insn-attr.h.
4938         * expr.c (insn-attr.h): New include.
4939         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
4940         of MEM.
4941         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
4942         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
4943         clean up related usage in ADDR_EXPR.
4944         (expand_expr_unaligned): Likewise.
4945
4946         * emit-rtl.c (change_address): Fix typo in alias setting.
4947
4948 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4949
4950         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
4951
4952 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4953
4954         PR bootstrap/3451
4955         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
4956         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
4957
4958 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
4959
4960         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
4961         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
4962         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
4963         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
4964         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
4965         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
4966         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
4967         sparc64-*-linux*):  Include various CPU headers via tm_file.
4968         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
4969         (SELECT_SECTION): Likewise.
4970         (SELECT_RTX_SECTION): Likewise.
4971         * config/sparc/sparc_bi.h: New file.
4972         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
4973         * config/sparc/linux-aout.h: Likewise.
4974         * config/sparc/linux.h: Don't include sparc/sysv4.h.
4975         * config/sparc/linux64.h: Likewise.
4976         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
4977         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
4978         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
4979         and dbxcoff.h
4980         (ASM_OUTPUT_IDENT): Do not #undef.
4981         (SELECT_SECTION): Likewise.
4982         (SELECT_RTX_SECTION): Likewise.
4983         * config/sparc/liteelf.h: Don't include gofast.h.
4984         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
4985         * config/sparc/lynx.h: Don't include sparc/sparc.h.
4986         * config/sparc/pbd.h: Likewise.
4987         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
4988         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
4989         * config/sparc/rtemself.h: Don't include rtems.h.
4990         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
4991         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
4992         sparc_bi.h instead.
4993         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
4994         * config/sparc/sol2.h: Include sparc/sparc.h directly.
4995         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
4996         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
4997         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
4998         * config/sparc/sp86x-elf.h: Don't include gofast.h.
4999         * config/sparc/splet.h: Don't include sparc/aout.h.
5000         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5001         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5002         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5003         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5004         * config/sparc/vxsparc64.h: Don't include gofast.h.
5005         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
5006
5007 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5008
5009         * doc/standards.texi: Mention C99 TC1.
5010
5011 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5012
5013         * mips-protos.h (mips_output_conditional_branch): Const-ify.
5014         * mips.c (mips_output_conditional_branch): Likewise.
5015
5016 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5017
5018         * config/h8300/h8300.c (shift_alg_si): Use special code for
5019         15-bit logical shifts and 31-bit logical shifts.
5020         (get_shift_alg): Generate special code for 15-bit and 31-bit
5021         logical shifts.
5022
5023 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5024
5025         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5026         doing 6-bit logical shifts on H8/S.
5027         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5028         (get_shift_alg): Generate special code for 21-bit shifts on
5029         H8/S.
5030
5031 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5032
5033         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5034         label.
5035
5036 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5037
5038         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5039         if both size and offset known.
5040
5041 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
5042
5043         * config/ia64/freebsd.h: Fix misspelling.
5044
5045 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5046
5047         * doc/gcc.texi: Move several chapters out to ...
5048         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5049         doc/include/linux-and-gnu.texi, doc/interface.texi,
5050         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5051         ... here.  New files.
5052         * doc/gcc.texi, doc/contrib.texi: Move section headings into
5053         contrib.texi.
5054         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5055
5056 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5057
5058         * config/alpha/alpha-interix.h: Fix comment formatting.
5059         * config/alpha/alpha.c: Likewise.
5060         * config/alpha/alpha.h: Likewise.
5061         * config/alpha/alpha32.h: Likewise.
5062         * config/alpha/freebsd.h: Likewise.
5063         * config/alpha/unicosmk.h: Likewise.
5064         * config/alpha/vms.h: Likewise.
5065
5066 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5067
5068         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5069
5070 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
5071
5072         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5073         numbers.
5074
5075 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5076
5077         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5078         from type.
5079         (replace_equiv_address): Call update_temp_slot_address.
5080
5081         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5082
5083         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5084
5085 2001-11-12  Kazu Hirata  <kazu@hxi.com>
5086
5087         * config/h8300/h8300.c (shift_alg_qi): New.
5088         (shift_alg_hi): Likewise.
5089         (shift_alg_si): Likewise.
5090         (get_shift_alg): Change the type of count to unsigned int.
5091         Use the tables.
5092
5093 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
5094
5095         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5096         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
5097         to decide whether to defer a function.
5098         (finish_function): Adjust.
5099         (c_expand_deferred_function): New function.
5100         * c-lang.c (deferred_fns): New variable.
5101         (c_init): Initialize it, and mark it as a root.
5102         (defer_fn): New function.
5103         (finish_file): Expand all deferred functions.
5104         * c-tree.h (defer_fn): Declare.
5105         (c_expand_deferred_function): Likewise.
5106         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5107         * objc-act.c (deferred_fns): New variable.
5108         (objc_init): Initialize it, and mark it as a root.
5109         (defer_fn): New function.
5110         (finish_file): Expand all deferred functions.
5111
5112 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5113
5114         * alpha.c (unicosmk_special_name): Prototype.
5115         (unicosmk_ssib_name): Delete unused variable.
5116         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5117         * alpha/vms.h (PREFIX): Undef before defining.
5118         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5119         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
5120         controlling usage.  Const-ify.
5121         (alias_number): Delete unused variable.
5122         * m32r/m32r.c (m32r_sched_init): Add missing argument.
5123         (m32r_expand_block_move): Fix uninitialized warnings.
5124         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5125         always true' warnings.
5126         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5127         * sh/sh.c: Include "integrate.h".
5128         (output_far_jump): Fix uninitialized warning.
5129         * final.c (shorten_branches): Avoid automatic aggregate
5130         initialization.
5131         * integrate.c (subst_constants): Likewise.
5132
5133 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5134
5135         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5136         (get_shift_alg): Remove redundant code.
5137
5138 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5139
5140         * config/pa/milli64.S: Fix comment formatting.
5141         * config/pa/pa-64.h: Likewise.
5142         * config/pa/pa-linux.h: Likewise.
5143         * config/pa/pa-protos.h: Likewise.
5144         * config/pa/pa.c: Likewise.
5145         * config/pa/pa.h: Likewise.
5146         * config/pa/pa32-linux.h: Likewise.
5147         * config/pa/pa32-regs.h: Likewise.
5148         * config/pa/pa64-hpux.h: Likewise.
5149         * config/pa/pa64-regs.h: Likewise.
5150         * config/pa/som.h: Likewise.
5151
5152 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5153
5154         * doc/gcc.texi: Move several chapters out to ...
5155         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5156         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5157         doc/vms.texi: ... here.  New files.
5158         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5159
5160 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5161
5162         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5163         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5164         collect2.c, combine.c, config.in, configure, configure.in,
5165         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5166         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5167         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5168         spelling errors.
5169
5170 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5171
5172         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5173         Adjust operand number in CONST_DOUBLE.
5174
5175         * expmed.c (extract_bit_field): No longer pass in alignment.
5176         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5177         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5178         Likewise.
5179         * expr.c (store_constructor, store_constructor_field): Likewise.
5180         (store_field, emit_group_load, emit_group_store): Likewise.
5181         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5182         (store_bit_field, extract_bit_field): Likewise.
5183         * calls.c, expr.c, function.c: Change calls to above functions.
5184         * ifcvt.c, stmt.c: Likewise.
5185
5186         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5187         constant and one is on frame.
5188         If know memref offset, adjust size from decl.
5189
5190 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5191
5192         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5193         format specifier warning.
5194         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5195         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5196         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5197         warning.
5198         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5199         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5200         * i386-interix.h (gen_stdcall_suffix): Prototype.
5201         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5202         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5203         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5204         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5205         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5206         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5207         specifier warnings.
5208         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5209         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5210         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5211         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5212         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5213         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5214         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5215         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5216         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5217         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5218         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5219         Likewise.
5220         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5221         Likewise.
5222         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5223         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5224         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5225         Likewise.
5226         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5227         Likewise.
5228         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5229         Likewise.
5230         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5231         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5232         * m68k/news.h (PRINT_OPERAND): Likewise.
5233         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5234         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5235         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5236         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5237         definition.
5238         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5239         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5240         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5241         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5242         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5243         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5244         PRINT_OPERAND): Likewise.
5245         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5246         Likewise.
5247         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5248         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5249         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5250         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5251         * mips.c (mips_output_external_libcall): Mark parameter with
5252         ATTRIBUTE_UNUSED.
5253         (mips_asm_file_start): Move variable into the scope where it's
5254         used.
5255         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5256         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5257         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
5258         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5259         * ns32k.c (print_operand): Likewise.
5260         * pa.c (print_operand, output_div_insn): Likewise.
5261         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
5262         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
5263         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
5264         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5265         specifier warnings.
5266         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5267         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5268         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
5269         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5270         specifier warnings.
5271         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5272
5273         * sdbout.c (sdbout_end_epilogue): Mark parameter with
5274         ATTRIBUTE_UNUSED.
5275         * varasm.c (assemble_global): Likewise.
5276
5277 2001-11-11  H.J. Lu <hjl@gnu.org>
5278
5279         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
5280
5281 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
5282
5283         * final.c (*_MAX_SKIP): Use *_max_skip variables.
5284         * flags.h (align_loops_max_skip, align_jumps_max_skip,
5285         align_labels_max_skip): New global variables.
5286         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
5287         align_labels_max_skip): New global variables.
5288         (toplev_main): Set new variables.
5289         * i386.c (override_options): Set max_skip values.
5290
5291 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
5292
5293         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
5294         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5295         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
5296         don't print an @fptr for labels either.
5297         (xstormy16_output_addr_vec): Don't print @fptr here.
5298         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
5299
5300 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
5301
5302         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
5303         an ANSI/ISO definitino.
5304         (ssa_const_prop): Likewise.
5305
5306 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
5307
5308         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
5309         altivec registers.
5310
5311 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5312
5313         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
5314         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
5315         * cppmain.c (general_init): Call hex_init.
5316         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
5317
5318         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
5319
5320         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
5321         of dgux.c:output_file_start().
5322
5323         * i386/dgux.c: Delete file.
5324
5325 2001-11-09  Richard Henderson  <rth@redhat.com>
5326
5327         * config/alpha/alpha.c (decl_in_text_section): New.
5328         (current_file_function_operand): Use it.
5329         (alpha_encode_section_info, alpha_end_function): Likewise.
5330
5331 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
5332
5333         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
5334         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
5335         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
5336         so OS specific files and use CPP_PREDEFINES for their needs.
5337         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
5338         target headers to tm_file.
5339         * config/ia64/aix.h (TARGET_VERSION): Likewise.
5340         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
5341         * config/ia64/linux.h (TARGET_VERSION): Likewise.
5342         (FUNCTION_PROFILER): Remove.
5343         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
5344         version in config/ia64/linux.h.
5345         * config/ia64/freebsd.h: New file.
5346         * config/freebsd.h: Tidy up.
5347         (_USING_CONFIG_FREEBSD): Define.
5348         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
5349         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
5350         (FBSD_STARTFILE_SPEC): Likewise.
5351         (FBSD_ENDFILE_SPEC): Likewise.
5352         (FBSD_LIB_SPEC): Likewise.
5353         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
5354         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
5355         set an ELF-improper one.
5356
5357 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5358
5359         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
5360         constant can be loaded in a single instruction to a register.  When
5361         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
5362         depdi for insertion of most significant 32-bits on 64-bit hosts.
5363         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
5364         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
5365         * pa.md: New addmove pattern for adding constant_int to HImode
5366         register and moving result to HImode register.  Remove HImode HIGH
5367         and LO_SUM patterns.
5368
5369 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5370
5371         * Makefile.in: Update.
5372         * c-decl.c (print_lang_decl, print_lang_type): Remove.
5373         (print_lang_identifier): Rename c_print_identifier.
5374         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5375         (print_lang_statistics, lang_print_xnode): Remove.
5376         * c-parse.in (set_yydebug): Rename c_set_yydebug.
5377         * c-tree.h (c_set_yydebug, c_print_identifier): New.
5378         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
5379         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
5380         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
5381         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5382         (LANG_HOOKS_INITIALIZER): Update.
5383         * langhooks.h (struct lang_hooks): New members.
5384         (lang_print_tree_hook): New.
5385         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
5386         * print-tree.c: Include langhooks.h.
5387         (print_node): Update.
5388         * toplev.c (decode_d_option): Update.
5389         * tree.c: Include langhooks.h.
5390         (dump_tree_statistics): Update.
5391         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
5392         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
5393 objc:
5394         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
5395         LANG_HOOKS_SET_YYDEBUG): Override.
5396         (lang_print_xnode, print_lang_statistics): Remove.
5397
5398 2001-11-09  Richard Henderson  <rth@redhat.com>
5399
5400         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
5401         on the symbol string.
5402
5403 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5404
5405         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
5406         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
5407         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
5408
5409         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
5410
5411         * tlink.c (recompile_files): Copy strings passed to `putenv'.
5412
5413 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
5414
5415         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
5416         (TYPE_READONLY): Likewise.
5417
5418         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
5419
5420         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
5421         don't pass --gdwarf2 to the assembler if the compiler will also
5422         provide debug info.
5423
5424         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
5425         Don't change INDEX.
5426
5427 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5428
5429         * alias.c (nonoverlapping_memrefs_p): New function.
5430         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
5431
5432         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
5433
5434 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
5435
5436         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
5437         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
5438         generating altivec code.
5439         (FIXED_REGISTERS): VRSAVE is fixed.
5440         (CALL_USED_REGISTERS): VRSAVE is call used.
5441
5442 2001-11-09  Jason Eckhardt  <jle@rice.edu>
5443
5444         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
5445         code the branch target as ".+16/.+12", but rather use labels.
5446
5447 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
5448
5449         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
5450         to work around limitations of certain versions of GAS.
5451
5452         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
5453         (muldi3): Update due to SUBREG_BYTE changes.
5454         (casesi): Similarly.
5455
5456 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
5457
5458         * doc/invoke.texi: Remove comment referring to -xf77-version.
5459
5460 2001-11-09  Kazu Hirata  <kazu@hxi.com>
5461
5462         * config/convex/convex.c: Fix comment formatting.
5463         * config/convex/convex.h: Likewise.
5464
5465 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
5466
5467         * Makefile.in (.po.pox): Look both in srcdir and builddir
5468         for $(PACKAGE).pot.
5469         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
5470         to the source directory.
5471
5472 2001-11-09 Ben Elliston  <bje@redhat.com>
5473            Michael Meissner  <meissner@redhat.com>
5474            Andrew MacLeod  <amacleod@redhat.com>
5475            Richard Henderson  <rth@redhat.com>
5476            Nick Clifton  <nickc@redhat.com>
5477            Catherine Moore  <clm@redhat.com>
5478
5479         * m32r.c: Add support for m32rx processor.
5480         * m32r.h: Ditto.
5481         * m32r.md: Ditto.
5482         * t-m32r: Ditto.
5483         * m32r-protos.h: Add prototypes for m32rx functions.
5484         * doc/invoke.texi: Document -m32rx option.
5485
5486 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5487
5488         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
5489         or after reload.
5490
5491 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5492
5493         * doc/install.texi2html: Use $MAKEINFO --no-split.
5494
5495 2001-11-09  Andreas Schwab  <schwab@suse.de>
5496
5497         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
5498         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
5499         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
5500         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
5501         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
5502
5503 2001-11-09  H.J. Lu <hjl@gnu.org>
5504
5505         * config/mips/mips.c (mips_output_function_prologues): Cast
5506         `tsize' to long for output.
5507
5508 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5509
5510         * c-lang.c (LANG_HOOKS_NAME): New.
5511         (lang_hooks): Constify.
5512         (c_init_options): Update.
5513         (lang_identify): Remove.
5514         * c-parse.in (language_string): Remove.
5515         * dbxout.c: Include langhooks.h.
5516         (dbxout_symbol_location): Update.
5517         * dwarf2out.c: Include langhooks.h.
5518         (gen_compile_unit_die): Update.
5519         * dwarfout.c: Include langhooks.h.
5520         (prototyped_attribute, output_compile_unit_die): Update.
5521         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
5522         (LANG_HOOKS_INITIALIZER): Update.
5523         * langhooks.h (struct lang_hooks): New members.  Constify.
5524         * stringpool.c: Don't include toplev.h.
5525         (set_identifier_size): Remove.
5526         * toplev.c (toplev_main): Initialize identifier size.
5527         (print_version): Update.
5528         * tree.h (language_string, init_lex, lang_identify,
5529         set_identifier_size): Remove.
5530         * Makefile.in: Update dependencies.
5531         * config/darwin.c: Include langhooks.h.
5532         (func_name_maybe_scoped): Update.
5533         * config/darwin.h (ASM_END_FILE): Update.
5534         * config/nextstep.h (ASM_END_FILE): Update.
5535         * config/nextstep21.h (ASM_END_FILE): Update.
5536         * config/i386/sun386.h (ASM_END_FILE): Update.
5537         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
5538         (rs6000_output_function_epilogue): Update.
5539 objc:
5540         * objc-act.c (LANG_HOOKS_NAME): Override.
5541         (struct lang_hooks): Constify.
5542         (objc_init_options): Update.
5543         (lang_identify): Remove.
5544
5545 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
5546
5547         * fold-const.c (lshift_double): Honor PREC.
5548         (rshift_double): Likewise.
5549
5550 2001-11-08  Kazu Hirata  <kazu@hxi.com>
5551
5552         * config/1750a/1750a.c: Fix comment formatting.
5553         * config/1750a/1750a.h: Likewise.
5554
5555 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
5556
5557         * configure.in (--enable-languages): Be more permissive about
5558         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
5559         * configure: Regenerated.
5560
5561 2001-11-08  Richard Henderson  <rth@redhat.com>
5562
5563         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
5564
5565 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
5566
5567         * config.gcc: Rename stormy16 to xstormy16.
5568         * config/stormy16/stormy-abi: Likewise.
5569         * config/stormy16/stormy16-protos.h: Likewise.
5570         * config/stormy16/stormy16.c: Likewise.
5571         * config/stormy16/stormy16.h: Likewise.
5572         * config/stormy16/stormy16.md: Likewise.
5573
5574 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
5575
5576         * tree.h (TYPE_VOLATILE): Add enable-checking code.
5577         (TYPE_READONLY): Likewise.
5578
5579 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5580
5581         * reload1.c (reload): Don't delete equiv insn if can throw.
5582
5583         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
5584         (clear_storage): Likewise, for OBJECT.
5585
5586 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
5587
5588         * pa.c (emit_move_sequence): Fix SUBREG expression to
5589         use proper byte offset when extending a constant from
5590         SImode to DImode.
5591
5592 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5593
5594         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
5595         which cannot throw.
5596
5597 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5598
5599         * explow.c (convert_memory_address, case SUBREG): Only return
5600         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
5601
5602 2001-11-08  Richard Henderson  <rth@redhat.com>
5603
5604         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
5605         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
5606         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
5607
5608 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
5609
5610         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
5611
5612 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5613
5614         * dwarf2out.c (debug_str_hash): New.
5615         (struct indirect_string_node): New.
5616         (struct dw_val_struct): Change type of val_str to it.
5617         (DEBUG_STR_SECTION_FLAGS): Define.
5618         (add_AT_string): Push string into hashtable, increment reference
5619         counter.
5620         (AT_string): Return string from ht_identifier.
5621         (AT_string_form): New.
5622         (free_AT): For dw_val_class_str, just decrement reference counter.
5623         (size_of_string): Remove.
5624         (size_of_die): Use AT_string_form to decide what size the string
5625         occupies in DIE.
5626         (size_of_pubnames): Use strlen instead of size_of_string.
5627         (value_format): Use AT_string_form for dw_val_class_str.
5628         (output_die): Output DW_FORM_strp strings using
5629         dw2_asm_output_offset.
5630         (indirect_string_alloc, output_indirect_string): New.
5631         (dwarf2out_finish): Emit .debug_str strings if there are any.
5632
5633 2001-11-08  Andreas Franck  <afranck@gmx.de>
5634
5635         * configure.in: Add AC_ARG_PROGRAM to support program name
5636         transformation with --program-prefix, --program-suffix and
5637         --program-transform-name.
5638         * configure: Regenerated.
5639         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
5640         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
5641         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
5642         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
5643         program_transform_name the way suggested by autoconf.
5644         (GCC_TARGET_INSTALL_NAME): Define.
5645         (install-driver): Use the transformed target alias name.
5646
5647 2001-11-08  Richard Henderson  <rth@redhat.com>
5648
5649         * config/mips/mips.c (save_restore_insns): Remove GP from the
5650         restore registers mask early instead of special casing it inside
5651         the loop.
5652
5653 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5654
5655         * cp/decl.c (shadow_warning): New function.
5656         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
5657         and an error when a block scope decl shadows a parameter.
5658
5659 2001-11-08  Richard Henderson  <rth@redhat.com>
5660
5661         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
5662         case as well.
5663
5664 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5665
5666         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
5667         to implement floating negation on processors prior to PA 2.0.
5668
5669 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5670
5671         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
5672         (USE_LINKONCE_INDIRECT): Define.
5673         (dw2_output_indirect_constant_1): Try to output indirect constants
5674         into linkonce sections if possible.
5675         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
5676         (dw2_output_indirect_constants): Likewise.
5677
5678 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5679
5680         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
5681
5682 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5683
5684         * c-decl.c (pushdecl): Remove file and line.
5685         * c-typeck.c (pop_init_level): Remove size.
5686
5687 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5688
5689         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
5690         for rs6000.
5691
5692         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
5693         (TARGET_ALTIVEC): New.
5694         (TARGET_SWITCHES): Add altivec.
5695         (FIRST_PSEUDO_REGISTER): Change to 109.
5696         (CALL_USED_REGISTERS): Same.
5697         (FIRST_ALTIVEC_REGNO): New.
5698         (LAST_ALTIVEC_REGNO): New.
5699         (ALTIVEC_REGNO_P): New.
5700         (UNITS_PER_ALTIVEC_WORD): New.
5701         (ALTIVEC_VECTOR_MODE): New.
5702         (FIXED_REGISTERS): Add altivec registers.
5703         (REG_ALLOC_ORDER): Same.
5704         (HARD_REGNO_NREGS): Adjust for altivec registers.
5705         (HARD_REGNO_MODE_OK): Same.
5706         (MODES_TIEABLE_P): Same.
5707         (REGISTER_MOVE_COST): Same.
5708         (REGNO_REG_CLASS): Same.
5709         (reg_class): Add ALTIVEC_REGS.
5710         (REG_CLASS_NAMES): Same.
5711         (REG_CLASS_CONTENTS): Same.
5712         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
5713         (ALTIVEC_ARG_RETURN): New.
5714         (FUNCTION_VALUE): Handle VECTOR_TYPE.
5715         (LIBCALL_VALUE): Handle altivec vector modes.
5716         (VECTOR_MODE_SUPPORTED_P): New.
5717         (ALTIVEC_ARG_MIN_REG): New.
5718         (ALTIVEC_ARG_MAX_REG): New.
5719         (ALTIVEC_ARG_NUM_REG): New.
5720         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
5721         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
5722         (REGISTER_NAMES): Add altivec regs.
5723         (DEBUG_REGISTER_NAMES): Same.
5724         (ADDITIONAL_REGISTER_NAMES): Same.
5725         (rs6000_builtins): New.
5726         (MD_EXPAND_BUILTIN): New.
5727         (MD_INIT_BUILTINS): New.
5728         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
5729         for AltiVec instructions.
5730         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
5731         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
5732         registers.
5733         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
5734         (TARGET_SWITCHES): Add no-altivec.
5735         (DATA_ALIGNMENT): Align vectors to 128 bits.
5736         (TARGET_OPTIONS): Add abi= option.
5737         Add rs6000_abi_string extern.
5738         (LOCAL_ALIGNMENT): New.
5739         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
5740         (MASK_ALTIVEC_ABI): New.
5741         (TARGET_ALTIVEC_ABI): New.
5742         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
5743         call-saved.
5744         (STACK_BOUNDARY): Adjust for altivec.
5745         (BIGGEST_ALIGNMENT): Same.
5746         (rs6000_args): Add vregno.
5747         (USE_ALTIVEC_FOR_ARG_P): New.
5748         (FIXED_REGISTERS): Add vrsave register.
5749         (CALL_USED_REGISTERS): Same.
5750         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
5751         (VRSAVE_REGNO): New.
5752         (reg_class): Add VRSAVE_REGS.
5753         (REG_CLASS_NAMES): Same.
5754         (REG_CLASS_CONTENTS): Same.
5755         (REGNO_REG_CLASS): Same.
5756
5757         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
5758         (ABI_STACK_BOUNDARY): Same.
5759         (BIGGEST_ALIGNMENT): Same.
5760         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
5761         (ROUND_TYPE_ALIGN): Same.
5762
5763         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5764         to 64.
5765
5766         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5767         to 64.
5768
5769         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5770         to 64.
5771
5772         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
5773         (altivec_expand_builtin): New.
5774         (altivec_init_builtins): New.
5775         (TARGET_EXPAND_BUILTIN): New.
5776         (TARGET_INIT_BUILTINS): New.
5777         (rs6000_init_builtins): New.
5778         (struct builtin_description): New.
5779         (bdesc_2arg): New.
5780         (rs6000_reg_names): Add altivec registers.
5781         (alt_reg_names): Same.
5782         (secondary_reload_class): Altivec regs can hold altivec regs and
5783         memory.
5784         (rs6000_emit_move): Force constants into memory for AltiVec moves.
5785         (print_operand): Add 'y' case for printing altivec memory
5786         operands.
5787         (rs6000_legitimize_address): Legitimize vector addresses into
5788         [REG+REG] or [REG].
5789         (altivec_expand_binop_builtin): New.
5790         New string rs6000_current_abi.
5791         (rs6000_override_options): Call rs6000_parse_abi_options.
5792         (rs6000_parse_abi_options): New.
5793         (function_arg_boundary): Vector arguments must be 16
5794         byte aligned.
5795         (function_arg_advance): Handle vector arguments.
5796         (function_arg_partial_nregs): Same.
5797         (init_cumulative_args): Same.
5798         (function_arg): Same.
5799
5800         * config/rs6000/rs6000.md (altivec_lvx): New.
5801         (type): Add altivec attribute.
5802         (movv4si): New.
5803         (*movv4si_internal): New.
5804         (movv16qi): New.
5805         (*movv16qi_internal): New.
5806         (movv8hi): New.
5807         (*movv8hi_internal1): New.
5808         (movv4sf): New.
5809         (*movv4sf_internal1): New.
5810         (altivec_stvx): New.
5811         (vaddubm): New.
5812         (vadduhm): New.
5813         (vadduwm): New.
5814         (vaddfp): New.
5815         (vaddcuw): New.
5816         (vaddubs): New.
5817         (vaddsbs): New.
5818         (vadduhs): New.
5819         (vaddshs): New.
5820         (vadduws): New.
5821         (vaddsws): New.
5822         (vand): New.
5823         (vandc): New.
5824         (vavgub): New.
5825         (vavgsb): New.
5826         (vavguh): New.
5827         (vavgsh): New.
5828         (vavguw): New.
5829         (vavgsw): New.
5830         (vcmpbfp): New.
5831         (vcmpequb): New.
5832         (vcmpequh): New.
5833         (vcmpequw): New.
5834         (vcmpeqfp): New.
5835         (vcmpgefp): New.
5836         (vcmpgtub): New.
5837         (vcmpgtsb): New.
5838         (vcmpgtuh): New.
5839         (vcmpgtsh): New.
5840         (vcmpgtuw): New.
5841         (vcmpgtsw): New.
5842         (vcmpgtfp): New.
5843         (vcmpgefp): New.
5844         (vcmpgtub): New.
5845         (vcmpgtsb): New.
5846         (vcmpgtuh): New.
5847         (vcmpgtsh): New.
5848         (vcmpgtuw): New.
5849         (vcmpgtsw): New.
5850         (vcmpgtfp): New.
5851         (vmaxub): New.
5852         (vmaxsb): New.
5853         (vmaxuh): New.
5854         (vmaxsh): New.
5855         (vmaxuw): New.
5856         (vmaxsw): New.
5857         (vmaxfp): New.
5858         (vmrghb): New.
5859         (vmrghh): New.
5860         (vmrghw): New.
5861         (vmrglb): New.
5862         (vmrglh): New.
5863         (vmrglw): New.
5864         (vminub): New.
5865         (vminsb): New.
5866         (vminuh): New.
5867         (vminsh): New.
5868         (vminuw): New.
5869         (vminsw): New.
5870         (vminfp): New.
5871         (vmuleub): New.
5872         (vmulesb): New.
5873         (vmuleuh): New.
5874         (vmulesh): New.
5875         (vmuloub): New.
5876         (vmulosb): New.
5877         (vmulouh): New.
5878         (vmulosh): New.
5879         (vnor): New.
5880         (vor): New.
5881         (vpkuhum): New.
5882         (vpkuwum): New.
5883         (vpkpx): New.
5884         (vpkuhss): New.
5885         (vpkshss): New.
5886         (vpkuwss): New.
5887         (vpkswss): New.
5888         (vpkuhus): New.
5889         (vpkshus): New.
5890         (vpkuwus): New.
5891         (vpkswus): New.
5892         (vrlb): New.
5893         (vrlh): New.
5894         (vrlw): New.
5895         (vslb): New.
5896         (vslh): New.
5897         (vslw): New.
5898         (vsl): New.
5899         (vslo): New.
5900         (vsrb): New.
5901         (vrsh): New.
5902         (vrsw): New.
5903         (vsrab): New.
5904         (vsrah): New.
5905         (vsraw): New.
5906         (vsr): New.
5907         (vsro): New.
5908         (vsububm): New.
5909         (vsubuhm): New.
5910         (vsubuwm): New.
5911         (vsubfp): New.
5912         (vsubcuw): New.
5913         (vsububs): New.
5914         (vsubsbs): New.
5915         (vsubuhs): New.
5916         (vsubshs): New.
5917         (vsubuws): New.
5918         (vsubsws): New.
5919         (vsum4ubs): New.
5920         (vsum4sbs): New.
5921         (vsum4shs): New.
5922         (vsum2sws): New.
5923         (vsumsws): New.
5924         (vxor): New.
5925
5926 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
5927
5928         * Makefile.in (df.o): Add fibheap.h to dependencies.
5929
5930         * df.h: Add prototypes for transfer functions, iterative_dataflow
5931         functions.
5932         (enum df_flow_dir): New enum.
5933         (enum df_confluence_op): New enum.
5934         (struct df): Add inverse_rts_map.
5935
5936         * df.c: Add sbitmap.h to the list of includes.
5937         (df_rd_global_compute): Removed.
5938         (df_ru_global_compute): Removed.
5939         (df_lr_global_compute): Removed.
5940         (df_rd_transfer_function): New function.
5941         (df_ru_transfer_function): New function.
5942         (df_lr_transfer_function): New function.
5943         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
5944         Use iterative_dataflow_bitmap instead of df_*_global_compute.
5945         (iterative_dataflow_sbitmap): New function.
5946         (iterative_dataflow_bitmap): New function.
5947
5948 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5949
5950         * doc/gcc.texi: Move terminology and spelling conventions to
5951         htdocs/codingconventions.html.
5952
5953 2001-11-07  Graham Stott  <grahams@redhat.com>
5954
5955         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
5956
5957 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
5958
5959         * expmed.c (expand_mult): Force operand to register before computing
5960         cost.
5961         * i386.c (x86_decompose_lea): New global vairable.
5962         * i386.h (x86_decompose_lea): Declare.
5963         (TARGET_DECOMPOSE_LEA): New macro.
5964         (RTX_COST): Handle leas properly.
5965
5966 2001-11-06  Richard Henderson  <rth@redhat.com>
5967
5968         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
5969         defined for a CONSTRUCTOR; don't check it.
5970
5971 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
5972
5973         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
5974         test for absolute pathnames.
5975
5976 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
5977
5978         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
5979         instructions up to the target pc inclusive.
5980
5981 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
5982
5983         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
5984
5985 2001-11-06  Eric Christopher  <echristo@redhat.com>
5986
5987         * config/mips/mips.md(movdf_internal2): Add constraints for float
5988         to general register move.
5989         * config/mips/elf64.h: Add default ABI.
5990
5991 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5992
5993         * alias.c:: Include langhooks.h.
5994         * emit-rtl.c: Similarly.
5995         * toplev.c: Similarly.
5996         * tree-inline.c: Similarly.
5997         * langhooks-def.h: New, the old langhooks.h.  Give the default
5998         hooks a common prefix.
5999         * langhooks.h: Contents extracted from toplev.h.
6000         * toplev.h: Move langhook stuff to langhooks.h.
6001         * langhooks.c: Give default hooks a common prefix.
6002
6003         * c-lang.c: Include langhooks-def.h.
6004         * objc/objc-act.c: Similarly.
6005         * Makefile.in: Update.
6006         * objc/Make-lang.in: Update.
6007
6008 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6009
6010         * doc/install.texi: Document that configure options not listed in
6011         this file are unsupported.  Document --with-system-zlib.
6012
6013 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6014
6015         * rtl.h (mem_for_const_double): New declaration.
6016         * varasm.c (mem_for_const_double): New function.
6017         * config/convex/convex.md (movdf): Use it.
6018         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6019         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6020         * config/m68k/m68kv4.h: Likewise.
6021
6022         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6023         of new GP reg classes.
6024
6025         * expr.c (store_field): When making temp object for unaligned
6026         component, set it to alias set 0.
6027
6028 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
6029
6030         * c-common.c (c_expand_expr_stmt): Apply default conversions to
6031         non-lvalue arrays if C99.
6032         * c-typeck.c (default_conversion): Split out code handling
6033         array-to-pointer and function-to-pointer conversions into a
6034         separate default_function_array_conversion function.
6035         (default_function_array_conversion): New function.  Keep track of
6036         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
6037         arrays unchanged outside C99 mode instead of giving an error for
6038         them.
6039         (build_component_ref): Use pedantic_non_lvalue when handling
6040         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
6041         (convert_arguments): Use default_function_array_conversion.
6042         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6043         non-lvalues are OK.
6044         (unary_complex_lvalue): Likewise.
6045         (internal_build_compound_expr): Use
6046         default_function_array_conversion.  Apply default conversions to
6047         function in compound expression.
6048         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6049         Use default_function_array_conversion.
6050         * doc/extend.texi: Update documentation of subscripting non-lvalue
6051         arrays.
6052         Fixes PR c/461.
6053
6054 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
6055
6056         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6057         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6058         corresponding to the complete set of .po and .gmo files in
6059         the source directory's po subdir, modified by LINGUAS.  Don't
6060         look at ALL_LINGUAS.
6061         * configure.in: Don't set ALL_LINGUAS.
6062         * configure: Regenerate.
6063
6064         * Makefile.in (.po.gmo): Don't move into source directory.
6065         (.po.pox): Clarify comments.
6066         (install-po): Look for .gmo files in both srcdir and objdir;
6067         don't fail if a file is totally missing.
6068         (distclean): rmdir ada subdirectory too.
6069
6070 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6071
6072         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6073         CONSTRUCTORs _correctly_.
6074
6075 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6076
6077         * c-decl.c (delete_block): Remove.
6078         * c-tree.h (delete_block): Remove.
6079
6080 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6081
6082         * cppexp.c (lex, parse_defined): Update warning about defined.
6083
6084 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
6085
6086         * config/rs6000/rs6000.c (rs6000_select_section): Handle
6087         CONSTRUCTORs too.
6088
6089 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
6090
6091         * config/arm/arm.c (arm_return_in_memory): Cope with
6092         int_size_in_bytes returning -1.
6093
6094         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6095         DECL being NULL.
6096
6097 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6098
6099         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
6100         remove unneeded dependencies;
6101         (cfglayout.o): New.
6102         * cfglayout.c, cfglayout.h: New files; break out from ...
6103         * bb-reorder.c: ... here; Remove unneeded includes;
6104
6105 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
6106
6107         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6108
6109 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
6110
6111         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6112         mode as well.  Do not explicitly create intermediate regs.
6113
6114 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6115
6116         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6117         (common_section): Delete unused variable.
6118         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6119         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6120         * arm-protos.h (arm_poke_function_name, aof_add_import,
6121         aof_delete_import): Const-ify.
6122         * arm.c (legitimize_pic_address): Wrap variables in the macro
6123         controlling their usage.
6124         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6125         (arm_poke_function_name, pic_chain, import, aof_add_import,
6126         aof_delete_import): Const-ify.
6127         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6128         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6129         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6130         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6131         * i860/sysv3.h: Add missing comment closure.
6132         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6133         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6134         to symbolic_operand.
6135
6136         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6137         (i960-*-*): Set tmake_file.
6138         (sparc86x-*-elf*): Fix typo in header name.
6139
6140         * sched-rgn.c (schedule_insns): Delete unused variable.
6141
6142 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6143
6144         PR c/2820
6145         * c-typeck.c (lookup_field): Rework to return a chain down to
6146         the looked-up field.
6147         (build_component_ref): Use the new lookup_field to handle
6148         nested anonymous entities correctly.
6149
6150 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6151
6152         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6153         Change parameters to gen_rtx_CONST_DOUBLE.
6154         (GEN_INT64, sparc_emit_set_const64): Likewise.
6155         * config/sparc/sparc.md (movdf split): Likewise.
6156
6157 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6158
6159         * unroll.c (calculate_giv_inc): Use find_last_value rather
6160         than just hoping the last instruction is the right SET.
6161         [Fixes 990604-1.c on stormy16.]
6162
6163         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6164         library at all if -T is used.
6165
6166         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6167         some uses of uninitialized variables in error cases.
6168
6169         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6170         look at 'temp' if we won't be using it.
6171
6172         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6173         (RTX_COSTS): Define.
6174         (ADDRESS_COST): Define.
6175         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6176
6177         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6178
6179         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6180         stormy16_asm_output_mi_thunk.
6181         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6182         function.
6183         * config/stormy16/stormy16-protos.h
6184         (stormy16_asm_output_mi_thunk): New prototype.
6185
6186 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6187
6188         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6189         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6190         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6191         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6192         sched-int.h, toplev.c, config/alpha/alpha.c,
6193         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6194         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6195         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6196         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6197         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6198         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6199         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6200
6201 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6202
6203         * Makefile.in (dbxout.o): Depend on function.h.
6204         * collect2.c (is_in_list): Hide unused function.
6205         * dbxout.c: Include function.h.
6206         (source_label_number, dbxout_source_line, dbxout_source_file,
6207         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6208         macros controlling usage.
6209         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6210         * output.h (exports_section): Prototype.
6211
6212         * convex.c (convex_output_function_prologue): Fix format specifier
6213         warning.
6214         (asm_declare_function_name): Fix signed/unsigned warning.
6215         (print_operand): Fix format specifier warning.
6216         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6217         * dsp16xx-protos.h (uns_comparison_operator,
6218         num_1600_core_shifts): Prototype.
6219         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6220         (frame_size, frame_pointer_offset): Delete.
6221         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6222         Make static.  Fix format specifier warnings.
6223         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6224         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6225         * dsp16xx.md: Add default case in switches.
6226         * fr30.h (IN_RANGE): Delete.
6227         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6228         * mcore-protos.h (mcore_output_cmov): Const-ify.
6229         * mcore.c (mcore_output_cmov): Likewise.
6230         * mcore.h (switch_to_section): Make static and prototype.
6231         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6232         unsigned>=0 warnings.
6233         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6234         * rs6000-protos.h (read_only_data_section,
6235         read_only_private_data_section): Prototype.
6236         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6237         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6238         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6239
6240 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6241
6242         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6243         ATTRIBUTE_UNUSED.
6244         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6245         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6246         Wrap variable in macros controlling its use.
6247         * output.h (sdata_section): Add prototype.
6248
6249         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6250         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
6251         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
6252         (ASM_FILE_START): Const-ify.
6253         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
6254         specifier warning.
6255         * c4x.md: Don't use the 'U' integer suffix.
6256         * clipper.md (clipper_movstr): Delete declaration.
6257         * d30v-protos.h (d30v_move_2words): Const-ify.
6258         (debug_stack_info): Add prototype.
6259         * d30v.c: Include "integrate.h".
6260         (d30v_function_arg_boundary, d30v_function_arg,
6261         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
6262         signed/unsigned warnings.
6263         (d30v_print_operand_memory_reference, d30v_move_2words):
6264         Const-ify.
6265         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
6266         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
6267         * fr30.md: Const-ify.
6268         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6269         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
6270         (mvs_get_label_page): Hide unused static function.
6271         * i860.c (current_function_original_name): Const-ify.
6272         * i860/sysv3.h (current_function_original_name): Likewise.
6273         * i860/sysv4.h (current_function_original_name): Likewise.
6274         * i960.md: Add default case in switches.  Remove unused variable.
6275         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
6276         * m32r.md: Const-ify.
6277         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
6278         * m68hc11.c: Include "reload.h".
6279         (static_chain_reg, print_options, m68hc11_asm_file_start):
6280         Const-ify.
6281         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
6282         around & in comparison.
6283         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6284         * mn10200.c (shift_mode): Remove trailing comma.
6285         * mn10300-protos.h (output_tst): Const-ify.
6286         * mn10300.c (output_tst): Likewise.
6287         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
6288         warnings.
6289         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
6290         * pa.c (output_ascii): Likewise.
6291         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6292         * pdp11.md (expand_unop): Delete declarations.
6293         * pj-protos.h (pj_output_addsi3): Const-ify.
6294         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
6295         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
6296         unique_src_operand): Add prototypes.
6297         (pj_output_store_into_lval): Make definition static.
6298         (pj_function_incoming_arg): Don't use unary plus.
6299         (pj_output_addsi3): Const-ify.
6300         * romp.md (get_symref): Delete declarations.
6301         * v850-c.c (mark_current_function_as_interrupt): Don't return
6302         value from void function.
6303         * v850.c: Include "integrate.h".
6304         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
6305         * vax-protos.h (const_section): Add prototype.
6306
6307 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
6308
6309         * machmode.def: Add documentation for the seventh argument in
6310         vector modes.
6311
6312 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
6313
6314         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
6315         consistently.
6316         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
6317         <-melf>: Don't have markup for ELF acronym.
6318
6319 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
6320
6321         * config.gcc (mmix-*-*): New target.
6322         * doc/invoke.texi: Document MMIX options.
6323         * doc/contrib.texi: Add note about MMIX port to my entry.
6324         * config/mmix/t-mmix: New file.
6325         * config/mmix/mmix.h: New file.
6326         * config/mmix/mmix-protos.h: New file.
6327         * config/mmix/mmix.c: New file.
6328         * config/mmix/mmix.md: New file.
6329         * config/mmix/crti.asm: New file.
6330         * config/mmix/crtn.asm: New file.
6331
6332 2001-11-03  Kazu Hirata  <kazu@hxi.com>
6333
6334         * config/sparc/linux-aout.h: Fix comment formatting.
6335         * config/sparc/linux.h: Likewise.
6336         * config/sparc/linux64.h: Likewise.
6337         * config/sparc/lynx.h: Likewise.
6338         * config/sparc/pbd.h: Likewise.
6339         * config/sparc/sol2-sld-64.h: Likewise.
6340         * config/sparc/sol2.h: Likewise.
6341         * config/sparc/sparc.c: Likewise.
6342         * config/sparc/sparc.h: Likewise.
6343         * config/sparc/sparc.md: Likewise.
6344         * config/sparc/sunos4.h: Likewise.
6345         * config/sparc/vxsim.h: Likewise.
6346         * config/sparc/vxsparc.h: Likewise.
6347         * config/sparc/vxsparc64.h: Likewise.
6348
6349 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6350
6351         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
6352         reference to CONST_DOUBLE_MEM in comment.
6353         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
6354         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
6355         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
6356         * function.c (pop_function_context_from): Don't call
6357         restore_varasm_status.
6358         * function.h (restore_varasm_status): Delete declaration.
6359         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
6360         * rtl.c: Likewise.
6361         * rtl.def (CONST_DOUBLE): Update comment.
6362         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
6363         (CONST_DOUBLE_CHAIN): Likewise.
6364         (CONST_DOUBLE_MEM): Delete.
6365         (gen_rtx_CONST_DOUBLE): Update parameters.
6366         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
6367         Remove reference to CONST_DOUBLE_MEM.
6368         (const_alias_set): New variable.
6369         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
6370         (immed_real_const_1): Adjust tests for 0, 1, and 2.
6371         Don't set CONST_DOUBLE_MEM.
6372         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
6373         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
6374         Put constant in const_alias_set.
6375         (struct pool_constant): ALIGN now unsigned.
6376         OFFSET now HOST_WIDE_INT.
6377         Delete LABEL.
6378         (restore_varasm_status): Deleted.
6379         (mark_pool_constant): Mark desc->rtl.
6380         (force_const_mem): Rework to store rtl in hash table,
6381         not CONST_DOUBLE_MEM.
6382         Put constant in const_alias_set.
6383         (find_pool_constant): Check desc->rtl.
6384         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
6385         (init_varasm_once): Initialize const_alias_set.
6386
6387         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
6388         force_const_mem.
6389
6390         * reload.c (combine_reloads): Don't combine an output reload if there
6391         are other reloads around for part of the output.
6392
6393         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
6394         constant expression.
6395         (set_mem_decl): New function.
6396         * expr.h (set_mem_decl): New declaration.
6397         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
6398         (output_asm_operand_names): Add tab.
6399         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
6400
6401         * builtins.c (get_memory_rtx): Properly set MEM alias set and
6402         attributes.
6403
6404 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6405
6406         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
6407         Use "invalid" instead of "illegal".  Use @r in comments in
6408         examples.
6409
6410 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6411
6412         * c-decl.c (pushdecl): Move block inside if conditional to remove
6413         possibility of a segfault.  Lookup block-level extern
6414         variables in enclosing scopes correctly.
6415
6416         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
6417
6418 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6419
6420         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
6421         SUBREG so we avoid SUBREGing memory.
6422
6423         * expmed.c (store_bit_field): Same.
6424
6425 2001-11-02  DJ Delorie  <dj@redhat.com>
6426
6427         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
6428         using FP registers for DImode mem-mem moves is acceptable.
6429
6430 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6431
6432         * builtins.c (apply_args_size): Handle vector arguments.
6433         (apply_result_size): Same.
6434
6435         * machmode.def: Set WIDER mode field for all vector entries.
6436
6437 2001-11-02  Graham Stott  <grahams@redhat.com>
6438
6439         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
6440
6441 2001-11-01  Eric Christopher  <echristo@redhat.com>
6442
6443         * config.gcc: Revert part of earlier patch.
6444         * config/mips/linux.h: Ditto.
6445         * df.c: Include tm_p.h to avoid warnings.
6446         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
6447         #if/#endif.
6448         * config/mips/mips.c: Define mips_abi regardless.
6449         (mips_output_function_prologues): Add long casts for .frame
6450         output.
6451         (override_options): Allow use of ABI_32.
6452
6453 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6454
6455         * config/m68hc11/m68hc11.c: Fix comment formatting.
6456         * config/m68hc11/m68hc11.h: Likewise.
6457         * config/m68hc11/m68hc11.md: Likewise.
6458
6459 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6460
6461         * c-typeck.c (default_conversion): Retain the original expression
6462         codes.
6463         * gcc.dg/Wparentheses.c: New tests.
6464
6465 2001-11-01  David S. Miller  <davem@redhat.com>
6466
6467         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
6468         64-bit Sparc description more in line with reality.
6469
6470 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
6471
6472         * Makefile.in (GCOV_OBJS): Add version.o.
6473         * gcov.c: Include "version.h" and <getopt.h>.
6474         (gcov_version_string): Remove.
6475         (print_usage): Take a parameter to determine whether this is a
6476         call from --help or an error message.  Give fuller output that
6477         follows the GNU Coding Standards for --help.
6478         (print_version): New function.
6479         (options): New.
6480         (process_args): Use getopt_long.  Support long options.  Follow
6481         GNU Coding Standards for --help and --version.
6482         * doc/gcov.texi: Document long options.
6483         Addresses part of PR other/704.
6484
6485 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6486
6487         * pa.c (output_move_double): Fix typo in double load.
6488
6489 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6490
6491         * config/h8300/h8300.c (h8300_encode_label): Compute a string
6492         before passing it to ggc_alloc_string.
6493
6494 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6495
6496         * config/m68k/3b1.h: Fix comment formatting.
6497         * config/m68k/3b1g.h: Likewise.
6498         * config/m68k/a-ux.h: Likewise.
6499         * config/m68k/amix.h: Likewise.
6500         * config/m68k/apollo68.h: Likewise.
6501         * config/m68k/atari.h: Likewise.
6502         * config/m68k/aux-exit.c: Likewise.
6503         * config/m68k/ccur-GAS.h: Likewise.
6504         * config/m68k/crds.h: Likewise.
6505         * config/m68k/dpx2.h: Likewise.
6506         * config/m68k/dpx2g.h: Likewise.
6507         * config/m68k/hp310.h: Likewise.
6508         * config/m68k/hp320.h: Likewise.
6509         * config/m68k/isi.h: Likewise.
6510         * config/m68k/linux.h: Likewise.
6511         * config/m68k/lynx.h: Likewise.
6512         * config/m68k/m68k-psos.h: Likewise.
6513         * config/m68k/m68k.c: Likewise.
6514         * config/m68k/m68k.h: Likewise.
6515         * config/m68k/m68k.md: Likewise.
6516         * config/m68k/m68kelf.h: Likewise.
6517         * config/m68k/m68kv4.h: Likewise.
6518         * config/m68k/mot3300.h: Likewise.
6519         * config/m68k/news.h: Likewise.
6520         * config/m68k/next.h: Likewise.
6521         * config/m68k/pbb.h: Likewise.
6522         * config/m68k/plexus.h: Likewise.
6523         * config/m68k/sgs.h: Likewise.
6524         * config/m68k/sun3.h: Likewise.
6525         * config/m68k/tower.h: Likewise.
6526         * config/m68k/vxm68k.h: Likewise.
6527
6528 2001-10-31  DJ Delorie  <dj@redhat.com>
6529
6530         * config/mips/mips.h (mips_cache_flush_func): Prototype.
6531         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
6532         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
6533         * config/mips/mips.c (mips_cache_flush_func): New.
6534         * doc/invoke.texi: Document the new options.
6535
6536 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
6537
6538         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
6539         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
6540
6541         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
6542
6543         * config/cris/cris.c: Include output.h after tree.h but before
6544         target.h.
6545
6546 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
6547
6548         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
6549         (INTL_SUBDIRS): Just intl.
6550         (.SUFFIXES): Add .gmo .po .pox.
6551         (native): Also depend on build-@POSUB@.
6552         (intl.all, intl.install): Depend on config.h and things it includes.
6553         (po-generated): New target; depend on c-parse.c and tradcif.c.
6554         (install-normal): Also depend on install-@POSUB@.
6555         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
6556         (build-, install-, build-po, update-po, install-po,
6557         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
6558
6559         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
6560         * configure.in: Don't munge XGETTEXT.  Don't generate
6561         po/Makefile.in.
6562         * configure: Regenerate.
6563
6564         * exgettext: Delete.
6565         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
6566         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
6567
6568 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6569
6570         * config/h8300/h8300.md (two anonymous patterns): New.
6571
6572 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
6573
6574         * tree.h (tree_index): Add support for V16QI and V8HI.
6575         (V8HI_type_node): New.
6576         (V16QI_type_node): New.
6577
6578         * tree.c (build_common_tree_nodes_2): Same.
6579
6580         * c-common.c (type_for_mode): Same.
6581
6582 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6583
6584         * config/i386/att.h: Fix comment formatting.
6585         * config/i386/beos-elf.h: Likewise.
6586         * config/i386/bsd.h: Likewise.
6587         * config/i386/bsd386.h: Likewise.
6588         * config/i386/crtdll.h: Likewise.
6589         * config/i386/cygwin.asm: Likewise.
6590         * config/i386/cygwin.h: Likewise.
6591         * config/i386/djgpp.h: Likewise.
6592         * config/i386/freebsd-aout.h: Likewise.
6593         * config/i386/freebsd.h: Likewise.
6594         * config/i386/gas.h: Likewise.
6595         * config/i386/i386-interix.h: Likewise.
6596         * config/i386/i386-protos.h: Likewise.
6597         * config/i386/i386.c: Likewise.
6598         * config/i386/i386.h: Likewise.
6599         * config/i386/i386.md: Likewise.
6600         * config/i386/i386elf.h: Likewise.
6601         * config/i386/interix.c: Likewise.
6602         * config/i386/isc.h: Likewise.
6603         * config/i386/isccoff.h: Likewise.
6604         * config/i386/iscdbx.h: Likewise.
6605         * config/i386/linux.h: Likewise.
6606         * config/i386/lynx.h: Likewise.
6607         * config/i386/mingw32.h: Likewise.
6608         * config/i386/netbsd-elf.h: Likewise.
6609         * config/i386/next.h: Likewise.
6610         * config/i386/osf1elf.h: Likewise.
6611         * config/i386/osfrose.h: Likewise.
6612         * config/i386/sco5.h: Likewise.
6613         * config/i386/seq-gas.h: Likewise.
6614         * config/i386/seq-sysv3.h: Likewise.
6615         * config/i386/sequent.h: Likewise.
6616         * config/i386/sol2.h: Likewise.
6617         * config/i386/sun386.h: Likewise.
6618         * config/i386/uwin.asm: Likewise.
6619         * config/i386/uwin.h: Likewise.
6620         * config/i386/vxi386.h: Likewise.
6621         * config/i386/win32.h: Likewise.
6622         * config/i386/winnt.c: Likewise.
6623         * config/i386/xm-cygwin.h: Likewise.
6624         * config/i386/xm-mingw32.h: Likewise.
6625
6626 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6627
6628         * builtins.def: Fix comment typos.
6629         * config/alpha.c: Likewise.
6630         * config/arm/arm.c: Likewise.
6631         * config/avr/avr.h: Likewise.
6632         * config/d30v/d30v.c: Likewise.
6633         * config/d30v/d30v.h: Likewise.
6634         * config/d30v/d30v.md: Likewise.
6635         * config/dsp16xx/dsp16xx.c: Likewise.
6636         * config/fr30/fr30.c: Likewise.
6637         * config/fr30/fr30.md: Likewise.
6638         * config/i386/i386.c: Likewise.
6639         * config/i860/i860.c: Likewise.
6640         * config/i960/i960.c: Likewise.
6641         * config/ia64/ia64.c: Likewise.
6642         * config/mips/mips.c: Likewise.
6643         * config/pa/pa.c: Likewise.
6644         * config/rs6000/rs6000.c: Likewise.
6645         * config/s390/s390.c: Likewise.
6646         * config/sparc/sparc.c: Likewise.
6647
6648 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6649
6650         * config/mips/elf.h: Fix comment formatting.
6651         * config/mips/elf64.h: Likewise.
6652         * config/mips/iris5.h: Likewise.
6653         * config/mips/iris5gas.h: Likewise.
6654         * config/mips/iris6.h: Likewise.
6655         * config/mips/isa3264.h: Likewise.
6656         * config/mips/linux.h: Likewise.
6657         * config/mips/mips.c: Likewise.
6658         * config/mips/mips.h: Likewise.
6659         * config/mips/mips.md: Likewise.
6660         * config/mips/mips16.S: Likewise.
6661         * config/mips/netbsd.h: Likewise.
6662         * config/mips/osfrose.h: Likewise.
6663         * config/mips/r3900.h: Likewise.
6664         * config/mips/sni-svr4.h: Likewise.
6665         * config/mips/svr4-t.h: Likewise.
6666         * config/mips/ultrix.h: Likewise.
6667
6668 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
6669
6670         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
6671         when we update head->current.
6672
6673 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6674
6675         * tree.c (id_string_size): Remove.
6676         (dump_tree_statistics): Update.
6677         * toplev.c (compile_file): If dumping stats, dump tree stats too.
6678
6679 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6680
6681         * sched-rgn.c (schedule_insns): Fix comment.
6682
6683 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
6684
6685         * configure.in: Correct previous change: don't assume that
6686         gas's version number _isn't_ the last thing on the line, or
6687         isn't the only number on the line, either.
6688         * configure: Regenerate.
6689
6690 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6691
6692         * cfgcleanup.c: Fix a comment typo.
6693
6694 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6695
6696         * alias.c: Fix comment formatting.
6697         * recog.c: Likewise.
6698         * config/cris/cris.c: Likewise.
6699         * config/cris/cris.h: Likewise.
6700         * config/i960/i960.c: Likewise.
6701         * config/i960/i960.h: Likewise.
6702
6703 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6704
6705         * config/arm/arm.c: Fix a comment typo.
6706         * config/arm/arm.h: Likewise.
6707         * config/ia64/ia64.c: Likewise.
6708
6709 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
6710
6711         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
6712         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
6713         * rtl.h (set_unique_reg_note): Change return value.
6714         * gcse.c (try_replace_reg): Use set_unique_reg_note.
6715         * cse.c (cse_insn): Likewise.
6716         * expr.c (emit_move_insn): Likewise.
6717         * explow.c (force_reg): Likewise.
6718         * local-alloc (update_equiv_regs): Likewise.
6719         * loop.c (move_moveables, load_mems): Likewise.
6720         * reload (find_reloads): Likewise.
6721
6722 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
6723
6724         Localization fixes.
6725         * c-decl.c (parmlist_tags_warning, start_struct,
6726         check_for_loop_decls): Separate messages for struct, union and
6727         enum cases to allow for languages in which they have different
6728         genders.
6729         * c-format.c (scanf_flag_specs): Separate short and long name of
6730         the assignment suppression feature.
6731         (check_format_types): Localize "pointer" and "different types"
6732         strings.
6733         * c-lex.c (lex_number): Localize "an unsigned long int" and
6734         related strings.
6735         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
6736         warning message.
6737         * c-typeck.c (build_unary_up): Separate messages for increment and
6738         decrement cases to allow for languages in which they use different
6739         articles.  Localize the strings "increment" and "decrement" in one
6740         case.
6741
6742 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
6743
6744         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
6745         when no changes has been made.
6746
6747         * gcse.c (reg_set_bitmap): Turn into reg_set.
6748         (modify_mem_list_set, canon_modify_mem_list_set)
6749         (clear_modify_mem_tables, free_modify_mem_tables): New.
6750         (gcse_main); Use free_modify_mem_tables.
6751         (free_gcse_mem): Likewise; free the bitmaps.
6752         (alloc_gcse_main): Initialize the bitmaps.
6753         (canon_list_insert): Set canon_modify_mem_list_set.
6754         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
6755         (compute_hash_table): Use clear_modify_mem_tables.
6756         (reset_opr_set_tables): Likewise.
6757         (oprs_not_set_p): reg_set_bitmap is regset.
6758         (mark_set, mark_clobber): Likewise.
6759
6760         * df.h (DF_EQUIV_NOTES): New constant.
6761         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
6762         when asked for.
6763
6764         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
6765         (init_regions, schedule_insns): Conditionalize the checking
6766         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
6767
6768 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
6769
6770         * i386.md (movti_rex64 splitter): Fix condition.
6771
6772 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
6773
6774         * configure.in: Do not assume that gas's version number is the
6775         last thing on the first line of as --version output.
6776         * configure: Regenerate.
6777
6778         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
6779         MT_WARNING, MT_ERROR, MT_FATAL.
6780         (main): Call gcc_init_libintl.
6781         (v_message): Call gettext on msgid and "warning: "
6782         * tradcif.y: Include intl.h.
6783         (yyerror): Make parameter definition consistent with
6784         prototype.  Call gettext on msgid argument.
6785
6786 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6787
6788         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
6789         warnings.
6790
6791         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
6792
6793 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6794
6795         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
6796         before referencing it.
6797
6798 2001-10-26  DJ Delorie  <dj@redhat.com>
6799
6800         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
6801         override -G, and force -G0.
6802
6803 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6804
6805         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
6806         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
6807         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
6808         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
6809
6810         * loop.h (struct induction): Rename ext_dependant to
6811         ext_dependent.
6812         * loop.c: Change all uses.
6813         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
6814         All callers changed.
6815         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
6816
6817 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6818
6819         * c-parse.in (expr_no_commas, primary), c-typeck.c
6820         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
6821
6822 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
6823
6824         Undo assemble_name change in earlier patch.
6825
6826 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
6827
6828         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
6829         determining the type of the receiver, do not check that TREE_CODE
6830         of receiver is CALL_EXPR before calling receiver_is_class_object().
6831         (receiver_is_class_object): For the GNU runtime: recognize
6832         the case that the receiver is self in a class method context.
6833         Check that TREE_CODE of receiver is CALL_EXPR when checking that
6834         the receiver is a call to objc_get_class.
6835
6836 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6837
6838         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
6839
6840 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6841
6842         * Makefile.in (OBJS): Put all files in alphabetical order.
6843
6844         * dwarf2out.c (add_const_value_attribute): Fix error in last
6845         change.
6846
6847 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6848
6849         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
6850         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
6851         fix warning.
6852         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
6853         (life_analysis): call purge_all_dead_edges after deleting noops.
6854         (delete_noop_move): Do not purge CFG.
6855         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
6856
6857 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
6858
6859         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
6860         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
6861         (ASM_GLOBALIZE_LABEL): Use assemble_name.
6862         (ASM_OUTPUT_COMMON): Likewise.
6863         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
6864         (rs6000_output_function_epilogue): Likewise.
6865         (output_mi_thunk): Fix typo.
6866         (rs6000_output_symbol_ref): Use assemble_name.
6867         (output_toc): Likewise.
6868         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
6869         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
6870         assemble_name calls STRIP_NAME_ENCODING.
6871         (ASM_OUTPUT_LABEL): Use assemble_name.
6872         (ASM_GLOBALIZE_LABEL): Likewise.
6873         (ASM_DECLARE_FUNCTION_NAME): Likewise.
6874         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
6875         (ASM_OUTPUT_LOCAL): Likewise.
6876
6877 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6878
6879         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
6880         (expand_builtin_apply, expand_builtin_return): Likewise.
6881         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
6882
6883 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6884
6885         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6886         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
6887         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
6888         configure, configure.in, except.c, except.h, flow.c, function.c,
6889         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
6890         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
6891         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
6892         unroll.c: Fix spelling errors.
6893
6894         * doc/extend.texi, doc/invoke.texi: Fix spelling.
6895
6896         * doc/gcc.texi: Document use of "dependent" and American spelling.
6897
6898 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6899
6900         * expr.c (emit_group_load): Support CONCATs by storing them to memory
6901         and reloading.
6902
6903 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6904
6905         * expr.c (store_constructor_field): Only call adjust_address on MEM.
6906
6907 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
6908
6909         * genrecog.c (write_switch):  Output if before switch for
6910         DT_elt_zero_wide_safe.
6911
6912 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6913
6914         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
6915         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
6916         (FUNCTION_PROFILER): Const-ify.
6917         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
6918         (eliminate_constant_term, assemble_name, output_addr_const):
6919         Remove declarations.
6920         (ptr_half_pic_address_p, half_pic_hash): Prototype.
6921         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
6922         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
6923         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
6924         (half_pic_declare, half_pic_external): Const-ify.
6925         * toplev.c: Include "halfpic.h".
6926
6927 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6928
6929         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
6930         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
6931         config/i386/i386.c, config/i386/i386-interix.h,
6932         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
6933         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
6934         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
6935         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
6936         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
6937         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
6938         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
6939         spelling errors.
6940
6941         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6942         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
6943         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
6944         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
6945         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
6946         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
6947         system.h, toplev.c: Fix spelling errors.
6948
6949 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6950
6951         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
6952
6953         * dwarf2out.c (reg_number): Abort if pseudo.
6954         (reg_loc_descriptor): Return 0 if pseudo.
6955         (is_based_loc): Return 0 if pseudo.
6956         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
6957         recursive calls.
6958         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
6959         (loc_descriptor): Return 0 if can't find location and handle 0
6960         return from recursive calls.
6961         (loc_descriptor_from_tree): Likewise.
6962         Fix handling of indirect.
6963         Also return 0 for PLACEHOLDER_EXPR.
6964         Clean up COMPONENT_REF cases.
6965         (add_AT_location_descriptor): Simplify, but handle 0 return from
6966         loc_descriptor.
6967         (add_const_value_attribute): Avoid shift count warning.
6968         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
6969         Set comp_unit_die as context if not in function.
6970
6971         * config/mips/mips-protos.h: Break up long lines.
6972         Remove needless #ifdef/#endif blocks.
6973         Don't declare functions declared in file made by genpreds or recog.h.
6974         * config/mips/mips.c (mips_output_function_prologue): TSIZE
6975         is now HOST_WIDE_INT; delete unneeded casts.
6976         * config/mips/mips.h: Don't use #elif.
6977
6978         * expr.c (stor_constructor_field): Always call adjust_address.
6979         Copy TARGET before changing its alias set.
6980         (store_field): Likewise, for TO_RTX.
6981         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
6982         replacement.
6983         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
6984         (find_placeholder): Return 0 if can't find object.
6985         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
6986         returns 0.
6987
6988 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
6989
6990         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
6991
6992 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
6993
6994         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
6995         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
6996         (merge_blocks): Properly udpate life after making edge nonfallthru.
6997         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
6998
6999 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7000
7001         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7002
7003 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
7004
7005         * c-typeck.c (convert_arguments): When comparing for enumeral
7006         type equality, use TYPE_MAIN_VARIANT.
7007         * gcc.dg/Wconversion.c: New tests.
7008
7009 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7010
7011         * s390/s390.c: Fix comment typos.
7012         * s390/s390.h: Likewise.
7013         * s390/s390.md: Likewise.
7014
7015 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7016
7017         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7018         (walk_tree): Use it for tail calls where appropriate.
7019
7020 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7021
7022         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7023         non-local label_refs.
7024
7025 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7026
7027         * config/h8300/h8300.md (4 anonymous patterns): New.
7028
7029 2001-10-26  Kazu Hirata  <kazu@hxi.com>
7030
7031         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
7032         algorithm through the shift_info structure.
7033         (emit_a_shift): Update the use of get_shift_alg.
7034
7035 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
7036
7037         * sched-rgn.c: Remove bitset typedef.
7038         Change bitset to sbitmap in prototypes / variable types.
7039         Remove bbset_size.
7040         Remove edgeset_bits.
7041         Remove edgeset_size.
7042         s/BITSET_ADD/SET_BIT/g
7043         s/BITSET_INVERT/sbitmap_ones/g
7044         s/BITSET_INTER/sbitmap_a_and_b/g
7045         s/BITSET_UNION/sbitmap_a_or_b/g
7046         s/BITSET_DIFFER/sbitmap_difference/g
7047         s/bitset_member/TEST_BIT/g
7048         (BITSET_*): Removed.
7049         (bitset_member): Removed.
7050         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7051         EXECUTE_IF_SET_IN_SBITMAP.
7052         (split_edges): Rewrite, use sbitmap functions instead of bitset
7053         operations.
7054         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
7055
7056 2001-10-26  Andreas Schwab  <schwab@suse.de>
7057
7058         * reload1.c (emit_input_reload_insns): Fix parens in last
7059         (undocumented) change that was supposed to change only whitespace.
7060
7061 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7062
7063         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7064
7065         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7066         ASM_OPERANDS.
7067
7068 2001-10-26  Andreas Jaeger  <aj@suse.de>
7069
7070         * flow.c (clear_log_links): Remove unused variable.
7071         * cfgcleanup.c (cleanup_cfg): Likewise.
7072
7073 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
7074
7075         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7076         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7077
7078 2001-10-26  Richard Henderson  <rth@redhat.com>
7079
7080         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7081         rename PV_REG to R27_REG.
7082         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7083         (REG_CLASS_FROM_LETTER): Update.
7084         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7085         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7086         (udivsi3, modsi3, umodsi3): Likewise.
7087         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7088
7089 2001-10-26  Richard Henderson  <rth@redhat.com>
7090
7091         * cfg.c (clear_aux_for_blocks): Split out of ...
7092         (free_aux_for_blocks): here.
7093         (clear_aux_for_edges): Split from ...
7094         (free_aux_for_edges): here.
7095         * basic-block.h: Declare them.
7096         * lcm.c (compute_antinout_edge): Use them.
7097         (compute_laterin, compute_available, compute_nearerout): Likewise.
7098         (optimize_mode_switching): Likewise.
7099
7100 2001-10-26  Richard Henderson  <rth@redhat.com>
7101
7102         * Makefile.in (unstage*): Remove as, ld, collect-ld before
7103         moving everything back to the main build directory.
7104
7105 2001-10-26  Christopher Faylor  <cgf@redhat.com>
7106
7107         * config/i386/cygwin.h: Search target specific include directory, if
7108         appropriate.
7109
7110 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7111
7112         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7113         of macro guards. Fix #endif comment.
7114
7115         * output.h (default_exception_section, default_eh_frame_section):
7116         Move prototypes outside of macro guard.
7117
7118         * crtstuff.c: Fix #endif comment.
7119
7120 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
7121
7122         * doc/md.texi (movMM): Clarify semantics of storing into a
7123         non-paradoxical SUBREG.
7124
7125 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7126
7127         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7128         (lang_hook_default_get_alias_set): Move next to other alias
7129         hooks.
7130         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7131         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7132         (LANG_HOOKS_INITIALIZER): Add it.
7133         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7134         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7135         instead of a loop calling poplevel.
7136
7137 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7138
7139         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7140         occurrences of #elif with #if...#endif.
7141
7142 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7143
7144         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7145
7146 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7147
7148         * alias.c (can_address_p): No longer static.
7149         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7150         Return 0 if all parameters are default values.
7151         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7152         (adjust_address_1): Try harder to compute a size.
7153         * expr.c (expand_assignment, store_constructor): If can't address,
7154         set MEM_KEEP_ALIAS_SET_P.
7155         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7156         (store_field): Likewise.
7157         (store_constructor): Simplify call to store_constructor_field.
7158         * expr.h (can_address_p): New declaration.
7159         * gensupport.c (gen_rtx_CONST_INT): New function.
7160         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7161         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7162         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7163
7164         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7165
7166 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7167
7168         * config/i386/cygwin.h: Use proper path for mingw crt files when
7169         -mno-cygwin.
7170
7171 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7172
7173         * dwarf2out.c (file_info_cmp): Always return consistent results.
7174
7175 2001-10-24  Roger Sayle <roger@eyesopen.com>
7176
7177         * stmt.c (expand_end_case): Index jumptables from zero for
7178         suitably small values of minval.
7179
7180 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7181
7182         * stor-layout.c (place_union_field): If any field was aligned with
7183         attribute aligned, set record type's TYPE_USER_ALIGN.
7184         (place_field): Likewise.
7185         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7186         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7187
7188 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7189
7190         * c-common.h (struct c_common_identifier): Remove rid_code field.
7191         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7192
7193         * c-typeck.c (constructor_designated): New local flag.
7194         (struct constructor_stack): Add "designated" field to match.
7195         (start_init): Clear it.
7196         (really_start_incremental_init, push_init_level): Push and
7197         clear it.
7198         (pop_init_level): Pop it.
7199         (set_designator): Set it.
7200
7201         (pop_init_level): Suppress "missing initializer" warnings if
7202         constructor_designated is true.
7203         (process_init_element): Suppress warning about union
7204         initialization under traditional C, if constructor_designated
7205         is true.
7206
7207 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7208
7209         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7210         change.
7211
7212 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7213
7214         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7215
7216 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7217
7218         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7219         the node was already a set to a constant.
7220
7221 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7222
7223         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7224         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7225
7226 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7227
7228         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7229         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7230         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7231         * s390.c (s390_final_chunkify): Don't use string concatenation.
7232         (s390_function_prologue, s390_function_epilogue): Const-ify.
7233         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7234
7235 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7236
7237         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7238         prototypes.
7239
7240 2001-10-23  Stan Shebs  <shebs@apple.com>
7241
7242         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7243         -traditional-cpp in first-stage compilation.
7244
7245 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7246
7247         * gensupport.c (target_flags): Add.
7248
7249 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7250
7251         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
7252         if needed.
7253         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
7254         * except.c (expand_builtin_frob_return_addr): Likewise.
7255         (expand_builtin_eh_return): Likewise.
7256         * stmt.c (expand_computed_goto): Likewise.
7257         * explow.c (memory_address): Likewise.
7258         (allocate_dynamic_stack_space): Clean up predicate testing.
7259         (probe_stack_range): Convert SIZE to Pmode.
7260         * calls.c (rtx_for_function_call): Only call convert_memory_address
7261         if needed.
7262         Pass function call operand as ptr_mode, not Pmode.
7263         * expr.c (expand_assignment): Clean up calls to convert_memory
7264         address by only doing so when needed and making offsets Pmode.
7265         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
7266         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
7267         is in Pmode, not ptr_mode.
7268
7269 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7270
7271         * darwin-protos.h (constructor_section, destructor_section,
7272         mod_init_section, mod_term_section): Prototype.
7273         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
7274         Const-ify.
7275         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
7276         Likewise.
7277         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
7278         objc_section_init declaration.
7279         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
7280         (objc_section_init, try_section_alias): Make static.
7281         (alias_section): Make static and hide unused function.
7282         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
7283
7284 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7285
7286         * alias.c (can_address_p): Compnonents are not addressable if
7287         the containing type has alias set 0.
7288         (get_alias_set): Rework to use STRIP_NOPS.
7289         Only call front-end routine on object, type, or object with
7290         NOPs stripped, not inner values.
7291         Use language hook to call front-end routine.
7292         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
7293         (expand_builtin_apply): Call set_mem_align on MEMs we make.
7294         Don't pass alignment to emit_block_move.
7295         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
7296         (expand_builtin_memset): Likewise, but for clear_storage.
7297         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
7298         and remove C++ specific parts.
7299         * c-common.h (c_common_get_alias_set): Add declaration.
7300         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
7301         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
7302         (save_fixed_argument_area): Call set_mem_align.
7303         Remove alignment in call to emit_block_move.
7304         (emit_library_call_value_1, store_one_arg): Likewise.
7305         (target_for_arg): Remove; disabled long ago.
7306         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
7307         once and similar cleanups.
7308         (offset_address): Use proper introductory comment.
7309         * expr.c (emit_block_move): Use alignment from that of MEM args, not
7310         from explicit operand; all callers changed.
7311         (clear_storage): Likewise.
7312         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
7313         (store_field): Remove kludge on alias set used for to_rtx.
7314         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
7315         (expand_expr_unaligned): Call set_mem_attributes instead of
7316         set_mem_alias_set.
7317         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
7318         * function.c (assign_stack_temp_for_type): Set MEM alignment.
7319         (expand_function_end): Track MEM attributes of trampolines.
7320         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
7321         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
7322         attributes from original.
7323         * langhooks.c (lang_hook_default_get_alias_set): New function.
7324         (hook_get_alias_set_0): New function.
7325         * langhooks.h (hook_get_alias_set_0): New declaration.
7326         (lang_hook_default_get_alias_set): Likewise.
7327         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
7328         * reload1.c (alter_reg): Use adjust_address_nv.
7329         * rtl.c (get_mode_alignment): Moved to here.
7330         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
7331         change default if unknown from 1 to BITS_PER_UNIT.
7332         * stor-layout.c (get_mode_alignment): Remove from here.
7333         * toplev.h (struct lang_hoks): Add get_alias_set field.
7334         * tree.h (lang_get_alias_set): Delete declaration.
7335         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
7336         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
7337         (ix86_va_arg): Likewise.
7338         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
7339         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
7340         * config/sparc/sparc.c (sparc_va_arg): Likewise.
7341         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
7342         (expand_block_move_mem): Remove dead code.
7343
7344 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7345
7346         * c-common.c (warn_div_by_zero): New.
7347         * c-common.h (warn_div_by_zero): New.
7348         * c-decl.c (c_decode_option): Take it on the command line.
7349         * c-typeck.c (build_binary_op): Warn about division by zero.
7350         * doc/invoke.texi: Document the new command line option, fix
7351         documentation of -Wmultichar.
7352         * testsuite/gcc.dg/divbyzero.c: New tests.
7353         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
7354
7355 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7356
7357         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
7358
7359         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
7360         to avoid update_life_info call.
7361         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
7362         * cfgcleanup.c (bb_flags): New enum.
7363         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
7364         (notice_new_block, update_forwarder_flag): New functions.
7365         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
7366         (try_forward_edges): Likewise; update flags.
7367         (merge_blocks): Likewise.
7368         (outgoing_edges_match): Likewise.
7369         (try_crossjump_to_edge): Likewise.
7370         (try_optimize_cfg): Likewise; initialize and clear the flags;
7371         recompute life info if needed.
7372         (cleanup_cfg): No need to clear aux pointers.
7373
7374 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
7375
7376         * config/i386/i386.c (override_options): Default to minimum
7377         stack alignment when optimizing for code size.
7378         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
7379         change.
7380
7381         * config/i386/i386.c (override_options): Set upper limit of
7382         -mpreferred-stack-boundary to 12.
7383
7384 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
7385
7386         * recog.c (peephole2_optimize): Add default case to switch.
7387
7388 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7389
7390         * doc/gcc.texi (Sending Patches): Remove.
7391
7392 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
7393
7394         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
7395         fields when comparing.
7396
7397 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7398
7399         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
7400         * arm.c (HOST_INT, HOST_UINT): Likewise.
7401
7402 2001-10-22  Stan Shebs  <shebs@apple.com>
7403
7404         * config/darwin-protos.h (darwin_exception_section): Declare.
7405         (darwin_eh_frame_section): Declare.
7406
7407 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
7408
7409         * i386.md (movti_rex64): Fix mode.
7410
7411 2001-10-22  Stan Shebs  <shebs@apple.com>
7412
7413         * target.h (struct gcc_target): Add asm_out.exception_section,
7414         asm_out.eh_frame_section.
7415         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
7416         (TARGET_ASM_EH_FRAME_SECTION): New.
7417         (TARGET_INITIALIZER): Update.
7418         * output.h (default_exception_section): Declare.
7419         (default_eh_frame_section): Declare.
7420         * dwarf2out.c: Include target.h.
7421         (output_call_frame_info): Call target hook for eh frames.
7422         (default_eh_frame_section): New function.
7423         * except.c: Include target.h.
7424         (output_function_exception_table): Call target hook for exception
7425         section.
7426         * varasm.c (default_exception_section): Rename from
7427         exception_section, remove EXCEPTION_SECTION macro.
7428
7429         * config/darwin.h (darwin_eh_frame_section): New function.
7430         (EXCEPTION_SECTION): Remove.
7431         (TARGET_ASM_EXCEPTION_SECTION): Define.
7432         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
7433         (nextstep_exception_section): New function.
7434         (nextstep_eh_frame_section): New function.
7435         (TARGET_ASM_EXCEPTION_SECTION): Define.
7436         (TARGET_ASM_EH_FRAME_SECTION): Define.
7437
7438         * config/pa/som.h (EXCEPTION_SECTION): Remove.
7439         (TARGET_ASM_EXCEPTION_SECTION): Define.
7440         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
7441         (EXCEPTION_SECTION): Remove.
7442         (TARGET_ASM_EXCEPTION_SECTION): Define.
7443         * config/stormy16/stormy16.h: Remove comments referencing
7444         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
7445
7446         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
7447         TARGET_ASM_EH_FRAME_SECTION.
7448
7449 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
7450
7451         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
7452         terms.
7453
7454         * c-format.c: Fix spelling typo in comment.
7455
7456         * sched-int.h: Fix typo in GCC preamble.
7457
7458 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7459
7460         PR debug/4252
7461         * doc/invoke.texi: Remove references to -fdump-translation-unit.
7462
7463 2001-10-22  Richard Henderson  <rth@redhat.com>
7464
7465         * config/i386/i386.c (ix86_expand_clear): New.
7466         * config/i386/i386-protos.h: Declare it.
7467         * config/i386/i386.md (setcc peep2s): Use it.
7468         (movsi_xor): Unexport.
7469
7470 2001-10-22  Richard Henderson  <rth@redhat.com>
7471
7472         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
7473         free_EXPR_LIST_list for LOG_LINKS.
7474
7475 2001-10-21  Robert Lipe  <robertlipe@usa.net>
7476
7477         * config/i386/i386.c (sco_asm_named_section): Delete.
7478         (sco_asm_out_constructor): Delete.
7479         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
7480         (ASM_OUTPUT_DOUBLE_INT): Likewise.
7481         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
7482         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
7483         (EXCEPTION_SECTION): Delete EH scn renaming hack.
7484
7485 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7486
7487         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
7488         and/or fold extra calls into fewer ones.
7489         * collect2.c (dump_file): Likewise.
7490         * cppexp.c (parse_number): Likewise.
7491         * cpplex.c (_cpp_lex_direct): Likewise.
7492         * final.c (output_asm_insn, asm_fprintf): Likewise.
7493         * fix-header.c (inf_scan_ident, main): Likewise.
7494         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
7495         Likewise.
7496         * fold-const.c (real_hex_to_f): Likewise.
7497         * gen-protos.c (parse_fn_proto): Likewise.
7498         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
7499         * genrecog.c (change_state, write_action): Likewise.
7500         * gensupport.c (shift_output_template): Likewise.
7501         * local-alloc.c (requires_inout): Likewise.
7502         * mips-tfile.c (IS_ASM_IDENT): Likewise.
7503         * protoize.c (is_id_char, main): Likewise.
7504         * real.c (asctoeg): Likewise.
7505         * recog.c (asm_operand_ok): Likewise.
7506         * reload.c (find_reloads): Likewise.
7507         * scan.c (scan_identget_token): Likewise.
7508         * sched-vis.c (print_value): Likewise.
7509         * stringpool.c (ggc_alloc_string): Likewise.
7510         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
7511         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
7512         * tradcpp.c (rescan): Likewise.
7513         * tree.c (clean_symbol_name): Likewise.
7514         * varasm.c (decode_reg_name): Likewise.
7515
7516         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
7517         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
7518         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
7519         * m88k.c (output_ascii): Likewise.
7520         * m88k.h (OVERRIDE_OPTIONS): Likewise.
7521         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
7522         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
7523         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
7524
7525 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7526
7527         * langhooks.c (lang_hook_default_do_nothing,
7528         lang_hook_default_decode_option): New defaults.
7529         * langhooks.h: Make hooks unconditional and non-NULL.
7530         * toplev.c (compile_file, toplev_main): Update.
7531         * toplev.h: Update comments.
7532         * objc/objc-act.c (lang_hooks): Update to new paradigm.
7533
7534 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7535
7536         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
7537
7538         * system.h (IN_RANGE): New macro.
7539
7540 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
7541
7542         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
7543         INTLDEPS variable, which does not include $LIBICONV.
7544         * Makefile.in: Use INTLDEPS in LIBDEPS.
7545         * configure: Regenerate.
7546
7547 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7548
7549         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
7550         * cpplex.c (lex_percent, lex_dot): Remove.
7551         (get_effective_char, skip_block_comment, skip_line_comment,
7552         parse_identifier_slow, parse_number, parse_string, save_comment,
7553         _cpp_lex_direct): Update to do lookback freely.
7554         (IF_NEXT_IS, BACKUP): New macros.
7555         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
7556         * cppmacro.c (paste_tokens): Update.
7557
7558 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
7559
7560         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
7561
7562 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
7563
7564         * reload1.c (reload): Check CONSTANT_P before calling
7565         LEGITIMATE_PIC_OPERAND_P.
7566         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
7567         workaround of 2001-10-13.
7568
7569 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
7570
7571         * i386.c (split_di): Handle splitting of DFmode.
7572
7573 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7574
7575         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
7576         (adjust_address_1, offset_address): Likewise.
7577
7578         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
7579         (output_asm_insn): Call it for each line output.
7580         Don't record an operand more than once.
7581
7582         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
7583         * main.c: Include config.h and system.h, but not ansidecl.h.
7584         * Makefile.in (main.o): Update accordingly.
7585
7586 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7587
7588         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
7589
7590 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7591
7592         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
7593         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
7594         Break out from ...
7595         (find_sub_basic_blocks): ... here;
7596         (find_many_sub_basic_blocks): New.
7597         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
7598
7599         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
7600
7601         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
7602
7603         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
7604
7605         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
7606         * flow.c (update_life_info): Measure time.
7607         * c-decl.c: Include timevar.h
7608         (c_expand_body): Measure time.
7609         * toplev.c (rest_of_compilation): Measure time of mode switching
7610         separately.
7611         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
7612
7613         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
7614         (lang_independent_options): Add asynchronous-unwind-tables
7615         (toplev_main): flag_asynchronous_unwind_tables implies
7616         flag_unwind_tables.
7617         * flags.h (flag_asynchronous_unwind_tables): Declare.
7618         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
7619         flag_asynchronous_unwind_tables.
7620         (output_call_frame_info): Likewise.
7621         * invoke.texi (-fasynchronous-unwind-tables): Document.
7622         * i386.c (optimization_options): Enable
7623         flag_asynchronous_unwind_tables.
7624
7625         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
7626         * i386.md (s* expanders): Destination is QImode.
7627
7628         * toplev.c (rest_of_compilation): Do not call clear_log_links.
7629         * rtl.h (clear_log_links): Kill.
7630         * flow.c (clear_log_links): Make static; accept blocks parameter;
7631         do no clear life info.
7632         (update_life_info): Call clear_log_links.
7633
7634         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
7635
7636 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7637
7638         * cpplex.c (handle_newline, skip_escaped_newlines,
7639         get_effective_char, skip_block_comment, skip_line_comment,
7640         parse_identifier_slow, parse_number, parse_string,
7641         _cpp_lex_direct): Update to do more stepping back.
7642         (trigraph_ok): Similarly.  Rename trigraph_p.
7643         (SAVE_STATE, RESTORE_STATE): Remove.
7644         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
7645
7646         * cpplib.c (destringize): Rename destringize_and_run, and
7647         call run_directive directly.
7648         (_cpp_do__Pragma): Simplify.
7649
7650 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7651
7652         * pe.c (arm_pe_unique_section): Const-ify.
7653         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7654         (switch_to_section): Add static prototype.
7655
7656         * output.h (drectve_section): Prototype.
7657
7658 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7659
7660         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
7661         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
7662         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
7663         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
7664         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
7665         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
7666         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
7667         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
7668         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
7669         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
7670         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
7671         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
7672         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
7673         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
7674         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
7675         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
7676         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
7677         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
7678         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
7679         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
7680         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
7681         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
7682         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
7683         cris-*-none, cris-*-linux*: Update ${tmfile} list.
7684         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
7685         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
7686         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
7687         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
7688         v850-*-*): Delete superflous ${cpu_type} setting.
7689         * config/linux.h: Delete svr4.h include.
7690         (SET_ASM_OP): Delete.
7691         * config/netware.h (INT_ASM_OP): Undef before define.
7692         * config/ptx4.h: Delete elfos.h include.
7693         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
7694         * config/svr4.h: Delete elfos.h include. Update commentary.
7695         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
7696         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
7697         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
7698         config/v850/v850.h: Delete svr4.h include.
7699         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
7700         config/m68k/m68kv4.h, config/m88k/sysv4.h,
7701         config/sparc/sysv4.h: Update includes.
7702         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
7703         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
7704         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
7705         config/m88k/dguxbcs.h: Delete includes.
7706         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
7707         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
7708         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
7709         it.
7710         * config/m88k/dgux.h: Delete include.
7711         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
7712         defining it.
7713         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
7714         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
7715         * config/sh/elf.h: Update include.
7716         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
7717         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
7718
7719 2001-10-19  Catherine Moore  <clm@redhat.com>
7720
7721         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
7722         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
7723         base and count fields.
7724         (stormy16_expand_builtin_va_start):  last_reg_count changed to
7725         size_of_reg_args.  Use count + size in first comparison.
7726
7727 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7728
7729         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
7730         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
7731         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
7732         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
7733         Set alignment from type if INDIRECT_REF.
7734         (adjust_address_1, offset_address): Simplify alignment compuitation.
7735         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
7736         here; done by set_mem_attributes.
7737
7738 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7739
7740         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
7741         * arm-protos.h (rdata_section, zero_init_section, common_section):
7742         Prototype.
7743         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
7744         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
7745         traditional mode stringification.
7746         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
7747         in macros controling its use.
7748         * rtlanal.c: Include tm_p.h.
7749         * varasm.c (asm_output_aligned_bss): Mark parameter with
7750         ATTRIBUTE_UNUSED.
7751         (assemble_constant_align, assemble_start_function, assemble_align,
7752         assemble_variable, assemble_trampoline_template,
7753         output_constant_def_contents): Wrap potentially empty if-stmt body
7754         in brackets.
7755
7756 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7757
7758         * a29k-protos.h (literal_section): Prototype.
7759         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
7760         * a29k.md: Ensure function pointers are prototyped.
7761         * genattrtab.c (write_eligible_delay): Mark parameter with
7762         ATTRIBUTE_UNUSED.
7763
7764 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7765
7766         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
7767         * 1750a.c (print_operand): Fix format specifier warning.
7768         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
7769         * 1750a.md: Likewise.
7770         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
7771         * genemit.c (output_add_clobbers): Mark parameter with
7772         ATTRIBUTE_UNUSED.
7773         * genrecog.c (write_subroutine): Likewise.
7774         * integrate.c (expand_inline_function): Delete unused variable.
7775         * varasm.c (remove_from_pending_weak_list): Wrap with
7776         ASM_WEAKEN_LABEL.
7777
7778 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
7779
7780         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
7781         field is different to previous argument's neg field.
7782
7783         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
7784
7785 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7786
7787         * final.c (get_decl_from_op): New function.
7788         (output_asm_insn): Call it; write "*" when item with decl is address.
7789
7790 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
7791
7792         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
7793         about 64-bit support from the 3.0_branch version.
7794
7795 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
7796
7797         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
7798         USE_INCLUDED_LIBINTL when appropriate.
7799         * configure, config.in: Regenerate.
7800         * Makefile.in (datadir): Set to @datadir@.
7801         (intl.o): Also depend on $(CONFIG_H) and system.h.
7802
7803         * intl.c: Factor out common gettext initialization sequence.
7804         (gcc_init_libintl):  New function.
7805         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
7806         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
7807         off NLS.  Add multiple include guard.  No need to #ifdef-guard
7808         an #undef.  Prototype gcc_init_libintl here.
7809
7810         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
7811         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
7812         Use gcc_init_libintl.
7813
7814 2001-10-19  Catherine Moore  <clm@redhat.com>
7815
7816         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
7817
7818         * config/stormy16/stormy16.c (stormy16_split_move):  Make
7819         sure that REG_INC notes are present for auto_inc operands.
7820
7821 2001-10-19  Andreas Jaeger  <aj@suse.de>
7822
7823         * configure: Regenerated.
7824         * configure.in: Add x86_64 to switch statements.
7825
7826 2001-10-18  Richard Henderson  <rth@redhat.com>
7827
7828         * config/alpha/alpha.md (sibcall_osf_1): Load destination
7829         address into $27 explicitly.
7830         (sibcall_value_osf_1): Likewise.
7831
7832 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7833
7834         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
7835         (offset_address): New function.
7836         (free_emit_status): Free regno_decl.
7837         (init_emit): Pass proper number of elements to xcalloc.
7838         Allocate regno_decl.
7839         (mark_emit_status): Mark regno_decl values.
7840         * expr.c (highest_pow2_factor): New function.
7841         (expand_assigment): Use it and offset_address.
7842         Properly handle ptr_mode vs. Pmode in offset calculation.
7843         (store_constructor, expand_expr_unaligned): Likewise.
7844         (expand_expr, case COMPONENT_EXPR): Likewise.
7845         * expr.h (offset_address): New decl.
7846         * function.h (struct emit_status): Add regno_decl.
7847         (REGNO_DECL): New macro.
7848         * final.c (output_asm_name): Move in file and don't conditionalize
7849         on flag_print_asm_name.
7850         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
7851         Output names of operands, if known.
7852         * function.c (assign_parms): Set REGNO_DECL.
7853         * integrate.c (integrate_decl_tree): Likewise.
7854         * stmt.c (expand_decl): Likewise.
7855         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
7856
7857 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
7858
7859         * attribs.c (handle_noinline_attribute): New function.
7860         (handle_used_attribute): Likewise.
7861         (c_common_attribute_table): Added noinline and used.
7862         * doc/extend.texi (Function Attributes): Document them.
7863         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
7864         Warn when merging inline with attribute noinline.
7865         (start_decl, start_function): Warn if inline and attribute
7866         noinline appear in the same declaration.
7867
7868 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7869
7870         * config.gcc: Update c4x and i370 for C front end-specific
7871         dependencies.
7872         * config/c4x/c4x-c.c: New.
7873         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
7874         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7875         New declarations.
7876         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
7877         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7878         Make extern.
7879         (c4x_init_pragma): Remove.
7880         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
7881         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
7882         c4x_pr_ignored): Move to c4x-c.c.
7883         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7884         * config/c4x/t-c4x: Update.
7885         * config/i370/i370-c.c: New.
7886         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
7887         (i370_pr_map): Move to i370-c.c.
7888         * config/i370/t-i370: New.
7889
7890         * doc/tm.texi: Update.
7891
7892 2001-10-17  Stan Shebs  <shebs@apple.com>
7893
7894         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
7895         typo fixes throughout.
7896         (machopic_output_stub): Remove some dead code.
7897
7898 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
7899
7900         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
7901         leak.
7902
7903 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7904
7905         * Makefile.in (print-rtl.o): Depend on TREE_H.
7906         * alias.c (get_alias_set): Make two passes over objects to first
7907         see if inner object is access via restricted pointer.
7908         Defer allocating alias set for restricted pointer until here.
7909         Call find_placeholder with second arg nonzero.
7910         Minor cleanups.
7911         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
7912         set for restricted pointer types.
7913         * emit-rtl.c (set_mem_attributes): Set more attributes.
7914         (set_mem_align, change_address, adjust_address_1): New functions.
7915         (change_address_1): Now static.
7916         (adjust_address, adjust_address_nv): Deleted.
7917         (replace_equiv_address): Call change_address_1.
7918         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
7919         (find_placeholder): Get starting point from PLIST arg.
7920         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
7921         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
7922         (adjust_address, adjust_address_nv): New macros.
7923         * print-rtl.c (tree.h): New include.
7924         (print_rtx, case MEM): Print all memory attributes.
7925
7926 2001-10-17  Richard Henderson  <rth@redhat.com>
7927
7928         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
7929
7930 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7931
7932         * c-tree.texi: Eliminate duplicated word.
7933         * cpp.texi: Likewise.
7934         * install.texi: Likewise.
7935         * invoke.texi: Likewise.
7936         * tm.texi: Likewise.
7937
7938 2001-10-17  Michael Collison  <collison@isisinc.net>
7939
7940         * dsp16xx.c: Fix comment formatting to match GNU standards.
7941         (dsp16xx_output_function_prologue): Change type of 'size'
7942         parameter from 'int' to HOST_WIDE_INT.
7943         (dsp16xx_output_function_epilogue): Change type of 'size'
7944         parameter from 'int' to HOST_WIDE_INT.
7945
7946 2001-10-16  Richard Henderson  <rth@redhat.com>
7947
7948         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
7949         * configure, config.in: Rebuild.
7950
7951         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
7952         (ix86_output_addr_diff_elt): New.
7953         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
7954         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7955         (JUMP_TABLES_IN_TEXT_SECTION): New.
7956         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
7957         * config/i386/i386-protos.h: Update.
7958
7959         * config/i386/386bsd.h, config/i386/beos-elf.h,
7960         config/i386/freebsd-aout.h, config/i386/freebsd.h,
7961         config/i386/i386-interix.h, config/i386/i386elf.h,
7962         config/i386/linux.h, config/i386/netbsd-elf.h,
7963         config/i386/netbsd.h, config/i386/openbsd.h,
7964         config/i386/ptx4-i.h, config/i386/rtemself.h,
7965         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
7966         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
7967
7968 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
7969
7970         * stmt.c (expand_asm_operands): Update commentary.
7971
7972 2001-10-16  Stan Shebs  <shebs@apple.com>
7973
7974         * config/darwin.h (GCC_NAME): Remove, no longer used.
7975         (NO_MATH_LIBRARY): Ditto.
7976         (MATH_LIBRARY): Define to emptiness.
7977         (DWARF2_DEBUGGING_INFO): Define.
7978         (PREFERRED_DEBUGGING_TYPE): Define.
7979         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
7980         (EXCEPTION_SECTION): Define.
7981         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7982         * config/darwin.c (darwin_encode_section_info): Handle case of
7983         DECL_INITIAL being error_mark_node.
7984
7985 2001-10-16  Richard Henderson  <rth@redhat.com>
7986
7987         * alpha.c (current_file_function_operand): Don't fail for profiling.
7988         (direct_call_operand): New.
7989         * alpha-protos.h: Declare it.
7990         * alpha.h (EXTRA_CONSTRAINT): Use it.
7991         (PREDICATE_CODES): Add it.
7992         (ASM_OUTPUT_MI_THUNK): Remove.
7993         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
7994         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
7995
7996 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
7997
7998         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
7999         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8000
8001 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
8002
8003         * cfg.c (free_edge): Break out from ....
8004         (remove_edge): ... here.
8005         (clear_edges): Use free_edge.
8006
8007         * att.h (ASM_QUAD): Add comment.
8008         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8009
8010 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
8011
8012         * i386.c (split_ti): New function.
8013         (ix86_split_to_parts): Support TImodes.
8014         * i386.h (VALID_INT_MODE_P): Add TImode.
8015         * i386.md (movdi splitter): Fix.
8016         (movti): Support 64bit integer registers.
8017         (movti_rex64): New function and splitter.
8018
8019         * i386.c (*_cost): Add movsx/movzx cost.
8020         * i386.h (struct processor_costs): Add movsx/movzx fields.
8021         (RTX_COSTS): Handle zero/sign extend + avoid believing that
8022         64bit operations require split on 64bit machine.
8023         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8024
8025         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
8026         (ix86_expand_move): Avoid pushes of memory if size does not match;
8027         move long constants to register.
8028         (x86_initialize_trampoline): Fix mode.
8029         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8030         Use ASM_QUAD on 64bit.
8031         * i386.md (test pattern): Disallow impossible constants.
8032         (tablejump PIC expander): Fix emitting of sum.
8033         (movdicc_rex64): Rename to movdicc.
8034         * linux64.h (LINK_SPEC): Add missing '%'.
8035
8036 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
8037
8038         * tree-inline.c (inlinable_function_p): Leave it up to the
8039         front-end to turn -finline-functions into DECL_INLINE set for all
8040         functions.
8041
8042 2001-10-16  Stan Shebs  <shebs@apple.com>
8043
8044         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8045
8046 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
8047
8048         * recog.c: Formatting and comment typo fixes.
8049
8050         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
8051         version in single tree build.
8052         * configure: Regenerate.
8053
8054 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
8055
8056         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8057         MODE arguments to gen_rtx and compare operand with const0_rtx.
8058
8059 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8060
8061         * system.h: Poison old unused target macros.
8062         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8063         * config/stormy16/stormy16.c: Update references to obsolete macros.
8064         * config/stormy16/stormy16.h: Similarly.
8065         * config/stormy16/stormy16.md: Similarly.
8066         * config/cris/cris.h: Similarly.
8067
8068 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
8069
8070         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8071         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8072         cpp_register_pragma): Update accordingly.
8073
8074 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8075
8076         * c-pragma.h (cpp_register_pragma_space): Remove.
8077         * cpplib.h (cpp_register_pragma_space): Remove.
8078         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8079         (cpp_register_pragma_space): Remove.
8080         (cpp_register_pragma): Simplify using lookup_pragma_entry,
8081         add sanity checks.
8082         (do_pragma): Similarly.
8083         (_cpp_init_internal_pragmas): Don't register namespaces.
8084
8085         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8086         Don't register namespaces.
8087         * cp/lex.c (init_cp_pragma): Similarly.
8088         * doc/tm.texi: Update.
8089
8090 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8091
8092         PR c/4157
8093         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8094
8095 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
8096
8097         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
8098         add scheduling support.
8099         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8100         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8101         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8102
8103
8104 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
8105
8106         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8107         missing CONSTANT_P test in core GCC.
8108
8109 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
8110
8111         * cppmain.c (struct printer): New member source.
8112         (scan_translation_unit): Fix spacing at start of lines.
8113         (cb_line_change): Update.
8114
8115         * gcc.dg/cpp/spacing2.c: New test.
8116
8117 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
8118
8119         * config/cris/arit.c: Use __builtin_labs, not abs.
8120
8121         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8122
8123         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8124         misplaced sprintf and fprintf argument.
8125
8126 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8127
8128         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8129         * configure.in, Makefile.in: Take out obsolete check-po logic.
8130         * configure, config.in: Regenerate.
8131
8132 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8133
8134         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8135         symtab declarations.
8136
8137 2001-10-12  Stan Shebs  <shebs@apple.com>
8138
8139         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8140         declarations of arguments and local variables.
8141
8142 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8143
8144         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8145         ENDFILE_SPEC definition.
8146
8147 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8148
8149         * gthr-dce.h: Fix comment formatting.
8150         * gthr-posix.h: Likewise.
8151         * gthr-single.h: Likewise.
8152         * gthr-solaris.h: Likewise.
8153         * gthr-vxworks.h: Likewise.
8154         * gthr-win32.h: Likewise.
8155
8156 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8157
8158         * final.c (output_asm_insn): Make sure assembly dialects are
8159         terminated, not nested.  Output `|' and `}' characters if they
8160         don't appear inside assembly dialect selection.
8161         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8162         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8163         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8164         strsetsi_rex_1): Add {} braces.
8165
8166 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8167
8168         * toplev.c (compile_file): Ignore return value from yyparse.
8169         Always pop any nested binding levels after yyparse returns.
8170
8171 2001-10-11  Richard Henderson  <rth@redhat.com>
8172
8173         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8174
8175 2001-10-11  Richard Henderson  <rth@redhat.com>
8176
8177         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8178         fall back to add_AT_long_long for large CONST_INT.
8179
8180 2001-10-11  Richard Henderson  <rth@redhat.com>
8181
8182         * config/i386/i386.md (setcc splitters): Add four splitters to
8183         simplify compound compares that simplify_comparison can't handle.
8184
8185 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8186
8187         * cpplex.c (digraph_spellings, token_spellings): Make static.
8188
8189 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8190
8191         * unroll.c (loop_iterations): Fixup last patch.
8192
8193 2001-10-11  Richard Henderson  <rth@redhat.com>
8194
8195         * rtl.h (REG_VTABLE_REF): New.
8196         * rtl.c (reg_note_name): Add it.
8197         * combine.c (distribute_notes): Handle it.
8198         * final.c (final_scan_insn): Handle it.
8199         * tree.def (VTABLE_REF): New.
8200         * expr.c (expand_expr): Handle it.
8201         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8202         * output.h: Declare them.
8203
8204 2001-10-11  Richard Henderson  <rth@redhat.com>
8205
8206         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8207         for a DECL_INITIAL.
8208
8209 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8210
8211         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8212         available in 64-bit mode.
8213
8214 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8215
8216         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8217         cris-*-linux* cases.
8218         * config/cris/cris-protos.h: New file.
8219         * config/cris/cris.c: New file.
8220         * config/cris/cris.h: New file.
8221         * config/cris/cris.md: New file.
8222         * config/cris/linux.h: New file.
8223         * config/cris/aout.h: New file.
8224         * config/cris/arit.c: New file.
8225         * config/cris/cris_abi_symbol.c: New file.
8226         * config/cris/mulsi3.asm: New file.
8227         * config/cris/t-aout: New file.
8228         * config/cris/t-cris: New file.
8229         * config/cris/t-elfmulti: New file.
8230         * config/cris/t-linux: New file.
8231         * doc/invoke.texi: Add CRIS options.
8232         * doc/install.texi (Specific): Add blurb for CRIS.
8233
8234 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8235
8236         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8237         before using it.
8238         * config/float/i32.h: Likewise.
8239         * config/float-i386.h: Likewise.
8240         * config/float-i64.h: Likewise.
8241         * config/float-m68k.h: Likewise.
8242         * config/float-sh.h: Likewise.
8243         * config/float-sparc.h: Likewise.
8244
8245 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8246
8247         * doc/contrib.texi: Add note about CRIS port to my entry.
8248
8249 2001-10-11  Kazu Hirata  <kazu@hxi.com>
8250
8251         * basic-block.h: Fix formatting.
8252         * bitmap.h: Likewise.
8253         * cpplib.h: Likewise.
8254         * c-tree.h: Likewise.
8255         * diagnostic.h: Likewise.
8256         * flags.h: Likewise.
8257         * ggc.h: Likewise.
8258         * longlong.h: Likewise.
8259         * real.h: Likewise.
8260         * reload.h: Likewise.
8261         * rtl.h: Likewise.
8262         * tree.h: Likewise.
8263
8264 2001-10-10  Richard Henderson  <rth@redhat.com>
8265
8266         * c-parse.in (asm_operand): Allow named operands.
8267         * genconfig.c (max_recog_operands): Set to 29.
8268         * local-alloc.c (requires_inout): Skip multiple digits.
8269         * recog.c (asm_operand_ok): Likewise.
8270         (preprocess_constraints): Use strtoul for matching constraints.
8271         (constrain_operands): Likewise.
8272         * regmove.c (find_matches): Likewise.
8273         * reload.c (find_reloads): Likewise.
8274         * stmt.c (parse_output_constraint): Don't reject in-out
8275         constraint on operands > 9.  Reject '[' in constraint.
8276         (expand_asm_operands): Handle named operands.  Use strtoul
8277         for matching constraints.
8278         (check_operand_nalternatives): Split out from expand_asm_operands.
8279         (check_unique_operand_names): New.
8280         (resolve_operand_names, resolve_operand_name_1): New.
8281
8282         * doc/extend.texi (Extended Asm): Document named operands.
8283         * doc/md.texi (Simple Constraints): Document matching constraints
8284         on operands > 9.
8285
8286 2001-10-10  Richard Henderson  <rth@redhat.com>
8287
8288         * combine.c (try_combine): Handle a SEQUENCE of one insn.
8289
8290         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
8291         (jcc splitters): Add two splitters to simplify compound compares
8292         that simplify_comparison can't handle.
8293
8294 2001-10-10  Richard Henderson  <rth@redhat.com>
8295
8296         * langhooks.c: Include langhooks.h.
8297         * Makefile.in (langhooks.o): Depend on it.
8298
8299 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
8300
8301         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
8302         should not be considered as a no-op.
8303         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
8304
8305 2001-10-10  Stan Shebs  <shebs@apple.com>
8306
8307         * alias.c: Remove uses of "register" specifier in declarations
8308         of arguments and local variables.
8309         * c-common.c: Ditto.
8310         * c-convert.c: Ditto.
8311         * c-decl.c: Ditto.
8312         * c-format.c: Ditto.
8313         * c-semantics.c: Ditto.
8314         * c-typeck.c: Ditto.
8315         * caller-save.c: Ditto.
8316         * calls.c: Ditto.
8317         * cfg.c: Ditto.
8318         * cfgbuild.c: Ditto.
8319         * cfgrtl.c: Ditto.
8320         * collect2.c: Ditto.
8321         * combine.c: Ditto.
8322         * convert.c: Ditto.
8323         * cppexp.c: Ditto.
8324         * cppfiles.c: Ditto.
8325         * cse.c: Ditto.
8326         * dbxout.c: Ditto.
8327         * defaults.h: Ditto.
8328         * df.c: Ditto.
8329         * dwarf2out.c: Ditto.
8330         * dwarfout.c: Ditto.
8331         * emit-rtl.c: Ditto.
8332         * explow.c: Ditto.
8333         * expmed.c: Ditto.
8334         * expr.c: Ditto.
8335         * final.c: Ditto.
8336         * fix-header.c: Ditto.
8337         * floatlib.c: Ditto.
8338         * flow.c: Ditto.
8339         * fold-const.c: Ditto.
8340         * function.c: Ditto.
8341         * gcc.c: Ditto.
8342         * gcse.c: Ditto.
8343         * gen-protos.c: Ditto.
8344         * genattrtab.c: Ditto.
8345         * gencheck.c: Ditto.
8346         * genconfig.c: Ditto.
8347         * genemit.c: Ditto.
8348         * genextract.c: Ditto.
8349         * genflags.c: Ditto.
8350         * gengenrtl.c: Ditto.
8351         * genoutput.c: Ditto.
8352         * genpeep.c: Ditto.
8353         * genrecog.c: Ditto.
8354         * gensupport.c: Ditto.
8355         * global.c: Ditto.
8356         * gmon.c: Ditto.
8357         * graph.c: Ditto.
8358         * haifa-sched.c: Ditto.
8359         * hard-reg-set.h: Ditto.
8360         * hash.c: Ditto.
8361         * integrate.c: Ditto.
8362         * jump.c: Ditto.
8363         * lists.c: Ditto.
8364         * local-alloc.c: Ditto.
8365         * loop.c: Ditto.
8366         * mips-tdump.c: Ditto.
8367         * mips-tfile.c: Ditto.
8368         * optabs.c: Ditto.
8369         * prefix.c: Ditto.
8370         * print-rtl.c: Ditto.
8371         * read-rtl.c: Ditto.
8372         * real.c: Ditto.
8373         * recog.c: Ditto.
8374         * reg-stack.c: Ditto.
8375         * regclass.c: Ditto.
8376         * regmove.c: Ditto.
8377         * reload.c: Ditto.
8378         * reload1.c: Ditto.
8379         * reorg.c: Ditto.
8380         * resource.c: Ditto.
8381         * rtl.c: Ditto.
8382         * rtlanal.c: Ditto.
8383         * scan.c: Ditto.
8384         * sched-deps.c: Ditto.
8385         * sched-rgn.c: Ditto.
8386         * sdbout.c: Ditto.
8387         * simplify-rtx.c: Ditto.
8388         * stmt.c: Ditto.
8389         * stor-layout.c: Ditto.
8390         * toplev.c: Ditto.
8391         * tradcif.y: Ditto.
8392         * tradcpp.c: Ditto.
8393         * tree.c: Ditto.
8394         * unroll.c: Ditto.
8395         * varasm.c: Ditto.
8396         * xcoffout.c: Ditto.
8397
8398 2001-10-10  Richard Henderson  <rth@redhat.com>
8399
8400         * rtl.h (can_reverse_comparison_p): Remove.
8401
8402 2001-10-10  Christopher Faylor <cgf@redhat.com>
8403
8404         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
8405         used.
8406
8407 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8408
8409         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
8410         (Thanks to Chris Faylor for suggesting macro name).
8411         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
8412         WIN32 defines.
8413         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
8414         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
8415         (MATH_LIBRARY): Undef before definition.
8416         (OUTPUT_QUOTED_STRING): Likewise.
8417         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
8418
8419 2001-10-10  Richard Henderson  <rth@redhat.com>
8420
8421         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
8422         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
8423         a tristate comparison value.
8424         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
8425
8426 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8427
8428         PR c++/4512
8429         * unroll.c (loop_iterations): Ignore insns generated by loop
8430         unrolling.
8431
8432         * config.gcc (mips*-*-gnu*): Delete support.
8433         * config/mips/gnu.h: Remove.
8434
8435 2001-10-10  Kazu Hirata  <kazu@hxi.com>
8436
8437         * calls.c: Fix formatting.
8438         * c-decl.c: Likewise.
8439         * cfgcleanup.c: Likewise.
8440         * combine.c: Likewise.
8441         * cppfiles.c: Likewise.
8442         * cpplib.c: Likewise.
8443         * cppmacro.c: Likewise.
8444         * crtstuff.c: Likewise.
8445         * cse.c: Likewise.
8446         * dwarf2out.c: Likewise.
8447         * expmed.c: Likewise.
8448         * expr.c: Likewise.
8449         * fold-const.c: Likewise.
8450         * function.c: Likewise.
8451         * gcse.c: Likewise.
8452         * genattrtab.c: Likewise.
8453         * ggc-page.c: Likewise.
8454         * integrate.c: Likewise.
8455         * libgcc2.c: Likewise.
8456         * loop.c: Likewise.
8457         * optabs.c: Likewise.
8458         * profile.c: Likewise.
8459         * protoize.c: Likewise.
8460         * real.c: Likewise.
8461         * recog.c: Likewise.
8462         * reload1.c: Likewise.
8463         * reload.c: Likewise.
8464         * reorg.c: Likewise.
8465         * resource.c: Likewise.
8466         * sched-rgn.c: Likewise.
8467         * sdbout.c: Likewise.
8468         * stmt.c: Likewise.
8469         * toplev.c: Likewise.
8470         * varasm.c: Likewise.
8471
8472 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
8473
8474         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
8475         * Makefile.in (langhooks.o): Add dependencies.
8476
8477 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
8478
8479         * rs6000.c (rs6000_emit_load_toc_table): Don't
8480         strdup the toc label.
8481         (create_TOC_reference): Likewise.
8482
8483 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8484
8485         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
8486         version default.
8487
8488 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8489
8490         * config/i386/i386.c (ix86_attribute_table): Correct
8491         min_len, max_len fields for dllimport, dllexport and shared.
8492
8493 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
8494
8495         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
8496         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
8497         Consistently use "nonzero" instead of "non-zero".
8498
8499 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8500
8501         * acconfig.h: Fix comment formatting.
8502         * c-dump.h: Likewise.
8503         * c-tree.h: Likewise.
8504         * conditions.h: Likewise.
8505         * expr.h: Likewise.
8506         * function.h: Likewise.
8507         * gthr.h: Likewise.
8508         * hwint.h: Likewise.
8509         * integrate.h: Likewise.
8510         * intl.h: Likewise.
8511         * loop.h: Likewise.
8512         * optabs.h: Likewise.
8513
8514 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8515
8516         * c-common.h: Fix comment formatting.
8517         * c-dump.c: Likewise.
8518         * cfg.c: Likewise.
8519         * diagnostic.h: Likewise.
8520         * except.c: Likewise.
8521         * gcc.h: Likewise.
8522         * gcov-io.h: Likewise.
8523         * genattrtab.c: Likewise.
8524         * output.h: Likewise.
8525         * predict.h: Likewise.
8526         * reload1.c: Likewise.
8527         * reload.h: Likewise.
8528         * resource.h: Likewise.
8529         * scan.h: Likewise.
8530         * system.h: Likewise.
8531         * tree.h: Likewise.
8532         * tree-inline.c: Likewise.
8533         * tsystem.h: Likewise.
8534         * varasm.c: Likewise.
8535         * xcoffout.h: Likewise.
8536
8537 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8538
8539         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
8540
8541 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8542
8543         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
8544         config/i386/i386elf.h, config/i386/netbsd-elf.h,
8545         config/i386/netware.h, config/mcore/gfloat.h,
8546         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
8547         config/netware.h, gccbug.in: Update FSF address.
8548
8549 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8550
8551         * c-common.c: Fix comment typos.
8552         * cfgrtl.c: Likewise.
8553         * collect2.c: Likewise.
8554         * cpplex.c: Likewise.
8555         * doloop.c: Likewise.
8556         * dwarf2out.c: Likewise.
8557         * dwarfout.c: Likewise.
8558         * expr.c: Likewise.
8559         * fold-const.c: Likewise.
8560         * gcc.c: Likewise.
8561         * gcov.c: Likewise.
8562         * gcse.c: Likewise.
8563         * global.c: Likewise.
8564         * ifcvt.c: Likewise.
8565         * loop.c: Likewise.
8566         * optabs.c: Likewise.
8567         * protoize.c: Likewise.
8568         * regclass.c: Likewise.
8569         * reorg.c: Likewise.
8570         * rtl.h: Likewise.
8571         * stmt.c: Likewise.
8572         * tree.h: Likewise.
8573         * doc/cpp.texi: Likewise.
8574         * doc/c-tree.texi: Likewise.
8575         * doc/extend.texi: Likewise.
8576         * doc/invoke.texi: Likewise.
8577         * doc/objc.texi: Likewise.
8578         * doc/tm.texi: Likewise.
8579
8580 2001-10-08  Richard Henderson  <rth@redhat.com>
8581
8582         * varasm.c (set_named_section_flags): Initialize "declared".
8583
8584 2001-10-08  Robert Lipe  <robertlipe@usa.net>
8585
8586         * varasm.c (struct in_named_entry): Add declared.
8587         (named_section_first_declaration): New function.
8588         (default_elf_asm_named_section): Use it.
8589         * output.h (named_section_first_declaration): New.
8590
8591 2001-10-08  Richard Henderson  <rth@redhat.com>
8592
8593         * i386.md (movsi_xor): Export.
8594         (setcc peep2): Use it when available; add an alternative to
8595         match zero_extendhisi2_and.
8596
8597 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8598
8599         * romp-protos.h (romp_initialize_trampoline): New function.
8600         * romp.c (romp_initialize_trampoline): Likewise.
8601         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
8602         romp_initialize_trampoline.
8603
8604 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8605
8606         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
8607         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8608         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8609         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8610
8611 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8612
8613         * unroll.c (loop_iterations): Extend check for multiple back edges.
8614
8615 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
8616
8617         * langhooks.h: New file.
8618         * Makefile.in (OBJS): Added langhooks.o.
8619         (c-lang.o): Depend on langhooks.h.
8620         (c-common.o): Don't depend on tree-inline.h.
8621         (tree-inline.o): Depend on toplev.h.
8622         (langhooks.o): New rule.
8623         * c-common.c: Don't include tree-inline.h.
8624         (c_mark_lang_decl): Mark argument c as unused.
8625         (c_common_lang_init): Don't initialize hooks here.
8626         * c-lang.c: Include langhooks.h, then override some macros.
8627         (lang_hooks): Initialize with macros in langhooks.h.
8628         (c_init): Don't initialize hooks here.
8629         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
8630         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
8631         * tree-inline.c: Include toplev.h.  Don't define hook variables.
8632         * tree-inline.h: Don't define hook types nor declare hook
8633         variables.  Move macros to...
8634         * langhooks.c: ... new file, as functions.  Adjust all callers.
8635
8636 2001-10-08  Jeffrey A Law  <law@cygnus.com>
8637
8638         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
8639         purge_mem_unchanging_flag on all instructions, not just on those
8640         before NOTE_INSN_FUNCTION_BEG.
8641
8642 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8643
8644         * cppmacro.c (_cpp_create_definition): Leave comments off.
8645
8646         * doc/cpp.texi: Update.
8647
8648 2001-10-08  DJ Delorie  <dj@redhat.com>
8649
8650         * c-decl.c (grokfield): Make sure the only unnamed fields
8651         we're allowing are either structs or unions.
8652         * doc/extend.texi: Add documentation for the unnamed field
8653         extension.
8654
8655 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
8656
8657         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
8658         * configure.in: Use it.
8659         * configure: Regenerated.
8660         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
8661         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
8662
8663 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8664
8665         * cppfiles.c (open_file): Don't mark zero-length files
8666         never-reread here.  Don't output diagnostics here either.
8667         (stack_include_file): Mark them never-reread here.
8668         (_cpp_read_file): Update.
8669
8670 2001-10-08  Richard Henderson  <rth@redhat.com>
8671
8672         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8673
8674 2001-10-08  Richard Henderson  <rth@redhat.com>
8675
8676         * expr.c (store_expr): When converting a CONST_INT for storage
8677         in a SUBREG, convert it to both SUBREG modes before stripping
8678         the SUBREG.
8679
8680 2001-10-08  Richard Henderson  <rth@redhat.com>
8681
8682         * varasm.c (restore_varasm_status): New.
8683         * function.h: Declare it.
8684         * function.c (pop_function_context_from): Call it.
8685
8686 2001-10-08  Richard Henderson  <rth@redhat.com>
8687
8688         * c-common.h (struct c_lang_decl): Add declared_inline.
8689         * c-tree.h (DECL_DECLARED_INLINE_P): New.
8690         * c-lang.c (c_disregard_inline_limits): Use it.
8691         * c-decl.c (duplicate_decls): Likewise.
8692         (pushdecl, redeclaration_error_message): Likewise.
8693         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
8694         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
8695         Set DECL_INLINE if -finline-functions.
8696         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
8697
8698 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8699
8700         * cppmacro.c (funlike_invocation_p): Move some logic to caller
8701         in enter_macro_context.  Create a padding token in its own context
8702         if necessary when the search for '(' fails.
8703         (enter_macro_context): Update.
8704
8705 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8706
8707         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
8708         genmultilib, toplev.c: Fix spelling errors of "separate" as
8709         "seperate", and corresponding spelling errors of related words.
8710
8711 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8712
8713         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
8714         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
8715         Likewise.
8716         * c-dump.c (dump_option_value_info): Likewise.
8717         * c-format.c (format_length_info, format_char_info,
8718         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
8719         * collect2.c (names): Likewise.
8720         * cppdefault.h (default_include): Likewise.
8721         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
8722         * flow.c (life_analysis): Likewise.
8723         * gcc.c (dir_separator_str, modify_target, option_map,
8724         target_option_translations, spec_list_1, extra_specs_1,
8725         init_spec): Likewise.
8726         * gcov.c (gcov_version_string): Likewise.
8727         * genattr.c (write_units): Likewise.
8728         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
8729         * gengenrtl.c (rtx_definition, defs): Likewise.
8730         * genrecog.c (pred_table): Likewise.
8731         * global.c (global_alloc): Likewise.
8732         * lcm.c (optimize_mode_switching): Likewise.
8733         * local-alloc.c (find_free_reg): Likewise.
8734         * params.h (param_info): Likewise.
8735         * predict.c (predictor_info): Likewise.
8736         * protoize.c (unexpansion_struct): Likewise.
8737         * real.c (bmask): Likewise.
8738         * recog.h (insn_operand_data, insn_data): Likewise.
8739         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
8740         * stmt.c (expand_nl_goto_receiver): Likewise.
8741         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
8742         target_switches, target_options): Likewise.
8743         * tradcif.y (token, tokentab2, yylex): Likewise.
8744         * tree.h (attribute_spec): Likewise.
8745
8746         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
8747         Likewise.
8748         * arc.c (arc_output_function_epilogue): Likewise.
8749         * arm.c (processors, all_cores, all_architectures,
8750         arm_override_options, isr_attribute_arg, isr_attribute_args,
8751         arm_isr_value): Likewise.
8752         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
8753         Likewise.
8754         * c4x.c (c4x_int_reglist): Likewise.
8755         * d30v.c (override_options): Likewise.
8756         * h8300.c (shift_insn): Likewise.
8757         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
8758         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
8759         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
8760         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
8761         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
8762         * i386.h (processor_costs, ix86_cost): Likewise.
8763         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
8764         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
8765         * m68k.c (codes_68881, codes_FPA): Likewise.
8766         * m88k.c (mode_from_align, max_from_align, all_from_align,
8767         best_from_align, m_options): Likewise.
8768         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
8769         * mcore.c (mode_from_align): Likewise.
8770         * mips/elf64.h (UNIQUE_SECTION): Likewise.
8771         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
8772         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
8773         * mips.h (mips_regno_to_class): Likewise.
8774         * ns32k.c (scales): Likewise.
8775         * pa.c (import_string, magic_milli): Likewise.
8776         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
8777         * sparc.c (leaf_reg_remap, sparc_override_options,
8778         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
8779         Likewise.
8780         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
8781
8782 2001-10-07  Dale Johannesen  <dalej@apple.com>
8783
8784         * reload1.c (reload_reg_free_p): Teach register interference
8785         checking that multiple output reloads are emitted in
8786         reverse order.
8787         reload1.c (reload_reg_reaches_end_p):  Ditto.
8788         reload1.c (reloads_conflict):  Ditto.
8789
8790 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8791
8792         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
8793         NULL_TREE inside @code.
8794
8795 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8796
8797         * doc/gcc.texi: Document consistent style of "32-bit",
8798         "Objective-C", and "@code{NULL}".
8799
8800 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8801
8802         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
8803         (cpp_token_len, cpp_spell_token, cpp_output_token,
8804         _cpp_equiv_tokens): Handle it.
8805         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
8806         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
8807         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
8808         error messages.
8809
8810 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8811
8812         * gcc.c (default_compilers): Remove .ada.
8813
8814 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8815
8816         * doc/cppinternals.texi: Update.
8817
8818 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8819
8820         * gcc.c (main): Set this_file_error if the appropriate
8821         compiler for a language has not been installed.
8822
8823 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
8824
8825         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
8826
8827 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
8828
8829         * gccbug.in (CATEGORIES): Add ada.
8830
8831 2001-10-05  Catherine Moore  <clm@redhat.com>
8832
8833         * config/stormy16/stormy-abi:  Document abi changes.
8834         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
8835         (ICALL_REGS): New register class.
8836         (NUM_ARGUMENT_REGISTERS): Now 6.
8837         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
8838         in registers.
8839         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
8840         * config/stormy16.md (call_internal, call_value_internal,
8841         indirect_jump): Use new 'z' constraint.
8842
8843 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8844
8845         * doc/cppinternals.texi: Update.
8846
8847 2001-10-05  Richard Henderson  <rth@redhat.com>
8848
8849         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
8850         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
8851         the gas section-name-as-label feature.
8852
8853 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8854
8855         * doc/cppinternals.texi: Update.
8856
8857 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8858
8859         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
8860         to ensure valid SImode constants.
8861
8862 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
8863
8864         * Makefile.in (c-decl.o): Depend on tree-inline.h.
8865         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
8866         * c-decl.c: Include tree-inline.h.
8867         (c_expand_body): Call optimize_inline_calls. Determine whether
8868         a function is inlinable upfront, and only clear
8869         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
8870         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
8871         (c_disregard_inline_limits): New function.
8872         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
8873         (c_post_options): Enable tree inlining if inlining is enabled.
8874         Don't inline trees when instrumenting functions.
8875         (c_init): Initialize lang_disregard_inline_limits and
8876         lang_cannot_inline_tree_fn.
8877         * tree-inline.c (initialize_inlined_parameters): Handle calls
8878         with fewer arguments than declared parameters, and fewer
8879         parameters than passed arguments.  Don't assume value is a
8880         DECL.
8881         (declare_return_variable): Convert return value back to the
8882         original type, if it was promoted.
8883         (tree_inlinable_function_p): New function.
8884         (inlinable_function_p): Don't look at DECL_INLINE if we're
8885         inlining all functions.  Make it work with a NULL id.
8886         Re-check DECL_UNINLINABLE after language-specific checks.
8887         * tree-inline.h (tree_inlinable_function_p): Declare it.
8888         * integrate.c (save_for_inline): Don't bother to prepare argvec
8889         when not inlining.
8890         * cse.c (check_for_label_ref): Don't check deleted labels.
8891
8892         * Makefile.in (tree-inline.o): Depend on newly-included headers.
8893         * tree-inline.c: Include headers needed for the functions moved in.
8894         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
8895         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
8896         (copy_body, initialize_inlined_parameters): Likewise.
8897         (declare_return_variable, inlinable_function_p): Likewise.
8898         (expand_call_inline, expand_calls_inline): Likewise.
8899         (optimize_inline_calls, clone_body): Likewise.
8900         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
8901         (copy_tree_r, remap_save_expr): Likewise.
8902
8903 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
8904
8905         * Makefile.in (OBJS): Added tree-inline.o.
8906         (c-common.o): Depend on tree-inline.h.
8907         (tree-inline.o): New target.
8908         * c-common.c: Include tree-inline.h.
8909         (c_mark_lang_decl): Don't mark saved_tree.
8910         (c_common_lang_init): Set lang_anon_aggr_type_p.
8911         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
8912         (struct c_lang_decl): Moved saved_tree to tree_decl.
8913         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
8914         * integrate.h (function_attribute_inlinable_p): Declare it.
8915         * integrate.c (function_attribute_inlinable_p): Export it.
8916         * tree-inline.c: New file.  Define variables declared in...
8917         * tree-inline.h: New file.  Declare functions to be moved to
8918         tree-inline.c.  Define macros and declare types and hooks for
8919         language-specific tree inlining.
8920         (flag_inline_trees): Moved definition from cp/decl2.c.
8921         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
8922         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
8923         (struct tree_decl): Moved saved_tree from c_lang_decl and
8924         inlined_fns from C++'s lang_decl.
8925
8926 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
8927
8928         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
8929         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
8930
8931 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8932
8933         * doc/cppinternals.texi: Update.
8934
8935 2001-10-04  Eric Christopher  <echristo@redhat.com>
8936
8937         * config/mips/mips.c (init_cumulative_args): Remember to set
8938         cum->prototype.
8939         * config.gcc: Redo linux configuration. Add target_cpu_default
8940         of soft-float to all mipsisa32 combinations and tx39.
8941         * config/mips/linux.h: Remove include of mips.h.
8942
8943 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
8944
8945         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
8946         HOST_LDFLAGS and HOST_CPPFLAGS.
8947
8948 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
8949
8950         * c-parse.in (objc_inherit_code, objc_pq_context,
8951         objc_public_flag): Make static.
8952         (objc_interface_context, objc_implementation_context,
8953         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
8954         global tree array in objc/objc-act.[ch].
8955         (methoddef): Remove unnecessary code.
8956
8957         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
8958         Hoist struct definitions to objc-act.h.
8959         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
8960         cat_count): Place declaration in objc-act.h.
8961         (objc_tree_index): Move enumeration to objc-act.h.
8962         (objc_global_trees): Place declaration and macro accessors in
8963         objc-act.h.
8964         (implementation_context): Remove duplicate; use
8965         objc_implementation_context instead:
8966         (method_context): Remove duplicate; use objc_method_context
8967         instead.
8968         (objc_ellipsis_node, objc_method_prototype_template,
8969         implemented_classes, function_type): Move global vars to
8970         objc_global_trees.
8971         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
8972         (build_message_expr): Move actual construction of ObjC message
8973         send nodes to finish_message_expr.
8974         (finish_message_expr): New routine, contains code formerly in
8975         build_message_expr.
8976         * objc/objc-act.h (finish_message_expr): New prototype.
8977         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
8978         declarations; these vars are now part of objc_global_trees.
8979         (objc_tree_index, objc_global_trees): Move definitions from
8980         objc-act.c.
8981         * objc/objc-tree.def: Update copyright info.
8982
8983 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
8984
8985         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
8986         op is NULL.
8987         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
8988         only if TARGET_ARCH64.
8989
8990 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
8991
8992         * doc/extend.texi: Fix some problems with previous checkin.
8993         * doc/invoke.texi: Likewise.
8994
8995 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8996
8997         * cpphash.h: Update comments.
8998         (cpp_context): Update.
8999         (spec_nodes): Remove n__Pragma.
9000         * cppinit.c (cpp_create_reader): Update.
9001         (builtin_array): Add _Pragma.
9002         * cpplib.h: Update comments.
9003         (NODE_DISABLED, BT_PRAGMA): New.
9004         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9005         * cppmacro.c (struct cpp_macro): Remove disabled.
9006         (builtin_macro): Return int, handle _Pragma, push the new token
9007         on the context stack.
9008         (funlike_invocation_p): Unconstify, update.
9009         (enter_macro_context): Handle builtins here.
9010         (replace_args, push_token_context, push_ptoken_context):
9011         Update for prototype changes.
9012         (_cpp_pop_context): Update.
9013         (cpp_get_token): Don't handle buitins, nor _Pragma here.
9014         (cpp_sys_macro_p): Update.
9015         (_cpp_free_definition): Clear disabled flag.
9016         (_cpp_create_definition): Upate.
9017         * cppmain.c: Update comments.
9018
9019 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
9020                                 Andreas Jaeger <aj@suse.de>,
9021                                 Jan Hubicka    <jh@suse.cz>
9022
9023         * doc/invoke.texi (i386 Options): Document x86-64 options.
9024         (i386 and x86-64 Options): Rename i386 options section.
9025
9026         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9027         (TARGET_SWITCHES): Add -munwind-info.
9028         (MASK_NO_UNWIND_INFO): New.
9029         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9030         biarch compilation.
9031         (ASM_OUTPUT_DOUBLE_INT): New.
9032
9033         * config/i386/linux64.h: New spec file for Linux x86-64 support.
9034         * config.gcc: Fix tm_file settings for x86-64.
9035         * config/i386/x86-64.h: New file with OS independent x86-64
9036         definitions.
9037         * config/i386/biarch64.h: New file used to configure compiler
9038         to biarch/64bit compilation.
9039
9040         * config/i386/i386.c: (override_options): Set flags default
9041         for 64bit compilation.
9042
9043 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
9044
9045         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
9046         (ix86_expand_int_movcc): Optimize DImode conditional moves with
9047         constants on x86_64.
9048         (ix86_attr_length_immediate_default): Support MODE_DI.
9049         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9050         condition.
9051         (indirect_jump, tablejump): Turn into expander.
9052
9053 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9054
9055         * c-common.c (c_format_attribute_table): Make format and
9056         format_arg attributes apply to function types rather than to
9057         decls.
9058         (is_valid_printf_arglist): Construct an attribute list and pass
9059         that to check_function_format rather than a name.
9060         * c-common.h (check_function_format): Adjust prototype.
9061         * c-decl.c (duplicate_decls): Preserve attributes from type of
9062         built-in decl when allowing for harmless conflict in types.
9063         * c-format.c (record_function_format,
9064         record_international_format, function_format_list,
9065         international_format_info, international_format_list): Remove.
9066         (function_format_info): Remove next, name and assembler_name.
9067         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9068         (decode_format_attr): New.
9069         (handle_format_attribute): Handle receiving a type rather than a
9070         decl.  Call decode_format_attr.  Store format information in a
9071         function_format_info.
9072         (handle_format_arg_attribute): Correct comment.  Handle receiving
9073         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
9074         arg_num.
9075         (check_format_info_recurse, check_format_info_main): Take argument
9076         numbers as unsigned HOST_WIDE_INT.
9077         (check_function_format): Take a list of attributes from the
9078         function type rather than a name or assembler name.  Check for
9079         format attributes in that list and the attributes on the type of
9080         the current function rather than looking through
9081         function_format_list.
9082         (check_format_info): Use unsigned HOST_WIDE_INT for argument
9083         numbers.
9084         (check_format_info_recurse): Take format_arg attributes from the
9085         type of the function calls rather than using
9086         international_format_list.  Allow for multiple format_arg
9087         attributes.
9088         * c-typeck.c (build_function_call): Pass type attributes to
9089         check_function_format rather than name or assembler name.  Don't
9090         require there to be a name or assembler name to check formats.
9091
9092 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9093
9094         * attribs.c (decl_attributes): Possibly call
9095         insert_default_attributes to insert default attributes on
9096         functions in a lazy manner.
9097         * builtin-attrs.def: New file; define the default format and
9098         format_arg attributes.
9099         * c-common.c (c_format_attribute_table): Move to earlier in the
9100         file.
9101         (c_common_nodes_and_builtins): Initialize format_attribute_table.
9102         (enum built_in_attribute, built_in_attributes,
9103         c_attrs_initialized, c_init_attributes,
9104         c_common_insert_default_attributes): New.
9105         (c_common_lang_init): Don't initialize format_attribute_table.  Do
9106         call c_init_attributes.
9107         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9108         * c-common.h (init_function_format_info): Don't declare.
9109         (c_common_insert_default_attributes): Declare.
9110         * c-decl.c (implicitly_declare, builtin_function): Call
9111         decl_attributes.
9112         (init_decl_processing): Don't call init_function_format_info.
9113         (insert_default_attributes): New.
9114         * c-format.c (handle_format_attribute,
9115         handle_format_arg_attribute): Be quiet about inappropriate
9116         declaration when applying default attributes.
9117         (init_function_format_info): Remove.
9118         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9119         (insert_default_attributes): Declare.
9120
9121 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
9122
9123         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9124
9125 2001-10-01  Jim Wilson  <wilson@redhat.com>
9126
9127         * sched-deps.c (add_dependence): When elide conditional dependence,
9128         check that insn doesn't modify cond2.
9129
9130 2001-10-01  Dale Johannesen  <dalej@apple.com>
9131
9132         * config/rs6000/rs6000.h (enum processor_type): Add support
9133         for 7400 (G4) and 7450.
9134         (RTX_COSTS): Ditto.
9135         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9136         (rs6000_issue_rate): Ditto.
9137         (rs6000_adjust_cost): Fix cycle counts for compares.
9138         (debug_stack_info):  Fix an obvious typo.
9139         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9140         * doc/invoke.texi: Document.
9141         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9142         for Darwin.
9143         (PROCESSOR_DEFAULT): Ditto.
9144
9145 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9146
9147         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9148         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9149         later recursive make invocation.
9150
9151 2001-10-01  Hans Boehm  <boehm@acm.org>
9152
9153         * optabs.c (emit_libcall_block): When using non-call exceptions,
9154         don't add REG_LIBCALL reg notes to trapping calls.
9155
9156 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9157
9158         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9159         (propagate_one_insn):  Update for above change
9160
9161 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9162
9163         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9164         _Unwind_GetTextRelBase): Argument is unused.
9165
9166 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9167
9168         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9169         Loop through NOPs, placeholders, and components.
9170         Don't go through NOPs if change mode.
9171         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9172         * emit-rtl.c (set_mem_alias_set): Enable check.
9173         * expr.c (find_placeholder): New function.
9174         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9175         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9176         to modify it and avoid unneeded copies.
9177         * expr.h (expand_expr): Always define.
9178         (find_placeholder): New declaration.
9179
9180 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9181
9182         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9183         operand 2 is the stack pointer.
9184         ("addr-peephole"): Fix address computation peephole when operand 2
9185         is the stack pointer.
9186
9187 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9188
9189         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9190         (ix86_setup_incoming_varargs): Likewise.
9191
9192 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9193
9194         * stor-layout.c (layout_type): Don't complain about too-large
9195         array here.
9196
9197 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9198
9199         * function.c (keep_stack_depressed): Don't use delete_insn.
9200
9201         * expr.h (set_mem_alias_set): Move decl to here.
9202         * rtl.h (mem_attrs): New typedef and struct.
9203         (union rtunion_def): Add field for mem_attrs.
9204         (X0MEMATTR, MEM_ATTRS): New macros.
9205         (MEM_ALIAS_SET): Use MEM_ATTRS.
9206         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9207         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9208         (set_mem_alias_set): Delete decl from here.
9209
9210         * alias.c (set_mem_alias_set): Delete from here.
9211         * emit-rtl.c (mem_attrs_htab): New variable.
9212         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9213         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9214         (mem_attrs_mark, get_mem_attrs): Likewise.
9215         (gen_rtx_MEM): Clear MEM_ATTRS.
9216         (set_mem_attributes): Move to here.
9217         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9218         (init_emit_once): const_int_htab now deletable htab.
9219         Initialize mem_attrs_htab.
9220         * explow.c (set_mem_attributes): Delete from here.
9221         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9222         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9223         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9224         * reload1.c (reload): Rework changing REG to MEM.
9225
9226 2001-09-30  H.J. Lu <hjl@gnu.org>
9227
9228         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9229         * config.in: Rebuild.
9230
9231 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9232
9233         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9234         ("tsthi_1"): Avoid allocation in register y.
9235         ("*movqi_68hc12"): Reorganize and fix constraints.
9236         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9237         ("addqi3"): Likewise.
9238         ("addhi3"): Fix constraints.
9239         ("*logicalhi3_zexthi"): Disparage soft registers.
9240
9241 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9242
9243         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9244         to tmp reg.
9245
9246 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9247
9248         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
9249         that we use setjmp/longjmp exceptions.
9250
9251 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9252
9253         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
9254         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
9255         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9256         _cpp_pool_alloc, _cpp_next_chunk): Remove.
9257         (_cpp_extend_buff, BUFF_ROOM): Update.
9258         (_cpp_append_extend_buff): New.
9259         (struct cpp_reader): Remove macro_pool, add a_buff.
9260         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
9261         macro_pool.
9262         (cpp_destroy): Free a_buff instead of macro_pool.
9263         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
9264         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9265         _cpp_pool_alloc, ): Remove.
9266         (parse_number, parse_string): Update use of _cpp_extend_buff.
9267         (_cpp_extend_buff): Update.
9268         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
9269         * cpplib.c (glue_header_name, parse_answer):
9270         Update use of _cpp_extend_buff.
9271         (cpp_register_pragma, cpp_register_pragma_space): Use
9272         _cpp_aligned_alloc.
9273         (do_assert, do_unassert): Check for EOL, update.
9274         * cppmacro.c (stringify_arg, collect_args): Update to use
9275         _cpp_extend_buff and _cpp_append_extend_buff.
9276         (save_parameter, parse_params, alloc_expansion_token,
9277         _cpp_create_definition): Rework memory management.
9278
9279 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
9280
9281         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
9282         update md_exec_prefix.
9283         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
9284         to string constant.
9285
9286 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9287
9288         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
9289         (SELECT_CC_MODE): Use s390_select_ccmode.
9290         * config/s390/s390-protos.h (s390_select_ccmode): Add.
9291         * config/s390/s390.c (s390_select_ccmode): New.
9292         (s390_match_ccmode): Add CCLmode.
9293         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
9294         (output_branch_condition, output_inverse_branch_condition): Removed.
9295         (print_operand): Use s390_branch_condition_mnemonic.
9296         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
9297         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
9298         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
9299
9300         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
9301         when converting conditional branches to far branches.
9302         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
9303         cmpint_di): Use CCSmode instead of CCUmode.
9304
9305         * config/s390/s390.c (legitimate_la_operand_p): New.
9306         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
9307         * config/s390/s390.md (movsi): Convert load address patterns to
9308         arithmetic operations when necessary.
9309         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
9310         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
9311         (*do_la_reg_0): Don't use before reload.
9312
9313         * config/s390/s390.c (legitimize_address): Make more efficient
9314         use of two-register addressing mode.
9315
9316         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
9317         with -mno-backchain in some corner cases.
9318
9319         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
9320
9321 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
9322
9323         * reload.c (find_reloads): Mark new USE insns with QImode.
9324         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
9325         find_reloads_subreg_address): Likewise.
9326         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
9327         encountered.
9328         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
9329         CLOBBERs.
9330         (reload): Make sure there are no USEs with mode other than
9331         VOIDmode.  At the end, remove those marked with QImode.
9332
9333 2001-09-29  Per Bothner  <per@bothner.com>
9334
9335         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
9336         * Makefile.in (includedir):  Rename to local_includedir.
9337         (includedir):  Define as $(prefix)/include.
9338         * config.in (PREFIX_INCLUDE_DIR):  New variable.
9339         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
9340
9341 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
9342
9343         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
9344         storehps builtins.
9345         * doc/extend.texi (Vector Extensions): New node.
9346         * doc/invoke.texi (Machine Dependent Options): Add documentation for
9347         i386 -mmmx, -msse, -m3dnow.
9348
9349 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9350
9351         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
9352
9353 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
9354
9355         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
9356
9357         * doc/invoke.texi (Optimize Options): Delete spurious @table.
9358
9359 2001-09-28  Richard Henderson  <rth@redhat.com>
9360
9361         * varasm.c (assemble_integer): Bound alignment check by
9362         BIGGEST_ALIGNMENT.
9363
9364         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
9365
9366 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9367
9368         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
9369
9370 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9371
9372         Mostly from Graham Stott  <grahams@redhat.com>
9373         * c-common.c (type_for_mode): Add support for V2SFmode.
9374         * tree.c (build_common_tree_nodes_2): Likewise.
9375         * tree.h (enum tree_index, global_trees): Likewise.
9376         * config/i386/i386.c (x86_3dnow_a): New variable.
9377         (override_options): Support 3Dnow extensions.
9378         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
9379         Athlon's version of 3Dnow.
9380         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
9381         (ix86_expand_builtin): Handle them.
9382         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
9383         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
9384         TARGET_3DNOW_A): New macros.
9385         (TARGET_SWITCHES): Add 3Dnow switches.
9386         (VALID_MMX_REG_MODE_3DNOW): New macro.
9387         (VECTOR_MODE_SUPPORTED_P): Use it.
9388         (enum ix86_builtins): Add entries for 3Dnow builtins.
9389         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
9390         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
9391         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
9392         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
9393         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
9394         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
9395         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
9396         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
9397         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
9398         sfence_insn, prefetch): Make these available if TARGET_SSE or
9399         TARGET_3DNOW_A.
9400
9401 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9402
9403         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
9404         ix86_va_start, ix86_build_va_list): Declare.
9405         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
9406         ix86_va_start, ix86_build_va_list): New global functions.
9407         * i386.md (sse_prologue_save_insn): New insn.
9408         (sse_prologue_save): New expander.
9409         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
9410         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
9411
9412 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9413
9414         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
9415         Use size_t everywhere, make definitions consistent with
9416         prototypes.
9417
9418 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
9419
9420         * gcse.c (replace_store_insn): Use delete_insn.
9421         * loop.c (move_movables): Likewise; avoid delete_insn
9422         from clobbering notes moved elsewhere.
9423         (check_dbra_loop): Use delete_insn.
9424         * ssa.c (convert_from_ssa): Likewise.
9425         * cse.c (cse_insn): Use delete_insn.
9426
9427 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9428
9429         * cpphash.h (struct cpp_buff): Make unsigned.
9430         (_cpp_get_buff): Take length of size_t.
9431         (_cpp_unaligned_alloc): New.
9432         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
9433         (struct cpp_reader): Remove ident_pool.  Add u_buff.
9434         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
9435         (cpp_destroy): Destroy u_buff, not ident_pool.
9436         * cpplex.c (parse_number, parse_string, save_comment,
9437         cpp_token_as_text): Update to use the unaligned buffer.
9438         (new_buff): Make unsigned.
9439         (_cpp_unaligned_alloc): New.
9440         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
9441         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
9442         Similarly.
9443         (collect_args): Make unsigned.
9444
9445 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
9446
9447         * cpplex.c (cpp_output_token): Use a putc loop for
9448         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
9449
9450         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
9451         * configure, config.in: Regenerate.
9452         * system.h: Replace fwrite and fprintf with their unlocked
9453         variants if available.
9454
9455 2001-09-27  Richard Henderson  <rth@redhat.com>
9456
9457         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
9458         in favour of .eh_frame.
9459
9460 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
9461
9462         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
9463         to macros.
9464         (LIBCALL_VALUE): Likewise.
9465
9466 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9467
9468         * cpphash.h: Update comment.
9469         * cpplex.c: Update comments.
9470         (_cpp_can_paste): Remove.
9471         * cpplib.h (_cpp_can_paste): Remove.
9472         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
9473         lexer rather than _cpp_can_paste.
9474
9475 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9476
9477         * doc/cppinternals.texi: Update.
9478
9479 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9480
9481         * cpphash.h (struct cpp_pool): Remove locks and locked.
9482         (struct cpp_context): Add member buff.
9483         (struct cpp_reader): Remove member argument_pool.
9484         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9485         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
9486         * cpplex.c (chunk_suitable): Remove pool argument.
9487         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
9488         (new_buff, _cpp_extend_buff): Update.
9489         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
9490         which buffer is returned.
9491         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
9492         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9493         * cppmacro.c (lock_pools, unlock_pools): Remove.
9494         (push_ptoken_context): Take a _cpp_buff.
9495         (enter_macro_context): Pool locking removed.
9496         (replace_args): Use a _cpp_buff for the replacement list with
9497         arguments replaced.
9498         (push_token_context): Clear buff.
9499         (expand_arg): Use _cpp_pop_context.
9500         (_cpp_pop_context): Free a context's buffer, if any.
9501
9502 2001-09-26  DJ Delorie  <dj@redhat.com>
9503
9504         * c-typeck.c (digest_init): Check for sizeless arrays.
9505
9506 2001-09-26  Richard Henderson  <rth@redhat.com>
9507
9508         * optabs.c (init_one_libfunc): Create a dummy function type
9509         instead of using error_mark_node.
9510
9511 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9512
9513         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
9514         _cpp_extend_buff, _cpp_free_buff): New.
9515         (struct cpp_reader): New member free_buffs.
9516         * cppinit.c (cpp_destroy): Free buffers.
9517         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
9518         _cpp_extend_buff, _cpp_free_buff): New.
9519         * cpplib.h (struct cpp_options): Remove unused member.
9520         * cppmacro.c (collect_args): New.  Combines the old parse_arg
9521         and parse_args.  Use _cpp_buff for memory allocation.
9522         (funlike_invocation_p, replace_args): Update.
9523
9524 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9525
9526         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
9527
9528 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
9529
9530         * except.c (sjlj_mark_call_sites): Change address inside sequence.
9531
9532 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
9533
9534         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
9535         glibc.
9536
9537 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
9538             Jim Wilson  <wilson@redhat.com>
9539
9540         * doc/install.texi (Specific, ia64-*-linux): Document.
9541
9542 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9543
9544         * Makefile.in (cfgrtl.o): Add.
9545         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9546         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9547         free_aux_for_edge): Declare.
9548         * cfg.c
9549         (HAVE_return): Undefine.
9550         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9551         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9552         free_aux_for_edge): New global functions.
9553         (first_delete_block): New static variable.
9554         (init_flow): Clear first_delete_block.
9555         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
9556          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
9557          try_redirect_by_replacing_jump, last_loop_beg_note,
9558          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
9559          delete_insn, delete_insn_chain, create_basic_block_structure,
9560          create_basic_block, flow_delete_block, compute_bb_for_insn,
9561          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
9562          set_block_for_new_insns, split_block, merge_blocks_nomove,
9563          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
9564          redirect_edge_and_branch, force_nonfallthru_and_redirect,
9565          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
9566          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
9567          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
9568          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9569          purge_all_dead_edges): Move to ....
9570         * cfgrtl.c: New file; .... Here.
9571
9572         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
9573         (reroder_basic_block): Use alloc_aux_for_blocks.
9574         * predict.c (estimate_bb_frequencies): Likewise; use
9575         alloc_aux_for_edges.
9576         * profile.c (compute_branch_probabilities): Likewise.
9577         (branch_prob): Likewise.
9578         * reg-stack.c (reg_to_stack): Likewise.
9579
9580         * emit-rtl.c (emit_insns_after): Never return NULL.
9581
9582         * basic-block.h (set_block_for_new_insns): Delete.
9583         * cfgrtl.c (set_block_for_new_insns): Delete.
9584
9585         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
9586         calls when crossjumping.
9587
9588         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
9589         * unroll.c (copy_loop_body): Use delete_insn.
9590
9591         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
9592         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
9593         keep_stack_depressed): Likewise.
9594         * gcse.c (cprop_cc0_jump): Likewise.
9595         * local-alloc.c (update_equiv_regs): Likewise.
9596         * loop.c (scan_loop, loop_delete_insns): Likewise.
9597         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
9598         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
9599         delete_output_reload, delete_address_reloads_1,
9600         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
9601         Likewise.
9602         * sibcall.c (replace_call_placeholder): Likewise.
9603         * cse.c (cse_insn): Likewise.
9604
9605 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9606
9607         From Graham Stott  <grahams@redhat.com>
9608         (def_builtin): Only define builtins appropriate for target_flags.  All
9609         callers changed.
9610         (builtin_decsription): Add new field mask which is used to determine
9611         when to define the builtin via the macro def_builtin.
9612
9613         (bdesc_comi): Initialise new mask fields.
9614         (bdesc_2srg): Likewise.
9615         (bdesc_1arg): Likewise.
9616
9617         * config/i386/i386.c (ix86_init_builtins): Correct return type
9618         building v4hi_ftype_v4hi_int_int tree node.
9619         (ix86_expand_sse_comi): Fix typo swapping operands.
9620         Don't swap comparision condition, it is already swapped.
9621         (ix86_expand_sse_compare): Before swapping operands
9622         move operand 1 into new rtx and not the target rtx.
9623         Don't swap comparison condition, it is already swapped.
9624         Always check whether we need to create a new TARGET.
9625
9626         * config/i386/i386.md: (sse_comi) Fix typos.
9627         (sse_ucomi): Likewise.
9628         (cvtss2si): Fix operand 0 contraint.
9629         (cvttss2si): Likewise.
9630         (sse_unpckhps): Fix mode for operand 2.
9631         (sse_unpcklps): Likewise.
9632
9633 2001-09-25  Graham Stott  <grahams@redhat.com>
9634
9635         * sibcall.c (skip_copy_to_return_value): Tighten return value
9636         copy check.
9637
9638 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
9639
9640         * rs6000.c (lwa_operand): Address must be word aligned.
9641
9642 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9643
9644         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
9645         number has been set.
9646         (type_hash_mark): Mark type itself.
9647
9648 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9649
9650         * c-lex.c (cb_def_pragma): Update.
9651         (c_lex): Update, and skip padding.
9652         * cppexp.c (lex, parse_defined): Update, remove unused variable.
9653         * cpphash.h (struct toklist): Delete.
9654         (union utoken): New.
9655         (struct cpp_context): Update.
9656         (struct cpp_reader): New members eof, avoid_paste.
9657         (_cpp_temp_token): New.
9658         * cppinit.c (cpp_create_reader): Update.
9659         * cpplex.c (_cpp_temp_token): New.
9660         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
9661         (cpp_output_token): Don't print leading whitespace.
9662         (cpp_output_line): Update.
9663         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
9664         do_include_common, do_line, do_ident, do_pragma,
9665         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
9666         parse_assertion): Update.
9667         (get_token_no_padding): New.
9668         * cpplib.h (CPP_PADDING): New.
9669         (AVOID_LPASTE): Delete.
9670         (struct cpp_token): New union member source.
9671         (cpp_get_token): Update.
9672         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
9673         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
9674         replace_args, quote_string, stringify_arg, parse_arg, next_context,
9675         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
9676         _cpp_backup_tokens, _cpp_create_definition): Update.
9677         (push_arg_context): Delete.
9678         (padding_token, push_token_context, push_ptoken_context): New.
9679         (make_string_token, make_number_token): Update, rename.
9680         (cpp_get_token): Update to handle tokens as pointers to const,
9681         and insert padding appropriately.
9682         * cppmain.c (struct printer): New member prev.
9683         (check_multiline_token): Constify.
9684         (do_preprocessing, cb_line_change): Update.
9685         (scan_translation_unit): Update to handle spacing.
9686         * scan-decls.c (get_a_token): New.
9687         (skip_to_closing_brace, scan_decls): Update.
9688         * fix-header.c (read_scan_file): Update.
9689
9690         * doc/cpp.texi: Update.
9691
9692 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9693
9694         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
9695         leak by passing malloc'ed pointer to reconcat, not concat.
9696
9697 2001-09-24  DJ Delorie  <dj@redhat.com>
9698
9699         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
9700
9701 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
9702
9703         * flow.c (delete_dead_jumptables): Delete jumptable if the only
9704         reference is from the literal pool.
9705
9706 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
9707
9708         * doc/install.texi (Final install): Request additional information
9709         in mail about successful builds.
9710
9711 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9712
9713         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
9714         initial value of return pointer register instead of value in frame-20.
9715         Revise comments.
9716
9717 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9718
9719         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
9720         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
9721         the libcall if there isn't a referenced identifier for the symbol.
9722
9723 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9724
9725         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
9726         non 64-bit machines.  Use these as a plabel for the trampoline.
9727         (TRAMPOLINE_SIZE): Adjust size for new words.
9728         (INITIALIZE_TRAMPOLINE): Initialize new words.
9729         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
9730         pointer to the plabel in the trampoline.
9731
9732 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9733
9734         * pa.c (function_arg): Pass floating arguments in both general and
9735         floating registers in indirect (dynamic) calls when generating code
9736         for the 32 bit ABI and the HP assembler.
9737
9738 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9739
9740         * doc/install.texi: Markup fixes.
9741         Use Solaris 2, SunOS 4 as appropriate.
9742         (Specific, *-*-solaris2*): Explain this.
9743         Unconditionally warn against /usr/ucb tools.
9744         Remove Sun as warning, obsolete.
9745         Move X11 header bug workaround here, update patches.
9746         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
9747         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
9748
9749 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
9750
9751         * errors.h (warning, error, fatal, internal_error): Don't mark
9752         with ATTRIBUTE_PRINTF_n.
9753         * toplev.h (internal_error, fatal_io_error, warning, error,
9754         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
9755         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
9756         Likewise.
9757
9758 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9759
9760         * function.c (pop_function_context_from): var_refs_queue
9761         and temp slots now in GC memory.
9762         (mark_function_status, free_after_compilation): Likewise;
9763         also struct function now in GC memory.
9764         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
9765         (combine_temp_slots): Likewise.
9766         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
9767         (prepare_function_start): Use GC memory for struct function.
9768         (mark_temp_slot): Deleted.
9769         (gcc_mark_struct_function): struct function now in GC memory.
9770
9771         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
9772         code for division, not modulus.
9773
9774         * rtl.def (MEM): Remove obsolete part of comment.
9775
9776 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
9777
9778         * c-format.c (init_function_format_info): Check __builtin_printf
9779         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
9780         in gnu89 mode.
9781
9782 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9783
9784         * c-common.c (format_attribute_table): Remove decl.
9785         * tree.h (format_attribute_table, lang_attribute_table): New decls.
9786         (lang_attribute_common): Likewise.
9787
9788         * function.c (fix_lexical_address): Use set_mem_alias_set.
9789         (expand_function_start): Likewise.
9790         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
9791
9792         * varasm.c (output_constant): Fix unused variable warning.
9793
9794         * attribs.c: New file, from c-common.c.
9795         (attribute_tables): Now four elements.
9796         (format_attribute_table, lang_attribute_common): New variables.
9797         (init_attributes): Reflect above changes.
9798         (handle_mode_attribute): Delete check for wider than uintmax.
9799         * c-common.c: Delete parts moved to attribs.c.
9800         (enum attrs): Deleted; unused.
9801         (c_format_attribute_table): New variable.
9802         (c_common_lang_init): Initialize format_attribute_table with it.
9803         * c-common.h (decl_attributes): Remove decl.
9804         * tree.h (decl_attribute): Move it to here.
9805         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
9806         (attribs.o): New rule.
9807
9808 2001-09-22  Andreas Jaeger  <aj@suse.de>
9809
9810         * builtins.c (c_getstr): Remove unused variable.
9811
9812 2001-09-21  Richard Henderson  <rth@redhat.com>
9813
9814         * reload1.c (reload): Use delete_insn instead of splatting
9815         NOTE_INSN_DELETED.
9816
9817 2001-09-21  Richard Henderson  <rth@redhat.com>
9818
9819         * reload.c (push_secondary_reload): Don't check for "=" in output
9820         constraint after ""->ALL_REGS check.
9821
9822 2001-09-21  Richard Henderson  <rth@redhat.com>
9823
9824         * predict.c (expected_value_to_br_prob): Use pc_set.
9825
9826         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
9827         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
9828
9829 2001-09-21  Richard Henderson  <rth@redhat.com>
9830
9831         * rtl.h (LCT_RETURNS_TWICE): New.
9832         * calls.c (emit_call_1): Set current_function_calls_setjmp for
9833         ECF_RETURNS_TWICE.
9834         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
9835         to ECF_RETURNS_TWICE.
9836         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
9837         call to setjmp.
9838
9839         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
9840
9841         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
9842         (JMP_BUF_SIZE): New.
9843
9844 2001-09-21  Richard Henderson  <rth@redhat.com>
9845
9846         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
9847         to R8_REGS.
9848
9849 2001-09-21  Richard Henderson  <rth@redhat.com>
9850
9851         * tree.def (FDESC_EXPR): New.
9852         * expr.c (expand_expr): Handle it.
9853         * varasm.c (initializer_constant_valid_p): Likewise.
9854         (output_constant): Likewise.
9855         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9856         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9857         (ASM_OUTPUT_FDESC): New.
9858         * doc/tm.texi: Document the new macros.
9859
9860 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9861
9862         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
9863         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
9864         once merging is complete.
9865
9866 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9867
9868         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
9869
9870 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9871
9872         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
9873         that would be invalid after a merge.
9874
9875 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
9876
9877         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
9878         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
9879         remove some labels.
9880         (flow_delete_insn): This one.
9881         (delete_insn_chain): Rename from ...; do not care labels.
9882         (flow_delete_insn_chain): ... this one.
9883         (flow_delete_block): Remove the insns one BB has been expunged.
9884         (merge_blocks_nomove): Likewise.
9885         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
9886         updating BB boundaries.
9887         (tidy_fallthru_edge): Likewise.
9888         (commit_one_edge_insertion): Likewise.
9889         * cfgbuild.c (find_basic_block): Likewise.
9890         (find_basic_blocks_1): Likewise.
9891         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
9892         (try_crossjump_to_edge): Likewise.
9893         (try_optimize_cfg): Likewise.
9894         * cse.c (delete_trivially_dead_insns): Likewise.
9895         * df.c (df_insn_delete): Likewise.
9896         * doloop.c (doloop_modify): Use delete_related_insns.
9897         * emit-rtl.c (try_split): Likewise.
9898         (remove_insn): Update BB boundaries.
9899         * expect.c (connect_post_landing_pads): Use delete_related_insns.
9900         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
9901         updating BB boundaries.
9902         (propagate_block_delete_insn): Likewise.
9903         (propagate_block_delete_libcall): Likewise.
9904         * function.c (delete_handlers): Use delete_related_insns.
9905         (thread_prologue_and_epilogue_insns): Likewise.
9906         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
9907         * genpeep.c (gen_peephole): Use delete_related_insns.
9908         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
9909         BB boundaries.
9910         (find_cond_trap): Likewise.
9911         * integrate.c (save_for_inline): Use delete_related_insns.
9912         (copy_insn_list): Likewise.
9913         * jump.c (pruge_linie_number_notes): Likewise.
9914         (duplicate_loop_exit_test): Likewise.
9915         (delete_computation): Likewise.
9916         (delete_related_insn): Rename from ...; use delete_insn
9917         (delete_insn): ... this one.
9918         (redirect_jump): Use delete_related_insns.
9919         * loop.c (scan_loop): Likewise.
9920         (move_movables): Likewise.
9921         (find_and_verify_loops): Likewise.
9922         (check_dbra_loop): Likewise.
9923         * recog.c (peephole2_optimize): Likewise.
9924         * reg-stack.c (delete_insn_for_stacker): Remove.
9925         (move_for_stack_reg): Use delete_insn.
9926         * regmove.c (combine_stack_adjustments_for_block): Likewise.
9927         * reload1.c (delete_address_reloads): Use delete_related_insns.
9928         (fixup_abnormal_edges): Use delete_insn.
9929         * recog.c (emit_delay_sequence): Use delete_related_insns.
9930         (delete_from-delay_slot): Likewise.
9931         (delete_scheduled_jump): likewise.
9932         (optimize_skip): Likewise.
9933         (try_merge_delay_insns): Likewise.
9934         (full_simple_delay_slots): Likewise.
9935         (fill_slots_from_thread): Likewise.
9936         (relax_delay_slots): Likewise.
9937         (make_return_insns): Likewise.
9938         (dbr_schedule): Likewise.
9939         * rtl.h (delete_insn): Rename to delete_related_insns.
9940         (delete_insn, delete_insn_chain): New prototypes.
9941         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
9942         by df_insn_delete already.
9943         * ssa-dce.c (delete_insn_bb): Use delete_insn.
9944         * ssa.c (convert_from_ssa): Use delete_related_insns.
9945         * unroll.c (unroll_loop): Likewise.
9946         (calculate_giv_inc): Likewise.
9947         (copy_loop_body): Likewise.
9948
9949         * i386-protos.h (ix86_libcall_value, ix86_function_value,
9950         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9951         ix86_return_in_memory, ix86_function_value): Declare.
9952         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
9953         new static valurables.
9954         (x86_64_reg_class): New enum
9955         (x86_64_reg_class_name): New array.
9956         (classify_argument, examine_argument, construct_container,
9957          merge_classes): New static functions.
9958         (optimization_options): Enable flag_omit_frame_pointer and disable
9959         flag_pcc_struct_return on 64bit.
9960         (ix86_libcall_value, ix86_function_value,
9961         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9962         ix86_return_in_memory, ix86_function_value): New global functions.
9963         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
9964         (function_arg_advance): Handle x86_64 passing conventions.
9965         (function_arg): Likewise.
9966         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
9967         (RETURN_IN_MEMORY): Move offline.
9968         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
9969         (FUNCTION_VALUE_REGNO_P): New macro.
9970         (FUNCTION_ARG_REGNO_P): Move offline.
9971         (struct ix86_args): Add maybe_vaarg.
9972         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
9973         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
9974
9975 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
9976
9977         * s390.md: Changed attributes for scheduling.
9978         * s390.c: (s390_adjust_cost, s390_adjust_priority)
9979         Changed scheduling
9980
9981 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
9982
9983         Table-driven attributes.
9984         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
9985         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
9986         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
9987         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
9988         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
9989         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
9990         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
9991         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
9992         * tree.h (struct tree_decl): Change machine_attributes to
9993         attributes.
9994         * doc/c-tree.texi: Document that all attributes are now attached
9995         to decls and types.
9996         * c-common.c (add_attribute, attrtab, attrtab_idx,
9997         default_valid_lang_attribute, valid_lang_attribute): Remove.
9998         (attribute_tables, attributes_initialized,
9999         c_common_attribute_table, default_lang_attribute_table): New
10000         variables.
10001         (handle_packed_attribute, handle_nocommon_attribute,
10002         handle_common_attribute, handle_noreturn_attribute,
10003         handle_unused_attribute, handle_const_attribute,
10004         handle_transparent_union_attribute, handle_constructor_attribute,
10005         handle_destructor_attribute, handle_mode_attribute,
10006         handle_section_attribute, handle_aligned_attribute,
10007         handle_weak_attribute, handle_alias_attribute,
10008         handle_no_instrument_function_attribute,
10009         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10010         handle_no_limit_stack_attribute, handle_pure_attribute): New
10011         functions.
10012         (init_attributes, decl_attributes): Rewrite to implement
10013         table-driven attributes.
10014         * c-common.h (enum attribute_flags): Move to tree.h.
10015         * c-format.c (decl_handle_format_attribute,
10016         decl_handle_format_arg_attribute): Rename to
10017         handle_format_attribute and handle_format_arg_attribute.  Update
10018         for table-driven attributes.
10019         * c-common.h (decl_handle_format_attribute,
10020         decl_handle_format_arg_attribute): Remove prototypes.
10021         (handle_format_attribute, handle_format_arg_attribute): Add
10022         prototypes.
10023         * c-decl.c (grokdeclarator): Handle attributes nested inside
10024         declarators.
10025         * c-parse.in (setattrs, maybe_setattrs): Remove.
10026         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10027         Update to handle nested attributes properly.
10028         (maybe_resetattrs, after_type_declarator,
10029         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10030         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10031         properly.
10032         (make_pointer_declarator): Update to handle nested attributes
10033         properly.
10034         * doc/extend.texi: Update documentation of limits of attributes
10035         syntax.  Warn about problems with attribute semantics in C++.
10036         * target.h (struct target): Remove valid_decl_attribute and
10037         valid_type_attribute.  Add attribute_table and
10038         function_attribute_inlinable_p.
10039         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10040         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10041         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10042         Add.
10043         (TARGET_INITIALIZER): Update.
10044         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10045         definition.
10046         (function_attribute_inlinable_p): New function.  Check for the
10047         presence of any machine attributes before using
10048         targetm.function_attribute_inlinable_p.
10049         (function_cannot_inline_p): Update.
10050         * Makefile.in (integrate.o): Update dependencies.
10051         * doc/tm.texi: Update documentation of target attributes and
10052         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10053         * tree.c (default_valid_attribute_p, valid_machine_attribute):
10054         Remove.
10055         (default_target_attribute_table,
10056         default_function_attribute_inlinable_p): New.
10057         (lookup_attribute): Update comment to clarify handling of multiple
10058         attributes with the same name.
10059         (merge_attributes, attribute_list_contained): Allow multiple
10060         attributes with the same name but different arguments to appear in
10061         the same attribute list.
10062         * tree.h (default_valid_attribute_p): Remove prototype.
10063         (struct attribute_spec): New.
10064         (default_target_attribute_table): Declare.
10065         (enum attribute_flags): Move from c-common.h.  Add
10066         ATTR_FLAG_TYPE_IN_PLACE.
10067         (default_function_attribute_inlinable_p): Declare.
10068         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10069         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10070         (TARGET_ATTRIBUTE_TABLE): Define.
10071         (vms_attribute_table): New.
10072         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10073         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10074         (TARGET_ATTRIBUTE_TABLE): Define.
10075         (arc_attribute_table, arc_handle_interrupt_attribute): New.
10076         * config/arm/arm.c (arm_valid_type_attribute_p,
10077         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10078         Remove.
10079         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10080         define.
10081         (TARGET_ATTRIBUTE_TABLE): Define.
10082         (arm_attribute_table, arm_handle_fndecl_attribute,
10083         arm_handle_isr_attribute): New.
10084         * config/avr/avr.c (avr_valid_type_attribute,
10085         avr_valid_decl_attribute): Remove.
10086         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10087         define.
10088         (TARGET_ATTRIBUTE_TABLE): Define.
10089         (avr_attribute_table, avr_handle_progmem_attribute,
10090         avr_handle_fndecl_attribute): New.
10091         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10092         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10093         (TARGET_ATTRIBUTE_TABLE): Define.
10094         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10095         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10096         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10097         (TARGET_ATTRIBUTE_TABLE): Define.
10098         (h8300_attribute_table, h8300_handle_fndecl_attribute,
10099         h8300_handle_eightbit_data_attribute,
10100         h8300_handle_tiny_data_attribute): New.
10101         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10102         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10103         Remove prototypes.
10104         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10105         declarations.
10106         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10107         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10108         define.
10109         (TARGET_ATTRIBUTE_TABLE): Define.
10110         (ix86_attribute_table, ix86_handle_cdecl_attribute,
10111         ix86_handle_regparm_attribute): New.
10112         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10113         i386_pe_valid_type_attribute_p): Remove.
10114         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10115         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10116         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10117         (TARGET_ATTRIBUTE_TABLE): Define.
10118         (ia64_attribute_table): New.
10119         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10120         interrupt_ident2, model_ident1, model_ident2): Remove.
10121         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10122         (TARGET_ATTRIBUTE_TABLE): Define.
10123         (init_idents): Update.
10124         (m32r_attribute_table, m32r_handle_model_attribute): New.
10125         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10126         Remove.
10127         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10128         (TARGET_ATTRIBUTE_TABLE): Define.
10129         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10130         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10131         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10132         (TARGET_ATTRIBUTE_TABLE): Define.
10133         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10134         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10135         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10136         (TARGET_ATTRIBUTE_TABLE): Define.
10137         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10138         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10139         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10140         (TARGET_ATTRIBUTE_TABLE): Define.
10141         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10142         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10143         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10144         (TARGET_ATTRIBUTE_TABLE): Define.
10145         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10146         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10147         New.
10148         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10149         Remove.
10150         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10151         (TARGET_ATTRIBUTE_TABLE): Define.
10152         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10153         New.
10154         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10155         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10156         (TARGET_ATTRIBUTE_TABLE): Define.
10157         (v850_attribute_table, v850_handle_interrupt_attribute,
10158         v850_handle_data_area_attribute): New.
10159         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10160         Return void.  Call decl_attributes instead of
10161         valid_machine_attribute.
10162
10163 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10164
10165         * sh-protos.h (sh_pr_n_sets): Declare.
10166         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10167         look at the copy to determine if PR needs to be saved.
10168         sh_pr_n_sets: New function.
10169         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10170         (ALLOCATE_INITIAL_VALUE): Define.
10171
10172         * sh.c (initial_elimination_offset):
10173         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10174
10175 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10176
10177         * integrate.c (allocate_initial_values): New function.
10178         * integrate.h (allocate_initial_values): Declare.
10179         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10180         here...
10181         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10182         from here...
10183         * toplev.c (rest_of_compilation): To here.
10184         Call allocate_initial_values.
10185         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10186
10187 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10188
10189         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10190
10191 2001-09-20  DJ Delorie  <dj@redhat.com>
10192
10193         * c-typeck.c (really_start_incremental_init): Discriminate
10194         between zero-length arrays and flexible arrays.
10195         (push_init_level): Detect zero-length arrays and handle them
10196         like fixed-sized arrays.
10197         * expr.c (store_constructor): Handle zero-length arrays and
10198         flexible arrays correctly.
10199         * doc/extend.texi: Update zero-length array notes.
10200
10201 2001-09-20  Jim Wilson  <wilson@redhat.com>
10202
10203         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10204         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10205         for issue port conflicts.
10206         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10207
10208 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10209
10210         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10211         on ia64.
10212
10213 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10214
10215         * fold-const.c (hashtab.h): Include.
10216         (int_const_binop): Remove FORSIZE arg and compute from type; all
10217         callers changed.
10218         Call size_int_type_wide for all single-word constants.
10219         (size_htab_hash, size_htab_eq): New functions.
10220         (size_int_type_wide): Rework to use hash table.
10221         * ggc-common.c (hashtab.h): Include.
10222         (struct d_htab_root): New struct.
10223         (d_htab_roots): New variable.
10224         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10225         (ggc_mark_roots): Handle deletable htabs.
10226         * ggc-page.c (ggc_marked_p): New function.
10227         * ggc-simple.c (ggc_marked_p): Likewise.
10228         * ggc.h: Reformatting throughout.
10229         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10230         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10231         (type_hash_add): Allocate struct type_hash from GC memory.
10232         (mark_hash_entry, mark_type_hash): Deleted.
10233         (type_hash_marked_p, type_hash_mark): New functions.
10234         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10235
10236 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10237
10238         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10239         than SImode.
10240
10241 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10242
10243         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10244         array-too-large test for signed sizetype.
10245
10246 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10247
10248         * i386.md (indirect_jump): Allow Pmode operand.
10249         (tablejump): LIkewise; perform expansion to 64bit mode.
10250         * i386.c (symbolic_operand): Allow 64bit PIC references.
10251         (pic_symbolic_operand): Likewise.
10252         (ix86_find_base_term): Strip the 64bit PIC references.
10253         (legitimate_pic_address_disp_p): Handle 64bit PIC.
10254         (legitimize_pic_address): Likewise.
10255         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
10256         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
10257
10258 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
10259
10260         * stringpool.c (get_identifier_with_length): New function.
10261         * tree.h (get_identifier_with_length): New prototype.
10262
10263 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
10264             David Edelsohn  <edelsohn@gnu.org>
10265
10266         Revert:
10267         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
10268         already sign-extended.
10269
10270         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
10271         * config/rs6000/rs6000.c (logical_operand): Always compare op as
10272         HOST_WIDE_INT.
10273         (rs6000_emit_set_long_const): Avoid unnecessary shift.
10274         (output_profile_hook): Declare label_name const.
10275         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
10276         to match constraints.
10277
10278 2001-09-19  Stan Shebs  <shebs@apple.com>
10279
10280         * alias.c: Fix typos in comments.
10281         * sched-rgn.c (init_ready_list): Ditto.
10282         * unwind-dw2.c (uw_frame_state_for): Ditto.
10283         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
10284         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
10285         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
10286
10287 2001-09-19  Richard Henderson  <rth@redhat.com>
10288
10289         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
10290         to the exit block.
10291         * Makefile.in (cfg.o): Depend on TM_P_H.
10292
10293 2001-09-19  Richard Henderson  <rth@redhat.com>
10294
10295         * config/alpha/alpha.c (local_symbol_p): Split out from ...
10296         (local_symbolic_operand): ... here.
10297         (small_symbolic_operand): Check mode.
10298         (global_symbolic_operand): New.
10299         (input_operand): Reject symbolics if explicit relocs.
10300         (call_operand): Tidy.
10301         (alpha_legitimize_address): Use movdi_er_high_g.
10302         (alpha_expand_mov): Likewise.
10303         * config/alpha/alpha-protos.h: Update.
10304         * config/alpha/alpha.h (PREDICATE_CODES): Update.
10305         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
10306         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
10307         (UNSPECV_LDGP2): Remove.
10308         (all call patterns): Use 's' not 'i' for symbolic constraint.
10309         (call_osf call_value_osf): Use call_operand.
10310         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
10311         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
10312         (prologue_ldgp_1_er): Remove.
10313         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
10314         (builtin_setjmp_receiver_er patterns): Use them.
10315         (exception_receiver_er): Likewise.
10316
10317 2001-09-19  Richard Henderson  <rth@redhat.com>
10318
10319         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
10320
10321         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
10322         and NON_LOCAL_GOTO notes.
10323         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
10324         copy over CALL_INSN_FUNCTION_USAGE.
10325
10326 2001-09-18  Catherine Moore  <clm@redhat.com>
10327
10328         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
10329         Define as 0.
10330
10331 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
10332
10333         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
10334         new-style tm_file specification.  Specify correct tm_p_file,
10335         md_file, and out_file for s390x.
10336
10337         * config/s390/linux.h, linux64.h:  Don't include other target
10338         macro header files.  Now handled via tm_file.
10339
10340         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
10341         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
10342         are defined before use.
10343
10344 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
10345
10346         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
10347         code generation only for Gnu assembler.
10348
10349 2001-09-18  Catherine Moore  <clm@redhat.com>
10350
10351         * config/stormy16 (LIB_SPEC): Remove -lnosys.
10352
10353 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
10354
10355         * config/mips/mips.c (mips_frame_set): New.
10356         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
10357         a parallel frame-related expression with a set for each register.
10358
10359 2001-09-18  Philip Blundell  <philb@gnu.org>
10360
10361         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
10362         header files.
10363
10364 2001-09-17  Dale Johannesen  <dalej@apple.com>
10365
10366         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
10367         * config/rs6000/aix.h (FIXED_R2): Define.
10368         * config/rs6000/darwin.h (FIXED_R2): Define.
10369         * config/rs6000/sysv4.h (FIXED_R2): Define.
10370
10371 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
10372
10373         * except.c (dw2_build_landing_pads): New local
10374         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
10375         barrier after clobbers.  Fixes c++/4012.
10376
10377 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10378
10379         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
10380
10381 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10382
10383         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
10384         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
10385
10386 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10387
10388         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
10389         alloca/strcpy.
10390
10391 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10392
10393         * cpphash.h (_cpp_lex_direct): New.
10394         * cpplex.c (_cpp_lex_token): Update.
10395         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
10396         and increment that pointer.
10397         * cppmacro.c (alloc_expansion_token): New.
10398         (lex_expansion_token): Lex macro expansion directly into
10399         macro storage.
10400
10401 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
10402
10403         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
10404
10405 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
10406
10407         * basic-block.h (free_bb_for_insn): Declare.
10408         * bb-reorder.c (label_for_bb): Use block_label.
10409         (emit_jump_to_block_after): Remove.
10410         (insert_intra_1): Do not update block_for_insn.
10411         (insert_inter_bb_scope_notes): Likewise; update bb->end
10412         * cfg.c (free_bb_for_insn): New.
10413         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
10414         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
10415         (commit_one_edge_insertion): Likewise.
10416         (commit_one_edge_insertion): Do not update BB boundary.
10417         (commit_edge_insertions): Do not call compute_bb_for_insn.
10418         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
10419         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
10420         (merge_blocks_move_successor_nojumps): Likewise.
10421         (try_crossjump_to_edge): Do not update block_for_insn.
10422         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
10423         * df.c (df_pattern_emit_later): Do not update BB boundary.
10424         (df_jump_pattern_emit_after): Likewise.
10425         (df_insn_move_before): Use emit_insn_before.
10426         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
10427          properly.
10428         (add_insn_after, add_insn_before, emit_insns_after): Update BB
10429         boundaries and basic_block_for_insn.
10430         (reorder_insns_nobb): Rename from reorder_insns.
10431         (reorder_insns): New.
10432         (emit_block_insn_before, emit_block_insn_after): Kill.
10433         * flow.c (check_function_return_warnings): Do not call
10434         compute_bb_for_insn; Do not free basic_block_for_insn.
10435         (attempt_auto_inc): Do not update basic_block_for_insn.
10436         * function.c (emit_return_into_block): Likewise;
10437         do not update BB boundaries.
10438         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
10439         (insert_insn_end_bb): Use emit_insn_before; Likewise.
10440         (pre_insert_copy_insn): Likewise.
10441         (update_ld_motion_notes): Likewise.
10442         (insert_insn_start_bb): Likewise.
10443         (replace_store_insn): Likewise.
10444         * ifcvt.c (noce_process_if_block): Likewise.
10445         (if_convert): Do not call compute_bb_for_insn.
10446         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
10447         Use emit_insn_before and emit_insn_after.
10448         * recog.c (split_all_insns): Do not update BB boundaries;
10449         Do not call compute_bb_for_insn.
10450         (peephole2_optimize): Do not update BB boundaries.
10451         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
10452         emit_insn_before.
10453         (emit_swap_insn): Likewise.
10454         (convert_regs_1): Likewise.
10455         * reload1.c (reload): Call compute_bb_for_insn.
10456         * rtl.h (reorder_insns_nobb): Declare.
10457         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
10458         * toplev.c (rest_of_compilation): Call free_bb_for_insn
10459         at places CFG is invalidated; do not call compute_bb_for_insn.
10460
10461         * cfg.c (expunge_block): Invalidate BB structure.
10462
10463         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
10464         array.
10465
10466         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
10467
10468 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10469
10470         * cpphash.h (_cpp_lex_token): Update prototype.
10471         * cpplex.c (_cpp_lex_token): New prototype.
10472         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
10473         lex_macro_node, read_flag, do_pragma_poison): Update.
10474         * cppmacro.c (cpp_get_token, parse_params,
10475         lex_expansion_token): Update.
10476
10477 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10478
10479         * cppmain.c (scan_translation_unit): Don't worry about
10480         putting a space after hashes.
10481         * cpplib.c (directive_diagnostics): New.
10482         (_cpp_handle_directive): Update to use directive_diagnostics.
10483         (run_directive): Don't toggle prevent_expansion.
10484         (do_line): Backup in case of the line extension.
10485         * cpplib.h (cpp_lexer_pos): Remove.
10486         * cppmacro.c (_cpp_create_definition): Precede a leading #
10487         with whitespace.
10488
10489 2001-09-15  Richard Henderson  <rth@redhat.com>
10490
10491         * c-typeck.c (comptypes): Handle zero-length arrays properly.
10492
10493 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10494
10495         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
10496
10497 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10498
10499         PR preprocessor/3571
10500         * tradcpp.c (handle_directive): Skip non-vertical space.
10501
10502 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10503
10504         * cppmain.c (setup_callbacks): Set line callback only
10505         if outputting preprocessed source.
10506
10507 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10508
10509         * collect2.c (main): Const-ification.
10510         * gcc.c (translate_options, process_command): Use xstrdup in
10511         lieu of xmalloc/strcpy.
10512         (main): Use concat in lieu of xmalloc/strcpy/strcat.
10513
10514 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10515
10516         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
10517         example.
10518
10519 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10520
10521         * scan-decls.c (scan_decls): Fix typo.
10522
10523 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10524
10525         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
10526         Split mlstring_pos into mls_line and mls_col.
10527         * cppinit.c (cpp_create_reader): Initialize line to 1.
10528         (cpp_destroy): Free tokenruns.
10529         (push_include): Don't update lexer_pos.
10530         * cpplex.c (unterminated, parse_string): Update.
10531         (lex_token): Don't update lexer_pos, update.
10532         * cpplib.c (if_stack): Save line instead of line + col.
10533         (start_directive, _cpp_do__Pragma, do_else, do_elif,
10534         push_conditional, _cpp_pop_buffer): Update.
10535         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
10536         (_cpp_create_definition): Update.
10537
10538 2001-09-15  Eric Christopher  <echristo@redhat.com>
10539
10540         * config/mips/abi64.h: Add support for MEABI.
10541
10542 2001-09-15  Eric Christopher  <echristo@redhat.com>
10543
10544         * config/mips/mips.md: Add unspec #2.
10545         (reload_indi): Use.
10546         (reload_outdi): Ditto.
10547         (reload_outsi): Ditto.
10548         (HILO_delay): New.
10549
10550 2001-09-15  Eric Christopher  <echristo@redhat.com>
10551             Jason Eckhardt  <jle@redhat.com>
10552
10553         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
10554         * config/mips/isa32-linux.h: New file.
10555         * config/mips/isa3264.h: Ditto.
10556         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
10557         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
10558         (output_block_mode): Support MEABI.
10559         (function_arg): Ditto. Fix floating point arg passing.
10560         (mips_va_start): Ditto.
10561         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
10562         processors.
10563         (mips_asm_file_start): Add new section to pass abi to gdb.
10564         (function_arg_pass_by_reference): Support MEABI.
10565         (mips_parse_cpu): Support mips32 and mips64 processors.
10566         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
10567         TARGET_MIPS5KC.  Support isa32 and isa64.
10568         (processor_type): Add r4kc, r5kc, r20kc.
10569         (GENERATE_MULT3_SI): New.
10570         (GENERATE_MULT3_DI): Ditto.
10571         (GENERATE_MULT3): Remove.
10572         (ISA_HAS_64BIT_REGS): Add isa == 64.
10573         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
10574         (ISA_HAS_MADD_MSUB): New.
10575         (ISA_HAS_CLZ_CLO): Ditto.
10576         (ISA_HAS_DCLZ_DCLO): Ditto.
10577         (ABI_GAS_ASM_SPEC): New.
10578         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
10579         (ASM_SPEC): Ditto.
10580         (LINK_SPEC): Ditto.
10581         (SUBTARGET_CC1_SPEC): Ditto.
10582         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10583         (PAD_VARARGS_DOWN): Support MEABI.
10584         (HARD_REGNO_NREGS): Move to mips.c.
10585         (ASM_OUTPUT_IDENT): Add #undef.
10586         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
10587         (mulsi3): Use GENERATE_MULT3_SI.
10588         (mulsi3_mult3): Ditto.  Support mips32, mips64.
10589         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
10590         (mul_sub_si): New pattern.
10591         (unnamed splitters): New.
10592         (muldi3): Use GENERATE_MULT3_DI.
10593         (muldi3_internal2): Ditto.
10594         (movdicc): Support mips32.
10595         * config/mips/t-isa3264: New file.
10596
10597 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
10598
10599         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
10600         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
10601         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
10602
10603         * reorg.c (fill_slots_from_thread): After call to
10604         steal_delay_list_from_target, update own_thread as new_thread may
10605         have branched.
10606
10607 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10608
10609         * cpperror.c (print_location): Take line and column, for
10610         default positioning use the previously lexed token.
10611         (_cpp_begin_message): Take line and column.
10612         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10613         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10614         * cpphash.h (_cpp_begin_message): Update prototype.
10615         * cppinit.c (push_include): Don't set output line.
10616         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
10617         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
10618         (do_pragma): Kludge for front ends.  Don't expand macros at all.
10619         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
10620         (struct cpp_token): Remove output_line.
10621         (struct cpp_callbacks): New member line_change.
10622         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
10623         cpp_get_token): Preserve BOL flag.
10624         (cpp_get_line): Remove.
10625         (_cpp_backup_tokens): Remove useless abort().
10626         * cppmain.c (cb_line_change): New.
10627         (scan_translation_unit): Don't worry about starting new lines here.
10628         * scan-decls.c (scan_decls): Update.
10629         * c-lex.c (c_lex, init_c_lex): Update.
10630         (cb_line_change, src_lineno): New.
10631
10632 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
10633
10634         * tree.c (append_random_chars): Generate the random
10635         characters in a reproducable fashion.
10636
10637 2001-09-14  Richard Henderson  <rth@redhat.com>
10638
10639         * config/i386/i386.c (internal_label_prefix): New.
10640         (internal_label_prefix_len): New.
10641         (override_options): Set them.
10642         (local_symbolic_operand): New.
10643         (legitimate_pic_address_disp_p): Use it.
10644         (legitimize_pic_address): Likewise.
10645
10646 2001-09-14  Marc Espie <espie@openbsd.org>
10647
10648         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
10649         correctly.
10650
10651 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10652
10653         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
10654         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
10655
10656 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
10657
10658         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
10659         invocation of SUBREG_REGNO_OFFSET.
10660
10661         * haifa-sched.c: Fix typo in FSF copyright statement.
10662         * sched-deps.c: Fix typo in FSF copyright statement.
10663         * sched-ebb.c: Fix typo in FSF copyright statement.
10664         * sched-rgn.c: Fix typo in FSF copyright statement.
10665         * sched-vis.c: Fix typo in FSF copyright statement.
10666
10667         * config.gcc: Move inclusion of arm elf specific header files
10668         from the files themselves into the tm_file variable.  Make
10669         sure that elfos.h is included before target specific elf
10670         headers.
10671         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
10672         already defined.
10673         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
10674         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
10675         ASM_OUTPUT_CASE_LABEL): Protect definition.
10676         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
10677         not already defined.
10678         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
10679         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
10680         Remove duplicate definition.
10681         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
10682         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
10683         (RDATA_SECTION_FUNCTION): Remove redundant definition.
10684         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
10685         Remove inclusion of arm/elf.h.
10686         * config/arm/unknown-elf.h: as for conix-elf.h.
10687         (STARTFILE_SPEC): Include crti.o and crtn.o.
10688         * config/arm/linux-elf.h: as for conix-elf.h.
10689         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
10690         * config/arm/strongarm-elf.h: Remove inclusion of
10691         unknown-elf.h.
10692         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
10693         * config/arm/unknown-elf-oabi.h: Remove inclusion of
10694         unknown-elf.h and elf.h.
10695         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
10696         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
10697         ASM_WEAKEN_LABEL): Remove redundant definition.
10698         * config/arm/elf.h: Test for inclusion of elfos.h
10699         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
10700         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
10701         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
10702         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
10703         redundant definition.
10704         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
10705         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
10706         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
10707         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
10708         Add rules to build crti.o and crtn.o
10709         * crti.asm: New file.
10710         * crtn.asm: New file.
10711
10712 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10713
10714         * c-parse.in (_yylex): Use _cpp_backup_tokens.
10715         * cpphash.h (struct tokenrun): Add prev.
10716         (struct lexer_state): Remove bol.
10717         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
10718         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
10719         : Remove.
10720         * cppinit.c (cpp_create_reader): Don't set bol.
10721         (cpp_destroy): Don't free lookaheads.
10722         * cpplex.c (lex_directive): Remove.
10723         (next_tokenrun): Update.
10724         (_cpp_lex_token): Clean up logic.
10725         (lex_token): Update to return a pointer to lexed token, since it
10726         can move to the start of the buffer.  Simpify newline handling.
10727         * cpplib.c (SEEN_EOL): Update.
10728         (skip_rest_of_line): Remove lookahead stuff.
10729         (end_directive): Line numbers are already incremented.  Revert
10730         to start of lexed token buffer if we can.
10731         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
10732         parse_answer): Use _cpp_backup_tokens.
10733         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
10734         instead.  Don't check for EOL.
10735         (do_include_common, do_line, do_pragma_system_header): Use
10736         skip_rest_of_line.
10737         * cpplib.h (BOL, _cpp_backup_tokens): New.
10738         * cppmacro.c (save_lookahead_token, take_lookahead_token,
10739         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
10740         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
10741         (builtin_macro): Don't use cpp_get_line.
10742         (cpp_get_line): Short term kludge.
10743         (parse_arg): Handle directives in arguments here.  Back up when
10744         appropriate.  Store EOF at end of argument list.
10745         (funlike_invocation_p): Use _cpp_backup_tokens.
10746         (push_arg_context): Account for EOF at end of list.
10747         (cpp_get_token): Remove lookahead stuff.  Update.
10748
10749 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10750
10751         * c-parse.in (yyerror): Const-ification and/or static-ization.
10752         * c-typeck.c (push_member_name): Likewise.
10753         * collect2.c (main): Likewise.
10754         * dbxout.c (dbxout_parms): Likewise.
10755         * diagnostic.c (format_with_decl): Likewise.
10756         * dwarf2out.c (output_ranges): Likewise.
10757         * dwarfout.c (fundamental_type_code): Likewise.
10758         * except.c (dw2_output_call_site_table): Likewise.
10759         * gcc.c (do_spec_1): Likewise.
10760         * genopinit.c (optabs): Likewise.
10761         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
10762         gen_declaration_1, handle_impent): Likewise.
10763         * protoize.c (default_include, in_system_include_dir, abspath):
10764         Likewise.
10765         * sched-vis.c (visualize_stall_cycles): Likewise.
10766         * sdbout.c (plain_type_1, sdbout_end_function,
10767         sdbout_end_epilogue): Likewise.
10768         * varasm.c (decode_reg_name): Likewise.
10769
10770         * 1750a.c (mod_regno_adjust): Likewise.
10771         * alpha.c (alpha_write_one_linkage,
10772         unicosmk_output_default_externs): Likewise.
10773         * arm.c (arm_condition_codes): Likewise.
10774         * arm.h (arm_condition_codes): Likewise.
10775         * avr.c (output_movsisf, encode_section_info): Likewise.
10776         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
10777         Likewise.
10778         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10779         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10780         * m88k.c (output_function_profiler): Likewise.
10781         * mips.c (mips_output_conditional_branch): Likewise.
10782         * ns32k.c (ns32k_out_reg_names): Likewise.
10783         * ns32k.h (ns32k_out_reg_names): Likewise.
10784         * pj.c (pj_output_rval): Likewise.
10785         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
10786         * sparc.c (sparc_flat_function_prologue,
10787         sparc_flat_function_epilogue): Likewise.
10788
10789 2001-09-13  Markus Werle <numerical.simulation@web.de>
10790             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10791
10792         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
10793         Aachen University of Technology".
10794
10795 2001-09-13  Andreas Schwab  <schwab@suse.de>
10796
10797         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
10798         C99.
10799
10800 2001-09-13  Richard Henderson  <rth@redhat.com>
10801
10802         * config/alpha/alpha.c (small_symbolic_operand): New.
10803         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
10804         (some_operand, input_operand): Don't handle HIGH.
10805         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
10806         (alpha_expand_mov): Likewise.
10807         (print_operand) [H]: Just print HIGH symbol.
10808         (print_operand_address): Handle small data.
10809         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
10810         (TARGET_SWITCHES): Add -msmall-data/large-data.
10811         (PIC_OFFSET_TABLE_REGNUM): New.
10812         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
10813         (PREDICATE_COES): Update.
10814         * config/alpha/alpha.md (adddi_er_high): New.
10815         (adddi_er_low): Handle small data.
10816         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
10817         prefer .sdata to .rodata.
10818         (SELECT_RTX_SECTION): Likewise.
10819
10820 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
10821
10822         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
10823         defining __size_t and leaving size_t undefined.
10824
10825 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
10826
10827         * basic-block.h (expunge_block): Declare.
10828         * cfg.c (expunge_block): Remove static declaration.
10829
10830 2001-09-12  Richard Henderson  <rth@redhat.com>
10831
10832         * integrate.c (copy_insn_list): Copy label name from
10833         NOTE_INSN_DELETED_LABEL.
10834
10835 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10836
10837         * c-common.c (c_tree_code_name): Const-ification.
10838         * c-decl.c (c_decode_option): Likewise.
10839         * c-typeck.c (warn_for_assignment): Likewise.
10840         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
10841         Likewise.
10842         * cppinit.c (output_deps): Likewise.
10843         * dependence.c (dependence_string, direction_string): Likewise.
10844         * dwarf2out.c (output_ranges): Likewise.
10845         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
10846         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
10847         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
10848         standard_startfile_prefix, standard_startfile_prefix_1,
10849         standard_startfile_prefix_2, tooldir_base_prefix,
10850         standard_bindir_prefix, find_a_file): Likewise.
10851         * genattrtab.c (make_length_attrs): Likewise.
10852         * gencheck.c (tree_codes): Likewise.
10853         * genemit.c (gen_split): Likewise.
10854         * genrecog.c (special_mode_pred_table): Likewise.
10855         * graph.c (graph_ext): Likewise.
10856         * protoize (default_include): Likewise.
10857         * reload.c (reload_when_needed_name): Likewise.
10858         * sched-vis.c (visualize_stall_cycles): Likewise.
10859         * tlink.c (recompile_files): Likewise.
10860         * toplev.c (decode_g_option): Likewise.
10861         * tradcpp.c (output_deps): Likewise.
10862         * varasm.c (decode_reg_name): Likewise.
10863
10864         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
10865         Const-ification.
10866         * arm.md: Likewise.
10867         * avr.c (avr_regnames, encode_section_info): Likewise.
10868         * c4x.c (float_reg_names): Likewise.
10869         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
10870         * elfos.h (const_section): Likewise.
10871         * i386.c (ix86_comp_type_attributes): Likewise.
10872         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10873         * ia64/aix.h (UNIQUE_SECTION): Likewise.
10874         * ia64.c (type_names): Likewise.
10875         * m68hc11.c (reg_class_names): Likewise.
10876         * m88k.c (m_options): Likewise.
10877         * mips.c (mips_output_conditional_branch, mips_unique_section):
10878         Likewise.
10879         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10880         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
10881         ultra_code_names): Likewise.
10882         * sparc.h (OVERRIDE_OPTIONS): Likewise.
10883
10884 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
10885
10886         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
10887         Use --fatal-warnings option for gas.
10888         * configure: Rebuilt.
10889
10890 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10891
10892         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
10893
10894 2001-09-11  Jim Wilson  <wilson@redhat.com>
10895
10896         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
10897
10898 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10899
10900         * builtins.c (c_strlen): Treat an offset too large for a
10901         HOST_WIDE_INT as out of range.
10902
10903 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
10904
10905         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
10906         (EDGE_CRITICAL_P): New predicate.
10907         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
10908         handling.
10909         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
10910         (dump_edge_info): Remove "crit".
10911         * cfganal.c (mark_critical_edges): Kill.
10912         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
10913         * cfgcleanup.c (cleanup_cfg): Likewise.
10914         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
10915         (find_spanning_tree): Likewise.
10916         * reg-stack.c (convert_regs_1): Likewise.
10917         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
10918
10919         * basic-block.h (create_basic_block_structure): New.
10920         (create_basic_block): Update prototype.
10921         (force_nonfallthru): New.
10922         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
10923         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
10924         handle updating of block_for_insn, creating of empty BBs and BBs at
10925         the end of INSN chain.
10926         (create_basic_block): New function.
10927         (split_block): Use create_basic_block.
10928         (force_nonfallthru_and_redirect): Break out from ...; cleanup
10929         (redirect_edge_and_branch_force): ... here.
10930         (force_nonfallthru): New.
10931         (split_edge): Rewrite to use force_nonfallthru and create_block.
10932         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
10933         (find_basic_blocks): Free basic_block_for_insn.
10934         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
10935
10936         * cfg.c: Fix formating.
10937         * cfgcleanup.c: Fix formating.
10938         (merge_blocks, tail_recursion_label_p): Return bool.
10939         (merge_blocks_move_predecessor_nojumps,
10940          merge_blocks_move_successor_nojumps): Return void.
10941
10942 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
10943
10944         * configure.in: Check whether assembler supports section merging.
10945         * config.in: Rebuilt.
10946         * configure: Rebuilt.
10947         * varasm.c (variable_section, output_constant_pool): Pass alignment
10948         to SELECT_SECTION and SELECT_RTX_SECTION.
10949         (mergeable_string_section): New.
10950         (mergeable_constant_section): New.
10951         (default_elf_asm_named_section): Output SECTION_MERGE and
10952         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10953         * output.h (mergeable_string_section): New.
10954         (mergeable_constant_section): New.
10955         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
10956         * toplev.c (flag_merge_constants): New.
10957         (f_options): Add -fmerge-constants and -fmerge-all-constants
10958         options.
10959         (toplev_main): Default to -fno-merge-constants if not optimizing.
10960         * flags.h (flag_merge_constants): Add extern.
10961         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
10962         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
10963         argument.
10964         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
10965         Define if assembler has working .subsection -1 support.
10966         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
10967         Put constant into special SHF_MERGE sections if the linker should
10968         attempt to merge duplicates.
10969         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
10970         macro argument.
10971         Put constant into special SHF_MERGE sections if the linker should
10972         attempt to merge duplicates.
10973         * config/alpha/elf.h: Likewise.
10974         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
10975         has working .subsection -1 support.
10976         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
10977         SELECT_SECTION.
10978         * config/svr3.h: Likewise.
10979         * config/darwin.h: Likewise.
10980         * config/arm/aof.h: Likewise.
10981         * config/arm/linux-elf.h: Likewise.
10982         * config/avr/avr.h: Likewise.
10983         * config/c4x/c4x.h: Likewise.
10984         * config/d30v/d30v.h: Likewise.
10985         * config/i386/dgux.h: Likewise.
10986         * config/i386/osfrose.h: Likewise.
10987         * config/i386/sco5.h: Likewise.
10988         * config/i386/svr3gas.h: Likewise.
10989         * config/ia64/aix.h: Likewise.
10990         * config/m32r/m32r.h: Likewise.
10991         * config/m68k/m68k.h: Likewise.
10992         * config/m88k/dgux.h: Likewise.
10993         * config/m88k/m88k.h: Likewise.
10994         * config/mcore/mcore-pe.h: Likewise.
10995         * config/mips/mips.h: Likewise.
10996         * config/pa/pa.h: Likewise.
10997         * config/pa/pa-linux.h: Likewise.
10998         * config/romp/romp.h: Likewise.
10999         * config/rs6000/sysv4.h: Likewise.
11000         * config/rs6000/xcoff.h: Likewise.
11001         * config/s390/linux.h: Likewise.
11002         * config/sparc/sparc.h: Likewise.
11003         * config/sparc/sysv4.h: Likewise.
11004         * config/stormy16/stormy16.h: Likewise.
11005         * config/v850/v850.h: Likewise.
11006         * config/vax/vms.h: Likewise.
11007         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11008         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11009         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11010         default_elf_asm_named_section for SHF_MERGE sections.
11011
11012 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11013
11014         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11015         is OK.
11016
11017 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
11018
11019         * c-common.c (split_specs_attrs): Allow for empty attributes with
11020         empty TREE_PURPOSE.  Fixes PR c/4294.
11021
11022 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
11023
11024         * basic-block.h (cached_make_edge, make_single_succ): New.
11025         (make_edge): Remove first parameter.
11026         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11027         * cfg.c (cached_make_edge): Rename from make_edge; return newly
11028         created edge; use obstack allocation.
11029         (make_edge, make_single_succ_edge): New.
11030         (first_removed_edge): New static variable.
11031         (init_flow): Initialize first_removed_edge and n_edges.
11032         (clear_edges): Use remove_edge.
11033         (flow_delete_block): Likewise.
11034         (remove_edge): Add removed edges to the removed edges list.
11035         (split_block, redirect_edge_and_branch_force, split_edge):
11036         Use make_edge.
11037         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11038         (add_noreturn_fake_exit_edges): Likewise.
11039         (connect_infinite_loops_to_exit): Liekwise.
11040         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11041         Use cached_make_edge.
11042         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11043         * profile.c (branch_prob): Update make_edge call.
11044         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11045
11046 2001-09-11  Richard Henderson  <rth@redhat.com>
11047
11048         * config/alpha/alpha.c: Tidy formatting.
11049         (local_symbolic_operand): Verify mode.
11050         (alpha_sa_mask): Ignore unicos for eh_return.
11051         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11052         * config/alpha/alpha.md (umk divsi patterns): Remove.
11053         (extendsfdf2): Remove unicos check.
11054         (tablejump): Merge vms and unicos code; always use direct set
11055         plus label_ref use.
11056
11057 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11058
11059         * config.gcc (alpha*-*-unicosmk*): New target.
11060
11061         * config/alpha/alpha-protos.h (symbolic_operand,
11062         unicosmk_add_call_info_word, unicosmk_add_extern,
11063         unicosmk_defer_case_vector, unicosmk_unique_section,
11064         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11065         unicosmk_asm_file_start, unicosmk_asm_file_end,
11066         unicosmk_output_common): Declare.
11067
11068         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11069         direct_return, function_arg, alpha_va_start, alpha_va_arg,
11070         alpha_does_function_need_gp, alpha_end_function): Support Cray
11071         Unicos/Mk.
11072         (alpha_init_machine_status, alpha_mark_machine_status,
11073         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11074         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11075         unicosmk_asm_named_section, unicosmk_insert_attributes,
11076         unicosmk_section_type_flags, symbolic_operand,
11077         unicosmk_output_module_name, unicosmk_output_default_externs,
11078         unicosmk_output_dex, unicosmk_output_externs,
11079         unicosmk_output_addr_vec, unicosmk_ssib_name,
11080         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11081         unicosmk_asm_file_end, unicosmk_output_common,
11082         unicosmk_section_type_flags, unicosmk_unique_section,
11083         unicosmk_add_call_info_word, unicosmk_text_section,
11084         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11085         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11086         unicosmk_dex_count, unicosmk_special_name): New.
11087         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11088         TARGET_ABI_UNICOSMK.
11089         (get_aligned_mem, alpha_expand_unaligned_load,
11090         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11091         alpha_expand_unaligned_store_words): Support big-endian mode.
11092         (print_operand): Likewise. New format specifier 't'. Use
11093         TARGET_AS_SLASH_BEFORE_SUFFIX.
11094         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11095         (alpha_pv_save_size): Update with above change.
11096         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11097         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11098         Unicos/Mk.
11099
11100         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11101         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11102         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11103         (EXTRA_CONSTRAINT): New constraint 'U'.
11104         (PREDICATE_CODES): Add symbolic_operand.
11105
11106         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11107         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11108         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11109         (integer division and modulus patterns): Split in default and
11110         Unicos/Mk versions.
11111         (*divmodsi_internal, *divmoddi_internal): Disable for
11112         TARGET_ABI_UNICOSMK.
11113         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
11114         little-endian and big-endian versions.
11115         (ext, ins, msk): Likewise.
11116         (extv, extzv, insv): Support big-endian mode.
11117         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11118         (call_umk, call_value_umk, *call_umk, tablejump_umk,
11119         *tablejump_umk_internal, *call_value_umk): New.
11120         (*movdi_nofix): Add pattern for loading an address into a register on
11121         TARGET_ABI_UNICOSMK.
11122         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11123         (umk_mismatch_args, arg_home_umk): New.
11124         (various insns): Don't use mov, fmov, nop, fnop and unop.
11125         (realign): Support TARGET_ABI_UNICOSMK.
11126
11127         * config/alpha/unicosmk.h: New file.
11128         * config/alpha/t-unicosmk: New file.
11129
11130         * fixinc/inclhack.def (unicosmk_restrict): New.
11131         * fixinc/fixincl.x: Regenerate.
11132
11133         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11134         (wchar_t): Check for and define __WCHAR_T__.
11135
11136 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11137
11138         * combine.c (simplify_shift_const): Treat shifts by the mode
11139         size as undefined.
11140
11141 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11142
11143         * cpphash.h (struct tokenrun): New.
11144         (struct cpp_context): New member bol.
11145         (struct cpp_reader): New members.
11146         (_cpp_init_tokenrun): New.
11147         * cppinit.c (cpp_create_reader): Set up the token runs.
11148         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11149         (lex_token): New internalised version of _cpp_lex_token.  Don't
11150         handle directives or the multiple include optimization here any
11151         more.  Simply lex a token.
11152         * cpplib.c (run_directive): Clear bol.
11153         (_cpp_pop_buffer): Set bol.
11154         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11155         arguments.
11156
11157 2001-09-11  Michael Meissner  <meissner@redhat.com>
11158
11159         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11160         give an error if the user uses -mfp32.
11161         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11162         default options.
11163         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11164         floating point register size.
11165         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11166
11167         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11168         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11169         int_size_in_bytes.
11170         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11171         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11172
11173 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11174
11175         * dbxout.c (dbxout_parms): Fix typo in comment.
11176         * unroll.c (loop_find_equiv_value): Ditto.
11177         * toplev.c (rest_of_compilation): Ditto.
11178         * loop.c (scan_loop): Ditto.
11179         * dwarf2out.c (struct dw_fde_struct): Ditto.
11180
11181 2001-09-10  Zack Weinberg  <zackw@panix.com>
11182
11183         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11184         copying identifier when we're just going to throw it away.
11185         (parse_identifier_slow): New routine to handle abnormal cases.
11186         (_cpp_lex_token): Update call site.
11187
11188         * hashtable.c (ht_lookup): Don't assume that the string we've
11189         been given is NUL-terminated.
11190         * system.h: #define __builtin_expect(a, b) to (a) if not
11191         GCC >=3.0.
11192
11193 2001-09-10  Michael Meissner  <meissner@redhat.com>
11194
11195         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11196         binutils, gdb.
11197
11198 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11199
11200         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11201
11202 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11203
11204         * builtins.c (c_getstr): Correct thinko in last change and further
11205         cleanup.
11206
11207 2001-09-10  Tim Freeman <tim@fungibole.com>
11208
11209         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11210         into varray's and register them as roots with the garbage
11211         collector so they are not collected too soon.
11212
11213 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11214
11215         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11216         New.
11217         * basic-block.h (flow_obstack, label_value_list,
11218         tail_recursion_label_list): Declare
11219         (tidy_fallthru_edges): Declare.
11220         (expunge_block, last_loop_beg_note): Delete.
11221         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11222         * cfg.c: New file
11223         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11224         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11225         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11226         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11227         expunge_block, flow_delete_block, compute_bb_for_insn,
11228         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11229         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11230         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11231         try_redirect_by_replacing_jump, last_loop_beg_note,
11232         redirect_edge_and_branch, redirect_edge_and_branch_force,
11233         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11234         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11235         commit_edge_insertions, dump_flow_info, debug_flow_info,
11236         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11237         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11238         Move here from flow.c
11239         * cfganal.c: New file.
11240         (forwarder_block_p, can_fallthru, mark_critical_edges,
11241          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11242          find_unreachable_blocks, create_edge_list, free_edge_list,
11243          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11244          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11245          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11246          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11247          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11248          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
11249         Move here from flow.c
11250         * cfgbuild.c: New file
11251         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
11252          make_edges, find_basic_blocks_1, find_basic_blocks,
11253          find_sub_basic_blocks): Move here from flow.c
11254         * cfgcleanup.c: New file.
11255         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
11256          merge_blocks_move_predecessor_nojumps,
11257          merge_blocks_move_successor_nojumps, merge_blocks,
11258          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11259          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
11260         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
11261         if succeeded.
11262         * cfgloop.c: New file
11263         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
11264          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
11265          flow_loop_exit_edges_find, flow_loop_nodes_find,
11266          flow_loop_pre_header_scan, flow_loop_pre_header_find,
11267          flow_loop_tree_node_add, flow_loops_tree_build,
11268          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
11269          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
11270         Move here from flow.c
11271         * flow.c: Remove everything moved elsewhere
11272         * output.h (cleanup_cfg): Return bool.
11273
11274         * bb-reorder.c (reorder_block_def): Remove 'index'.
11275         (insert_intra_1): Add argument BB, set block for new note.
11276         (make_reorder_chain): Do not depdent on BB indexes.
11277         (make_reorder_chain_1): Do not use BB indexes.
11278         (label_for_bb): Likewise; set BB for new insn.
11279         (emit_jump_to_block_after): Likewise.
11280         (fixup_reorder_chain): Sanity check that all basic blocks
11281         are chained; verify newly created insn chain; remove
11282         undocnitional jump simplifying; Do not use BB indexes;
11283         properly initialize count and frequency information;
11284         dump reordered sequence.
11285         (insert_intra_bb_scope_notes): update call of insert_intra_1.
11286         (insert_inter_bb_scope_notes): Set block for new insn.
11287         (reorder_basic_blocks): Dump flow info before reoredering.
11288
11289 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11290
11291         * alias.c (clear_reg_alias_info): Use K&R format definition.
11292         Avoid unsigned warning.
11293         * builtins.c: Use "unsigned int", not "unsigned".
11294         (target_char_cast): Use host_integerp and tree_low_cst.
11295         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
11296         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
11297         (c_getstr): Likewise.
11298         (std_expand_builtin_va_arg): Use int_size_in_bytes.
11299         (builtin_memcpy_read_str): Avoid unsigned warning.
11300         (expand_builtin_memcpy): Alignments are unsigned.
11301         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
11302         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
11303         * predict.c (expensive_function_p): LIMIT now unsigned.
11304         * resource.c (mark_target_live_regs): Make some vars unsigned.
11305         * sdbout.c: Use "unsigned int", not "unsigned".
11306         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
11307         (sdbout_source_line): Likewise.
11308         (sdbout_record_type_name): Remove "const" for NAME declaration.
11309         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
11310
11311 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
11312
11313         * calls.c (store_one_arg): Expand comment.
11314
11315 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11316
11317         * calls.c (store_one_arg): Make sure that the entire argument is
11318         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
11319
11320 2001-09-09  Richard Henderson  <rth@redhat.com>
11321
11322         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
11323
11324 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
11325
11326         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
11327
11328 2001-09-09  Richard Henderson  <rth@redhat.com>
11329
11330         * config/alpha/alpha.c (alpha_next_sequence_number): New.
11331         (alpha_this_literal_sequence_number): New.
11332         (alpha_this_gpdisp_sequence_number): New.
11333         (some_operand, input_operand): Add HIGH.
11334         (local_symbolic_operand): New.
11335         (alpha_encode_section_info): New.
11336         (alpha_legitimate_address_p): Allow LO_SUM.
11337         (alpha_legitimize_address): Generate HIGH+LO_SUM.
11338         (alpha_expand_mov): Likewise.
11339         (secondary_reload_class): Check memory_operand not general_operand
11340         for FP_REGS test.
11341         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
11342         (alpha_expand_unaligned_store): Likewise.
11343         (alpha_expand_unaligned_load_words): Likewise.
11344         (alpha_expand_unaligned_store_words): Likewise.
11345         (alpha_expand_block_clear): Likewise.
11346         (print_operand): Handle %#, %*, %H.
11347         (print_operand_address): Handle LO_SUM.
11348         (find_lo_sum): New.
11349         (alpha_does_function_need_gp): Use it.
11350         (alpha_expand_block_move): Fix signed compare warnings.
11351         (alpha_sa_mask, alpha_align_insns): Likewise.
11352         * config/alpha/alpha-protos.h: Update.
11353         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
11354         (MASK_EXPLICIT_RELOCS): New.
11355         (TARGET_SWITCHES): Add -mexplicit-relocs.
11356         (EXTRA_CONSTRAINT): Add 'T'.
11357         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
11358         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
11359         (ENCODE_SECTION_INFO): Out line.
11360         (REDO_SECTION_INFO_P): New.
11361         (STRIP_NAME_ENCODING): New.
11362         (ASM_OUTPUT_LABELREF): New.
11363         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
11364         (PREDICATE_CODES): Update.
11365         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
11366         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
11367         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
11368         builtin_setjmp_receiver_er, exception_receiver_1_er,
11369         call_value_osf_1_er): New patterns.
11370         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
11371         (movqi, movhi, movsi): Add explicit $31 base register to lda.
11372         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
11373         (FINAL_PRESCAN_INSN): New.
11374
11375 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
11376
11377         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
11378
11379 2001-09-08  Andreas Jaeger  <aj@suse.de>
11380
11381         * i386.h (TARGET_SWITCHES): Fix description.
11382
11383 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
11384
11385         * rs6000.c (num_insns_constant): Compute number of instructions
11386         more accurately.
11387
11388         * doc/install.texi: Explain AIX exception handling work-around.
11389         Update URL for AIX fixes.
11390
11391 2001-09-07  Jim Wilson  <wilson@redhat.com>
11392
11393         * alias.c (clear_reg_alias_info): New.
11394         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
11395         * rtl.h (clear_reg_alias_info): Declare.
11396
11397 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11398
11399         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
11400         available.
11401         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
11402         (m16m,edivm,emulm): Change declaration to match definition.
11403
11404 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
11405
11406         * reload.c (push_reload): Check for subreg_lowpart_p instead of
11407         SUBREG_BYTE being 0 when determining if the inner part of a subreg
11408         can be reloaded.
11409
11410 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11411
11412         * c-common.c (signed_or_unsigned_type): Handle machine mode types
11413         which have no corresponding C type.
11414         * fold_const.c (target_isinf,target_isnan,target_negative): Update
11415         the representation of 64-bit doubles to work with 64-bit ints.
11416
11417 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
11418
11419         * config/mips/mips.c (override_options): Do not override ISA when ABI
11420         specified if MIPS_CPU_STRING_DEFAULT was specified.
11421
11422 2001-09-07  Richard Henderson  <rth@redhat.com>
11423
11424         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
11425         (express_from_1): Wrap lines.
11426         * rtlanal.c (commutative_operand_precedence): Rename from
11427         operand_preference; export.
11428         * rtl.h: Declare it.
11429         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
11430         (simplify_binary_operation): Invoke simplify_plus_minus on
11431         (CONST (PLUS ...)) as well.
11432         (struct simplify_plus_minus_op_data): New.
11433         (simplify_plus_minus_op_data_cmp): New.
11434         (simplify_plus_minus): Use them.  Avoid infinite recursion with
11435         simplify_binary_operation wrt CONST.
11436
11437 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
11438
11439         * h8300-protos.h (general_operand_dst_push): Remove.
11440         * h8300.c (general_operand_dst_push): Likewise.
11441         * h8300.h (OK_FOR_T): Likewise.
11442         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
11443         * h8300.md (pushqi_h8300): New.
11444         (pushqi_h8300hs): Likewise.
11445         (pushqi): Likewise.
11446         (pushhi_h8300): Likewise.
11447         (pushhi_h8300hs): Likewise.
11448         (pushhi): Likewise.
11449
11450 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11451
11452         * genattrtab.c (attr_printf): First arg is unsigned.
11453         Clean up formatting of callers.
11454
11455 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
11456
11457         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
11458         registers.
11459
11460 2001-09-07  Andreas Jaeger  <aj@suse.de>
11461
11462         * i386.h (TARGET_SWITCHES): Fix descriptions.
11463
11464 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11465
11466         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
11467
11468 2001-09-06  Ira Ruben  <ira@apple.com>
11469
11470         Remove OP_IDENTIFIER.
11471         * tree.def (OP_IDENTIFIER): Remove.
11472         * tree.c (tree_node_kind enum): Remove op_id_kind.
11473         (tree_node_kind_names): Remove "op_identifiers".
11474         (make_node): Remove OP_IDENTIFIER test.
11475         (build_op_identifier): Removed because it isn't being used.
11476         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
11477         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
11478
11479 2001-09-06  Richard Henderson  <rth@redhat.com>
11480
11481         * simplify-rtx.c (simplify_binary_operation): Revert last change.
11482
11483 2001-09-06  Richard Henderson  <rth@redhat.com>
11484
11485         * simplify-rtx.c (simplify_binary_operation): Simplify contents
11486         of CONST.
11487
11488 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11489
11490         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
11491         number used for CR register.
11492
11493 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11494                           Joern Rennecke (amylaar@cygnus.com)
11495
11496         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
11497         * h8300.c (initial_offset): Handle offset between RP and FP.
11498         (h8300_return_addr_rtx): New function.
11499         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
11500         return register.
11501         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
11502         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11503         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
11504         (CAN_ELIMINATE, REGISTER_NAMES):
11505         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
11506
11507 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
11508
11509         Remove TYPE_NONCOPIED_PARTS.
11510         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
11511         (struct tree_type): Remove noncopied_parts.
11512         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
11513         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
11514         (fixed_type_p): Remove.
11515         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
11516         (expand_expr, MODIFY_EXPR): Likewise.
11517         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
11518         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
11519
11520 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
11521
11522         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
11523         compiler warnings.
11524         (mask64_operand): Likewise.
11525         (includes_rldic_lshift_p): Likewise.
11526         (includes_rldicr_lshift_p): Likewise.
11527
11528 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
11529
11530         * objc/objc-act.c (build_message_expr): If a class method cannot
11531         be found, do not issue a warning if a corresponding instance
11532         method exists in the root class.
11533
11534 2001-09-05  Richard Henderson  <rth@redhat.com>
11535
11536         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
11537
11538 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
11539
11540         * function.c (ggc_mark_struct_function): Mark f->outer.
11541         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
11542         * integrate.c (output_inline_function): ... not here.
11543
11544 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11545
11546         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
11547
11548         * i386.c (size_cost): New static variable.
11549         (override_function): Use size_cost when -Os is specified.
11550
11551         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
11552         properly;  Use current_function_calls_eh_return.
11553         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
11554         use leave to avoid dependency chain.
11555
11556         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
11557         get BB loop_depth instead of computing it from LOOP notes.
11558
11559         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
11560
11561 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11562
11563         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11564         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11565         UNALIGNED_DOUBLE_INT_ASM_OP): Define
11566
11567 2001-09-05  Jeffrey A Law  (law@cygnus.com)
11568             Jason Merrill (jason@redhat.com)
11569
11570         * stor-layout.c (layout_type): Complain if an array's size can
11571         not be represented in a size_t.
11572
11573         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
11574
11575 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
11576
11577         * gcc.c: (process_command) Add parentheses around assignment
11578         used as truth value.
11579
11580 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11581
11582         * config/mips/mips.c (save_restore_insns): Don't mark any register
11583         save slots as unchanging if current_function_calls_eh_return.
11584
11585 2001-09-05  Richard Henderson  <rth@redhat.com>
11586
11587         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
11588         * config/alpha/alpha-protos.h: Declare it.
11589         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
11590         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
11591         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
11592         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
11593         (REG_OK_FOR_BASE_P): Select one of the above.
11594
11595 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11596
11597         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
11598         (crti.o): Prefix name of object file with $(T).
11599         (crtn.o): Likewise.
11600
11601 2001-09-05  David S. Miller  <davem@redhat.com>
11602
11603         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11604         * config/sparc/linux64.h: Likewise.
11605
11606 2001-09-05  Andreas Jaeger  <aj@suse.de>
11607
11608         * doc/invoke.texi (i386 Options): -mwide-multiply is not
11609         available anymore, remove the documentation.
11610         (i386 Options): Fix typo, cleanup index entries.
11611
11612         * prefix.c (concat): Remove, we can use the version from liberty.
11613
11614 2001-09-05  Richard Henderson  <rth@redhat.com>
11615
11616         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
11617         New functions split out of md file expanders.
11618         * config/alpha/alpha-protos.h: Declare them.
11619         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
11620
11621 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11622
11623         * cppmacro.c (funlike_invocation_p): No need to restore context.
11624
11625 2001-09-04  Richard Henderson  <rth@redhat.com>
11626
11627         * reload.c (push_reload): Export.
11628         * reload.h (push_reload): Declare it.
11629
11630         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
11631         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11632         * config/alpha/alpha.c (alpha_legitimize_address): New.
11633         (alpha_legitimize_reload_address): Likewise.
11634         * config/alpha/alpha-protos.h: Declare them.
11635
11636 2001-09-04  Stan Shebs  <shebs@apple.com>
11637
11638         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
11639         * config/darwin.c (machopic_stub_name): Account for internally
11640         generated lib calls such as memcpy.
11641
11642 2001-09-04  Richard Henderson  <rth@redhat.com>
11643
11644         * unwind.h (_UA_END_OF_STACK): New flag.
11645         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
11646
11647 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11648
11649         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
11650
11651 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
11652
11653         * config/mips/mips.c (save_restore_insns): Change base_offset to
11654         fp_offset in second call to mips_emit_frame_related_store.
11655
11656 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
11657
11658         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
11659         sometimes be represented as a NOTE of type
11660         NOTE_INSN_DELETED_LABEL.
11661         (Insns): Document NOTE_INSN_DELETED_LABEL.
11662
11663 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
11664
11665         * c-common.h (tree_dump_index): Add more comments.
11666         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
11667         (dump_option_value_info): New struct.
11668         (dump_options): New array.
11669         (dump_switch_p): Parse switch options symbolically.
11670         * doc/invoke.texi (-fdump-ast): Rename to ...
11671         (-fdump-tree): ... here. Document that options are symbolic, and
11672         not all are applicable.
11673
11674 2001-09-04  David S. Miller  <davem@redhat.com>
11675
11676         * config/sparc/sparc.md (define_splits): Kill constraints.
11677
11678         Cleanup redundant and unused insn attributes.
11679         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
11680         binary, and move.  Mark ialu as default.
11681         (commented out define_function_unit "alu"): Kill.
11682         (define_attr "use_clobbered"): Kill.
11683         (whole file): Kill address insn type references.  Replace
11684         all unary/binary/move references with ialu.
11685         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
11686         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
11687         TYPE_IALU.
11688
11689         Simplify length insn attribute and make more judicious use
11690         of insn attribute defaulting.
11691         * config/sparc/sparc.md (all insns with length > one): Mark as
11692         insn type multi if real instructions, else use default if
11693         it is a forced splitter.
11694         (all insns with length == one): Use default insn length.
11695         (all insns of type ialu): Use default insn type.
11696
11697         Fix erroneous insn attribute settings.
11698         (addx): Set insn type to misc.
11699         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
11700         const_umulsidi3_sp64): Set insn type to imul.
11701
11702         Track SFmode vs DFmode insns according to UltraSPARC
11703         scheduling rules.
11704         * config/sparc/sparc.md ("fptype"): New attribute, default
11705         to "single".
11706         (all DFmode single insns): Mark as fptype "double".
11707
11708 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
11709
11710         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
11711
11712 2001-09-03  Richard Henderson  <rth@redhat.com>
11713
11714         * function.h (struct function): Add arg_pointer_save_area_init.
11715         * function.c (expand_function_end): Init arg_pointer_save_area.
11716         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
11717         when called from a nested function.
11718
11719 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
11720
11721         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
11722         is enabled.
11723
11724 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11725
11726         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
11727
11728 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
11729
11730         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
11731         (emit_push_insn): Use specified padding direction when
11732         STACK_PUSH_CODE is POST_INC.
11733
11734         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
11735
11736 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11737
11738         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
11739
11740 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
11741
11742         * cppinit.c (cpp_start_read): Free the imacros list as we
11743         traverse it.  Don't free the chains before returning.
11744         (_cpp_push_next_buffer): Only try pushing buffers if we've
11745         completed -imacros handling.
11746
11747 2001-08-31  Eric Christopher  <echristo@redhat.com>
11748
11749         * gcc.c (handle_braces): Add explaination for abort.
11750
11751 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
11752
11753         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
11754         move adjustment of bitpos instead.
11755
11756 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
11757
11758         * function.c: Remove all_functions.  Make outer_function_chain
11759         static.
11760         (init_function_start): Don't add new function structure to
11761         all_functions.
11762         (find_function_data, push_function_context_to,
11763         pop_function_context_from, put_var_into_stack,
11764         trampoline_address): Update for changed structure element names.
11765         (push_function_context_to): Disentangle.
11766         (free_after_compilation): Also free F.
11767         (expand_dummy_function_end): Don't free cfun here.
11768         (put_var_into_stack): Comment why we can't use find_function_data here.
11769         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
11770         (mark_function_chain): Split into maybe_mark_struct_function and
11771         ggc_mark_struct_function.  Export the latter.
11772         (init_function_once): Mark from cfun and outer_function_chain;
11773         not all_functions.
11774
11775         * function.h (struct function): Kill next_global.  Rename next
11776         to outer.  All users updated to match.
11777         (all_functions, outer_function_chain): Don't declare.
11778
11779         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
11780         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
11781         don't touch f->inlinable, after calling rest_of_compilation.
11782
11783         * tree.h: Forward-declare struct function.  Prototype
11784         ggc_mark_struct_function.
11785
11786 2001-08-31  Kazu Hirata  <kazu@hxi.com>
11787
11788         * config/h8300/h8300.md (*andorhi3): Fix typos.
11789
11790 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11791
11792         * calls.c (emit_library_call_value): Don't use a fixed
11793         argument after VA_CLOSE, i.e. out of scope in traditional C.
11794
11795         * emit-rtl.c (gen_rtvec): Likewise.
11796
11797 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11798
11799         * Makefile.in (c-pragma.o): Depend on output.h.
11800         (reorg.o): Depend on except.h.
11801
11802         * c-pragma.c: Include output.h.
11803
11804         * reorg.c: Include except.h.
11805
11806         * unwind-dw2.c: Call __builtin_alloca, not alloca.
11807
11808 2001-08-31  Richard Henderson  <rth@redhat.com>
11809
11810         * sched-deps.c (add_dependence): Don't elide dependency if the
11811         conditional used by insn is modified in elem.
11812
11813 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
11814
11815         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11816
11817 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
11818
11819         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
11820         dump_switch_p.
11821
11822 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11823
11824         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
11825         function.
11826         (stormy16_asm_out_constructor): New function.
11827         (TARGET_ASM_CONSTRUCTOR): Define.
11828         (TARGET_ASM_DESTRUCTOR): Define.
11829
11830 2001-08-31  Andreas Jaeger  <aj@suse.de>
11831
11832         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
11833         * loop.c (add_label_notes): Likewise.
11834         * reload.c (find_reloads): Likewise.
11835         * config/sh/sh.c (machine_dependent_reorg): Likewise.
11836
11837 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
11838
11839         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
11840         code here.  Take _Unwind_{W,Sw}ord*.
11841         (read_encoded_value_with_base): Use them.
11842         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
11843         words.
11844         (extract_cie_info): Simplify read_?leb128 handling.
11845         (execute_stack_op, execute_cfa_program): Likewise.
11846         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
11847
11848 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11849
11850         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
11851         the frame pointer to pop the stack if convenient.
11852
11853         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
11854         Don't use post-increment before combine.
11855         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
11856         a call-saved register.
11857
11858 2001-08-31  Andreas Jaeger  <aj@suse.de>
11859
11860         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
11861         code was correct.
11862
11863 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
11864
11865         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
11866         not DIV/MOD, of course.
11867
11868 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
11869
11870         * rtl.def: Undo my patch commited 2001-08-27.
11871
11872         * genattrtab.c: Ditto.
11873
11874         * rtl.h: Ditto.
11875
11876         * sched-int.h: Ditto.
11877
11878         * target-def.h: Ditto.
11879
11880         * target.h: Ditto.
11881
11882         * haifa-sched.c: Ditto.
11883
11884         * sched-rgn.c: Ditto.
11885
11886         * sched-vis.c: Ditto.
11887
11888         * Makefile.in: Ditto.
11889
11890         * doc/md.texi: Ditto.
11891
11892         * doc/tm.texi: Ditto.
11893
11894         * doc/contrib.texi: Ditto.
11895
11896         * doc/gcc.texi: Ditto.
11897
11898         * genattrtab.h: Remove it.
11899
11900         * genautomata.c: Remove it.
11901
11902         * genattr.c: Undo my patch and Richard Henderson's patch commited
11903         2001-08-27.
11904
11905 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
11906
11907         * config.gcc (h8300-*-elf*): New case.
11908         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
11909         (SUBTARGET_CPP_SPEC): Define.
11910         (EXTRA_SPECS): Define.
11911         (SUBTARGET_EXTRA_SPECS): Define.
11912         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
11913         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
11914
11915 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
11916
11917         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
11918         (LIB2FUNCS_EXTRA): Define.
11919         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
11920         config/h8300/fixunssfsi.c: New file.
11921
11922 2001-08-30  Kazu Hirata  <kazu@hxi.com>
11923
11924         * config/h8300/h8300.md (zero_extendqihi2): Changes to
11925         define_expand to accommodate target-specific attributes.
11926         (anonymous zero_extendqihi2 patterns): New.
11927
11928 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
11929
11930         * h8300.md (*andorhi3): New pattern.
11931
11932 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
11933
11934         * h8300.c (dosize): Fix test for "sub".
11935
11936 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
11937
11938         * c-typeck.c (pointer_diff): Try to eliminate common term before
11939         doing conversions.
11940
11941 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
11942
11943         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11944         Account for the saves of the FP registers.
11945
11946         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
11947         (TEXT_SECTION_ASM_OP): Define.
11948         (INIT_SECTION_ASM_OP): Define.
11949         (FINI_SECTION_ASM_OP): Define.
11950         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
11951         (RDATA_SECTION_FUNCITON): Provide prototype.
11952
11953 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
11954
11955         * reload1.c (move2add_note_store): Correct typo checking for
11956         argument pushes.
11957
11958 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
11959
11960         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
11961         note should not be considered outside the libcall block.
11962
11963 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11964
11965         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
11966
11967 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11968
11969         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
11970
11971 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11972
11973         * config/h8300/h8300-protos.h: Add a prototype for
11974         emit_logical_op.
11975         * config/h8300/h8300.c (emit_logical_op): New.
11976         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
11977         (andsi3): Likewise.
11978         (iorhi3): Likewise.
11979         (iorsi3): Likewise.
11980         (xorhi3): Likewise.
11981         (xorsi3): Likewise.
11982
11983 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11984
11985         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
11986         comparison with rtx INTVAL.
11987         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
11988         expression.
11989         * pa.h (FUNCTION_ARG_SIZE): Likewise.
11990
11991 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11992
11993         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
11994         comment typos.
11995
11996 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11997
11998         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
11999         (reg n) to (mem (pre_dec (reg n))
12000         (anonymous movsi pattern): Likewise.
12001
12002 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12003
12004         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
12005
12006 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12007
12008         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12009         several special constants.
12010
12011 2001-08-29  Kazu Hirata  <kazu@hxi.com>
12012
12013         * config/h8300/lib1funcs.asm: Fix comment typos.
12014
12015 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12016
12017         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12018         Fix format specifier warnings.
12019
12020         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12021         inet_makeaddr, semctl): Prototype.
12022
12023         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12024         (save_restore_insns): Use base_offset, not gp_offset.
12025
12026         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12027         (ASM_OUTPUT_BYTE): Fix format specifier warning.
12028
12029 2001-08-29  Richard Henderson  <rth@redhat.com>
12030
12031         * bb-reorder.c (function_tail_eff_head): New.
12032         (record_effective_endpoints): Set it.
12033         (fixup_reorder_chain): Use it.
12034
12035 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12036
12037         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12038
12039 2001-08-28  Dale Johannesen  <dalej@apple.com>
12040
12041         * config/darwin.c (machopic_function_base_name): Add const
12042         qualifier to a string.
12043         (darwin_encode_section_info): Ditto.
12044
12045 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12046
12047         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12048         function definition.
12049
12050 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12051
12052         * df.h (struct df): Add rts_order variable.
12053
12054         * df.c (df_visit_next_rts): New function.
12055         (df_visit_next): Renamed to df_visit_next_rc
12056         (df_analyse_1): Allocate/compute/free rts_order as well.
12057         (df_rd_global_compute): Use df_visit_next_rc instead of
12058         df_visit_next.
12059         (df_ru_global_compute): Use df_visit_next_rts instead of
12060         df_visit_next.
12061
12062         * flow.c (flow_reverse_top_sort_order_compute): New function.
12063
12064         * basic-block.h: Add prototype.
12065
12066 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
12067
12068         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12069         blocks, the BB_REACHABLE is now set, rather than aux being
12070         non-NULL. Update the test to reflect this.
12071
12072 2001-08-28  Eric Christopher  <echristo@redhat.com>
12073
12074         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12075         config/mips/crti.asm: Ditto.
12076
12077 2001-08-28  Eric Christopher <echristo@redhat.com>
12078             Richard Henderson <rth@redhat.com>
12079
12080         * c-pragma.h (add_weak): Move prototype from here...
12081         * output.h (add_weak): ... to here.
12082         * varasm.c (add_weak): Fix typo.
12083         * config/mips/crti.asm: New file.
12084         * config/mips/crtn.asm: Ditto.
12085         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12086         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12087         (INVOKE__main): Ditto.
12088         (INIT_SECTION_ASM_OP): New.
12089         (FINI_SECTION_ASM_OP): Ditto.
12090         (STARTFILE_SPEC): Add crti.
12091         (ENDFILE_SPEC): Add crtn.
12092         * config/mips/elf64.h: Same.
12093         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12094         Remove.
12095         * config/mips/vxworks.h: Ditto.
12096         * config/mips/t-elf: Support crti and crtn.
12097
12098 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12099
12100         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12101         INSN_LIST.
12102
12103 2001-08-28  Richard Henderson  <rth@redhat.com>
12104
12105         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12106         (one_cmplbi2 splitter): Remove redundant test.
12107
12108 2001-08-28  Dale Johannesen  <dalej@apple.com>
12109
12110         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12111
12112 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
12113
12114         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12115
12116 2001-08-28  Stan Shebs  <shebs@apple.com>
12117
12118         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12119         (UNALIGNED_SHORT_ASM_OP): Define.
12120         (UNALIGNED_INT_ASM_OP): Define.
12121
12122 2001-08-28  Will Cohen  <wcohen@redhat.com>
12123
12124         * config/rs6000/rs6000.md (store_multiple): Correct RTL
12125         generation for first set.
12126
12127 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12128
12129         * flow.c (redirect_edge_succ_nodup): Return new edge.
12130         (try_simplify_condjump): Use new edge.
12131         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12132
12133         * cse.c (cse_basic_block): Skip note instructions.
12134
12135 2001-08-27  Richard Henderson  <rth@redhat.com>
12136
12137         * combine.c (combine_simplify_rtx): Don't reverse condition
12138         if there is no reverse for the condition.
12139         (simplify_comparison): Don't simplify subregs from INT to FP.
12140
12141         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12142         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12143         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12144         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12145         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12146         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12147
12148 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12149
12150         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12151         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12152         (pushqi1): New.
12153         (adddi_dilshr32, adddi_dishl32): Only data register can be
12154         source for mem destination.
12155
12156         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12157         and use bitnum to decide about register move.
12158
12159 2001-08-27  Richard Henderson  <rth@redhat.com>
12160
12161         * genattr.c (main): Emit state_t even when not doing scheduling.
12162
12163 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12164             Richard Henderson  <rth@redhat.com>
12165
12166         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12167         (reg_avail_info, current_bb): ... these.
12168         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12169         (compute_hash_table): Likewise.
12170
12171 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12172
12173         * flow.c (verify_flow_info): Use checksums to verify edges.
12174
12175 2001-08-27  Richard Henderson  <rth@redhat.com>
12176
12177         * genautomata.c (expand_automata): Always create a description.
12178
12179 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12180
12181         * optabs.c (expand_binop): Correctly handle the carry in multiword
12182         add/subtract operations.
12183
12184 2001-08-27  Fred Fish  <fnf@be.com>
12185
12186         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12187         __SIZE_TYPE__.
12188
12189 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12190
12191         * reload.c (find_reloads_toplev): Back out this change:
12192
12193         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12194
12195         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12196         mem if the address is a mode_dependent_address_p.
12197
12198 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12199
12200         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12201         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12202         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12203         RTL constructions.
12204
12205         * genattr.c (main): New variable num_insn_reservations.  Increase
12206         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12207         pipeline hazard recognizer interface.
12208
12209         * genattrtab.h: New file.
12210
12211         * genattrtab.c: Include genattrtab.h.
12212         (attr_printf, check_attr_test, make_internal_attr,
12213         make_numeric_value): Move protypes into genattrtab.h.  Define them
12214         as external.
12215         (num_dfa_decls): New global variable.
12216         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12217         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12218         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12219         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12220
12221         * genautomata.c: New file.
12222
12223         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12224
12225         * sched-int.h: (curr_state): Add the external definition for
12226         automaton pipeline interface.
12227         (haifa_insn_data): Add comments for members blockage and units.
12228
12229         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12230         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12231         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12232         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12233         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12234         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12235         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12236         macros.
12237         (TARGET_SCHED): Use the new macros.
12238
12239         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12240         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12241         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12242         dfa_bubble): New members in gcc_target.sched.
12243
12244         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12245         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12246         (insn_queue): Redefine it as pointer to array.
12247         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12248         INSN_QUEUE_SIZE.
12249         (max_insn_queue_index_macro_value): New variable.
12250         (curr_state, dfa_state_size, ready_try): New varaibles for
12251         automaton interface.
12252         (ready_element, ready_remove, max_issue): New function prototypes
12253         for automaton interface.
12254         (choose_ready): New function prototype.
12255         (insn_unit, blockage_range): Add comments.
12256         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12257         FUNCTION_UNITS_SIZE == 0.
12258         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12259         actual_hazard, potential_hazard): Add comments.
12260         (insn_cost): Use cost -1 as undefined value.  Remove
12261         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
12262         pipeline interface.
12263         (ready_element, ready_remove): New functions for automaton
12264         interface.
12265         (schedule_insn): Add new code for automaton pipeline interface.
12266         (queue_to_ready): Add new code for automaton pipeline interface.
12267         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12268         (debug_ready_list): Print newline when the queue is empty.
12269         (max_issue): New function for automaton pipeline interface.
12270         (choose_ready): New function.
12271         (schedule_block): Add new code for automaton pipeline interface.
12272         Print ready list before scheduling each insn.
12273         (sched_init): Add new code for automaton pipeline interface.
12274         Initiate insn cost by -1.
12275         (sched_finish): Free the current automaton state and finalize
12276         automaton pipeline interface.
12277
12278         * sched-rgn.c: Include target.h.
12279         (init_ready_list, new_ready, debug_dependencies): Add new code for
12280         automaton pipeline interface.
12281
12282         * sched-vis.c: Include target.h.
12283         (get_visual_tbl_length): Add code for automaton interface.
12284         (target_units, print_block_visualization):  Add comments.
12285
12286         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
12287         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12288         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12289         (getruntime.o, genautomata.o): New entries.
12290         (genattrtab.o): Add new dependency file genattrtab.h.
12291         (genattrtab): Add new dependencies.  Link it with `libm.a'.
12292         (getruntime.o, hashtab.o): New entries for canadian cross.
12293
12294         * doc/md.texi: Description of automaton based model.
12295
12296         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12297         Add comments.
12298         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12299         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12300         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12301         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12302         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12303         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12304         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12305         hook descriptions.
12306         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12307         MAX_DFA_ISSUE_RATE): New macro descriptions.
12308
12309         * doc/contrib.texi: Add dfa based scheduler contribution.
12310
12311         * doc/gcc.texi: Add more information about genattrtab.
12312
12313 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
12314
12315         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
12316         an RTL basic block.
12317
12318 2001-08-27  Richard Henderson  <rth@redhat.com>
12319
12320         * function.c (expand_function_end): Don't init arg_pointer_save_area.
12321         (get_arg_pointer_save_area): New.  Create an init it here.
12322         (fix_lexical_addr): Use it.
12323         * function.h: Declare it.
12324         * builtins.c (expand_builtin_setjmp_receiver): Use it.
12325         * stmt.c (expand_nl_goto_receiver): Use it.
12326
12327 2001-08-27  Richard Henderson  <rth@redhat.com>
12328
12329         * final.c (final_scan_insn): Don't enter APP_ON mode for
12330         empty asm strings.
12331
12332         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
12333         alignment for assemble_integer for DW_EH_PE_aligned.
12334         * except.c (output_function_exception_table): Likewise.
12335
12336 2001-08-26  Andreas Jaeger  <aj@suse.de>
12337
12338         * c-tree.h: Add prototyp for c_sizeof_nowarn.
12339
12340 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
12341
12342         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
12343
12344 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
12345
12346         * config/rs6000/rs6000.c (mask_operand): Rewrite without
12347         bit-shifting loop.
12348         (mask64_operand): Likewise.
12349         (rldic_operand): Delete.
12350         (includes_lshift64_p): Delete.
12351         (includes_rldic_lshift_p): New function.
12352         (includes_rldicr_lshift_p): New function.
12353         (print_operand): Don't call rldic_operand in case 'W'.
12354         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
12355         (includes_lshift64_p): Remove.
12356         (includes_rldic_lshift_p): Declare.
12357         (includes_rldicr_lshift_p): Declare.
12358         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
12359         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
12360         Replace match_operand rldic_operand predicate with
12361         const_int_operand.  Replace includes_lshift64_p condition with
12362         includes_rldic_lshift_p.
12363         <ashldi3_internal 64 bit rldicr patterns>: New.
12364
12365 2001-08-27  Andreas Jaeger  <aj@suse.de>
12366
12367         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12368         * errors.c: Likewise.
12369         * final.c: Likewise.
12370         * dwarf2asm.c: Likewise.
12371         * doprint.c (checkit): Likewise.
12372         * diagnostic.c: Likewise.
12373         * collect2.c: Likewise.
12374         * calls.c: Likewise.
12375         * c-semantics.c (build_stmt): Likewise.
12376         * c-format.c (status_warning): Likewise.
12377         * c-errors.c (pedwarn_c99): Likewise.
12378         * builtins.c (validate_arglist): Likewise.
12379         * config/pj/pj.c (pj_printf): Likewise.
12380         * fix-header.c: Likewise.
12381         * gcc.c: Likewise.
12382         * gcov.c (fnotice): Likewise.
12383         * gensupport.c (message_with_line): Likewise.
12384         * mips-tfile.c: Likewise.
12385         * protoize.c (notice): Likewise.
12386         * read-rtl.c (fatal_with_file_and_line): Likewise.
12387         * rtl-error.c: Likewise.
12388         * tradcpp.c: Likewise.
12389         * tree.c: Likewise.
12390         * cp/tree.c (build_min_nt): Likewise.
12391         (build_min): Likewise.
12392         * cp/lex.c: Likewise.
12393         * cp/errfn.c: Likewise.
12394         * cp/rtti.c (create_pseudo_type_info): Likewise.
12395
12396 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
12397
12398         * df.c (df_uses_record): Return after recording all uses
12399         in ASM_OPERANDS.
12400
12401 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
12402
12403         * df.c (df_insn_modify): Realloc the INSN table here, if
12404         necessary, here, too.
12405
12406 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
12407
12408         * config/mips/mips.c (mips_function_value): Handle complex return
12409         values.
12410
12411 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
12412
12413         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
12414         unshared.
12415         * reload.c (make_memloc): Copy result if it is still
12416         reg_equiv_memory_loc[regno] on return.
12417         (subst_reloads) [ENABLE_CHECKING]: Check that none of
12418         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
12419         reg_equiv_mem are modified by the substitutions.
12420
12421 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12422
12423         * predict.c (expensive_function_p): New.
12424         * rtl.h (expensive_function_p): Declare.
12425         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
12426         (use_fast_prologue_epilogue): New static variable.
12427         (expand_prologue): Set it; emit short prologues if unset.
12428         (expand_epilogue): Likewise.
12429
12430 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12431
12432         * config.gcc: Add stormy16-*-elf case.
12433         * config/stormy16/stormy-abi: New file.
12434         * config/stormy16/stormy16-lib2.c: New file.
12435         * config/stormy16/stormy16-protos.h: New file.
12436         * config/stormy16/stormy16.c: New file.
12437         * config/stormy16/stormy16.h: New file.
12438         * config/stormy16/stormy16.md: New file.
12439         * config/stormy16/t-stormy16: New file.
12440
12441 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
12442
12443         * i386.h (no-accumulate-outgoing-args): Use proper mask.
12444
12445 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
12446
12447         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
12448         descriptor members are pointer size, not constant 4.
12449         * config/rs6000/rs6000.md (define_splits): Remove more unused
12450         constraints.
12451
12452 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12453
12454         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
12455
12456 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
12457
12458         * cp/rtti.c (VPARAMS): Fix parameter.
12459
12460 2001-08-24  Zack Weinberg  <zackw@panix.com>
12461
12462         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
12463         to zero.
12464         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
12465         to switch.
12466         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
12467         in if controlling use of insv.
12468         (extract_bit_field): Likewise, for extv and extzv.
12469
12470 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
12471
12472         * i386.md (movcc peep2): Fix load of 0.
12473
12474 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12475
12476         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
12477         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
12478
12479 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
12480
12481         * c-pragma.h: Move weak_syms and weak_decls...
12482         * varasm.c: ...here.  Now static.
12483         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
12484         depend on HANDLE_PRAGMA_WEAK.
12485
12486         * c-common.c (c_alignof, c_alignof_expr): Move here...
12487         * c-typeck.c: ...from here.
12488         * c-tree.h, c-common.h: Adjust.
12489
12490 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
12491
12492         * config/ia64/ia64.c (rws_update): If !pred, set write_count
12493         instead of incrementing it.
12494
12495         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
12496         asm ready, don't try to move them all into the same array element.
12497
12498 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12499
12500         * function.c (thread_prologue_and_epilogue_insns): Avoid
12501         fallthru flag on edge to exit.
12502
12503         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
12504
12505         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
12506         dead edges.
12507
12508 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12509
12510         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
12511         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
12512         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
12513         Remove prototype.
12514
12515 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12516
12517         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
12518         replace "GNU CC" with "GCC".
12519
12520 2001-08-23  Richard Henderson  <rth@redhat.com>
12521
12522         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
12523         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
12524         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
12525         Need GR between FR and not GR_AND_FR.
12526         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
12527         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
12528         AR regs before GR regs.
12529         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12530         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
12531         (REGISTER_MOVE_COST): Update.
12532         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
12533
12534 2001-08-23  Richard Henderson  <rth@redhat.com>
12535
12536         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
12537         a register class.
12538
12539 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12540
12541         * reload1.c (emit_reload_insns): Don't look for notes
12542         on a NULL store_insn.
12543
12544 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12545
12546         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
12547         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
12548         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
12549         format specifier warnings.
12550         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
12551
12552 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
12553
12554         * config/i386/i386-protos.h: Correct declaration of
12555         i386_pe_asm_named_section.
12556
12557 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12558
12559         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
12560         variable i.
12561         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12562
12563 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12564
12565         * cpperror.c (print_location): Don't show _Pragma.
12566         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
12567         and file change callback generation here.
12568         (stack_include_file): Update use of cpp_push_buffer.
12569         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
12570         (struct cpp_buffer): Remove type, pfile members.
12571         * cppinit.c (cpp_handle_option): Use free_chain.
12572         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
12573         (skip_escaped_newlines, get_effective_char, lex_percent): Take
12574         a cpp_reader rather than a cpp_buffer.
12575         (skip_escaped_newlines, get_effective_char, skip_block_comment,
12576         skip_line_comment, parse_string, lex_percent, lex_dot,
12577         _cpp_lex_token): Update accordingly.
12578         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
12579         generation here.
12580         (cpp_push_buffer): Update prototype.
12581         (run_directive): Update use of cpp_push_buffer.
12582         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
12583         handle_assertion): Update use of run_directive.
12584         * cpplib.h (enum cpp_buffer_type): Remove.
12585         (cpp_push_buffer): Update prototype.
12586         * fix-header.c (read_scan_file): Update.
12587
12588 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12589
12590         * gcc.c (struct prefix_list): Change prefix to const char *.
12591
12592 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12593
12594         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
12595
12596 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
12597
12598         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
12599         from a new MEM.
12600
12601         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
12602         a squeezable note.
12603         * rtl.h: Adjust.
12604         * ifcvt.c (dead_or_predicable): Adjust.
12605         * loop.c (find_and_verify_loops): Adjust.
12606         * stmt.c (expand_end_case): Adjust.
12607         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
12608         head and end insn pointers in the basic block, not just local copies.
12609         (merge_blocks_move_predecessor_nojumps): Likewise.
12610
12611 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
12612
12613         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
12614         bitmap.h, builtin-types.def, builtins.c, builtins.def,
12615         c-aux-info.c, c-common.c, c-common.def, c-common.h,
12616         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
12617         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
12618         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
12619         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
12620         conditions.h, config.gcc, configure.frag, configure.in,
12621         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
12622         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
12623         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
12624         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
12625         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
12626         emit-rtl.c, errors.c, errors.h, except.c, except.h,
12627         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
12628         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
12629         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
12630         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
12631         gencheck.c, gencodes.c, genconfig.c, genemit.c,
12632         genextract.c, genflags.c, gengenrtl.c, genmultilib,
12633         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
12634         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
12635         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
12636         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
12637         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
12638         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
12639         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
12640         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
12641         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
12642         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
12643         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
12644         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
12645         params.h, predict.c, predict.def, predict.h, prefix.c,
12646         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
12647         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
12648         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
12649         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
12650         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
12651         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
12652         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
12653         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
12654         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
12655         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
12656         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
12657         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
12658         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
12659         xcoffout.h: replace "GNU CC" with "GCC".
12660
12661 2001-08-21  Richard Henderson  <rth@redhat.com>
12662
12663         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
12664         (final_scan_insn): Consider jump tables data even if we have no
12665         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
12666         ADDR_VEC_ALIGN.
12667         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
12668         (ASM_OUTPUT_CASE_END): Remove.
12669         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
12670         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
12671         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
12672
12673 2001-08-21  Richard Henderson  <rth@redhat.com>
12674
12675         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
12676         at barrier insns.  Emit stop bits before barriers.
12677
12678         * flow.c (flow_find_cross_jump): Don't consider unconditional
12679         return insns for commoning.
12680
12681         * final.c (compute_alignments): Fix typo.
12682
12683         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
12684         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
12685         (store_bit_field): Use mode_for_extraction more places.
12686         (extract_bit_field): Likewise.
12687
12688 2001-08-21  Zack Weinberg  <zackw@panix.com>
12689
12690         * caller-save.c: Don't include insn-codes.h.
12691         (reg_save_code, reg_restore_code): Make arrays of int.
12692         All uses updated to match.
12693         (insert_save, insert_restore): No need to initialize "code"
12694         variable upon declaration.
12695         * Makefile.in: update dependencies; fix typo in clean rule.
12696
12697 2001-08-21  Richard Henderson  <rth@redhat.com>
12698
12699         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
12700         (merge_if_block): Handle fallout from same.
12701
12702 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12703
12704         * builtins.c (type_to_class): Fix typo in last change.
12705
12706 2001-08-21  Richard Henderson  <rth@redhat.com>
12707
12708         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
12709         ia64_asm_output_label.
12710
12711         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
12712         copy of gp while the real gp register contains garbage.
12713
12714 2001-08-21  Zack Weinberg  <zackw@panix.com>
12715
12716         * expmed.c (mode_for_extraction): New function.
12717         (store_bit_field, extract_bit_field): Use it.
12718         * expr.h: Prototype it and provide an enum for its first argument.
12719
12720         * combine.c, function.c, recog.c: Don't include insn-codes.h.
12721         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
12722         and digging through the insn_data tables.
12723         * Makefile.in: Update dependencies.
12724
12725 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12726
12727         * cppfiles.c (stack_include_file): line-map.c now handles include
12728         depth.
12729         (handle_missing_handler): Similarly.
12730         (_cpp_execute_include): Similarly.
12731         (_cpp_pop_file_buffer): Similarly.
12732         * cpphash.h (struct cpp_reader): Remove system_include_depth,
12733         buffer_stack_depth and include_depth.
12734         * cpplib.c (do_include_common): line-map.c now handles include depth.
12735         (cpp_push_buffer): Similarly.
12736         (_cpp_pop_buffer): Similarly.
12737         * cppmacro.c (builtin_macro): Update.
12738         * line-map.c (init_line_maps): Set depth.
12739         (add_line_map): Increment "used" earlier.  Update and use the
12740         include depth.
12741         (trace_include): Use the include depth.
12742         * line-map.h (struct line_maps): New member depth.
12743
12744 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12745
12746         * cppfiles.c (stack_include_file): Don't handle -H here.
12747         * cppinit.c (cpp_start_read): Set include tracing after
12748         cpp_post_options and after stacking the main file.
12749         * line-map.c (trace_include): New.
12750         (init_line_maps, add_line_map): Update.
12751         * line-map.h (struct line_maps): New member trace_includes.
12752
12753 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12754
12755         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
12756         * cppfiles.c (stack_include_file): Only stack a file if there
12757         is something to do.  Return a boolean indicating whether a
12758         buffer was stacked or not.
12759         (_cpp_execute_include): Similarly.
12760         (_cpp_read_file): Similarly.
12761         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
12762
12763 2001-08-21  Sam Steingold  <sds@gnu.org>
12764
12765         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
12766         (RECACHE): keep obufp_before_macroname up to date
12767
12768 2001-08-21  Zack Weinberg  <zackw@panix.com>
12769
12770         * stmt.c: Don't include insn-codes.h.
12771         (expand_end_case): Machine specific logic moved to expr.c.
12772         No need to worry about __builtin_classify_type.
12773         (check_for_full_enumeration_handling, emit_case_nodes):
12774         Kill #if 0 blocks.
12775
12776         * builtins.o (expand_builtin_classify_type): Split up so code
12777         can be shared with fold_builtin_classify_type.
12778         (type_to_class, fold_builtin_classify_type): New functions.
12779         (fold_builtins): Handle __builtin_classify_type.
12780
12781         * expr.c (do_tablejump): Now static.
12782         (case_values_threshold, try_casesi, try_tablejump): New;
12783         code mostly from stmt.c (expand_end_case).
12784         (expr.h): Update prototypes.
12785
12786         * Makefile.in (stmt.o): Update dependencies.
12787
12788 2001-08-21  Will Cohen  <wcohen@redhat.com>
12789
12790         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
12791         declaration of variable i.
12792         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
12793         declaration of variable i.
12794
12795 2001-08-21  Richard Henderson  <rth@redhat.com>
12796
12797         * crtstuff.c: Fix thinko last change.  Move list tails to start
12798         of CRT_END section.  Tidy ifdefs.
12799         (__EH_FRAME_BEGIN__): Always static for ELF.
12800         (__do_global_ctors_1): Rename from __frame_dummy.
12801         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
12802         name change; don't hide __EH_FRAME_BEGIN__.
12803
12804 2001-08-21  Richard Henderson  <rth@redhat.com>
12805
12806         * gdbinit.in: Move break on exit after break on fancy_abort.
12807
12808         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
12809         sized types.
12810
12811 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12812
12813         * cpphash.h (_cpp_push_next_buffer): New.
12814         * cppinit.c (do_includes): Remove.
12815         (push_include, free_chain, _cpp_push_next_buffer): New.
12816         (cpp_start_read): Use them to rework command line option handling.
12817         (cpp_handle_option): Combine handling of -include and -imacros.
12818         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
12819         appropriate.  Always insert missing \n at EOF.
12820         * cpplib.c (start_directive): Get the directive position right.
12821         * cppmain.c (cb_file_change): Always print the first line, unless
12822         preprocessed.
12823
12824 2001-08-20  Andreas Jaeger  <aj@suse.de>
12825
12826         * profile.c (compute_branch_probabilities): Remove extra new-line
12827         in error message.
12828         * flow.c (verify_flow_info): Likewise.
12829
12830 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12831
12832         * basic-block.h (basic_block): Add new field 'flags'.
12833         (BB_REACHABLE): Define.
12834         (expunge_block): Declare.
12835         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
12836         (EXIT_BLOCK_PTR): Ditto.
12837         (expunge_block): Remove static declaration.
12838         (cleanup_cfg): Clear bb->aux on every basic block.
12839         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
12840         computing reachability.
12841         (delete_unreachable_blocks): Delete block b if b->flags has
12842         BB_REACHABLE unset.
12843
12844 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12845
12846         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
12847
12848 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12849
12850         * sparc.c (sparc_variable_issue): Fix typo in last change.
12851
12852 2001-08-20  Richard Henderson  <rth@redhat.com>
12853
12854         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
12855
12856 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12857
12858         * pa.h (RETURN_IN_MEMORY): Improve comment.
12859
12860 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
12861
12862         * doc/invoke.texi (Profiling options): Clarify the interactions
12863         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
12864
12865 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
12866
12867         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
12868         command.
12869
12870 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12871
12872         * gcc.c (make_relative_prefix): Allocate a sufficiently large
12873         buffer.
12874
12875 2001-08-20  Richard Henderson  <rth@redhat.com>
12876
12877         * final.c (end_final): Fix typo last change.
12878
12879 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
12880
12881         * cppinit.c (init_standard_includes): The returned buffer
12882         is already malloc-ed.
12883         * gcc.c (add_prefix): Similarly.
12884         * prefix.c (translate_name): Update to support clear buffer
12885         ownership rules.
12886         (update_path): Similarly.  Be sure to free any newly allocated
12887         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
12888         (tr): New function.
12889         * prefix.h (update_path): Update prototype and document.
12890         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
12891         up and update to new buffer ownership rules.
12892         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
12893
12894 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
12895
12896         * final.c (compute_alignments): New function.
12897         (init_insn_lengths): Do not care label_align.
12898         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
12899         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
12900         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
12901         (shorted_branches): Realloc label_align array; do
12902         not call init_insn_lengths; Do not care about loop alignments.
12903         * output.h (compute_alignments): Declare.
12904         * toplev.c (rest_of_compilation): Call compute_alignments.
12905         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
12906
12907         * predict.c (block_info_def): Add npredecesors, remove nvisited;
12908         change visited to tovisit.
12909         (propagate_freq): Use faster traversing algorithm.
12910         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
12911         to tovisit; reverse meaning.
12912
12913         * predict.c (struct block_info_def): Remove nvisited.
12914         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12915         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12916
12917 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
12918
12919         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
12920         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
12921         (TARGET_FUSED_MADD): New.
12922         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
12923         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
12924         the multiply-add instructions.
12925
12926 2001-08-19  Richard Henderson  <rth@redhat.com>
12927
12928         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
12929         is aligned to pointer size.
12930
12931 2001-08-19  Richard Henderson  <rth@redhat.com>
12932
12933         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
12934         display markers during final schedule.
12935
12936 2001-08-19  Richard Henderson  <rth@redhat.com>
12937
12938         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
12939
12940 2001-08-19  Richard Henderson  <rth@redhat.com>
12941
12942         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
12943         in the same string.
12944         (ASM_NAME_TO_STRING): Remove.
12945         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
12946         in the same string.  Remove support for expressions.
12947
12948 2001-08-19  Richard Henderson  <rth@redhat.com>
12949
12950         * config/i386/i386.md (tablejump): Make an expander; handle
12951         pic relative addressing here.
12952         (tablejump_1): Rename from tablejump_pic.
12953         (casesi): Remove.
12954
12955 2001-08-19  Richard Henderson  <rth@redhat.com>
12956
12957         * regclass.c (fix_register): Fix typo.
12958
12959 2001-08-18  Richard Henderson  <rth@redhat.com>
12960
12961         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
12962         (struct _Unwind_Context): Expand br_loc to hold it.
12963         (uw_frame_state_for): Handle leaf functions better.
12964         (uw_update_reg_address): Update for br_loc change.
12965
12966 2001-08-18  Richard Henderson  <rth@redhat.com>
12967
12968         * crtstuff.c: Move list heads before code that uses them.
12969         (__JCR_LIST__): Remove initial null.
12970         (frame_dummy, __frame_dummy): Do java registration here ...
12971         (__do_global_ctors_aux): ... not here.
12972
12973         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
12974         (__do_global_dtors_aux): Update to match.
12975         (__JCR_LIST__, __do_jv_register_classes): New.
12976         (.init): Call it.
12977         * config/ia64/crtend.asm (__JCR_END__): New.
12978         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
12979         instead of an indirect LTOFF22 reloc.
12980
12981 2001-08-18  Richard Henderson  <rth@redhat.com>
12982
12983         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
12984         * regclass.c (init_reg_sets_1): Fix typo.
12985         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
12986         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
12987         (ia64_compute_frame_size): Make ar.unat live when in use.
12988         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
12989         for ar.pfs; remove ar.unat handling.
12990         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
12991         call-saved.
12992         (PREDICATE_CODES): Add ar_pfs_reg_operand.
12993         * config/ia64/ia64-protos.h: Update decls.
12994         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
12995         (sibcall_pic): Likewise.
12996
12997 2001-08-18  Richard Henderson  <rth@redhat.com>
12998
12999         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13000         pred_rel_mutex when searching for insn_group_barrier.
13001         * config/ia64/ia64.md (cycle_display): Combine the expander
13002         and insn patterns.
13003
13004         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13005         bit before asm as needed.
13006
13007 2001-08-18  Richard Henderson  <rth@redhat.com>
13008
13009         * timevar.def (TV_MACH_DEP): New.
13010         * toplev.c (rest_of_compilation): Use it.
13011         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13012
13013 2001-08-18  Zack Weinberg  <zackw@panix.com>
13014
13015         * unwind-dw2.c (execute_stack_op): Add default aborts to
13016         the inner switches to prevent warnings.
13017
13018 2001-08-18  Richard Henderson  <rth@redhat.com>
13019
13020         * timevar.h (struct timevar_time_def): Change element type to float.
13021         (ticks_to_msec, clocks_to_msec): Likewise.
13022         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13023         (get_time): Likewise.
13024         (timevar_print): Adjust zero check and printing to match.
13025
13026 2001-08-18  Zack Weinberg  <zackw@panix.com>
13027
13028         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13029         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13030         Eliminate overfull or underfull hboxes.
13031
13032 2001-08-18  Zack Weinberg  <zackw@panix.com>
13033
13034         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13035
13036 2001-08-18  Zack Weinberg  <zackw@panix.com>
13037
13038         * haifa-sched.c: Convert to target hooks.  Macros replaced
13039         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13040         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13041         MD_SCHED_FINISH, and HAVE_cycle_display.
13042         * target-def.h (TARGET_SCHED_ADJUST_COST,
13043         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13044         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13045         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
13046         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
13047         New hook #defines to be overridden.
13048         (TARGET_SCHED): Bring them all together.
13049         (TARGET_INITIALIZER): Update.
13050         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
13051         instead of 'struct rtx_def *' throughout.
13052         (struct sched): New set of hooks for the scheduler.
13053         * Makefile.in (haifa-sched.o): Depend on target.h.
13054         * doc/tm.texi: Document the new scheduler hooks, together in
13055         their own section, instead of scattered around.
13056         Fix a bunch of underfull/overfull hboxes.
13057
13058         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13059         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13060         sparc.h: Don't define any of the old scheduler macros.
13061
13062         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13063         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13064         sparc.c: Create hook functions from code extracted from
13065         corresponding target header, or make existing hooks static, as
13066         appropriate.  Set the appropriate entries in targetm.
13067
13068         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13069         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13070         rs6000-protos.h, s390-protos.h, sparc-protos.h:
13071         Remove prototypes for functions which are now static.
13072
13073         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13074         related gunk; the Haifa scheduler is now the only choice.
13075
13076 2001-08-18  Zack Weinberg  <zackw@panix.com>
13077
13078         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13079         * genopinit.c: Put floating point divide insns in sdiv_optab.
13080         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13081         * config/gofast.h, config/c4x/c4x.h,
13082         config/ia64/hpux_longdouble.h, config/mips/mips.h,
13083         config/pa/long_double.h, config/rs6000/sysv4.h,
13084         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13085         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13086         (init_optabs): Use init_optabv for overflow-trapping optabs.
13087         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
13088         cmp_optab RTX codes so have_insn_for can find them.
13089
13090         * optabs.c (expand_simple_binop, expand_simple_unop,
13091         have_insn_for, gen_sub3_insn): New interfaces.
13092         * expr.h: Prototype new functions.
13093         (enum optab_methods): Move here from optabs.h.
13094
13095         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13096         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13097         Use new functions instead of working directly with optabs.
13098         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13099         unroll.c: Don't include optabs.h.
13100         * caller-save.c, combine.c, function.c, stmt.c: Just include
13101         insn-codes.h, not optabs.h.
13102         * Makefile.in: Update dependencies.
13103
13104         * combine.c (make_compound_operation, simplify_comparison):
13105         Fix typos testing for this or that instruction.
13106
13107 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
13108
13109         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13110         generating libgcc.a.
13111
13112 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13113
13114         * except.c (TYPE_HASH): Delete.
13115
13116         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13117         HOST_WIDE_INT.
13118
13119         * tree.c (TYPE_HASH): Delete.
13120
13121         * tree.h (TYPE_HASH): Define.
13122
13123 2001-08-18  Graham Stott  <grahams@redhat.com>
13124
13125         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13126         define_split.
13127         (adddi3_internal_2+2): Likewise.
13128         (eh_set_lr_di+1): Likewise.
13129
13130 2001-08-17  Richard Henderson  <rth@redhat.com>
13131
13132         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13133         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13134         * dwarf2asm.c: ... here.
13135         * dwarfout.c: Remove them.
13136
13137         * varasm.c (assemble_integer): Add align parameter.
13138         (assemble_real, output_constant, output_constructor): Likewise.
13139         * output.h: Update decls.
13140         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13141         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13142         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13143         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13144         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13145         Update all callers.
13146
13147         * final.c (end_final): Abort profile block generation if we
13148         haven't layed it out properly.
13149         * output.h (assemble_eh_integer): Remove stale decl.
13150         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13151         (min_align): New.
13152         (assemble_integer): Handle unaligned data.
13153         (assemble_real): Abort on unaligned data.
13154         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13155         anything useful.
13156         (default_dtor_section_asm_out_destructor): Use assemble_align.
13157         (default_named_section_asm_out_constructor): Likewise.
13158         (default_ctor_section_asm_out_constructor): Likewise.
13159         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13160         (machopic_asm_out_destructor): Likewise.
13161         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13162         (nextstep_asm_out_destructor): Likewise.
13163         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13164         (vms_asm_out_destructor): Likewise.
13165
13166 2001-08-17  Richard Henderson  <rth@redhat.com>
13167
13168         * config/mips/iris6.h (TARGET_IRIX6): New.
13169         (current_section_name, current_section_flags): New.
13170         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13171         (MAX_OFILE_ALIGNMENT): New.
13172         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13173         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13174         (copy_file_data): Split out from
13175         (mips_asm_file_end): ... here.
13176         (mips_asm_file_start): Remove extra .section directive.  Use
13177         tmpfile instead of mips_make_temp_file.
13178         (mips_unique_section): Use const char * as needed for warnings.
13179         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13180         re-add align parameter.
13181         (iris6_asm_named_section): New.
13182         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13183         (iris6_asm_output_align, iris6_section_align_1): New.
13184         (iris6_asm_file_start, iris6_asm_file_end): New.
13185         * config/mips/mips-protos.h: Update decls.
13186
13187 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13188
13189         * doc/install.texi (Install GCC): Add links to build status pages.
13190         (Specific): Ditto.
13191         (Final install): Ditto; request updates for specific info
13192
13193 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13194
13195         * cpperror.c (print_location):  Don't take a file name; use the
13196         line map instead.
13197         (_cpp_begin_message): Similarly.
13198         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13199         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13200         (cpp_pedwarn_with_file_and_line): Remove.
13201         * cppfiles.c (stack_include_file): Update; set filename to stdin
13202         here when appropriate.
13203         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13204         (_cpp_begin_message): Don't take a file name.
13205         * cppinit.c: Add comment.
13206         * cpplex.c: Fix end-of-directive indicator.
13207         * cpplib.c: Don't include intl.h.
13208         (run_directive, do_diagnostic): Update.
13209         (do_line): Update to not use nominal_fname.
13210         (cpp_push_buffer): Don't take a filename.
13211         * cpplib.h (struct ht): Remove.
13212         (cpp_push_buffer): Don't take a filename.
13213         (cpp_pedwarn_with_file_and_line): Remove.
13214         * cppmacro.c (struct cpp_macro): Remove file.
13215         (builtin_macro): Update.
13216         (_cpp_create_definition): Update.
13217         * cppmain.c: Correct comment.
13218         * fix-header.c (read_scan_file): Update.
13219
13220 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13221
13222         * sbitmap.c: Fix comment formatting.
13223         * sched-deps.c: Likewise.
13224         * sibcall.c: Likewise.
13225         * simplify-rtx.c: Likewise.
13226         * ssa.c: Likewise.
13227         * ssa-ccp.c: Likewise.
13228         * stor-layout.c: Likewise.
13229         * timevar.c: Likewise.
13230         * toplev.c: Likewise.
13231         * unwind-dw2.c: Likewise.
13232         * unwind-dw2-fde.c: Likewise.
13233         * varasm.c: Likewise.
13234
13235 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13236
13237         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13238         or larger than an integer in memory.
13239
13240 2001-08-17  Zack Weinberg  <zackw@panix.com>
13241
13242         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13243         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13244         * rtl.h: Don't forward-declare union tree_node here.  Don't
13245         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13246         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13247         and tree respectively.
13248         * tree.h: Don't forward-declare struct rtx_def here.  Don't
13249         typedef tree here.  Change all uses of struct rtx_def *,
13250         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13251         and tree respectively.
13252
13253 2001-08-17  Richard Henderson  <rth@redhat.com>
13254
13255         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
13256         config/mips/openbsd.h: Fix typos last change.
13257
13258 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13259
13260         * doc/invoke.texi (Optimize Options): The default for
13261         -finline-limit is 600.
13262
13263 2001-08-17  Richard Henderson  <rth@redhat.com>
13264
13265         * varasm.c (text_section): Allow TEXT_SECTION to override the
13266         printing of TEXT_SECTION_ASM_OP.
13267         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
13268         (DATA_SECTION, BSS_SECTION): Remove.
13269         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
13270         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
13271         Rename from s/_NAME//.
13272         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
13273         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
13274         (TEXT_SECTION): ... here.  New.
13275         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
13276         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
13277         * config/mips/openbsd.h: Likewise.
13278         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
13279         (mips_asm_file_end): Likewise test.
13280         (mips_output_function_epilogue): Likewise.  Switch back to data
13281         section after emitting the function.
13282
13283         * doc/tm.texi (Sections): Document TEXT_SECTION.
13284
13285 2001-08-17  Richard Henderson  <rth@redhat.com>
13286
13287         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
13288         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
13289
13290 2001-08-17  Richard Henderson  <rth@redhat.com>
13291
13292         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
13293         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
13294         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
13295         Add aligned attribute.
13296
13297 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
13298
13299         * config/sh/sh.md: Add modes to unspecs in first insn to match
13300         those in the second.
13301
13302         * Makefile.in: Fix collect2 copy for Cygwin.
13303
13304 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13305
13306         Install the proper patch.
13307         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13308         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13309         (expand_function_start): Likewise.
13310         * stmt.c (expand_decl): Likewise.
13311         * varasm.c (make_decl_rtx): Likewise.
13312
13313 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13314
13315         * final.c: Undo my previous accidental checkin.
13316         * output.h: Likewise.
13317         * tm.texi: Likewise.
13318
13319 2001-08-16  Richard Henderson  <rth@redhat.com>
13320
13321         * varasm.c (named_section_flags): Remove align parameter.
13322         * varasm.c, dwarf2out.c: Update all callers.
13323         * output.h: Update prototypes.
13324
13325         * target.h (target.asm_out.named_section): Remove align parameter.
13326         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
13327         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
13328         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
13329         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
13330         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
13331
13332         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
13333         (get_named_section_flags, set_named_section_flags): New.
13334         (named_section_flags): Use them.
13335         (named_section): Do decl vs section flags check here...
13336         (default_section_type_flags): ... not here.
13337         (init_varasm_once): Create in_named_htab.
13338         (resolve_unique_section): Mark reloc unused.
13339
13340 2001-08-16  Richard Henderson  <rth@redhat.com>
13341
13342         * varasm.c (force_const_mem): Keep pool alignment in bits.
13343         (output_constant_pool): Use assemble_align.
13344
13345 2001-08-16  Zack Weinberg  <zackw@panix.com>
13346
13347         * doc/tm.texi: Remove extra @table command.
13348
13349 2001-08-16  Zack Weinberg  <zackw@panix.com>
13350
13351         * final.c (shorten_branches): Clear the end of the label_align
13352         array only if we made it larger.  Break up messy expressions
13353         for clarity.
13354
13355         * diagnostic.c (internal_error): Check for error recursion
13356         before doing ICE suppression.
13357
13358         * timevar.c: Timing variables now count in milliseconds.
13359         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
13360         (get_time): Not here.
13361         (timevar_print): Don't print any timer whose user, cpu, and
13362         wall times are all zero as displayed.
13363         * timevar.h: Update comment aboout units.  Make timevar
13364         counters unsigned.
13365
13366 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13367
13368         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13369         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13370         (expand_function_start): Likewise.
13371         * stmt.c (expand_decl): Likewise.
13372         * varasm.c (make_decl_rtx): Likewise.
13373
13374 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
13375
13376         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
13377         (finalize_record_size): Don't set TYPE_USER_ALIGN.
13378
13379 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13380
13381         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
13382         variables.
13383
13384 2001-08-16  Andreas Jaeger  <aj@suse.de>
13385
13386         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
13387         prototype.
13388
13389 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
13390
13391         * rtl.h (only_sets_cc0_p): New prototype.
13392         * jump.c (sets_cc0_p): Handle INSN.
13393         (only_sets_cc0_p): New function.
13394         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
13395         (tidy_fallthru_edge): Likewise.
13396         * integrate.c (copy_insn_list): Likewise.
13397         * unroll.c (unroll_loop): Likewise.
13398         (copy_loop_body): Likewise.
13399
13400 2001-08-15  Jason Eckhardt  <jle@redhat.com>
13401
13402         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
13403
13404 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13405
13406         * predict.c (struct block_info_def): Remove nvisited.
13407         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13408         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13409
13410         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
13411         (ix86_adjust_cost): Teach scheduler that latency to load operand can
13412         be masked.
13413
13414 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
13415
13416         * predict.def: Update hitrates.
13417
13418 2001-08-15  Richard Henderson  <rth@redhat.com>
13419
13420         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
13421
13422 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
13423
13424         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
13425         note from its associated jump.
13426
13427 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13428
13429         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
13430         also on 64-bit s390x targets.
13431
13432 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
13433
13434         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
13435         function.
13436         (arm_expand_prologue): Handled nested functions which take a
13437         variable argument list.
13438         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
13439         macro with an invocation of
13440         arm_compute_initial_elimination_offset.
13441         * config/arm/arm-protos.h: Prototype
13442         arm_compute_initial_elimination_offset.
13443
13444 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13445
13446         * doc/install.texi (Specific, avr): Fix markup.
13447         (Specific, c4x): Ditto.
13448
13449 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13450
13451         * predict.c (dump_prediction): Change `bool' parameter to `int'.
13452
13453 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
13454
13455         * Makefile.in (OBJS): Add rtl-error.o
13456         (rtl-error.o): New rule.
13457         (diagnostic.o): Adjust dependency.
13458         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
13459         error_for_asm, _fatal_insn, _fatal_insn_not_found,
13460         warning_for_asm): Move to...
13461         rtl-error.c: ...here.  New file.
13462
13463 2001-08-14  Richard Henderson  <rth@redhat.com>
13464
13465         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
13466         if USING_SJLJ_EXCEPTIONS.
13467
13468 2001-08-14  Steve Ellcey <sje@cup.hp.com>
13469
13470         * tlink.c (scan_linker_output): Check string for unsatisfied in
13471         addition to undefined and unresolved.
13472
13473 2001-08-14  Graham Stott  <grahams@redhat.com>
13474
13475         * libgcc2.c (*): Replace EH_FRAME_SECTION with
13476         EH_FRAME_SECTION_NAME.
13477
13478 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
13479
13480         * genattrtab.c (simplify_test_exp_in_temp): New function.
13481         (simplify_test_exp): Avoid explicit use of temporary obstack.
13482         (simplify_cond, insert_right_side, evaluate_eq_attr,
13483         simplify_and_tree, simplify_or_tree, eliminate_known_true):
13484         Use simplify_test_exp_in_temp.
13485         (optimize_attrs): Iterate until expression stabilizes.
13486
13487 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
13488
13489         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
13490         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
13491
13492 2001-08-13  Richard Henderson  <rth@redhat.com>
13493
13494         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
13495         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
13496         * config/arm/conix-elf.h: Likewise.
13497
13498 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13499
13500         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
13501         in gcc.c.
13502         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13503
13504         * gcse.c (hash_scan_set): Expressions that are set as part of
13505         jump instructions are not available.
13506
13507 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13508
13509         * config/s390/s390.c (print_operand, s390_function_prologue,
13510         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
13511
13512 2001-08-13  Richard Henderson  <rth@redhat.com>
13513
13514         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
13515         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
13516         * doc/tm.texi (Exception Region Output): Document it.
13517
13518 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13519
13520         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
13521         DWARF2 instead of stabs by default.
13522
13523 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13524
13525         * config/rs6000/rs6000.c: Include optabs.h.
13526
13527 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13528
13529         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
13530         save/restore routines.
13531         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
13532
13533 2001-08-13  Andreas Jaeger  <aj@suse.de>
13534
13535         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
13536         the english is correct.
13537
13538 2001-08-13  Zack Weinberg  <zackw@panix.com>
13539
13540         * expr.h: Split out optab- and libfunc-related code to...
13541         * optabs.h, libfuncs.h: ... these new headers.
13542
13543         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
13544         (OPTABS_H): New.
13545         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
13546         dependencies.
13547         * mkconfig.sh: Don't include insn-codes.h from config.h.
13548
13549         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
13550         enum insn_code is available.  Move reload_in_optab and
13551         reload_out_optab array declarations to optabs.h.
13552         * regmove.c (gen_add3_insn): Move to optabs.c, export from
13553         there, prototype in expr.h.
13554         * gencodes.c: Cleanup: zap global variables, don't use
13555         printf where puts will do, don't bother defining MAX_INSN_CODE
13556         which nothing uses, let CODE_FOR_nothing get its value implicitly.
13557
13558         * genemit.c, genopinit.c: Include optabs.h in generated file.
13559         * genoutput.c: Include insn-codes.h in generated file.
13560         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
13561         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
13562         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
13563         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
13564         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
13565         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
13566         Include optabs.h.
13567         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
13568         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
13569         config/m88k/m88k.c, config/sparc/sparc.c:
13570         Include libfuncs.h.
13571         * reload.c: Include expr.h and optabs.h before reload.h.
13572         * config/alpha/alpha.c: Include tree.h before reload.h.
13573         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
13574         and reload.h in that order.
13575         * config/sparc/sparc.c: Include debug.h.
13576         * recog.c: Include insn-codes.h.
13577
13578 2001-08-13  Andreas Jaeger  <aj@suse.de>
13579
13580         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
13581         s390*linux.
13582
13583 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
13584
13585         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
13586         * gcc.c (init_spec): Fix typo in comment.
13587         * varasm.c (data_section): Fix typo in comment.
13588
13589 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
13590
13591         * predict.c (dump_prediction): New argument "USED".
13592         (combine_predictions_for_insn): Determine the used heuristics,
13593         output the case no heuristic applied.
13594         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
13595
13596 2001-08-13  Andreas Jaeger  <aj@suse.de>
13597
13598         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
13599         register %rip.
13600
13601 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13602
13603         * jump.c: Fix formatting.
13604
13605 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13606
13607         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
13608         length.
13609
13610 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
13611
13612         * loop.c (check_dbra_loop): Use condjump_label to compute
13613         jump_label.
13614
13615         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
13616         to better document the files they're in.
13617
13618 2001-08-12  Zack Weinberg  <zackw@panix.com>
13619
13620         * recog.h (struct insn_operand_data): Shrink 'mode' field
13621         to 16 bits.
13622
13623 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13624
13625         * gcc.c: Fix comment formatting.
13626         * gccspec.c: Likewise.
13627         * gcov.c: Likewise.
13628         * gcse.c: Likewise.
13629         * genemit.c: Likewise.
13630         * gengenrtl.c: Likewise.
13631         * genrecog.c: Likewise.
13632         * gensupport.c: Likewise.
13633         * ggc-page.c: Likewise.
13634         * global.c: Likewise.
13635         * graph.c: Likewise.
13636         * ifcvt.c: Likewise.
13637         * integrate.c: Likewise.
13638         * lcm.c: Likewise.
13639         * libgcc2.c: Likewise.
13640         * loop.c: Likewise.
13641         * mbchar.c: Likewise.
13642         * optabs.c: Likewise.
13643         * predict.c: Likewise.
13644         * prefix.c: Likewise.
13645         * profile.c: Likewise.
13646         * protoize.c: Likewise.
13647         * real.c: Likewise.
13648         * recog.c: Likewise.
13649         * regclass.c: Likewise.
13650         * regmove.c: Likewise.
13651         * reg-stack.c: Likewise.
13652         * reload1.c: Likewise.
13653         * resource.c: Likewise.
13654         * rtlanal.c: Likewise.
13655         * rtl.c: Likewise.
13656
13657 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13658
13659         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
13660         a tree representing a constant is passed to the macro.
13661
13662 2001-08-12  Richard Henderson  <rth@redhat.com>
13663
13664         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
13665         (rs6000_elf_asm_out_destructor): New.
13666         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
13667         (DTORS_SECTION_ASM_OP): Remove.
13668         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13669         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
13670
13671 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
13672
13673         Revert:
13674         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13675         * gcc.c (set_collect_gcc_options): New function, split out from
13676         main.
13677         Ignore elided switches.
13678         (do_spec_1): Invoke before executing command.
13679         (set_input): Export.
13680         Move declaration ...
13681         * gcc.h (set_input): ... here.
13682         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13683         file.
13684
13685 2001-08-12  Richard Henderson  <rth@redhat.com>
13686
13687         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
13688         thinko wrt TARGET_RELOCATABLE.
13689
13690 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13691
13692         * fix-header.c (cb_file_change): Update prototype.
13693
13694 2001-08-11  Zack Weinberg  <zackw@panix.com>
13695
13696         * toplev.c (set_float_handler): Make static.
13697         * toplev.h: Don't prototype set_float_handler.
13698
13699         * simplify-rtx.c: Don't include setjmp.h.
13700         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
13701         New functions.
13702         (simplify_unary_operation, simplify_binary_operation): Use them,
13703         via do_float_handler.
13704
13705         * fold-const.c: Don't include setjmp.h.
13706         (exact_real_inverse_1): New function.
13707         (exact_real_inverse): Use it, via do_float_handler.
13708
13709         * varasm.c: Don't include setjmp.h.
13710         (assemble_real_1): New function.
13711         (assemble_real): Use it, via do_float_handler.
13712         Call internal_error if we get a trap here.
13713
13714         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
13715         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
13716
13717 2001-08-11  Zack Weinberg  <zackw@panix.com>
13718
13719         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
13720         STACK_BOUNDARY if not already defined.
13721
13722         * calls.c, function.c, reload1.c, explow.c: Don't default
13723         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
13724         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
13725
13726         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
13727         to run-time test.
13728
13729         * doc/tm.texi: Document that STACK_BOUNDARY is required;
13730         clarify difference between it and PREFERRED_STACK_BOUNDARY.
13731
13732 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13733
13734         * cppmacro.c (enter_macro_context): Push macro expansions even
13735         if empty.
13736
13737 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13738
13739         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
13740         (rs6000_elf_section_type_flags): Actually return a value.
13741
13742 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13743
13744         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
13745         Clean up code: add missing comments and prototypes, fix warnings,
13746         remove obsolete code, fix spacing to conform to coding style.
13747
13748 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13749
13750         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
13751         and TARGET_ASM_CLOSE_PAREN.
13752         (regclass_map): CC register belongs to class NO_REGS.
13753         (legitimize_pic_address): Don't generate unnecessary moves
13754         (to avoid confusing loop optimization).
13755         (check_and_change_labels): Replace jump_long by indirect_jump.
13756         (s390_final_chunkify): Don't start a new literal pool on section
13757         switch in 64-bit code.
13758         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
13759
13760         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
13761         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
13762         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
13763         modes correctly.
13764         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
13765         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
13766         (CONST_COSTS): Fixed incorrect costs.
13767
13768         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
13769         Use emit_jump instead of emit_jump_insn (gen_jump).
13770         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
13771         (to avoid confusing flow analysis).
13772         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
13773         (casesi, casesi_jump): New.
13774         (jump_long): Removed.  Functionality merged into indirect_jump.
13775         (indirect_jump): Accept address_operand, not just register_operand.
13776         (cjump_long, icjump_long): Use same logic as indirect_jump.
13777         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
13778         Fixed broken setjmp/longjmp handling.
13779         (do_builtin_setjmp_setup): Removed.
13780
13781         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
13782         broken GNU as versions that don't accept .quad with large
13783         negative values.  Use hexadecimal output instead.
13784         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
13785         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
13786         FUNCTION_EPILOGUE): Removed.  Now in targetm.
13787
13788         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
13789
13790         * config/s390/fixdfdi.h: Add missing copyright statement.
13791         Fix type conflicts on 64-bit.  Add missing SFmode routines.
13792
13793         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
13794         email address.
13795
13796 2001-08-11  Richard Henderson  <rth@redhat.com>
13797
13798         * rtl.h (REG_EH_RETHROW): Remove.
13799         * rtl.c (reg_note_name): Update.
13800         * combine.c (distribute_notes): Don't check for it.
13801
13802 2001-08-11  Richard Henderson  <rth@redhat.com>
13803
13804         * combine.c (distribute_notes): Place REG_SETJMP.
13805
13806 2001-08-11  Richard Henderson  <rth@redhat.com>
13807
13808         * doc/extend.texi (Arrays and pointers implementation): Discourage
13809         relying on sign-extension of pointers.
13810
13811 2001-08-11  H.J. Lu <hjl@gnu.org>
13812
13813         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
13814         in_dtors.
13815         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
13816         RDATA_SECTION_ASM_OP.
13817
13818 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13819
13820         * doc/install.texi (Specific, c4x): Fix cross-reference to the
13821         main manual to work both for info and HTML versions.
13822
13823 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13824             Matt Kraai <kraai@alumni.carnegiemellon.edu>
13825
13826         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
13827         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
13828         (struct cpp_pool): New member first.
13829         * cppinit.c (append_include_chain): Plug memory leaks.
13830         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
13831         Allocate pragma structures from the (aligned) macro pool to
13832         avoid leaking memory.
13833         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
13834         so we don't leak memory.
13835         * hashtable.c (ht_destroy): New.
13836         * hashtable.h (ht_destroy): New.
13837
13838 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13839             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13840
13841         * c-lex.c (map): Make const.
13842         (cb_file_change): Update for callback passing a line map.
13843         Don't assume we have a previous map.  Remove sanity check
13844         about popping too many files.
13845         * cpperror.c (print_location): Make map const.
13846         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
13847         (cpp_make_system_header): Similarly.
13848         (search_from): Similarly.
13849         (_cpp_execute_include): Don't remember where we came from.
13850         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
13851         (struct cpp_reader): Make map const.
13852         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
13853         * cpplib.c (do_line): Update; line maps now hold sysp.
13854         (cpp_push_buffer): Similarly.
13855         (_cpp_do_file_change): Similarly; callback with map instead.
13856         (cpp_get_line_maps): Constify return value.
13857         (_cpp_pop_buffer): Update.
13858         * cpplib.h (struct cpp_file_change): Remove.
13859         (struct cpp_callbacks): Update.
13860         (cpp_get_line_maps): Constify return value.
13861         * cppmacro.c (_cpp_create_definition): Update.
13862         * cppmain.c (struct printer): Constify map.
13863         (maybe_print_line): Similarly.
13864         (print_line): Similarly.  Deduce flags 1 and 2 here.
13865         (cb_file_change): Update.
13866         * line-map.c (free_line_maps): Warn regardless.
13867         (add_line_map): Return pointer to const.  When passed NULL to_file
13868         with LC_LEAVE, use the obvious values for the return point so the
13869         caller doesn't have to figure them out.
13870         (lookup_line): Return pointer to const.
13871         (print_containing_files): Take pointer to const.
13872         * line-map.h (struct line_map): New members reason, sysp.
13873         (add_line_map): Return pointer to const.
13874         (lookup_line): Similarly.
13875         (print_containing_files): Take pointer to const.
13876
13877 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
13878             Richard Henderson  <rth@redhat.com>
13879
13880         * regmove.c (regmove_optimize): Avoid setting a register twice in
13881         a parallel set.
13882
13883 2001-08-10  Richard Henderson  <rth@redhat.com>
13884
13885         * doc/extend.texi (Arrays and pointers implementation): Document
13886         behavior of pointer/integer conversion.
13887
13888 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
13889
13890         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
13891
13892 2001-08-10  Richard Henderson  <rth@redhat.com>
13893
13894         * doc/extend.texi (C Implementation): New chapter.
13895         * doc/gcc.texi (Top): Link it in.
13896
13897 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
13898
13899         * doc/install.texi (Specific): Fix CVS merge botch.
13900
13901 2001-08-10  Richard Henderson  <rth@redhat.com>
13902
13903         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
13904         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
13905
13906 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
13907
13908         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
13909         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
13910         this macro is now required.
13911
13912         * cselib.c (cselib_process_insn), flow.c (propagate_block),
13913         loop.c (find_and_verify_loops), reload.c (reload): Check
13914         for rtx code of CALL_INSN, not CALL, when deciding if we
13915         need to check for REG_SETJMP note.
13916
13917         * gcse.c (compute_hash_table, compute_store_table): Update
13918         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
13919         logic.
13920
13921         * config/avr/avr.c: Fix typo.
13922         * config/convex/convex.c (expand_movstr): Use adjust_address.
13923         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
13924         variable.
13925         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
13926         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
13927         Fix typo.
13928         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
13929         Do define STACK_BOUNDARY.
13930         * config/i370/i370.c: Include expr.h.
13931         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
13932         config/pa/som.h, config/v850/v850.h: Take in_ctors and
13933         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
13934         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
13935         * config/m88k/m88k.c: Include c-tree.h after expr.h.
13936         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
13937         * config/romp/romp.c: Include expr.h after tree.h.
13938         Include toplev.h.
13939         (output_fpop): Use xmalloc, not oballoc.
13940         * config/we32k/we32k.c: Include expr.h.
13941
13942 2001-08-10  Kazu Hirata  <kazu@hxi.com>
13943
13944         * config/h8300/h8300.h: Fix formatting.
13945
13946 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13947
13948         * c-common.h (RETURN_NULLIFIED_P): Lose.
13949         * c-semantics.c (genrtl_return_stmt): Don't check it.
13950
13951 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13952
13953         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
13954         (mips_annotate_frame_insn): New function.
13955         (mips_emit_frame_related_store): New function.
13956         (save_restore_insns): Don't mark instructions that set up the base
13957         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
13958         the store instructions instead.
13959         (mips_expand_prologue): If the stack size is moved into a temporary
13960         register, do not mark that move as frame-related.  Add a
13961         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
13962
13963 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13964
13965         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
13966         stack slot as unchanging if current_function_calls_eh_return.
13967
13968 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13969
13970         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
13971         access the second half of the TFmode scratch operand.
13972
13973 2001-08-10  Anthony Green  <green@redhat.com>
13974
13975         * java/class.c (emit_register_classes): Conditionalize code on
13976         JCR_SECTION_NAME.
13977
13978 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13979
13980         * doc/install.texi (Specific, avr): Fix cross-reference to the
13981         main manual to work both for info and HTML versions.
13982
13983 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13984
13985         * stmt.c (expand_null_return_1): Remove code to generate simple returns
13986         and "use_goto" argument.
13987         (expand_null_return, expand_value_return): Update all callers.
13988         * function.c (expand_function_end): Remove code to generate simple
13989         return.
13990         * config/vax/vax.md (epilogue): New expander for function return.
13991         * doc/md.texi (epilogue): Remove "if defined".
13992
13993 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
13994
13995         * Makefile.in: Partially revert my previous change:
13996         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
13997         of the hashtab.o and safe-ctype.o rules.
13998
13999 2001-08-09  Richard Henderson  <rth@redhat.com>
14000
14001         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14002         (USE_COLLECT2): Remove duplicate definition.
14003         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14004         (use_collect2): Remove dead code.
14005         * configure.in (use_collect2): Remove will_use_collect2 and
14006         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14007         * configure: Rebuild.
14008
14009         * target.h (targetm.asm_out.constructor): New.
14010         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14011         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14012         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14013         * varasm.c (in_ctors, in_dtors): New.
14014         (assemble_constructor, assemble_destructor): Remove.
14015         (default_stabs_asm_out_destructor): New.
14016         (default_named_section_asm_out_destructor): New.
14017         (dtors_section, default_dtor_section_asm_out_destructor): New.
14018         (default_stabs_asm_out_constructor): New.
14019         (default_named_section_asm_out_constructor): New.
14020         (ctors_section, default_ctor_section_asm_out_constructor): New.
14021         * output.h: Update declarations.
14022         * c-decl.c (c_expand_body): Use target hooks instead of
14023         assemble_constructor and assemble_destructor.
14024         * profile.c (output_func_start_profiler): Likewise.
14025         * objc/objc-act.c (finish_objc): Likewise.
14026         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
14027         for the constructor.
14028         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14029
14030         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14031         (DTORS_SECTION_ASM_OP): Likewise.
14032         (__CTOR_LIST__): Use attribute section when possible.
14033         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14034
14035         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14036         ASM_OUTPUT_CONSTRUCTOR.
14037
14038         * config/darwin.c (machopic_asm_out_constructor): New.
14039         (machopic_asm_out_destructor): New.
14040         * config/darwin-protos.h: Update declarations.
14041         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14042         (ASM_OUTPUT_DESTRUCTOR): Remove.
14043         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14044         * config/nextstep.c (nextstep_asm_out_constructor): New.
14045         (nextstep_asm_out_destructor): New.
14046         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14047         (ASM_OUTPUT_DESTRUCTOR): Remove.
14048         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14049         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14050         ASM_OUTPUT_*STRUCTOR.
14051         * config/i386/aix386ng.h: Likewise.
14052
14053         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14054         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14055         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14056         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14057         * config/lynx.h: Likewise.
14058         * config/netware.h: Likewise.
14059         * config/psos.h: Likewise.
14060         * config/alpha/alpha-interix.h: Likewise.
14061         * config/alpha/elf.h: Likewise.
14062         * config/arc/arc.h: Likewise.
14063         * config/arm/aof.h: Likewise.
14064         * config/arm/coff.h: Likewise.
14065         * config/arm/elf.h: Likewise.
14066         * config/c4x/c4x.h: Likewise.
14067         * config/h8300/h8300.h: Likewise.
14068         * config/i386/cygwin.h: Likewise.
14069         * config/i386/djgpp.h: Likewise.
14070         * config/i386/i386-coff.h: Likewise.
14071         * config/i386/i386-interix.h: Likewise.
14072         * config/i386/sco5.h: Likewise.
14073         * config/i386/vsta.h: Likewise.
14074         * config/i386/win32.h: Likewise.
14075         * config/i960/i960-coff.h: Likewise.
14076         * config/ia64/sysv4.h: Likewise.
14077         * config/m68hc11/m68hc11.h: Likewise.
14078         * config/m68k/coff.h: Likewise.
14079         * config/m68k/mot3300.h: Likewise.
14080         * config/m88k/m88k.h: Likewise.
14081         * config/mcore/mcore-pe.h: Likewise.
14082         * config/mcore/mcore.h: Likewise.
14083         * config/mips/elf.h: Likewise.
14084         * config/mips/elf64.h: Likewise.
14085         * config/mips/iris6.h: Likewise.
14086         * config/pa/pa64-hpux.h: Likewise.
14087         * config/rs6000/sysv4.h: Likewise.
14088         * config/sh/sh.h: Likewise.
14089         * config/sparc/litecoff.h: Likewise.
14090
14091         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14092         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14093         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14094         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14095         (ASM_OUTPUT_DESTRUCTOR): Remove.
14096         * config/a29k/a29k.c: Move include of tree.h.
14097         * config/a29k/udi.h: Delete file.
14098         * config/alpha/alpha.c (vms_asm_out_constructor): New.
14099         (vms_asm_out_destructor): New.
14100         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14101         (EXTRA_SECTION_FUNCTIONS): Likewise.
14102         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14103         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14104         * config/c4x/c4x.c: Move include of tree.h.
14105         * config/clipper/clipper.c (clix_asm_out_constructor): New.
14106         (clix_asm_out_destructor): New.
14107         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14108         (ASM_OUTPUT_DESTRUCTOR): Remove.
14109         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14110         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14111         (TARGET_ASM_CONSTRUCTOR): New.
14112         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14113         (sco_asm_out_constructor): New.
14114         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14115         * config/i386/svr3gas.h: Remove stack grows up code.
14116         Remove code duplicated from i386/sysv3.h.
14117         (TARGET_ASM_CONSTRUCTOR): New.
14118         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14119         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14120         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14121         (TARGET_ASM_CONSTRUCTOR): New.
14122         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14123         (m68hc11_asm_out_destructor): New.
14124         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14125         (TARGET_ASM_DESTRUCTOR): New.
14126         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14127         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14128         config/svr3.h pertaining to section manipulation.
14129         * config/m68k/dpx2g.h: Remove #if 0 code.
14130         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14131         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14132         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14133         (TARGET_ASM_CONSTRUCTOR): New.
14134         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14135         (m88k_svr3_asm_out_constructor): New.
14136         (m88k_svr3_asm_out_destructor): New.
14137         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14138         (ASM_OUTPUT_DESTRUCTOR): Remove.
14139         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14140         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14141         * config/rs6000/aix.h: Likewise.
14142         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14143         * config/mips/vxworks.h: Likewise.
14144         * config/rs6000/lynx.h: Likewise.
14145         * config/sh/elf.h: Likewise.
14146         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14147         (DTORS_SECTION_ASM_OP): New.
14148         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14149         (ASM_OUTPUT_DESTRUCTOR): Remove.
14150         * config/sparc/sol2-sld-64.h: Likewise.
14151         * config/vax/vax.c (vms_asm_out_constructor): New.
14152         (vms_asm_out_destructor): New.
14153         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14154         (ASM_OUTPUT_DESTRUCTOR): Remove.
14155         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14156
14157         * doc/tm.texi (@node Initialization): Update.
14158
14159 2001-08-09  Richard Henderson  <rth@redhat.com>
14160
14161         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14162         (__do_global_dtors_aux): Use gp-relative static data to avoid
14163         one dynamic relocation.
14164         (__do_frame_setup): Register Java classes.
14165         * config/alpha/crtend.asm (__JCR_END__): New.
14166
14167 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14168
14169         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14170         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14171         (GEN, STAGESTUFF): Add new files.
14172         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14173         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14174         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14175         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14176         as well as insn-codes.h and insn-flags.h in config.h; and no
14177         extra headers in tconfig.h and hconfig.h.
14178
14179         * gencodes.c: Eliminate code to generate predicate declarations
14180         or #defines for md-file constants.
14181         * genconstants.c, genpreds.c: New files.
14182
14183         * i386.md: Re-order guard expressions such that TARGET_64BIT
14184         comes first, when this permits better optimization.  Add
14185         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14186         why this is desirable.
14187
14188 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14189
14190         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14191         (find_fde_for_dso): Remove.
14192         (_Unwind_IteratePhdrCallback): New.
14193         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14194         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14195
14196 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14197
14198         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14199         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14200
14201 2001-08-09  Graham Stott  <grahams@redhat.com>
14202
14203         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14204         (vis_no_unit): Use it.
14205         (visualize_no_unit): Add the insn only if room exists.
14206
14207 2001-08-09  Graham Stott  <grahams@redhat.com>
14208
14209         * predict.c (estimate_probability): Replace magic numbers with
14210         appropriate enumeration.
14211
14212 2001-08-09  Graham Stott  <grahams@redhat.com>
14213
14214         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14215         parameter.
14216         (EXTRACT_FLAGS): Likewise.
14217
14218 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14219
14220         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14221         CONST_INT in last patch.
14222
14223 2001-08-08  Anthony Green  <green@redhat.com>
14224
14225         * java/class.c (emit_register_classes): Use assemble_jcr if
14226         possible.  Keep the original mechanism as a fallback.
14227         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14228         and weak symbol support.
14229         * crtstuff.c (__JCR_LIST__): Define.
14230         (__JCR_END__): Define.
14231         (_Jv_RegiserClasses): Define weak symbol if possible.
14232         (__do_global_ctors_aux): Register classes for ELF targets with
14233         weak symbol support.
14234
14235 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14236
14237         * dbxout.c: Fix comment formatting.
14238         * dependence.c: Likewise.
14239         * df.c: Likewise.
14240         * diagnostic.c: Likewise.
14241         * dominance.c: Likewise.
14242         * doprint.c: Likewise.
14243         * dwarf2out.c: Likewise.
14244         * dwarfout.c: Likewise.
14245         * emit-rtl.c: Likewise.
14246         * except.c: Likewise.
14247         * explow.c: Likewise.
14248         * expmed.c: Likewise.
14249         * expr.c: Likewise.
14250         * flow.c: Likewise.
14251         * fold-const.c: Likewise.
14252         * function.c: Likewise.
14253
14254 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14255
14256         * global.c (retry_global_alloc): Avoid shadowing allocno.
14257
14258 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
14259
14260         * except.c (remove_fixup_regions): Fix typo.
14261
14262 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
14263
14264         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
14265         unsigned HOST_WIDE_INT to avoid warning.
14266         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
14267         * flow.c (set_block_for_new_insns): Likewise.
14268
14269 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
14270
14271         * sibcall.c (return_value_pseudo): New static variable.
14272         (skip_copy_to_return_value): Handle return_value_pseudo.
14273         (call_ends_block_p): Ensure that return_value_pseudo is set.
14274         (optimize_sibling_and_tail_recursive_call): Discover the
14275         load of pseudo return value in alternate exit block.
14276
14277 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14278
14279         * calls.c (ECF_ALWAYS_RETURN): New constant.
14280         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
14281         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
14282         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
14283         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
14284         * rtl.c (reg_note_name): New name.
14285         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
14286
14287 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
14288
14289         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
14290
14291 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14292
14293         * alias.c (get_alias_set): Return a previously calculated
14294         alias set for a VAR_DECL.
14295         * function.c (gen_mem_addressof): Calculate the alias set before
14296         touching the RTL.
14297
14298 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
14299
14300         * predict.def: Set hitrates according our experimental run.
14301
14302 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
14303
14304         * i386.h (HARD_REGNO_RENAME_OK): New macro.
14305
14306 2001-08-08  H.J. Lu <hjl@gnu.org>
14307
14308         * config/mips/mips.c (mips_unique_section): New. Copied from
14309         config/mips/elf.h.
14310
14311         * config/mips/mips-protos.h (mips_unique_section): New
14312         prototype.
14313
14314         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
14315
14316         * config/mips/little.h: New. Generic little endian mips
14317         targets. Only mips*-*-linux* is converted to use it so far.
14318
14319         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
14320         (WCHAR_TYPE): Defined
14321         (WCHAR_TYPE_SIZE): Likewise.
14322         (INIT_SUBTARGET_OPTABS): Likewise.
14323         (BSS_SECTION_ASM_OP): Likewise.
14324         (SBSS_SECTION_ASM_OP): Likewise.
14325         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14326         (ASM_DECLARE_OBJECT_NAME): Likewise.
14327         (UNIQUE_SECTION): Likewise.
14328         (EXTRA_SECTIONS): Likewise.
14329         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
14330         (ASM_OUTPUT_DESTRUCTOR): Likewise.
14331         (ASM_OUTPUT_DEF): Likewise.
14332         (HANDLE_SYSV_PRAGMA): Removed.
14333         (NO_IMPLICIT_EXTERN_C): Likewise.
14334         (TARGET_MEM_FUNCTIONS): Likewise.
14335         (STARTFILE_SPEC): Likewise.
14336         (ENDFILE_SPEC): Likewise.
14337         (LIB_SPEC): Likewise.
14338         (INVOKE__main): Likewise.
14339         (CTOR_LIST_BEGIN): Likewise.
14340         (CTOR_LIST_END): Likewise.
14341         (DTOR_LIST_BEGIN): Likewise.
14342         (DTOR_LIST_END): Likewise.
14343         (SET_ASM_OP): Likewise.
14344         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14345         (ASM_OUTPUT_DEF): Likewise.
14346         (ASM_OUTPUT_IDENT): Likewise.
14347
14348         * config/mips/mips.h (ASM_SPEC): Undefine before define.
14349         (CPLUSPLUS_CPP_SPEC): Likewise.
14350         (ASM_APP_ON) Redefine only if not defined.
14351         (ASM_APP_OFF): Likewise.
14352         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14353         (ASM_OUTPUT_IDENT): Likewise.
14354
14355         * config.gcc: Update tm_file for Linux/mips.
14356
14357 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
14358
14359         * cselib.c (cselib_record_sets): If insn is predicated, turn
14360         sources into IF_THEN_ELSEs.
14361
14362         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
14363         Turn into define_insn_and_split.
14364
14365         * sched-deps.c: Include "cselib.h".
14366         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
14367         Use cselib to turn memory addresses into VALUEs.
14368         (sched_analyze): Call cselib_init/cselib_finish if necessary.
14369         * sched-int.h (struct sched_info): New member USE_CSELIB.
14370         * sched-ebb.c (ebb_sched_info): Initialize it.
14371         * sched-rgn.c (rgn_sched_info): Likewise.
14372         * Makefile.in (sched-deps.o): Update dependencies.
14373
14374         * cselib.h (cselib_subst_to_values): Declare.
14375         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
14376         that have no value and autoincs to be handled by generating a new
14377         dummy value.
14378
14379 2001-08-08  Graham Stott  <grahams@redhat.com>
14380
14381         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
14382         within fixed length SEQUENCE.
14383
14384 2001-08-08  Graham Stott  <grahams@redhat.com>
14385
14386         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
14387         (diagnostic_prefixing_rule): Likewise.
14388         (diagnostic_line_cutoff): Likewise.
14389         (diagnostic_kind_count): Likewise.
14390
14391 2001-08-08  Graham Stott  <grahams@redhat.com>
14392
14393         * alias.c (find_base_decl): Delete redundent assignment.
14394
14395 2001-08-08  Graham Stott  <grahams@redhat.com>
14396
14397         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
14398         (abs): Uppercase and paranthesize macro parameter.
14399         (MEM_DEPENDENCY): Add whitespace.
14400
14401 2001-08-08  Graham Stott  <grahams@redhat.com>
14402
14403         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
14404         failure check for CONST_INT
14405
14406 2001-08-08  Graham Stott  <grahams@redhat.com>
14407
14408         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
14409         (libcall_dead_p): Likewise.
14410
14411         (mark_used_regs): Constify fmt.
14412         (find_use_as_address): Likewise.
14413
14414 2001-08-08  Graham Stott  <grahams@redhat.com>
14415
14416         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
14417          parameter.
14418
14419 2001-08-08  Graham Stott  <grahams@redhat.com>
14420
14421         * combine.c (combine_simplify_rtx): Update comment and
14422         remove erroneous test.
14423
14424 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14425
14426         * cppinit.c (cpp_finish): Pop the final buffer without comment.
14427         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
14428         take care to avoid multiple no-newline at EOF warnings in that
14429         case.
14430
14431 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
14432
14433         * calls.c (expand_call): Do not emit INSN_SETJMP note.
14434         (emit_library_call_value_1): Likewise.
14435         (emit_call_1): Emit REG_SETJMP note.
14436         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
14437         of INSN_SETJMP
14438         * cselib.c (cselib_process_insn): Likewise.
14439         * flow.c (propagate_block): Likewise.
14440         * loop.c (find_and_verify_loops): Likewise.
14441         * reload.c (find_equiv_regs): Likewise.
14442         * reload1.c (reload): Likewise.
14443         * resource.c (mark_referenced_resources,
14444         mark_set_resources): Likewise.
14445         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
14446         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
14447         * haifa-sched.c (unlink_other_notes): Likewise.
14448         (reemit_notes): Likewise.
14449         * sched-ebb.c (sched_ebb): Likewise.
14450         * sched-rgc.c (sched_region): Likewise.
14451         * rtl.c (note_insn_name): Likewise.
14452         (reg_note_name): Add REG_SETJMP
14453         * rtl.h (reg_note): Add REG_SETJMP.
14454         (insn_note): Remove NOTE_INSN_SETJMP.
14455
14456         * profile.c (branch_prob): Add fake edges for setjmp.
14457
14458 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
14459
14460         * config.gcc: Quote target_cpu_default2 correctly for
14461         powerpc*-*-* targets.
14462
14463 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14464
14465         * cpplib.h, line-map.h: Update comments.
14466         * cppmain.c (printer_init): Move inline.
14467         (maybe_print_line, print_line): Take a map pointer.
14468         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
14469         (cb_file_change): Don't use prior value of print.map.
14470
14471 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
14472
14473         * doc/install.texi: Document fine-grained multilib configuration.
14474
14475 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
14476
14477         * rtlanal.c (find_first_parameter_load): Call note_stores
14478         only on the instructions.
14479
14480 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14481
14482         * alias.c (nonlocal_mentioned_p):
14483         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
14484         * calls.c (emit_call_1): Likewise.
14485         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
14486         * cselib.c (cselib_process_insn): Likewise.
14487         * df.c (df_insns_modify): Likewise.
14488         * flow.c (need_fake_edge_p): Likewise.
14489         (propagate_one_insn): Likewise.
14490         * haifa-sched.c (reemit_notes): Likewise.
14491         * integrate.c (copy_insn_list): Likewise.
14492         * jump.c (delete_prior_computation): Likewise.
14493         * local-alloc.c (validate_equiv_mem): Likewise.
14494         * loop.c (scan_loop): Likewise.
14495         * predict.c (estimate_probability): Likewise.
14496         * reload.c (reload): Likewise.
14497         * sched-deps (sched_analyze): Likewise.
14498         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
14499         * gcse.c (compute_hash_table): Likewise.
14500         (mark_call): Likewise.
14501         (store_killed_in_insn): Likewise.
14502
14503 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
14504
14505         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
14506
14507 2001-08-06  Richard Henderson  <rth@redhat.com>
14508
14509         * varasm.c (assemble_gc_entry): Remove.
14510         * output.h: Likewise.
14511
14512 2001-08-06  Richard Henderson  <rth@redhat.com>
14513
14514         * varasm.c (assemble_constructor): Take a symbol_ref and a
14515         priority instead of a bare string.  Move priority handling
14516         here from cp/decl2.c.
14517         * output.h: Update decls.
14518
14519         * c-decl.c (c_expand_body): Update calls to assemble_constructor
14520         and assemble_destructor.
14521         * profile.c (output_func_start_profiler): Likewise.
14522         * objc/objc-act.c (finish_objc): Likewise.
14523         (build_module_descriptor): Return the symbol not the symbol name.
14524
14525 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
14526
14527         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
14528         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
14529         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
14530         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
14531         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
14532         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
14533
14534 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14535
14536         * cpperror.c (print_containing_files): Moved to line-map.c.
14537         (print_location): line-map.c handles re-listing or otherwise.
14538         * cpphash.h (struct lexer_state): Remove next_bol.
14539         (struct cpp_buffer): Remove include_stack_listed.
14540         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
14541         Remove faked buffer handling.
14542         (_cpp_do_file_change): Tweak.
14543         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
14544         * cppmain.c (struct printer): Remove filename.
14545         (print_line, cb_file_change): Update accordingly.
14546         * line-map.c: Include intl.h.
14547         (init_line_maps): Initialize last_listed.
14548         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
14549         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
14550         (print_containing_files): New.
14551         * line-map.h (struct line_maps): New member last_listed.
14552         (print_containing_files, INCLUDED_FROM): New.
14553         * Makefile.in: Update.
14554         * po/POTFILES.in: Add line-map.c.
14555
14556 2001-08-06  Richard Henderson  <rth@redhat.com>
14557
14558         * except.c (convert_from_eh_region_ranges_1): Never mark
14559         USE or CLOBBER insns as throwing.
14560
14561         * expr.c (store_constructor): Don't clobber memory targets.
14562
14563 2001-08-06  Andreas Jaeger  <aj@suse.de>
14564
14565         * profile.c (branch_prob): Remove unused variable insn.
14566
14567         * Makefile.in (local-alloc.o): Add dependency on except.h.
14568
14569         * local-alloc.c: Include except.h for can_throw_internal prototype.
14570
14571 2001-08-06  Richard Henderson  <rth@redhat.com>
14572
14573         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
14574         * function.c (expand_main_function): Implement it.
14575         * doc/tm.texi: Document it.
14576
14577 2001-08-06  Stan Shebs  <shebs@apple.com>
14578
14579         * doc/install.texi: Document powerpc-*-darwin* details.
14580
14581 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
14582
14583         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
14584         (ASM_CPU_SPEC): Move back to rs6000.h
14585         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
14586
14587         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
14588
14589         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
14590         readded.
14591
14592         * config/rs6000/linux64.h: Ditto.
14593
14594         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14595         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
14596         nothing.
14597
14598         Remove accidently readded definitions of FUNCTION_PROLOGUE,
14599         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
14600
14601         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14602         to rs6000.h
14603
14604 2001-08-05  Richard Henderson  <rth@redhat.com>
14605
14606         * local-alloc.c (update_equiv_regs): Do not move insns that
14607         can throw.
14608
14609 2001-08-05  Jan Hubicka  <jh@suse.cz>
14610
14611         * Makefile.in (reload1.o): Add dedendancy on except.h
14612         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
14613         prototypes.
14614         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
14615         indicating wehther edges has been cleaned up.
14616         * reload1.c: Inlucde except.h
14617         (fixup_abnormal_edges): Accept deleted insns.
14618         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
14619         after combine.
14620
14621 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14622
14623         * cpplib.c (do_line): Correct line number after pop_buffer.
14624
14625 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14626
14627         PR preprocessor/3824
14628         * line-map.c: Update comments.
14629         * line-map.h: Update comments.
14630         * tradcif.y: Don't consider large numbers unsigned.
14631
14632 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14633
14634         PR preprocessor/3081
14635         * c-lex.c (map): New.
14636         (cb_file_change): Update map and use it.
14637         (cb_def_pragma, cb_define, cb_undef): Use map and line.
14638         (c_lex): Update to use map.
14639         * cpperror.c (print_location): Move to using logical line numbers.
14640         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
14641         (cpp_make_system_header): Similarly.
14642         (_cpp_execute_include): Stop line numbering hacks.  Store the
14643         line we will return to.
14644         * cpphash.h (CPP_BUF_LINE): Remove.
14645         (struct cpp_buffer): Remove lineno and pseudo_newlines.
14646         Add map and return_to_line.
14647         (_cpp_do_file_change): Update.
14648         * cppinit.c (cpp_start_read): Update line kludge.
14649         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
14650         (trigraph_ok): Use logical line numbers for diagnostics.
14651         (skip_block_comment): Likewise.
14652         (skip_whitespace): Likewise.
14653         (skip_line_comment): Use pfile->line instead.
14654         (_cpp_lex_token): Update to use logical line numbering exclusively.
14655         Handle BOL locally.  Accept new lines in directives, but keep
14656         pfile->line decremented.  Diagnostics use logical lines.  Update
14657         directive handling.
14658         * cpplib.c (SEEN_EOL): New.
14659         (skip_rest_of_line, check_eol): Use it.
14660         (end_directive): Increase line number when accepting the newline
14661         at the end of a directive.
14662         (run_directive): Simplify.
14663         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
14664         (_cpp_do_file_change): Update to take buffer line number as an
14665         argument, and store the current map in the cpp_reader.  Remove
14666         line number kludges.
14667         (_cpp_do__Pragma): Restore output position after a _Pragma.
14668         (cpp_push_buffer): Don't set output line or lineno.
14669         (_cpp_pop_buffer): Transfer more info from a faked buffer.
14670         Remove line kludge.  Set output_line.
14671         * cppmacro.c (builtin_macro): Update handling of __LINE__.
14672         (parse_arg): Use logical lines.
14673         (save_lookahead_token): Save EOFs too now.
14674         * cppmain.c (struct printer): Fix comments.
14675         (printer_init): Simplify, let caller do errors.
14676         (scan_translation_unit, check_multiline_token, dump_macro): Update.
14677         (maybe_print_line): Simplify.
14678         (print_line): Don't print a linemarker if -P.
14679         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
14680         (cb_file_change): Simplify.
14681         * line-map.h (LAST_SOURCE_LINE): Fix.
14682         (CURRENT_LINE_MAP): New.
14683
14684 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
14685
14686         * doloop.c (doloop_modify_runtime): Properly compute number of
14687         iterations if loop was unrolled.
14688
14689         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
14690         if their CSELIB_VAL_PTRs are.
14691
14692         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
14693         (setup_spill_pointers): Initialize it.
14694         (spill_restore_mem): Set it.
14695         (do_spill, do_restore): Use it to add REG_INC note.
14696         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
14697
14698         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
14699         asms if other insns are available.
14700
14701         * config/ia64/ia64.c (condop_operator): New predicate.
14702         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
14703         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
14704         patterns.
14705
14706         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
14707         temporary register than directly using a MEM.
14708
14709 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14710
14711         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
14712         parameter in last change.
14713
14714 2001-08-04  Zack Weinberg  <zackw@panix.com>
14715
14716         * sparc.md: Don't use #if inside C test expression.
14717
14718 2001-08-04  Richard Henderson  <rth@redhat.com>
14719
14720         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
14721
14722 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14723
14724         * cpphash.h (struct cpp_reader): New member directive_line.
14725         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
14726         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
14727         do_pragma): Pass line to callbacks.
14728         (start_directive): Record line of directive.
14729         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
14730         cb_include): Similarly.
14731         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
14732         Similarly.
14733
14734 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14735
14736         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
14737         comment.
14738
14739 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14740
14741         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
14742
14743         * reload1.c (fixup_abnormal_edges): New static function.
14744         (reload): Use it.
14745
14746         * flow.c (need_fake_edge_p): New function.
14747         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
14748         avoid call insn to be very last insn in the insn stream.
14749
14750         * profile.c (branch_prob): Call flow_call_edges_add instead of
14751         doing that by hand; cleanup cfg to re-merge basic blocks once
14752         we are done.
14753
14754 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14755
14756         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
14757         are also on line-map.h.
14758         * cppfiles.c (stack_include_file): Update.
14759         * cpphash.h (struct cpp_buffer): New member return_at_eof.
14760         (_cpp_pop_buffer): New.
14761         * cppinit.c (cpp_destroy, cpp_finish): Update.
14762         (do_includes): Mark each buffer to return at EOF.
14763         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
14764         return as requested.
14765         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
14766         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
14767         * cpplib.h (cpp_pop_buffer): Remove.
14768         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
14769         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
14770         buffers.
14771         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
14772         to pop buffers.
14773         (do_preprocessing): Update.
14774         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
14775         * c-parse.in (_yylex): Similarly.
14776         * scan-decls.c (scan_decls): Similarly.
14777         * line-map.h: Update comments.
14778
14779         * objc/Make-lang.in (objc-act.o): Update dependencies.
14780
14781 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14782
14783         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
14784         and soft register for operand 0.
14785         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
14786
14787 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14788
14789         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
14790         register for operand 0.
14791         ("bitcmpqi_z_used"): Allow memory for operand 0.
14792         (split "bitcmpqi"): New split to handle address reg as operand 1.
14793
14794 2001-08-04  Andreas Jaeger  <aj@suse.de>
14795
14796         * gcse.c: Revert Daniel's last patch.
14797
14798 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14799
14800         * sparc-protos.h: Add prototypes for fp_zero_operand and
14801         reg_or_0_operand.
14802         * sh-protos.h: Add prototype for fpul_operand.
14803
14804 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14805
14806         * doc/extend.texi (Other Builtins): Fix typo in last change.
14807
14808 2001-08-03  Richard Henderson  <rth@redhat.com>
14809
14810         * target.h (gcc_target): Add asm_out.named_section,
14811         section_type_flags, have_named_sections.
14812         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
14813         (TARGET_HAVE_NAMED_SECTIONS): New.
14814         (TARGET_SECTION_TYPE_FLAGS): New.
14815
14816         * Makefile.in (toplev.o): Depend on TARGET_H.
14817         (varasm.o, dbxout.o): Likewise.
14818         * c-common.c (decl_attributes): Check targetm.have_named_sections
14819         instead of ifdef ASM_OUTPUT_SECTION_NAME.
14820         * dbxout.c (dbxout_function_decl): Likewise.
14821         (dbxout_function_end): Likewise.
14822         * toplev.c (compile_file): Likewise.
14823         * varasm.c (exception_section): Likewise.
14824         * cp/decl2.c (finish_objects): Likewise.
14825
14826         * defaults.h (EH_FRAME_SECTION): Remove.
14827         (EH_FRAME_SECTION_ASM_OP): Remove.
14828         (EH_FRAME_SECTION_NAME): New.
14829         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
14830         (UNIQUE_SECTION_P): Remove.
14831         * dwarf2out.c (SECTION_FORMAT): Remove.
14832         (ASM_OUTPUT_SECTION): Remove.
14833         (output_call_frame_info): Use named_section_flags.
14834         (output_comp_unit, dwarf2out_start_source_file): Likewise.
14835         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
14836         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
14837         * varasm.c (in_eh_frame, eh_frame_section): Remove.
14838         (named_section_flags): New.
14839         (named_section): Use it and targetm.section_type_flags.
14840         (resolve_unique_section): New.
14841         (assemble_start_function): Use it.
14842         (asm_emit_uninitialised, assemble_variable): Likewise.
14843         (default_section_type_flags): New.
14844         (default_no_named_section, default_elf_asm_named_section): New.
14845         (default_coff_asm_named_section, default_pe_asm_named_section): New.
14846         * output.h: Update varasm.c decls.
14847         (SECTION_*): New flags.
14848
14849         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
14850         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
14851
14852         * config/elfos.h (UNIQUE_SECTION_P): Remove.
14853         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
14854         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
14855         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14856         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
14857         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
14858         * config/mips/elf.h, config/mips/elf64.h: Likewise.
14859         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
14860         * config/pa/pa64-hpux.h,
14861
14862         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
14863         (TARGET_ASM_NAMED_SECTION): New.
14864         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
14865         * config/alpha/vms.h, config/arm/coff.h: Likewise.
14866         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
14867         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
14868         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
14869         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
14870         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14871         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
14872         * config/i386/sco5.h, config/i386/win32.h: Likewise.
14873         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
14874         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
14875         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
14876         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
14877         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
14878         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
14879         * config/sparc/sysv4.h: Likewise.
14880
14881         * config/nextstep.h: Error until named sections implemented.
14882
14883         * config/a29k/a29k.c (a29k_asm_named_section): New.
14884         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
14885         (vms_section_type_flags, vms_asm_named_section): New.
14886         * config/arm/arm.c (arm_elf_asm_named_section): New.
14887         * config/avr/avr.c (asm_output_section_name): Remove.
14888         * config/avr/avr-protos.h: Update.
14889         * config/c4x/c4x.c (c4x_asm_named_section): New.
14890         * config/h8300/h8300.c (h8300_asm_named_section): New.
14891         * config/i386/i386.c (sco_asm_named_section): New.
14892         * config/i386/winnt.c (SECTION_PE_SHARED): New.
14893         (i386_pe_section_type_flags): New.
14894         (i386_pe_asm_named_section): New.
14895         * config/i386/i386-protos.h: Update.
14896         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
14897         * config/mcore/mcore.c (mcore_asm_named_section): New.
14898         * config/mips/mips.c (iris6_asm_named_section): New.
14899         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
14900         instead of UNIQUE_SECTION_P.
14901         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
14902         (xcoff_asm_named_section): New.
14903         * config/sh/sh.c (sh_asm_named_section): New.
14904         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
14905
14906         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
14907         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
14908         (EH_FRAME_SECTION_NAME): New.
14909         (EXCEPTION_SECTION): New.
14910         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
14911         (DEBUG_*_SECTION): Remove.
14912         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
14913         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
14914         (EH_FRAME_SECTION_ASM_OP): Remove.
14915
14916         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
14917         (ASM_OUTPUT_SECTION_NAME): Remove.
14918         (TARGET_ASM_NAMED_SECTION): New.
14919         (TARGET_HAVE_NAMED_SECTIONS): New.
14920         (TARGET_SECTION_TYPE_FLAGS): New.
14921         (EH_FRAME_SECTION_ASM_OP): Remove.
14922         (EH_FRAME_SECTION_NAME): New.
14923
14924 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14925
14926         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
14927         for complex expressions when cfun == 0.
14928         * doc/extend.texi: Document that __builtin_constant_p can be
14929         used in data initializers as well as functions.
14930
14931 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
14932
14933         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
14934         variable I locally, instead of expecting a declaration in the
14935         calling context.
14936
14937 2001-08-03  Richard Henderson  <rth@redhat.com>
14938
14939         * except.c (collect_one_action_chain): Add an explicit cleanup
14940         action if regions surrounding a catch were encoded entirely
14941         within the call-site entry.
14942
14943 2001-08-03  Richard Henderson  <rth@redhat.com>
14944
14945         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
14946         don't take REGNO of a non-register.
14947
14948 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14949
14950         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
14951         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
14952         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
14953         (__gthread_mutex_init_function): New function for mutex initialization.
14954
14955 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14956
14957         * Makefile.in: Revert screwed up commit.
14958
14959 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14960
14961         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
14962         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
14963         merged by linker script to get a final _exit().
14964         (__do_global_dtors): New for destructor handling in specific exit
14965         section.
14966         (__do_global_ctors): New for constructors in specific install section.
14967         (__map_data_section): Map data sections before running constructors.
14968         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
14969         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
14970         (DTORS_SECTION_ASM_OP): Likewise.
14971         (CTORS_SECTION_FUNCTION): Define to force a reference to
14972         __do_global_ctors.
14973         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
14974
14975 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14976
14977         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
14978
14979         * Makefile.in: Add df.h to gcse.c dependencies.
14980
14981 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14982
14983         * varasm.c (output_constant_def_contents): Use for the length of a
14984         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
14985         depending on which is larger.
14986
14987 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14988
14989         * gcse.c: Include df.h for use as a dataflow analyzer.
14990         Remove regvec.
14991         Declaration of reg_set_info: gone.
14992         New df_analyzer variable used by store motion.
14993         (reg_set_info): Deleted.
14994         (mark_mem_regs): New function, analyze regs used by a mem.
14995         (store_ops_ok): Use dataflow analyzer results to determine if
14996         necessary regs are changed in the block.
14997         (find_moveable_store): Remove check for symbol ref, we can handle
14998         much more complex expressions now.
14999         (compute_store_table): Remove most of the code, it's unnecessary
15000         now that the dataflow analyzer records the info for us.
15001         (store_killed_after): Add parameter to say whether to do the
15002         store_ops_okay test, used to speed up testing when we already know
15003         the answer, and just want to know if the store itself was killed.
15004         (build_store_vector): Largely rewritten to calculate the various
15005         vectors properly, and somewhat optimized.
15006         (store_motion): Init the df_analyzer, get REG_DEF chains.
15007         Also handle trapping expressions (since mems almost always trap)
15008         (simple_mem): Redefine what a simple mem is.
15009
15010 2001-08-03  DJ Delorie  <dj@redhat.com>
15011
15012         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15013         set from a constant part of the condition.
15014
15015 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
15016
15017         * mkdeps.c (deps_add_default_target): Make local variable
15018         ``start'' a const char pointer.
15019         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15020
15021 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15022
15023         * doc/install.texi (Configuration): Fix markup.
15024         (Specific, i?86-*-udk): Likewise.
15025         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
15026         --with-gnu-ld.
15027         Document --enable-threads and --enable-libgcj status.
15028         (Specific, mips-sgi-irix*): Canonicalize triples.
15029         (Specific, mips-sgi-irix5): Warn about problems with this config.
15030         Mention required GNU as patch.
15031         Native assembler problems are fixed.
15032         (Specific, mips-sgi-irix6): Update O32 ABI support status.
15033         Document --enable-threads and --enable-libgcj status.
15034
15035 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15036
15037         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15038         of mkinstalldirs.
15039
15040 2001-08-03  Richard Henderson  <rth@redhat.com>
15041
15042         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15043         constant data.
15044
15045 2001-08-03  Richard Henderson  <rth@redhat.com>
15046
15047         * rtlanal.c (find_first_parameter_load): Stop if we
15048         reach a CODE_LABEL at BOUNDARY.
15049
15050 2001-08-03  Richard Henderson  <rth@redhat.com>
15051
15052         * config/alpha/alpha.md (force_movdi): New insn.
15053         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15054         Tweek FRP marking of VMS prologue insns.
15055         * config/alpha/vms.h (EPILOGUE_USES): New.
15056
15057 2001-08-02  Richard Henderson  <rth@redhat.com>
15058
15059         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15060
15061 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15062
15063         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15064         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15065         config/convex/convex.h, config/d30v/d30v.c,
15066         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15067         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15068         config/mips/mips.h, config/mn10200/mn10200.h,
15069         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15070         config/v850/v850.h, config/vax/openbsd.h,
15071         config/vax/openbsd1.h, config/vax/ultrix.h,
15072         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15073         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15074         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15075         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15076         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
15077         in comments and documentation.
15078
15079 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15080
15081         * line-map.c: New.
15082         * line-map.h: New.
15083         * Makefile.in (line-map.o): New.
15084         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15085         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15086         * cpperror.c (print_containing_files): Similarly.
15087         (print_location): Update.  Don't output a space before _Pragma.
15088         * cppfiles.c (stack_include_file): Set to line 1 immediately.
15089         (stack_include_filee, cpp_make_system_header): Update.
15090         (_cpp_execute_include): Get logical line number right for calling
15091         as-yet-unterminated #include.
15092         * cpphash.h (struct cpp_reader): Add line_maps.
15093         (_cpp_do_file_change): Update.
15094         * cppinit.c (cpp_create_reader): Initialize line maps.
15095         (cpp_destroy): Destroy line maps.
15096         (cpp_start_read): Get logical line number right.
15097         * cpplex.c (parse_string): Only warn once for multi-line strings.
15098         Use boolean variable for null warning.
15099         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15100         already.
15101         (do_include_common): End the directive early.
15102         (do_line): Don't warn about out-of-range lines in preprocessed
15103         source.  Update.  Remove unused variables.
15104         (_cpp_do_file_change): Update for new line mapping.
15105         (pragma_cb): New typedef.
15106         (cpp_register_pragma): Stop looking ahead before calling the
15107         handler.  Clean up.
15108         (do_pragma_system_header): End directive early.
15109         (cpp_get_line_maps): New.
15110         (cpp_pop_buffer): Fudge logical line.  Update.
15111         * cpplib.h: Include line-map.h
15112         (enum cpp_fc_reason): Remove.
15113         (struct cpp_file_change): Update.
15114         (cpp_get_line_maps): New.
15115         * cppmain.c (struct_printer): New member map.
15116         (cb_file_change): Update for new mappings.
15117         * fix-header.c (cb_file_change): Similarly.
15118
15119 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15120
15121         * Makefile.in (libgcc.mk): Define mkinstalldirs.
15122         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15123
15124 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
15125
15126         * config/vax/vax.c: include expr.h.
15127
15128 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15129
15130         * Makefile.in ($(srcdir)/configure): Only rebuild in
15131         maintainer mode.
15132         ($(srcdir)/config.in): Only define in maintainer mode.
15133         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15134
15135 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15136
15137         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15138
15139 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15140
15141         * gcc.c (set_collect_gcc_options): New function, split out from
15142         main.
15143         Ignore elided switches.
15144         (do_spec_1): Invoke before executing command.
15145         (set_input): Export.
15146         Move declaration ...
15147         * gcc.h (set_input): ... here.
15148         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15149         file.
15150
15151 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15152
15153         Kill -fhonor-std.
15154         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15155         interaction.
15156         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15157
15158 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15159
15160         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15161         for the unnamed instructions it expands to.
15162
15163 2001-08-02  Richard Henderson  <rth@redhat.com>
15164
15165         * regclass.c (call_really_used_regs): Conditionally define.
15166         (init_reg_sets_1): Don't use it if not defined.
15167         (fix_register): Similarly, don't set it.
15168
15169 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15170
15171         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15172         Correct comment that had been missed in the previous change.
15173
15174 2001-08-01  Stan Shebs  <shebs@apple.com>
15175
15176         * config/darwin.c (machopic_stub_name): Try matching by name.
15177         (update_stubs): New function.
15178         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15179         unconditionally.
15180
15181 2001-08-01  Richard Henderson  <rth@redhat.com>
15182
15183         * except.c (output_function_exception_table): Use assemble_align.
15184         * varasm.c (assemble_eh_label): Remove.
15185         (assemble_eh_align, assemble_eh_integer): Remove.
15186
15187 2001-08-01  Robert Lipe  <robertl@caldera.com>
15188
15189         * dwarfout.c: Remove reference to README.DWARF.
15190
15191 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15192
15193         * regclass.c (call_really_used_regs): New array for registers which
15194         are actually used by a call.
15195         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15196         new array.
15197         (fix_register): Set call_really_used too.
15198         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15199         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15200
15201 2001-08-01  Richard Henderson  <rth@redhat.com>
15202
15203         * read-rtl.c (read_name): Consider \r whitespace.
15204
15205 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15206
15207         * config.gcc: Recognize powerpc-*-netbsd*.
15208
15209         * doc/install.texi (Host/target specific installation notes for
15210         GCC): Mention powerpc-*-netbsd*.
15211
15212         * config/rs6000/netbsd.h: New file.
15213         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15214         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15215         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15216         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15217         (TARGET_VERSION): Redefine.
15218
15219         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15220         mcall-netbsd as a match for mcall-sysv.
15221         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15222         (ncrti.S, ncrtn.S): New targets.
15223         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15224
15225         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15226         "netbsd' as a V4 ABI.
15227         (ASM_SPEC): Check for -mcall-netbsd.
15228         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15229         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15230         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15231         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15232         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15233         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15234         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15235
15236         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15237         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15238
15239 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15240
15241         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15242         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15243         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15244         including "unwind-pe.h".
15245
15246 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15247
15248         * rs6000.md (define_splits): Kill unused constraints.
15249
15250 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
15251                               Jan Hubicka  <jh@suse.cz>
15252
15253         * function.c (thread_prologue_and_epilogue_insns): Kill code
15254         dealing with non-existent CFG.
15255
15256 2001-08-01  Kazu Hirata  <kazu@hxi.com>
15257
15258         * alias.c: Fix comment formatting.
15259         * bitmap.c: Likewise.
15260         * builtins.c: Likewise.
15261         * calls.c: Likewise.
15262         * c-common.c: Likewise.
15263         * c-decl.c: Likewise.
15264         * c-dump.c: Likewise.
15265         * c-lex.c: Likewise.
15266         * collect2.c: Likewise.
15267         * combine.c: Likewise.
15268         * conflict.c: Likewise.
15269         * cppfiles.c: Likewise.
15270         * cppinit.c: Likewise.
15271         * cpplex.c: Likewise.
15272         * cpplib.c: Likewise.
15273         * cppmacro.c: Likewise.
15274         * cppspec.c: Likewise.
15275         * c-pragma.c: Likewise.
15276         * crtstuff.c: Likewise.
15277         * cse.c: Likewise.
15278         * cselib.c: Likewise.
15279         * c-semantics.c: Likewise.
15280         * c-typeck.c: Likewise.
15281
15282 2001-08-01  H.J. Lu <hjl@gnu.org>
15283
15284         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
15285
15286 2001-08-01  H.J. Lu <hjl@gnu.org>
15287
15288         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
15289
15290 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
15291
15292         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
15293         contextualizing Objective-C class name lookup by the lexer.
15294         (typespec_reserved_nonattr): Disable ObjC class name lookup after
15295         seeing a TYPESPEC.
15296         (protocoldef): Add support for forward @protocol declarations.
15297         (yylexname): Suppress ObjC class name lookup in certain contexts;
15298         re-enable after lookup is complete.
15299         (_yylex): Re-enable ObjC class name lookup when certain
15300         punctuation marks are seen.
15301
15302         * objc/objc-act.c (check_protocol_recursively): New function used
15303         for finding circular dependencies in protocols.
15304         (objc_declare_protocols): New function for handling forward
15305         @protocol declarations.
15306         (receiver_is_class_object): Detect the case when 'self' is used
15307         inside of a class method.
15308         (build_message_expr): Issue a warning if class method is desired
15309         but instance method is found instead.
15310         (conforms_to_protocol): Streamline.
15311         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
15312         protocol Foo, even if 'Bar foo' does not.
15313         (check_protocols): Streamline.
15314         (start_protocol): Add checks for circular and duplicate protocol
15315         definitions.
15316         (encode_aggregate_within): For typedefs of structs, encode the
15317         underlying struct.
15318         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
15319         (objc_declare_protocols): New prototype.
15320
15321 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15322
15323         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
15324         * cpplex.c (handle_newline): Update prototype.  Maintain logical
15325         line number.
15326         (skip_escaped_newlines, skip_block_comment, parse_string):
15327         Update accordingly.
15328         (_cpp_lex_token): Update, and store token position within the token.
15329         * cpplib.h (struct cpp_token): Add line and column entries.
15330         * cppmacro.c (replace_args): Position stringified tokens correctly.
15331
15332 2001-08-01  Andreas Jaeger  <aj@suse.de>
15333
15334         * basic-block.h: Add prototype for last_loop_beg_note.
15335
15336 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
15337
15338         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
15339         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
15340         comment.
15341         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
15342         while handling WITH_CLEANUP_EXPR node. Use second operand calling
15343         expand_decl_cleanup.
15344         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
15345         the first RTX.
15346         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
15347         operand while calling simple_cst_equal.
15348         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
15349         operand is the cleanup expression, the third is the RTL_EXPR.
15350         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
15351
15352 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
15353
15354         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
15355
15356 2001-07-31  matthew green  <mrg@eterna.com.au>
15357
15358         * config.gcc (i386-*-netbsdelf): New description.
15359         * config/i386/netbsd-elf.h: New file.
15360
15361 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
15362
15363         * loop.c (check_dbra_loop): Use single_set to compute
15364         jump_label.
15365
15366 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
15367
15368         PowerPC reorg and support for powerpc64-*-linux*.
15369
15370         Also fixes emitting of constants on 32 bit and 64 bit
15371         platforms.
15372
15373         * config.gcc: powerpc64-*-linux* is a new target.
15374         Things that needed aix.h now also include xcoff.h
15375
15376         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
15377         xcoff.h.
15378         Move AIX specific stuff into aix.h.
15379         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
15380         with more than just XCOFF now.
15381         (SET_ASM_OP): Remove, now defined where needed.
15382         (FUNCTION_PROLOGUE): New macro definition.
15383         (FUNCTION_EPILOGUE): New macro definition.
15384         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
15385
15386         * config/rs6000/xcoff.h: New file.
15387
15388         * config/rs6000/linux64.h: New file.
15389
15390         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
15391
15392 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
15393
15394         * rs6000.c (print_operand_address): Handle ELF syntax.
15395         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
15396         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
15397         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
15398
15399 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
15400
15401         * rs6000.c (rs6000_override_options): Only disable
15402         flag_function_sections for XCOFF.
15403         (exact_log2_cint_operand): New predicate.
15404         (reg_or_{add,sub}_cint64_operand): New predicates.
15405         (add_operand): Compare CONST_INT with fewer function calls.
15406         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
15407         (print_operand, case 'p'): Ensure positive operand.
15408         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
15409         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
15410         (PREDICATE_CODES): Add new predicates.
15411         * rs6000.md (addsi3): Split 32-bit constants more correctly.
15412         (divsi3, modsi3): Ensure positive power-of-2.
15413         (adddi3): Use new predicate.  Split 32-bit constants more
15414         correctly.  Re-arrange splitter to handle any constant.
15415         (subdi3): Use new predicate.
15416         (divdi3, moddi3): Ensure positive power-of-2.
15417         (movdi): Use rs6000_emit_set_const.
15418         (load_toc_v4_pic_di): Delete.
15419
15420 2001-07-31  Graham Stott <grahams@redhat.com>
15421
15422         * function.c (pad_below): Revert 2001-07-26 patch.
15423
15424 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15425
15426         * reg-stack (convert_regs_1): Fix best edge condition.
15427
15428 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15429
15430         * jump.c (duplicate_loop_exit_test): Better test for jumps
15431         entering the loop; create loop pre_header.
15432
15433 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
15434
15435         * doc/install.texi: Add s390 and s390x as new targets.
15436         * doc/invoke.texi: Add documentation of S/390 and zSeries
15437         target options.
15438         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
15439
15440 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15441
15442         * config/m68k/m68k.md: Replace all general_operand with
15443         nonimmediate_operand for all destinations.
15444         * config/m68k/m68k.c (not_sp_operand): Likewise.
15445
15446 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
15447
15448         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
15449
15450 2001-07-30  Richard Henderson  <rth@redhat.com>
15451
15452         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
15453         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
15454
15455 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15456
15457         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
15458         Add missing doc strings
15459         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
15460         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
15461
15462 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
15463
15464         * i386.c (ix86_output_main_function_alignment_hack): New function.
15465         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
15466
15467         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
15468         edges by EDGE_DFS_BACK flag.
15469         (dump_edge_info): Add dfs_back flag.
15470         * basic-block.h (EDGE_DFS_BACK): New constant.
15471         (mark_dfs_back_edges): Declare.
15472         * alias.c (loop_p): Remove.
15473         (mark_constant_function): Use mark_dfs_back_edges.
15474
15475         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
15476         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
15477         (compensate_edge): Break out from ...
15478         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
15479         (convert_regs_2): Set block_done once block is really done;
15480         Do updating of the predecessors counts.
15481
15482         * toplev.c (rest_of_compilation): Recompute block_for_insn
15483         before post-reload cfg_cleanup.
15484         * function.c (thread_prologue_epilogue_insns):
15485         Call set_block_for_new_insns when emitting prologue directly.
15486
15487 2001-07-30  Andreas Jaeger  <aj@suse.de>
15488
15489         * jump.c: Add prototype for mark_modified_reg.
15490
15491         * cse.c (set_live_p): Add unused attribute.
15492
15493         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
15494         overflow.
15495         (scan_for_source_files): Use long for count to avoid overflow.
15496         (output_data): Likewise.
15497         (output_data): Don't use string concatatenation to silence gcc
15498         -traditional.
15499
15500         * predict.c: Fix typos and grammar.
15501
15502         * gcse.c (insert_insn_end_bb): Remove unused variables.
15503
15504 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
15505
15506         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
15507         (attempt_auto_inc): LIkewise.
15508         (mark_used_reg): Likewise.
15509         (try_pre_increment_1): Likewise.
15510         * regclass.c (regclass): Likewise.
15511         * global.c (allocno_compare): Update comment; change scaling factor.
15512         * local-alloc.c (QTY_CMP_PRI): Likewise.
15513         * regs.h (REG_FREQ_FROM_BB): New.
15514         (REG_FREQ_MAX): Likewise.
15515
15516 2001-07-30  H.J. Lu <hjl@gnu.org>
15517
15518         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
15519         -D_GNU_SOURCE.
15520
15521 2001-07-30  H.J. Lu  (hjl@gnu.org)
15522
15523         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
15524         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
15525         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
15526
15527 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
15528
15529         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
15530         as -mthumb-interwork when -mcpu=arm7 is specified.
15531
15532 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15533
15534         * predict.def (noreturn, loop branch, loop exit): Mark as first
15535         match heuristics.
15536
15537 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
15538
15539         * combine.c (try_combine): Avoid barrier after noop jumps.
15540
15541 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15542
15543         * cpphash.h (struct cpp_reader): Remove import_warning.
15544         * cpplib.c (skip_rest_of_line): Don't bother turning off
15545         macro expansion.
15546         (parse_include): Move include handling to...
15547         (do_include_common): ... here.  Move import warning from...
15548         (do_import): ... here.
15549         (do_pragma_poison): Don't do a callback for poison identifiers.
15550         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
15551         * cppmain.c (setup_callbacks): Similarly.
15552
15553 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
15554
15555         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
15556         handle multiple sets.
15557         * except.c (sjlj_mark_call_sites): .... here.
15558         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
15559
15560 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
15561
15562         Suggested by Richard Henderson and Richard Kenner:
15563         * combine.c (recog_for_combine): Use the fake recog
15564         only if instruction does not match.
15565         * rtl.h (NOOP_MOVE_INSN_CODE): New.
15566         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
15567
15568         * combine.c (try_combine): Discover noop jump as direct jump.
15569
15570 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
15571
15572         * df.c (df_rd_global_compute): Add successors to worklist, not
15573         current item.
15574         (df_ru_global_compute): Ditto.
15575
15576 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
15577
15578         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
15579         increment REG_N_SETS.
15580
15581 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15582
15583         * sbitmap.h: New prototype for sbitmap_a_xor_b.
15584
15585         * sbitmap.c (sbitmap_a_xor_b): New function.
15586         ifdef the basic block stuff on IN_GCC.
15587
15588 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15589
15590         * cppexp.c (parse_defined): Always record the macro name.
15591         (lex): Don't worry about identifiers, or special-case
15592         CPP_NOT here.
15593         (_cpp_parse_expr): Figure out at the end of the routine
15594         whether we saw a valid !defined() expression.
15595         * cppfiles.c (stack_include_file): Update for mi_valid.
15596         (_cpp_pop_file_buffer): Similarly.
15597         * cpplex.c (_cpp_lex_token): Similarly.
15598         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
15599         mi_if_not_defined, mi_lexed): Remove.
15600         (mi_valid): New.
15601         * cpplib.c (do_if): Simplify.
15602         (do_endif, push_conditional, _cpp_handle_directive): Update
15603         for renaming of mi_state to mi_valid.
15604 doc:
15605         * cpp.texi: Add index entries for digraphs, and add comment
15606         that C++ refers to them as alternative tokens.
15607
15608 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
15609
15610         * basic-block.h (CLEANUP_PRE_LOOP): New.
15611         * except.c (finish_eh_generation): Update call of cleanup_cfg.
15612         * sibcall.c (optimize_sibling_calls): Likewise.
15613         * toplev.c (rest_of_compilation): Likewise.
15614         * flow.c (try_forward_edges): Take argument MODE;
15615         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
15616         (try_optimize_cfg): Update call of try_forward_edges.
15617
15618 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15619                                 Jan Hubicka  <jh@suse.cz>
15620
15621         * (validate_replace_rtx_1): Fix simplification of MINUS.
15622
15623 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
15624
15625         PR preprocessor/3669
15626         * cppinit.c (init_dependency_output): Turn off dump requests
15627         if sending dependencies to stdout.
15628
15629 2001-07-28  Richard Henderson  <rth@redhat.com>
15630
15631         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
15632         not optimizing.
15633
15634 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
15635
15636         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
15637
15638 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15639
15640         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
15641         is VAR_DECL first to prevent an ICE.
15642
15643 2001-07-28  Richard Henderson  <rth@redhat.com>
15644
15645         * varasm.c (immed_real_const_1): Don't elide special cases for
15646         nested functions.
15647         (clear_const_double_mem): Clear const_tiny_rtx too.
15648
15649 2001-07-28  Richard Henderson  <rth@redhat.com>
15650
15651         * dwarf2out.c (dw_val_class_offset): New.
15652         (struct dw_ranges_struct, dw_ranges_ref): New.
15653         (ranges_table, ranges_table_allocated): New.
15654         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
15655         (add_AT_offset, add_ranges, output_ranges): New.
15656         (print_die, output_die): Handle dw_val_class_offset.
15657         (attr_checksum, size_of_die, value_format): Likewise.
15658         (gen_lexical_block_die): Handle non-contiguous blocks.
15659         (gen_block_die): Likewise.
15660         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
15661         if needed.  Dump the ranges table.
15662         * final.c (final_start_function): Remove unnecessary notes and
15663         rebuild the block tree before numbering the blocks.
15664         * function.c (reorder_blocks_0): Walk the existing block tree
15665         to unmark all blocks.
15666         (reorder_blocks_1): Create block fragments when duplicate block
15667         notes are seen.
15668         (reorder_fix_fragments): New.
15669         (reorder_blocks): Call it.
15670         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
15671
15672 2001-07-28  Richard Henderson  <rth@redhat.com>
15673
15674         * emit-rtl.c (adjust_address): Make a copy of the memory address.
15675
15676 2001-07-28  Richard Henderson  <rth@redhat.com>
15677
15678         * flow.c (add_to_mem_set_list): New function.
15679         (init_propagate_block_info): Use it.
15680         (mark_set_1): Likewise.
15681         (insn_dead_p): Canonicalize memory address for dead store
15682         comparison.  Allow wider mode stores to kill narrower mode stores.
15683         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
15684         (invalidate_mems_from_set): Don't handle MEMs.
15685
15686 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15687
15688         * config/h8300/h8300.h: Fix formatting.
15689
15690 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15691
15692         * basic-block.h (EDGE_FREQUENCY): New macro.
15693         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
15694         for new BB/edges.
15695         * flow.c (find_sub_basic_blocks): Likewise.
15696         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
15697         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
15698
15699         * predict.c (DEF_PREDICTOR): New argument FLAGS.
15700         (HITRATE): New macro.
15701         (PRED_FLAG_FIRST_MATCH): New constant.
15702         (predictor_info): New field flgags.
15703         (combine_predictions_for_insn): Use DS theory to combine
15704         probabilities; set the edge probabilities when finished.
15705         (estimate_probability): Avoid duplicated matches
15706         of LOOP_BRANCH heuristics for nested loops; update comment.
15707         * predict.def: Add flags for each prediction, set probabilities
15708         according to B&L paper.
15709         * predict.h (DEF_PREDICTOR): New argument FLAGS.
15710
15711         * profile.c (compute_branch_probabilities):  Cleanup way the edge
15712         probabilities are computed and REG_BR_PROB notes are dropped; if
15713         values does not match, emit error.
15714         (init_branch_prob): Do error instead of warning when profile driven
15715         feedback is missing or corrupt.
15716
15717 2001-07-27  DJ Delorie  <dj@redhat.com>
15718
15719         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
15720         against a constant, try to adjust the compare to have the desired
15721         constant in it so that min/max optimizations happen more often.
15722
15723 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15724
15725         * flow.c (last_loop_beg_note): New function.
15726         (redirect_edge_and_branch): Use it.
15727         (split_edge): Likewise.
15728
15729         * alias.c (loop_p): Avoid uninitialized memory access.
15730
15731         * flow.c (try_forward_edges): Avoid accessing freed memory.
15732
15733         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
15734         variable access.
15735
15736 2001-07-26  Andrew Haley  <aph@redhat.com>
15737         Joern Rennecke <amylaar@redhat.com>
15738
15739         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
15740         (SUBTARGET_CPP_ENDIAN_SPEC): New.
15741         (SUBTARGET_CPP_SPEC): New.
15742         (CPP_SPEC): Remove.
15743         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
15744         (SUBTARGET_CPP_PTR_SPEC): New.
15745         (CPP_DEFAULT_CPU_SPEC): New.
15746         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
15747         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15748         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
15749         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15750         (SUBTARGET_CPP_SPEC): Define as an empty string.
15751
15752 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15753
15754         * doc/install.texi (Configuration): Properly link the host
15755         specific instructions also when generating HTML.
15756
15757 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
15758
15759         * flow.c (redirect_edge_and_branch_force): Test
15760         target->global_live_at_start.
15761
15762 2001-07-26  Richard Henderson  <rth@redhat.com>
15763
15764         * simplify-rtx.c (avoid_constant_pool_reference): Export.
15765         * rtl.h (avoid_constant_pool_reference): Declare it.
15766         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
15767         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
15768
15769 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15770
15771         * rtl.h (cleanup_barriers): Declare.
15772         * jump.c (cleanup_barriers): New function.
15773         * toplev.c (rest_of_compilation): Call cleanup_barriers
15774         before loop optimizer and after bb_reorder.
15775
15776         * flow.c (back_edge_of_syntactic_loop_p): New.
15777         (split_edge): Use it.
15778
15779 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15780
15781         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
15782
15783 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
15784
15785         * cse.c (cse_process_notes): Replace any registers if the address
15786         remains valid.
15787
15788 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
15789
15790         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
15791         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
15792         (propagate_block): Update prototype.
15793         * flow.c (update_life_info): Simplify the CFG and
15794         recalculate the global regs which are alive when
15795         removing dead code during a global update.
15796         (propagate_block): Return non-zero if an INSN is
15797         deleted.
15798
15799 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15800
15801         * Makefile.in (LIBICONV): Define.
15802
15803 2001-07-26  Catherine Moore  <clm@redhat.com>
15804
15805         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
15806         of conditional to avoid tree checking errors.
15807
15808 2001-07-26  Kazu Hirata  <kazu@hxi.com>
15809
15810         * regmove.c (regmove_optimize): Don't replace a reg with
15811         another reg of a different mode.
15812
15813 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
15814
15815         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
15816         limit length of dependency flush list.
15817         * params.h (MAX_PENDING_LIST_LENGTH): Define.
15818         * sched-int.h  (struct deps): Add pending_flush_length field.
15819         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
15820         has 1 element in it.
15821         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
15822         (sched_analyze): After a jump, if the pending memory flush list is too
15823         large, flush the pending lists.
15824         (init_deps): Initialize pending_flush_length to 0.
15825         * doc/invoke.texi (max_pending_list_length): Document parameter.
15826
15827 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
15828
15829         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
15830         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
15831         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
15832
15833 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15834
15835         * cpphash.h (struct_lexer_state): Delete was_skipping.
15836         Move skipping here from struct cpp_reader.
15837         * cpplex.c (parse_identifier): Update.
15838         (_cpp_lex_token): Don't skip tokens in a directive.
15839         * cpplib.c (struct if_stack): Update.
15840         (start_directive, end_directive): Don't change skipping state.
15841         (_cpp_handle_directive): Update.
15842         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
15843         (do_else, do_endif): Update; only check for excess tokens if not
15844         in a skipped conditional block.
15845         (push_conditional): Update for new struct if_stack.
15846
15847 2001-07-26  Graham Stott  <grahams@redhat.com>
15848
15849         * function.c (locate_and_pad_parm): Also pad initial offset
15850         so that the total argument size also includes the padding.
15851
15852 2001-07-26  Graham Stott <grahams@redhat.com>
15853
15854         * gensupport.c (alter_output_for_insn): Correct enable checking failure
15855         change XSTR to XTMPL.
15856
15857         (process_one_cond_exec): Likewise
15858
15859 2001-07-25  Richard Henderson  <rth@redhat.com>
15860
15861         * varasm.c (assemble_variable): Create DECL_RTL before setting
15862         TREE_ASM_WRITTEN.
15863
15864 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
15865
15866         * predict.c (estimate_probability): Avoid duplicated predictions.
15867
15868         * loop.c (find_and_verify_loops): Grok multiple barriers.
15869
15870 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15871
15872         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
15873
15874         * dbxout.c: Consistently use putc instead of fputc.
15875         (print_wide_int): New function; call instead of direct fprintf.
15876         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
15877         (dbxout_type_fields, dbxout_type_method_1): Likewise.
15878         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
15879         (print_int_cst_octal): Likewise.
15880         (print_octal): Show we wrote characters.
15881         (dbxout_type): Set have_used_extensions in more places.
15882
15883 2001-07-25  Catherine Moore  <clm@redhat.com>
15884
15885         * config/v850/v850.c (v850_va_arg):  Use addr
15886         instead of valist to build incr.
15887
15888 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
15889
15890         * flow.c (delete_dead_jumptables): New function.
15891         (life_analyzis): Call it.
15892         * bb-reorder.c (skip_insns_after_block): Handle contradictory
15893         sequences.
15894
15895 2001-07-25  Richard Henderson  <rth@redhat.com>
15896
15897         * except.c (reachable_handlers): Handle a region being removed
15898         out from under a RESX.
15899
15900 2001-07-25  Richard Henderson  <rth@redhat.com>
15901
15902         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
15903         swap GE/GT if it is an fp comparison.
15904
15905 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
15906
15907         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
15908         operands.
15909
15910 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
15911
15912         * ssa.c (rename_insn_1): Do not wrap an assignment to a
15913         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
15914         glitch.
15915
15916         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
15917         throw an exception.
15918         (visit_expression): When attempting to simplify an expression,
15919         retrieve any modes for arguments before they are simplified
15920         to constants.
15921
15922 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15923             Janis Johnson  <janis@us.ibm.com>
15924
15925         * stmt.c (expand_goto): A nonlocal goto can be a call too.
15926         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
15927         pointer parameters to match documented usage of nonlocal_goto.
15928         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
15929         parameters to their correct order.
15930         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
15931         parameters to their correct order.
15932
15933 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15934
15935         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
15936
15937 2001-07-25  Jan Hubicka  <jh@suse.cz>
15938             Richard Henderson  <rth@redhat.com>
15939
15940         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
15941         the sequence.
15942         (make_edges): New argument update_p; populate the edge cache if set.
15943         (find_basic_blocks): Update make_edges invocation.
15944
15945 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15946
15947         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
15948
15949 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15950
15951         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
15952         -Acpu and -Amachine.h.
15953         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
15954         Corrected header to say ELF not a.out.
15955         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
15956         when given -msoft-float.
15957
15958 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15959
15960         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
15961         extra multilib parts like arm-elf.
15962         (i960-*-coff*, i960-*-rtems): Should not use collect2.
15963         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
15964         crtfini.o as extra multilib parts.
15965
15966 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15967
15968         * configure.in: Add rtems as a supported thread model.
15969         * gthr-rtems.h: Add missing entry point __gthread_active_p.
15970         * configure: Rebuilt.
15971
15972 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
15973
15974         * stor-layout.c (get_mode_alignment): make it work when
15975         BITS_PER_UNIT is not a power of two.
15976         * builtins.c (get_pointer_alignment): Likewise.
15977
15978 2001-07-24  Richard Henderson  <rth@redhat.com>
15979
15980         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
15981         the retrieved constant into the expected mode.
15982
15983 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15984
15985         * flow.c (try_simplify_condjump): Avoid duplicated edges.
15986         (verify_flow_info): Check for duplicated edges; clarify
15987         error reporting.
15988
15989         * flow.c (block_label): Update basic_block_for_insn.
15990         (commit_edge_insertions): Call compute_bb_for_insn.
15991
15992         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
15993         returns too.
15994
15995         * flow.c (redirect_edge_and_branch,
15996         try_optimize_cfg): Use redirect_edge_succ_nodup
15997         (redirect_edge_succ_nodup): New.
15998         * basic_block.h (redirect_edge_succ_nodup): Declare.
15999
16000         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16001         after gcse.
16002
16003 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
16004
16005         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16006         (try_crossjump_to_edge): Update commetns.
16007         (try_crossjump_bb): Likewise.
16008
16009 2001-07-24  Richard Henderson  <rth@redhat.com>
16010
16011         * combine.c (distribute_notes): Move set of need_refresh
16012         for noop_move_p down to catch all cases.
16013
16014 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
16015
16016         * recog.c (split_all_insns_noflow): New.
16017         * rtl.h (split_all_insns_noflow): Declare.
16018         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16019         * m68hc11.c (m68hc11_reorg): Likewise.
16020         * sh.c (machine_dependent_reorg): Likewise.
16021         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16022         call.
16023
16024 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16025
16026         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16027         (ashlsi3_n splitter): Likewise.
16028         (lshrsi3_n splitter): Likewise.
16029
16030         (GOTaddr2picreg): Make const SImode.
16031         (sym_label2reg): Likewise.
16032         (symGOT2reg): Likewise.
16033         (symGOTOFF2reg) Likewise.
16034
16035         (casesi_worker_0): Make unspec SImode.
16036
16037 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
16038
16039         * config/sh/sh.c (barrier_align): Check that an operand really is
16040         an insn before extracting its INSN_CODE.
16041
16042 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
16043
16044         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16045         dangling else.
16046
16047         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16048         for SImode to prevent overflow.
16049
16050 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16051
16052         * config/mips/irix6-libc-compat.c: New file.
16053         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16054         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16055         passing workaround.
16056
16057 2001-07-24  lars brinkhoff  <lars@nocrew.org>
16058
16059         * rtl.texi (REG_POINTER): Document.
16060         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16061         QFmode, HFmode, TQFmode, QCmode, and HCmode.
16062
16063 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
16064
16065         * flow.c (delete_noop_moves): Do not confuse libcall regions.
16066
16067 2001-07-23  Richard Henderson  <rth@redhat.com>
16068
16069         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16070
16071 2001-07-23  Kazu Hirata  <kazu@hxi.com>
16072
16073         * config/h8300/h8300-protos.h: Add a prototype for
16074         general_operand_dst_push.
16075         * config/h8300/h8300.c (general_operand_dst_push): New.
16076         * config/h8300/h8300.h (OK_FOR_T): New.
16077         (EXTRA_CONSTRAINT): Use it.
16078         * config/h8300/h8300.md (movqi_push): Remove and integrate into
16079         the existing movqi pattern.
16080         (movhi_push): Likewise.
16081
16082         * reload.c: Fix comment typos.
16083
16084 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
16085
16086         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16087
16088 2001-07-23  H.J. Lu  (hjl@gnu.org)
16089
16090         * doc/extend.texi: Update __builtin_return_address and
16091         __builtin_frame_address.
16092
16093 2001-07-23  Richard Henderson  <rth@redhat.com>
16094
16095         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16096         before CSE.
16097         * config/i386/i386.md: New setcc+movzbl peephole2.
16098
16099 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16100
16101         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16102         * objc/objc-act.c: Include debug.h.
16103         (synth_module_prologue): Save and restore debug hooks too.
16104
16105 2001-07-23  lars brinkhoff  <lars@nocrew.org>
16106
16107         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16108         and C4X_FLOAT_FORMAT.
16109         (BOOL_TYPE_SIZE): Document.
16110
16111 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
16112
16113         * unroll.c (loop_iterations): Fix miscalculation of initial
16114         giv offset.
16115
16116 2001-07-13  Andrew Haley  <aph@redhat.com>
16117
16118         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16119         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16120         * config/sh/sh.c (sh_can_redirect_branch): New function.
16121         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16122         * reorg.c (steal_delay_list_from_target): Use
16123         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
16124
16125 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16126
16127         * flow.c (try_simplify_condjump): Unlink insn chain on
16128         fallthru edge; use can_fallthru.
16129
16130 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16131
16132         * basic-block.h (find_sub_basic_block): Declare.
16133         * flow.c (make_edges): New arguments MIN and MAX;
16134         (find_sub_basic_blocks): Revamp to use make_edges
16135         and purge_dead_edges.
16136         (find_basic_blocks): Update call of find_sub_basic_block.
16137
16138         * recog.c (split_all_insns): Always expect CFG to be consistent;
16139         call find_sub_basic_blocks in case something has changed.
16140         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16141         has been built.
16142
16143         * basic-block.h (delete_noop_moves): Declare.
16144         * combine.c (combine_instructions): Call it.
16145         (recog_for_combine): Tolerate noop moves
16146         (distribute_notes): Force refresh when register dies at noop move.
16147         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16148         too.
16149         (life_analysis): Update delete_noop_moves call.
16150         (set_noop_p): Move too ...
16151         * rtlanal.c (noop_move_p): ... here.
16152         * rtl.h (noop_move_p): Declare.
16153
16154         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16155         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16156         after combine.
16157         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16158         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16159
16160 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16161
16162         * reload.c (push_reload): Fix typo in comment.
16163         (find_reloads_address): Ditto.
16164         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16165
16166 2001-07-22  Richard Henderson  <rth@redhat.com>
16167
16168         * flow.c: Grammar check and clarify a lot of comments.
16169         (try_simplify_condjump): Rename variables to be clearer.
16170         (try_forward_edges): Skip complex and fallthru edges.
16171         Rearrange tests to avoid duplicate checks.
16172         (flow_find_cross_jump): Likewise.
16173         (outgoing_edges_match): Allow match if neither branch has
16174         probability data.  Loosen probability match to 5%.
16175         (try_crossjump_to_edge): Hoist repeated indirection into
16176         local variables.
16177         (try_crossjump_bb): Don't check complex edges.  Eliminate
16178         redundant crossjump tests.
16179         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16180         checks before more expensive checks.
16181
16182 2001-07-22  Richard Henderson  <rth@redhat.com>
16183
16184         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16185         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16186         arguments.
16187
16188 2001-07-22  Richard Henderson  <rth@redhat.com>
16189
16190         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16191         (const_sint32_operand): Likewise.
16192         * m68k.md (anon mulsi pattern): Use const_int_operand not
16193         const_sint32_operand.
16194         (umulsi3_highpart): Zero extend a constant input.
16195         (smulsi3_highpart): Don't bother checking SImode constant.
16196         (const_umulsi3_highpart): Give op3 DImode.
16197         (const_smulsi3_highpart): Likewise.
16198
16199 2001-07-22  Richard Henderson  <rth@redhat.com>
16200
16201         * flow.c (split_block): Make sure bb_note is included in the
16202         new block when splitting before a label.
16203
16204 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16205
16206         * basic-block.h (redirect_edge_and_branch_force,
16207         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16208         * flow.c (redirect_edge_and_branch_force,
16209         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16210         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16211         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16212         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16213         instead of label; update CFG after transformation.
16214         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16215         for finishing the transformation; handle even case where ELSE
16216         does not follow THEN.
16217         (find_if_case_2): Update call of dead_or_predictable; simplify
16218         CFG update.
16219
16220         * emit-rtl.c (split_branch_probability): New global variable.
16221         (try_split): Take care to set split_branch_probability and
16222         create REG_BR_PROB note for new jump insns.
16223         * md.texi (define_split): Document new feature.
16224
16225         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16226
16227 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16228
16229         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16230         (asm_out_file): Remove redundant declaration.
16231         (assemble_asm): Remove old #if 0 block.
16232         (assemble_variable): Remove end of function; debug output is
16233         now handled with global_decl.  Remove old #if 0 block.  Update.
16234         Remove saved_in_section and associated no-op code.
16235         * Makefile.in (varasm.o): Correct dependencies.
16236
16237 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16238
16239         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16240         the definition in defaults.h.
16241
16242 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16243
16244         * jump.c: Update comments.
16245         (delete_barrier_successors, delete_unreferenced_labels,
16246         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16247         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16248         jump_optimize, jump_optimize_minimal): Kill.
16249         (rebuild_jump_labels): Move code from jump_optimize_1.
16250         (purge_line_number_notes): Likewise.
16251         (copy_loop_headers): Likewise.
16252         * reg-stack.c: Update comment.
16253         * stmt.c: Likewise.
16254         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
16255         JUMP_AFTER_REGSCAN): Kill.
16256         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
16257         purge_line_number_notes and copy_loop_headers.
16258
16259 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
16260            Richard Henderson  <rth@redhat.com>
16261
16262         * dbxout.c (dbxout_global_decl): New.
16263         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16264         * sdbout.c (sdbout_finish): New.
16265         (sdbout_debug_hooks): Use it, add comments.
16266         (sdbout_global_decl): Defer initialised public vars to
16267         sdbout_finish.
16268         * varasm.c (assemble_variable): Don't output debug information
16269         for file-scope variables.
16270
16271 2001-07-22  Richard Henderson  <rth@redhat.com>
16272
16273         * config/alpha/alpha.c (get_trap_mode_suffix): New.
16274         (get_round_mode_suffix): New.
16275         (print_operand): Use them for [/].  Remove support for [&'`()+].
16276         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
16277         * config/alpha/alpha.md (attr round_suffix): New.
16278         (attr trap_suffix): New.
16279         (all insns): Set them appropriately.  Use %/ instead of the
16280         myriad punctuators.
16281
16282 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16283
16284         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
16285
16286 2001-07-22  Richard Henderson  <rth@redhat.com>
16287
16288         * regrename.c (regrename_optimize): Compute nregs for each
16289         potential target register.
16290
16291 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
16292            Richard Henderson  <rth@redhat.com>
16293
16294         * dbxout.c (dbxout_global_decl): New.
16295         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16296         * sdbout.c (sdbout_finish): New.
16297         (sdbout_debug_hooks): Use it, add comments.
16298         (sdbout_global_decl): Defer initialised public vars to
16299         sdbout_finish.
16300         * varasm.c (assemble_variable): Don't output debug information
16301         for file-scope variables.
16302
16303 2001-07-21  H.J. Lu  (hjl@gnu.org)
16304
16305         * config/mips/mips.c (mips_cpu): Moved into ...
16306         (override_options): Here.
16307
16308         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
16309         mips_tune.
16310         (mips_cpu): Removed.
16311
16312 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16313
16314         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
16315         ("iorqi3"): Likewise.
16316         ("xorqi3"): Likewise.
16317         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
16318         ("*subhi3_sp): Likewise.
16319         ("*subhi3"): Likewise.
16320         ("extendhisi2"): Accept D, X and Y as source operand to avoid
16321         reload problems.
16322
16323 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
16324
16325         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
16326         * config/freebsd.h: Likewise.
16327         * config/linux.h: Likewise.
16328         * config/openbsd.h: Likewise.
16329         * config/alpha/linux-elf.h: Likewise.
16330         * config/arm/linux-elf.h: Likewise.
16331         * config/d30v/d30v.h: Likewise.
16332         * config/fr30/fr30.h: Likewise.
16333         * config/ia64/aix.h: Likewise.
16334         * config/ia64/ia64.h: Likewise.
16335         * config/mips/linux.h: Likewise.
16336         * config/pj/pj.h: Likewise.
16337         * config/rs6000/linux.h: Likewise.
16338         * config/sparc/linux.h: Likewise.
16339         * config/sparc/linux64.h: Likewise.
16340
16341 2001-07-20  Bruce Korb  <bkorb@gnu.org>
16342
16343         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
16344         because getc() and char* may disagree on signedness.
16345
16346 2001-07-20  Richard Henderson  <rth@redhat.com>
16347
16348         * doc/rtl.texi (REG_DEAD): Update for current semantics.
16349
16350         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
16351         insns to delete in the presence of cc0 in a jump insn.
16352
16353 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16354                                 Jan Hubicka  <jh@suse.cz>
16355
16356         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
16357         of doing the change by hand.
16358
16359 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16360
16361         * rtlanal.c (set_noop_p): Return true for noop jumps.
16362
16363         * expr.c (emit_single_push_insn): Add call to push expander.
16364         * expr.h (optab_index): Add OTI_push
16365         (push_optab): New constant.
16366         * genopinit.c (optabs): Add push_optab.
16367         * optabs.c (init_optab): Init push optab.
16368         * md.texi (push??1): Document
16369
16370 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16371
16372         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
16373         expand to emit the pattern; put a REG_INC note for push/pop
16374         instructions.
16375         ("movdf", "movdf_internal"): Likewise.
16376         ("movsi", "movsi_internal"): Likewise.
16377         ("movsf", "movsf_internal"): Likewise.
16378         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
16379
16380 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16381
16382         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
16383         gen_highpart.
16384
16385 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
16386
16387         * params.def: Change default max inline insns to 100.
16388
16389 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
16390
16391         * combine.c (combine_simplify_rtx): Generate a new shift operation
16392         when simplifying the first operand of a (neg (ashift)) expression.
16393
16394 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16395
16396         * regclass.c (N_REG_INTS): Use only 32 bits per element.
16397
16398 2001-07-20  Kelley Cook  <kelley.cook@home.com>
16399
16400         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
16401         information.   Move rest into ...
16402         (*-*-solaris): ... here.  Eliminate redundant information and
16403         reword necessary packages section.  Delete 4.x assembler bug info.
16404         (sparc-sun-*): Merge into ...
16405         (sparc-sun-sunos*): here.
16406
16407 2001-07-20  Catherine Moore  <clm@redhat.com>
16408
16409         * config/v850/v850.md (casesi): Generate LABEL_REF
16410         with Pmode.
16411
16412 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
16413
16414         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
16415         * i386.c (ix86_zero_extend_to_Pmode): Make global.
16416         * i386.md (strclrsi expander): Use it.
16417
16418 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16419
16420         * integrate.c (copy_insn_list): handle
16421         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
16422         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
16423         identically as to CODE_LABEL.
16424
16425         * fold-const (fold): Convert A/B/C to A/(B*C) and
16426         A/(B/C) to (A/B)*C
16427
16428         * except.c (connect_post_landing_pads): Delete the RESX insns.
16429
16430 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
16431
16432         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
16433
16434         * config/mips/mips.md (nmadd/nmsub): Use macro.
16435
16436 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
16437
16438         * cppinit.c (remove_dup_dir): Make static.
16439         (remove_dup_dirs): Make static. Only warn about preempting a
16440         system directory with a non-system directory.
16441
16442 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16443
16444         * ifcvt.c (noce_try_store_flag_constants): Correct order
16445         of parameters to trunc_int_for_mode.
16446
16447 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
16448
16449         * reorg.c (fill_simple_delay_slots): If an instruction might throw
16450         an exception that will be caught within this function, do not fill
16451         its delay slot with any subsequent instruction.
16452
16453 2001-07-19  Steve Ellcey <sje@cup.hp.com>
16454
16455         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
16456         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
16457         pointer extension instruction.
16458         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
16459         * simplify-rtx.c (simplify_unary_operation) Likewise.
16460         * explow.c (convert_memory_address) Check value of
16461         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
16462         less than zero.
16463         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
16464         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
16465         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
16466         Add Multilib Support.
16467         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
16468         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
16469         Add Multilib Support.
16470         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
16471         support.
16472         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
16473         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
16474         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
16475
16476 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
16477
16478         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
16479         old and new operands in `<', `3' and `b'.
16480
16481 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16482
16483         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
16484         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
16485         (toplev.o): Don't depend on xcoffout.h.
16486         * c-decl.c: Include debug.h
16487         (duplicate_decls): Use debug hook.
16488         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
16489         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16490         (dbxout_types): Remove.
16491         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
16492         * debug.c (do_nothing_debug_hooks): Update.
16493         (debug_true_tree, debug_nothing_rtx): New.
16494         * debug.h (struct rtx_def): New.
16495         (struct gcc_debug_hooks): New hooks ignore_block,
16496         outlining_inline_function and label.
16497         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
16498         dwarf2out_frame_finish): New.
16499         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
16500         Make static, update prototype.
16501         (dwarf2_debug_hooks): Update.
16502         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
16503         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
16504         * dwarfout.c (dwarf_debug_hooks): Update.
16505         * emit-rtl.c: Include debug.h.
16506         (remove_unnecessary_notes): Use debug hook.
16507         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
16508         (final_scan_insn): Use debug hook.
16509         * integrate.c (output_inline_function): Use debug hook.
16510         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
16511         (sdb_debug_hooks): Update.
16512         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
16513         * toplev.c: Don't include xcoffout.h.
16514         (note_outlining_of_inline_function, debug_ignore_block): Remove.
16515         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
16516         Remove.
16517         * tree.h (dwarf2out_do_frame): Remove.
16518
16519 2001-07-19  Catherine Moore  <clm@cygnus.com>
16520
16521         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
16522
16523 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16524
16525         * reload1.c (eliminate_regs_in_insn): When updating a set
16526         to the frame pointer to the hardware frame pointer, perform
16527         the update always not just when REPLACE is set.
16528
16529         * reload1.c (choose_reload_regs): Don't inherit a reload
16530         that crosses multiple registers if registers past the first
16531         don't fit in the desired class.
16532
16533         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
16534         when negating constants.
16535
16536 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
16537
16538         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
16539         * doc/tree.texi: Ditto.
16540
16541 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
16542             Jakub Jelinek  <jakub@redhat.com>
16543
16544         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
16545         (extract_cie_info): Handle "eh" augmentation properly,
16546         remember eh_ptr.
16547         (struct frame_state, __frame_state_for): New.
16548
16549 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16550
16551         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
16552         HANDLE_SYSV_PRAGMA): Define.
16553         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
16554         previous args.
16555         (copy_object): Caller changed.
16556
16557 2001-07-19  Andreas Schwab  <schwab@suse.de>
16558
16559         * configure.in (assembler dwarf2 debug_line support): Define nop
16560         insn for m68k.
16561         * configure: Regenerated.
16562
16563 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16564
16565         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
16566         dwarfout.h.
16567         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
16568         to conditionally compiled block.
16569         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16570         * dbxout.h (dbxout_function): Remove.
16571         * debug.c (do_nothing_debug_hooks): Update.
16572         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
16573         global_decl, deferred_inline_function.
16574         * dwarf2out.c (dwarf2_debug_hooks): Update.
16575         (dwarf2out_global_decl): New.
16576         * dwarfout.c: Don't include dwarfout.h.
16577         (dwarfout_global_decl, dwarfout_function_decl,
16578         dwarfout_deferred_inline_function): New.
16579         (dwarf_debug_hooks): Update.
16580         * dwarfout.h: Remove.
16581         * final.c: Don't include dwarfout.h.
16582         * sdbout.c (sdbout_global_decl): New.
16583         (sdbout_debug_hooks): Update.
16584         * toplev.c: Don't include dwarfout.h.
16585         (check_global_declarations, rest_of_compilation): Use new debug hooks.
16586         (note_deferral_of_defined_inline_function): Remove.
16587         * toplev.h (note_deferral_of_defined_inline_function): Remove.
16588         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
16589         * ch/lex.c: Don't include dwarfout.h.
16590         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
16591         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
16592         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
16593         * cp/optimize.c: Include debug.h.
16594         (maybe_clone_body): Use debug hook.
16595         * cp/semantics.c: Include debug.h.
16596         (expand_body): Use debug hook.
16597         * po/POTFILES.in: Remove dwarfout.h.
16598
16599 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16600
16601         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
16602         * c-parse.in (yyerror, _yylex): Similarly.
16603         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
16604         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
16605         Update comments.
16606         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
16607         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
16608
16609 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
16610
16611         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
16612         in-class declaration at -g1.  Fixes c++/2814.
16613
16614 2001-07-18  Richard Henderson  <rth@redhat.com>
16615
16616         * doc/md.texi (reload_in/out): Document restrictions in predicates
16617         and constraints for these patterns.  Document empty string matching
16618         ALL_REGS.
16619
16620 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16621
16622         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
16623
16624 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16625
16626         * cse.c: Undo my previous patch.
16627
16628 2001-07-18  Tom Tromey  <tromey@redhat.com>
16629
16630         For PR java/2812:
16631         * configure: Rebuilt.
16632         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
16633         instead.
16634         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
16635
16636 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
16637                                 Jan Hubicka  <jh@suse.cz>
16638
16639         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
16640         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
16641         * jump.c (mark_jump_label): Do not forward branches.
16642
16643 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
16644
16645         * cse.c (delete_trivially_dead_insns): Delete the libcall block
16646         when return value is unused.
16647
16648 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16649
16650         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
16651
16652 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
16653
16654         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
16655         on error.  We can't blindly return the result of
16656         pthread_mutex_trylock because it returns a positive number on
16657         error, while we must return -1 on error.
16658         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
16659         fixes.
16660         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
16661
16662 2001-07-18  Andreas Jaeger  <aj@suse.de>
16663
16664         * integrate.c (output_inline_function): Correct type of debug_hooks.
16665
16666 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16667
16668         * combine.c (combine_simplify_rtx): DIV can be treated
16669         associatively for floats if unsafe math optimisations are enabled.
16670
16671 2001-07-17  Richard Henderson  <rth@redhat.com>
16672
16673         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
16674
16675 2001-07-17  Richard Henderson  <rth@redhat.com>
16676
16677         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
16678         don't force the function address into a register.
16679         (expand_call, emit_library_call_value_1): Update callers.
16680         * builtins.c (expand_builtin_apply): Likewise.
16681         * expr.h (prepare_call_address): Update decl.
16682
16683 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
16684
16685         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
16686         config directory.
16687         * config/i386/chorus.h: Move up.
16688         * config/sparc/chorus.h: Likewise.
16689         * config/rs6000/chorus.h: Likewise.
16690         * config/chorus.h: Moved here.
16691
16692 2001-07-17  Andreas Schwab  <schwab@suse.de>
16693
16694         * configure.in  (assembler eh_frame optimization): Handle big
16695         endian.
16696         * configure: Regenerated.
16697
16698 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
16699
16700         * expr.c (epxand_expr): Convert divisions into multiplications by
16701         reciprocals if -ffast-math.
16702
16703 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
16704
16705         * dbxout.c (dbxout_really_begin_function): Rename to
16706         dbxout_begin_function.
16707         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16708         (dbxout_begin_function): Remove.
16709         (dbxout_function): Update.
16710         (dbxout_source_line): Update prototype.
16711         * dbxout.h (dbxout_begin_function): Remove.
16712         * debug.c (do_nothing_debug_hooks): Update.
16713         (debug_nothing_tree): Update.
16714         (debug_nothing_charstar_rtx): Remove.
16715         * debug.h (union tree_node): Declare.
16716         (struct rtx_def): Remove.
16717         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
16718         begin_function.  Change source_line prototype.
16719         (debug_nothing_tree): New.
16720         (debug_nothing_charstar_rtx): Delete.
16721         (dwarf2out_begin_prologue): Moved from ...
16722         * tree.h: ... here.
16723         * dwarf2out.c (dwarf2_debug_hooks): Update.
16724         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
16725         debug info, call dwarf2out_source_line.
16726         (dwarf2out_souce_line): Update prototype.
16727         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
16728         Change prototype, make static.
16729         (dwarfout_source_line): Update prototype.
16730         (dwarf_debug_hooks): Update.
16731         * dwarfout.h (dwarfout_begin_function): Remove.
16732         * final.c (final_start_function, final_scan_insn): Use appropriate
16733         debug hooks, update to use notice_source_line.
16734         (output_source_line): Rename notice_source_line.  Don't call the
16735         source_line debug hook.
16736         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
16737         make static, update prototype.
16738         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
16739         prototype.
16740         (sdbout_end_prologue): New.
16741         (sdbout_source_line): Update prototype.
16742         (sdbout_debug_hooks): Update.
16743         (sdbout_symbol): Remove unused var.
16744         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
16745         Delete.
16746         * varasm.c: Include debug.h.
16747         (assemble_start_function): Use begin_function debug_hook.
16748         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16749         update with prototype.
16750         (xcoffout_source_line): Update prototype.
16751         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16752         update prototype.
16753         (xcoffout_source_line): Update prototype.
16754
16755 2001-07-17  Richard Henderson  <rth@redhat.com>
16756
16757         * c-typeck.c (build_binary_op): Do not shorten unsigned
16758         right shift after sign extension.
16759
16760 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
16761
16762         * combine.c (combine_simplify_rtx): Attempt to simplify
16763         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
16764
16765         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
16766         (simplify_binary_operation, simplify_unary_operation,
16767          simplify_relational_operation): Use it.
16768
16769         * combine.c (combine_simplify_rtx): Don't do associative law
16770         on divisions; allow associative law on floats.
16771
16772 2001-07-17  H.J. Lu <hjl@gnu.org>
16773             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16774
16775         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
16776         ASM_OUTPUT_WEAK_ALIAS are defined.
16777         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
16778         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
16779         Moved ...
16780         * config/mips/iris5.h: ... here.
16781         (HANDLE_SYSV_PRAGMA): Defined as 1.
16782         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
16783         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
16784         symbol.
16785
16786 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
16787
16788         * c-parse.in (all_prefix_attributes): New variable.
16789         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
16790         (maybe_resetattrs): New production.
16791         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
16792         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
16793         notype_initdcl, nested_function, notype_nested_function,
16794         component_decl, components, components_notype,
16795         component_declarator, component_notype_declarator,
16796         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
16797         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
16798         after a comma being applied to more than one declarator.
16799         * doc/extend.texi (Attribute Syntax): Update.  Remove
16800         documentation of bugs that are no longer present.
16801
16802 2001-07-13  Eric Christopher  <echristo@redhat.com>
16803
16804         * config/mips/mips.h: Change TUNE_MIPS* options to use
16805         mips_tune.
16806         (EXTRA_SPECS): Add cc1_cpu_spec.
16807         * config/mips/mips.md (muldf3): Fix typo.
16808
16809 2001-07-16  Richard Henderson  <rth@redhat.com>
16810
16811         * config/m68k/m68k.c: Include expr.h and reload.h.
16812         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
16813         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
16814
16815 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16816             Richard Henderson  <rth@redhat.com>
16817
16818         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
16819         (insn_live_p): Fix fall off end of function.
16820         (dead_libcall_p): Remove COUNTS argument; update callers.
16821         (delete_trivially_dead_insns): Remove unused variables.
16822
16823 2001-07-17  Andreas Jaeger  <aj@suse.de>
16824
16825         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
16826         x86-64 pic support.
16827
16828         * lcm.c (optimize_mode_switching): Avoid warning for unused
16829         variable if !NORMAL_MODE.
16830
16831         * flow.c (try_crossjump_to_edge): Remove unused variable.
16832
16833 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16834
16835         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
16836         atexit declaration in stdlib.h.
16837
16838 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
16839
16840         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
16841
16842 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16843
16844         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
16845         * except.c (finish_eh_generation): Update call of cleanup_cfg;
16846         do rebuild_jump_labels instead of jump_optimize
16847         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
16848         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
16849         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
16850
16851         * flow.c: Include timevar.h
16852         (find_basic_block): Push/pop timevar;
16853         (cleanup_cfg): Likewise.
16854         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
16855         * Makefile: Add dependencies on timevar.h
16856
16857         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
16858         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
16859
16860         * rtl.h (delete_trivially_dead_insns): Add new parameter.
16861         * toplev.c (rest_of_compilation): Update calls.
16862         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
16863         (delete_trivially_dead_insns): ... here; accept new argument
16864         preserve_basic_blocks; preserve basic blocks if set.
16865
16866         * reg-stack.c (stack_regs_mentioned): Return 0 if
16867         stack_regs_mentioned_data is not initialized.
16868         (reg_to_stack): Make stack_regs_mentioned survive after the
16869         reg-stack is completted; do not call cleanup_cfg.
16870         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
16871         make cleanup_cfg after bb-reorder to output to debug file.
16872
16873 2001-07-16  Richard Henderson  <rth@redhat.com>
16874
16875         * regclass.c (init_reg_sets): Use only 32 bits per initializer
16876         from int_reg_class_contents.
16877
16878 2001-07-16  Richard Henderson  <rth@redhat.com>
16879
16880         * hard-reg-set.h (regs_invalidated_by_call): Declare.
16881         * regclass.c (regs_invalidated_by_call): Move from cse.c.
16882         (init_reg_sets_1): Move initialization from cse_main.
16883         * cse.c (regs_invalidated_by_call): Move to regclass.c.
16884         (cse_main): Move its initialization also.
16885         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
16886         * flow.c (propagate_one_insn): Likewise.
16887         * gcse.c (compute_hash_table): Likewise.
16888         (compute_kill_rd, compute_store_table): Likewise.
16889         * sched-deps.c (sched_analyze_1): Likewise.
16890
16891 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
16892
16893         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
16894         gen_rtx_SET.
16895
16896 2001-07-16  Steve Ellcey <sje@cup.hp.com>
16897
16898         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
16899         in if statement so we don't access undefined memory.
16900
16901 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16902
16903         * gcse.c: Update comment at top.
16904         Update comment on mem handling.
16905         mem_last_set, mem_first_set, mem_set_in_block: gone.
16906         Declaration of reg_set_info: gone.
16907         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
16908         pointless with load_killed_in_block_p (they are *more*
16909         conservative then it, not less, and less accurate).
16910         (oprs_not_set_p): Ditto.
16911         (alloc_gcse_mem): Don't allocate mem_set_in_block
16912         (free_gcse_mem): Don't free it, either.
16913         (record_last_mem_set_info): Update comment in front, remove
16914         mem_*set_* stuff. Note the reason we don't handle stores directly
16915         here.
16916         (compute_hash_table): Update comments to reflect reality. Remove
16917         mem_*set_* references.
16918         (reset_opr_set_tables): Remove mem_*set_* references.
16919         (mark_call): Ditto.
16920         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
16921         (mark_clobber): Ditto (on both parts, we double set here too).
16922         (expr_killed_p): Remove mem_set_in_block test.
16923         (compute_transp): Remove mem_set_in_block test.
16924
16925         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
16926         of edge, and removal of phi alternative to dump file.
16927         (ssa_ccp_substitute_constants): Add note about register now being
16928         constant, and which uses were replaced in what insns to dump file.
16929
16930 2001-07-16  Andreas Jaeger  <aj@suse.de>
16931
16932         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
16933         variables of type HOST_WIDEST_INT.
16934
16935         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
16936         (__bb_exit_func): Correct type of count_max to avoid overflow.
16937         (num_digits): Handle long long argument.
16938
16939         * combine.c (gen_lowpart_for_combine): Remove unused variable.
16940
16941 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16942
16943         * output.h (sdb_begin_function_line): Restore as an extern
16944         variable.
16945         * sdbout.c (sdb_begin_function_line): Make extern.
16946
16947 2001-07-15  Richard Henderson  <rth@redhat.com>
16948
16949         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
16950         * genrecog.c (maybe_both_true_mode): New.
16951         (maybe_both_true_2): Use it.
16952         (write_switch): Don't put Pmode in a switch.
16953         * rtl.c (mode arrays): Don't explicitly size them.
16954
16955 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16956
16957         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
16958         handling; move unconditional splitting before mode switching.
16959
16960         * i386.md (type): Add fistp type.
16961         (i387, length_attr, scheduling definitions): Handle this type.
16962         (fix_trunc?f?i2): Revamp to use mode switching.
16963         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
16964         * i386.h (fp_cw_mode): New enum
16965         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
16966         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
16967
16968 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16969
16970         * Makefile.in (integrate.o): Add debug.h.
16971         * integrate.c (debug.h): Add.
16972         (output_inline_function): Save, reset, and restore debug_hooks.
16973
16974 2001-07-15  Richard Henderson  <rth@redhat.com>
16975
16976         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
16977         instead of COMPARE for the EQUIV expression.
16978
16979 2001-07-15  Richard Henderson  <rth@redhat.com>
16980
16981         * flow.c (redirect_edge_and_branch_force): Initialize
16982         global_live_at_start and global_live_at_end.
16983         (allocate_bb_life_data): Export.
16984         * basic-block.h (allocate_bb_life_data): Declare.
16985         * toplev.c (rest_of_compilation): Call it.
16986
16987 2001-07-15  Richard Henderson  <rth@redhat.com>
16988
16989         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
16990         (alpha_tablejump_best_label): New.
16991         * config/alpha/alpha-protos.h: Declare them.
16992         * config/alpha/alpha.md: Use braced strings for code blocks.
16993         (tablejump_osf): Break out add with r29.
16994         (tablejump_osf_internal): Remove.
16995         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
16996         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
16997
16998 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
16999
17000         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17001         of the movable.
17002
17003         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17004
17005         * i386-protos.h (ix86_split_fp_branch): Update prototype.
17006         (ix86_fp_jump_nontrivial_p): New.
17007         * i386.md (fp_jcc_?): Update call of split_fp_branch;
17008         use ix86_fp_jump_nontrivial_p.
17009         * i386.c (ix86_fp_jump_nontrivial_p): New.
17010         (ix86_split_fp_branch): Accept code instead of rtx.
17011         (ix86_expand_compare): Expand comparison early in case
17012         doing so is resonably cheap.
17013
17014 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
17015
17016         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17017         not 'machine'.
17018         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17019         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17020
17021 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
17022
17023         * dbxout.c (dbxout_source_line): Make static, update prototype.
17024         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17025         (dbxout_init, dbxout_finish, dbxout_source_line,
17026         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17027         * dbxout.h (dbxout_source_line): Delete.
17028         * debug.c (debug_nothing_file, debug_nothing_file_int,
17029         debug_nothing_file_charstar_rtx): New.
17030         (do_nothing_debug_hooks): Update.
17031         (debug_nothing_void, debug_nothing_charstar_rtx,
17032         dwarf2out_end_epilogue): New.
17033         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17034         * debug.h (struct rtx_def): Declare.
17035         (gcc_debug_hooks): New hooks source_line, end_epilogue
17036         and end_function.
17037         (debug_nothing_void, debug_nothing_charstar_rtx,
17038         dwarf2out_end_epilogue): New.
17039         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17040         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17041         (dwarf2_debug_hooks): Update.
17042         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17043         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17044         * dwarf2out.h (dwarf2out_source_line): Remove.
17045         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17046         Make static, update prototype.
17047         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17048         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17049         (dwarf_debug_hooks): Update.
17050         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17051         dwarfout_end_function): Remove.
17052         * final.c (profile_function): Use debug hooks for ending functions
17053         and epilogues.
17054         (output_source_line, final_end_function): Update prototype,
17055         use debug hooks.
17056         (final_start_function, final_scan_insn): Update.
17057         * output.h (sdb_begin_function_line): Remove.
17058         (final_end_function): Update prototype.
17059         * sdbout.c (sdb_begin_function_line): Make static.
17060         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17061         (sdbout_source_line): New.
17062         (sdbout_end_epilogue, sdbout_end_function): Make static, update
17063         prototypes.
17064         (sdb_debug_hooks): Update.
17065         (sdbout_init, sdbout_source_line,
17066         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17067         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17068         * toplev.c (compile_file, rest_of_compilation): Update.
17069         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17070         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17071         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17072         Update for prototype changes.
17073         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17074         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17075
17076 2001-07-15  Richard Henderson  <rth@redhat.com>
17077
17078         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17079         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17080         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17081         * config/alpha/alpha.c: Likewise.
17082         * config/alpha/alpha.md: Likewise.
17083         * config/alpha/alpha32.h: Likewise.
17084         * config/alpha/vms.h: Likewise.
17085         (OPEN_VMS): Remove.
17086
17087 2001-07-14  Richard Henderson  <rth@redhat.com>
17088
17089         * config/alpha/alpha.md: Use define_constants for unspec values.
17090         Substitute throughout.
17091
17092 2001-07-14  Tim Josling  <tej@melbpc.org.au>
17093
17094         * tree.def (EXPON_EXPR) remove. Never supported anyway.
17095
17096 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17097
17098         * pa.md: Remove unused constraints from define_split's.
17099
17100 2001-04-14  Richard Henderson  <rth@redhat.com>
17101
17102         * ifcvt.c (find_cond_trap): Test for exit block.
17103
17104 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
17105
17106         Re-install recently reverted patch.
17107         * emit-rtl.c (try_split): Update mark_jump_label call.
17108         * flow.c (find_sub_basic_blocks): Likewise.
17109         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17110         jump_back_p): Kill.
17111         (mark_all_labels): Kill second parameter.
17112         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17113         (rebuild_jump_labels, jump_optimize_minimal): Update call
17114         of jump_optimize_1.
17115         (jump_optimize_1): Kill crossjumping code.
17116         (mark_jump_label): Kill cross_jump parameter.
17117         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17118         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17119         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17120          splitting.
17121         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17122         DFI_bpro.
17123         (dump_file_info): Likewise.
17124         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17125         reorganize passes to do reg-stack first, bb-reorder second.
17126         * invoke.texi (-d letters doc): Remove the jump2 pass.
17127
17128 2001-07-14  Richard Henderson  <rth@redhat.com>
17129
17130         * ifcvt.c (find_cond_trap): New.
17131         (find_if_header): Call it.
17132         (merge_if_block): Relax existing jump sanity check.
17133         * jump.c (jump_optimize_1): Remove conditional trap handling.
17134
17135 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17136
17137         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17138         millicode.
17139         (insn_refs_are_delayed): Correct comment.
17140         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17141         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17142         instead of r31.  Make associated insn !TARGET_64BIT, and
17143         provide an additional 64-bit insn that clobbers r2.
17144         (divsi3): Likewise.
17145         (udivsi3): Likewise.
17146         (modsi3): Likewise.
17147         (umodsi3): Likewise.
17148
17149 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17150
17151         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17152
17153         * flow.c (redirect_edge_and_branch_force, split_edge,
17154         try_crossjump_to_edge): Use set_block_for_new_insns.
17155         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17156
17157 2001-07-13  H.J. Lu  (hjl@gnu.org)
17158
17159         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17160         the correct patch.
17161
17162 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17163
17164         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17165
17166 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17167
17168         * c-common.c (decl_attributes): Take a pointer to the node to
17169         which attributes are to be attached, and a flags argument.
17170         * c-common.h (enum attribute_flags): New.
17171         (decl_attributes): Update prototype.
17172         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17173         finish_enum, start_function): Update calls to decl_attributes.
17174         * c-parse.in (component_declarator, component_notype_declarator,
17175         label): Update calls to decl_attributes.
17176
17177 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17178
17179         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17180         * config/avr/avr.c (legitimate_address_p): Return value changed
17181         from letter to register classes. For better debugging.
17182
17183 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17184
17185         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17186
17187 2001-07-13  H.J. Lu  (hjl@gnu.org)
17188
17189         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17190
17191 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17192
17193         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17194         correctly for shared configurations.
17195         * config/t-libgcc-pic:  New.
17196         * config/{i386,m68k,sparc}/t-openbsd:  New.
17197         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17198         Support -shared.  Support debugging libraries with -g.
17199         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17200         frame information does not emit pointer diffs.
17201         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17202         emit pointer diffs.
17203
17204 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17205
17206         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17207
17208 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17209
17210         * combine.c (try_combine): Ensure const_int pow2 is positive.
17211
17212 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17213
17214         * config.gcc: Add configuration for s/390.
17215         * config/s390/s390.c: New. Subroutines for code generation.
17216         * config/s390/s390.h: New. Definitions for s/390.
17217         * config/s390/s390-protos.h: New. Prototypes.
17218         * config/s390/linux.h: New. Definitions for linux for s/390.
17219         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17220         * config/s390/t-linux: New. Makefile fragment.
17221         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17222         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17223
17224 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17225
17226         * emit-rtl.c (try_split): Update mark_jump_label call.
17227         * flow.c (find_sub_basic_blocks): Likewise.
17228         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17229         jump_back_p): Kill.
17230         (mark_all_labels): Kill second parameter.
17231         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17232         (rebuild_jump_labels, jump_optimize_minimal): Update call
17233         of jump_optimize_1.
17234         (jump_optimize_1): Kill crossjumping code.
17235         (mark_jump_label): Kill cross_jump parameter.
17236         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17237         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17238         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17239          splitting.
17240         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17241         DFI_bpro.
17242         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17243         reorganize passes to do reg-stack first, bb-reorder second.
17244         * invoke.texi (-d letters doc): Remove the jump2 pass.
17245
17246 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17247
17248         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
17249
17250 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17251
17252         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
17253         basic blocks.
17254         (verify_flow_info): Make diagnostics prettier.
17255
17256 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
17257
17258         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
17259
17260         * flow.c (outgoing_edges_match): Return early if condition reversal
17261         failed.
17262
17263 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
17264
17265         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
17266         (mips_move_2words): When splitting a move into two instructions,
17267         prefix the second address operand with '%D'.
17268
17269 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
17270
17271         * Makefile.in (final.o): Depend on debug.h.
17272         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
17273         (dbx_debug_hooks): Add new hooks.
17274         (xcoff_debug_hooks): New.
17275         * debug.c (debug_nothing_file_int_int): New.
17276         (do_nothing_debug_hooks): Update.
17277         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
17278         (debug_nothing_file_int_int): New.
17279         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
17280         static, update prototype.
17281         (dwarf2_debug_hooks): Update.
17282         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
17283         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
17284         static, update prototype.
17285         (dwarf_debug_hooks): Update.
17286         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
17287         * final.c: Include debug.h.
17288         (final_scan_insn): Use debug hooks when beginning and ending blocks.
17289         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
17290         static, update prototype.
17291         (sdb_debug_hooks): Update.
17292         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
17293         * toplev.c: Distinguish between xcoff and dbx.
17294
17295         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
17296         Call all debug hooks, not just dwarf ones.
17297
17298 2001-07-11  Timothy Wall  <twall@redhat.com>
17299
17300         * config.gcc: Add configuration for AIX5/IA64.
17301         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
17302         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
17303         support prefix/suffix code.
17304         * config/ia64/t-aix: New.  Makefile fragment.
17305         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
17306
17307 2001-07-11  Kazu Hirata  <kazu@hxi.com>
17308
17309         * recog.c (validate_change): Fix a comment typo.
17310
17311 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
17312
17313         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
17314         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
17315         hooks directly.
17316         * dbxout.c (dbx_debug_hooks): Add new hooks.
17317         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
17318         make static.
17319         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
17320         make static.
17321         * dbxout.h (dbxout_start_new_source_file,
17322         dbxout_resume_previous_source_file): Delete.
17323         * debug.c (do_nothing_debug_hooks): Add new hooks.
17324         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17325         (debug_nothing_int_charstar, debug_nothing_int): New.
17326         * debug.h (gcc_debug_hooks): New hooks define, undef,
17327         start_source_file and end_source_file.
17328         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17329         (debug_nothing_int_charstar, debug_nothing_int): New.
17330         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
17331         the conditionally compiled section.
17332         (dwarf2out_start_source_file, dwarf2out_end_source_file,
17333         dwarf2out_define, dwarf2out_undef): Make static.
17334         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
17335         dwarf2out_define, dwarf2out_undef): Remove.
17336         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
17337         (dwarfout_start_source_file, dwarfout_end_source_file,
17338         dwarfout_define, dwarfout_undef): Make static.
17339         (dwarfout_start_source_file_check,
17340         dwarfout_end_source_file_check): New.
17341         (dwarfout_define, dwarfout_finish): Update.
17342         * dwarfout.h (dwarfout_start_new_source_file,
17343         dwarfout_resume_previous_source_file, dwarfout_define,
17344         dwarfout_undef): Remove.
17345         * sdbout.c (sdb_debug_hooks): Add new hooks.
17346         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
17347         make static.
17348         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
17349         make static, take an arg.
17350         * sdbout.h (sdbout_start_new_source_file,
17351         sdbout_resume_previous_source_file): Delete.
17352         * toplev.c (debug_start_source_file, debug_end_source_file,
17353         debug_define, debug_undef): Delete.
17354         * toplev.h (debug_start_source_file, debug_end_source_file,
17355         debug_define, debug_undef): Delete.
17356
17357         * java/jcf-parse.c: Include debug.h.
17358         (parse_class_file): Update to use debug hooks directly.
17359         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
17360
17361 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17362
17363         * alias.c (set_mem_alias_set): New function.
17364         * rtl.h (set_mem_alias_set): Declare it.
17365         * builtins.c (expand_builtin_return_addr): Call it instead of
17366         using MEM_ALIAS_SET accessor.
17367         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
17368         (get_memory_rtx, expand_builtin_va_arg): Likewise.
17369         (expand_builtin_va_copy):Likewise.
17370         * caller-save.c (setup_save_areas): Likewise.
17371         * calls.c (compute_argument_addresses): Likewise.
17372         * explow.c (set_mem_attributes): Likewise.
17373         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
17374         (expand_assignment, store_constructor_field, store_field): Likewise.
17375         (expand_expr_unaligned): Likewise.
17376         * function.c (assign_stack_temp_for_type): Likewise.
17377         (put_reg_into_stack, gen_mem_addressof): Likewise.
17378         * ifcvt.c (noce_try_cmove_arith): Likewise.
17379         * reload1.c (reload, alter_reg): Likewise.
17380         * config/alpha/alpha.c (get_aligned_mem): Likewise.
17381         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
17382         (alpha_expand_unaligned_store): Likewise
17383         (alpha_expand_unaligned_load_words): Likewise.
17384         (alpha_expand_unaligned_store_words): Likewise.
17385         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
17386         (alpha_expand_epilogue): Likewise.
17387         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
17388         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
17389         * config/i386/i386.c (legitimize_pic_address): Likewise.
17390         * config/i960/i960.c (setup_incoming_varargs): Likewise.
17391         * config/ia64/ia64.c (spill_restore_mem): Likewise.
17392         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
17393         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
17394         * config/mips/mips.c (mips_va_arg): Likewise.
17395         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17396         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17397         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
17398         (setup_incoming_varargs, rs6000_va_arg): Likewise.
17399         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
17400         (rs6000_emit_epilogue): Likewise.
17401         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
17402         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17403         * config/v850/v850.c (v850_va_arg): Likewise.
17404
17405 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
17406
17407         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
17408         when fallthru edge is present.
17409         (mege_blocks): Handle case where creation of jump insn
17410         is required.
17411
17412         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
17413         CLEANUP_POST_REGSTACK): New constants.
17414         * except.c (finish_eh_generation): Update call of cleanup_cfg,
17415         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
17416         * output.h (cleanup_cfg): Update prototype.
17417         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
17418         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
17419         cleanup_cfg call; kill missleading comment.
17420         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
17421         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
17422         parameter; control optimizations performed using it.
17423         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
17424         try_crossjump_bb): New functions.
17425
17426 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17427
17428         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
17429         extern.
17430         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
17431         pa_output_function_prologue.
17432         * pa-protos.h (pa_output_function_prologue): New prototype.
17433
17434 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17435
17436         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
17437         and low to get correct sign extension in low+high test.
17438
17439 2001-07-11  Janis Johnson <janis@us.ibm.com>
17440
17441         * gcov.c (arcdata): Use gcov_type to fix branch percentage
17442         for large hit count.
17443
17444         * profile.c (branch_prob): Fix .bbg info for computed gotos
17445         and C++ EH code.
17446
17447 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
17448
17449         * stmt.c (parse_output_constraint): New function, split out
17450         from ...
17451         (expand_asm_operands): ... here.  Use parse_output_constraint.
17452         * tree.h (parse_output_constraint): Declare it.
17453
17454 2001-07-11  Richard Henderson  <rth@redhat.com>
17455
17456         * bitmap.c: Comment some functions; fiddle whitespace.
17457         (bitmap_free): Don't export.
17458         (bitmap_element_allocate): Use memset.
17459         * bitmap.h (bitmap_free): Don't declare.
17460
17461 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
17462
17463         * gcse.c, lcm.c, sched-deps.c:
17464         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
17465
17466         * flow.c (flow_loops_find): Free dom if we found no loops, since
17467         we aren't going to save it.
17468
17469         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
17470         done.
17471
17472 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
17473
17474         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
17475
17476 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17477
17478         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
17479         #ifndef DWARF2_DEBUGGING_INFO.
17480
17481 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17482
17483         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
17484
17485 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17486
17487         * config/mips/mips.c (gen_int_relational): Tell the caller not to
17488         reverse a branch if a NE comparison is implemented with GTU.
17489
17490 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17491             H.J. Lu  <hjl@gnu.org>
17492
17493         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
17494         constant addresses.
17495         (call_internal2): Likewise.
17496         (call_value_internal1): Likewise.
17497         (call_value_internal2): Likewise.
17498         (call_value_multiple_internal1): Likewise.
17499         (call_value_multiple_internal2): Likewise.
17500
17501 2001-07-10  Kazu Hirata  <kazu@hxi.com>
17502
17503         * calls.c (emit_library_call_value_1): Fix a comment typo.
17504         * dwarf2out.c (mem_loc_descriptor): Likewise.
17505         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
17506
17507 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
17508
17509         * simplify-rtx.c (simplify_subreg): Fix typo in comment
17510
17511 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17512
17513         * recog.c (offsettable_address_p): Handle LO_SUM case.
17514         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
17515         instead of plus_constant.
17516
17517 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17518
17519         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
17520         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
17521
17522 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17523
17524         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
17525         adjust_address_nv instead of plus_constant.
17526
17527 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
17528
17529         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
17530         dwarf2out.o): Depend on debug.h, wrap long lines.
17531         * dbxout.c: Include debug.h.
17532         (dbx_debug_hooks): New.
17533         (dbxout_init): Make static, take just 2 args.
17534         (dbxout_finish): Make static.
17535         * dbxout.h (dbxout_init, dbxout_finish): Delete.
17536         * debug.c: New file.
17537         * debug.h: New file.
17538         * dwarf2out.c: Include debug.h.
17539         (dwarf2_debug_hooks): New.
17540         (dwarf2out_init): Make static.
17541         (dwarf2out_finish): Make static, take 2 args.
17542         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
17543         * dwarfout.c: Include debug.h.
17544         (dwarf_debug_hooks): New.
17545         (dwarfout_init): Make static.
17546         (dwarfout_finish): Make static, take 2 args.
17547         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
17548         * sdbout.c: Include debug.h.
17549         (sdb_debug_hooks): New.
17550         (sdbout_init): Make static, take 2 args.
17551         * sdbout.h (sdbout_init): Delete.
17552         * toplev.c: Include debug.h.
17553         (debug_hooks): New.
17554         (compile_file): Set deubg_hooks based on command line options.
17555         Use the hooks unconditionally rather than conditional compilation.
17556
17557 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
17558
17559         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
17560         first_insn_after_basic_block_note instead.
17561
17562         * df.c (df_bb_refs_unlink): #if 0 out for now.
17563
17564 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
17565
17566         * ssa.h: Add prototype for ssa_const_prop
17567         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
17568         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
17569         (ssa_fast_dce): Remove unused variable
17570
17571 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17572
17573         * diagnostic.c (finish_diagnostic): Rename to
17574         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
17575         calls thourghout.
17576
17577 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
17578
17579         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
17580         .loc support.
17581
17582         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
17583         (dump_file): Only pad the demangled name with spaces if the
17584         mangled name was padded with spaces.
17585
17586 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
17587
17588         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
17589         edge detection.
17590
17591 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17592
17593         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
17594         extraction if no direct load if either EXPAND_CONST_ADDRESS or
17595         EXPAND_INITIALIZER.
17596
17597         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
17598         whether can put offset inside LO_SUM to check mode alignment, not size.
17599
17600 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17601
17602         * doc/tm.texi (Misc): Fix thinko.
17603
17604 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
17605
17606         * regmove.c (replace_in_call_usage): Fix warnings.
17607         * sched-deps.c (add_dependence): Fix warnings.
17608         * simplify-rtx.c (simplify_subreg): Likewise.
17609         Return NULL_RTX instead of NULL.
17610
17611         * reg-stack.c (emit_swap_insn): Eliminate warnings.
17612         (subst_asm_stack_regs): Likewise.
17613
17614         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
17615         warnings.
17616
17617         * dwarf2out.c (output_call_frame_info): Declare i as int.
17618         (build_abbrev_table): Declare n_alloc as int.
17619         (dwarf2out_finish): Initialize die.
17620         * except.c: Declare sjlj_funcdef_number as unsigned.
17621         (connect_post_landing_pads): Declare j as unsigned.
17622         (convert_to_eh_region_ranges): Initialize call_site.
17623         (output_function_exception_table): Initialize tt_format_size.
17624         * expr.c (move_by_pieces_1): Initialize to1.
17625         (store_constructor): Initialize minelt and maxelt.
17626         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
17627         * function.c (instantiate_decls): Avoid signed/unsigned warning.
17628
17629         * c-decl.c (combine_parm_decls): Unused, remove.
17630         * c-tree.h: Remove prototype for combine_parm_decls.
17631
17632         * reload.c (push_reload): Fix warning.
17633         (regno_clobbered_p): Likewise.
17634         * reload1.c (replace_pseudos_in_call_usage): Likewise.
17635         (reload_combine): Likewise.
17636
17637         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
17638         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
17639         warnings.
17640         * bitmap.c (bitmap_operation): Change user.
17641         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
17642
17643 2001-07-10  Eric Christopher  <echristo@redhat.com>
17644
17645         * config/mips/mips.c (override_options): Fix typo.
17646
17647 2001-07-09  Stan Shebs  <shebs@apple.com>
17648
17649         * target.h (struct gcc_target): New fields init_builtins and
17650         expand_builtin.
17651         * target-def.h (TARGET_INIT_BUILTINS): New macro.
17652         (TARGET_EXPAND_BUILTIN): New macro.
17653         (TARGET_INITIALIZER): Add them.
17654         * builtins.c: Include target.h.
17655         (expand_builtin): Use targetm.expand_builtin.
17656         (default_init_builtins): New function.
17657         (default_expand_builtin): New function.
17658         * expr.h (default_init_builtins): Declare.
17659         (default_expand_builtin): Declare.
17660         * c-common.c (c_common_nodes_and_builtins): Use
17661         targetm.init_builtins.
17662         * defaults.h (MD_INIT_BUILTINS): Remove.
17663         * Makefile.in (builtins.o): Depend on target.h.
17664
17665         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
17666         (TARGET_EXPAND_BUILTIN): Define.
17667         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
17668         (MD_EXPAND_BUILTIN): Remove.
17669
17670         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
17671         (TARGET_EXPAND_BUILTIN): Define.
17672         (c4x_init_builtins): Make endlink arg a local.
17673         (c4x_print_operand): Fix typos in adjust_address usages.
17674         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
17675         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
17676         (MD_EXPAND_BUILTIN): Remove.
17677
17678         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
17679         (TARGET_EXPAND_BUILTIN): Define.
17680         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
17681         (ix86_init_builtins): Call new function only if TARGET_MMX.
17682         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
17683         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
17684         (MD_EXPAND_BUILTIN): Remove.
17685
17686         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
17687         (TARGET_EXPAND_BUILTIN): Define.
17688         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
17689         (MD_EXPAND_BUILTIN): Remove.
17690
17691         * doc/tm.texi: Document these changes.
17692
17693 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
17694
17695         * basic-block.h (tree_node): Forward declare if needed.
17696         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
17697         (BLOCK_HEAD_TREE): Define.
17698         (BLOCK_END_TREE): Define.
17699         (struct loops): Rename field 'tree' to 'tree_root'.
17700         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
17701         'end_tree'.
17702         (flow_loops_tree_build): Rename reference to field 'tree' to
17703         'tree_root'.
17704         (flow_loops_level_compute): Ditto.
17705         * predict.c (estimate_bb_frequencies): Ditto.
17706         * tree.h (struct tree_common): Add field 'aux'.
17707
17708 2001-07-09  Stan Shebs  <shebs@apple.com>
17709
17710         * config/darwin.c (darwin_encode_section_info): Don't mark any
17711         DECL_EXTERNAL node as defined.
17712
17713 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17714
17715         * pa.c (pa_init_machine_status, pa_mark_machine_status,
17716         pa_free_machine_status, hppa_init_pic_save): Delete.
17717         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
17718         (hppa_profile_hook): Use hppa_pic_save_rtx.
17719         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
17720         hppa_init_pic_save): Delete.
17721         (hppa_pic_save_rtx): Declare.
17722         * pa.md (call, call_value, sibcall, sibcall_value,
17723         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
17724
17725 2001-07-09  Kazu Hirata  <kazu@hxi.com>
17726
17727         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
17728         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
17729
17730 2001-07-09  Andreas Jaeger  <aj@suse.de>
17731
17732         * output.h: Add declaration of final_forward_branch_p.
17733
17734         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
17735
17736         * varray.c: Include errors.h for internal_error and trim_filename
17737         declarations.
17738
17739         * Makefile.in (varray.o): Add errors.h.
17740
17741 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
17742
17743         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
17744         * optabs.c (have_add2_insn): Check whether the add insn chosen
17745         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
17746         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
17747
17748 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
17749
17750         * Makefile.in (OBJS): Add ssa-ccp.o
17751         (ssa-ccp.o): Add dependencies.
17752         * toplev.c (DFI_ssa_ccp): New dump file enum.
17753         (dump_file): Add entry for dumping after SSA CCP.
17754         (flag_ssa_ccp): New flag variable.
17755         (f_options): Add -fssa-ccp.
17756         (rest_of_compilation): Run SSA CCP if requested.
17757         * timevar.def (TV_SSA_CCP): New timevar.
17758         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
17759         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
17760         Fix minor typo in SSA DCE documentation.
17761         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
17762         Add documentation for new dump option.  Renumber dump files
17763         appropriately.
17764
17765 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17766
17767         * emit-rtl.c (gen_highpart_mode): New.
17768         * rtl.h (gen_highpart_mode): Declare.
17769         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
17770         operand can be VOIDmode constant.
17771
17772 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
17773
17774         * flow.c (redirect_edge_and_branch_force): New.
17775         (can_fallthru): Ensure that basic blocks are succeeding.
17776         (try_optimize_cfg): Do not delete basic block if it is the last one.
17777
17778         * flow.c (try_redirect_by_replacing_jump): Do not remove
17779         jumps with side effects, unlink chain on fallthru edge;
17780         set block for new jump instruction; avoid basic block to
17781         over by line number note.
17782
17783         * flow.c (try_simplify_condjump): Verify that the condjump
17784         is not always falling through.
17785
17786         Re-install patch:
17787         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17788
17789         * flow.c (forwarder_block_p): Fix for fallthru blocks.
17790         (try_redirect_by_replacing_jump): Update properly the count
17791         and frequency information.
17792
17793 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17794
17795         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
17796         address that is a LO_SUM specially.
17797         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
17798
17799         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
17800
17801         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
17802         (operand_subword): Use them.
17803         (change_address_1): Renamed from change_address; new arg VALIDATE.
17804         * expr.h: Reflect above changes; change_address now macro.
17805         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
17806         making MEM.
17807         * cselib.c (add_mem_for_addr): Likewise.
17808         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
17809         * regmove.c (try_apply_stack_adjustment): Likewise.
17810         * reload.c (push_reload, make_memloc): Likewise.
17811         * reload1.c (eliminate_regs): Likewise.
17812         * simplify-rtx.c (simplify_replace_rtx): Likewise.
17813         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
17814         adjust_addess.
17815         * combine.c (make_extraction, simplify_shift_const): Likewise.
17816         (gen_lowpart_for_combine): Likewise.
17817         * cse.c (gen_lowpart_if_possible): Likewise.
17818         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
17819         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
17820         * optabs.c (gen_move_insn): Likewise.
17821         * reload1.c (alter_reg): Likewise.
17822         * simplify-rtx.c (simplify_subreg): Likewise.
17823         * stmt.c (expand_anon_union_decl): Likewise.
17824         * recog.c (validate_replace_rtx_1): Likewise.
17825         (expr.h): Include.
17826         * Makefile.in (recog.o): Add $(EXPR_H).
17827         * explow.c (stabilize): Call replace_equiv_address.
17828         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
17829         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
17830
17831 2001-07-03  Andrew Haley  <aph@redhat.com>
17832
17833         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
17834         the mode of the memory location.
17835
17836 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
17837
17838         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
17839
17840 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
17841
17842         * final.c (output_addr_const): Use target opening and
17843         closing parentheses.
17844         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
17845         defaults, add to TARGET_ASM_OUT.
17846         * target.h (struct gcc_target): Add open_paren and close_paren.
17847         * doc/md.texi: Update.
17848         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
17849         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
17850         TARGET_ASM_CLOSE_PAREN.
17851         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17852         Override.
17853         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17854         Override.
17855         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
17856         * config/a29k/a29k.h: Similarly.
17857         * config/alpha/alpha.h: Similarly.
17858         * config/arc/arc.h: Similarly.
17859         * config/arm/aof.h: Similarly.
17860         * config/arm/aout.h: Similarly.
17861         * config/avr/avr.h: Similarly.
17862         * config/c4x/c4x.h: Similarly.
17863         * config/clipper/clipper.h: Similarly.
17864         * config/convex/convex.h: Similarly.
17865         * config/d30v/d30v.h: Similarly.
17866         * config/dsp16xx/dsp16xx.h: Similarly.
17867         * config/elxsi/elxsi.h: Similarly.
17868         * config/fr30/fr30.h: Similarly.
17869         * config/h8300/h8300.h: Similarly.
17870         * config/i370/i370.h: Similarly.
17871         * config/i386/i386.h: Similarly.
17872         * config/i860/i860.h: Similarly.
17873         * config/i960/i960.h: Similarly.
17874         * config/ia64/ia64.h: Similarly.
17875         * config/m32r/m32r.h: Similarly.
17876         * config/m68hc11/m68hc11.h: Similarly.
17877         * config/m68k/m68k.h: Similarly.
17878         * config/m88k/m88k.h: Similarly.
17879         * config/mcore/mcore.h: Similarly.
17880         * config/mips/mips.h: Similarly.
17881         * config/mn10200/mn10200.h: Similarly.
17882         * config/mn10300/mn10300.h: Similarly.
17883         * config/ns32k/ns32k.h: Similarly.
17884         * config/pa/pa.h: Similarly.
17885         * config/pdp11/pdp11.h: Similarly.
17886         * config/pj/pj.h: Similarly.
17887         * config/romp/romp.h: Similarly.
17888         * config/rs6000/rs6000.h: Similarly.
17889         * config/sh/sh.h: Similarly.
17890         * config/sparc/sparc.h: Similarly.
17891         * config/v850/v850.h: Similarly.
17892         * config/vax/vax.h: Similarly.
17893         * config/we32k/we32k.h: Similarly.
17894
17895 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
17896
17897         * doc/c-tree.texi: Document representation of attributes.
17898
17899 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17900
17901         * doc/tm.texi: Update some places for the rename of target to
17902         targetm.  Fix typo.
17903
17904 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17905
17906         * target.h (struct gcc_target): Add insert_attributes.
17907         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
17908         (TARGET_INITIALIZER): Update.
17909         * tree.c, tree.h (default_insert_attributes): New function.
17910         Update comments on other default functions to refer to targetm,
17911         not target.
17912         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
17913         TARGET_INSERT_ATTRIBUTES.
17914         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
17915         * c-common.c (decl_attributes): Use targetm.insert_attributes.
17916         Don't use PRAGMA_INSERT_ATTRIBUTES.
17917         * Makefile.in (c-common.o): Depend on $(TARGET_H).
17918         * c-decl.c (start_decl, start_function): Don't call
17919         SET_DEFAULT_DECL_ATTRIBUTES.
17920         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17921         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
17922         declare.
17923         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
17924         (c4x_check_attribute): Avoid modifying attribute list itself.
17925         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
17926         Make static.
17927         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
17928         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
17929         declare.
17930         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
17931         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
17932         Make static.
17933         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17934         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
17935         declare.
17936         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
17937         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
17938         Adjust parameters.  Make static.
17939
17940 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17941
17942         * c-common.c (decl_attributes): Only take a single attributes
17943         parameter.
17944         * c-common.h (decl_attributes): Update prototype.
17945         * c-decl.c (start_decl, start_function): Only take a single
17946         attributes parameter.  Update calls to decl_attributes.
17947         (finish_struct, finish_enum): Update calls to decl_attributes.
17948         (push_parm_decl): Expect unified list of attributes.  Update call
17949         to decl_attributes.
17950         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
17951         notype_nested_function, component_declarator,
17952         component_notype_declarator, label): Update calls to
17953         decl_attributes.
17954         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
17955         lists that are passed to push_parm_decl.
17956         * c-tree.h (start_function, start_decl): Update prototypes.
17957         * config/sh/sh-protos.h, config/sh/sh.c
17958         (sh_pragma_insert_attributes): Only take a single attributes
17959         parameter.
17960         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
17961         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
17962         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
17963         build_module_descriptor, generate_static_references,
17964         generate_strings, build_selector_translation_table,
17965         generate_descriptor_table, generate_protocols,
17966         generate_ivars_list, generate_dispatch_table,
17967         generate_protocol_list, generate_category,
17968         generate_shared_structures, really_start_method, add_objc_decls,
17969         generate_classref_translation_entry): Update calls to start_decl
17970         and start_function.
17971         (build_tmp_function_decl, start_method_def): Unify attribute lists
17972         that are passed to push_parm_decl.
17973
17974 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
17975
17976         * final.c (no_asm_to_stream): New.
17977         (final_scan_insn): Use target structures for prologue ends
17978         and epilogue starts.
17979         * output.h (no_asm_to_stream): New.
17980         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
17981         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
17982         (TARGET_ASM_OUT): Update.
17983         * target.h (struct gcc_target): New members function_end_prologue
17984         and function_begin_epilogue.
17985         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
17986         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
17987         * config/alpha/alpha.c (output_end_prologue): Rename to
17988         alpha_output_function_end_prologue.  Use in target struct
17989         and make static.
17990         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
17991         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
17992         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
17993         ia64_output_function_end_prologue.  Use in target struct
17994         and make static.
17995         (ia64_function_prologue, ia64_funciton_epilogue): Rename
17996         mistyped prototypes.
17997         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
17998         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
17999         Delete.
18000         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
18001         an use in target struct, make static.
18002         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18003         Delete.
18004
18005 2001-07-08  Richard Henderson  <rth@redhat.com>
18006
18007         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18008
18009 2001-07-08  Richard Henderson  <rth@redhat.com>
18010
18011         * config/i386/i386.md: Remove constraints strings from define_split
18012         and define_peephole2 patterns.
18013         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18014         (eh_return): Use them.
18015
18016 2001-07-08  Richard Henderson  <rth@redhat.com>
18017
18018         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18019         Document MD_FALLBACK_FRAME_STATE_FOR.
18020
18021 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18022
18023         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18024         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18025         elimination.
18026         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18027
18028 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
18029
18030         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18031         of the label inside NAME as opposed to just the end of NAME.
18032
18033 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
18034
18035         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18036         * config/alpha/alpha.c (alpha_init_machine_status,
18037         alpha_mark_machine_status, alpha_free_machine_status): Delete.
18038         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18039         (vms_valid_decl_attribute_p): Make static, conditionally compile.
18040         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18041
18042 2001-07-06  Stan Shebs  <shebs@apple.com>
18043
18044         * target.h (targetm): Rename global from "target", so as not to
18045         conflict with local variables.
18046         * c-decl.c: Ditto.
18047         * c-typeck.c: Ditto.
18048         * final.c: Ditto.
18049         * tree.c: Ditto.
18050         * cp/decl.c: Ditto.
18051         * cp/decl2.c: Ditto.
18052         * cp/typeck.c: Ditto.
18053         * 1750a/1750a.c: Ditto.
18054         * a29k/a29k.c: Ditto.
18055         * arc/arc.c: Ditto.
18056         * arm/arm.c: Ditto.
18057         * avr/avr.c: Ditto.
18058         * clipper/clipper.c: Ditto.
18059         * convex/convex.c: Ditto.
18060         * d30v/d30v.c: Ditto.
18061         * dsp16xx/dsp16xx.c: Ditto.
18062         * elxsi/elxsi.c: Ditto.
18063         * fr30/fr30.c: Ditto.
18064         * h8300/h8300.c: Ditto.
18065         * i370/i370.c: Ditto.
18066         * i386/i386.c: Ditto.
18067         * i860/i860.c: Ditto.
18068         * i960/i960.c: Ditto.
18069         * ia64/ia64.c: Ditto.
18070         * m32r/m32r.c: Ditto.
18071         * m68hc11/m68hc11.c: Ditto.
18072         * m68k/m68k.c: Ditto.
18073         * m88k/m88k.c: Ditto.
18074         * mips/mips.c: Ditto.
18075         * ns32k/ns32k.c: Ditto.
18076         * pa/pa.c: Ditto.
18077         * pdp11/pdp11.c: Ditto.
18078         * romp/romp.c: Ditto.
18079         * rs6000/rs6000.c: Ditto.
18080         * sh/sh.c: Ditto.
18081         * sparc/sparc.c: Ditto.
18082         * vax/vax.c: Ditto.
18083         * we32k/we32k.c: Ditto.
18084         * doc/tm.texi: Update the manual to match.
18085
18086 2001-07-06  Richard Henderson  <rth@redhat.com>
18087
18088         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18089         DWARF2_UNWIND_INFO not just whether it is defined.
18090
18091 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
18092
18093         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18094         call to simplify_binary_operation returns a new pattern.
18095
18096 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18097
18098         * glimits.h (__SHRT_MAX__): New.
18099         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18100         (SHRT_MAX): Define in terms of __SHRT_MAX__.
18101
18102 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
18103
18104         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18105         avoid warnings.
18106
18107 2001-07-06  Richard Henderson  <rth@redhat.com>
18108
18109         * bitmap.c (bitmap_release_memory): Move adjacent to the
18110         allocation functions.
18111         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18112         the implementation.  Binary search for the set bit.
18113         (bitmap_union_of_diff): Allocate the temporary on the stack
18114         instead of using xmalloc.
18115
18116 2001-07-06  Richard Henderson  <rth@redhat.com>
18117
18118         * genrecog.c (validate_pattern): Warn for constraints in
18119         define_{expand,split,peephole2}.  Remove strict_low_part
18120         before looking up match_dup.
18121
18122 2001-07-06  DJ Delorie  <dj@redhat.com>
18123
18124         * doc/gcc.texi (Makefile): Rename to be a more general purpose
18125         chapter about various build hints and history.  Add section
18126         talking about the various types of native and cross builds.
18127
18128 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18129
18130         * Makefile.in (final.o): Depend on target.h.
18131         * final.c: Include target.h.
18132         (default_function_pro_epilogue): New.
18133         (final_start_function): Use target structure for function prologues.
18134         (final_end_function): Use target structure for function epilogues.
18135         * fold-const.c (real_hex_to_f): Constify s and p.
18136         * output.h (default_function_pro_epilogue): New.
18137         * real.h (real_hex_to_f): Update prototype.
18138         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18139         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18140         (TARGET_INITIALIZER): Update.
18141         * target.h (gcc_target): Add struct asm_out.
18142         * doc/tm.texi: Update.
18143
18144 config:
18145         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18146         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18147         in cpu/cpu.c, or rename old functions consistently.  Take
18148         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18149         redundant macros and prototypes.  Make new functions static.
18150
18151         * 1750a/1750a.c: Similarly.
18152         * 1750a/1750a.h: Similarly.
18153         * a29k/a29k-protos.h: Similarly.
18154         * a29k/a29k.c: Similarly.
18155         * a29k/a29k.h: Similarly.
18156         * arc/arc-protos.h: Similarly.
18157         * arc/arc.c: Similarly.
18158         * arc/arc.h: Similarly.
18159         * arm/arm-protos.h: Similarly.
18160         * arm/arm.c: Similarly.
18161         * arm/arm.h: Similarly.
18162         * avr/avr-protos.h: Similarly.
18163         * avr/avr.c: Similarly.
18164         * avr/avr.h: Similarly.
18165         * clipper/clipper-protos.h: Similarly.
18166         * clipper/clipper.c: Similarly.
18167         * clipper/clipper.h: Similarly.
18168         * convex/convex.c: Similarly.
18169         * convex/convex.h: Similarly.
18170         * d30v/d30v-protos.h: Similarly.
18171         * d30v/d30v.c: Similarly.
18172         * d30v/d30v.h: Similarly.
18173         * d30v/d30v.md: Similarly.
18174         * dsp16xx/dsp16xx-protos.h: Similarly.
18175         * dsp16xx/dsp16xx.c: Similarly.
18176         * dsp16xx/dsp16xx.h: Similarly.
18177         * elxsi/elxsi.c: Similarly.
18178         * elxsi/elxsi.h: Similarly.
18179         * fr30/fr30.c: Similarly.
18180         * fr30/fr30.md: Similarly.
18181         * h8300/h8300-protos.h: Similarly.
18182         * h8300/h8300.c: Similarly.
18183         * h8300/h8300.h: Similarly.
18184         * i370/i370-protos.h: Similarly.
18185         * i370/i370.c: Similarly.
18186         * i370/i370.h: Similarly.
18187         * i386/i386.c: Similarly.
18188         * i386/osf1elf.h: Similarly.
18189         * i386/osfrose.h: Similarly.
18190         * i860/i860-protos.h: Similarly.
18191         * i860/i860.c: Similarly.
18192         * i860/i860.h: Similarly.
18193         * i960/i960-protos.h: Similarly.
18194         * i960/i960.c: Similarly.
18195         * i960/i960.h: Similarly.
18196         * ia64/ia64-protos.h: Similarly.
18197         * ia64/ia64.c: Similarly.
18198         * ia64/ia64.h: Similarly.
18199         * m32r/m32r-protos.h: Similarly.
18200         * m32r/m32r.c: Similarly.
18201         * m32r/m32r.h: Similarly.
18202         * m68hc11/m68hc11-protos.h: Similarly.
18203         * m68hc11/m68hc11.c: Similarly.
18204         * m68hc11/m68hc11.h: Similarly.
18205         * m68k/crds.h: Similarly.
18206         * m68k/dpx2.h: Similarly.
18207         * m68k/m68k-protos.h: Similarly.
18208         * m68k/m68k.c: Similarly.
18209         * m68k/m68k.h: Similarly.
18210         * m68k/news.h: Similarly.
18211         * m88k/m88k-protos.h: Similarly.
18212         * m88k/m88k.c: Similarly.
18213         * m88k/m88k.h: Similarly.
18214         * mips/mips-protos.h: Similarly.
18215         * mips/mips.c: Similarly.
18216         * mips/mips.h: Similarly.
18217         * ns32k/merlin.h: Similarly.
18218         * ns32k/ns32k.c: Similarly.
18219         * ns32k/ns32k.h: Similarly.
18220         * ns32k/tek6000.h: Similarly.
18221         * pa/pa-protos.h: Similarly.
18222         * pa/pa.c: Similarly.
18223         * pa/pa.h: Similarly.
18224         * pdp11/2bsd.h: Similarly.
18225         * pdp11/pdp11-protos.h: Similarly.
18226         * pdp11/pdp11.c: Similarly.
18227         * pdp11/pdp11.h: Similarly.
18228         * romp/romp-protos.h: Similarly.
18229         * romp/romp.c: Similarly.
18230         * romp/romp.h: Similarly.
18231         * rs6000/rs6000-protos.h: Similarly.
18232         * rs6000/rs6000.c: Similarly.
18233         * rs6000/rs6000.h: Similarly.
18234         * rs6000/sysv4.h: Similarly.
18235         * sh/sh-protos.h: Similarly.
18236         * sh/sh.c: Similarly.
18237         * sh/sh.h: Similarly.
18238         * sparc/sparc-protos.h: Similarly.
18239         * sparc/sparc.c: Similarly.
18240         * sparc/sparc.h: Similarly.
18241         * vax/vax.c: Similarly.
18242         * vax/vax.h: Similarly.
18243         * vax/vms.h: Similarly.
18244         * we32k/we32k.c: Similarly.
18245         * we32k/we32k.h: Similarly.
18246
18247 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18248
18249         * basic-block.h (first_insn_after_basic_block_note): Declare.
18250         * flow.c (first_insn_after_basic_block_note): Define.  Moved
18251         from...
18252         * ssa.c (first_insn_after_basic_block_note): Remove.
18253         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
18254         necessary.
18255         (ssa_eliminate_dead_code): Properly update the CFG and PHI
18256         nodes when we find a dead conditional branch.  Insert BARRIERs
18257         after any blocks with no successors, but which do not have
18258         any BARRIERs.
18259
18260 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
18261
18262         * varray.c (varray_check_failed): Use internal_error.
18263
18264 2001-07-05  Andrew Haley  <aph@redhat.com>
18265
18266         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
18267         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
18268         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
18269
18270 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
18271
18272         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
18273         reference if the target constant is also a SYMBOL_REF.
18274
18275 2001-07-05  Eric Christopher  <echristo@redhat.com>
18276
18277         * config/mips/mips.h (MASK_MIPS3900): Remove.
18278         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
18279         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
18280         (TARGET_MIPS3900): Change to use mips_arch.
18281         (TARGET_MIPS4000): New.
18282         (TARGET_MIPS4100): New.
18283         (TARGET_MIPS4300): New.
18284         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
18285         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
18286         for -mipsX.
18287         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
18288         (ISA_HAS_BRANCHLIKELY): To here.
18289         (CC1_CPU_SPEC):  New.
18290         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
18291         (mips_arch_string): Declare.
18292         (mips_arch): Declare.
18293         (TARGET_OPTIONS): Add -march and -mtune.
18294
18295         * config/mips/mips.c (mips_arch_string): New.
18296         (mips_arch): New.
18297         (override_options): Handle -march for codegen and -mtune
18298         for scheduling. Use mips_arch. Move tx39 target default here.
18299         (mips_parse_cpu): Move error message to override_options.
18300
18301         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
18302
18303         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
18304
18305         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
18306         (MIPS Options): Ditto.  Change mcpu entry to historical text.
18307
18308 2001-07-05  H.J. Lu  (hjl@gnu.org)
18309
18310         * config/mips/mips.c (mips_parse_cpu): New function to parse
18311         -march=*/-mcpu=*.
18312
18313 2001-07-05  Jim Wilson  <wilson@redhat.com>
18314
18315         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
18316         * config/ia64/t-ia64: Likewise.
18317         (LIB1ASMFUNCS): Update comment.
18318
18319 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
18320
18321         * doc/install.texi (Install GCC: Binaries): Fix typo.
18322
18323 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18324
18325         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
18326         reference using the stack pointer, adjust it since we push Y
18327         temporarily.
18328         ("*ashrsi3"): Likewise.
18329         ("*lshrsi3"): Likewise.
18330
18331 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18332
18333         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
18334         when -fomit-frame-pointer is used.
18335
18336 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
18337
18338         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
18339         (try_redirect_by_replacing_jump): Reverse updating properly the
18340         count and frequency information.  Reverse removing cc0 setter.
18341         (forwarder_block_p): Reverse fixing for fallthru blocks.
18342
18343 2001-07-05  DJ Delorie  <dj@redhat.com>
18344
18345         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
18346         (translate_options): If the above is defined, use it to map
18347         given options to new options.
18348         * doc/tm.texi: Document it.
18349
18350 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
18351             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18352
18353         * doc/invoke.texi (Optimize Options): Document that -fgcse may
18354         cause programs using computed gotos to run more slowly.
18355
18356 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18357
18358         * doc/install.texi (Specific): Markup, spelling and typo fixes.
18359         Fixed sorting.
18360         Consistently require binutils 2.11.2, not prereleases.
18361         (Specific, decstation-*): Canonicalize as mips-dec-*.
18362         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
18363         always necessary.
18364         (Specific, m68k-altos): Removed reference to README.altos, deleted.
18365         (Specific, mips-*): Reword MIPS C compiler requirements.
18366         (Specific, powerpc*-*-*): New, mention --with-cpu once.
18367         (Specific, sunv5): Removed, obsolete.
18368
18369 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18370
18371         * dwarf2out.c (output_loc_list): Use an all ones mask for
18372         .text asm output and don't rely on long long
18373         literals. Reformat some long lines.
18374
18375 2001-07-05  Andreas Jaeger  <aj@suse.de>
18376
18377         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
18378         section.
18379
18380 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18381
18382         * dwarf2out.c (dwarf2out_define): Update comment.
18383         (dwarf2out_undef): Ditto.
18384         (dwarf2out_start_source_file): Ditto.
18385         (dwarf2out_end_source_file): Ditto.
18386         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
18387         since we never call the start/end debug hook for the primary file.
18388
18389 2001-07-04  Kazu Hirata  <kazu@hxi.com>
18390
18391         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
18392         from shll.
18393
18394 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18395
18396         * cppinit.c (remove_dup_dirs): Inform if a system include
18397         directory is being reordered.
18398         * doc/invoke.texi (Directory Options): GCC warns if you hide a
18399         system include.
18400         * doc/cpp.texi (Search Paths): Likewise.
18401         * doc/gcc.texi (Interoperation): Remove information about
18402         -I/usr/include.
18403
18404 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18405
18406         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
18407         (VARRAY_TOP_CHAR_PTR): Likewise.
18408
18409 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18410
18411         * gcc.c (process_command): Don't assign elements of a const char*.
18412
18413 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18414
18415         * emit-rtl.c (change_address): Don't abort if invalid address while
18416         reload is in progress.
18417
18418 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18419
18420         * c-lex.c (cb_file_change): Pass line number to
18421         debug_start_source_file.
18422         (cb_undefine): Pass correct line number to debug_undef.
18423
18424         * toplev.c (debug_start_source_file): Add line number to
18425         parameters. Pass it along to dwarf2out_start_source_file.
18426         (decode_g_option): Stop resetting debug level back to normal when
18427         we change debug formats, unless the current level is
18428         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
18429         3).
18430
18431         * toplev.h (debug_start_source_file): Add line number to
18432         parameters.
18433
18434         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
18435         parameters.
18436
18437         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
18438         parameters.
18439         Output debug_macinfo data for starting file if requested.
18440         (dwarf2out_end_source_file): Output debug_macinfo data for ending
18441         file if requested.
18442         (dwarf2out_define): Output debug_macinfo data for defining a macro
18443         if requested.
18444         (dwarf2out_undef): Output debug_macinfo data for undefining a
18445         macro if requested.
18446         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
18447         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
18448         (macinfo_section_label): New. DWARF2 macro info section label.
18449         (dwarf2out_init): If we want macro info, output the start label
18450         for the section.
18451         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
18452         attribute to the compilation unit die pointing to the macro info.
18453
18454 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18455
18456         * dwarf2out.c (new_loc_list): Move to inside #ifdef
18457         DWARF2_DEBUGGING_INFO.
18458         (add_loc_descr_to_loc_list): Ditto.
18459         (output_loc_list): Ditto.
18460         Also, fix thinko in curr not being initialized.
18461         (gen_internal_sym): Ditto.
18462
18463 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18464
18465         * emit-rtl.c (replace_equiv_address): New function.
18466         * expr.h (replace_equiv_address): New declaration.
18467         * explow.c (validize_mem): Call it instead of change_address and
18468         also call if -fforce-addr and address is constant.
18469         * expr.c: Replace more calls to change_address with adjust_address
18470         and/or replace_equiv_address or to validize_mem.
18471         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
18472         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
18473         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18474         * config/i370/i370.md, config/i860/i860.md: Likewise.
18475         * config/i960/i960.md, config/mips/mips.c: Likewise.
18476         * config/mips/mips.md, config/pa/pa.md: Likewise.
18477         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
18478         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
18479
18480 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18481
18482         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
18483
18484         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
18485         function.
18486
18487 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
18488
18489         * doc/include: New directory.
18490         * doc/fdl.texi: Move to doc/include/fdl.texi.
18491         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
18492         * doc/include/funding.texi, doc/include/gpl.texi: New files.
18493         * doc/gcc.texi: Use funding.texi and gpl.texi.
18494         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
18495         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
18496         Update dependencies and use -I $(docdir)/include.
18497
18498 2001-07-04  Anthony Green  <green@redhat.com>
18499
18500         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
18501
18502 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18503
18504         * doc/install.texi (sparc64-*-*): Remove garbage.
18505
18506 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
18507
18508         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
18509         Fix typo in last change to use adjust_address.
18510
18511 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18512
18513         * doc/install.texi (Specific): Update information for *-*-solaris*.
18514
18515 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18516
18517         * explow.c (plus_constant_wide): Reinitialize Y for restart.
18518
18519 2001-07-03  Stan Shebs  <shebs@apple.com>
18520
18521         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
18522         case for flag_no_mach_text_sections.
18523         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
18524         * config/darwin.c (flag_no_mach_text_sections): Remove.
18525         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
18526
18527 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18528
18529         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
18530         and avoid checking for constant as first operand.
18531         * recog.c (find_constant_term_loc): No longer static.
18532         (adj_offettable_operand): Delete.
18533         * rtl.h (adj_offsettable_operand): Delete declaration.
18534         (find_constant_term): Add declaration.
18535         * caller-save.c: Replace calls to adj_offsettable_operand with calls
18536         to adjust_address.
18537         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
18538         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
18539         * config/i386/i386.c, config/i386/i386.md: Likewise.
18540         * config/i860/i860.c, config/i960/i960.c: Likewise.
18541         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
18542         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
18543         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
18544         * config/mips/mips.c, config/mips/mips.md: Likewise.
18545         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
18546         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
18547         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
18548         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
18549         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
18550         * config/ns32k/ns32k.md: Likewise.
18551
18552 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
18553
18554         * rtl.c (copy_rtx): Handle 'T' format letter.
18555         * gensupport.c (collect_insn_data): Likewise.
18556         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
18557
18558 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
18559
18560         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
18561         -B option.  Use 'dir' not 'foo' as example directory name.
18562
18563 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18564
18565         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18566         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
18567
18568 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18569
18570         * doc/cppinternals.texi: Improve formatting and logical markup.
18571
18572 2001-07-03  Andreas Jaeger  <aj@suse.de>
18573
18574         * Makefile.in (insn-recog.o): Add dependency on reload.h.
18575
18576         * genrecog.c (write_header): Include reload.h for prototypes in
18577         insn-recog.c.
18578
18579 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
18580
18581 config:
18582         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
18583         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18584         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
18585         i386_pe_valid_type_attribute_p): Add.
18586         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
18587         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
18588
18589 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18590
18591         * explow.c (plus_constant_wide, case LO_SUM): New case.
18592         (plus_constant_for_output_wide): Delete.
18593         * rtl.h (plus_constant_for_output): Delete.
18594         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
18595         instead of plus_constant_for_output.
18596         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
18597         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
18598         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
18599         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
18600         * config/sparc/sparc.md: Likewise.
18601         Convert some change_address calls to adjust_address.
18602
18603 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18604
18605         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
18606         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
18607         documentation of -std and -Wwrite-strings.
18608
18609 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18610
18611         * cse.c (canon_hash): Don't register registers in very small
18612         register classes, as extending their lifetime might cause
18613         reload to fail.
18614
18615 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18616
18617         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18618
18619         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18620         (try_redirect_by_replacing_jump): Update properly the count
18621         and frequency information.
18622
18623 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
18624
18625         * toplev.c (dump_file_index): Move SSA dumps just after first
18626         jump dump.
18627         (dump_file): Corresponding changes.
18628         (rest_of_compilation): Move SSA path to just after the first
18629         jump pass.
18630         * doc/gcc.texi (Passes): Update due to movement of SSA path.
18631         * doc/invoke.texi: Update dump file #s as they were completely
18632         out of date with reality.
18633
18634 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18635
18636         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
18637
18638         * expr.c (emit_move_insn_1): Deal with non-default
18639         STACK_PUSH_CODE.
18640
18641         * expr.c (emit_single_push_insn): Fix warning.
18642
18643 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18644
18645         * expr.c (emit_move_insn_1): Avoid modifying
18646         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
18647
18648 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18649
18650         * emit-rtl.c (adjust_address): New function.
18651         * expr.h (adjust_address): Add declaration.
18652         * builtins.c: Replace some calls to change_address with calls to it
18653         or to validize_mem.
18654         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
18655         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
18656         * config/arm/arm.c, config/convex/convex.c: Likewise.
18657         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18658         * config/i386/i386.c, config/i386/i386.md: Likewise.
18659         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
18660         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
18661         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
18662         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
18663         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
18664
18665 2001-07-02  Jim Wilson  <wilson@redhat.com>
18666
18667         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
18668
18669 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
18670
18671         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
18672         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
18673
18674 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18675
18676         * cppinit.c (lang_defaults): New table.
18677         (set_lang): Just read from lang_defaults into the live options
18678         structure.
18679
18680 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18681
18682         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
18683         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
18684         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
18685
18686 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18687
18688         * doc/install.texi: Various spelling and markup fixes.
18689         (Installing GCC): Component specific installation instructions are
18690         gone.
18691         Fix reference.
18692         Warn about removing old install dir in the presence of shared libs.
18693         (Configuration): Invoke with options target to match configure
18694         --help.
18695         Consistently refer to gas, gld pathnames.
18696         Invert --enable-multilib documentation.
18697         Remove references to old compiler versions.
18698
18699 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18700
18701         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
18702
18703 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18704
18705         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
18706         section.
18707         (Specific, mips*-sgi-irix5): Note IDO download.
18708         Reworded MIPS C hints.
18709         Use GNU as instead of GAS.
18710         Markup fixes.
18711         Removed SGI Freeware reference, IRIX 6 only.
18712         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
18713         Note N64 library requirement/workaround.
18714         Update O32 hints.
18715         Complete list of structure passing bug victims.
18716
18717 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18718
18719         * doc/install.texi: Remove CVS Id.
18720
18721 2001-07-02  Andreas Jaeger  <aj@suse.de>
18722
18723         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
18724         (find_inherently_necessary): Remove unused variable.
18725
18726 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
18727
18728         * c-common.h (TDI_inlined): New ast dump phase.
18729         (dump_flag_name): New function.
18730         * c-dump.c (dump_files): Add inlined phase.
18731         (dump_flag_name): Define.
18732         * doc/invoke.texi (-fdump-ast-inlined): Document.
18733
18734 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18735
18736         * stor-layout.c (layout_decl): Revert change to handling of alignment
18737         in packed types.
18738
18739 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18740
18741         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
18742         for FIELD_DECL.
18743
18744 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
18745
18746         * doc/tm.texi (FUNCTION_ARG): Document that the last call
18747         is special.
18748
18749 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
18750
18751         * tlink.c (recompile_files): Remove COMPILER_PATH and
18752         LIBRARY_PATH from the environment.
18753
18754 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
18755
18756         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
18757         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
18758         enumerators.
18759         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
18760
18761         * c-parse.in (OBJC_STRING): Kill.
18762         (objc_string): Decompose to [objc_string] '@' STRING.
18763         (reswords): Take the leading '@' off all the Objective C keywords.
18764         (objc_rid_sans_at): Kill.
18765         (init_reswords): Don't initialize it.
18766         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
18767         (_yylex): Kill reconsider label.  Look ahead one token after
18768         an '@'; if we get an identifier, check whether it's an
18769         Objective C @-keyword.  If so, return the keyword.  Otherwise,
18770         put back the token and return the '@' as a terminal.
18771
18772         * cpplib.c (lex_macro_node): Remove unnecessary check for
18773         leading '@' on identifier.  Clarify control flow and commentary.
18774
18775 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18776
18777         * cse.c (new_label_ref): Variable deleted.
18778         (insert): Remove set of new_label_ref.
18779         (check_for_label_ref): New function.
18780         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
18781
18782 See ChangeLog.5 for earlier changes.