OSDN Git Service

(arm_output_epilogue): Update stack pointer when popping saved IP register
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-30  Nick Clifton  <nickc@redhat.com>
2
3         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
4         when popping saved IP register off the stack.
5
6 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
7
8         * config/rs6000/aix43.h: Fix comment typos.
9         * config/rs6000/aix51.h: Likewise.
10         * config/rs6000/aix52.h: Likewise.
11         * config/rs6000/altivec.h: Likewise.
12         * config/rs6000/rs6000.c: Likewise.
13         * config/rs6000/rs6000.h: Likewise.
14         * config/rs6000/rs6000.md: Likewise.
15         * config/rs6000/spe.md: Likewise.
16
17 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
18
19         * c-common.c (builtin_define_float_constants): Define
20         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
21
22 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
23
24         * config/sh/lib1funcs.asm: Fix comment typos.
25         * config/sh/linux.h: Likewise.
26         * config/sh/sh.c: Likewise.
27         * config/sh/sh.md: Likewise.
28
29 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
30
31         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
32
33 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
34
35         * config/fp-bit.h (__make_dp): Declare if TMODES.
36
37 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
38
39         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
40         general_operand_src and general_operand_dst.
41
42 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
43
44         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
45         Return true for variable sized types.
46         (rs6000_va_arg): Handle variable sized types passed by reference
47         on non-SVR4 ABI.
48
49 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
50
51         * arm.c (arm_legtimize_address): New function.
52         * arm-protos.h (arm_legtimize_address): Add prototype.
53         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
54         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
55         do ... while (0)
56
57 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
58
59         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
60         depended on it being defined until now. This was tracked as PR9296.
61
62 2003-01-13  Joel Sherrill  <joel@OARcorp.com>
63
64         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
65         RTEMS code knows which C++ initialization style the toolset
66         configuration is using. This was tracked as PR9295.
67
68 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
69
70         * config/m68k/t-crtstuff: Replace spaces with tabs, add 
71          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
72         This issue was tracked as PR9293.
73
74 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
75
76         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
77         RTEMS threads.
78         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
79         This issue was tracked as PR9292.
80
81 2003-01-29  Nick Clifton  <nickc@redhat.com>
82
83         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
84         not $(srcdir).
85
86 2003-01-29  Andrew Haley  <aph@redhat.com>
87
88         * tree-inline.c (walk_tree): Add CHAR_TYPE.
89
90 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
91
92         * i386.md (subdi3_carry_rex64): Fix typo.
93
94 2003-01-28  Stan Shebs  <shebs@apple.com>
95
96         * coretypes.h (cpp_reader): Forward declare struct.
97         * c-pragma.h (cpp_reader): Remove forward declaration.
98         * hashtable.h (cpp_reader): Likewise.
99         * scan.h (cpp_reader): Likewise.
100         * tree.h (cpp_reader): Likewise.
101         * config/darwin-protos.h (cpp_reader): Likewise.
102         * config/arm/arm-protos.h (cpp_reader): Likewise.
103         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
104         struct cpp_reader in prototypes.
105
106 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
107
108         * doc/install.texi: Add documentation for installation into
109         tooldirs and with DESTDIR.
110
111 2003-01-28  Richard Henderson  <rth@redhat.com>
112
113         * config.gcc (ia64*-*-aix*): Remove.
114         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
115         * config/ia64/unwind-aix.c: Remove file.
116
117 2003-01-28  Andreas Schwab  <schwab@suse.de>
118
119         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
120         register.
121         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
122         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
123         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
124         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
125         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
126         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
127         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
128
129 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
130
131         * combine.c (nonzero_bits): Fix check for negative divide operands.
132
133 2003-01-28  Richard Henderson  <rth@redhat.com>
134
135         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
136         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
137
138 2003-01-28  Richard Henderson  <rth@redhat.com>
139
140         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
141
142         * config/cris/cris.c (cris_address_cost): Make static.
143         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
144         * config/cris/cris.h (ADDRESS_COST): Remove.
145         * config/cris/cris-protos.h: Update.
146
147 2003-01-23  Mike Stump  <mrs@apple.com>
148
149         * regclass.c (init_reg_autoinc): New function.
150         (regclass): Move initialization of forbidden_inc_dec_class from
151         here...
152         (init_regs): to here.  Avoids reinitialization for each function,
153         saving compilation time.
154
155 2003-01-28  Jason Merrill  <jason@redhat.com>
156
157         * cpplib.h (struct cpp_options): Add warn_deprecated field.
158         * cppinit.c (cpp_create_reader): Turn it on by default.
159         * c-opts.c (c_common_decode_option): Set it.
160         * cpplib.c (do_pragma_once): Only complain about #pragma once
161         if warn_deprecated is set.
162
163 2003-01-28  Dale Johannesen  <dalej@apple.com>
164
165         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
166         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
167         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
168
169 2003-01-28  Richard Henderson  <rth@redhat.com>
170
171         * target.h (targetm.address_cost): New.
172         * target-def.h (TARGET_ADDRESS_COST): New.
173         (TARGET_RTX_COSTS): Uncomment.  Oops.
174         * cse.c (address_cost): Use new target hook.
175         (default_address_cost): New.
176         * output.h (default_address_cost): Declare.
177         * hooks.c (hook_int_rtx_0): New.
178         * hooks.h (hook_int_rtx_0): Declare.
179         * loop.c (combine_givs_p): Remove if 0 code.
180         * system.h (ADDRESS_COST): Poison.
181
182         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
183         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
184         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
185         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
186         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
187         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
188         config/xtensa/xtensa.c, config/xtensa/xtensa.h
189         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
190         (ADDRESS_COST): Remove.
191
192         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
193         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
194         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
195         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
196         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
197         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
198         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
199         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
200         config/mips/mips.c, config/mips/mips.h, 
201         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
202         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h, 
203         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
204         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
205         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
206         config/vax/vax.c, config/vax/vax.h
207         (foo_address_cost): Make static.
208         (TARGET_ADDRESS_COST): New.
209         (ADDRESS_COST): Remove.
210
211         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
212         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
213         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
214         config/stormy16/stormy16.h
215         (ADDRESS_COST): Move code ...
216         (foo_address_cost): ... here.
217         (TARGET_ADDRESS_COST): New.
218
219         * config/m32r/m32r.c (m32r_address_cost): Remove.
220         * config/m32r/m32r-protos.h: Update.
221
222         * config/mmix/mmix.c (mmix_address_cost): Remove.
223         * config/mmix/mmix-protos.h: Update.
224
225         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
226         mn10300_address_cost; move unsig allocation ...
227         (mn10300_address_cost): ... here.
228         (TARGET_ADDRESS_COST): New.
229         * config/mn10300/mn10300-protos.h: Update.
230         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
231
232         * doc/tm.texi: Update.
233
234 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
235
236         * haifa-sched.c (schedule_insn): Return necessary cycle advance
237         after issuing the insn.
238         (rank_for_schedule): Make a insn with /S the highest priority
239         insn.
240         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
241         (choose_ready): Check SCHED_GROUP_P.
242         (schedule_block): Advance cycle after issuing insn if it is
243         necessary.  Don't reorder insns if there is an insn with /S.
244         (set_priorities): Ignore schedule groups.
245
246         * sched-deps.c (remove_dependence, group_leader): Remove the
247         functions.
248         (add_dependence): Ignore schedule groups.
249         (set_sched_group_p): Don't make copy of dependencies from previous
250         insn of the schedule group.  Add anti-dependency to the previous
251         insn of the schedule group.
252         (compute_forward_dependences): Ignore schedule groups.
253
254         * sched-ebb.c (init_ready_list): Ignore schedule groups.
255
256         * sched-rgn.c (init_ready_list): Ditto.
257         (can_schedule_ready_p): Ditto.
258         
259 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
260
261         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
262         register to another one.
263
264 2003-01-28  Richard Henderson  <rth@redhat.com>
265
266         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
267
268 2003-01-28  Roger Sayle  <roger@eyesopen.com>
269
270         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
271
272 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
273
274         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
275         class contains a floating-point register, return the size of the
276         mode in half words.
277
278 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
279
280         * i386.c (ix86_carry_flag_operator):  New predicate.
281         (fcmov_operator): Fix whitespace.
282         (ix86_expand_carry_flag_compare):  Deal with floating point.
283         (ix86_expand_int_movcc): Deal with fp; update insn expansion
284         (ix86_expand_int_addcc): Likewise.
285         (ix86_expand_strlensi_unroll_1): likewsie.
286         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
287         * i386.md (add?i_carry_rex64): Use new predicate.
288         (sub?i3_carry_rex64): Likewise.
289         (x86_mov?icc_0_m1*): Likewise.
290
291 2003-01-28  Andreas Schwab  <schwab@suse.de>
292
293         * cfgloopmanip.c (create_preheader): Initialize src to avoid
294         warning.
295
296         * expmed.c (emit_store_flag): Fix cast to avoid sign
297         comparison warning.
298
299         * combine.c (force_to_mode): Add cast to fix warning when
300         STORE_FLAG_VALUE is negative.
301
302 2003-01-27  Richard Henderson  <rth@redhat.com>
303
304         * Makefile.in (cse.o): Depend on TARGET_H.
305         * cse.c (rtx_cost): Use targetm.rtx_costs.
306         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
307         * doc/tm.texi: Update.
308         
309         * target.h (targetm.rtx_costs): New.
310         * target-def.h (TARGET_RTX_COSTS): New.
311         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
312         * hooks.h: Update.
313
314         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
315         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
316         * config/alpha/alpha.h (PROCESSOR_MAX): New.
317         (CONST_COSTS, RTX_COSTS): Remove.
318
319         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
320         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
321         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
322         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
323         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
324         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
325         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
326         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
327         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
328         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
329         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
330         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
331         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
332         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
333         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
334         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
335         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
336         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
337         config/v850/v850.c, config/v850/v850.h,
338         config/xtensa/xtensa.c, config/xtensa/xtensa.h
339         (CONST_COSTS, RTX_COSTS): Move code ...
340         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
341
342         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
343         (arm_rtx_costs, TARGET_RTX_COSTS): New.
344         * config/arm/arm-protos.h: Update.
345         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
346
347         * config/avr/avr.h (CONST_COSTS): Move code ...
348         * config/avr/avr.c (avr_rtx_costs): ... here.
349         (default_rtx_costs): Make static.
350         * config/avr/avr-protos.h: Update.
351
352         * config/h8300/h8300.c (const_costs): Make static.
353         (h8300_and_costs, h8300_shift_costs): Likewise.
354         * config/h8300/h8300-protos.h: Update.
355
356         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
357         (CONST_COSTS): Move code ...
358         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
359         default_rtx_costs; update for signature change.
360         * config/ip2k/ip2k-protos.h: Update.
361
362         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
363         (CONST_COSTS): Move code ...
364         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
365         (TARGET_RTX_COSTS): New.
366         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
367         * config/m68hc11/m68hc11-protos.h: Update.
368
369         * config/m68k/m68k.c (const_int_cost): Make static.
370         * config/m68k/m68k-protos.h: Update.
371
372         * config/mcore/mcore.c (mcore_const_costs): Make static.
373         (mcore_and_cost, mcore_ior_cost): Likewise.
374         * config/mcore/mcore-protos.h: Update.
375
376         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
377         (mmix_rtx_cost_recalculated): Remove.
378         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
379         * config/mmix/mmix-protos.h: Update.
380
381         * config/sh/sh.c (shiftcosts): Make static.
382         (addsubcosts, andcosts, multcosts): Likewise.
383         * config/sh/sh-protos.h: Update.
384
385         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
386         (sparc_rtx_costs): Make static; update for change in signature.
387         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
388         * config/sparc/sparc-protos.h: Update.
389
390         * config/v850/v850.c (const_costs): Make static.
391         * config/v850/v850-protos.h: Update.
392
393         * config/vax/vax.h (RTX_COSTS): Remove.
394         (CONST_COSTS): Move code ...
395         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
396         from vax_rtx_cost.
397         (vax_rtx_costs, TARGET_RTX_COSTS): New.
398
399 2003-01-27  Richard Henderson  <rth@redhat.com>
400
401         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
402         * config/vax/vax-protos.h: Update.  Really.
403
404 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
405
406         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
407         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
408         zero if no hardware floating point.
409         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
410         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
411         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
412         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
413         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
414         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
415         even FP registers on N32 and N64.
416         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
417         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
418         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
419         even-register-like alignment to 128-bit arguments.
420         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
421         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
422         on N32 or N64.
423         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
424         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
425         (TPBIT): Set to tp-bit.c.
426         (tp-bit.c): Create out of fp-bit.c.
427
428 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
429
430         * c-parse.in: Remove '%expect 32' directive in objc mode.
431
432 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
433
434         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
435         (LIBGCOV): New variable.
436         (libgcc.mk): Add LIBGCOV.
437         (LIBGCC_DEPS): Add libgcov.c.
438         (libgcov.a): New target.
439         (clean): Remove libgcov.a.
440         (install-libgcc): Do libgcov too.
441         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
442         with libgcov.a.
443         * libgcc2.c (L_gcov): Move into ...
444         * libgcov.c: ... here. New file.
445         * mklibgcc.in: Add libgcov rules.
446         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
447
448         * doc/invoke.texi (profile-arcs, test-coverage): Update and
449         clarify.
450         
451         * profile.c (index_counts_file): Remove duplicate check for open file.
452
453 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
454
455         * gcc/doc/invoke.texi (Optimization Options): Group together
456         optional and experimental flags.  Move trapv and bounds-check
457         out of this section.  Group floating point flags together.
458         (Code Gen Options): Move trapv and bounds-check to here.
459
460 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
461
462         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
463
464 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
465
466         PR optimization/9090
467         * function.c (purge_addressof_1): After pushing an addressed register
468         onto the stack, simplify the result.
469
470 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
471
472         * doc/extend.texi: Fix typo.
473
474 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
475
476         * doc/cppopts.texi: Fix typo.
477         * doc/objc.texi: Likewise.
478         * doc/passes.texi: Likewise.
479
480 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
481
482         * real.c (ibm_extended_format): Add 53 to minimum exponent.
483         (encode_ibm_extended): Adjust.
484
485 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
486
487         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
488         timevar_id enumerations.
489
490 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
491
492         * combine.c: Fix formatting.
493
494 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
495
496         * doc/gccint.texi: Update the copyright.
497
498 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
499
500         * doc/cpp.texi: Fix typos.
501         * doc/extend.texi: Likewise.
502         * doc/gty.texi: Likewise.
503         * doc/install.texi: Likewise.
504         * doc/passes.texi: Likewise.
505         * doc/rtl.texi: Likewise.
506         * doc/tm.texi: Likewise.
507
508 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
509
510         * config/ia64/fde-glibc.c: Fix comment typos.
511         * config/ia64/hpux.h: Likewise.
512         * config/ia64/ia64.c: Likewise.
513         * config/ia64/ia64.h: Likewise.
514         * config/ia64/unwind-ia64.c: Likewise.
515
516 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
517
518         * config/i386/i386-modes.def: Fix comment typos.
519         * config/i386/i386.c: Likewise.
520         * config/i386/i386.md: Likewise.
521
522 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
523
524         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
525         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
526         ASM_FINISH_DECLARE_OBJECT before defining it.
527         * toplev.c (rest_of_decl_compilation):  Don't define
528         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
529         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
530         parameters for DWARF2 targets because they _are_ used.
531
532 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
533
534         * fp-bit.h: Define macros for TFmode floating-point constants
535         in IBM-extended TFmode types.
536         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
537         widths.
538         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
539         TFmode type.
540
541         * config/fp-bit.h: Define macros for TFmode floating-point
542         constants in IEEE quad TFmode type.  Declare functions according
543         to L_ macros.
544         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
545         (TFtype, TItype, UTItype): Define if TMODES is defined.
546         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
547         (F_T_BITOFF, D_T_BITOFF): Define.
548         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
549         guaranteed to be wide enough.
550         * config/fp-bit.c: Check for L_ macros for tf functions.
551         (__thenan_tf): New.
552         (nan): Adjust.
553         (pack_d, unpack_d): Support IEEE 854 quad type.
554         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
555         from FRAC_NBITS, FRAC_BITS and NGARDS.
556         (usi_to_float): Cast constants to be shifted to fractype
557         instead of assuming long long is wide enough.
558         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
559
560 2003-01-26  Andreas Jaeger  <aj@suse.de>
561
562         * df.c: Remove prototype of unused function df_regno_rtl_debug.
563
564 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
565
566         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
567         (DBBIT_FUNCS): Added _df_to_tf.
568         (TPBIT_FUNCS): New.
569         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
570         (LIBGCC_DEPS): Added TPBIT.
571         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
572
573         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
574         been able to move the result to target.
575
576         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
577         for the appropriate mode.
578
579         * calls.c (emit_library_call_value_1): Handle return values
580         in a PARALLEL.
581
582         * rtl.c (get_mode_alignment): Moved to...
583         * stor-layout.c: ... here.
584
585         * print-rtl.c (print_rtx): Don't print MEM details in
586         GENERATOR_FILEs.
587
588 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
589
590         * df.h: Update comments, tidy formatting.
591         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
592         REVERSE, UNION, INTERSECTION.  All uses updated.
593         (OLD_DF_INTERFACE): Remove.
594         (struct insn_info): Remove commented out insn field.
595         * df.c: Update comments, tidy formatting.
596         (df_def_table_realloc): Remove.
597
598
599 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
600
601         * calls.c (save_fixed_argument_area): Tidy.
602         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
603         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
604         call chain loop at 1 if !try_tail_call.  Formatting.
605         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
606         Use save_fixed_argument_area and restore_fixed_argument_area.
607
608 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
609
610         * df.c (df_uses_record): Handle CC0.
611
612 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
613
614         * reload.c (maybe_memory_address_p): New function.
615         (find_reloads_address): Use it instead of memory_address_p.
616
617 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
618
619         * final.c (shorten_branches): Align the address of code label
620         when computing initial lengths and addresses.
621
622 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
623
624         * config/m68hc11/m68hc11.md: Fix a comment typo.
625
626 2003-01-25  Andreas Jaeger  <aj@suse.de>
627
628         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
629         TARGET_MACHO.
630
631 2003-01-25  Roger Sayle  <roger@eyesopen.com>
632
633         * gcse.c (bypass_last_basic_block): New global variable.
634         (bypass_block):  Use redirect_edge_and_branch_force to redirect
635         fall-through edges.  Use bypass_last_basic_block to determine
636         which blocks have valid PRE information.
637         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
638
639 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
640
641         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
642
643 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
644                               Eric Botcazou <ebotcazou@libertysurf.fr>
645         PR opt/8492
646         * gcse.c (one_cprop_pass): Delete unreachable blocks.
647
648 2003-01-25  Richard Henderson  <rth@redhat.com>
649
650         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
651         from ia64_aix_select_rtx_section.
652         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
653         instead of saving and restoring flag_pic.
654         (ia64_rwreloc_unique_section): Similarly.
655         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
656         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
657         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
658         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
659
660 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
661
662         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
663         comment.
664
665 2002-01-25  Richard Henderson  <rth@redhat.com>
666
667         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
668
669 2002-01-25  Kelley Cook <kelleycook@comcast.net>
670
671         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
672
673 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
674
675         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
676         type for bitmaps.  Use unsigned long.
677         (nBITMAP_WORD_BITS): New macro.
678         (BITMAP_WORD_BITS): New macro.
679         (rest of file): Use it.
680         * bitmap.c: Use it.
681
682 2003-01-25  Richard Henderson  <rth@redhat.com>
683
684         2002-02-19  Robert Lipe  <robertlipe@usa.net>
685         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
686
687 2002-01-25  Roger Sayle  <roger@eyesopen.com>
688
689         * builtins.c (purge_builtin_constant_p): Scan insn stream
690         sequentially rather than by basic block.
691         * function.c (purge_addressof): Simplify test with INSN_P.
692
693 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
694
695         * combine.c (simplify_comparison, case AND): Remove a redundant test.
696
697 2002-01-25  Roger Sayle  <roger@eyesopen.com>
698
699         * function.h (struct function): New field calls_constant_p.
700         (current_function_calls_constant_p): New macro for above.
701         * function.c (prepare_function_start): Initialize calls_eh_return
702         and calls_constant_p.
703         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
704         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
705         when the current_function_calls_constant_p.
706         * integrate.c (expand_inline_function): Set calls_constant_p if
707         the function being inlined has calls_constant_p set.
708
709 2002-01-25  Roger Sayle  <roger@eyesopen.com>
710
711         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
712         optimizing, even if flag_gcse is true.
713         * toplev.c (rest_of_compilation): purge_builtin_constant_p
714         only needs to be called when "optimize > 0 && flag_gcse".
715
716 2003-01-25  Roger Sayle  <roger@eyesopen.com>
717
718         * stmt.c (emit_case_bit_tests): New routine to implement suitable
719         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
720         (case_bit_test_cmp): New comparison function for "qsort" to order
721         case_bit_tests by decreasing number of destination nodes.
722         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
723         (expand_end_case_type): Use emit_case_bit_tests to implement
724         suitable switch statments.
725         (CASE_USE_BIT_TESTS): New target macro to disable the above.
726         * Makefile.in (stmt.o): Add dependency on optab.h.
727         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
728
729 2003-01-23  Andreas Schwab  <schwab@suse.de>
730
731         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
732         __do_global_ctors_aux hidden global and don't put it in
733         .init_array.
734         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
735         instead so that it comes first.
736
737 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
738
739         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
740         subreg is read/modify.
741
742 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
743
744         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
745         do libcall for large blocks.
746         * i386.md (comi patterns): Set type to ssecomi.
747         (sse2_unpck?pd): Fix mode of vec_select.
748
749         * cse.c: Include except.h
750         (cse_set_around_loop):  Do not create new basic blocks.
751         * Makefile.in (cse.o): Add dependnecy on except.h
752
753 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
754
755         * builtins.c (fold_trunc_transparent_mathfn): New function.
756         (fold_builtin): Use it.
757         * convert.c (convert_to_real): Re-enable code to convert
758         math functions; add support for floor familly functions.
759
760 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
761
762         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
763         dependencies on coretypes.h and $(TM_H).
764
765 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
766
767         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
768
769 2002-01-24  Stuart Hastings  <stuart@apple.com>
770
771         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
772
773 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
774
775         * config/c4x/c4x.md (UNSPEC_BU): New constants.
776         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
777         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
778         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
779         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
780         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
781         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
782         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
783
784 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
785
786         * emit-rtl.c (reg_attrs_htab): New static variable.
787         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
788         functions.
789         (reg_rtx): Do not maintain regno_decl.
790         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
791         set_mem_attrs_from_reg): New global function.
792         (init_emit): Do not initialize regno_decl.
793         (init_emit_once): initialize reg_attrs_htab.
794         * final.c (alter_subreg): Do not replace REG by SUBREG.
795         (gen_mem_expr_from_op): Improve output.
796         (output_asm_operands): Likewise.
797         * function.c (assign_params): Do not set REGNO_DECL.
798         * function.h (struct function): Kill regno_decl.
799         (REGNO_DECL): Kill.
800         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
801         * print_rtl.c (print_rtx): Output REG information.
802         * regclass.c (reg_scan_mark_refs): Update attrs.
803         * reload1.c (alter_reg): Likewise.
804         * simplify_rtx.c (simplify_subreg): Likewise.
805         * stmt.c (expand_decl): Likewise.
806         * rtl.def (REG): Add new field.
807         * rtl.h (struct reg_attrs): New.
808         (rtunion_def): At rtreg.
809         (X0MEMATTR): Add checking.
810         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
811         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
812         Declare.
813         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
814
815 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
816
817         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
818         (xtensa_emit_call, print_operand): Fix printf format strings
819         to avoid compile warnings.
820         (xtensa_function_prologue, xtensa_function_epilogue): Change type
821         of "size" argument to HOST_WIDE_INT to fix compile warnings.
822         * config/xtensa/xtensa-protos.h
823         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
824
825 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
826
827         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
828         (implicit_built_in_decls): New global array.
829         (mathfn_built_in): New global function.
830         (fold_trunc_transparent_mathfn): New static function
831         (expand_builtin_strstr, expand_bultin_strchr,
832         expand_builtin_strpbrk, expand_builtin_strcpy,
833         expand_builtin_strncpy, expand_bultin_strcmp,
834         expand_bultin_strncat, expand_builtin_fputs): Use
835         implicint_built_in_decls.
836         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
837         * builtins.def: Fix comments.
838         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
839         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
840         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
841         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
842         (DEF_C99_C90RES_BULTIN): New.
843         (*f, *l builtins): Update.
844         * c-common.c (DEF_BUILTIN): Initialize implicit array.
845         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
846         * convert.c (strip_float_extensions): New global function.
847         * tree.h (DEF_BUILTIN): Accept 10 arguments.
848         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
849         Declare.
850         * java/builtins.c (define_builtin): Handle implicit.
851         (DEF_BUILTIN): Update.
852         * tm.texi (TARGET_C99_FUNCTIONS): Document.
853         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
854         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
855         when using glibc2.
856
857 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
858
859         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
860         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
861         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
862         * config/xtensa/crti.asm: New file.
863         * config/xtensa/crtn.asm: New file.
864         * config/xtensa/t-elf: New file.
865         * config/xtensa/t-linux: New file.
866         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
867         Move various CFLAGS settings to new t-elf file.
868
869 2003-01-24  Richard Henderson  <rth@redhat.com>
870
871         PR optimization/4382
872         * tree-inline.c (find_builtin_longjmp_call_1): New.
873         (find_builtin_longjmp_call): New.
874         (inlinable_function_p): Use it.
875
876 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
877
878         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
879         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
880         * config/i386/i386.c (function_arg_pass_by_reference): New.
881         (ix86_va_arg): Support arguments passed by reference.
882
883 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
884
885         * cfgloopanal.c: New file.
886         * cfgloopmanip.c: New file.
887         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
888         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
889         cfglayout.o): Add dependency on cfgloop.h.
890         (cfgloop.o): Add flags.h dependency.
891         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
892         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
893         (struct loop, struct loops, flow_loops_find, flow_loops_update,
894         flow_loops_free, flow_loops_dump, flow_loop_dump,
895         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
896         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
897         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
898         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
899         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
900         find_common_loop, verify_loop_structure): Declarations moved to ...
901         * cfgloop.h: New file.
902         * bb-reorder.c (reorder_basic_blocks): Modified.
903         * cfglayout.c: Include cfgloop.h.
904         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
905         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
906         (break_superblocks): New static function.
907         (cfg_layout_finalize): Use it.
908         (cfg_layout_split_block): New function.
909         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
910         fields.
911         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
912         changed.
913         (cfg_layout_split_block): Declare.
914         * cfgloop.c: Include cfgloop.h and flags.h.
915         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
916         get_loop_body): Avoid signed versus unsigned comparison warnings.
917         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
918         loop_latch_edge): Modified.
919         (verify_loop_structure): Modified to use flags stored in loop structure;
920         check irreducible loops.
921         (cancel_loop, cancel_loop_tree): New functions.
922         (estimate_probability): Use loop analysis code for predictions.
923         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
924         warnings.
925         * doloop.c: Include cfgloop.h.
926         * loop.c: Include cfgloop.h.
927         * predict.c: Include cfgloop.h.
928         * toplev.c: Include cfgloop.h.
929         * unroll.c: Include cfgloop.h.
930         * tracer.c (tracer): Modified.
931
932 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
933
934         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
935
936 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
937
938         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
939         * configure: Regenerate.
940
941         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
942         (tls_symbolic_reference_mentioned_p): Add prototype.
943         (s390_tls_get_offset): Add prototype.
944         (emit_pic_move): Remove prototype, replace by ...
945         (emit_symbolic_move): .. this new prototype.
946
947         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
948         (tls_model_chars): New global variable.
949         (s390_encode_section_info): Encode TLS model.
950         Use targetm.binds_local_p to check for local symbols.
951         (s390_strip_name_encoding): New function.
952         (TARGET_STRIP_NAME_ENCODING): Define.
953
954         (get_thread_pointer): New function.
955         (legitimize_tls_address): New function.
956         (legitimize_address): Call it.
957         (emit_pic_move): Remove, replace by ...
958         (emit_symbolic_move): ... this new function.
959
960         (larl_operand): Handle TLS operands.
961         (legitimate_constant_p): Likewise.
962         (s390_decompose_address): Likewise.
963         (s390_cannot_force_const_mem): New function.
964         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
965
966         (s390_output_symbolic_const): Handle TLS unspecs.
967         (print_operand): New code 'J'.
968         (machine_function): Add struct member 'some_ld_name'.
969         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
970
971         (enum s390_builtin): New type.
972         (code_for_builtin_64, code_for_builtin_31): New global variables.
973         (s390_init_builtins, s390_expand_builtin): New functions.
974         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
975
976         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
977         (ASM_OUTPUT_LABELREF): Define.
978         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
979
980         * config/s390/s390.md: Define TLS UNSPEC constants.
981         ("movdi", "movsi"): Handle TLS operands.
982         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
983         ("*tls_load_64", "*tls_load_31"): New insns.
984         ("call_value_tls", "call_value_tls_exp"): New expanders.
985         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
986         "bas_tls_64", "bas_tls_31"): New insns.
987
988 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
989
990         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
991         spe ABI is configured, if requested.
992
993 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
994
995         * doc/passes.texi: Fix typo.
996
997 2003-01-24  Andreas Schwab  <schwab@suse.de>
998
999         * stor-layout.c (excess_unit_span): Only define if used.
1000
1001 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
1002
1003         * gcc/doc/invoke.texi (Optimization Options): List -O levels
1004         for each optimization flag.
1005
1006 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
1007
1008         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
1009
1010 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1011
1012         * doc/bugreport.texi: Use @command instead of @code for commands.
1013         * doc/collect2.texi: Likewise.
1014         * doc/headerdirs.texi: Likewise.
1015         * doc/invoke.texi: Likewise.
1016         * doc/standards.texi: Likewise.
1017         * doc/tm.texi: Likewise.
1018         * doc/trouble.texi: Likewise.
1019
1020 2003-01-24  Nick Clifton  <nickc@redhat.com>
1021
1022         * config/arm/arm.c (use_return_insn): Do not use a single return
1023         instruction for interrupt handelrs which have to create a stack
1024         frame.
1025         (arm_expand_prologue): Do not pre-bias the return address of
1026         interrupt handlers which create a stack frame.
1027
1028 2003-01-24  Nick Clifton  <nickc@redhat.com>
1029
1030         * Add sh2e support:
1031
1032         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
1033
1034                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
1035                 med_cbranches.  Fix logic in short_cbranches.
1036
1037         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
1038
1039                 * config/sh/sh.md (delay for cbranch): Don't annul delay
1040                 slots on SH2e.
1041                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
1042                 cbranch with unfilled delay slot on SH2e.
1043                 (output_branch): Fill with a nop the delay slot of a
1044                 branch that required a delay slot but didn't get one.
1045
1046         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
1047
1048                 * doc/invoke.texi (SH options): Document -m2e.
1049                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
1050                 * config/sh/lib1funcs.asm: Likewise.
1051                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
1052                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
1053                 not __sh1__.
1054                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
1055                 SH2E up.
1056                 (SH3E_BIT): Renamed to...
1057                 (SH_E_BIT): ... this.  Replace all uses.
1058                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
1059                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
1060                 (TARGET_SWITCHES): Added 2e.
1061                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
1062                 (processor_type): Added PROCESSOR_SH2E.
1063                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
1064                 TARGET_SH2E, except in sqrtsf2_i.
1065                 (attribute cpu): Added sh2e.
1066                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
1067                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
1068                 * config.gcc: Add sh2e target support.
1069
1070 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
1071
1072         Rename -W to -Wextra.
1073         * c-decl.c:  Update comments.
1074         * c-typeck.c:  Likewise.
1075         * flags.h:  Likewise.
1076         * function.c:  Likewise.
1077         * stmt.c:  Likewise.
1078         * toplev.c:  Update comments.
1079         (W_options):  Add 'extra'.
1080         (display_help):  Remove '-W'.
1081         (decode_W_option):  Special warn_uninitialized treatment in the case
1082         of -Wextra.
1083         * doc/invoke.texi:  Update with new entries.
1084
1085 2003-01-23  Richard Henderson  <rth@redhat.com>
1086
1087         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
1088         in no-else-block case.  Add commentary.
1089
1090 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1091
1092         * configure.in: Revert last change.
1093
1094 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1095
1096         * configure.in: Don't include ansidecl.h in tconfig.h.
1097         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
1098         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
1099         ATTRIBUTE_UNUSED.
1100
1101         * configure: Regenerate.
1102
1103 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1104
1105         PR java/6748
1106         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
1107         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
1108         kernels.
1109
1110 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1111
1112         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
1113
1114 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
1115
1116         * genattrtab.c (write_attr_get): Mark 'insn' paramter
1117         as ATTRIBUTE_UNUSED.
1118
1119 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
1120
1121         * arm.c (thumb_base_register_rtx_p): New function.
1122         (thumb_index_register_rtx_p): New function.
1123         (thumb_legitimate_address_p): New function.
1124         (thumb_legitimate_offset_p): New function.
1125         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
1126         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
1127         definitions.
1128         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
1129         (THUMB_LEGITIMATE_OFFSET): Delte.
1130         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
1131         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
1132         (thumb_legitimate_offset_p): Likewise.
1133
1134 2003-01-23  Andreas Schwab  <schwab@suse.de>
1135
1136         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
1137
1138 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1139
1140         * fixinc/Makefile.in (FL_LIST): Revert last change.
1141
1142 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1143
1144         PR other/7341
1145         * invoke.texi (ftest-coverage): Fix broken cross-reference.
1146         Change @code to @command for gcov command.
1147
1148         * gcc.texi: Adjust title of gcov section.
1149         Adjust copyright.
1150         * gcov.texi: Likewise.
1151
1152 2003-01-22  Roger Sayle  <roger@eyesopen.com>
1153
1154         PR optimization/8423
1155         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
1156         its argument is constant, or 0 if !flag_gcse.
1157         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
1158         if it's argument is constant.
1159         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
1160         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
1161         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
1162         * builtins.c (purge_builtin_constant_p): New function to force
1163         instantiation of any remaining CONSTANT_P_RTX nodes.
1164         * rtl.h (purge_builtin_constant_p): Prototype here.
1165         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
1166         pass after GCSE and before loop.
1167         (flag_gcse): No longer static.
1168         * flags.h (flag_gcse): Prototype here.
1169
1170 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
1171
1172         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
1173         introduced by last change.
1174
1175 2003-01-22  Andreas Schwab  <schwab@suse.de>
1176
1177         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
1178
1179 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
1180
1181         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
1182         request a scratch reg on H8S when the shift count is 8.
1183
1184 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
1185
1186         * config/s390/s390-protos.h (preferred_la_operand_p):
1187         Remove second parameter.
1188         * config/s390/s390.c (preferred_la_operand_p): Likewise.
1189         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
1190         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
1191         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
1192         Add peepholes to transform ADD to LOAD ADDRESS.
1193
1194 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
1195
1196         * arm.c (arm_address_register_rtx_p): New function.
1197         (arm_legitimate_address_p): New function.
1198         (arm_legitimate_index_p): New function.
1199         (legitimize_pic_address): Use arm_legitimate_index_p.
1200         * arm-protos.h (arm_legtimate_address_p): Add prototype.
1201         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
1202         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
1203
1204 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
1205
1206         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
1207         * config/s390/2064.md (define_bypass): Correct 'Load' and
1208         'Load-address' bypass values.
1209
1210 2003-01-22  Andreas Schwab  <schwab@suse.de>
1211
1212         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
1213
1214 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1215
1216         * genautomata.c (output_internal_insn_latency_func,
1217         output_print_reservation_func): Short circuit when there is no
1218         automaton to generate code for.
1219
1220 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1221
1222         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
1223         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
1224
1225 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
1226
1227         * config/rs6000/rs6000.md: Remove warning.
1228         (builtin_setjmp_receiver): Likewise.
1229         * config/darwin.c (update_stubs): Slightly improve terrible hack
1230         with identifiers.  Add comment pointing out problems with it.
1231         (update_non_lazy_ptrs): Likewise.
1232
1233 2003-01-21  Richard Henderson  <rth@redhat.com>
1234
1235         * dwarf2out.c (lookup_filename): Fix printf format warning.
1236         * system.h (fread_unlocked, fwrite_unlocked): Undef.
1237
1238         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
1239         (fixincl.o-warn, gnu-regex.o-warn): New.
1240         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
1241         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
1242         * fixinc/fixincl.c (process): Fix printf format warning.
1243
1244 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
1245
1246         * dwarf2out (output_file_names): Don't crash if called
1247         with empty file_table.
1248
1249 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1250
1251         * genautomata.c (output_internal_insn_latency_func): Add
1252         missing break statement to generated code.
1253
1254 2003-01-21  Roger Sayle  <roger@eyesopen.com>
1255
1256         * stmt.c (same_case_target_p): New function to determine whether
1257         two case labels branch to the same target.  Split out from...
1258         (group_case_nodes): ... here.  Use same_case_target_p instead.
1259         (strip_default_case_nodes): Remove explicit case nodes
1260         that branch to the default destination.
1261         (expand_end_case_type): Call strip_default_case_nodes after
1262         group_case_nodes, to simplify the case-list before we count it.
1263         Only generate table_label RTX when actually needed.  Try to share
1264         thiscase->exit_label and thiscase->data.case_stmt.default_label
1265         when a switch has no explicit default case.  Simplify test for
1266         constant index.
1267
1268 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
1269
1270         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
1271         \t.
1272         (*negsf2_h8300hs): Likewise.
1273         (*addsi3_lshiftrt_16_zexthi): Likewise.
1274         (*iorhi3_lshiftrt_8): Likewise.
1275
1276 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
1277
1278         * dwarf2out.c (fde_table_in_use): Mark GTY.
1279         (dwarf2out_cfi_label_num): New variable, marked GTY.
1280         (dwarf2out_cfi_label): Use it instead of static label_num.
1281         * emit-rtl.c (label_num): Mark GTY.
1282
1283 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
1284
1285         * config/h8300/h8300.c (output_plussi): Support H8/300.
1286         (compute_plussi_length): Likewise.
1287         (compute_plussi_cc): Likewise.
1288         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
1289         output assembly instructions.
1290
1291 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1292
1293         * calls.c (fix_unsafe_tree): Prototype.
1294
1295         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
1296         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
1297         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
1298         c-parse.o-warn): Add -Wno-error.
1299         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
1300
1301         * configure.in (--enable-werror): Add new flag.
1302         * doc/install.texi (--enable-werror): Document.
1303         * configure: Regenerate.
1304
1305         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
1306
1307 2003-01-21  Andreas Schwab  <schwab@suse.de>
1308
1309         * genautomata.c (output_internal_insn_latency_func): Fix missing
1310         close paren in output.
1311
1312 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1313
1314         * genautomata.c: Space savings in generated code:
1315         (output_dfa_insn_code_func): Split out the table-enlargement
1316         path to an out-of-line static function, dfa_insn_code_enlarge.
1317         (output_internal_insn_latency_func): Use a lookup table for the
1318         default latencies.
1319         (output_print_reservation_func): Use a lookup table for the
1320         strings.
1321
1322 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1323
1324         PR opt/7507
1325         * calls.c (fix_unsafe_tree): Split out from ...
1326         (expand_call): ... here.  Use it on the function address too.
1327
1328 2003-01-20  Richard Henderson  <rth@redhat.com>
1329
1330         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
1331
1332 2003-01-20  Richard Henderson  <rth@redhat.com>
1333
1334         PR opt/7154
1335         * stmt.c (expand_asm_operands): Validize memory operands.
1336
1337 2003-01-20  Richard Henderson  <rth@redhat.com>
1338
1339         PR opt/8848
1340         * ifcvt.c (noce_process_if_block): Correct arguments to
1341         modified_between_p for no-else-block case.
1342
1343 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
1344
1345         * config/h8300/h8300.c (const_costs): Remove a warning.
1346         (output_plussi): Likewise.
1347         (compute_plussi_length): Likewise.
1348         (compute_plussi_cc): Likewise.
1349
1350 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
1351
1352         * config/h8300/h8300.md (addsi_h8300): Remove the last
1353         alternative.
1354
1355 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
1356
1357         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1358
1359 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1360
1361         * system.h (__NO_STRING_INLINES): Define.
1362
1363 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1364
1365         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
1366         is not a scalar int mode.
1367
1368 2003-01-20  Roger Sayle  <roger@eyesopen.com>
1369
1370         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
1371         insn's notes following a substitution inside a libcall.
1372
1373 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
1374
1375         * configure.in: Check for system-provided 'uchar' type.
1376         * configure, config.in: Regenerate.
1377         * cpphash.h: Only typedef 'uchar' if the system doesn't.
1378
1379 2003-01-20  Richard Henderson  <rth@redhat.com>
1380
1381         * expr.h (MUST_PASS_IN_STACK): Move implementation...
1382         * calls.c (default_must_pass_in_stack): ... here.
1383
1384 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
1385
1386         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
1387
1388         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
1389
1390         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
1391         Wrap up definition of `insn_alts'.
1392
1393         * genattrtab.c (main): Wrap up `insn_alts'.
1394
1395 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1396
1397         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
1398         prototyping.
1399         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
1400
1401         * config.in, configure: Regenerate.
1402
1403 2003-01-20  Nick Clifton  <nickc@redhat.com>
1404
1405         * config/arm/arm.md (sibcall_epilogue): Add an
1406         UNSPEC_PROLOGUE_USE to prevent the link register from being
1407         considered dead.
1408
1409 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
1410
1411         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
1412
1413 2003-01-20  Andreas Schwab  <schwab@suse.de>
1414
1415         * system.h: Don't declare strsignal if the decl test hasn't been
1416         run yet.
1417
1418 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
1419
1420         * config/h8300/h8300.c (notice_update_cc): Don't assume that
1421         recog_data.operands[0] is always associated with cc0.
1422
1423 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
1424
1425         * collect2.c (ldgetname): Expand declaration to prototype.
1426         * read-rtl.c (atoll): Add prototype.
1427         * system.h (strsignal): Also declare if no declaration found.
1428
1429 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
1430
1431         * config.gcc (mips64*-*-linux*): Added.
1432         * config/mips/linux64.h, config/mips/t-linux64: New file.
1433         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
1434         * config/mips/mips.c (override_options): Use it.
1435         * config/mips/mips.h (TARGET_SWITCHES): Added...
1436         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
1437         * Makefile.in (SPECS): New.
1438         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
1439         * gcc.c (process_command): Move self-spec processing past spec
1440         file loading.
1441         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
1442         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
1443         CRTSTUFF_T_CFLAGS.
1444         (SPECS): Document.
1445         * doc/invoke.texi (-mabi-fake-default): Document.
1446
1447 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
1448
1449         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
1450         z_reg, z_reg_qi): Declare static and GTY().
1451         (da_reg): Remove.
1452         (create_regs_rtx): Don't create da_reg.
1453         ("gt-m68hc11.h"): Include for GTY roots.
1454         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
1455         and GTY() here.
1456         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
1457         (m68hc11_soft_tmp_reg): Likewise.
1458         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
1459
1460 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
1461
1462         * basic-block.h: Fix comment formatting.
1463         * calls.c: Likewise.
1464         * combine.c: Likewise.
1465         * convert.c: Likewise.
1466         * gcov.c: Likewise.
1467         * haifa-sched.c: Likewise.
1468         * libgcc2.c: Likewise.
1469         * loop.c: Likewise.
1470         * profile.c: Likewise.
1471         * system.h: Likewise.
1472
1473 2003-01-18  Roger Sayle  <roger@eyesopen.com>
1474
1475         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
1476
1477 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1478
1479         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
1480
1481 2003-01-17  Dale Johannesen  <dalej@apple.com>
1482
1483         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
1484           (*floatunssidf2_internal):  Ditto.
1485
1486 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
1487
1488         * alias.c: Fix comment typos.
1489         * basic-block.h: Likewise.
1490         * c-common.c: Likewise.
1491         * c-common.h: Likewise.
1492         * c-decl.c: Likewise.
1493         * c-opts.c: Likewise.
1494         * c-pragma.c: Likewise.
1495         * c-pretty-print.h: Likewise.
1496         * cfg.c: Likewise.
1497         * cfganal.c: Likewise.
1498         * cfgbuild.c: Likewise.
1499         * cfgcleanup.c: Likewise.
1500         * cfglayout.c: Likewise.
1501         * cfgrtl.c: Likewise.
1502         * convert.c: Likewise.
1503         * cpphash.h: Likewise.
1504         * cpplex.c: Likewise.
1505         * cpplib.h: Likewise.
1506         * df.h: Likewise.
1507         * diagnostic.c: Likewise.
1508         * diagnostic.h: Likewise.
1509         * dwarf2.h: Likewise.
1510
1511 2003-01-17  Stan Shebs  <shebs@apple.com>
1512
1513         * config/darwin-protos.h: Forward-declare struct cpp_reader.
1514
1515 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
1516
1517         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
1518         mistake in last checkin.
1519
1520 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
1521
1522         * et-forest.c: Fix comment typos.
1523         * et-forest.h: Likewise.
1524         * except.c: Likewise.
1525         * expr.c: Likewise.
1526         * flags.h: Likewise.
1527         * flow.c: Likewise.
1528         * gcc.c: Likewise.
1529         * gcse.c: Likewise.
1530         * genattrtab.c: Likewise.
1531         * genautomata.c: Likewise.
1532         * gengtype.c: Likewise.
1533         * genrecog.c: Likewise.
1534         * global.c: Likewise.
1535         * gthr-rtems.h: Likewise.
1536
1537 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1538
1539         * i386.c (x86_function_profiler): Fix format specifier.
1540
1541 2003-01-17  Richard Henderson  <rth@redhat.com>
1542
1543         * gengtype.c (walk_type): Allow paramN_is.
1544
1545 2003-01-17  Nick Clifton  <nickc@redhat.com>
1546
1547         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
1548
1549 2003-01-16  Richard Henderson  <rth@redhat.com>
1550
1551         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
1552
1553 2003-01-16  Richard Henderson  <rth@redhat.com>
1554
1555         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
1556         (alpha_next_sequence_number): Likewise.
1557         (alpha_this_literal_sequence_number): Likewise.
1558         (alpha_this_gpdisp_sequence_number): Likewise.
1559         (struct alpha_funcs, alpha_funcs_num): Likewise.
1560         (struct alpha_links): Fix branch merge error.
1561         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
1562
1563 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
1564
1565         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
1566         R. Ghazi.
1567
1568 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
1569
1570         * ifcvt.c: Fix comment typos.
1571         * lcm.c: Likewise.
1572         * libgcc2.c: Likewise.
1573         * local-alloc.c: Likewise.
1574         * loop.c: Likewise.
1575         * predict.c: Likewise.
1576         * ra-build.c: Likewise.
1577         * ra.c: Likewise.
1578         * ra-colorize.c: Likewise.
1579         * ra.h: Likewise.
1580         * ra-rewrite.c: Likewise.
1581         * regmove.c: Likewise.
1582         * reload.h: Likewise.
1583         * rtlanal.c: Likewise.
1584         * toplev.c: Likewise.
1585         * tree.h: Likewise.
1586         * unwind-dw2-fde-glibc.c: Likewise.
1587         * vmsdbgout.c: Likewise.
1588
1589 2003-01-16  Richard Henderson  <rth@redhat.com>
1590
1591         * dwarf2out.c (struct file_table): Remove.
1592         (FILE_TABLE_INCREMENT): Remove.
1593         (file_table): Make a varray; mark for GC.  Update all users.
1594         (file_table_last_lookup_index): Extract from struct file_table.
1595         (output_file_names): Fix unsigned compare warnings.
1596         (add_name_attribute): Remove inline marker.
1597         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
1598         (lookup_filename): Don't manage size of file_table.
1599         (init_file_table): Allocate file_table with GC.
1600         (dwarf2out_init): Don't record main_input_filename here.
1601         (dwarf2out_finish): Do it here instead.
1602
1603 2003-01-16  Bruce Korb  <bkorb@gnu.org>
1604
1605         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
1606
1607 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
1608
1609         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
1610         instead of rotldi3_mextr.
1611
1612 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
1613
1614         * haifa-sched.c (move_insn): Restore moving all schedule group.
1615         (set_priorities): Restore taking SCHED_GROUP_P into account.
1616
1617         * sched-deps.c (add_dependence): Restore processing the last group
1618         insn.
1619         (remove_dependence, group_leader): Restore the functions.
1620         (set_sched_group_p): Restore adding dependencies from previous insn
1621         in the group.
1622         (compute_forward_dependences): Restore usage of group_leader.
1623
1624         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
1625         account.
1626
1627         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
1628         account.
1629         (can_schedule_ready_p): Ditto.
1630         (add_branch_dependences): Restore skipping over the group insns.
1631
1632 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
1633
1634         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
1635         68HC12 pre/post inc/dec side effects.
1636
1637 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
1638
1639         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
1640
1641 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
1642
1643         * sh.md (mshflo_w_x): Fix description of operation.
1644
1645 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
1646
1647         * config/rs6000/rs6000.h: Mention Altivec registers in
1648         commentary.  Fix typo.
1649
1650 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
1651
1652         * config/rs6000/rs6000.md (movti_string): Remove clobber.
1653         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
1654         generate PARALLEL with clobber for TARGET_POWER.
1655
1656 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1657
1658         * ra-colorize.c (colorize_one_web): Initialize variable.
1659         * regmove.c (fixup_match_1): Likewise.
1660         * reload1.c (reload_as_needed): Likewise.
1661         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
1662
1663 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1664
1665         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
1666
1667 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1668
1669         * dbxout.c (lastfile, cwd): Fix `unused' warning.
1670         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
1671         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
1672         is_main_source, file_table, decl_die_table_in_use,
1673         abbrev_die_table_in_use, line_info_table_in_use,
1674         separate_line_info_table_in_use, pubname_table_in_use,
1675         arange_table_in_use, ranges_table_in_use,
1676         current_function_has_inlines): Likewise.
1677         * flow.c (life_analysis): Likewise.
1678         * genemit.c (gen_insn): Likewise.
1679         * protoize.c (cplus_suffix): Likewise.
1680
1681         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
1682         * arm.h (ROUND_UP_WORD): Likewise.
1683
1684         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
1685         warning.
1686         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
1687         init_emit_once): Likewise.
1688         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
1689         Likewise.
1690         * function.c (assign_stack_temp_for_type): Likewise.
1691         * loop.c (loop_invariant_p): Likewise.
1692         * recog.c (push_operand): Likewise.
1693         * regclass.c (init_reg_sets_1): Likewise.
1694         * reload.c (update_auto_inc_notes): Likewise.
1695         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
1696         * stmt.c (expand_asm_operands): Likewise.
1697         * stor-layout.c (start_record_layout): Likewise.
1698
1699 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
1700
1701         * config/c4x/c4x.md (epilogue): Correct last patch.
1702
1703 2003-01-15  Richard Henderson  <rth@redhat.com>
1704
1705         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
1706         also check that GP is being used.
1707         (alpha_find_lo_sum_using_gp): New.
1708         (alpha_does_function_need_gp): Use get_attr_usegp.
1709         * config/alpha/alpha-protos.h: Update.
1710         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
1711         as needed.
1712
1713 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1714
1715         * gcse.c (one_cprop_pass): Change function arguments to take both
1716         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
1717         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
1718         (bypass_jumps): New function to perform separate jump bypassing pass.
1719         * rtl.h (bypass_jumps): Add function prototype.
1720         * timevar.def (TV_BYPASS): New timing variable.
1721         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
1722         (dump_file): New entry for the bypass RTL dump file.
1723         (rest_of_compilation): Insert new jump bypassing optimization
1724         pass after loop.
1725         * doc/passes.texi: Document new pass.
1726
1727 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1728
1729         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
1730         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
1731         * pa.h (TARGET_SOM_SDEF): Define.
1732         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
1733
1734 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
1735
1736         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
1737         allocate 4-bytes of locals on 68HC11.
1738         (expand_epilogue): Likewise.
1739         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
1740
1741 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
1742
1743         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
1744         and -mshort-double to the assembler to specify the ABI.
1745         (LINK_SPEC): Likewise.
1746         (CPP_SPEC): Pass HCS12 specific define.
1747         (MASK_M68S12): New define.
1748         (TARGET_M68S12): Likewise.
1749         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
1750         (TARGET_VERSION): Update.
1751         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
1752         (LINK_SPEC): Update.
1753         (ASM_SPEC): Update.
1754         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
1755         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
1756
1757 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
1758
1759         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
1760         the return code.
1761
1762 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
1763
1764         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
1765         flag before setting it.
1766
1767 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1768
1769         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
1770         when loop condition is known true, i.e.  "while (1) { ... }".
1771         (genrtl_for_stmt): Similarly for "for" statements.
1772
1773 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1774
1775         * real.c (real_sqrt): Return a bool result indicating whether
1776         a floating point exception or trap should be raised.
1777         * real.h (real_sqrt): Update function prototype.
1778         * builtins.c (fold_builtin): Only fold non-trapping square
1779         roots unless we're ignoring errno and trapping math.
1780
1781 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
1782
1783         * expr.h (emit_conditional_add): Add PARAMS to declaration.
1784         * gengtype-lex.l (malloc, realloc): Move defines after include of
1785         system.h.  Remove duplicate include of system.h.
1786
1787 2003-01-15  Roger Sayle  <roger@eyesopen.com>
1788
1789         PR middle-end/9009
1790         * optabs.c (expand_unop):  When manipulating the FP sign bit
1791         using integer operations, account for targets with different
1792         integer and FP word orders.
1793         (expand_abs): Likewise.
1794
1795 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
1796
1797         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
1798         file extension in section name.
1799
1800 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
1801
1802         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
1803         constant offset.
1804
1805 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
1806
1807         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
1808         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
1809         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
1810         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1811
1812 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
1813
1814         PR f/9258
1815         * global.c (struct allocno): Add no_stack_reg.
1816         (global_conflicts): Set no_stack_reg.
1817         (find_reg): Use it.
1818
1819         * convert.c (convert_to_real): Fold - and abs only when profitable.
1820         * fold-const.c (fold): Fold truncates in - and abs.
1821
1822 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
1823
1824         Segher Boessenkool  <segher@koffie.nl>
1825
1826         * predict.c (real_inv_br_prob_base): New variable.
1827         (propagate_freq): Use multiply by reciprocal instead of
1828         division.  Don't divide by 1.0 at all.
1829         (estimate_bb_frequencies): Similar.
1830
1831 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
1832
1833         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
1834         * configure: Rebuilt.
1835
1836 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
1837
1838         * config/s390/s390.c (s390_safe_attr_type): New function.
1839         (s390_use_dfa_pipeline_interface): New function, return true for z900.
1840         (s390_issue_rate): New function.
1841         (s390_agen_dep_p): New function.
1842         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
1843         (s390_adjust_cost): Return 'cost' if new DFA is used.
1844         (s390_adjust_priority): Delete function.
1845         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
1846         * config/s390/s390.md (atype attribute): Attribute 'atype' default
1847         determined by 'op_type'.
1848         (type attribute): Added more type attributes.
1849         * config/s390/2064.md: New DFA description for z900 pipeline.
1850
1851 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
1852
1853         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
1854         forced to memory.  Fixes PR bootstrap/9036.
1855
1856         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
1857         to set $gp before the call.
1858
1859 2003-01-14  Richard Henderson  <rth@redhat.com>
1860
1861         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
1862         for force_const_mem.
1863
1864 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1865
1866         * genattr.c (main): Rearrange output to avoid prototype warning.
1867         * genautomata.c (transform_3): Fix ambiguous-else warning.
1868         * local-alloc.c (requires_inout): Add parentheses around
1869         assignment used as truth-value.
1870         * timevar.c: Move system includes above local includes.  Include
1871         toplev.h
1872         * Makefile.in (timevar.o): Depend on toplev.h.
1873
1874 2003-01-14  Denis Chertykov  <denisc@overta.ru>
1875
1876         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
1877         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
1878
1879         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
1880         attributes.
1881         (TARGET_ATTRIBUTE_TABLE): New macro.
1882         (valid_machine_type_attribute): Remove.
1883         (valid_machine_decl_attribute): Remove.
1884         (ip2k_handle_progmem_attribute): New function.
1885         (ip2k_handle_fndecl_attribute): New function.
1886
1887 2003-01-10  Andrew Haley  <aph@redhat.com>
1888
1889         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
1890         registers to be in correct order.  Add rip.
1891
1892 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
1893
1894         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
1895         (*iorsi3_and_lshiftrt_9_sb): Likewise.
1896
1897 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1898
1899         * convert.c (strip_float_extensions):  Look for narrowest type handling
1900         FP constants.
1901
1902         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
1903         float1 CMP float2.
1904         * convert.c (strip_float_extensions): Make global.
1905         * tree.h (strip_float_extensions): Declare.
1906
1907 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1908
1909         * timevar.def: define TV_NAME_LOOKUP.
1910         * timevar.c (timevar_pop): Be verbose when aborting.
1911
1912 2003-01-13  Andreas Schwab  <schwab@suse.de>
1913
1914         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
1915         $(parsedir), just move the temporary file at the end.
1916         ($(parsedir)/gengtype-yacc.c): Likewise.
1917
1918 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
1919
1920         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
1921         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
1922         splitting.
1923         * configure: Rebuilt.
1924
1925 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1926
1927         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
1928         internal_mcount): Don't use PARAMS.
1929         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
1930         ISO C style.
1931         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
1932
1933 2003-01-13  Andreas Schwab  <schwab@suse.de>
1934
1935         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
1936         directive.
1937
1938 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
1939
1940         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
1941         (*iorsi3_and_lshiftrt_n_sb): Likewise.
1942
1943 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
1944
1945         PR c++/9264
1946         * c-lex.c (c_lex): Set the token value to error_mark_node for
1947         invalid numeric constants.
1948
1949 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1950
1951         * c-pch.c (asm_file_startpos): Change to `long'.
1952         (pch_init): Use ftell, not ftello.
1953         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
1954         Use `long' instead of `off_t'.
1955         (c_common_read_pch): Likewise.
1956         * ggc-common.c (gt_pch_save): Use long/ftell instead of
1957         off_t/ftello.
1958
1959 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
1960
1961         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
1962
1963 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
1964
1965         * arm-protos.h (struct cpp_reader): Add declaration.
1966
1967 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
1968
1969         PR target/9068
1970         * i386.c (output_fp_compare): Fix typo.
1971
1972 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
1973
1974         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
1975
1976 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
1977
1978         * Makefile.in (parsedir): New variable.
1979         (docobjdir): New variable.
1980         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
1981         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
1982         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
1983         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
1984         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
1985         Use docobjdir.
1986         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
1987         objc.maintainer-clean): Use parsedir.
1988
1989         * varasm.c (struct constant_descriptor_rtx): Remove unused
1990         `label' field.
1991
1992         * toplev.c (documented_lang_options): Document -Winvalid-pch.
1993
1994 2003-01-10  Richard Henderson  <rth@redhat.com>
1995
1996         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
1997         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
1998
1999 2003-01-10  Richard Henderson  <rth@redhat.com>
2000
2001         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
2002         not INTEGRAL_MODE_P when widening extensions.
2003
2004 2003-01-10  Richard Henderson  <rth@redhat.com>
2005
2006         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
2007
2008 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
2009
2010         * ggc-page.c (ggc_collect): Avoid overflow computing
2011         min_expand.
2012
2013         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
2014         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
2015         Remove calls.
2016         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
2017
2018 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
2019
2020         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
2021         with weird operands.
2022
2023 2003-01-10  Dale Johannesen <dalej@apple.com>
2024
2025         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
2026         parameters.  Call check_sibcall_argument_overlap if indicated.
2027         (check_sibcall_argument_overlap):  Add mark_stored_args_map
2028         parameter.  Don't mark parameter area as clobbered if not set.
2029         (expand_call):  Adjust calls to above.
2030
2031 2003-01-10 Kelley Cook <kelleycook@comcast.net>
2032
2033         * configure.in (linker read-only and read-write section mixing):
2034         Squelch some assembler warnings.
2035         * configure: Likewise.
2036
2037 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
2038
2039         * doc/invoke.texi: Document -mtune, delete -mcpu
2040         option for S/390 and zSeries.
2041         * config/s390/s390.c (s390_tune_string) New variable.
2042         (s390_cpu_string) Delete variable.
2043         (override_options): Use s390_tune_string instead of
2044         s390_cpu_string.
2045         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
2046
2047 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
2048
2049         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
2050
2051 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
2052
2053         * jump.c (next_nonnote_insn_in_loop): New function.
2054         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
2055         next_nonnote_insn.
2056         (duplicate_loop_exit_test). Likewise.
2057
2058 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
2059
2060         Merge from pch-branch:
2061
2062         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
2063
2064         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
2065         load.
2066
2067         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
2068
2069         * cpplib.c (count_registered_pragmas): New function.
2070         (save_registered_pragmas): New function.
2071         (_cpp_save_pragma_names): New function.
2072         (restore_registered_pragmas): New function.
2073         (_cpp_restore_pragma_names): New function.
2074         * cpphash.h (_cpp_save_pragma_names): Prototype.
2075         (_cpp_restore_pragma_names): Likewise.
2076         * cpppch.c (struct save_macro_item): Split from save_macro_data.
2077         (struct save_macro_data): New field 'saved_pragmas'.
2078         (save_macros): Update for changes to struct save_macro_data.
2079         (cpp_prepare_state): Call _cpp_save_pragma_names, update
2080         for changes to struct save_macro_data.
2081         (cpp_read_state): Call _cpp_restore_pragma_names, update
2082         for changes to struct save_macro_data.
2083
2084         * cpppch.c (cpp_read_state): Restore the hashtable references
2085         in the cpp_reader.
2086
2087         * tree.h (built_in_decls): Mark for PCH.
2088
2089         * dbxout.c (lastfile): Don't mark for PCH.
2090
2091         * ggc.h: Document PCH calls into memory managers.
2092
2093         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2094
2095         * doc/invoke.texi (Precompiled Headers): Document the
2096         directory form of PCH.
2097         * cppfiles.c (validate_pch): New function.
2098         (open_file_pch): Search suitably-named directories for PCH files.
2099
2100         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
2101
2102         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
2103         reorder options.
2104         (Type Information): Mention that the information is also
2105         used to implement PCH.
2106         * doc/passes.texi (Passes): Improve documentation of
2107         language-specific files.
2108
2109         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
2110
2111         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
2112         (struct walk_type_data): Add reorder_fn field.
2113         (walk_type): Process 'reorder' option.
2114         (write_types_process_field): Reorder parameters to gt_pch_note_object,
2115         call reorder_note_routine.
2116         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
2117         (ggc_wtd): Update for change to struct write_types_data.
2118         (pch_wtd): Likewise.
2119         * ggc.h (gt_pch_note_object): Reorder parameters.
2120         (gt_handle_reorder): New definition.
2121         (gt_pch_note_reorder): New prototype.
2122         * ggc-common.c (struct ptr_data): Add reorder_fn.
2123         (gt_pch_note_object): Reorder parameters.
2124         (gt_pch_note_reorder): New.
2125         (gt_pch_save): Call reorder_fn.
2126         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
2127
2128         * dbxout.c (cwd): Don't mark for PCH.
2129
2130         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
2131
2132         * gengtype.c (finish_root_table): Fix some warnings.
2133         (write_root): Handle TYPE_STRING.
2134         * ggc.h (gt_ggc_m_S): Add prototype.
2135         * stringpool.c (gt_ggc_m_S): New function.
2136
2137         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
2138
2139         * dwarf2out.c (dw2_string_counter): New.
2140         (AT_string_form): Use it.
2141         (same_dw_val_p): Update for removal of hashtable.h hash tables.
2142
2143         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
2144
2145         * dbxout.c: Include gt-dbxout.h.
2146         (lastfile): Mark for PCH/GGC.
2147         (cwd): Likewise.
2148         (struct typeinfo): Likewise.
2149         (typevec): Likewise.
2150         (typevec_len): Likewise.
2151         (next_type_number): Likewise.
2152         (struct dbx_file): Likewise.
2153         (current_file): Likewise.
2154         (next_file_number): Likewise.
2155         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
2156         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
2157         (dbxout_end_source_file): Don't free struct dbx_file.
2158         (dbxout_type): Use GGC to allocate typevec.
2159         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
2160         (GTFILES): Add dbxout.c.
2161         (gt-dbxout.h): New rule.
2162
2163         * Makefile.in (c-pch.o): Add debug.h as dependency.
2164         * c-pch.c: Include debug.h.
2165         (pch_init): Call start_source_file to keep nesting right.
2166         (c_common_read_pch): Add orig_name parameter.  Call
2167         start_source_file debug hook.  Call end_source_file debug hook.
2168         * c-common.h (c_common_read_pch): Update prototype.
2169         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
2170         callback.
2171         * cppfiles.c (struct include_file): Add new field `header_name'.
2172         (find_or_create_entry): Default it to `name'.
2173         (open_file_pch): Set it to the original header file searched for.
2174         (stack_include_file): Don't stack an empty buffer, just handle
2175         PCH files immediately.  Pass header_name field to read_pch callback.
2176
2177         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
2178
2179         * function.c (funcdef_no): Mark to be saved in a PCH.
2180
2181         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2182
2183         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
2184
2185         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
2186
2187         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
2188
2189         * optabs.h (code_to_optab): Add GTY marker.
2190
2191         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
2192
2193         * Makefile.in (GTFILES): Add cpplib.h.
2194         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
2195         * c-decl.c (build_compound_literal): Don't use var_labelno.
2196         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
2197         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
2198         * varasm.c (const_labelno): Use gengtype to mark.
2199         (var_labelno): Likewise.
2200         (in_section): Likewise.
2201         (in_named_name): Likewise.
2202         (struct in_named_entry): Likewise.
2203         (in_named_htab): Likewise.
2204         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
2205         (init_varasm_once): Use GGC to allocate in_named_htab.
2206         * config/darwin.c (current_pic_label_num): Mark for PCH.
2207
2208         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
2209
2210         * ggc-simple.c (init_ggc_pch): New stub procedure.
2211         (ggc_pch_count_object): Likewise.
2212         (ggc_pch_total_size): Likewise.
2213         (ggc_pch_this_base): Likewise.
2214         (ggc_pch_alloc_object): Likewise.
2215         (ggc_pch_prepare_write): Likewise.
2216         (ggc_pch_write_object): Likewise
2217         (ggc_pch_finish): Likewise.
2218         (ggc_pch_read): Likewise.
2219
2220         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
2221
2222         * c-pch.c (c_common_write_pch): Write the macro definitions after
2223         the GCed data.
2224         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
2225         definitions after the GCed data.
2226         * cpplib.c (save_macros): New.
2227         (reset_ht): New.
2228         (cpp_write_pch_deps): Split out of cpp_write_pch.
2229         (cpp_write_pch_state): Split out of cpp_write_pch.
2230         (cpp_write_pch): Delete.
2231         (struct save_macro_data): Delete.
2232         (cpp_prepare_state): New.
2233         (cpp_read_state): Erase and restore initial macro definitions.
2234         * cpplib.h (struct save_macro_data): Forward-declare.
2235         (cpp_write_pch_deps): Prototype.
2236         (cpp_write_pch_state): Prototype.
2237         (cpp_write_pch): Delete prototype.
2238         (cpp_prepare_state): Prototype.
2239         (cpp_read_state): Add fourth argument.
2240
2241         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
2242
2243         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
2244         (write_array): Remove warning.
2245
2246         * gengtype.c (contains_scalar_p): New.
2247         (finish_root_table): Add the table to all languages, even if it's
2248         empty.
2249         (write_roots): Output gt_pch_scalar_rtab.
2250         * ggc-common.c (gt_pch_save): Write out scalars.
2251         (gt_pch_restore): Read scalars back.
2252
2253         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
2254         (struct page_entry): Delete pch_page field.
2255         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
2256         (clear_marks): Likewise.
2257         (sweep_pages): Likewise.
2258         (poison_pages): Likewise.
2259         (ggc_print_statistics): Likewise.
2260         (ggc_pch_read): Don't free objects read from a PCH.
2261         Properly set up in_use_p and page_tails.
2262
2263         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
2264
2265         * gengtype.c (struct write_types_data): New.
2266         (struct walk_type_data): Make `cookie' const; add extra
2267         prev_val item; add `orig_s' field.
2268         (walk_type): Update prev_val[3].
2269         (write_types_process_field): New.
2270         (write_func_for_structure): Take write_types_data structure.
2271         (write_types): New.
2272         (ggc_wtd): New.
2273         (pch_wtd): New.
2274         (write_types_local_process_field): New.
2275         (gc_mark_process_field): Delete.
2276         (write_local_func_for_structure): New.
2277         (gc_mark_func_name): Delete.
2278         (write_gc_types): Delete.
2279         (write_local): New.
2280         (finish_root_table): Don't include 'ggc_' in PFX.
2281         (write_root): Rename from write_root.  Fill pchw field of structures.
2282         (write_array): New.
2283         (write_roots): Rename from write_gc_roots.  Split out to write_array.
2284         Update to changes to other routines.  Write gt_pch_cache_rtab table.
2285         (main): Write PCH walking routines.
2286         * ggc-common.c: Include toplev.h, sys/mman.h.
2287         (ggc_mark_roots): For cache hashtables, also mark the hash table
2288         and the array of entries.
2289         (saving_htab): New.
2290         (struct ptr_data): New.
2291         (POINTER_HASH): New.
2292         (gt_pch_note_object): New.
2293         (saving_htab_hash): New.
2294         (saving_htab_eq): New.
2295         (struct traversal_state): New.
2296         (call_count): New.
2297         (call_alloc): New.
2298         (compare_ptr_data): New.
2299         (relocate_ptrs): New.
2300         (write_pch_globals): New.
2301         (struct mmap_info): New.
2302         (gt_pch_save): New.
2303         (gt_pch_restore): New.
2304         * ggc-page.c (ROUND_UP_VALUE): New.
2305         (ROUND_UP): New.
2306         (struct page_entry): Add field `pch_page'.
2307         (init_ggc): Use ROUND_UP.
2308         (struct ggc_pch_data): Declare.
2309         (init_ggc_pch): New.
2310         (ggc_pch_count_object): New.
2311         (ggc_pch_total_size): New.
2312         (ggc_pch_this_base): New.
2313         (ggc_pch_alloc_object): New.
2314         (ggc_pch_prepare_write): New.
2315         (ggc_pch_write_object): New.
2316         (ggc_pch_finish): New.
2317         (ggc_pch_read): New.
2318         * ggc.h (gt_pointer_operator): New.
2319         (gt_note_pointers): New.
2320         (gt_pch_note_object): New prototype.
2321         (gt_pointer_walker): New.
2322         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
2323         (LAST_GGC_ROOT_TAB): Update.
2324         (gt_pch_cache_rtab): Declare.
2325         (gt_pch_scalar_rtab): Declare.
2326         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
2327         (LAST_GGC_CACHE_TAB): Update.
2328         (gt_pch_save_stringpool): Declare.
2329         (gt_pch_restore_stringpool): Declare.
2330         (gt_pch_p_S): Declare.
2331         (gt_pch_n_S): Declare.
2332         (struct ggc_pch_data): Forward-declare.
2333         (init_ggc_pch): Declare.
2334         (ggc_pch_count_object): Declare.
2335         (ggc_pch_total_size): Declare.
2336         (ggc_pch_this_base): Declare.
2337         (ggc_pch_alloc_object): Declare.
2338         (ggc_pch_prepare_write): Declare.
2339         (ggc_pch_write_object): Declare.
2340         (ggc_pch_finish): Declare.
2341         (ggc_pch_read): Declare.
2342         (gt_pch_save): Declare.
2343         (gt_pch_restore): Declare.
2344         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
2345         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
2346         const_double_htab, mem_attrs_htab using GGC.
2347         * c-pch.c: Include ggc.h.
2348         (pch_init): Allow reading PCH file back.
2349         (c_common_write_pch): Call gt_pch_save.
2350         (c_common_read_pch): Call gt_pch_restore.
2351         * c-parse.in (init_reswords): Delete now-untrue comment.
2352         Allocate ridpointers using GGC.
2353         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
2354         calling expand_deferred_fns.
2355         * c-common.h (ridpointers): Mark for GTY machinery.
2356         * Makefile.in (stringpool.o): Update dependencies.
2357         (c-pch.o): Update dependencies.
2358         (ggc-common.o): Update dependencies.
2359         * stringpool.c: Include gt-stringpool.h.
2360         (gt_pch_p_S): New.
2361         (gt_pch_n_S): New.
2362         (struct string_pool_data): New.
2363         (spd): New.
2364         (gt_pch_save_stringpool): New.
2365         (gt_pch_restore_stringpool): New.
2366         * tree.c (init_ttree): Make type_hash_table allocated using GC.
2367
2368         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
2369
2370         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
2371         (output_mangled_typename): Don't pass size_t to printf.
2372
2373         * tree.h (union tree_type_symtab): Add tag to `address' field.
2374         (union tree_decl_u2): Add tag to 'i' field.
2375         * varasm.c (union rtx_const_un): Add tags to all fields.
2376         * gengtype.c (struct walk_type_data): New.
2377         (output_escaped_param): Take struct walk_type_data parameter.
2378         (write_gc_structure_fields): Delete.
2379         (walk_type): New.
2380         (write_gc_marker_routine_for_structure): Delete.
2381         (write_func_for_structure): New.
2382         (gc_mark_process_field): New.
2383         (gc_mark_func_name): New.
2384         (gc_counter): Delete.
2385         (write_gc_types): Use write_func_for_structure.
2386         (write_gc_roots): Use walk_type.
2387
2388         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
2389
2390         * ggc-common.c (ggc_mark_roots): Delete 'x'.
2391         (ggc_splay_dont_free): Fix warning about unused 'x'.
2392         (ggc_print_common_statistics): Remove warnings.
2393
2394         2002-10-01  Mike Stump  <mrs@apple.com>
2395
2396         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
2397         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
2398
2399         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
2400             Catherine Moore  <clm@redhat.com>
2401
2402         * Makefile (c-pch.o): Update dependencies.
2403         (LIBCPP_OBJS): Add cpppch.o.
2404         (cpppch.o): New.
2405         * c-common.c (c_common_init): Don't call pch_init here.
2406         * c-common.h (c_common_read_pch): Update prototype.
2407         * c-lex.c (c_common_parse_file): Call pch_init here.
2408         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
2409         (c_common_decode_option): Handle them.
2410         * c-pch.c: Include c-pragma.h.
2411         (save_asm_offset): Delete.
2412         (pch_init): Move contents of save_asm_offset into here, call
2413         cpp_save_state.
2414         (c_common_write_pch): Call cpp_write_pch.
2415         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
2416         cpp_valid_state.
2417         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
2418         * cppfiles.c (stack_include_file): Update for change to
2419         parameters of cb.read_pch.
2420         * cpphash.h (struct cpp_reader): Add `savedstate' field.
2421         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
2422         `restore_pch_deps' fields.
2423         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
2424         (cpp_save_state): Prototype.
2425         (cpp_write_pch): Prototype.
2426         (cpp_valid_state): Prototype.
2427         (cpp_read_state): Prototype.
2428         * cpppch.c: New file.
2429         * flags.h (version_flag): Remove prototype.
2430         * mkdeps.c (deps_save): New.
2431         (deps_restore): New.
2432         * mkdeps.h (deps_save): Prototype.
2433         (deps_restore): Prototype.
2434         * toplev.c (late_init_hook): Delete.
2435         (version_flag): Make static again.
2436         (compile_file): Don't call late_init_hook.
2437         * toplev.h (late_init_hook): Delete.
2438         * doc/cppopts.texi: Document -fpch-deps.
2439         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
2440
2441         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
2442
2443         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
2444         callers.
2445         (c_common_valid_pch): Rename from c_valid_pch, change callers.
2446         (c_common_read_pch): Rename from c_read_pch, change callers.
2447
2448         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
2449         a space between it and its argument.
2450
2451         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
2452
2453         * c-pch.c: New file.
2454         * toplev.h (late_init_hook): Declare.
2455         * toplev.c (late_init_hook): Define.
2456         (version_flag): Make globally visible.
2457         (compile_file): Call late_init_hook.
2458         (init_asm_output): Make output file seekable.
2459         * gcc.c (default_compilers): Update c-header rule.
2460         * flags.h (version_flag): Declare.
2461         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
2462         fields.
2463         * cppfiles.c (struct include_file): Add 'pch' field.
2464         (INCLUDE_PCH_P): New.
2465         (open_file_pch): New.
2466         (stack_include_file): Handle PCH files specially.
2467         (find_include_file): Call open_file_pch instead of open_file.
2468         (_cpp_read_file): Explain why open_file is used instead of
2469         open_file_pch.
2470         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
2471         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
2472         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
2473         in cpplib callbacks.
2474         * c-common.c (pch_file): Correct comment.
2475         (allow_pch): Define.
2476         (c_common_init): Call pch_init.
2477         * c-common.h (allow_pch): Declare.
2478         (pch_init): Declare.
2479         (c_valid_pch): Declare.
2480         (c_read_pch): Declare.
2481         (c_write_pch): Declare.
2482         * Makefile.in (c-pch.o): New.
2483         (C_AND_OBJC_OBJS): Add c-pch.o.
2484         * doc/invoke.texi (Precompiled Headers): Add index entries,
2485         complete truncated paragraph.
2486
2487         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
2488
2489         * c-common.c: (pch_file): Define.
2490         * c-common.h (pch_file): Declare.
2491         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
2492         (missing_arg): Require --output-pch= to have an argument.
2493         (c_common_decode_option): Handle --output-pch=.
2494         * gcc.c: Document new %V.
2495         (default_compilers): Handle compiling C header files.
2496         (do_spec_1): Implement %V.
2497         (main): Handle "gcc foo.h" without trying to run linker.
2498         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
2499         (Overall Options): Document what the driver does with header files,
2500         document new -x option possibilities.
2501         (Invoking G++): More documentation for PCH.
2502         (Precompiled Headers): New.
2503
2504         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
2505
2506         * ggc.h: Don't include varray.h.  Rearrange functions to be more
2507         organized.
2508         (ggc_add_root): Delete.
2509         (ggc_mark_rtx): Delete.
2510         (ggc_mark_tree): Delete.
2511         (struct ggc_statistics): Remove contents.
2512         * ggc-common.c: Remove unneeded includes.
2513         (struct ggc_root): Delete.
2514         (roots): Delete.
2515         (ggc_add_root): Delete.
2516         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
2517         (ggc_print_common_statistics): Remove most of the contents.
2518         * Makefile.in (GGC_H): No longer uses varray.h.
2519         (ggc-common.o): Update dependencies.
2520         (c-parse.o): Add varray.h to dependencies.
2521         (c-common.o): Add varray.h.
2522         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
2523         (mark_ident_hash): Rename to ggc_mark_stringpool.
2524         (init_stringpool): Don't use ggc_add_root.
2525         * c-parse.in: Include varray.h.
2526         * c-common.c: Include varray.h.
2527         * objc/Make-lang.in (objc-act.o): Add varray.h.
2528         * objc/objc-act.c: Include varray.h.
2529
2530         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
2531
2532         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
2533         (dw_cfi_oprnd1_desc): Likewise.
2534
2535         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
2536
2537         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
2538         move out of ifdef.
2539         (alpha_links): Use gengtype to mark; move out of ifdef.
2540         (mark_alpha_links_node): Delete.
2541         (mark_alpha_links): Delete.
2542         (alpha_need_linkage): Use GGC to allocate splay tree, struct
2543         alpha_links, strings.  Don't use ggc_add_root.
2544         * ggc-common.c (ggc_splay_alloc): New.
2545         (ggc_splay_dont_free): New.
2546         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
2547         (ggc_mark_tree): Likewise.
2548         (splay_tree_new_ggc): New.
2549         (ggc_splay_alloc): Declare.
2550         (ggc_splay_dont_free): Declare.
2551         * dwarf2asm.c: Include gt-dwarf2asm.h.
2552         (mark_indirect_pool_entry): Delete.
2553         (mark_indirect_pool): Delete.
2554         (indirect_pool): Use gengtype to mark.
2555         (dw2_force_const_mem): Don't use ggc_add_root.
2556         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
2557         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
2558         (gt-dwarf2asm.h): Depend on s-gtype.
2559
2560         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
2561
2562         * tree.h (union tree_type_symtab): Mark `die' field.
2563         * Makefile.in (dwarf2out.o): Update dependencies.
2564         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
2565         hash tables.
2566         (dw_cfi_oprnd1_desc): New function.
2567         (dw_cfi_oprnd2_desc): New function.
2568         (indirect_string_alloc): Delete.
2569         (debug_str_do_hash): New function.
2570         (debug_str_eq): New function.
2571         (mark_limbo_die_list): Delete.
2572         (dwarf2out_init): Don't call ggc_add_root.
2573
2574 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
2575
2576         The following changes are merged from itanium-sched-branch:
2577
2578         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
2579
2580         * doc/md.texi: Clarify assignment of units to automata description.
2581
2582         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
2583
2584         * genautomata.c (unit_decl): Remove members
2585         `the_same_automaton_unit' and
2586         `the_same_automaton_message_reported_p'.
2587         (process_unit_to_form_the_same_automaton_unit_lists,
2588         form_the_same_automaton_unit_lists_from_regexp,
2589         form_the_same_automaton_unit_lists, the_same_automaton_lists):
2590         Remove them.
2591         (annotation_message_reported_p): New global variable.
2592         (check_unit_distribution_in_reserv,
2593         check_regexp_units_distribution): New functions.
2594         (check_unit_distributions_to_automata): Rewrite it.
2595
2596         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
2597
2598         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
2599         Use continue instead of break if cycle is too big.
2600
2601         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
2602
2603         * genautomata.c (check_unit_distributions_to_automata): Output at
2604         most one message for a unit.
2605         (process_unit_to_form_the_same_automaton_unit_lists): Check
2606         automaton of units instead of units themself.
2607
2608         * doc/md.texi: Describe the constraint about assigning unit to
2609         automata.
2610
2611         2002-12-20  Jan Hubicka  <jH@suse.cz>
2612                     Vladimir Makarov  <vmakarov@redhat.com>
2613
2614         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
2615         and `in_set_p'.
2616         (gen_cpu_unit): Initialize the new members.
2617         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
2618         up `min_occ_cycle_num'.
2619         (evaluate_max_reserv_cycles): Change the function call.
2620         (CLEAR_BIT): New macro.
2621         (states_union, state_shift): Use the mask.
2622         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
2623         (form_reservs_matter): New function.
2624         (make_automaton): Call the function and use the mask.
2625         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
2626         account.
2627
2628         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
2629
2630         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
2631
2632         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
2633
2634         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
2635         for Itanium.
2636
2637         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
2638
2639         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
2640         default cpu.
2641
2642         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
2643                 2002-10-31  Dale Johannesen <dalej@apple.com>
2644
2645         * haifa-sched.c (find_set_reg_weight): New function.
2646         (find_insn_reg_weight): Use the new function.
2647         (schedule_block): Do sorting ready queue always
2648         after insn issue.
2649
2650         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
2651
2652         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
2653
2654         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
2655
2656         * haifa-sched.c (choice_entry): New structure.
2657         (choice_stack, cycle_issued_insns): New variables.
2658         (max_issue): Rewrite it.
2659         (choose_ready): Set up ready_try for unknown insns too.
2660         (schedule_block): Allocate and free choice_stack.  Set up
2661         and modify cycle_issued_insns.
2662
2663         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
2664         with and without filling the bundle.
2665         (bundling): Combine calls of issue_nops_and_insn.
2666
2667         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
2668
2669         * config/ia64/itanium1.md: New file.
2670
2671         * config/ia64/itanium2.md: New file.
2672
2673         * config/ia64/ia64.md: Move DFA descriptions into the new files.
2674         Remove the old pipeline description.
2675
2676         * config/ia64/ia64.c (ia64_override_options): Add aliases of
2677         itanium processor names.
2678
2679         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
2680
2681         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
2682         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
2683
2684         * config/ia64/ia64.md: Add descriptions for Itanium2.
2685
2686         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
2687
2688         * config/ia64/ia64.h (processor_type): New enumeration.
2689         (ia64_tune, ia64_tune_string): New external declarations.
2690         (TARGET_OPTIONS): Add option `tune='.
2691
2692         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
2693         variables.
2694         (ia64_override_options): Set up `ia64_tune'.
2695         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
2696         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
2697         (bundling): Add nops for MM-insns only for Itanium.
2698         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
2699         Itanium.
2700
2701         * config/ia64/ia64.md (cpu): New attribute.
2702         (DFA description): Enable it only for Itanium.
2703
2704         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
2705                     Richard Henderson  <rth@redhat.com>
2706
2707         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
2708         MASK_EARLY_STOP_BITS.
2709         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
2710         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
2711         `early-stop-bits'.
2712
2713         * config/ia64/ia64.c (ia64_dfa_new_cycle,
2714         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
2715         instead of TARGET_TUNE_STOP_BITS.
2716
2717         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
2718         `-mearly-stop-bits'.
2719
2720         * config/ia64/ia64.c (automata_option "v"): Comment it.
2721
2722         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
2723
2724         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
2725         New macros.
2726         (TARGET_SWITCHES): Add entries for the new option.
2727
2728         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
2729         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
2730         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
2731         global variables.
2732         (ia64_sched_reorder2): Set up `clocks'.
2733         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
2734         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
2735         queue when TARGET_TUNE_STOP_BITS.
2736         (bundling): Insert additional nops for MM-insns.
2737         (final_emit_insn_group_barriers): Add insertion of stop bits
2738         according `stops_p'.
2739         (ia64_reorg): Initiate the new varibales.
2740
2741         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
2742
2743         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
2744
2745         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
2746         insns at the end of block insn scheduling.
2747
2748         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
2749
2750         * sched-deps.c (remove_dependence, group_leader): Remove it.
2751         (add_dependence): Add dependence to group leader to.
2752         (set_sched_group_p): Add dependence to the first insn of the
2753         schedule group too.
2754         (sched_analyze_insn): Make dependence to jump as anti-dependence.
2755         Change true dependence by anti-dependence when
2756         `reg_pending_barrier'.
2757
2758         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
2759         add_branch_dependences): Ignore schedule groups.
2760
2761         * sched-ebb.c (init_ready_list): Ditto.
2762
2763         * (move_insn, set_priorities): Ditto.
2764
2765         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
2766         flag is clear after reload.
2767         (adjust_cost): Change cost only for output dependencies.
2768
2769         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
2770
2771         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
2772
2773         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
2774
2775         * target.h (gcc_target): Add member
2776         `dependencies_evaluation_hook'.
2777
2778         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
2779         macro.
2780         (TARGET_SCHED): Add initiatialization of the new member.
2781
2782         * sched-ebb.c: Include `target.h'.
2783         (schedule_ebb): Call `dependencies_evaluation_hook'.
2784
2785         * sched-rgn.c (schedule_region): Call
2786         `dependencies_evaluation_hook'.
2787
2788         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2789         New macro.
2790         (ia64_dependencies_evaluation_hook): New function.
2791
2792         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
2793         Describe the new hook.
2794
2795         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
2796
2797         * target.h (gcc_target): Add members
2798         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
2799
2800         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
2801         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
2802         macros.
2803         (TARGET_SCHED): Add initiatialization of the new members.
2804
2805         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
2806         insn scheduling too.
2807         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
2808         initialize `ready_try'.
2809         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
2810         `dfa_new_cycle' says not to do it.
2811
2812         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
2813         bundling.
2814
2815         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
2816
2817         * config/ia64/ia64.c: Include `hashtab.h'.
2818         (ia64_first_cycle_multipass_dfa_lookahead_guard,
2819         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
2820         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
2821         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
2822         bundle_state_eq_p, insert_bundle_state,
2823         initiate_bundle_state_table, finish_bundle_state_table,
2824         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
2825         get_template, get_next_important_insn, bundling): New functions.
2826         (ia64_internal_sched_reorder): Remove it.
2827         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2828         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
2829         (ia64_safe_itanium_requires_unit0): Remove it.
2830         (group_barrier_needed_p): Place group barrier right before a real
2831         insn.
2832         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
2833         Remove them.
2834         (bundle_name): New variable.
2835         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
2836         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
2837         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
2838         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
2839         temp_dfa_state, prev_cycle_state): New global variables.
2840         (insn_matches_slot, maybe_rotate, finish_last_head,
2841         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
2842         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
2843         find_best_packet, itanium_reorder, dump_current_packet,
2844         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
2845         (sched_data, sched_ready, sched_types): Remove them.
2846         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
2847         `init_insn_group_barriers'.
2848         (ia64_sched_reorder, ia64_sched_reorder2): Call
2849         ia64_dfa_sched_reorder.
2850         (ia64_variable_issue): Rewrite it.
2851         (bundle_state): New structure.
2852         (index_to_bundle_states, bundle_states_num,
2853         allocated_bundle_states_chain, free_bundle_state_chain): New
2854         global variables.
2855         (ia64_sched_finish): Add stop bits and call `bundling' after the
2856         2nd insn scheduling.
2857         (ia64_use_dfa_pipeline_interface): Return zero always.
2858         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
2859         insn scheduling.
2860         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
2861         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
2862         (ia64_reorg): Add bundling insns.
2863
2864         * doc/tm.texi
2865         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
2866         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
2867
2868         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
2869
2870         * config/ia64/ia64.md: Add Itanium1 DFA description.
2871         (itanium_class): Add `nop' and `pre_cycle'.  Add
2872         define_function_unit for `nop'.
2873         (nop): Change attribute `itanium_class'.
2874         (pre_cycle): New define_insn.
2875
2876         * config/ia64/ia64-protos.h (bundling_p): New external variable.
2877         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
2878         ia64_produce_address_p): New function prototypes.
2879
2880         * config/ia64/ia64.c (bundling_p): New global variable.
2881         (ia64_use_dfa_pipeline_interface,
2882         ia64_first_cycle_multipass_dfa_lookahead,
2883         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
2884         functions.
2885         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2886         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2887         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
2888         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
2889         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
2890         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
2891         (dfa_pre_cycle_insn): New variable.
2892
2893         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2894
2895         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
2896         constructions.
2897
2898         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
2899         New function prototypes.
2900
2901         * genattrtab.c (main): Process the new constructions.
2902
2903         * genautomata.c (gen_presence_absence_set,
2904         process_presence_absence_names, process_presence_absence_patterns,
2905         add_presence_absence, check_absence_pattern_sets): Add parameter
2906         `final_p'.
2907         (unit_decl): Add new members `final_presence_list' and
2908         `final_absence_list'.
2909         (unit_pattern_rel_decl): Add new member `final_p'.
2910         (gen_final_presence_set, gen_final_absence_set): New functions.
2911         (process_decls): Use member `final_p'.
2912         (temp_reserv): New global variable.
2913         (reserv_sets_are_intersected): Add processing `final_presence_set'
2914         and `final_absence_set'.
2915         (initiate_states): Allocate `temp_reserv'.
2916         (unit_final_presence_set_table, unit_final_absence_set_table): New
2917         gloabal variables.
2918         (initiate_presence_absence_pattern_sets): Initiate them.
2919         (NDFA_to_DFA): Fix typo.
2920         (output_description): Output `final_presence_set' and
2921         `final_absence_set'.
2922
2923         * doc/md.texi (final_presence_set, final_absence_set): Describe
2924         them.
2925
2926         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2927
2928         * genautomata.c (transform_3): Process a missing case (nothing on
2929         unit place).
2930
2931         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
2932
2933         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
2934         comments about queried units and the minimization.
2935
2936         * doc/md.texi: Ditto.
2937
2938         * genautomata.c (create_composed_state): Return nonzero if the new
2939         state has been created.
2940         (first_cycle_unit_presence): New function.
2941         (state_is_differed): Add new parameter.  Use the new function.
2942         Take queried units into account.
2943         (partition_equiv_class): Pass additional parameter to
2944         `state_is_differed'.
2945         (merge_states): Process composed states too.
2946         (build_automaton, create_automata, output_min_issue_delay_table,
2947         output_tables, output_statistics): Output more information.
2948         (output_reserved_units_table): Use function
2949         `first_cycle_unit_presence'.
2950         (output_tables): Output table of queried units even if the
2951         minimization is switched on.
2952         (write_automata): Output code for querying units even if the
2953         minimization is switched on.
2954
2955         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
2956
2957         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
2958         syntax of the constructions.
2959
2960         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
2961         extended syntax of the constructions.
2962
2963         * genautomata.c (unit_rel_decl): Rename it to
2964         `unit_pattern_rel_decl'.
2965         (pattern_set_el, pattern_reserv): New structures.
2966         (pattern_set_el_t, pattern_reserv_t): New types.
2967         (gen_presence_absence_set): New function.
2968         (process_presence_absence): Remove it.
2969         (process_presence_absence_names,
2970         process_presence_absence_patterns): New functions.
2971         (get_presence_absence_set): Remove it.
2972         (initiate_presence_absence_sets): Rename it on
2973         `initiate_presence_absence_pattern_sets'.  Use new function
2974         `form_reserv_sets_list'.
2975         (form_reserv_sets_list, check_presence_pattern_sets,
2976         check_absence_pattern_sets, output_pattern_set_el_list): New
2977         functions.
2978         (unit_decl): Change types of members `presence_list' and
2979         `absence_list'.
2980         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
2981         (decl): Change types of members `excl', `presence', and `absence'.
2982         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
2983         at the end of the vector.
2984         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
2985         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
2986         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
2987         (gen_presence_set, gen_absence_set): Use new function
2988         `gen_presence_absence_set'.
2989         (add_presence_absence): Process `pattern_list' instead of
2990         `source_list'.
2991         (process_decls): USe new functions
2992         `process_presence_absence_names' and
2993         `process_presence_absence_patterns'.
2994         (reserv_sets_are_intersected): Use new function
2995         `check_presence_pattern_sets'.
2996         (presence_set, absence_set): Remove them.
2997         (unit_presence_set_table, unit_absence_set_table): New global
2998         variables.
2999         (output_description): Use new function
3000         `output_pattern_set_el_list'.
3001         (generate): Use `initiate_presence_absence_pattern_sets'.
3002
3003         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
3004
3005         * genattr.c (main): Add output of prototype of new interface
3006         function `dfa_clean_insn_cache'.
3007
3008         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
3009         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
3010         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
3011         the generated code.
3012         (write_automata): Call the new function.
3013
3014 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
3015
3016         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
3017         correctly.
3018
3019 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
3020
3021         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
3022
3023 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
3024
3025         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
3026         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
3027         (CONSTRAINT_LEN): Provide default definition.
3028         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
3029         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
3030         (EXTRA_CONSTRAINT_STR): Likewise.
3031         (REG_CLASS_FROM_CONSTRAINT): Define.
3032         * genoutput.c (check_constraint_len, constraint_len): New functions.
3033         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
3034         constraint / modifier.
3035         (gen_insn): Call check_constraint_len.
3036         * local-alloc.c (block_alloc): Update to use new macros / pass
3037         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
3038         * ra-build.c (handle_asm_insn): Likewise.
3039         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
3040         (constrain_operands, peep2_find_free_register): Likewise.
3041         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
3042         * regmove.c (find_matches): Likewise.
3043         * reload.c (push_secondary_reload, find_reloads): Likewise.
3044         (alternative_allows_memconst): Likewise.
3045         * reload1.c (maybe_fix_stack_asms): Likewise.
3046         (reload_cse_simplify_operands): Likewise.
3047         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
3048         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
3049         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
3050         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
3051         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
3052         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
3053
3054         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
3055
3056 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3057
3058         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
3059         length.
3060         (*extzv_1_r_h8300hs): Likewise.
3061         (*extzv_1_r_inv_h8300): Likewise.
3062         (*extzv_1_r_inv_h8300hs): Likewise.
3063
3064 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3065
3066         * config/h8300/h8300.h (PREDICATE_CODES): New.
3067
3068 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3069
3070         * config/h8300/h8300.md (*addsi3_upper): New.
3071         (*iorsi3_shift): Likewise.
3072         (two splitters): Likewise.
3073         (*addsi3_shift): Likewise.
3074         (two splitters): Likewise.
3075
3076 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
3077
3078         * Makefile.in (optabs.o): Add dependency on basic-block.h.
3079         * basic-block.h (control_flow_insn_p): Fuction was exported.
3080         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
3081         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
3082         notes only when the region is contained in a single basic block.
3083
3084 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3085
3086         PR inline-asm/8832
3087         * tree.h (expand_asm): New prototype.
3088         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
3089         to do so.
3090         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
3091         down to expand_asm.
3092         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
3093         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
3094         (volatile_refs_p) [ASM_INPUT]: Likewise.
3095         (side_effects_p) [ASM_INPUT]: Likewise.
3096
3097 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
3098
3099         * i386.md (*mul*): FIx constraints; remove confused comment; fix
3100         athlon_decode attributes
3101         (imul/k8 optimization peep2s): New.
3102
3103         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
3104         * i386.md (type attribute): Add ssecomi.
3105         (unit, memory, prefix attributes): Handle ssecomi.
3106         (cvt?2? patterns): Fix athlon_decode attribute
3107         (comi patterns): Set attribute to ssecomi.
3108
3109         PR target/8343
3110         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
3111
3112 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
3113
3114         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
3115         that match register_operands.
3116         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
3117         register_operand the default case.
3118
3119 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3120
3121         PR c/8032
3122         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
3123         an empty element, do not advance the pointer to unfilled
3124         fields if there are pending initializers.
3125
3126 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
3127
3128         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
3129         (install-gcc-tooldir, install-cpp, installdirs,
3130         install-common, install-driver, install-info, install-man,
3131         install-headers, install-include-dir, install-headers-tar,
3132         install-headers-cpio, install-headers-cp, install-mkheaders,
3133         install-collect2, uninstall): Prepend $(DESTDIR) to
3134         destination paths in all (un)installation commands.
3135         (install-driver): Rewrite $(LN) commands to support DESTDIR
3136         with "ln" as well as with "ln -s".
3137         (installdirs): Simply use mkinstalldirs.
3138         (install-libgcc, install-multilib): Also pass DESTDIR.
3139         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
3140         installation destination variable ldir.
3141         * config/alpha/t-osf4, config/arm/t-netbsd,
3142         config/ia64/t-hpux, config/mips/t-iris5-6,
3143         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
3144         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
3145         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
3146         in the definition of SHLIB_INSTALL.
3147         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
3148         $(libsubdir) in the installation commands.
3149
3150 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
3151
3152         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
3153         non-optimizing compile.
3154         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
3155         compile.
3156
3157 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
3158
3159         * config/i386/i386.c (ix86_attribute_table): Add new attributes
3160         ms_struct and gcc_struct.
3161         (ix86_handle_struct_attribute): New function.
3162         (ix86_ms_bitfield_layout_p): Update to take new attributes
3163         into account.
3164         * doc/extend.texi: Document new attributes.
3165         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
3166
3167 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
3168
3169         PR optimization/8750
3170         * config/i386/i386.c (ix86_expand_prologue): Don't allow
3171         scheduling pass to move insns across __alloca call.
3172
3173 2003-01-08  Dale Johannesen  <dalej@apple.com>
3174
3175         * config/rs6000/rs6000.md:  Replace *store_multiple_string
3176         with *stmsi[3-8].
3177
3178 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
3179
3180         PR target/9210
3181         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
3182         Set SYMBOL_REF_FLAG on local data sym_ref.
3183
3184 2003-01-08  Dale Johannesen  <dalej@apple.com>
3185
3186         * function.c (assign_parms):  Don't set pretend_args_size if
3187           REG_PARM_STACK_SPACE.
3188           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
3189           pretend_args_size.
3190
3191 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
3192
3193         * gcc.hlp: Delete.
3194
3195 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
3196
3197         * i386.c  (ix86_expand_int_addcc): Fix thinko.
3198
3199 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
3200
3201         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
3202         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
3203         as hook_bool_tree_hwi_hwi_tree_true.
3204         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
3205         (rs6000_emit_epilogue): Same.
3206         (rs6000_output_mi_thunk): Re-implement as RTL.
3207         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
3208         xcoffout_declare_function if any debugging enabled.
3209
3210 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
3211
3212         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
3213         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
3214         * config/mips/mips.h (enum processor_type): Rename
3215         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
3216         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
3217         Add PROCESSOR_M4K.
3218         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
3219         (ISA_MIPS32R2): New define.
3220         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
3221         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
3222         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
3223         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
3224         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
3225         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
3226         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
3227         compiling MIPS16 code.
3228         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
3229         comment.
3230         (ISA_HAS_SEB_SEH): New define.
3231         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
3232         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
3233         processor_type value renaming.  Add support for MIPS32R2.
3234         Clean up comments, and move "sb1" entry with other MIPS64 CPU
3235         entries.
3236         (override_options): Reimplement -mipsN option handling so that
3237         it will work correctly for -mips32r2.  Avoid branch-likely
3238         instructions on MIPS32R2.
3239         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
3240         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
3241         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
3242         (extendhisi2_hw, extendqisi2_hw): New.
3243         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
3244         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
3245         MIPS32R2, and MIPS64.
3246         (LINK_SPEC): Pass -mips32r2 to linker.
3247         * config/mips/t-isa3264: Built -mips32r2 multilibs.
3248         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
3249         for mips32r2 in the -march description.  Alphabetically sort
3250         CPU names in the -march description.  Add long-missed -mips32
3251         and -mips64 to MIPS option summary.
3252
3253         * config.gcc: Update copyright years to include 2003.
3254         * config/mips/mips.c: Likewise.
3255         * config/mips/mips.h: Likewise.
3256         * config/mips/mips.md: Likewise.
3257         * config/mips/netbsd.h: Likewise.
3258         * doc/invoke.texi: Likewise.
3259
3260 2003-01-08  Andreas Schwab  <schwab@suse.de>
3261
3262         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
3263         variable.
3264         * configure: Regenerated.
3265
3266 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
3267
3268         * config/h8300/h8300.c (output_logical_op): Replace byte/word
3269         extraction of det with b0, b1, w0, w2, etc.
3270         (compute_logical_op_length): Likewise.
3271         (compute_logical_op_cc): Likewise.
3272
3273 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
3274
3275         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
3276         HIGH on all variants.
3277
3278 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
3279
3280         * Makefile.in (PARTITION_H): New.
3281         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
3282         * basic-block.h: Include hard-reg-set.h.
3283
3284 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
3285
3286         * arm.h (ENABLE_XF_PATTERNS): Delete.
3287         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
3288         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
3289         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
3290         (cmpxf_trap): Delete.
3291         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
3292
3293 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
3294
3295         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
3296         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
3297         (add??cc): New expanders.
3298         * i386.c (expand_int_addcc): New function.
3299         * i386-protos.h (expand_int_addcc): Declare.
3300
3301         * alias.c (memory_modified_1): New static function.
3302         (memory_modified): New static varaible.
3303         (memory_modified_in_insn_p): New global function.
3304         * rtl.h (memory_modified_in_insn_p): Declare.
3305         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
3306         references.
3307
3308         * expr.h (emit_conditional_add): Declare.
3309
3310 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
3311
3312         PR other/8947
3313         * doc/invoke.texi (-malign-double): Explain that the option breaks
3314         binary compatibility.
3315
3316 2003-01-08  Andreas Schwab  <schwab@suse.de>
3317
3318         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
3319         should come from the generic *-*-linux* entry.
3320
3321 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
3322
3323         * cselib.c (cselib_current_insn_in_libcall): New static variable.
3324         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
3325         we are inside libcall.
3326         * cselib.h (elt_loc_list): Add in_libcall.
3327         * gcse.c (do_local_cprop): Do not copy propagate using insns
3328         in libcalls.
3329
3330 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
3331
3332         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
3333         not normally affect to issue rate.
3334
3335 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
3336
3337         * genopinit.c (optabs): Add addc_optab.
3338         * ifcvt.c (noce_try_store_flag): Rename to ...
3339         (noce_try_addcc): ... this one; handle generic conditional increment.
3340         (noce_process_if_block): Update noce_try_addcc call.
3341         * optabs.c (emit_conditional_add): New.
3342         (init_obtabs): Initialize addc_optab.
3343         * optabs.h (optab_index): Add OTI_addcc.
3344         (addcc_optab): New macro.
3345         * md.texi: Document addMcc
3346
3347         PR target/8322
3348         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
3349         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
3350         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
3351
3352         * reload1.c (delete_output_reload): Avoid repeated attempts
3353         to delete insn.
3354
3355 2003-01-07  Andreas Schwab  <schwab@suse.de>
3356
3357         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
3358         Move --enable-initfini-array check ...
3359         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
3360         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
3361         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
3362         * configure: Rebuild.
3363
3364 2003-01-07  Richard Henderson  <rth@redhat.com>
3365
3366         * alias.c (find_base_value): Only use new_reg_base_value shortcut
3367         if the register is set once.
3368
3369 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
3370
3371         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
3372         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
3373         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
3374
3375 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
3376             Sunil Davasam  <sunil.k.davasam@intel.com>
3377
3378         PR libstdc++/9076
3379         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
3380         DW_CFA_same_value, read next and ignore.
3381
3382 2003-01-07  Richard Henderson  <rth@redhat.com>
3383
3384         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
3385
3386 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
3387
3388         * cfg.c: Include alloc-pool.h
3389         (edge_pool): New pool.
3390         (bb_pool): New pool.
3391         (first_deleted_edge): Remove.
3392         (first_deleted_block): Remove.
3393         (init_flow): Alloc/free the pools.
3394         (free_edge): Use pools.
3395         (alloc_block): Ditto.
3396         (expunge_block): Ditto.
3397         (cached_make_edge): Ditto.
3398
3399         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
3400
3401 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
3402
3403         * et-forest.c: Include alloc-pool.h.
3404         (struct et_forest): Add node_pool and occur_pool.
3405         (et_forest_create): Create the new pools.
3406         (et_forest_delete): Delete them.
3407         (et_forest_add_node): Allocate and free using pools.
3408         (et_forest_add_edge): Ditto.
3409         (et_forest_remove_node): Ditto.
3410         (et_forest_remove_edge): Ditto.
3411
3412         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
3413
3414 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
3415
3416         * config/h8300/h8300.c (output_logical_op): Simplify and
3417         optimize the handling of SImode.
3418         * config/h8300/h8300.c (compute_logical_op_length): Update
3419         accordingly.
3420         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
3421
3422 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
3423
3424         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
3425         big-endian correction to indirect arguments too.
3426
3427 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
3428
3429         Segher Boessenkool  <segher@koffie.nl>
3430
3431         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
3432         (alt_reg_names): Ditto, fix formatting.
3433         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
3434
3435 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
3436
3437         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
3438         (output_logical_op): Constify intval and det.
3439         (compute_logical_length): Likewise.
3440         (compute_logical_cc): Likewise.
3441         (output_a_shift): Constify mask.
3442         (h8300_encode_label): Constify len.
3443
3444 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
3445
3446         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
3447         (h8300_expand_epilogue): Likewise.
3448
3449 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
3450
3451         Segher Boessenkool  <segher@koffie.nl>
3452
3453         * config/rs6000/altivec.md: Remove spaces from assembler
3454         instruction argument lists.
3455
3456 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3457
3458         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
3459         c4x_assembler_function_p.
3460         (c4x_null_epilogue_p): Complement return value, all uses updated.
3461         (c4x_insert_attributes): Add naked.
3462         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
3463         * doc/extend.texi: Update C4x function attributes.
3464
3465 2003-01-06  Richard Henderson  <rth@redhat.com>
3466
3467         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
3468         properly when changing "local-ness".
3469         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
3470
3471 2003-01-06  Dale Johannesen  <dalej@apple.com>
3472
3473         * config/darwin-protos.h:  Add prototypes for new section functions.
3474
3475 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
3476
3477         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
3478         to EABI.
3479
3480 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
3481
3482         * hwint.h: If the current compiler has no 64-bit type at all,
3483         make HOST_WIDEST_INT 32 bits.
3484
3485 2003-01-06  Eric Christopher  <echristo@redhat.com>
3486
3487         * config/mips/mips.md (movdf_internal2): Fix constraints.
3488
3489 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
3490
3491         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
3492
3493 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
3494
3495         * config/mips/mips.md (leadi): Use dla rather than la.
3496
3497 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
3498
3499         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
3500         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
3501
3502 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
3503
3504         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
3505         redefinition.
3506
3507 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
3508
3509         * config/h8300/h8300.md (*extzv_8_23): New.
3510
3511 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3512
3513         * pa64-hpux.h (JCR_SECTION_NAME): Define.
3514         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
3515         USE_EH_FRAME_REGISTRY when defining.
3516
3517 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
3518
3519         * config/h8300/h8300.c (output_a_shift): Do not output a
3520         variable shift.
3521         * config/h8300/h8300.md (two splitters): New.
3522
3523 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
3524
3525         * config/mips/mips.md: Disable the movstrsi define_split.
3526
3527 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3528
3529         * alloc-pool.c: Don't include "libiberty.h".
3530         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
3531         * convert.c (convert_to_real): Hide unused variable.
3532
3533 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3534
3535         * Makefile.in (gtyp-gen.h): Const-ify.
3536         * gcov-dump.c (tag_table): Likewise.
3537
3538 2003-01-04  Bruce Korb  <bkorb@gnu.org>
3539
3540         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
3541         of *both* the file name and the fix name.
3542
3543 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
3544
3545         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
3546         collect2.
3547         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
3548         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
3549         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
3550         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
3551         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
3552         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
3553         elfos.h.
3554         (EH_FRAME_IN_DATA_SECTION): Delete define.
3555         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
3556         (STARTFILE_SPEC): Use crtbegin.o.
3557         (ENDFILE_SPEC): Use crtend.o.
3558         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
3559         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
3560         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
3561         DTOR_LIST_BEGIN): Define.
3562         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
3563         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
3564         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
3565
3566 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
3567
3568         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
3569         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
3570         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
3571         Cleanup handling of replacement text.
3572         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
3573
3574 2003-01-04  Bruce Korb  <bkorb@gnu.org>
3575
3576         * fixinc/tests/base/math.h: removed obsolete results
3577         * fixinc/tests/base/stdlib.h: ditto
3578         * fixinc/tests/base/sys/param.h: ditto
3579         * fixinc/tests/base/sys/stat.h: ditto
3580         * fixinc/tests/base/time.h: ditto
3581         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
3582         * fixinc/tests/base/sys/byteorder.h: ditto
3583         * fixinc/inclhack.def: Remove superfluous backslashes
3584
3585 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
3586
3587         * config/h8300/h8300-protos.h: Add prototypes for
3588         the new functions defined below.
3589         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
3590         define.
3591         (dosize): Emit RTL instead of assembly code.
3592         (push): Likewise.
3593         (pop): Likewise.
3594         (h8300_output_function_prologue): Remove.
3595         (h8300_expand_prologue): New.
3596         (h8300_expand_epilogue): New.
3597         (h8300_output_function_epilogue): Do only the reset of
3598         pragma_saveall.
3599         * config/h8300/h8300.md (push_h8300): New.
3600         (push_h8300hs): Likewise.
3601         (pop_h8300): Likewise.
3602         (pop_h8300hs): Likewise.
3603         (*stm_h8300s_2): Change the name to stm_h8300s_2.
3604         (*stm_h8300s_3): Change the name to stm_h8300s_3.
3605         (*stm_h8300s_4): Change the name to stm_h8300s_4.
3606         (*ldm_h8300s_2): New.
3607         (*ldm_h8300s_3): Likewise.
3608         (*ldm_h8300s_4): Likewise.
3609         (return): Likewise.
3610         (*return_1): Likewise.
3611         (prologue): Likewise.
3612         (epilogue): Likewise.
3613         (monitor_prologue): Likewise.
3614
3615 2003-01-03  Dale Johannesen  <dalej@apple.com>
3616
3617         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
3618           machopic_picsymbol_stub1.
3619           (EXTRA_SECTION_FUNCTIONS):  Ditto.
3620         * rs6000/rs6000.c:  Update copyright.
3621           (machopic_output_stub):  Use them.  Remove an insn from stub code.
3622
3623 2003-01-02  Jason Merrill  <jason@redhat.com>
3624
3625         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
3626
3627         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
3628         static/external decls.
3629
3630         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
3631         outermost scope.
3632         * c-decl.c (c_make_fname_decl): Push the decls there, too.
3633
3634 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
3635
3636         * config/h8300/h8300-protos.h: Add a prototype for
3637         h8300_current_function_interrupt_function_p.
3638         * config/h8300/h8300.c (interrupt_handler): Remove.
3639         (os_task): Likewise.
3640         (monitor): Likewise.
3641         (pragma_interrupt): New.
3642         (WORD_REG_USED): Use
3643         h8300_current_function_interrupt_function_p.
3644         (dosize): Likewise.
3645         (h8300_output_function_prologue): Likewise.
3646         Do not set interrupt_handler, os_task, monitor.
3647         (h8300_output_function_prologue): Use
3648         h8300_current_function_interrupt_function_p.
3649         Do not set interrupt_handler, os_task, monitor.
3650         (h8300_current_function_interrupt_function_p): New.
3651         (h8300_pr_interrupt): Set pragma_interrupt.
3652         (h8300_insert_attributes): Reset pragma_interrupt.
3653
3654 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3655
3656         * doc/install.texi (Configuration): Fix markup for reference to
3657         gcc/config.gcc.
3658
3659 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
3660
3661         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
3662         (*iorhi3_two_qi): Likewise.
3663         (*iorsi3_zexthi): Likewise.
3664         (*xorhi3_zextqi): Likewise.
3665         (*xorsi3_zexthi): Likewise.
3666         (*xorsi3_zextqi): Likewise.
3667
3668 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
3669
3670         * config/h8300/h8300.c (stack_pointer_operand): New.
3671         (const_int_gt_2_operand): Likewise.
3672         (const_int_ge_8_operand): Likewise.
3673         * config/h8300/h8300.md (a splitter): Likewise.
3674         (a peephole2): Likewise.
3675         * config/h8300/h8300-protos.h: Add prototypes for the new
3676         functions above.
3677
3678 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
3679
3680         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
3681         objc/objc-act.h: Fix copyright years.
3682
3683 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3684
3685         * doc/passes.texi: Fix documentation for -fssa-ccp
3686
3687 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
3688
3689         * gccbug.in: Update for new categories.
3690
3691 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3692
3693         * config/h8300/h8300.md: Reorder some patterns.
3694
3695 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3696
3697         * config/h8300/h8300.c (output_logical_op): Fix a warning.
3698
3699 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3700
3701         * config/darwin-protos.h, config/c4x/c4x-protos.h,
3702         config/cris/cris-protos.h, config/i370/i370-protos.h,
3703         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
3704         config/v850/v850-protos.h: Use struct, and don't conditionally
3705         compile on GCC_C_PRAGMA_H.
3706
3707 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3708
3709         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
3710         * config/h8300/h8300-protos.h: Likewise.
3711         * config/sh/sh-protos.h: Likewise.
3712
3713 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3714
3715         * config/arm/arm-protos.h: Use struct cpp_reader instead of
3716         cpp_reader.
3717         * config/h8300/h8300-protos.h: Likewise.
3718         * config/sh/sh-protos.h: Likewise.
3719
3720 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3721
3722         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
3723         arm_pr_long_calls_off): Use struct.
3724         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
3725         : Similarly.
3726         Don't include cpplib.h.
3727         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
3728         sh_pr_nosave_low_regs): Similarly.
3729
3730 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
3731
3732         * config/h8300/h8300.c: Include cpplib.h.
3733
3734 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3735
3736         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
3737           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
3738           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
3739           "GCC" in the copyright header.
3740
3741 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
3742
3743         * c-pragma.c (c_register_pragma): New.
3744         (init_pragma): Use it.
3745         * c-pragma.h (cpp_register_pragma): Don't declare.
3746         (c_register_pragma): New.
3747         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
3748         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
3749         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
3750         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3751         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
3752         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
3753         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
3754         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
3755         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
3756         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
3757         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
3758         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
3759
3760 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3761
3762         * config/h8300/h8300-protos.h: Update the prototypes.
3763         * config/h8300/h8300.c (const_le_2_operand): Change to
3764         const_int_le_2_operand.
3765         (const_int_le_6_operand): Change to const_int_le_6_operand.
3766         * config/h8300/h8300.md (two peepholes): Update the function
3767         names.
3768
3769 2002-12-31  Tom Tromey  <tromey@redhat.com>
3770
3771         * doc/install.texi (Testing): Fixed typo.
3772
3773 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3774
3775         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
3776         (TRAMPOLINE_SIZE): Support the normal mode.
3777         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
3778
3779 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
3780
3781         * c-common.h (pending_lang_change): Declare.
3782
3783 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
3784
3785         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
3786         descriptions.
3787
3788 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
3789
3790         * gcc/doc/invoke.texi (Optimization Options): List the options
3791         enabled by each -O flag.
3792
3793 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3794
3795         * doc/install.texi (Configuration): Explicitly refer
3796         gcc/config.gcc for a list of cpu models.
3797
3798 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
3799
3800         * config/h8300/h8300.h: Fix comment typos.
3801
3802 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
3803
3804         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
3805
3806 2002-12-30  Tom Tromey  <tromey@redhat.com>
3807
3808         * doc/install.texi (Testing): Mention Jacks.
3809
3810 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3811
3812         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
3813
3814 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3815
3816         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
3817         cases.
3818         (compute_logical_op_length): Update to reflect the change in
3819         output_logical_op.
3820         (compute_logical_op_cc): Likewise.
3821
3822 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
3823
3824         * doc/service.texi: Uncomment and update FAQ link.
3825
3826 2002-12-30  Andreas Jaeger  <aj@suse.de>
3827
3828         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
3829
3830 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3831
3832         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
3833
3834 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
3835
3836         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
3837         are clearing the most significant byte.
3838         (compute_logical_op_length): Update to reflect the change in
3839         output_logical_op.
3840         (compute_logical_op_cc): Likewise.
3841
3842 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3843
3844         * config/h8300/h8300.md: Give internal names to anonymous
3845         insns.
3846
3847 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3848
3849         * config/h8300/h8300.md: Reorder some insns.
3850
3851 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
3852
3853         * config/h8300/h8300-protos.h: Add prototypes for
3854         const_int_qi_operand and const_int_hi_operand.
3855         * config/h8300/h8300.c (const_int_qi_operand): New.
3856         (const_int_hi_operand): Likewise.
3857         * config/h8300/h8300.md (three peepholes): New.
3858
3859 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3860
3861         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
3862         Use @copying.
3863
3864 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3865
3866         * configure.in: Increase makeinfo version requirement to 4.[2-9].
3867         * configure: Regenerate.
3868         * doc/install.texi: Update Texinfo version requirement.
3869
3870 2002-12-28  Andreas Jaeger  <aj@suse.de>
3871
3872         * config/i386/i386.c (x86_function_profiler): Mark labelno as
3873         possibly unused.
3874
3875         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
3876         correct format.
3877
3878 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
3879
3880         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
3881         *iorhi_ashift_8.
3882         (*iorhi_lshiftrt_8): New.
3883
3884 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
3885
3886         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
3887
3888 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3889
3890         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
3891
3892 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3893
3894         * config/h8300/h8300-protos.h: Fix comment typos.
3895         Update copyright.
3896         * config/h8300/h8300.c: Fix comment typos.
3897
3898 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3899
3900         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
3901
3902 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
3903
3904         * config/i386/athlon.md: Fix comment typos.
3905         * config/i386/crtdll.h: Likewise.
3906         * config/i386/djgpp.h: Likewise.
3907         * config/i386/i386-interix.h: Likewise.
3908         * config/i386/i386.c: Likewise.
3909         * config/i386/i386.h: Likewise.
3910         * config/i386/i386.md: Likewise.
3911         * config/i386/k6.md: Likewise.
3912         * config/i386/mingw32.h: Likewise.
3913         * config/i386/pentium.md: Likewise.
3914         * config/i386/sco5.h: Likewise.
3915         * config/i386/winnt.c: Likewise.
3916         * config/i386/xmmintrin.h: Likewise.
3917
3918 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
3919
3920         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
3921         INSN_P before checking to see if it is dead.
3922         (mark_all_insn_unnecessary): Similarly.
3923         (ssa_eliminate_dead_code): Similarly.
3924         * rtl.h (struct rtx_def): Update comments for in_struct usage
3925         in dead code elimination pass.
3926         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
3927
3928 2002-12-26  Andreas Schwab  <schwab@suse.de>
3929
3930         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
3931
3932 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
3933
3934         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
3935         tartet_flags_explicit.
3936         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
3937         Compact target_flags bits.
3938         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
3939         (TARGET_SWITCHES): Delete references to *_SET flags.
3940
3941 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
3942
3943         * i386.md (memory attribute): Fix setcc attribute.
3944
3945 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3946
3947         * output.h: Fix comment typos.
3948         * predict.c: Likewise.
3949         * print-tree.c: Likewise.
3950         * profile.c: Likewise.
3951         * ra-build.c: Likewise.
3952         * ra-colorize.c: Likewise.
3953         * ra-debug.c: Likewise.
3954         * ra-rewrite.c: Likewise.
3955         * ra.c: Likewise.
3956         * ra.h: Likewise.
3957         * real.c: Likewise.
3958         * recog.c: Likewise.
3959         * reg-stack.c: Likewise.
3960         * regclass.c: Likewise.
3961
3962 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3963
3964         * config/h8300/h8300.c (print_operand_address): Do not negate
3965         a negative number when printing one.
3966
3967 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
3968
3969         * config/h8300/h8300-protos.h: Add prototypes for
3970         output_plussi, compute_plussi_length, and compute_plussi_cc.
3971         * config/h8300/h8300.c (output_plussi): New.
3972         (compute_plussi_length): Likewise.
3973         (compute_plussi_cc): Likewise.
3974         * config/h8300/h8300.md (addsi_h8300h): Call
3975         output_plussi, compute_plussi_length, and compute_plussi_cc.
3976
3977 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
3978
3979         * config/h8300/h8300.md (two peepholes): Use match_dup instead
3980         of match_operand in the new patterns.
3981
3982 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3983
3984         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
3985
3986 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
3987
3988         * configure.in (enable-coverage): Add SELF_COVERAGE.
3989         * profile.c (end_branch_prob): Use SELF_COVERAGE.
3990
3991 2002-12-24  Jim Wilson  <wilson@redhat.com>
3992
3993         * alias.c (record_set): Handle multi-reg hard registers.
3994
3995 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
3996
3997         * regmove.c: Fix comment typos.
3998         * reload.c: Likewise.
3999         * reload1.c: Likewise.
4000         * resource.c: Likewise.
4001         * rtl.def: Likewise.
4002         * rtl.h: Likewise.
4003         * rtlanal.c: Likewise.
4004         * sched-deps.c: Likewise.
4005         * sched-rgn.c: Likewise.
4006         * sibcall.c: Likewise.
4007         * simplify-rtx.c: Likewise.
4008         * ssa-ccp.c: Likewise.
4009         * ssa.c: Likewise.
4010         * stmt.c: Likewise.
4011         * stor-layout.c: Likewise.
4012         * system.h: Likewise.
4013         * tlink.c: Likewise.
4014         * toplev.c: Likewise.
4015         * tracer.c: Likewise.
4016         * tree-inline.c: Likewise.
4017         * tree.c: Likewise.
4018         * tree.h: Likewise.
4019         * unroll.c: Likewise.
4020         * varasm.c: Likewise.
4021
4022 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
4023
4024         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
4025         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
4026         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
4027         DG/UX entries.
4028         * doc/md.texi: Remove AMD 29K entries.
4029         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
4030         1.38.1, NewsOS, RT PC, WE32K entries.
4031
4032 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
4033
4034         PR/8763
4035         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
4036         (altivec_vspltisw_v4sf): Name pattern.
4037         (altivec_vslw_v4sf): New pattern.
4038
4039 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
4040
4041         * doc/include/gcc-common.texi: Define DEVELOPMENT.
4042
4043 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
4044
4045         * stor-layout.c (update_alignment_for_field): Correct handling of
4046         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
4047         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
4048         bitfield does not affect alignment.
4049
4050 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
4051
4052         * expr.c (expand_assignment): Apply special treatment to
4053         ARRAY_TYPE.
4054
4055 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
4056
4057         * config/h8300/h8300-protos.h: Update the prototype of
4058         expand_a_shift.
4059         * config/h8300/h8300.c (expand_a_shift): Change the return
4060         type to void.
4061         * config/h8300/h8300.md: Update all the uses of
4062         expand_a_shift.
4063
4064 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
4065
4066         * tree.c (save_expr): Allow either side of a dyadic operand to be
4067         constant.
4068
4069         * doc/portability.texi (portability): Update portability goals.
4070
4071 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
4072
4073         * config/h8300/h8300.c (output_a_shift): Remove unused code.
4074
4075 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
4076
4077         * stor-layout.c (update_alignment_for_field): Guard use of
4078         ADJUST_FIELD_ALIGN with #ifdef.
4079
4080         * stor-layout.c (update_alignment_for_field): Use
4081         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
4082         bitfield when PCC_BITFIELD_TYPE_MATTERS.
4083
4084 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4085
4086         * genautomata.c: Fix comment typos.
4087
4088 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4089
4090         * params.def (tracer-min-branch-probability-feedback): Fix default.
4091         * final.c (compute_alignments): Use profile to avoid code bloat.
4092
4093 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4094
4095         * config/h8300/h8300.c (get_shift_alg): Make shift insn
4096         sequences end with a valid cc0 whenever possible.
4097
4098 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4099
4100         * config/h8300/h8300.md (negsf2): New.
4101         (*negsf2_h8300): Likewise.
4102         (*negsf2_h8300hs): Likewise.
4103
4104 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
4105
4106         * integrate.c (output_inline_function): Don't hold private
4107         pointers to 'struct function' over GC calls.
4108
4109 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
4110
4111         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
4112         NO_FPSCR_VALUES.
4113         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
4114
4115 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4116
4117         * config/h8300/h8300.md (zero_extendqisi2): Correct the
4118         length.
4119
4120 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4121
4122         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
4123         second alternative "#".
4124         (*zero_extendqihi2_h8300hs): Likewise.
4125         (a define_split): New.
4126
4127 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4128
4129         * config/h8300/h8300-protos.h: Update the prototype for
4130         split_adds_subs.
4131         Add prototypes for const_le_2_operand and const_le_6_operand.
4132         * config/h8300/h8300.c (split_adds_subs): Add an argument to
4133         specify whether inc/dec should be used when possible.
4134         (const_le_2_operand): New.
4135         (const_le_6_operand): Likewise.
4136         * config/h8300/h8300.md (two peepholes): New.
4137
4138 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4139
4140         * config/fr30/fr30.md: Fix a comment typo.
4141         * config/i386/i386.c: Likewise.
4142         * config/ip2k/ip2k.h: Likewise.
4143
4144 2002-12-20  Jim Wilson  <wilson@redhat.com>
4145
4146         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
4147         (__ev_subw, __ev_subiw): New.
4148         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
4149         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
4150
4151 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
4152
4153         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
4154         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
4155         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
4156         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
4157
4158 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
4159
4160         * config/h8300/h8300-protos.h: Add prototypes for
4161         incdec_operand and eqne_operator.
4162         * config/h8300/h8300.c (incdec_operand): New.
4163         (eqne_operator): Likewise.
4164         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
4165         (CONST_OK_FOR_O): Likewise.
4166         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
4167         CONST_OK_FOR_O.
4168         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
4169         (addhi3_incdec): New.
4170         (addsi3_incdec): Likewise.
4171         (two peepholes): Likewise.
4172
4173 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
4174
4175         * config/h8300/h8300.c (dosize): Remove warnings.
4176         (print_operand): Likewise.
4177
4178 2002-12-20  Richard Henderson  <rth@redhat.com>
4179
4180         * config/alpha/alpha.c (decl_has_samegp): New.
4181         (samegp_function_operand): Use it.  Rename from
4182         current_file_function_operand.
4183         (direct_call_operand): Handle -msmall-text via symbol->jump.
4184         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
4185         (tls_symbolic_operand_type): Likewise.
4186         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
4187         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
4188         (alpha_end_function): Set symbol->jump for functions defined in
4189         the text section.
4190         * config/alpha/alpha-protos.h: Update.
4191         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
4192         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
4193         (PREDICATE_CODES): Update.
4194         * config/alpha/alpha.md (call patterns): Update for
4195         samegp_function_operand rename; use !samegp reloc if
4196         TARGET_EXPLICIT_RELOCS.
4197         * doc/invoke.text: Document -msmall-text and -mlarge-text.
4198
4199 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
4200
4201         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
4202         all registers capable of holding a double float.
4203         (*rcond): change name of "reverse branch" insns to
4204         something more meaningful.
4205         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
4206         comparisons properly.
4207         (*ffs): Change operand 0 from write to read-modify-write.
4208         (*ffsssi2): Drop constraints from define_expand.
4209
4210         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
4211         MOVE_RATIO as default for store operations.
4212
4213         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
4214         LONG_REGS class.
4215         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
4216         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
4217         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
4218
4219         * config/ns32k/STATUS: New File
4220         * config/ns32k/NOTES: New file.
4221
4222 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
4223
4224         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
4225         option for S/390 and zSeries.
4226         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
4227         s390_arch_string): New variables.
4228         (override_options): Checking for options and setting of
4229         appropriate target_flags, cpu and arch flags.
4230         * config/s390/s390.h: (processor_type): New enum.
4231         (TARGET_SWITCHES): New switches -mesa/zarch.
4232         * config/s390/s390.md: New attribute 'cpu'.
4233
4234 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4235
4236         * c-pretty-print.h: Fix comment typos.
4237         * integrate.c: Likewise.
4238         * varasm.c: Likewise.
4239         * config/c4x/c4x.h: Likewise.
4240         * config/c4x/c4x.md: Likewise.
4241         * config/fr30/fr30.md: Likewise.
4242         * config/frv/frv.c: Likewise.
4243         * config/h8300/h8300.c: Likewise.
4244         * config/i386/i386.c: Likewise.
4245         * config/i386/i386.h: Likewise.
4246         * config/ia64/ia64.c: Likewise.
4247         * config/ia64/ia64.h: Likewise.
4248         * config/ip2k/ip2k.md: Likewise.
4249         * config/m68hc11/m68hc11-crt0.S: Likewise.
4250         * config/m68hc11/m68hc11.h: Likewise.
4251         * config/m68hc11/m68hc11.md: Likewise.
4252         * config/m68hc11/m68hc12.h: Likewise.
4253         * config/mcore/mcore.md: Likewise.
4254         * config/mips/mips.c: Likewise.
4255         * config/mips/mips.md: Likewise.
4256         * config/mmix/mmix-modes.def: Likewise.
4257         * config/pa/pa.c: Likewise.
4258         * config/rs6000/rs6000.c: Likewise.
4259         * config/rs6000/rs6000.h: Likewise.
4260         * config/rs6000/rs6000.md: Likewise.
4261
4262 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4263
4264         * config/h8300/h8300.md (output_a_shift): Clean up the code to
4265         output shifts using rotation.
4266
4267 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4268
4269         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
4270
4271 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4272
4273         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
4274         pointer.
4275         (pushqi_h8300hs): Likewise.
4276         (pushhi_h8300): Likewise.
4277         (pushhi_h8300hs): Likewise.
4278
4279 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
4280
4281         * sched-rgn.c (init_regions): Update comment.
4282
4283 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
4284
4285         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
4286         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
4287         attributes.
4288         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
4289         (get_vrsave_internal,set_vrsave_internal): Same.
4290         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
4291         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
4292         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
4293
4294 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4295             Danny Smith  <dannysmith@users.sourceforge.net>
4296             Eric Kohl  <ekohl@rz-online.de>
4297
4298         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
4299         attributes incompatible with fastcall attribute.
4300         (ix86_handle_regparm_attribute): Likewise.
4301
4302         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
4303         fastcall types.
4304
4305         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
4306         attributes.
4307         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
4308         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
4309         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
4310         i386_pe_output_labelref rather than here.
4311         (gen_fastcall_suffix): New function. Decorates a label name with the
4312         fastcall prefix (@) and the stdcall suffix.
4313         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
4314         has a fastcall attribute.
4315         (i386_pe_output_labelref): New function. Outputs a label reference.
4316         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
4317         valid attribute.
4318         (ix86_return_pops_args): Fastcall functions pop the stack.
4319         (init_cumulative_args): Reserve registers ECX and EDX if function has
4320         fastcall attribute.
4321         (function_arg): Use registers ECX and EDX if function has fastcall
4322         attribute.
4323         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
4324         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
4325         (FASTCALL_PREFIX): Define as '@'.
4326         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
4327         attributes.
4328         * doc/extend.texi: Add documentation of fastcall attribute.
4329
4330 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4331
4332         * configure.in: FORBUILD when build!=host changed from
4333         ../$build-alias to ../build-$build_alias to match change made
4334         in top directory.
4335         * configure: Regenerated.
4336
4337 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4338
4339         PR optimization/8988
4340         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
4341         the biv when eliminating.
4342
4343 2002-12-19  Devang Patel  <dpatel@apple.com>
4344         * gcc.c (struct default_compiler): Recognizes input file name with
4345         .CPP extension as C++ source files
4346         * cp/lang-spec.h: Same
4347         * doc/invoke.texi:  Add documentation for .CPP support.
4348
4349 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
4350
4351         PR 8553
4352         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
4353         registers.
4354         ("absv16qi2"): Same.
4355         ("absv4si2"): Same.
4356         ("absv4sf2"): Same.
4357         ("altivec_abss_v16qi"): Same.
4358         ("altivec_abss_v8hi"): Same.
4359         ("altivec_abss_v4si"): Same.
4360
4361 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
4362
4363         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
4364         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
4365
4366 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4367
4368         PR target/8340
4369         * stmt.c (expand_asm_operands): Produce an error when
4370         the PIC register is clobbered.
4371
4372 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
4373
4374         * Makefile.in (OBJS): Add alloc-pool.o
4375         (alloc-pool.o): New object.
4376
4377         * alloc-pool.c: New file.
4378         * alloc-pool.h: New file.
4379
4380 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
4381
4382         * gcc.c (validate_switches): Robustify against skipping past '\0'.
4383
4384 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
4385
4386         * config.gcc: Set extra_objs in the generic Darwin rule,
4387         not in the machine-specific rules.
4388
4389 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4390
4391         * ChangeLog: Follow spelling conventions.
4392         * ChangeLog.2: Likewise.
4393         * ChangeLog.4: Likewise.
4394         * ChangeLog.5: Likewise.
4395         * cppexp.c: Likewise.
4396         * df.c: Likewise.
4397         * gcov.c: Likewise.
4398         * gengtype.c: Likewise.
4399         * reload1.c: Likewise.
4400         * sched-rgn.c: Likewise.
4401         * stmt.c: Likewise.
4402         * stor-layout.c: Likewise.
4403         * timevar.c: Likewise.
4404         * toplev.c: Likewise.
4405         * tree.h: Likewise.
4406         * varasm.c: Likewise.
4407         * config/fr30/fr30.md: Likewise.
4408         * config/i386/i386.c: Likewise.
4409         * config/ia64/ia64.c: Likewise.
4410         * config/pa/pa.c: Likewise.
4411
4412 2002-12-18  Roger Sayle  <roger@eyesopen.com>
4413
4414         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
4415
4416 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
4417
4418         PR 8551
4419         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
4420         macro.
4421         (vec_cmplt C++ functions): Reverse arguments.
4422
4423 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
4424
4425         * config/rs6000/t-rs6000: Move contents to t-fprules,
4426         add rules for dependencies of rs6000.o and to build rs6000-c.o
4427         * config/rs6000/t-fprules: New file from t-rs6000.
4428         * config/rs6000/t-beos: Remove soft-fp rules.
4429         * config/rs6000/t-ppccomm: Likewise.
4430         * config/rs6000/t-newas: Likewise.
4431         * config/rs6000/t-rs6000-c-rule: Delete.
4432         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
4433         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
4434         Create generic Darwin rules.
4435
4436         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
4437
4438 2002-12-18  Doug Evans  <dje@sebabeach.org>
4439
4440         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
4441         and LIT_NAME_P.
4442         (move_src_operand): Remove compile-time warning.
4443         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
4444
4445 2002-12-18  Jason Merrill  <jason@redhat.com>
4446
4447         * unwind-dw2-fde.c (frame_downheap): Split out from...
4448         (frame_heapsort): Here.
4449
4450 2002-12-17  Jason Merrill  <jason@redhat.com>
4451
4452         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
4453         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
4454
4455         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
4456
4457         * calls.c (expand_call): Don't try to be clever about expanding
4458         the return slot address.
4459
4460 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
4461
4462         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
4463         Define.
4464
4465 2002-12-17  Jason Merrill  <jason@redhat.com>
4466
4467         * genmultilib: Use 'cd ./foo'.
4468
4469 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
4470
4471         * doc/c-tree.texi: Restore deliberate spelling mistakes.
4472
4473 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
4474
4475         * doc/c-tree.texi: Fix typos and follow spelling conventions.
4476         * doc/cpp.texi: Likewise.
4477         * doc/extend.texi: Likewise.
4478         * doc/gty.texi: Likewise.
4479         * doc/install.texi: Likewise.
4480         * doc/invoke.texi: Likewise.
4481         * doc/md.texi: Likewise.
4482         * doc/passes.texi: Likewise.
4483         * doc/rtl.texi: Likewise.
4484         * doc/sourcebuild.texi: Likewise.
4485         * doc/tm.texi: Likewise.
4486
4487 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
4488
4489         * doc/invoke.texi: Minor spelling and grammar fixes.
4490
4491 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
4492
4493         * config/s390/s390.c (s390_output_constant_pool): Replace
4494         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
4495
4496 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
4497
4498         * convert.c (convert_to_real): Disable function transformation for
4499         now.
4500
4501 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
4502
4503         * gcc.c (handle_braces): Allow '@' as a switch name.
4504
4505 2002-12-16  Jason Merrill  <jason@redhat.com>
4506
4507         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
4508         with special struct-return ABIs.
4509
4510         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
4511         doesn't match the begin SCOPE_STMT in partialness.
4512
4513 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
4514
4515         * genmultilib: Create temporary files in unique subdirectory.
4516
4517         * gcc.c (validate_switches): Allow '@' as a switch name.
4518
4519 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
4520
4521         * Makefile.in (gcov-iov.h): Improve portability.
4522
4523 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
4524
4525         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
4526         gas
4527         * mips.md (tablejump insn): Likewise.
4528
4529 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
4530
4531         * doc/include/gcc-common.texi: Change version number to 3.4.
4532
4533 2002-12-16  Bruce Korb  <bkorb@gnu.org>
4534
4535         * fixinc/fixlib.h: add: #include <signal.h>
4536         * fixinc/fixincl.c: remove: #include <signal.h>
4537
4538 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4539
4540         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
4541         (EXTRA_CONSTRAINT): Use it.
4542         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
4543
4544 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
4545
4546         * config.gcc (need_64bit_hwint): New variable.
4547         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
4548         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
4549         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
4550         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
4551         Set it.
4552         (powerpc*-*-darwin*): Unset it.
4553         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
4554         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
4555         deleted/nonexistent xm-*.h headers.
4556         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
4557         target set need_64bit_hwint in config.gcc.
4558         * configure, config.in: Regenerate.
4559
4560         * hwint.h: Overhaul.  Don't bother trying int for
4561         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
4562         decision to force 64-bit HOST_WIDE_INT on
4563         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
4564         not visible at this point.  Don't allow prior definition of
4565         any macro defined by this file.
4566
4567         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
4568         HOST_BITS_PER_WIDE_INT.
4569         * config/c4x/c4x.h: Adjust redefinition of
4570         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
4571         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
4572         config/i386/xm-i386-interix.h: Delete file.
4573
4574 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
4575             John David Anglin  <dave@hiauly1.hia.nrc.ca>
4576
4577         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
4578         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
4579
4580 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
4581
4582         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
4583
4584 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
4585
4586         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
4587         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
4588         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
4589         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
4590         config/v850/t-v850:  Correct dependencies and normalize
4591         compilation commands for files that include coretypes.h and tm.h.
4592
4593         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
4594         not config.h and system.h.
4595
4596 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
4597
4598         * i386.c (flags_reg_operand):  New function.
4599         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
4600         * i386.md (cmov splitter, movqicc): Use new predicate.
4601
4602 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4603
4604         * i386.md (movqicc splitter): Fix template.
4605
4606 2002-12-13  Jason Merrill  <jason@redhat.com>
4607
4608         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
4609         * calls.c (expand_call): Handle it.
4610         * tree-inline.c (struct inline_data): Remove target_exprs field.
4611         (optimize_inline_calls): Don't initialize it.
4612         (expand_call_inline): Don't modify it.  Handle
4613         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
4614         (declare_return_variable): Take return slot addr.
4615         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
4616         to return_slot_addr.
4617         * langhooks-def.h, langhooks.c: Adjust.
4618         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
4619         a decl with no DECL_INITIAL.
4620
4621         * expr.c (expand_expr): Don't discard the target of a call which
4622         returns in memory.
4623
4624 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
4625
4626         * cppinit.c (path_include): Take an environment variable name.
4627         Tidy up.
4628         (init_standard_includes): Simplify environment handling, and
4629         move to ...
4630         (cpp_read_main_file): ...here as -nostdinc should not affect
4631         environment variable paths.
4632
4633 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4634
4635         * pa.c (output_millicode_call): Correct typo.
4636         (output_call): Likewise.
4637
4638 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
4639
4640         * config/mn10300/mn10300.c (print_operand) <case N>: Check
4641         operand's range.  Print value directly, without aid from
4642         output_address.
4643         <case U>: New.
4644         <case S>: Make sure argument to fprintf has the right type.
4645         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
4646         (EXTRA_CONSTRAINT): Adjust.
4647         * config/mn10300/mn10300.md: Add new all-QImode pattern for
4648         bclr.  Use %U for immediate operands of bset and bclr.
4649         (iorqi3): New expand, with insns for AM33 and mn10300.
4650
4651 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
4652
4653         * sh.c (sh_register_operand): New function.
4654         (prepare_move_operands): Use it.
4655         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
4656         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
4657         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
4658         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
4659         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
4660         (movv2si_i): Likewise.
4661
4662 2002-12-13  Jim Wilson  <wilson@redhat.com>
4663
4664         * doc/extend.texi (Complex Numbers): Update info on debug info.
4665
4666 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
4667
4668         * config/h8300/h8300.md (addhi3_h8300): Remove the last
4669         alternative.
4670
4671 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4672
4673         * hooks.h (hook_tree_tree_bool_false): Declare
4674         hook_bool_tree_tree_false instead.
4675
4676 2002-12-12  Devang Patel  <dpatel@apple.com>
4677
4678         * doc/invoke.texi: Document Darwin linker options, -bundle
4679         -bind_at_load, -all_load and -arch_errors_fatal
4680
4681 2002-12-12  Jim Wilson  <wilson@redhat.com>
4682
4683         * dbxout.c (dbxout_fptype_value): New.
4684         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
4685
4686 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4687
4688         * c-decl.c: Fix a comment typo.
4689         * cfg.c: Likewise.
4690         * cfgcleanup.c: Likewise.
4691         * cfglayout.c: Likewise.
4692         * cfgrtl.c: Likewise.
4693         * c-typeck.c: Likewise.
4694         * dominance.c: Likewise.
4695         * dwarf2asm.c: Likewise.
4696         * dwarfout.c: Likewise.
4697         * expmed.c: Likewise.
4698         * expr.c: Likewise.
4699         * final.c: Likewise.
4700         * flow.c: Likewise.
4701         * function.c: Likewise.
4702         * gcc.c: Likewise.
4703         * genautomata.c: Likewise.
4704         * integrate.c: Likewise.
4705         * loop.c: Likewise.
4706         * loop.h: Likewise.
4707         * output.h: Likewise.
4708         * profile.c: Likewise.
4709         * ra.h: Likewise.
4710         * reload1.c: Likewise.
4711         * reload.c: Likewise.
4712         * sched-rgn.c: Likewise.
4713         * stmt.c: Likewise.
4714         * tree.h: Likewise.
4715         * vmsdbgout.c: Likewise.
4716
4717 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4718
4719         * config/h8300/h8300.md: Add a new peephole2.
4720
4721 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4722
4723         * config/h8300/h8300.md (a peephole2): Accept a constant
4724         that's accepted by CONST_OK_FOR_J.
4725
4726 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4727
4728         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
4729         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
4730         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
4731         (*addhi_h8300hs): Likewise.
4732
4733 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
4734
4735         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
4736         (sh_register_move_cost): Add clause for SImode fp-fp moves.
4737         Increase cost for moves involving multiple general purpose registers.
4738         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
4739         TARGET_FMOVD.
4740         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
4741         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
4742         (enum reg_class reg_class_from_letter): No longer const.
4743         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
4744         REGCLASS_HAS_GENERAL_REG.
4745         Handle SImode moves from/to fp registers.
4746         ! TARGET_SHMEDIA && TARGET_FMOVD.
4747         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
4748         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
4749
4750 2002-12-12  Andreas Schwab  <schwab@suse.de>
4751
4752         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
4753         change and some warnings.
4754
4755 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
4756
4757         * doc/md.texi (pushm): Fix a typo.
4758
4759 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
4760
4761         * config/mips/mips.c (mips_output_conditional_branch): Support
4762         PIC-safe out-of-range branch and branch-likely.
4763         * config/mips/mips.md (attr length): PIC-safe out-of-range
4764         branches are longer.
4765         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
4766         unused code to support indirect jumps.
4767
4768 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
4769
4770         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
4771         $(tm_file_list).
4772
4773 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
4774
4775         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
4776
4777 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
4778
4779         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
4780
4781 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4782
4783         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
4784         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
4785         BIGGEST_ALIGNMENT.
4786         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
4787         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
4788
4789 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4790
4791         * doc/invoke.texi: Correct dump file names.
4792
4793 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4794
4795         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
4796         name to globalize_label or assemble_name.
4797
4798 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
4799
4800         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
4801         if not TARGET_SHMEDIA.
4802
4803 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
4804
4805         * sh.h (REG_CLASS_HAS_FP_REG): New.
4806         (REGISTER_MOVE_COST) Use it.  Put body into a function and
4807         move it into:
4808         * sh.c (sh_register_move_cost).
4809         * sh-protos.h (sh_register_move_cost): Declare.
4810
4811         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
4812         (sh_adjust_cost): Always return a value.
4813
4814 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
4815
4816         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
4817         (REGISTER_MOVE_COST): Use it.
4818
4819 2002-12-11  Richard Henderson  <rth@redhat.com>
4820
4821         * tree.h (MODULE_LOCAL_P): Kill.
4822         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
4823
4824 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4825
4826         * config/h8300/h8300.md (two define_peephole2): New.
4827
4828 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
4829
4830         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
4831         (CONST_OK_FOR_K): Likewise.
4832         (CONST_OK_FOR_M): Likewise.
4833         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
4834
4835 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
4836
4837         * c-common.c (builtin_define_type_max): Handle unsigned
4838         types too.
4839
4840 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
4841
4842         * haifa-sched.c (rank_for_schedule): Correct style.
4843
4844 2002-12-10  Per Bothner  <pbothner@apple.com>
4845
4846         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
4847         directive_index into an unsigned field and a new is_directive field.
4848         * cppinit.c (mark_named_operators):  Update to set new fields.
4849         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
4850         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
4851         No longer need to subtract 1 from directive_index.
4852         (_cpp_init_directives):  No longer need to add 1 to directive_index.
4853         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
4854
4855 2002-12-10  Roger Sayle  <roger@eyesopen.com>
4856
4857         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
4858         check for evaluating sqrt of a constant at compile time.
4859         * simplify-rtx.c (simplify_unary_operation): Likewise.
4860
4861 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
4862
4863         PR other/8882
4864         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
4865
4866 2002-12-10  Devang Patel  <dpatel@appple.com>
4867
4868         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
4869         * doc/invoke.texi: Add new "Darwin Options" section.
4870
4871 2002-12-10  Jim Wilson  <wilson@redhat.com>
4872
4873         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
4874         memory.
4875
4876 2002-12-10  Andrew Haley  <aph@redhat.com>
4877
4878         * cse.c (cse_insn): Don't cse past a basic block boundary.
4879
4880 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
4881
4882         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
4883         -shared.
4884         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
4885         * config/alpha/linux.h (LIB_SPEC): Likewise.
4886         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
4887         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
4888         * config/sparc/linux.h (LIB_SPEC): Likewise.
4889         * config/sparc/linux64.h (LIB_SPEC): Likewise.
4890
4891 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
4892
4893         * doc/invoke.texi: Document UltraSparc III option.
4894
4895 2002-12-09  Richard Henderson  <rth@redhat.com>
4896
4897         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
4898         __tune_pentium2__ and __tune_pentium3__ as necessary.
4899
4900 2002-12-09  Richard Henderson  <rth@redhat.com>
4901
4902         * target.h (gcc_target): Add cannot_force_const_mem.
4903         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
4904         (TARGET_INITIALIZER): Add it.
4905         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
4906         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
4907         * reload1.c (reload): Likewise.
4908         * hooks.c (hook_bool_rtx_false): New.
4909         * hooks.h: Declare it.
4910
4911         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
4912         (TARGET_CANNOT_FORCE_CONST_MEM): New.
4913         (ix86_expand_move): Remove de-const-pooling hack.
4914
4915 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
4916
4917         * toplev.c (dump_file): Fix order to match reality.
4918
4919 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
4920
4921         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
4922         (store_multiple): Likewise.
4923
4924 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4925
4926         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
4927         function pointers in page 0.
4928
4929 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4930
4931         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
4932         definition
4933         (MEMBER_TYPE_FORCES_BLK): Move.
4934         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
4935         aggregate arguments.
4936         (ia64_function_value): Use PARALLEL to return aggregate values.
4937
4938 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
4939
4940         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4941         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
4942         * calls.c (store_unaligned_arguments_into_pseudos) Remove
4943         FUNCTION_ARG_REG_LITTLE_ENDIAN.
4944         * stmt.c (expand_return): Ditto.
4945         * expr.c (move_block_from_reg): Ditto.
4946         (copy_blkmode_from_reg): Ditto.
4947         * expmed.c (store_bit_field): Ditto.
4948
4949 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
4950
4951         * config.gcc: Added tic4x-* target as an alias to c4x-*
4952
4953 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
4954
4955         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
4956         constructing insn directly.
4957
4958 2002-12-06  Per Bothner  <pbothner@apple.com>
4959
4960         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
4961         char to an int bit-field, for hosts where char is unsigned.
4962
4963 2002-12-07  Roger Sayle  <roger@eyesopen.com>
4964             Richard Henderson <rth@redhat.com>
4965
4966         * real.c (ieee_extended_motorola_format,
4967         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
4968         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
4969         Provide appropriate values for new signbit field.
4970
4971 2002-12-07  Roger Sayle  <roger@eyesopen.com>
4972
4973         * real.h (real_format): Add signbit field.
4974         * real.c (ieee_single_format, ieee_double_format,
4975         ieee_extended_motorola_format, ieee_extended_intel_96_format,
4976         ieee_extended_intel_128_format, ibm_extended_format,
4977         ieee_quad_format, vax_f_format, vax_d_format,
4978         vax_g_format, i370_single_format, i370_double_format,
4979         c4x_single_format, c4x_extended_format, real_internal_format):
4980         Provide suitable signbit value, or -1 to avoid bit twiddling.
4981
4982         * optabs.c (expand_unop): Try implementing negation of
4983         floating point modes by flipping the sign bit.
4984         (expand_abs): Try implementing abs of floating point modes
4985         by clearing the sign bit.
4986
4987 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4988
4989         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
4990         of constructing insn directly.
4991
4992 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
4993
4994         * config/h8300/h8300.md (*iorhi_shift_8): New.
4995
4996 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
4997
4998         * doc/invoke.texi: Document FRV port options.
4999         * doc/md.texi: Document FRV register classes.
5000
5001 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5002
5003         * doc/install.texi (Configuration): Improve description of cases
5004         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
5005
5006 2002-12-06  Per Bothner  <pbothner@apple.com>
5007
5008         * cpplib.h (NODE_MACRO_ARG):  New flag.
5009         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
5010         Remove value.operator field.  Move arg_index field to value union.
5011         (directive_index):  Make signed, since also used for C++ operators.
5012         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
5013         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
5014         Save node->value, and set node->value.arg_index.
5015         (_cpp_create_definition):  For each paramater, restore node->value.
5016         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
5017         * cpptrad.c (scan_out_logical_line): Likewise.
5018         (scan_out_logical_line): Check for directive > 0.
5019         * cpplib.c (cpp_handle_directive):  Likewise.
5020         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
5021         by negative of directive_index.
5022         * cppinit.c (mark_named_operators):  Likewise.
5023
5024         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
5025
5026 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
5027
5028         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
5029         FPU.
5030         (push): Generate push_fpscr.
5031         (pop): Generate pop_fpscr.
5032         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
5033         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
5034
5035 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
5036
5037         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
5038         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
5039
5040 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
5041
5042         * sh.md (movdi_i): Name.  Remove inappropriate comment.
5043
5044 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
5045         Merged from basic improvements branch (excerpt):
5046
5047         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5048         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5049
5050 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
5051
5052         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
5053
5054 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
5055
5056         * i386.md (dimode peep2s): Re-add "&& 1".
5057
5058 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5059
5060         * i386.c (ix86_expand_prologue):  Add comment, do not use
5061         fast prologues for cold and normal functions.
5062
5063 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
5064
5065         * i386.c (x86_rep_movl_optimal): New variable.
5066         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
5067         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
5068
5069         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5070         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5071         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5072         generate unnecesary subregs.
5073
5074 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5075
5076         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
5077         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
5078
5079 2002-12-05  Dale Johannesen  <dalej@apple.com>
5080
5081         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
5082
5083 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
5084
5085         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
5086         PROFILE_HOOK.
5087         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
5088
5089 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
5090
5091         * config/rs6000/spe.h (__ev_mwlufi): Remove.
5092         (__ev_mwlufia): Remove.
5093         (__ev_mwlumfaaw): Remove.
5094         (__ev_mwlusfaaw): Remove.
5095         (__ev_mwlumfanw): Remove.
5096         (__ev_mwlusfanw): Remove.
5097
5098 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
5099
5100         * config/h8300/h8300.md (*andorsi3_shift_8): New.
5101
5102 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
5103
5104         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
5105         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
5106         (get_shift_alg): Return optimal assembly instructions for the
5107         shifts mentioned above.
5108
5109 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
5110
5111         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
5112         condtiional moves.
5113
5114 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5115
5116         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
5117         implement ashiftrt:HI by 13 bits on H8S.
5118
5119 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5120
5121         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
5122         * pa.md (canonicalize_funcptr_for_compare): Output library call to
5123         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
5124         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
5125         CTOR_LIST_BEGIN): New defines.
5126         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
5127         (fptr.c): Add make rules.
5128
5129 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
5130
5131         * combine.c (combine_simplify_rtx): Add new canonicalizations.
5132         * doc/md.texi (Insn Canonicalizations): Document new
5133         canonicalizations for multiply/add combinations.
5134         * config/rs6000/rs6000.md: Add and modify floating add/multiply
5135         patterns to ensure they're used whenever they can be.
5136
5137 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5138
5139         * config/h8300/h8300.c: Update the comments related to shifts.
5140
5141 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
5142
5143         * config/mips/mips.md (get_fnaddr): Correct length attribute.
5144
5145 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5146
5147         * config/h8300/h8300.md (*extzv_8_8): New.
5148         (*extzv_8_16): Likewise.
5149
5150 2002-12-04  Jason Merrill  <jason@redhat.com>
5151
5152         PR c++/8461, c++/8625
5153         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
5154         references.
5155         * tree-inline.c (initialize_inlined_parameters): Likewise.
5156
5157         * tree.c (variably_modified_type_p): Just return an error_mark_node.
5158
5159 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
5160
5161         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
5162         macro instruction in a branch delay slot, to avoid assembler
5163         warnings.
5164
5165 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
5166
5167         PR c/7622
5168         * c-semantics (genrtl_scope_stmt): Do not output inlined
5169         nested functions that contain no code.
5170
5171 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5172
5173         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
5174         to be forced into nonfallthru.
5175
5176 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
5177
5178         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
5179
5180 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
5181
5182         * config/rs6000/spe.md (*movv1di_const0): New pattern.
5183
5184 2002-12-03  Richard Henderson  <rth@redhat.com>
5185
5186         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
5187
5188 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
5189
5190         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
5191         Initialize tmp.using_obstack to 0.
5192
5193 2002-12-03  Andreas Schwab  <schwab@suse.de>
5194
5195         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
5196         (EH_RETURN_STACKADJ_RTX): Define.
5197         (EH_RETURN_HANDLER_RTX): Define.
5198         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5199         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
5200         registers and don't save fixed registers.
5201         (m68k_output_function_prologue): Use it.
5202         (use_return_insn): Likewise.
5203         (m68k_output_function_epilogue): Likewise.
5204
5205 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
5206
5207         * config/h8300/h8300.c (single_one_operand): Fix a warning.
5208         (single_zero_operand): Likewise.
5209
5210 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5211
5212         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
5213         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
5214         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
5215         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
5216         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
5217         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
5218         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
5219         doc/install-old.texi: Replace hconfig.h with bconfig.h.
5220         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
5221
5222 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
5223
5224         * config/rs6000/rs6000.md (ffssi): Convert to expander.
5225         (ffsdi): Likewise.
5226         (cntlzw2, cntlzd2): New patterns.
5227
5228 2002-12-02  H.J. Lu <hjl@gnu.org>
5229
5230         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
5231         (mips*-*-linux*): Remove mips/t-linux.
5232
5233 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
5234
5235         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
5236
5237 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5238
5239         * config/h8300/h8300.c (dosize): Replace argument op with
5240         sign.
5241         (h8300_output_function_prologue): Update the call to dosize.
5242         (h8300_output_function_epilogue): Likewise.
5243
5244 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
5245
5246         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
5247
5248 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5249
5250         * configure.in: Use "missing" script to generate warning if
5251         flex or bison programs not found, instead of invoking "false".
5252         * configure: Rebuilt.
5253
5254 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5255
5256         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
5257
5258 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
5259
5260         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
5261
5262 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5263
5264         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
5265         (push): Likewise.
5266         (pop): Likewise.
5267         (h8300_output_function_prologue): Likewise.
5268         (h8300_output_function_epilogue): Likewise.
5269
5270 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
5271
5272         * expmed.c (store_bit_field): Use int_mode_for_mode to find
5273         corresponding mode of non-integer mode, unless it is VOIDmode.
5274
5275 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5276
5277         * config/h8300/h8300.md (stm_h8300s_2): New.
5278         (stm_h8300s_3): Likewise.
5279         (stm_h8300s_4): Likewise.
5280         (five define_peephole2): Likewise.
5281
5282 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5283
5284         * ra-build.c: Fix a comment typo.
5285
5286 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
5287
5288         * i386.c (ix86_expand_int_movcc): fix
5289         reversed BRANCH_COST test; be curefull about infinite recursion.
5290
5291 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
5292
5293         * config/h8300/h8300.c (h8300_output_function_prologue):
5294         Remove variable idx.
5295         (h8300_output_function_epilogue): Likewise.
5296
5297 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
5298
5299         * config/frv/xm-frv.h: Delete, unnecessary.
5300
5301 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
5302
5303         * config/h8300/h8300.md: Add comments for define_peephole2.
5304
5305 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
5306
5307         * builtin-types.def (BT_SIZE): Use size_type_node.
5308         * builtins.c (fold_builtin): Make the builtin strlen returns a
5309         size_t, not a sizetype.
5310         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
5311         c_size_type_node.
5312         (c_alignof_expr): Likewise.
5313         (c_common_nodes_and_builtins): Likewise.
5314         * c-common.h (CTI_C_SIZE_TYPE): Remove.
5315         (c_size_type_node): Likewise.
5316         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
5317         * tree.h (TI_SIZE_TYPE): New enumeral.
5318         (size_type_node): Likewise.
5319
5320 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
5321
5322         * configure.in: Don't put ${tm_file} into host_xm_file,
5323         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
5324         Take location of tm-preds.h into account when calculating
5325         tm_p_file_list.
5326         * configure: Regenerate.
5327         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
5328         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
5329         Remove special case code for tm_p.h and *config.h; add new
5330         special case code for tm.h and tconfig.h. Clean up a bit.
5331
5332         * Makefile.in (tm_file, tm_file_list): New variables set from
5333         @-substitutions.
5334         (GCONFIG_H): Deleted.
5335         (GTM_H, TM_H): New.
5336         (CONFIG_H): Is now just config.h $(host_xm_file_list).
5337         (TM_P_H): Move up with the other mkconfig.sh-generated
5338         headers; don't mention tm-preds.h explicitly.
5339         (tm.h, cs-tm.h): New rule.
5340         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
5341         invocations of mkconfig.sh for changes to that program.
5342         (mostlyclean): Delete print-rtl1.c.
5343         (clean): Delete tm.h.
5344         Update dependencies for the files listed below.
5345
5346         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
5347
5348         * coretypes.h: New file.
5349         * system.h: #define malloc to xmalloc and realloc to xrealloc
5350         when FLEX_SCANNER or YYBISON is defined, independent of the
5351         value of GCC_VERSION.
5352         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
5353         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
5354         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
5355         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
5356         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
5357         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
5358         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
5359         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
5360         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
5361         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
5362         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
5363         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
5364         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
5365         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
5366         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
5367         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
5368         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
5369         genconstants.c, genemit.c, genextract.c, genflags.c,
5370         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
5371         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
5372         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
5373         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
5374         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
5375         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
5376         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
5377         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
5378         print-tree.c, profile.c, protoize.c, ra-build.c,
5379         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
5380         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
5381         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
5382         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
5383         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
5384         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
5385         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
5386         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
5387         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
5388         xcoffout.c, config/darwin-c.c, config/darwin.c,
5389         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
5390         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
5391         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
5392         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
5393         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
5394         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
5395         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
5396         config/i960/i960-c.c, config/i960/i960.c,
5397         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
5398         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
5399         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
5400         config/mips/irix6-libc-compat.c, config/mips/mips.c,
5401         config/mmix/mmix.c, config/mn10200/mn10200.c,
5402         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
5403         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
5404         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
5405         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
5406         config/sparc/sparc.c, config/stormy16/stormy16.c,
5407         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
5408         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
5409         Include coretypes.h and tm.h.
5410
5411         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
5412         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
5413         genrecog.c: Include coretypes.h and tm.h from the file
5414         generated by this program.
5415
5416         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
5417         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
5418         coretypes.h and tm.h, and tsystem.h when not already included.
5419         No need to include stddef.h nor stdlib.h.
5420
5421         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
5422         include auto-host.h or ansidecl.h/
5423         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
5424         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
5425         include auto-host.h, ansidecl.h, or system.h.
5426         * fixinc/server.c: Likewise.  Also, do not include signal.h,
5427         and do not redefine volatile.
5428
5429 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
5430
5431         * i386.md (movdf_integer):  Always enable in 64bit.
5432         (movdf_nointeger): Always disable in 64bit.
5433
5434 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5435
5436         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
5437         pseudo register number plus 1.
5438
5439 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
5440
5441         * expmed.c (store_bit_field): Use int_mode_for_mode to find
5442         corresponding mode of non-integer mode, unless it is VOIDmode.
5443
5444 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
5445
5446         * cpplib.c (_cpp_test_assertion): Default *value to 0.
5447
5448         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
5449
5450 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
5451
5452         * config/s390/t-crtstuff: New target makefile fragment.
5453         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
5454
5455 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
5456
5457         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
5458         alternatives to correct the length when the memory operand is
5459         either pre_dec or post_inc.
5460
5461 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
5462
5463         * config/h8300/h8300.md (an anonymous pattern): Give an
5464         internal name *tst_extzv_bitqi_1_n.
5465         Accept bit_operand instead of bit_memory_operand.
5466         Do not accept bit tests with the MSB.
5467         (*tst_extzv_memqi_1_n): New.
5468
5469 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
5470
5471         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
5472         sharing when operand is SUBREG.
5473
5474 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
5475
5476         * athlon.md (athlon-decodev): New reservation unit.
5477         (athlon-direct0): New reservation.
5478         (athlon-vector): New use athlon-decodev.
5479         (athlon-double, athlon-direct): Better model.
5480         (athlon_imul_k8): Use athlon-direct0.
5481         (athlon_movlpd_load): New insn reservation.
5482
5483 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
5484
5485         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5486         Fix a comment typo.
5487         (h8300_tiny_constant_address_p): Likewise.
5488
5489 2002-11-28  Michael Matz  <matz@suse.de>
5490
5491         * doc/passes.texi: Mention the other register allocator.
5492
5493 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
5494
5495         * config/h8300/h8300.md (6 new peephole2 patterns): New.
5496
5497 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
5498
5499         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
5500         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
5501         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
5502
5503 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
5504
5505         * config/h8300/h8300.c (h8300_and_costs): New.
5506         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
5507         * config/h8300/h8300-protos.h: Add a prototype for
5508         h8300_and_costs.
5509
5510 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
5511
5512         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
5513         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
5514         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
5515         * i386.md (truncdfsf patterns and splitters): Use
5516         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
5517
5518 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
5519
5520         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
5521         pointer argument in the prototypes of the following builtins
5522         be (const TYPE *) rather than (TYPE *):
5523          + __builtin_altivec_ld_internal_4sf
5524          + __builtin_altivec_ld_internal_4si
5525          + __builtin_altivec_ld_internal_8hi
5526          + __builtin_altivec_ld_internal_16qi
5527          + __builtin_altivec_lvsl
5528          + __builtin_altivec_lvsr
5529          + __builtin_altivec_lvebx
5530          + __builtin_altivec_lvehx
5531          + __builtin_altivec_lvewx
5532          + __builtin_altivec_lvxl
5533          + __builtin_altivec_lvx
5534          + __builtin_altivec_dst
5535          + __builtin_altivec_dstt
5536          + __builtin_altivec_dstst
5537          + __builtin_altivec_dststt
5538
5539 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5540
5541         * except.c (default_exception_section): Move variable into the
5542         scope where it is used.
5543
5544 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
5545
5546         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
5547         correct version.
5548
5549 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
5550
5551         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
5552
5553 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
5554
5555         * config/h8300/h8300.c (h8300_shift_costs): New.
5556         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
5557         * config/h8300/h8300-protos.h: Add a prototype for
5558         h8300_shift_costs.
5559
5560 2002-11-27  Jim Wilson  <wilson@redhat.com>
5561
5562         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
5563         in output template.
5564
5565 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
5566
5567         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
5568         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
5569         DLL_IMPORT_EXPORT_PREFIX, not '@'.
5570         (i386_pe_dllimport_name_p): Likewise.
5571         (i386_pe_mark_dllexport): Likewise.
5572         (i386_pe_mark_dllimport): Likewise.
5573         (i386_pe_encode_section_info): Likewise.
5574         (i386_pe_strip_name_encoding): Likewise.
5575
5576 2002-11-27  Richard Henderson  <rth@redhat.com>
5577
5578         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
5579         (nm && NF == 3): Set sawsymbol true.
5580         (END): Exit if no symbols seen.
5581         (output): Fix map syntax error if no globals for the version.
5582
5583 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
5584
5585         * builtins.def (DEF_C99_BUILTIN): Fix.
5586
5587 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
5588
5589         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
5590         (all): Add .size and .type information.
5591
5592 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5593
5594         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
5595         partial_reg_stall target.
5596
5597 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
5598
5599         * i386.md (movhicc): Allow general operand.
5600         (movqicc): New expander.
5601         (movqicc_noc): New pattern.
5602         * i386.c (ix86_expand_carry_flag_compare): New function.
5603         (ix86_expand_int_movcc): Optimize harder using sbb; support more
5604         HImode conversion; support QImode conditional moves
5605
5606 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
5607
5608         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
5609         (ix86_expand_prologue): Multiply the count by amount of registers to be
5610         pushed.
5611
5612 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
5613
5614         * i386.c (override_options): Error about wrong -mcpu on x86-64
5615         compilation.
5616
5617 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
5618
5619         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
5620
5621 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
5622
5623         * i386-protos.h (x86_extended_QIreg_mentioned_p,
5624         x86_extended_reg_mentioned_p): Declare.
5625         * i386.c (extended_reg_mentioned_1): New static function.
5626         (x86_extended_QIreg_mentioned_p,
5627         x86_extended_reg_mentioned_p): New global functions.
5628         * i386.h (REX_SSE_REGNO_P): New macro.
5629         * i386.md (prefix_rex): New attribute.
5630         (length attribute): Add rex.
5631
5632 2002-11-26  Andrew Haley  <aph@redhat.com>
5633
5634         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
5635         from_Unwind_Find_Enclosing_Function.
5636         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
5637         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
5638         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
5639         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
5640         * unwind.h (_Unwind_FindEnclosingFunction): Add.
5641
5642 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
5643
5644         * config/s390/s390.c (390_output_constant_pool): Set alignment
5645         before label in 64 bit mode, behind otherwise.
5646
5647 2002-11-26  Richard Henderson  <rth@redhat.com>
5648
5649         * c-common.c (handle_visibility_attribute): Accept "default".
5650         * tree.h (enum symbol_visibility): New.
5651         (decl_visibility): Declare.
5652         * target.h (gcc_target.visibility): Take visibility arg as integer.
5653         * varasm.c (default_assemble_visibility): Likewise.
5654         (decl_visibility): New.
5655         (maybe_assemble_visibility): Use it.
5656         * output.h (default_assemble_visibility): Update prototype.
5657         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
5658         visibility arg as integer.
5659         * doc/extend.texi: Document default visibility.
5660
5661 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
5662
5663         * config/h8300/h8300.c: Adjust spacing.
5664         * config/h8300/h8300.h: Likewise.
5665
5666 2002-11-26  Richard Henderson  <rth@redhat.com>
5667
5668         * hooks.c (hook_bool_void_false, hook_void_tree_int,
5669         hook_void_FILEptr_constcharptr): Rename so that the return
5670         type is first.
5671         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
5672         hook_bool_tree_false): New.
5673         * hooks.h: Update.
5674         * langhooks-def.h: Update for renames.
5675         * target-def.h: Likewise.
5676         * tree.c (default_comp_type_attributes,
5677         default_set_default_type_attributes, default_insert_attributes,
5678         default_function_attribute_inlinable_p,
5679         default_ms_bitfield_layout_p): Remove.
5680         * tree.h: Update.
5681
5682 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5683
5684         * pa-protos.h (function_value): New prototype.
5685         * pa.c (function_value): Use a PARALLEL to return small aggregates on
5686         TARGET_64BIT.
5687         * pa.h (FUNCTION_VALUE): Use function_value.
5688         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
5689         call_value_internal_reg, sibcall_value_internal_symref,
5690         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
5691         value.
5692
5693 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5694
5695         * expr.c (gen_group_rtx, emit_group_move): New functions.
5696         * expr.h (gen_group_rtx, emit_group_move): Prototype.
5697         * function.c (expand_function_start): Use gen_group_rtx to create a
5698         PARALLEL rtx to hold the return value when the real return rtx is a
5699         PARALLEL.
5700         (expand_function_end): Use emit_group_move to move the return value
5701         from a PARALLEL to the real return registers.
5702         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
5703         in PARALLELs.
5704
5705 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
5706
5707         * config/t-libc-ok: Fix typo.
5708
5709 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5710
5711         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
5712         before AC_PROG_CC.
5713         * configure: Rebuilt.
5714
5715 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
5716
5717         * c-decl.c: (start_struct): Commonize flag setting.
5718
5719 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
5720
5721         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
5722         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
5723         RS6000_CPU_CPP_ENDIAN_BUILTINS.
5724         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
5725
5726 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
5727
5728         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
5729         insns.
5730         * config/s390/s390.c (struct machine_function): Introduction of
5731         struct machine_function.
5732         (s390_output_symbolic_const): Use of cfun.
5733         (s390_optimize_prolog): Likewise.
5734         (s390_fixup_clobbered_return_reg): Likewise.
5735         (s390_frame_info): Likewise.
5736         (s390_emit_prologue, s390_emit_epilogue): Likewise.
5737         (s390_init_machine_status): New function.
5738         (override_options): call s390_init_machine_status.
5739         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
5740         prototype.
5741
5742 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5743
5744         * varasm.c (output_constant_pool): For pool constants in mergeable
5745         section ensure each constant is padded to multiple of entity size.
5746
5747 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
5748
5749         * varasm.c (default_exception_section): Move to...
5750         * except.c (default_exception_section): ... here. Make
5751         .gcc_except_table read-only if it is not expected to have any
5752         dynamic relocations and linker handles it.
5753         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
5754         if it is not expected to have any dynamic relocations and linker
5755         handles it.
5756         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
5757         when linking read-only and read-write sections together.
5758         * configure, config.in: Rebuilt.
5759         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
5760         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
5761
5762 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
5763
5764         * i386.md (pushsf_rex64): Fix typo.
5765
5766 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
5767
5768         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
5769         new function.
5770         (__ev_create_ufix32_fs): Same.
5771         (__ev_get_sfix32_fs_internal): New.
5772         (__ev_get_sfix32_fs): Define to use function.
5773         (__ev_get_ufix32_fs_internal): New.
5774         (__ev_get_ufix32_fs): Define to use function.
5775         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
5776         (__ev_get_lower_ufix32_fs): Same.
5777         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
5778         (__ev_get_lower_sfix32_fs): Same.
5779         (__ev_set_sfix32_fs_internal): New.
5780         (__ev_set_ufix32_fs_internal): New.
5781         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
5782         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
5783         (__ev_set_upper_sfix32_fs): Call function.
5784         (__ev_set_lower_sfix32_fs): Same.
5785         (__ev_set_upper_ufix32_fs): Same.
5786         (__ev_set_lower_ufix32_fs): Same.
5787
5788 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
5789
5790         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
5791
5792 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5793
5794         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
5795         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5796         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5797         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
5798         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
5799         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5800         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
5801         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
5802         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
5803         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5804         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
5805         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
5806         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
5807         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
5808         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
5809         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
5810         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
5811         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
5812         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
5813         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
5814         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
5815         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
5816         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
5817         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
5818         defining.
5819         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
5820         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
5821
5822 2002-11-25  Dave Pitts  <dpitts@cozx.com>
5823
5824         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
5825
5826 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
5827
5828         * config/h8300/h8300.md (an anonymous pattern): New.
5829
5830 2002-11-25  Richard Henderson  <rth@redhat.com>
5831
5832         * alias.c (find_base_value): Use new_reg_base_value if it's live.
5833         (copying_arguments): Make boolean.
5834
5835 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5836
5837         * gcc.c (static_spec_functions): Add if-exists-else spec
5838         function.
5839         (if_exists_else_spec_function): New function.
5840         * doc/invoke.texi: Document the if-exists-else spec function.
5841
5842         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
5843         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
5844
5845 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
5846
5847         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
5848         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
5849         "${tmake_file} rs6000/t-netbsd".
5850         * config/rs6000/netbsd.h: Rewrite.
5851         * config/rs6000/t-netbsd: New file.
5852
5853 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
5854
5855         * config/h8300/h8300.md (an anonymous pattern): Relax the
5856         condition for the pattern.
5857
5858 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
5859
5860         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
5861         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
5862         evmwlssfanw, evmwlsmfanw.
5863
5864         * config/rs6000/rs6000.c (bdesc_2arg): Same.
5865
5866         * config/rs6000/spe.md: Same for patterns.
5867
5868 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
5869
5870         PR c/8639
5871         * fold-const.c (extract_muldiv): Don't propagate division unless
5872         both arguments are multiples of C.
5873
5874 2002-11-25  Andrew Haley  <aph@redhat.com>
5875
5876         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
5877         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
5878         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
5879         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5880
5881 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
5882
5883         * i386.c (x86_use_ffreep): New global variable.
5884         * i386.h (x86_use_frfeep): Declare
5885         (TARGET_USE_FFREEP): New macro
5886         * i386.md  (movs?f*): Use freep when asked for.
5887         (push?f): Remove dead code.
5888
5889 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
5890
5891         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
5892         target help message.
5893
5894 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5895
5896         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
5897         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
5898         crtbeginT.o".
5899         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
5900         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
5901         to "" for a.out configurations.
5902         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
5903
5904 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5905
5906         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
5907         NETBSD_CPP_SPEC directly.
5908         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
5909         netbsd_endfile_spec.
5910         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
5911
5912 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
5913
5914         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
5915         NETBSD_STARTFILE_SPEC.
5916         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
5917         (ENDFILE_SPEC): Likewise.
5918         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
5919
5920 2002-11-24  Andreas Schwab  <schwab@suse.de>
5921
5922         * Makefile.in (install-driver): Remove versioned link before
5923         trying to create it.
5924
5925         * config/m68k/m68k.c: Fix typo in last change defining
5926         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
5927
5928 2002-11-23  H.J. Lu <hjl@gnu.org>
5929
5930         * aclocal.m4: Include ../config/accross.m4.
5931         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
5932         (gcc_AC_C_COMPILE_ENDIAN): Removed.
5933         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
5934         instead of $ac_cv_c_compile_endian.
5935
5936         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
5937         AC_COMPILE_CHECK_SIZEOF.
5938         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
5939         * configure: Rebuild.
5940
5941 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
5942
5943         * config/h8300/h8300.c (print_operand): Update the use of
5944         h8300_tiny_constant_address_p.
5945         (h8300_adjust_insn_length): Likewise.
5946         (h8300_tiny_constant_address_p): Check if the given rtx is a
5947         variable declared with __attribute__ ((tiny_data)).
5948
5949 2002-11-22  Dale Johannesen  <dalej@apple.com>
5950
5951         * toplev.c (rest_of_compilation):  Fix comments.
5952
5953 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
5954
5955         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
5956         allow mmap from /dev/zero.  Don't make decisions for the host
5957         based on presence or absence of /dev/zero on the build machine.
5958         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
5959         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
5960         * configure: Regenerate.
5961
5962 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
5963
5964         * gcc.c (make_relative_prefix, split_directories)
5965         (free_split_directories): Removed.
5966
5967 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
5968
5969         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
5970         * configure: Regenerated.
5971
5972 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
5973
5974         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
5975         length computation when xor.l is output.
5976
5977 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
5978
5979         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
5980         (call_vms_1, call_value_vms_1): Cleanup syntax.
5981
5982 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
5983
5984         * athlon.md (define_atuomaton): Add athlon_load.
5985         (athlon-double): New reservation.
5986         (athlon-ieu0): New CPU unit.
5987         (athlon-load?): Use athlon_load automaton.
5988         (*_k8 reservations): New.
5989         (other insn revervations): Activate for K8.
5990
5991 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5992
5993         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
5994
5995 2002-11-21  Jim Wilson  <wilson@redhat.com>
5996
5997         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
5998         vectors to SI.
5999
6000 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
6001
6002         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
6003         * config/xtensa/xtensa.c (struct machine_function): Add
6004         incoming_a7_copied flag.
6005         (xtensa_copy_incoming_a7): Define.
6006         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
6007         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
6008
6009 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
6010
6011         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
6012         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6013         x86_64_nonmemory_operand, x86_64_movabs_operand,
6014         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6015         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
6016         (local_symbolic_operand): Do not care the 64bit limits.
6017         (x86_64_sign_extended_value): Remove allow_rip support.
6018         (legitimate_pic_address_disp_p): Handle all cases allowed
6019         with RIP addressing.
6020         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
6021         (legitimize_pic_address): Reorganize.
6022         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
6023
6024 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6025
6026         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
6027         * config/arm/netbsd-elf.h: New file.
6028
6029 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6030
6031         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
6032         subtarget_asm_float_spec.
6033         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
6034         defaults from...
6035         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
6036
6037 2002-11-21  Nick Clifton  <nickc@redhat.com>
6038
6039         * config/fr30/fr30.md (movsf_constant_store): Move code to
6040         detect 0.0 into fr30.c.
6041         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
6042         Prototype.
6043         * config/fr30/fr30.c (fr30_const_double_is_zero): New
6044         function.  Return true if the rtx is 0.0.
6045
6046 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6047
6048         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
6049         if -mlittle-endian is specified.
6050
6051 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
6052
6053         PR optimization/2903
6054         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
6055         (anddi_notsesidi_di): Likewise.
6056
6057 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
6058
6059         * config/h8300/h8300.c (print_operand): Use
6060         h8300_eightbit_constant_address_p and
6061         h8300_tiny_constant_address_p.
6062         (h8300_adjust_insn_length): Likewise.
6063         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
6064         (TINY_CONSTANT_ADDRESS_P): Likewise.
6065         (OK_FOR_U): Use eightbit_constant_address_p.
6066
6067 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
6068
6069         * config/s390/libgcc-libc.ver: Add multilib support.
6070         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
6071         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
6072         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
6073         EXTRA_MULTILIB_PARTS): Define.
6074
6075 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
6076
6077         * arm.c (arm_get_frame_size): A leaf function does not need its
6078         stack padding to an aligned boundary if it has no frame.
6079         (thumb_get_frame_size): Likewise.
6080
6081 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
6082
6083         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
6084         (override_options): Likewise.
6085
6086 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
6087
6088         * config.gcc: Add k8 target alias support
6089         * i386.c (_cost): Declare costs for various variants of divides and
6090         multiplies.
6091         (k8_cost): New.
6092         (m_K8, m_ATHLON_K8): New macros.
6093         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
6094         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
6095         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
6096         x86_integer_DFmode_moves, x86_partial_reg_dependency,
6097         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
6098         x86_prologue_using_move, x86_epilogue_using_move,
6099         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
6100         x86_sse_typeless_stores): Set for K8
6101         (override_options): Add k8 support; fix athlon alignment;
6102         complain about non-x86-64 capable CPU being used in x86-64 compilation.
6103         (ix86_issue_rate): Set for K8.
6104         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
6105         x86_machine_dependent_reorg): Handle K8 like
6106         * i386.h
6107         (x86_costs):  Change mult_init and divide into array.
6108         (TARGET_K8, TARGET_ATHLON): New macros.
6109         (MODE_INDEX): New macro.
6110         (RTX_COST): Use new costs.
6111         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
6112         (TARGET_CPU_DEFAULT_NAMES): Add k8
6113         (TARGET_CPU_DEFAULT_k8): New constant
6114         (enum processor_type): Add PROCESSOR_K8.
6115         * i386.md (cpu attribute): Add k8.
6116
6117         * invoke.texi: Document -march=k8.
6118
6119         * i386.md (type attribute): Add leave
6120         (mode attribute): Remove unknownfp.
6121         (length_immediate, modrm, memory attributes): Handle leave correctly.
6122         (fp comparison patterns): Determine FP mode.
6123         (leave, leave_rex64): Remove special cases.
6124         * ppro.md (ppro_uops, ppro_p2): Add leave
6125         * pentiun.md (pent_pop): Handle leave too.
6126         * k6.md (k6_load): Handle leave.
6127         * athlon.md (athlon_leave, athlon_pop): Fix.
6128         (athlon_decode): Handle leave.
6129
6130 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
6131
6132         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
6133         to component type using GET_MODE_INNER.
6134         * expr.c (emit_move_insn_1): Ditto.
6135         * optabs.c (expand_binop): Ditto.
6136         (expand_unop): Ditto.
6137         (expand_complex_abs): Ditto.
6138
6139 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
6140
6141         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
6142
6143 2002-11-20  DJ Delorie  <dj@redhat.com>
6144
6145         * config/stormy16/stormy16.c (s16builtins,
6146         xstormy16_init_builtins, xstormy16_expand_builtin): New.
6147         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
6148
6149 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
6150
6151         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
6152         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
6153         (executing gencheck, genconfigs, genconditions, genflags,
6154         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
6155         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
6156         gengtype, genprotos): Prepend $(RUN_GEN).
6157         * configure.in: Move host compiler tests before --enable-checking
6158         tests.
6159         (--enable-checking=valgrind): New.
6160         * config.in, configure: Regenerate.
6161         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6162         Define as empty.
6163         (read_include_file): When doing the mmap+1 trick,
6164         valgrind-annotate the byte after the mmap:ed area as readable.
6165         (purge_cache): Remove above annotation.
6166         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
6167         VALGRIND_PATH -q to each command.
6168
6169         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6170         Define as empty.
6171         (ggc_realloc): Update valgrind annotations.
6172         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6173         Define as empty.
6174         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
6175         valgrind-annotate memory.
6176
6177 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
6178
6179         * recog.c (constrain_operands): Prefer exact match over reloadable
6180         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
6181
6182         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
6183         operands in Pmode.
6184
6185 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
6186
6187         PR c/8518
6188         * c-decl.c (duplicate_decls): Outline the second definition
6189         of an extern inline function in all cases.
6190
6191 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6192
6193         * stor-layout.c (place_field): Update rli->offset as well as
6194         rli->bitpos.
6195
6196 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6197
6198         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
6199
6200 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6201
6202         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
6203         into a libcall block.
6204         (divsi3): Likewise divsi3_i4_media.
6205
6206 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6207
6208         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
6209         out another register.
6210
6211 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
6212
6213         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
6214         (not just mask) are set in C.
6215
6216 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
6217
6218         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
6219
6220 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6221
6222         * profile.c (index_counts_file): Fix obvious mistake.
6223
6224 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6225
6226         * Makefile.in (profile.o): Add hashtab.h dependency.
6227         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
6228         * profile.c: Include hashtab.h.
6229         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
6230         cleanup_counts_index, index_counts_file, struct section_reference,
6231         struct da_index_entry, counts_file_name, counts_file_index): New.
6232         (get_exec_counts, init_branch_prob): Modified.
6233
6234 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
6235
6236         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
6237         to tmake_file. Remove setting gas and gnu_ld here.
6238         * config/sh/libgcc-glibc.ver: New file.
6239         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
6240         (SHLIB_MAPFILES): New.
6241         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
6242         (MD_STARTFILE_PREFIX): Likewise.
6243         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
6244         (DWARF2_UNWIND_INFO): Redefine.
6245         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6246         (LINK_EH_SPEC): Redefine.
6247         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
6248         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
6249         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
6250         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
6251         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
6252         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
6253         SH_DWARF_FRAME_FPSCR): Likewise.
6254         * config/sh/sh-protos.h (sh_set_return_address): Declare.
6255         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
6256         registers if the current function calls EH return.
6257         (sh_expand_epilogue): Handle EH stack adjustments.
6258         (sh_set_return_address): New function.
6259         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6260         Don't abort even if the number is mapped to -1.
6261         (EH_RETURN_DATA_REGNO): Define.
6262         (EH_RETURN_STACKADJ_RTX): Define.
6263         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
6264         (eh_return): New pattern.
6265         (eh_set_ra_di, eh_set_ra_si): Likewise.
6266         Add splitter to perform EH return after reload.
6267
6268 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
6269
6270         * stor-layout.c (excess_unit_span): New function.
6271         (place_field): Use it.
6272
6273 2002-11-19  Andreas Schwab  <schwab@suse.de>
6274
6275         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
6276         not valid in C++.
6277
6278 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
6279
6280         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
6281         * configure: Regenerate.
6282
6283 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6284
6285         * convert.c (strip_float_extensions): New function.
6286         (convert_to_real): Optimize some cases.
6287
6288 2002-11-19  Andreas Jaeger  <aj@suse.de>
6289
6290         * loop.c (record_giv): Initialize not_replaceable.
6291         (check_final_value): Likewise.
6292
6293 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6294
6295         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
6296         MASK_H8300S.
6297
6298 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
6299
6300         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
6301         only if -mh or -ms present.
6302         (h8300_eightbit_constant_address_p): Support the normal mode.
6303         (h8300_tiny_constant_address_p): Likewise.
6304         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
6305         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
6306         (Pmode): Evaluate to HImode for the normal mode.
6307         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
6308         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
6309         (ASM_WORD_OP): Evaluate to word for the normal mode.
6310         * config/h8300/h8300.md (tablejump_normal_mode): New.
6311         (indirect_jump_normal_mode): New.
6312         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
6313         directory.
6314         (MULTILIB_DIRNAMES): Create target dependent directory
6315         'normal'.
6316         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
6317         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
6318
6319 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
6320
6321         * i386.md (length_immediate): Do not refer to insn address.
6322         (jcc*, jmp patterns):  Compute length explicitly.
6323
6324 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
6325
6326         PR c/8588
6327         * optabs.c (expand_binop): Convert CONST_INTs in shift
6328         operations too.
6329
6330 2002-11-19  Roger Sayle  <roger@eyesopen.com>
6331
6332         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
6333
6334 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6335
6336         * config/h8300/h8300.md (an anonymous pattern): Relax the
6337         condition to accept the same operands and/or subregs.
6338
6339 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
6340
6341         * config/sh/sh.c (gen_shl_and): Revert previous patch.
6342         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
6343         reload_completed.
6344
6345 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6346
6347         * config/h8300/h8300.c (print_operand): Update the use of
6348         EIGHTBIT_CONSTANT_ADDRESS_P.
6349         (h8300_adjust_insn_length): Likewise.
6350         (h8300_eightbit_constant_address_p): Check if the given rtx is
6351         a variable with __attribute__((eightbit_data)).
6352         * config/h8300/h8300.h (OK_FOR_U): Update the use of
6353         EIGHTBIT_CONSTANT_ADDRESS_P.
6354
6355 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6356
6357         * doc/contrib.texi (Contributors): Add self as second contact in
6358         addition to Jeff Law.
6359
6360 2002-11-19  Andreas Jaeger  <aj@suse.de>
6361
6362         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
6363         find_alloca_call to right place.
6364
6365 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6366
6367         * cppfiles.c: Fix formatting.
6368
6369 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
6370
6371         * gcc.c (The Specs Language): Document spec functions.
6372         (static_spec_functions, lookup_spec_function)
6373         (eval_spec_function, handle_spec_function)
6374         (if_exists_spec_function, alloc_args): New.
6375         (execute): Abort if processing_spec_function is true.
6376         (do_spec_1): Hand off spec to handle_spec_function if %:
6377         is encountered.  If processing_spec_function is true,
6378         end any pending argument when the end of the string is reached.
6379         (main): Use alloc_args to allocate the initial argument vector.
6380         * gcc.h (struct spec_function): New.
6381         (lang_specific_spec_functions): New extern.
6382
6383         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
6384         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
6385         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
6386
6387         * doc/invoke.texi: Document spec functions.
6388
6389         * cppspec.c (lang_specific_spec_functions): New.
6390         * gccspec.c: Likewise.
6391
6392 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
6393
6394         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
6395         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
6396         (fixunstfsi_libfunc): Change.
6397         (fixunstfdi_libfunc): Change.
6398         (sdiv_optab): Don't zero out SImode handler.
6399         (udiv_optab): Don't zero out SImode handler.
6400         (smod_optab): Don't zero out SImode handler.
6401         (umod_optab): Don't zero out SImode handler.
6402
6403 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
6404
6405         PR preprocessor/8524
6406         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
6407         Add a new one in its place, which hopefully works.
6408         (skip_rest_of_line): Change test for bottom-of-context-stack.
6409
6410 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
6411
6412         * i386.md (addqi_1_slp): Fix output template.
6413         (subqi_1_slp): Fix type.
6414
6415 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
6416
6417         * calls.c (alloca_call_p): New global function.
6418         * tree.h (alloca_call_p): New.
6419         * tree-inline.c (inlinable_function_p):  Do not inline when
6420         function calls alloca.
6421         (find_alloca_call, find_alloca_call_1): New functions.
6422
6423 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
6424
6425         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
6426         bst.  Update the insn length.
6427         (*andorhi3): Likewise.
6428         (*andorsi3): Likewise.
6429
6430 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
6431
6432         * config/sh/sh-protos.h (sh_mark_label): Declare.
6433         * config/sh/sh.c (sh_mark_label): New function, taken from
6434         movdi_const, but fixing the case when the address has an addend.
6435         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
6436
6437 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
6438
6439         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
6440         (add_constant): Set it.
6441         (dump_table): Don't reorder a constant if part_of_sequence_p.
6442         (machine_dependent_reorg): Assume that float constants will
6443         stay in their original order if used as a sequence.
6444
6445 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
6446
6447         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
6448         in compact code.
6449
6450 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
6451
6452         * config/sh/sh.md (initialize_trampoline): Do not force the
6453         trampoline address into R0_REGS here.
6454
6455 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
6456
6457         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
6458         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
6459         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
6460         generate unnecesary subregs.
6461
6462 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
6463
6464         * df.c: Fix formatting.
6465
6466 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
6467
6468         * config/h8300/h8300.md (two anonymous patterns): Fix insn
6469         lengths.
6470
6471 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
6472
6473         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
6474         is not an arith_reg_operand.
6475
6476 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
6477
6478         * real.c (real_to_decimal): Fix buffer overrun when buffer size
6479         is smaller than representation.
6480
6481 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
6482
6483         * builtins.c: Fix formatting.
6484
6485 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
6486
6487         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
6488         floats?dff2_i387):
6489         Work around regclass stupidity.
6490         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
6491
6492 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
6493
6494         * i386.md (fop_df_6): New pattern.
6495         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
6496         (fop_xf_6): Rewrite
6497         (fop_xf_7): Delete.
6498         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
6499         (fop_tf_6): Rewrite
6500         (fop_tf_7): Delete.
6501
6502 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
6503
6504         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
6505
6506 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
6507
6508         * config/h8300/h8300.md: Fix formatting.
6509
6510 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
6511
6512         * config/h8300/h8300.md: Replace spaces with tabs.
6513         * config/h8300/t-h8300: Remove a trailing empty line.
6514
6515 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
6516
6517         * tlink.c: Fix formatting.
6518
6519 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
6520
6521         PR 8362
6522         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
6523         * config/rs6000/rs6000.md (movti_string): Remove output modifier
6524         when scratch register never needed.
6525         (ldmsi[3-8]): New patterns.
6526
6527 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
6528
6529         * hard-reg-set.h: Follow spelling conventions.
6530         * real.c: Likewise.
6531         * target.h: Likewise.
6532
6533 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
6534
6535         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
6536
6537 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
6538
6539         * optabs.c: Fix formatting.
6540
6541 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
6542
6543         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
6544         * i386.md (attribute type): Add type shift1 and rotate1.
6545         (*_slp): Rewrite to have just two operands to avoid reload problems.
6546
6547 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
6548
6549         * config/h8300/h8300.md (4 anonymous patterns): New.
6550
6551 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
6552
6553         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
6554         * doc/invoke.texi: Correct description of what needs to be done to
6555         force collection at every ggc_collect call.
6556
6557 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
6558
6559         * config/s390/s390.c (optimization_options): Set
6560         flag_asynchronous_unwind_tables to 1 by default.
6561
6562 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
6563
6564         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6565
6566 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6567
6568         * i386-protos.h (x86_function_profiler): New function
6569         * i386.h (MCOUNT_NAME): New.
6570         (PROFILE_COUNT_REGISTER): New.
6571         (FUNCTION_PROFILER): Move offline to ...
6572         * i386.c (x86_function_profiler) ... here; fix 64bit support
6573         * beos-elf.h (FUNCTION_PROFILER): Kill.
6574         (MCOUNT_NAME): New.
6575         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
6576         (MCOUNT_NAME): New.
6577         (PROFILE_COUNT_REGISTER): New.
6578         * linux.h (FUNCTION_PROFILER): Kill.
6579         (MCOUNT_NAME): New.
6580         * x86-64.h (FUNCTION_PROFILER): Kill.
6581         (MCOUNT_NAME): New.
6582         * freebsd.h (FUNCTION_PROFILER): Kill.
6583         (MCOUNT_NAME): New.
6584
6585 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6586
6587         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
6588         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
6589         * config/arm/arm.c (arm_va_arg,
6590         arm_function_arg_pass_by_reference): New.
6591         * config/arm/arm-protos.h: Add prototypes.
6592
6593 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
6594
6595         * gthr-single.h: Fix formatting.
6596
6597 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
6598
6599         * tree.c (tree_vec_elt_check_failed): New function.
6600         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
6601         (TREE_VEC_ELT): Use it.
6602
6603         * tree-inline.c (optimize_inline_calls): Don't copy a
6604         zero-length vector.
6605
6606 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6607
6608         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
6609
6610 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
6611
6612         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
6613         both operands contain local relocations.
6614         (categorize_decl_for_section): Don't use mergeable sections if
6615         initializer has any relocations.
6616
6617 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
6618
6619         * gthr-vxworks.h: Fix formatting.
6620
6621 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
6622
6623         * doc/install.texi (Testing): Document extra Java testing.
6624         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
6625
6626 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6627
6628         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
6629         beginning of the spec.
6630         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
6631         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
6632         regarding problems with global constructors when using GNU ld.
6633
6634 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
6635
6636         * gthr-solaris.h: Fix formatting.
6637
6638 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
6639
6640         * gthr-posix.h: Fix formatting.
6641
6642 2002-11-12  Devang Patel <dpatel@apple.com>
6643         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
6644         (process_command): Same.
6645         * doc/invoke.texi: Info about these two new options.
6646
6647 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
6648
6649         * config/h8300/h8300.md (*andorsi3): New.
6650
6651 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6652
6653         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
6654
6655 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
6656
6657         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
6658         expressions appropriately.
6659
6660 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
6661
6662         * gthr-win32.h: Fix formatting.
6663
6664 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
6665
6666         * config/h8300/h8300.c (single_one_operand): Correctly compute
6667         mask when mode is SImode.
6668         (single_zero_operand): Likewise.
6669         * config/h8300/h8300.md (two new anonymous insns): New.
6670
6671 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6672
6673         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
6674         to that entire project.
6675
6676 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6677
6678         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
6679         directories.
6680
6681 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
6682
6683         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
6684         * doc/invoke.texi: Document them.
6685
6686         * ggc-page.c: Include params.h.  Remove definitions of
6687         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
6688         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
6689         (init_gcc): Don't set G.allocated_last_gc here.
6690         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
6691         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
6692         perform collection.
6693         * ggc-simple.c: Similarly.
6694         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
6695         dependencies.
6696
6697 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
6698
6699         * gthr-dce.h: Fix formatting.
6700
6701 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6702
6703         PR c/8467
6704         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
6705         mode of DECL_RTL case.
6706
6707 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
6708
6709         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
6710
6711 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
6712
6713         * i386.c (construct_container): Fix handling of SSE_CLASS.
6714
6715 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
6716
6717         * config/m68k/t-crtstuff (crti.o): Use this...
6718         ($(T)crti.o): ... instead.
6719         (crtn.o): Use this...
6720         ($(T)crtn.o): ... instead.
6721
6722 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
6723
6724         PR c/8439
6725         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
6726         if there is something new to be simplified.
6727
6728 2002-11-10  H.J. Lu <hjl@gnu.org>
6729
6730         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
6731         * expr.c (PUSH_ARGS_REVERSED): Likewise.
6732
6733         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
6734
6735 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
6736
6737         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
6738         * config/rs6000/linux.h, config/rs6000/linux64.h,
6739         config/rs6000/windiss.h: ... not here.
6740
6741 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
6742
6743         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
6744         __ABICALLS__ if TARGET_ABICALLS.
6745
6746 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
6747
6748         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
6749
6750 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
6751
6752         * c-decl.c (grokdeclarator): Make error for duplicate type
6753         qualifiers into a pedwarn, disabled for C99.
6754
6755 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
6756
6757         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
6758         as FUNCTION_ARG_PASS_BY_REFERENCE.
6759
6760 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
6761
6762         * doc/install.texi: Add *-*-vxworks* specific installation
6763         instructions.
6764
6765         * config/vxlib.c: Rewrite using generation numbers to identify
6766         valid TSD keys.
6767
6768 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
6769
6770         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
6771
6772 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6773
6774         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
6775
6776         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
6777         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
6778         * pa.c (output_millicode_call): Use symbol difference rather than
6779         $PIC_pcrel$0 when using HP assembler.
6780         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
6781         not elfos.h (i.e., gas) is being used.
6782         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
6783         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
6784         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
6785         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
6786         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
6787         using elfos.h.
6788         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
6789         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
6790         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
6791         using elfos.h.
6792         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
6793         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
6794         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
6795         Don't define when not using elfos.h.
6796         (ASM_DECLARE_RESULT): Don't define.
6797         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
6798         doesn't work on hppa64-hp-hpux11.
6799         (hppa*-hp-hpux11): Update.
6800
6801 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
6802
6803         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
6804         to the assembler if -mno-abicalls was specified.
6805
6806 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6807
6808         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
6809         ASM_OUTPUT_DEF): Delete.
6810
6811 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
6812
6813         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
6814
6815 2002-11-08  Roger Sayle  <roger@eyesopen.com>
6816
6817         * real.c (real_sqrt): Update comment with bibliographic reference.
6818
6819 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
6820
6821         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
6822
6823 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6824
6825         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
6826
6827 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
6828
6829         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
6830         (expand_builtin): Likewise.
6831         * builtins.def: Add
6832         __builtin_floor, __builtin_floorf, __builtin_floorl
6833         __builtin_ceil, __builtin_ceilf, __builtin_ceill
6834         __builtin_round, __builtin_roundf, __builtin_roundl
6835         __builtin_trunc, __builtin_truncf, __builtin_truncl
6836         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
6837         * genopinit.c (optabs): Initialize the new optabs.
6838         * optab.c (init_optabs): Likewise.
6839         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
6840         OTI_round, OTI_nearbyint.
6841         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
6842         * doc/md.texi: Document new named patterns.
6843         * doc/extend.texi (builtin functions)  Document
6844         floor, floorf, floorl, ceil, ceilf,
6845         ceill, round, roundf, roundl, trunc,
6846         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
6847
6848 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
6849
6850         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
6851
6852 2002-11-08  Dale Johannesen  <dalej@apple.com>
6853
6854         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
6855
6856 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
6857
6858         PR preprocessor/8497
6859         PR preprocessor/8501
6860         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
6861         start a directive.  In assembler, #NUM is not a line directive.
6862
6863 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
6864
6865         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
6866         buffers.
6867
6868 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
6869
6870         * config/h8300/h8300.md (two anonymous test insns): New.
6871
6872 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6873
6874         * jump.c (mark_jump_label): Handle subregs of label_refs.
6875
6876 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
6877
6878         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
6879         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
6880
6881 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
6882
6883         * config/ia64/crtend.asm: Include "auto-host.h".
6884         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
6885         * config/ia64/crtbegin.asm: Similarly.
6886         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
6887         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
6888
6889         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
6890         * configure.in: Use it if --enable-initfini-array not specified.
6891         * doc/install.texi (Configuration): Document --enable-initfini-array.
6892         * configure, config.in: Rebuild.
6893
6894 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
6895
6896         * config/arm/arm-protos.h (arm_get_frame_size)
6897         (thumb_get_frame_size): New prototypes.
6898         * config/arm/arm.c (arm_get_frame_size)
6899         (thumb_get_frame_size): New functions.
6900         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
6901         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
6902         arm_get_frame_size.
6903         (thumb_expand_prologue, thumb_expand_epilogue): Use
6904         thumb_get_frame_size.
6905         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
6906         (machine_function): Add frame_size member.
6907         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
6908
6909 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
6910
6911         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
6912         Adjust code to use portable unsigned bit manipulation.
6913         (insn_flags, tune_flags): Change type to unsigned.
6914         (struct processors): Make flags unsigned long.
6915         (arm_override_options): Change type of count and current_bit_count
6916         to unsigned.
6917
6918 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
6919
6920         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
6921
6922 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
6923
6924         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
6925
6926 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
6927
6928         * reg-stack.c (compensate_edge): Fix sanity check.
6929
6930 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
6931
6932         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
6933         crt2.o.  Rearrange t-darwin makefiles.
6934         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
6935         * unwind-dw2-fde-darwin.c: New.
6936         * unwind-dw2-fde-glibc.c: Correct comment.
6937         * unwind-dw2-fde.c (__register_frame_info_bases)
6938         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
6939         (classify_object_over_fdes): Use last_fde.
6940         (add_fdes): Likewise.
6941         (linear_search_fdes): Likewise.
6942         * unwind-dw2-fde.h (struct object)
6943         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
6944         (last_fde): New.
6945         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
6946         (ENDFILE_SPEC): No crtend.o.
6947         * config/t-darwin: New.
6948         * config/i386/t-darwin: Delete.
6949         * config/darwin-crt2.c: New.
6950         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
6951         or config/t-darwin.
6952
6953 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
6954
6955         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
6956         MASK_MS_BITFIELD_LAYOUT
6957         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
6958         MS bitfields for Objective-C.
6959         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
6960         defines.
6961
6962         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
6963         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
6964         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
6965
6966         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
6967         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
6968         (TARGET_SWITCHES): Add above mask.
6969
6970         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
6971         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
6972         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
6973         flags for interix.
6974
6975 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
6976
6977         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
6978         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
6979         assembler.
6980         * config/mips/mips.md (tablejump_internal3): Output .cpadd
6981         before jump on ABI_N32 too.
6982         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
6983         length to match.
6984
6985 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
6986
6987         * i386.md (negsf splitter): Accept memory operand in second register.
6988         (abssf/absdf splitters): Simplify
6989         (sse_loadss, sse_loadsd): Turn into expander.
6990
6991 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
6992
6993         PR target/8480
6994         * config/rs6000/rs6000.md (movdi_internal64): Discourage
6995         FPR to FPR moves.
6996
6997 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
6998
6999         * doc/contrib.texi: Merge in the list from the Java web pages.
7000
7001 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
7002
7003         * config/sparc/freebsd: Fix typo.
7004
7005 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7006
7007         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
7008
7009 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
7010
7011         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
7012         non-SImode addresses.
7013
7014 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
7015
7016         * i386.md (float_truncate SSE splitter): Ensure that operand is not
7017         stack register.
7018         (float SSE splitters): Reorder conditional.
7019
7020 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
7021
7022         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
7023
7024 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
7025
7026         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
7027         (STARTFILE_SPEC): Remove p and pg options.
7028
7029 2002-11-05  Andrew Haley  <aph@redhat.com>
7030
7031         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
7032         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
7033
7034 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
7035
7036         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
7037         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
7038
7039 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
7040
7041         * gthr-vxworks.h: Rewritten from scratch.
7042         * config/vxlib.c: New file.
7043         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
7044         * config/rs6000/t-vxworks: Add config/vxlib.c to
7045         LIB2FUNCS_EXTRA here too, because of clash with
7046         config/rs6000/t-ppccomm.
7047
7048 2002-11-04  Dale Johannesen  <dalej@apple.com>
7049
7050         * doloop.c (doloop_modify_runtime):  Fix loop count computation
7051         for unrolled loops.
7052         * loop.c (loop_invariant_p):  Support calling from unroller.
7053
7054 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
7055
7056         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
7057         for comparison.
7058
7059 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
7060
7061         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
7062
7063         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
7064         (CLASS_CANNOT_CHANGE_MODE): Remove.
7065         (CANNOT_CHANGE_MODE_CLASS): New.
7066
7067         * config/alpha/alpha.h: Same.
7068
7069         * config/ia64/ia64.h: Same.
7070
7071         * config/mips/mips.h: Same.
7072
7073         * config/s390/s390.h: Same.
7074
7075         * config/sh/sh.h: Same.
7076
7077         * config/pa/pa64-regs.h: Same.
7078
7079         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
7080
7081         * config/sh/sh.c (sh_cannot_change_mode_class): New.
7082
7083         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
7084         prototype.
7085
7086         * config/mips/mips.c (mips_cannot_change_mode_class): New.
7087
7088         * doc/tm.texi (Register Classes): Remove
7089         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
7090         Document CANNOT_CHANGE_MODE_CLASS.
7091
7092         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
7093         (push_reload): Same.
7094
7095         * simplify-rtx.c (simplify_subreg): Same.
7096
7097         * reload1.c (choose_reload_regs): Same.
7098
7099         * recog.c (register_operand): Same.
7100
7101         * regrename.c (mode_change_ok): Change to use new
7102         CANNOT_CHANGE_MODE_CLASS infrastructure.
7103
7104         * regclass.c (cannot_change_mode_set_regs): New.
7105         Declare subregs_of_mode.
7106         (regclass): Use subregs_of_mode.
7107         Remove references to reg_changes_mode.
7108         (init_reg_sets_1): Remove class_can_change_mode and
7109         reg_changes_mode code.
7110         (invalid_mode_change_p): New.
7111         (dump_regclass): Use invalid_mode_change_p instead of
7112         class_can_change_mode.
7113         (regclass): Same.
7114         (record_operand_costs): Do not set reg_changes_mode.
7115
7116         * local-alloc.c (struct qty): Remove changes_mode field.
7117         (alloc_qty): Remove changes_mode initialization.
7118         (update_qty_class): Remove set of changes_mode.
7119         (find_free_reg): Use subregs_of_mode.
7120
7121         * global.c (find_reg): Use subregs_of_mode info.
7122
7123         * rtl.h (cannot_change_mode_set_regs): New prototype.
7124         (invalid_mode_change_p): Same.
7125         (REG_CANNOT_CHANGE_MODE_P): New macro.
7126
7127         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
7128         REG_CHANGES_MODE.
7129         (life_analysis): Clear subregs_of_mode.
7130
7131         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
7132         Remove use of CLASS_CANNOT_CHANGE_MODE.
7133         (simplify_set): Same.
7134         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
7135         REG_CHANGES_MODE.
7136
7137         * regs.h: Add extern for subregs_of_mode;
7138         Include hard-reg-set and basic-block.
7139         (REG_CHANGES_MODE): Delete.
7140
7141 2002-11-03  Roger Sayle  <roger@eyesopen.com>
7142
7143         * real.c (real_sqrt): New function to calculate square roots.
7144         * real.h (real_sqrt): Add function prototype.
7145         * builtins.c (fold_builtin): Fold sqrt of constant argument.
7146         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
7147         of constant argument.
7148
7149 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7150
7151         * jump.c (never_reached_warning): Don't set contains_insn until the
7152         first line note is seen.
7153
7154 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
7155
7156         * config/rs6000/rs6000.md (movti_string): Use string instructions.
7157
7158 2002-11-03  Roger Sayle  <roger@eyesopen.com>
7159
7160         PR c/7128
7161         * c-typeck.c (c_expand_asm_operands): Defend against
7162         error_mark_nodes in the output argument to avoid ICE.
7163
7164 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
7165
7166         PR middle-end/8408
7167         * genrecog.c (preds): Handle ADDRESSOF.
7168         (validate_pattern): Mark it as an lvalue.
7169
7170 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
7171
7172         * config/rs6000/rs6000.c (rs6000_override_options): Use string
7173         instructions when optimizing for size.
7174
7175 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
7176
7177         * config/h8300/h8300.h: Fix comment typos.
7178         * config/h8300/h8300.md: Likewise.
7179         * config/h8300/lib1funcs.asm: Likewise.
7180
7181 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7182
7183         Revert this change:
7184
7185         *doc/install.texi (Installing GCC: Configuration): Clarify
7186         the only supported ways to configure gcc.
7187
7188 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
7189
7190         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
7191         instead of 'O' for the constraint for the second operand.
7192
7193 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
7194
7195         PR c++/8391
7196         * toplev.c (rest_of_compilation): Do not refuse to output code for
7197         an inline function in a local class.
7198
7199 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
7200
7201         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
7202         (TRANSFER_FROM_TRAMPOLINE): Reformat.
7203         Add comment.
7204
7205 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
7206
7207         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
7208
7209 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7210
7211         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
7212
7213 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
7214
7215         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
7216         (MASK_INLINE_DIV_THR): Remove.
7217         (TARGET_INLINE_DIV_LAT): Remove.
7218         (TARGET_INLINE_DIV_THR): Remove.
7219         (TARGET_INLINE_DIV): Remove.
7220         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
7221         (MASK_INLINE_FLOAT_DIV_THR): New macro.
7222         (MASK_INLINE_INT_DIV_LAT): New macro.
7223         (MASK_INLINE_INT_DIV_THR): New macro.
7224         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
7225         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
7226         (TARGET_INLINE_INT_DIV_LAT): New macro.
7227         (TARGET_INLINE_INT_DIV_THR): New macro.
7228         (TARGET_INLINE_FLOAT_DIV): New macro.
7229         (TARGET_INLINE_INT_DIV): New macro.
7230         * config/ia64/ia64.md (divsi3): Change to use new macros.
7231         (modsi3): Ditto.
7232         (udivsi3): Ditto.
7233         (umodsi3): Ditto.
7234         (divsi3_internal): Ditto.
7235         (divdi3): Ditto.
7236         (moddi3): Ditto.
7237         (udivdi3): Ditto.
7238         (umoddi3): Ditto.
7239         (divdi3_internal_lat): Ditto.
7240         (divdi3_internal_thr): Ditto.
7241         (divsf3): Ditto.
7242         (divsf3_internal_lat): Ditto.
7243         (divsf3_internal_thr): Ditto.
7244         (divdf3): Ditto.
7245         (divdf3_internal_lat): Ditto.
7246         (divdf3_internal_thr): Ditto.
7247         (divtf3): Ditto.
7248         (divtf3_internal_lat): Ditto.
7249         (divtf3_internal_thr): Ditto.
7250         * config/ia64/ia64.c (ia64_override_options): Change
7251         to check new macros for conflicts in settings.
7252         * doc/invoke.texi (-minline-divide-min-latency): Remove.
7253         (-minline-divide-max-throughput): Remove.
7254         (-minline-float-divide-min-latency): New.
7255         (-minline-float-divide-max-throughput): New.
7256         (-minline-int-divide-min-latency): New.
7257         (-minline-int-divide-max-throughput): New.
7258
7259 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
7260
7261         PR target/7856
7262         * arm.c (use_return_insn): Don't use a return insn if there are
7263         saved integer regs, but LR is not one of them.
7264
7265 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
7266
7267         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
7268         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
7269
7270 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7271
7272         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
7273         (movps, movpd splitters): Use canonical form.
7274         (movv2di): Fix merge problem.
7275
7276 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
7277
7278         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
7279
7280 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
7281
7282         PR optimization/6162
7283         * doc/md.texi: Document restriction on commutative operand
7284         specification.
7285
7286 2002-10-31  Eric Christopher  <echristo@redhat.com>
7287
7288         * explow.c (convert_memory_address): Use shallow_copy_rtx.
7289
7290 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
7291
7292         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
7293
7294 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
7295
7296         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
7297
7298 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
7299
7300         * config/rs6000/darwin.h:  Correct formatting in previous.
7301
7302 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
7303
7304         * config/rs6000/darwin.h:  Enable -falign-xxx options.
7305
7306 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
7307
7308         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
7309         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
7310         * i386.c (optimization_options): Set flag_omit_frame_pointer,
7311         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
7312         Do not clear -momit-leaf-frame-pointer when profiling.
7313         (ix86_frame_pointer_required): Frame pointer is always required when
7314         profiling.
7315
7316 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
7317
7318         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
7319
7320 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
7321
7322         * sh.h (binary_logical_operator): Declare.
7323         * sh.c (binary_logical_operator): New function.
7324         * sh.md (xordi3+1): New combiner splitter pattern.
7325
7326 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
7327
7328         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7329         __enable_execute_stack function.
7330
7331 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
7332
7333         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
7334         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
7335         * unwind-sjlj.c (fc_key_dtor): Delete.
7336         (fc_key_init): Adjust __gthread_key_create call to match.
7337
7338 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
7339
7340         * c-common.c: Add GTY to vector_type_node_list.
7341
7342 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
7343
7344         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
7345         * pa-protos.h (attr_length_millicode_call, attr_length_call,
7346         pa_init_machine_status): Declare new global functions.
7347         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
7348         implement new functions.
7349         (attr_length_millicode_call, attr_length_call): Implement.
7350         (total_code_bytes): Change type to long.
7351         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
7352         Reset counter if flag_function_sections.
7353         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
7354         (output_cbranch): Move call to gen_label_rtx.
7355         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
7356         delay slot in all variants, shorten pc-relative calls.
7357         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
7358         slot usage and exposure, various new call variants, and shortened
7359         sequences for some variants on TARGET_PA_20.
7360         Miscellaneous format changes.
7361         * pa.h (total_code_bytes): Change type to long.
7362         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
7363         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
7364         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
7365         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
7366         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
7367         stores on TARGET_ELF32.
7368         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
7369         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
7370         canonicalize_funcptr_for_compare expanders): Calculate attribute length
7371         attr_length_millicode_call().
7372         (call_internal_symref, call_value_internal_symref): Clobber register 1.
7373         Calculate attribute length using attr_length_call().
7374         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
7375         to delay slot.
7376         (sibcall, sibcall_value): Rewrite.
7377         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
7378         register 1.  Use attr_length_call().
7379         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
7380         New patterns.
7381         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
7382         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
7383         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
7384         * doc/invoke.texi (mlong-calls): Document.
7385
7386 2002-10-30  Roger Sayle  <roger@eyesopen.com>
7387
7388         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
7389         handling of cases where one or both branches of the conditional
7390         have void type, i.e. throw an exception or don't return.
7391         (fold): Only apply (and undo) type conversion to the non-void
7392         branches of a COND_EXPR.
7393
7394 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
7395
7396         PR c++/8333
7397         * varasm.c (asm_output_aligned_bss): Do not call
7398         ASM_GLOBALIZE_LABEL.
7399
7400 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
7401             Torbjorn Granlund  <tege@swox.com>
7402
7403         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
7404         for addressibility.
7405         (load_toc_v4_PIC_1b): Same.
7406
7407 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
7408
7409         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7410         Truncate the addresses for H8/300 using HImode.
7411
7412 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
7413
7414         * i386.md (negdf splitter): Fix construction of the constant.
7415
7416 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
7417
7418         * i386.md (negsf, negdf): Reorganize to use vector modes
7419         for SSE variants.
7420         (abssf, absdf): Use force_reg.
7421         (movv4sf, movv2df): New splitters.
7422         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
7423         * i386.c (zero_extended_scalar_load_operand
7424
7425         * i386-protos.h (ix86_expand_call): Update prototype.
7426         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
7427         (ix86_expand_call): Use r11 for indirect sibcalls.
7428         * i386.md (call, call_value, untyped_call, call_value_pop):
7429         update x86_expand_call call.
7430         (sibcall, sibcall_value): new patterns
7431         (call_rex64, call_value_rex64): Do not accept sibcalls.
7432         (sibcall_rex64, sibcall_value_rex64,
7433         sibcall_rex64_v, sibcall_value_rex64_v): New.
7434
7435 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
7436
7437         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
7438         before final pass.
7439
7440 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
7441
7442         * toplev.c (rest_of_type_compilation): Return early in case of
7443         errors.
7444         (check_global_declarations): Don't call debug_hooks->global_decl
7445         in case of errors.
7446
7447 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
7448
7449         * doc/c-tree.texi (Tree overview): Fix typos.
7450
7451 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
7452
7453         * Makefile.in (gnucompare*):  Only record bad comparisons
7454         if there really was a bad comparison.
7455
7456 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
7457
7458         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
7459         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
7460         * md.texi (machine dependent constraints): Document 'C'
7461
7462         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
7463
7464         * i386.c (ix86_expand_vector_move): Fix.
7465
7466         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
7467         * i386.md (sse2_maskmovdqu_rex64): New pattern
7468
7469         PR target/8322
7470         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
7471         (ix86_init_mmx_sse_builtins): Fix type.
7472
7473 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
7474
7475         * gthr-posix.h: Include <unistd.h> for feature tests.
7476         (sched_get_priority_max, sched_get_priority_min)
7477         (pthread_getschedparam, pthread_setschedparam): Only use
7478         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
7479         (__gthread_objc_thread_set_priority): Don't treat all nonzero
7480         returns from sched_get_priority_max and sched_get_priority_min
7481         as an error.
7482
7483 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
7484
7485         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
7486         MASK_QUICKCALL.
7487
7488 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
7489
7490         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
7491         (h8300_tiny_constant_address_p): Likewise.
7492         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
7493         h8300_eightbit_constant_address_p.
7494         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
7495         * config/h8300/h8300-protos.h: Add the prototypes for the two
7496         new functions.
7497
7498 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
7499
7500         * reload1.c (update_eliminables): Unconditionally check if
7501         frame_pointer_needed has changed.
7502
7503 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
7504
7505         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
7506         before final pass.
7507
7508 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
7509
7510         PR optimization/8334
7511         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
7512         check for zero operands explicitly.
7513
7514 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
7515
7516         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
7517         memory after adjusting to BLKmode.
7518
7519 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
7520
7521         * config/h8300/h8300.h (MASK_*): New.
7522         (TARGET_*): Use MASK_*.
7523
7524 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
7525
7526         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
7527         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
7528         config/rs6000/vxworks.h: New files.
7529         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
7530
7531         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
7532         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
7533         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
7534         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
7535         sparc-*-vxsim*): Delete stanzas.
7536         * gthr-vxworks.h: Rip out all substantive code and just
7537         include gthr-single.h.
7538
7539         * config/alpha/vxworks.h, config/arm/vxarm.h,
7540         config/i386/vxi386.h, config/i960/t-vxworks960,
7541         config/i960/vx960-coff.h, config/i960/vx960.h,
7542         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
7543         config/mips/vxworks.h, config/rs6000/vxppc.h,
7544         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
7545         config/sparc/vxsim.h, config/sparc/vxsparc.h,
7546         config/sparc/vxsparc64.h: Delete files.
7547
7548 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
7549
7550         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
7551         tm_defines if pthreads are enabled.
7552         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
7553         if NETBSD_ENABLE_PTHREADS is defined.
7554
7555 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
7556
7557         * ChangeLog.1: Fix typos.
7558         * cse.c: Fix a comment typo.
7559         * reload1.c: Likewise.
7560
7561 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
7562
7563         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
7564         * fixinc/tests/base/_G_config.h: New file.
7565
7566 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
7567
7568         * combine.c: Fix comment formatting.
7569         * loop.c: Likewise.
7570         * real.c: Likewise.
7571         * regclass.c: Likewise.
7572         * regmove.c: Likewise.
7573         * regrename.c: Likewise.
7574         * reg-stack.c: Likewise.
7575         * reload1.c: Likewise.
7576         * reload.c: Likewise.
7577         * reload.h: Likewise.
7578         * unroll.c: Likewise.
7579
7580 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
7581
7582         * reload1.c (reload): Fix a comment typo.
7583
7584 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
7585
7586         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
7587
7588 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7589
7590         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
7591         * dwarf2out.c: Include hashtab.h.
7592         (is_main_source): New static variable.
7593         (attr_checksum, die_checksum): Modified to handle die references.
7594         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
7595         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
7596         record_comdat_symbol_number): New static functions.
7597         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
7598         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
7599         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
7600         declarations added.
7601
7602 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
7603
7604         * config/h8300/h8300.c (initial_offset): Change to
7605         h8300_initial_elimination_offset.
7606         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
7607         h8300_initial_elimination_offset.
7608         * config/h8300/h8300-protos.h: Update the prototype.
7609
7610 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
7611
7612         * config/mmix/mmix.h (LIBCALL_VALUE): Use
7613         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
7614         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
7615         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
7616         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
7617         and RTX_CODE.
7618         (mmix_function_value_regno_p): Declare.
7619
7620         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
7621         invalid for floating point mode result, with fix.
7622
7623 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
7624
7625         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
7626         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
7627         (stage1_build): Likewise.
7628
7629 2002-10-25  Mike Stump  <mrs@apple.com>
7630
7631         Fixes gcc.dg/warn-1.c.
7632         * c-typeck.c (warn_for_assignment): Don't print argument number,
7633         if zero.
7634
7635 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
7636
7637         * toplev.c (dump_file_index): Add DFI_ce3.
7638         (dump_file_info): Likewise.
7639         (rest_of_compilation): Run first ifcvt pass before tracer.
7640
7641 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
7642
7643         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
7644
7645 2002-10-25  Richard Henderson  <rth@redhat.com>
7646
7647         * real.c (real_to_decimal): If the >1 tens reduction loop results
7648         in a negative exponent, fall into the <1 pten computation.
7649
7650 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
7651
7652         PR middle-end/6994
7653         * c-objc-common.c (inline_forbidden_p): Can not inline
7654         functions containing structures or unions containing VLAs.
7655         * tree-inline.c (walk_tree): For all class 't' nodes, walk
7656         TYPE_SIZE and TYPE_SIZE_UNIT.
7657         (copy_tree_r): Copy types if they are variably modified.
7658
7659 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
7660
7661         * config/s390/s390.md: Remove old-style peepholes.
7662
7663 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
7664
7665         * config/s390/s390.c (s390_decompose_address): Do not range check the
7666         displacement if base or index is the argument pointer register.
7667
7668 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
7669
7670         PR other/3337
7671         PR bootstrap/6763
7672         PR bootstrap/8122
7673         * fixinc/inclhack.def (libc1_G_va_list): New fix.
7674         * fixinc/fixincl.x: Regenerate.
7675         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
7676         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
7677         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
7678         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
7679         * config.in, configure: Regenerate.
7680
7681 2002-10-24  Igor Shevlyakov <igor@microunity.com>
7682
7683         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7684
7685 2002-10-24  Richard Henderson  <rth@redhat.com>
7686
7687         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
7688
7689 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7690
7691         * config/h8300/h8300.c (initial_offset): Simplify by using
7692         round_frame_size.
7693
7694 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7695
7696         * doc/install.texi (avr): Update required binutils version.
7697
7698 2002-10-24  Theodore A. Roth  <troth@openavr.org>
7699
7700         * doc/install.texi: Point avr users at more up-to-date information.
7701
7702 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
7703
7704         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
7705         to pull operands out of the literal pool where possible.
7706
7707 2002-10-24  Denis Chertykov  <denisc@overta.ru>
7708
7709         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
7710
7711 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
7712
7713         * expr.c (convert_move): If unsignedp is less then zero there
7714         is no equivalent code.
7715
7716 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
7717
7718         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
7719
7720 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
7721
7722         * config/s390/s390.h: Rework comments; re-sort target macro definitions
7723         according to the sequence they are defined in the manual.
7724         (POINTER_BOUNDARY): Remove.
7725
7726 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7727
7728         * config/h8300/h8300.c (round_frame_size): Replace 8 with
7729         BITS_PER_UNIT.
7730
7731 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
7732
7733         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
7734         64-bit safe.
7735         (TINY_CONSTANT_ADDRESS_P): Likewise.
7736
7737 2002-10-24  Richard Henderson  <rth@redhat.com>
7738
7739         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7740         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
7741         vcall offset.
7742
7743 2002-10-24  Richard Henderson  <rth@redhat.com>
7744
7745         PR opt/7944
7746         * reload.c (find_reloads_toplev): Mode of X is not important
7747         when simplifying subregs of constants.
7748
7749 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
7750
7751         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
7752         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
7753         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
7754         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
7755         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
7756
7757 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
7758
7759         * optabs.c (expand_binop): Don't reuse the shift target in the
7760         middle of shift sequences.
7761
7762 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
7763
7764         * i386.md (abs splitters): Do not produce nested subregs.
7765
7766 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
7767
7768         * i386.md (movti_rex64): Fix constraints.
7769
7770 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
7771
7772         * i386.md (abssf,absdf): Use vector operands for SSE
7773         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
7774         vector operand.
7775
7776 2002-10-23  Ziemowit Laski <zlaski@apple.com>
7777
7778         * objc/objc-act.c (get_static_reference): Remove unneeded
7779         TYPE_BINFO initialization.
7780         (get_object-reference): Likewise.
7781         (build_constructor): Tighten precondition check.
7782         (finish_message_expr): Likewise.
7783
7784 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
7785
7786         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
7787         after CONST test.
7788
7789 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
7790
7791         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
7792         in HFAs.
7793
7794 2002-10-23  Richard Henderson  <rth@redhat.com>
7795
7796         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
7797         (alpha_output_mi_thunk_osf): Handle vcall_offset.
7798
7799 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
7800
7801         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
7802         var_mod_type_p.
7803         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
7804         hook_tree_bool_false.
7805
7806         * tree.c (variably_modified_type_p): Moved here from
7807         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
7808         language-specific cases.  Due to this, must weaken some 'if
7809         and only if' checks to merely 'if'.
7810         * tree.h: Prototype variably_modified_type_p.
7811
7812         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
7813
7814 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
7815
7816         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
7817         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
7818
7819         * config/s390/s390-protos.h (fp_operand): Remove.
7820         * config/s390/s390.c (fp_operand): Remove.
7821         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
7822         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
7823         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
7824         (movdi_31, movdf_31 splitters): Likewise.
7825
7826         * config/s390/s390.h (IEEE_FLOAT): Remove.
7827         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
7828         (INT_REGNO_P): Rename to ...
7829         (GENERAL_REGNO_P): ... this.
7830         (FLOAT_REGNO_P): Rename to ...
7831         (FP_REGNO_P): ... this.
7832         (ADDR_REGNO_P): New macro.
7833         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
7834         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
7835         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
7836         (HARD_REGNO_NREGS): Adapt to macro renaming.
7837         (HARD_REGNO_MODE_OK): Likewise.
7838
7839 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
7840             Geoff Keating  <geoffk@apple.com>
7841
7842         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
7843         (rs6000_memory_move_cost): New function.
7844         * config/rs6000/rs6000-protos.h: Declare them.
7845         * config/rs6000/rs6000.h: Use them.
7846
7847 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
7848
7849         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
7850         inlining it into other libgcc2 routines.
7851         (__udivmoddi4): Likewise.
7852
7853 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
7854
7855         * doc/sourcebuild.texi (Test Suites): Improve.
7856
7857 2002-10-22  Stan Shebs  <shebs@apple.com>
7858
7859         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
7860         case for Darwin.
7861
7862 2002-10-22  Jim Wilson  <wilson@redhat.com>
7863
7864         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
7865
7866 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
7867
7868         PR other/8289
7869         * xmmintrin.h: Add const to the argument of loads.
7870
7871         * i386.md (pushv2di): New pattern.
7872         PR target/6890
7873         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
7874
7875 2002-10-22  Richard Henderson  <rth@redhat.com>
7876
7877         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
7878         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
7879         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
7880         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7881         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7882         (TARGET_ASM_OUT): Update.
7883         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
7884         (hook_bool_tree_hwi_hwi_tree_true): New.
7885         (default_can_output_mi_thunk_no_vcall): New.
7886         * hooks.h: Declare them.
7887         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
7888
7889         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7890         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
7891         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
7892         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
7893         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
7894         config/stormy16/stormy16.c: Similarly.
7895
7896         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
7897         Handle 64-bit properly.  Streamline.
7898         (x86_output_mi_vcall_thunk): Remove.
7899         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
7900         (x86_can_output_mi_thunk): New.
7901         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
7902         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7903         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
7904
7905         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
7906         output_mi_thunk; make static; always use function_section.
7907         (TARGET_ASM_OUTPUT_MI_THUNK): New.
7908         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7909         (rs6000_ra_ever_killed): Test no_new_pseudos not
7910         targetm.asm_out.output_mi_thunk in conjunction with thunks.
7911         * config/rs6000/rs6000-protos.h: Update.
7912         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7913         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
7914         xcoffout_declare_function when using rs6000_output_mi_thunk.
7915
7916         * config/s390/s390.c (s390_output_mi_thunk): Rename from
7917         s390_output_mi_vcall_thunk.
7918         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
7919         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7920
7921         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
7922         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
7923         * config/vax/vax-protos.h: Update.
7924         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
7925
7926 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
7927
7928         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
7929         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
7930         * i386.md (movti_internal): Use 'C'
7931
7932         * xmmintrin.h (_mm_cmplt_epi*): New.
7933
7934 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
7935
7936         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
7937         ("*movdf_64"): Likewise.
7938         ("*lshrdi3_64"): Likewise.
7939         ("blockage"): Add length attribute.
7940         ("lit"): Likewise.
7941
7942 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
7943
7944         * i386.md: FIx typo.
7945         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
7946         (sse2_umulv2siv2di3): Fix predicate.
7947         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
7948         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
7949         * xmmintrin.h (_mm_mul_epu16): Rename to...
7950         (_mm_mul_epu32): This one.
7951         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
7952
7953         (contains_128bit_aligned_vector_p): Undo accidental checkin.
7954
7955 2002-10-22  Eric Christopher  <echristo@redhat.com>
7956
7957         * config/sparc/sparc.h: Add #error.
7958
7959 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
7960
7961         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
7962         [s390x-*-linux*]: Likewise.
7963         * config/s390/t-linux: Remove.
7964         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
7965
7966 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
7967
7968         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
7969         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
7970         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
7971         * i386.md (mmx_punpck?dq): Simplify.
7972         (sse2_pubpcklqdq): Fix.
7973         (sse2_pubpckhqdq): New.
7974         * xmmintrin.h (_mm_unpackhi_epi32): New.
7975
7976         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
7977         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
7978
7979 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
7980
7981         PR c++/7209
7982         * fold_const.c (fold_binary_op_with_conditional_arg): Always
7983         build compound_expr if we used save_expr.
7984
7985 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
7986
7987         * output.h (SECTION_NOTYPE): Define.
7988         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
7989         init array sections.
7990         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
7991         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
7992         merge TLS support.
7993
7994 2002-10-21  Richard Henderson  <rth@redhat.com>
7995
7996         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
7997         the function type, not the return type.
7998
7999 2002-10-21  Richard Henderson  <rth@redhat.com>
8000
8001         * real.c (sticky_rshift_significand): Return inexact, don't
8002         or it in immediately.
8003         (sub_significands): Accept incomming carry.
8004         (div_significands, rtd_divmod): Update for sub_significands change.
8005         (round_for_format): Update for sticky_rshift_significand change.
8006         (do_add): Don't involve the inexact bit in addition, do give the
8007         inexact bit as the subtraction carry-in.
8008         (encode_internal, decode_internal, real_internal_format): New.
8009         * real.h (real_internal_format): Declare.
8010
8011 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8012
8013         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
8014         don't define sdiv_qrnnd.
8015
8016 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8017
8018         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
8019         using IN_RANGE.
8020         (TINY_CONSTANT_ADDRESS_P): Likewise.
8021
8022 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8023
8024         * i386.c (builtin_description): Add punpcklqdq and movdq2q
8025         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
8026         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
8027         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
8028         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
8029         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
8030         __builtin_ia32_setzero128.
8031         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
8032         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
8033         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
8034         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
8035         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
8036         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
8037         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
8038         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
8039         sse2_movq): New patterns.
8040         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
8041         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
8042         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
8043         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
8044         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
8045         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
8046         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
8047         (_mm_insert_epi16): Fix.
8048
8049 2002-10-21  Dale Johannesen  <dalej@apple.com>
8050
8051         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
8052             unsafe math reversals correctly for RTL generation.
8053           (output_cbranch):  Replace rs6000_reverse_condition call
8054             by its former definition.
8055
8056 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
8057
8058         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
8059         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
8060         from constant pool or LABEL_REFs as sign extended if allow_rip.
8061         Change all +-1GB limits to +-16MB.
8062         (x86_64_general_operand, x86_64_szext_general_operand,
8063         x86_64_nonmemory_operand, x86_64_movabs_operand,
8064         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8065         legitimate_address_p, ix86_expand_int_movcc): Update callers.
8066         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
8067         in CM_SMALL_PIC model.
8068         (legitimate_pic_address_disp_p): Don't check offsets before
8069         calling local_symbolic_operand.
8070         (legitimize_pic_address): Force offsets bigger than +-16MB into
8071         register.
8072         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
8073         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
8074         prototype.
8075
8076         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
8077         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
8078         * configure: Rebuilt.
8079         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
8080         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
8081         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
8082         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
8083         -fpic.
8084         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
8085         non-pic code if TARGET_64BIT.
8086         (legitimize_address): Generate 64-bit TLS sequences.
8087         (output_pic_addr_const): Support x86-64 TLS operators.
8088         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
8089         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
8090         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
8091         (output_addr_const_extra): Support x86-64 TLS operators.
8092         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
8093         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
8094         unconditionally.
8095         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
8096         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
8097         (*tls_global_dynamic_sun): Renamed to...
8098         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
8099         (tls_global_dynamic): Renamed to...
8100         (tls_global_dynamic_32): ... this.
8101         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
8102         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
8103         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
8104         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
8105         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
8106         (tls_local_dynamic_base_dynamic): Renamed to...
8107         (tls_local_dynamic_base_dynamic_32): ... this.
8108         (tls_local_dynamic_base_dynamic_64,
8109         *tls_local_dynamic_base_dynamic_64): New.
8110         (*tls_local_dynamic_once): Renamed to...
8111         (*tls_local_dynamic_32_once): ... this.
8112
8113 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8114
8115         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
8116         __divdi3, __umoddi3, or __moddi3.
8117
8118 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8119
8120         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
8121         instead of just opt_index as switch expression.
8122
8123         * calls.c (store_one_arg): Change type of 'excess_align'
8124         to unsigned int.
8125
8126         * profile.c (output_gcov_string): Change type of 'temp'
8127         to size_t.
8128
8129 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8130
8131         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
8132         (__fixunssfdi, __fixsfdi): Likewise.
8133         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
8134         (s390_single_qi): Likewise.
8135         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
8136         unsigned comparison warning.
8137         (s390_return_addr_rtx): New function.
8138         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
8139         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
8140         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
8141
8142 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8143
8144         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
8145         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
8146         (s390_output_mi_thunk): Remove.
8147         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
8148
8149 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8150
8151         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
8152
8153 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
8154
8155         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
8156         inverted test in the conditional determining the possibility
8157         of sibcalls in PIC mode.
8158
8159 2002-10-20  Richard Henderson  <rth@redhat.com>
8160
8161         * target.h (struct gcc_target): Line wrap.
8162
8163         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
8164         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
8165         * config/alpha/alpha.h: ... not here.
8166         * config/alpha/alpha-protos.h: Update.
8167
8168         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
8169         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
8170         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
8171         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
8172         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
8173         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
8174         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
8175         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
8176         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
8177         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
8178         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
8179         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
8180         config/sparc/sparc.c, config/sparc/sparc.h,
8181         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
8182         config/stormy16/stormy16.h: Similarly.
8183
8184         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
8185         selection logic from call patterns.
8186
8187 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
8188
8189         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
8190
8191 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8192
8193         PR other/8202
8194         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
8195         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
8196         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
8197         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
8198
8199 2002-10-20  Roger Sayle  <roger@eyesopen.com>
8200
8201         PR c/761
8202         * toplev.c (flag_unsafe_profile_arcs): Remove.
8203         (flag_bounded_pointers): Remove.
8204         (flag_bounds_check): Correct comments.
8205         (lang_independent_options): Remove -funsafe-profile-arcs and
8206         -fbounded-pointers.  Correct -fbounds-check comments.
8207
8208         * flags.h: Correct flag_schedule_interblock comments.
8209         (flag_bounded_pointers): Remove prototype.
8210         (flag_bounds_check): Correct comments.
8211
8212         * c-opts.c (c_common_init_options): No need to mark
8213         flag_bounds_check as unspecified.
8214         (c_common_post_options): And no need to set it from
8215         flag_bounded_pointers if its still unspecified.
8216
8217         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
8218         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
8219         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
8220         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
8221
8222 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
8223         Angela Marie Thomas  <angela@releasedominatrix.com>
8224         Brendan Kehoe  <brendan@zen.org>
8225         Nick Clifton  <nickc@redhat.com>
8226         Andrew Haley  <aph@redhat.com>
8227
8228         * configure.in (--with-sysroot): New.  Don't inhibit libc if
8229         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
8230         and CROSS_SYSTEM_HEADER_DIR.
8231         * configure: Rebuilt.
8232         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
8233         (TARGET_SYSTEM_ROOT): New.
8234         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
8235         CROSS_SYSTEM_HEADER_DIR.
8236         (install-gcc-tooldir): New target.
8237         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
8238         if SYSTEM_HEADER_DIR does not exist and it's not the default
8239         sys-include directory.
8240         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
8241         (install-mkheaders): Likewise.
8242         * gcc.c (target_system_root): New variable.
8243         (add_sysrooted_prefix): New function.
8244         (process_command): Recompute run-time target_system_root from
8245         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
8246         does not exist.
8247         (do_spec_1): Process 'R' spec.
8248         (main): Add md_exec_prefix to exec_prefixes regardless of
8249         startfile_prefix_spec.  Use add_sysrooted_prefix for
8250         startfile_prefixes, and don't skip the default ones when cross
8251         compiling with sysroot enabled.  Removed unused case of
8252         non-absolute standard_startfile_prefix.
8253         * config/interix.h: Remove the only potential, yet disabled,
8254         occurrence of non-absolute (empty) standard_startfile_prefix.
8255         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
8256         linking.
8257         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
8258         * doc/install.texi (--with-sysroot): Document.
8259         (--with-headers, --with-libs): Deprecate.
8260
8261 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8262             Mark Mitchell  <mark@codesourcery.com>
8263
8264         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
8265         match target.h.
8266         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
8267         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
8268         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
8269         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
8270         x86_output_mi_thunk): Likewise.
8271         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
8272         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
8273         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
8274         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
8275         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
8276         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
8277         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
8278         Likewise.
8279         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
8280
8281         * target.h (gcc_target): Update output_mi_thunk and
8282         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
8283         vcall_index.
8284
8285         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
8286         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8287         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
8288         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
8289         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
8290         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
8291         signature.
8292         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
8293         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
8294         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8295         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
8296         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
8297         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
8298         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8299         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
8300         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
8301
8302         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
8303         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
8304
8305 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
8306
8307         * real.c (do_add): Fix 0+0 sign corner case.
8308         (do_divide): Fix Inf/0 corner case.
8309
8310 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
8311
8312         * i386.c (classify_argument): Pass MMX arguments in memory
8313         (ix86_expand_builtin): Expand proper address mode for cflush.
8314         * i386.md (movdqa): Fix typo.
8315         (sse2_cflush): Accept DImode addresses.
8316
8317         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
8318         (_mm_max_sd): Fix pasto.
8319         (_mm_storeh_pd, _mm_storel_pd): Fix.
8320
8321         * i386.c (bdesc_comi): Fix to match specification.
8322         (ix86_expand_sse_comi): Emit the comparison properly.
8323         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
8324         Do not use comparison operator.
8325         (vnmaskcmp): Fix template.
8326
8327         * xmmintrin.h (_mm_cvtps_pi16): Fix.
8328
8329 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
8330
8331         * dependence.c : Removed.
8332         * Makefile.in : Remove dependence.o.
8333
8334 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
8335
8336         * mmintrin.h (__m64): typedef it to v2si.
8337         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
8338         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
8339         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
8340         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
8341         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
8342         * xmmintrin.h (_mm_setzero_si64): Likewise.
8343
8344         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
8345         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
8346
8347         PR target/7693
8348         Patch by Shawn Wagner
8349         * mmintrin.h: Replace pi64 by si64.
8350
8351 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
8352
8353         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
8354         Use length of 4 not *.
8355         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
8356         (movdf_softfloat64): Likewise.
8357         (movdi_internal32): Use length of 4 not *.
8358         (movti_power): Same.
8359         (ctrsi, ctrdi): Same.
8360
8361 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
8362
8363         * c-decl.c (start_decl): Point users of the old initialized-
8364         typedef extension at __typeof__.
8365
8366 2002-10-18  Richard Henderson  <rth@redhat.com>
8367
8368         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
8369         (real_to_decimal): Re-implement using the logic from the
8370         gcc 3.2 etoasc.  Comment heavily.
8371         (div_significands): Simplify loop startup and comparison logic.
8372
8373 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
8374
8375         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
8376         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
8377         (TARGET_ASM_OUT): Add them.
8378         * target.h (asm_out): Add output_mi_thunk and
8379         output_mi_vcall_thunk.
8380         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8381         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8382         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
8383         * config/arm/arm.c (arm_output_mi_thunk): Define.
8384         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8385         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8386         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8387         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8388         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8389         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8390         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
8391         prototype.
8392         (x86_output_mi_vcall_thunk): Declare.
8393         * config/i386/i386.c (override_options): Clear
8394         output_mi_vcall_thunk in 64-bit mode.
8395         (ix86_fntype_regparm): New function.
8396         (ix86_return_pops_args): Use it.
8397         (ia32_this_parameter): New function.
8398         (x86_output_mi_vcall_thunk): New function.
8399         (x86_output_mi_thunk): Use it
8400         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
8401         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
8402         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
8403         * config/i960/i960.c (i960_output_mi_thunk): New function.
8404         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
8405         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
8406         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
8407         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8408         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8409         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
8410         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8411         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8412         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8413         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8414         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8415         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8416         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8417         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8418         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8419         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8420         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
8421         * config/s390/s390.c (s390_output_mi_thunk): Define.
8422         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8423         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8424         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8425         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8426         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8427         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8428         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
8429         * config/vax/vax.c (vax_output_mi_thunk): Define.
8430         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
8431         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
8432         * doc/tm.texi: Adjust documentation.
8433
8434 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
8435
8436         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
8437         __enable_execute_stack function.
8438         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
8439         as NETBSD_ENABLE_EXECUTE_STACK.
8440         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8441         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8442         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8443         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8444         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
8445
8446 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
8447
8448         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
8449         to __enable_execute_stack with the address of the trampoline
8450         if TRANSFER_FROM_TRAMPOLINE is defined.
8451         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
8452         constant if building libgcc2.
8453
8454 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
8455
8456         * i386.c (pentium4_cost): Fix according to Intel recommendations.
8457         (ix86_memory_move_cost): Fix for 64bit compilation.
8458
8459 2002-10-17  Roger Sayle  <roger@eyesopen.com>
8460
8461         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
8462
8463 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
8464
8465         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
8466         in CTR/LR/MQ.
8467         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
8468         to/from CTR/LR/MQ.
8469         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
8470         (movsf_softfloat): Likewise.
8471
8472 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
8473
8474         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
8475
8476 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
8477
8478         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
8479         tramp, not addr, to pass the trampoline address to
8480         __enable_execute_stack.
8481
8482 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
8483
8484         * mmintrin.h: Guard by __MMX__
8485         * xmmintrin.h: Guard by __SSE__
8486
8487         PR other/8062
8488         * xmmintrin.h (_MM_SHUFFLE2): New macro.
8489         (_mm_load*_?d): New functions.
8490         (_mm_set*_?d): New functions.
8491         (_mm_store*_?d): New functions.
8492
8493 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
8494
8495         Really commit patch announced at Oct 14
8496         PR c/7344
8497         * predict.c (can_predict_insn_p): New function.
8498         (estimate_probability): Avoid unnecesary work.
8499         (process_note_prediction): Likewise.
8500         * toplev.c (rest_of_compilation): Account early branch prediction pass
8501         as TV_BRANCH_PROB.
8502
8503         PR other/8048
8504         Found by Ian Ollmann
8505         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
8506         (_mm_load?_pd): Likewise.
8507         (_mm_store?_pd): Likewise.
8508
8509         PR target/7386
8510         * i386.c (builtin_description):Drop cmpg[te]s[sd].
8511         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
8512         swapped alternative.
8513
8514         PR opt/7630
8515         * reload1.c (reload_inner_reg_of_subreg): New argument output;
8516         (push_reload): Update call.
8517
8518 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
8519
8520         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
8521         if using mips/elf.h or mips/elf64.h.
8522         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
8523         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
8524
8525 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
8526
8527         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
8528         SI.
8529
8530 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
8531
8532         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
8533         (LPREFIX): Likewise.
8534         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
8535         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
8536         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
8537         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
8538         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
8539
8540         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
8541         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
8542         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8543         BSS_SECTION_ASM_OP): Move from linux.h.
8544         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8545         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
8546
8547         * config/s390/s390.c (s390_function_profiler): Use
8548         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
8549
8550 2002-10-15  Eric Christopher  <echristo@redhat.com>
8551
8552         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
8553         * java/parse.y (obtain_incomplete_type): Make pointer
8554         ptr_mode.
8555
8556 2002-10-15  Richard Henderson  <rth@redhat.com>
8557
8558         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
8559         as arguments.  Bound DIGITS by the available buffer size.
8560         (real_to_hexadecimal): Likewise.
8561         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
8562         (REAL_VALUE_TO_DECIMAL): Remove.
8563         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
8564         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
8565         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
8566         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
8567         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
8568         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
8569         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
8570         use real_to_decimal directly, and with the proper arguments.
8571         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
8572
8573 2002-10-15  Jim Wilson  <wilson@redhat.com>
8574
8575         * reload1.c (merge_assigned_reloads): After converting overlapping
8576         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
8577
8578         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
8579
8580 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
8581
8582         * expr.c (do_tablejump): Fix typo in my previous commit.
8583
8584 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
8585
8586         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
8587
8588 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
8589
8590         * config/s390/s390.c (s390_split_branches): Add return
8591         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
8592
8593         (find_base_register_in_addr): New function.
8594         (find_base_register_ref): New function.
8595         (replace_base_register_ref): New function.
8596
8597         (struct constant_pool): Add members pool_insn, insns, and anchor.
8598         Remove member last_insn.
8599         (s390_start_pool): Initialize them.
8600         (s390_end_pool): Emit pool placeholder insn.
8601         (s390_add_pool_insn): New function.
8602         (s390_find_pool): Use insns bitmap instead of addresses.
8603         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
8604         Replace unspec 104 by local-pool-relative references.
8605         (s390_output_constant_pool): Output anchor label if required.
8606         (s390_output_symbolic_const): Handle unspec 104 and 105.
8607         (s390_add_pool): Remove, replace by ...
8608         (s390_add_constant, s390_find_constant): ... these new functions.
8609         (s390_add_anchor): New function.
8610
8611         (s390_chunkify_pool): Delete, replace by ...
8612         (s390_chunkify_start, s390_chunkify_finish,
8613         s390_chunkify_cancel): ... these new functions.
8614         (s390_optimize_prolog): Add parameter TEMP_REGNO.
8615         Recompute register live data for special registers.
8616         (s390_fixup_clobbered_return_reg): New function.
8617         (s390_machine_dependent_reorg): Rewrite to use new
8618         s390_chunkify_... routines.
8619
8620         config/s390/s390.md ("reload_base"): Rename to ...
8621         ("reload_base_31"): ... this.
8622         ("reload_base_64"): New insn.
8623         ("reload_base2"): Remove.
8624         ("reload_anchor"): New insn.
8625         ("pool"): New insn.
8626
8627         s390.c (s390_pool_overflow): Remove.
8628         s390.h (s390_pool_overflow): Likewise.
8629         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
8630
8631 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
8632
8633         * sh.md (movv8qi_i+2): Don't split if source is -1.
8634
8635 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
8636
8637         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
8638
8639 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
8640
8641         PR opt/7409
8642         * loop.c (loop_regs_scan): Mark registers used for function
8643         argument passing as MAY_NOT_OPTIMIZE.
8644
8645 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
8646
8647         * gcov-io.h (gcov_info): Fix type.
8648         * profile.c (create_profiler): Fix type mismatch.
8649
8650 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
8651
8652         * i386.md (movv2di_internal): New pattern.
8653         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
8654         (movv2di): New expander.
8655         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
8656
8657         * i386.c (ix86_expand_timode_binop_builtin): Delete.
8658         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
8659         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
8660         (ix86_expand_builtin): Likewise.
8661         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
8662         sse_andti3,
8663         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
8664         sse_andnti3,
8665         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
8666         sse_orti3,
8667         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
8668         sse_xorti3): Kill.
8669         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
8670          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
8671         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
8672          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
8673         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
8674          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
8675
8676         * xmmintrin.h (__m128i): Define as __v2di.
8677
8678         PR c++/6419
8679         (expand_expr): Use DECL_RTL_SET_P.
8680
8681 2002-10-14  Roger Sayle  <roger@eyesopen.com>
8682
8683         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
8684
8685 2002-10-14  Roger Sayle  <roger@eyesopen.com>
8686             Zack Weinberg <zack@codesourcery.com>
8687
8688         * config/i386/i386.c (k6_cost): Correct typo.
8689
8690 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
8691
8692         PR optimization/6631
8693         * alias.c (objects_must_conflict_p): Check honor_readonly when
8694         examining TYPE_READONLY.
8695         * function.c (assign_stack_temp_for_type): Likewise.
8696
8697 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
8698
8699         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
8700         Swap zero extension arguments.
8701         (umaxhi3): Fix instruction class.
8702         PR target/7211
8703         (prefetch): Fix prefetch instructions.
8704         PR target/7238
8705         (pkwb): Fix output constraint.
8706
8707 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
8708
8709         * config/mips/mips.c (print_operand): Increase buffer size for
8710         real numbers.
8711
8712 2002-10-14  Richard Henderson  <rth@redhat.com>
8713
8714         PR opt/8165
8715         * gcse.c (adjust_libcall_notes): Revert last change.
8716         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
8717
8718 2002-10-14  Andrew Haley  <aph@redhat.com>
8719
8720         * tree-inline.c (remap_block): All local class initialization
8721         flags go in the outermost scope.
8722         (expand_call_inline): Call java_inlining_map_static_initializers.
8723         (expand_call_inline): Call java_inlining_merge_static_initializers.
8724         * java/lang.c (merge_init_test_initialization): New.
8725         (java_inlining_merge_static_initializers): New.
8726         (inline_init_test_initialization): New.
8727         (java_inlining_map_static_initializers): New.
8728
8729         * tree-inline.c (expand_call_inline): Convert retvar to expected
8730         type.
8731
8732 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
8733
8734         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
8735
8736 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
8737
8738         * stmt.c: Fix typo in comment.
8739
8740 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
8741
8742         * c-common.c (c_common_type_for_mode): Add V2HImode case.
8743         * tree.c (build_common_tree_nodes_2): Initialize
8744         unsigned_V2HI_type_node and V2HI_type_node.
8745         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
8746         (unsigned_V2HI_type_node, V2HI_type_node): Define.
8747
8748 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
8749
8750         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
8751         Handle TARGET_64BIT.
8752
8753 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8754
8755         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
8756         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
8757         (MULTILIB_DIRNAMES): Remove long32.
8758         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
8759         (MULTILIB_REDUNDANT_DIRS): Remove.
8760
8761 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8762
8763         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
8764         * gcc.c (driver_self_specs): New variable.
8765         (do_self_spec): New function.
8766         (main): Use it to process driver_self_specs.
8767
8768 2002-10-13  Richard Henderson  <rth@redhat.com>
8769
8770         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
8771         indirect sibcalls when regparm >= 3.
8772
8773         * config/i386/i386.c (sibcall_insn_operand): New.
8774         * config/i386/i386.h (PREDICATE_CODES): Update.
8775         * config/i386/i386-protos.h: Update.
8776         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
8777
8778         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
8779
8780 2002-10-12  Roger Sayle  <roger@eyesopen.com>
8781
8782         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
8783         arithmetic right shifts of ~0 during RTL simplifications.
8784
8785 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
8786
8787         PR preprocessor/7862
8788         PR preprocessor/8190
8789         * gcc.c (cpp_unique_options): Don't delete .d files.
8790         Remove stray whitespace.
8791
8792 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
8793
8794         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
8795         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
8796         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
8797         (pdp11_output_function_epilogue, output_ascii): Likewise.
8798         (output_addr_const_pdp11): Likewise.
8799         * pdp11.md (movdi): Use offsetable memory for floating store.
8800         (lshrsi3, negsi2): Delete irrelevant comment.
8801
8802 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
8803
8804         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
8805         indirect calls to be sibcall optimized.
8806         * config/i386/i386.md (sibcall_1): New.
8807         (call_1): Add no-sibcalls condition.
8808         (sibcall_value_1): New.
8809         (call_value_1): Add no-sibcalls condition.
8810
8811 2002-10-11  Eric Christopher  <echristo@redhat.com>
8812
8813        * output.h (default_valid_pointer_mode): Declare.
8814        * varasm.c (default_valid_pointer_mode): Define.
8815        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
8816        * target.h: Ditto.
8817        * tree.c (build_pointer_type_for_mode): New function.
8818        (build_pointer_type): Use.
8819        (build_reference_type_for_mode): New function.
8820        (build_reference_type): Use.
8821        * tree.h: Declare new functions.
8822        * c-common.c (handle_mode_attribute): Use new functions, check
8823        for type.
8824        * stor-layout.c (layout_type): Depend on machine mode for
8825        REFERENCE_TYPE and POINTER_TYPE.
8826        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
8827        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
8828        and REFERENCE_TYPE.
8829        * config/mips/mips.c (mips_valid_pointer_mode): New function.
8830        (TARGET_VALID_POINTER_MODE): Use and define.
8831        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
8832
8833 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
8834
8835         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
8836         not the address of the REG.
8837         (struct cse_reg_info): Make subreg_ticked unsigned.
8838
8839 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
8840
8841         * doc/compat.texi: Add info about C++ libraries.
8842
8843 2002-10-11  Richard Henderson  <rth@redhat.com>
8844
8845         PR opt/8165
8846         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
8847
8848 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8849
8850         * cfganal.c (dfs_enumerate_from): Use PARAMS.
8851         * genautomata.c (output_insn_code_cases): Likewise.
8852         * real.c (real_format): Likewise.
8853         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
8854         ensure value is promoted before doing subtraction.
8855
8856 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
8857
8858         * calls.c (expand_call): Simplify noreturn call.
8859
8860         PR c/7344
8861         * cfgbuild.c (make_edges): Create edge cache when we do have
8862         large jumptable.
8863         * expr.c (do_tablejump): Note size of maximal jumptable.
8864         * function.c (prepare_function_start): Zero out size.
8865         * function.h (function): Add max_jumptable_ents.
8866
8867         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8868
8869 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8870
8871         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
8872         register for mperm_w operation.
8873
8874 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
8875
8876         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
8877         an integer, use simplify_gen_subreg.
8878
8879 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
8880
8881         * calls.c (flags_from_decl_or_type): Make extern.
8882         (ECF_*): Move ...
8883         * rtl.h (ECF_*): ... here.
8884         (flags_from_decl_or_type): Declare.
8885
8886 2002-10-10  Roger Sayle  <roger@eyesopen.com>
8887             Nathan Sidwell <nathan@codesourcery.com>
8888
8889         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
8890         shifts of the form -1 >> x.
8891
8892 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
8893
8894         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
8895
8896 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
8897
8898         * extend.texi (Vector Extensions): Remove comment about single
8899         element vectors.
8900
8901 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8902
8903         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
8904         * function.c (insns_for_mem_hash): Likewise.
8905         * varasm.c (STRHASH): Likewise.
8906
8907 2002-10-10  Stuart Hastings  <stuart@apple.com>
8908
8909         * cse.c (struct cse_reg_info): Add subreg_ticked.
8910         (SUBREG_TICKED): New.
8911         (get_cse_reg_info): Initialize SUBREG_TICKED.
8912         (mention_regs): Use it.
8913         (invalidate): Set SUBREG_TICKED.
8914         (invalidate_for_call): Likewise.
8915         (addr_affects_sp_p): Likewise.
8916
8917 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
8918
8919         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
8920         into proper operand.
8921
8922 2002-10-10  Denis Chertykov  <denisc@overta.ru>
8923
8924         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
8925         deallocation.
8926         * config/ip2k/libgcc.S: Combine routines used by function
8927         epilogue.
8928
8929 2002-10-10  Jim Wilson  <wilson@redhat.com>
8930
8931         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
8932         UDIV.
8933
8934 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
8935
8936         * config/rs6000/aix52.h: New file.
8937         * config/rs6000/t-aix52: New File.
8938         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
8939         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
8940
8941 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
8942
8943         PR target/5610
8944         * invoke.texi (-msse-math): Kill
8945         (-msse): Add note to mfpmath=sse.
8946
8947 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
8948
8949         PR target/7723
8950         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
8951
8952 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
8953
8954         PR preprocessor/8179
8955         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
8956         as cc1_options.
8957         (default_compilers): Pass debug options when preprocessing
8958         stdin.
8959
8960 2002-10-06  Richard Henderson  <rth@redhat.com>
8961
8962         * toplev.c (rest_of_compilation): Revert opt/2960 change.
8963
8964 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
8965
8966         * i386.c (*_cost): Add branch costs.
8967         (override_options): set ix86_branch_cost.
8968         (ix86_expand_int_movcc): Use BRANCH_COST.
8969         * i386.h (costs): Add branch_cost.
8970
8971 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
8972
8973         PR c/7353
8974         * c-decl.c (start_decl): Unconditionally issue error for
8975         'typedef foo = bar'.
8976         (finish_decl): Remove special case for TYPE_DECL with initializer.
8977
8978         * doc/extend.texi: Delete "Naming Types" section.  Change all
8979         cross-references to that section to refer to "Typeof" instead.
8980         Add the useful safe-max()-macro example from "Naming Types" to
8981         "Typeof", rewritten using that extension.  Add some compatibility
8982         notes to "Typeof."
8983
8984 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8985
8986         * loop.c: Revert 2002-08-15 change.
8987         (LOOP_REGNO_NREGS): Ensure type is int.
8988
8989 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
8990
8991         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
8992         which copies first FPR and clears second.
8993         (extendsftf2): Same.
8994         (floatditf2): Fix typo.
8995         (floatsitf2): Same.
8996         (fix_trunctfdi2): Same.
8997         (fix_trunctfsi2): Same.
8998
8999 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9000
9001         * conflict.c (arc_hash): Change return type to hashval_t.
9002         * cselib.c (get_value_hash): Likewise.
9003         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
9004         state_hash, automata_list_hash): Likewise.
9005         * read-rtl.c (def_hash): Likewise.
9006         * tree.c (type_hash_hash): Likewise.
9007
9008 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
9009
9010         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
9011         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
9012
9013 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
9014
9015         * sh.md (ffssi2): Fix emitted code.
9016
9017 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
9018
9019         * cse.c (insn_live_p): Pass insn pattern, not full insn
9020         to may_trap_p.
9021
9022 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
9023
9024         * cppmacro.c (paste_tokens): Only allow / to paste with =.
9025
9026 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
9027
9028         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
9029         64-bit hosts.
9030         (movtf_internal): Reference correct displacement for second value
9031         in memory.
9032         (movtf splitter): Correct generation of constants in 64-bit mode.
9033
9034 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
9035
9036         * libgcc2.c (__floatdisf): Properly cure double rounding.
9037
9038 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9039
9040         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
9041         * doc/cpp.texi (Common Predefined Macros): Document.
9042
9043 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9044
9045         PR doc/7484
9046         * doc/invoke.texi (Option Summary): List
9047         -Wmissing-declarations as a C only option.
9048
9049 2002-10-08  Roger Sayle  <roger@eyesopen.com>
9050
9051         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
9052         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
9053         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
9054
9055 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
9056
9057         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
9058         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
9059         variables.
9060         (safe_vector_operand): Update sse_clrv4sf call.
9061         (ix86_expand_buildin): Likewise
9062         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
9063         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
9064         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
9065         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
9066         macros.
9067         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
9068         movv4si):  Obey the new flags.
9069         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
9070         reformating penalty.
9071         (anddf, cmov patterns): Avoid reformating by first converting.
9072         (sse_cvtsd2ss): Fix predicate.
9073         (sse2_clrti): Fix mode,
9074         (sse_clrv4sf): Avoid unspec.
9075
9076 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
9077
9078         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
9079         mno-app-regs|mcmodel=medany.
9080         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
9081         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
9082         (CRTSTUFF_T_CFLAGS): Define.
9083
9084 2002-10-08  Roger Sayle  <roger@eyesopen.com>
9085
9086         PR target/8087
9087         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
9088         pool references that are constructed using LO_SUM.
9089
9090 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
9091
9092         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
9093         -Wall.
9094         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
9095         message.
9096         * flags.h (warn_strict_aliasing): Declare.
9097         * toplev.c (warn_strict_aliasing): Define.
9098         (lang_independent_options): Add it.
9099         * doc/invoke.texi (-Wstrict-aliasing): Document it.
9100
9101 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
9102
9103         * system.h (GCCBUGURL): Delete.
9104         * version.c (bug_report_url): New.  Add commentary about
9105         modifying both these strings in modified distributions.
9106         * version.h: Declare bug_report_url.
9107
9108         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
9109         bug_report_url.
9110
9111 2002-10-08  Nick Clifton  <nickc@redhat.com>
9112
9113         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
9114         convert uint64_t into __ev64_opaque__.
9115         (__ev_set_acc_s64): Likewise, but using signed types.
9116
9117 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
9118
9119         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
9120         ("*doloop_di_long"): Likewise.
9121
9122 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
9123
9124         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
9125
9126 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
9127
9128         * config/mips/mips.md (define_attr cpu): Add r4111.
9129
9130 2002-10-08  Anthony Green  <green@redhat.com>
9131
9132         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
9133
9134 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9135
9136         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
9137         for REAL_VALUE_TO_DECIMAL output.
9138
9139 2002-10-07  Richard Henderson  <rth@redhat.com>
9140
9141         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
9142         function; cleanup PLUS case by using recursion.  Update all users.
9143         (NONZERO_BASE_PLUS_P): Remove.
9144         (find_comparison_args): Use rtx_addr_can_trap_p instead.
9145         (fold_rtx): Use nonzero_address_p.
9146         * rtl.h (nonzero_address_p): Declare.
9147         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
9148         (rtx_addr_can_trap_p): Likewise.
9149         (nonzero_address_p): New.
9150         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
9151         (simplify_relational_operation): Use nonzero_address_p.
9152
9153 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
9154
9155         * config/rs6000/rs6000.c (rs6000_override_options): Set
9156         real_format_for_mode for IBM extended format, if enabled.
9157         (easy_fp_constant): Add TFmode.
9158         (rs6000_legitimize_address): Add TFmode.
9159         (rs6000_legitimate_address): Same.
9160         (function_arg_advance): TFmode uses two FPRs.
9161         (rs6000_emit_prologue): Fix warning.
9162         (rs6000_output_function_epilogue): Add TFmode.
9163         (output_toc): Add TFmode.
9164         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
9165         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
9166         * rs6000.md (movtf splitter): Load TFmode constant.
9167
9168 2002-10-07  Dale Johannesen  <dalej@apple.com>
9169
9170         * rtl.h:  Add NOTE_PRECONDITIONED.
9171         * unroll.c:  Set it.
9172         * loop.c:  Set loop_info->preconditioned from it.
9173         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
9174
9175 2002-10-07  Richard Henderson  <rth@redhat.com>
9176
9177         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
9178         new rtx for comparing the argument pointer against zero.
9179         (i960_va_start): Similarly.
9180
9181 2002-10-07  Richard Henderson  <rth@redhat.com>
9182
9183         * config/i960/i960.md (*): Use TFmode, not XFmode.
9184         * config/i960/i960.c (*): Likewise.
9185         (i960_arg_size_and_align): Remove XFmode alignment hack.
9186         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
9187         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
9188         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
9189         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
9190
9191 2002-10-07  Richard Henderson  <rth@redhat.com>
9192
9193         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
9194         entry points; use void return value and argument list.
9195
9196 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
9197
9198         * calls.c (expand_call): Fix function-is-volatile check.
9199
9200 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
9201
9202         * t-pdp11: Add MULTILIB support for msoft-float.
9203         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
9204
9205         * t-pdp11: Add LIB2FUNCS_EXTRA.
9206         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
9207         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
9208         'fldd' to 'ldd', rename 'fstd' to 'std'.
9209         (pdp11_output_function_epilogue): Likewise.
9210         (output_move_quad): Make the comment gas compatible.
9211         (output_ascii): Add preceding 0 to the octal constant.
9212         (print_operand_address): Add pre_modify, post_modify.
9213         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
9214         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
9215         with the indication of Paul Koning.
9216         (PRINT_OPERAND): Fix floating constant.
9217         * pdp11.md (movdi): Restrict matching pattern.
9218         (movqi): Generalize the matching pattern.
9219         (movdf): Restrict matching pattern.
9220         (zero_extendqihi2): Change constant representation.
9221         (floatsidf2): Fix wrong operands.
9222         (addqi3): Fix wrong instruction name.
9223         (subqi3): Fix wrong instruction name.
9224         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
9225         (xorsi3): Fix wrong insn.
9226         (one_cmplqi2): Add two operand pattern.
9227         (lsrsi3): New.
9228         (negsi2): New.
9229         (call): Add register indirect case.
9230         (mod): Fix wrong subreg.
9231
9232 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
9233             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
9234
9235         PR c/7411
9236         * expr.c (expand_expr) [PLUS]: Simplify after the operands
9237         have been expanded in EXPAND_NORMAL mode.
9238
9239 2002-10-06  Richard Henderson  <rth@redhat.com>
9240
9241         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
9242
9243 2002-10-06  Richard Henderson  <rth@redhat.com>
9244
9245         PR optimization/2960
9246         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
9247         optimize_size.
9248
9249 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
9250
9251         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
9252         previously definitions.
9253
9254 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
9255
9256         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
9257         * c-opts.c (find_opt): Similarly.
9258
9259 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
9260
9261         * athlon.md: rewrite to DFA.
9262         * i386 (ix86_adjust_cost): Drop memory latency code.
9263         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
9264
9265 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
9266
9267         * gcc.c (set_multilib_dir): Don't access *end.
9268         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
9269         (print_multilib_info): Don't show paths starting with ".:".
9270         * genmultilib: Add new option, "yes" if multilibs are enabled.
9271         Update comments.  If multilibs not enabled, print .:${osdirout}
9272         for each directory.  If multilibs are enabled, always print
9273         ${dirout}:${osdirout}, even if the two are the same.
9274         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
9275         Pass all MULTILIB_* variables to genmultilib even if
9276         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
9277
9278 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
9279
9280         * gcc.c (process_command): Set .validated for -pipe.  Correct
9281         grammar in comment.
9282
9283 2002-10-04  Bruce Korb  <bkorb@gnu.org>
9284
9285         * fixinc/inclhack.def(hpux11_abs):  use format fix
9286         * fixinc/fixincl.x: regenerate
9287         * fixinc/tests/base/stdlib.h: accommodate new fix test
9288
9289 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
9290
9291         * c-common.c (cb_register_builtins):  Use really_no_inline.
9292
9293 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
9294
9295         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
9296         copied instruction if the note is not loop invariant.
9297
9298 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
9299
9300         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
9301
9302 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
9303
9304         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
9305         and -mhp-ld options to list of options.  Add -mgnu-ld
9306         and -mhp-ld option descriptions.
9307
9308 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
9309
9310         * fixinc/inclhack.def (hpux11_abs):  New.
9311         (stdio_va_list): change __va_list__ to __gnuc_va_list.
9312         * fixinc/fixincl.x: Rebuild.
9313
9314 2002-10-04  Roger Sayle  <roger@eyesopen.com>
9315
9316         * config/i386/i386.h (processor_costs): Add new fields fadd,
9317         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
9318         (RTX_COSTS): Use these fields to determine the RTX costs
9319         of floating point addition/subtraction, multiplication,
9320         division, fabs, negation and square root respectively.
9321         * config/i386/i386.c (size_cost): Provide instruction sizes
9322         for these new fields.
9323         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
9324         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
9325         counts for these new fields for all x86 processor variants.
9326
9327 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9328
9329         * mips.c (mips_const_double_ok): Delete unused variable.
9330
9331         * gengtype.c (rtx_next): Change type to int.
9332
9333 2002-10-04  Andreas Jaeger  <aj@suse.de>
9334
9335         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
9336
9337 2002-10-04  Richard Henderson  <rth@redhat.com>
9338
9339         * real.h (SIGNIFICAND_BITS): Add one more word.
9340         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
9341         * real.c (times_pten): New.
9342         (real_to_decimal, real_from_string): Use it.
9343         (sticky_rshift_significand): Use & to find modulus.
9344         (rshift_significand, lshift_significand): Likewise.
9345         (do_divide): Apply sticky bit after normalization.
9346         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
9347
9348 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
9349
9350         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
9351         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
9352
9353 2002-10-03  Andreas Jaeger  <aj@suse.de>
9354
9355         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
9356         to unsigned long, adjust printf format string.
9357         (output_mangled_typename): Likewise.
9358
9359 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
9360
9361         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
9362         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
9363         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
9364         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
9365         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
9366         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
9367         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
9368         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
9369
9370 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
9371
9372         * doc/invoke.texi (-Wabi): Document mangling bug.
9373
9374 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
9375
9376         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
9377         name for the tbtab label that depends on the function asm name.
9378         Don't output tbtab label unless optional_tbtab.
9379         (output_mi_thunk): Formatting.
9380
9381 2002-10-03  Richard Henderson  <rth@redhat.com>
9382
9383         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
9384         * config/m68k/m68k.c (override_options): ... here.
9385         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
9386         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
9387         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
9388         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
9389
9390 2002-10-03  Richard Henderson  <rth@redhat.com>
9391
9392         * real.h (struct real_value): Use ENUM_BITFIELD.
9393
9394 2002-10-03  Richard Henderson  <rth@redhat.com>
9395
9396         * config/i960/i960.md (call, call_value): Use emit_call_insn.
9397
9398 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
9399
9400         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
9401
9402 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
9403
9404         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
9405         * config/pa/pa.h (MASK_GNU_LD): New.
9406         (TARGET_GNU_LD): New.
9407         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
9408         on gnu-ld and MASK_GNU_LD.
9409         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
9410
9411 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
9412
9413         * i386.c (athlon_cost): Fix the move costs.
9414
9415 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
9416
9417         * final.c (final): Use symbol name as function name for profiling.
9418         * profile.c (get_exec_counts): Likewise.
9419         (branch_prob): Likewise.
9420
9421 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
9422
9423         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
9424
9425 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
9426
9427         * gcc.c (print_multi_os_directory): New variable.
9428         (option_map): Support --print-multi-os-directory.
9429         (struct prefix_list): Add os_multilib field.
9430         (multilib_os_dir): New variable.
9431         (static_specs): Add multilib_options.
9432         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
9433         subdirs if nonzero.
9434         (read_specs, execute): Update callers.
9435         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
9436         pass 1 as multilib option.
9437         (display_help): Include --print-multi-os-directory.
9438         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
9439         (process_command): Update callers.  Handle --print-multi-os-directory.
9440         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
9441         set.
9442         (main): Update find_a_file and add_prefix callers.
9443         Handle print_multi_os_directory.
9444         (struct mdswitchstr): New.
9445         (mdswitches, n_mdswitches): New variables.
9446         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
9447         present on the command line nor their mutually incompatible
9448         switches.
9449         (default_arg): Optimize.
9450         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
9451         array.
9452         (print_multilib_info): Only print GCC multilib dir name, not OS
9453         multilib dirname.
9454         * genmultilib: Add osdirnames parameter.  Output multilib_options
9455         variable.  If osdirnames is specified, output dirnames as
9456         dirname:osdirname.
9457         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
9458         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
9459         to compute libgcc_s soname and install path.
9460         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
9461         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
9462         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
9463         argument.
9464
9465         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
9466         (SHLIB_SLIBDIR_SUFFIXES): Remove.
9467         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
9468         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
9469         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
9470         and -m64.
9471         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
9472         (SHLIB_SLIBDIR_SUFFIXES): Remove.
9473         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
9474         (STARTFILE_ARCH_SPEC): Remove.
9475         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
9476         (SHLIB_SLIBDIR_SUFFIXES): Remove.
9477         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
9478         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
9479         (SHLIB_SLIBDIR_SUFFIXES): Remove.
9480
9481 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
9482
9483         * predict.c (choose_function_section): Avoid choice for linkonce functions.
9484
9485 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
9486
9487         * i386.md (lea to mul peep2): Fix condition.
9488
9489 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9490
9491         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
9492         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
9493
9494 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
9495
9496         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
9497         attribute "unused".
9498
9499         * config/t-libunwind: Mention unwind-sjlj.c.
9500         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
9501         to #ifndef __USING_SJLJ_EXCEPTIONS__.
9502
9503         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
9504         before inclusion of config.gcc, but after configuring the compiler etc.
9505         Determine default value for --enable-libunwind-exceptions based on
9506         whether the host has a libunwind library (not guaranteed to be correct,
9507         but it's a reasonable first guess and can always be overridden with an
9508         explicit --enable/disable-libunwind-exceptions.
9509         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
9510         tmake_file when $use_libunwind_exceptions is enabled.
9511         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
9512         ia64 (e.g., config/t-linux also updates it).
9513         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
9514         along with the shared version of libgcc since the latter requires
9515         the former.
9516         * unwind-libunwind.c: New file.
9517         * config/t-libunwind: Ditto.
9518
9519 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
9520
9521         * config.gcc: Remove support for vax-*-vms*.
9522         * config/vax/vms.h: Remove.
9523         * config/vax/xm-vms.h: Remove.
9524         * config/vax/vax-protos.h: Remove VMS-specific code.
9525         * config/vax/vax.c: Remove VMS-specific code.
9526
9527 2002-10-02  Richard Henderson  <rth@redhat.com>
9528
9529         PR opt/7124
9530         * config/i386/i386.c (ix86_register_move_cost): Increase cost
9531         for secondary_memory_needed pairs.
9532
9533 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
9534
9535         * doc/vms.texi: Blow away false include file section.
9536
9537 2002-10-02  Roger Sayle  <roger@eyesopen.com>
9538
9539         PR optimization/6627
9540         * toplev.c (force_align_functions_log): New global variable.
9541         * flags.h (force_align_functions_log): Add extern prototype.
9542         * varasm.c (assemble_start_function): Use it to force minimum
9543         function alignment.
9544         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
9545         minimum function alignment to one byte.
9546         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
9547         the least significant bit of vtable member function pointers.
9548         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
9549         here from cp/cp-tree.h.
9550
9551 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
9552
9553         * i386.c (print_operand_address): Use RIP addressing for offsetted
9554         label refs too.
9555
9556 2002-09-30  David S. Miller  <davem@redhat.com>
9557
9558         PR middle-end/7151
9559         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
9560         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
9561
9562 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
9563
9564         * calls.c (expand_call): Remove the `no indirect check'
9565         for sibcall optimization; use function_ok_for_sibcall
9566         target hook; refine check for `function is volatile'.
9567         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
9568         * hooks.c (hook_tree_tree_bool_false): New.
9569         * hooks.h (hook_tree_tree_bool_false): Declare.
9570         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
9571         (TARGET_INITIALIZER): Add it.
9572         * target.h (struct gcc_target): Add function_ok_for_sibcall.
9573         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
9574         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9575         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9576         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
9577         Remove function declaration.
9578         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
9579         function static and accept another argument of type `tree'.
9580         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9581         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9582         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9583         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
9584         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9585         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9586         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9587         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
9588         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
9589         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9590         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9591         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
9592         Remove function declaration.
9593         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
9594         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
9595         rename first argument to `decl'; accept another argument
9596         of type `tree'; make static.
9597         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9598         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9599         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
9600         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9601         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9602         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
9603         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
9604         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9605         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
9606
9607 2002-10-01  Roger Sayle  <roger@eyesopen.com>
9608
9609         * unroll.c (loop_iterations): Revert 2002-09-08 change.
9610
9611 2002-10-01  Richard Henderson  <rth@redhat.com>
9612
9613         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
9614         (real_to_hexadecimal): Likewise.
9615         * print-rtl.c (print_rtx): If we are linked with real.c, don't
9616         dump the XWINT fields of a floating point CONST_DOUBLE.
9617
9618 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
9619
9620         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
9621
9622 2002-10-01  Richard Henderson  <rth@redhat.com>
9623
9624         * calls.c (precompute_register_parameters): Force non-legitimate
9625         constants into pseudos.
9626
9627 2002-10-01  Nick Clifton  <nickc@redhat.com>
9628
9629         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
9630         to assembler template.
9631
9632 2002-10-01  Richard Henderson  <rth@redhat.com>
9633
9634         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
9635         for TLS debug info to !DECL_EXTERNAL.
9636
9637 2002-10-01  Matt Thomas  <matt@3am-software.com>
9638             Jason Thorpe  <thorpej@wasabisystems.com>
9639
9640         * config.gcc (vax-*-netbsdelf*): Enable configuration.
9641         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
9642         if not already defined.
9643         * config/vax/elf.h: New file.
9644         * config/vax/netbsd-elf.h: New file.
9645         * config/vax/vax.c: Include "debug.h".
9646         (vax_output_function_prologue): Add dwarf2 support.  Use
9647         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
9648         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
9649         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
9650         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
9651         (VAX_ISTREAM_SYNC): Remove.
9652         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
9653         (JUMP_TABLES_IN_TEXT_SECTION): Define.
9654         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
9655         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
9656         and assemble_name.
9657         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9658         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
9659         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
9660         (INCOMING_RETURN_ADDR_RTX): Define.
9661         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
9662         (VUNSPEC_SYNC_ISTREAM): Define.
9663         (blockage): Use VUNSPEC_BLOCKAGE.
9664         (sync_istream): New insn.
9665
9666 2002-10-01  Richard Henderson  <rth@redhat.com>
9667
9668         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
9669         (*call_value_pop, call, call_value): Add dwarf2 EH support.
9670         (*call): New insn.
9671
9672 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
9673
9674         PR c/8083
9675         * c-typeck.c (build_c_cast): Warn about type punning which breaks
9676         type based aliasing.
9677
9678 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
9679
9680         * stor-layout.c (update_alignment_for_field): New function.
9681         (place_union_field): Use it.
9682         (place_field): Likewise.
9683
9684 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
9685
9686         PR other/8077
9687         * gcc.c (cc1_options): Add space on -auxbase-strip.
9688
9689 2002-10-01  Jim Wilson  <wilson@redhat.com>
9690
9691         * config/v850/v850.h (EPILOGUE_USES): Define.
9692
9693 2002-09-30  Andrew Haley  <aph@redhat.com>
9694
9695         * flow.c (insn_dead_p): When using non-call-exceptions, don't
9696         eliminate insns that may trap.
9697         * cse.c (insn_live_p): Likewise.
9698
9699 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9700
9701         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
9702         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
9703         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
9704         * config/mips/mips.md: Apply same renaming here.
9705
9706 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9707
9708         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
9709         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
9710         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
9711         * config/mips/mips.md (define_attr cpu): Remove r4320.
9712         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
9713
9714 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9715
9716         * config/mips/mips.c (mips16_strings): New variable.
9717         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
9718         symbol in mips16_strings.  Free the list.
9719         (mips_encode_section_info): Keep track of local strings.
9720
9721 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9722
9723         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
9724         (sordered_df, sordered_sf): Remove.
9725         * config/mips/mips.c (get_float_compare_codes): New fn.
9726         (gen_int_relational, gen_conditional_move): Use it.
9727
9728 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
9729
9730         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
9731         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
9732         * config/mips/mips.c (fcc_register_operand): New function.
9733         (mips_emit_fcc_reload): New function, extracted from reload_incc.
9734         (override_options): Allow TFmode values in float registers
9735         if ISA_HAS_8CC.
9736         * cnfig/mips/mips.md (reload_incc): Change destination prediate
9737         to fcc_register_operand.  Remove misleading source constraint.
9738         Use mips_emit_fcc_reload.
9739         (reload_outcc): Duplicate reload_incc.
9740
9741 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
9742
9743         * gcc.c (validate_switches): Handle all new forms of spec
9744         syntax introduced recently.  Now returns a char *.
9745         (validate_all_switches): Repetitive logic broken out to...
9746         (validate_switches_from_spec): ...here.
9747         * mklibgcc.in: Don't @-flag commands to generate .oS files.
9748
9749 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9750
9751         * longlong.h: Partially synchronize with GMP-4.1 version:
9752         Use i370 definitions also for s390.
9753         Add generic definition of umul_ppmm in terms of smul_ppmm.
9754         [s390] (umul_ppmm): Remove.
9755         [s390] (smul_ppmm): Fix incorrect assembler constraints.
9756         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
9757
9758 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
9759
9760         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
9761         Add new RL_REGS register class.
9762         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
9763         Call xtensa_preferred_reload_class for both input and output reloads.
9764         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
9765         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
9766         instead of either AR_REGS or GR_REGS classes.
9767         (xtensa_secondary_reload_class): Use new RL_REGS class.
9768         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
9769
9770 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9771
9772         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
9773         (pa_strip_name_encoding): Strip '@' and '*', in that order.
9774         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
9775         there is a '*' prefix in NAME.
9776
9777 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
9778
9779         * reload.c (push_reload): Handle subregs and secondary memory.
9780         * reload1.c (gen_reload): Likewise.
9781
9782         * jump.c (reg_or_subregno): New function.
9783         * rtl.h (reg_or_subregno): Declare
9784         * unroll.c (find_splittable_givs): Handle subregs.
9785
9786 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
9787
9788         * store-layout.c (finish_record_layout): Add free_p parameter.
9789         (layout_type): Pass it.
9790         * tree.h (finish_record_layout): Update prototype.
9791
9792 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
9793
9794         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
9795
9796         * gcse.c (cprop_jump): Check that the register has not
9797         been modified
9798         (cprop_jump): Likewise.
9799
9800 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
9801
9802         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
9803         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
9804         that we have a SImode access, and only then if reload hasn't completed;
9805         for all other cases, use LO_REGS.
9806
9807 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9808
9809         * openbsd.h: Fix typo in last change.
9810
9811 2002-09-29  Richard Henderson  <rth@redhat.com>
9812
9813         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
9814
9815 2002-09-29  Richard Henderson  <rth@redhat.com>
9816
9817         PR c/8002
9818         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
9819         for CONST_INT.
9820
9821 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
9822
9823         * real.h (ibm_extended_format): Declare.
9824         * real.c (encode_ibm_extended, decode_ibm_extended): New
9825         functions.
9826
9827 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9828
9829         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
9830
9831         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
9832
9833 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9834
9835         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
9836
9837 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
9838
9839         * builtins.def: Fix comment formatting.
9840         * c-common.def: Likewise.
9841         * cfgcleanup.c: Likewise.
9842         * combine.c: Likewise.
9843         * gengtype.c: Likewise.
9844         * params.def: Likewise.
9845         * predict.def: Likewise.
9846         * rtl.def: Likewise.
9847         * stab.def: Likewise.
9848         * stor-layout.c: Likewise.
9849         * tree.def: Likewise.
9850         * config/darwin.c: Likewise.
9851         * config/darwin.h: Likewise.
9852         * config/dbxcoff.h: Likewise.
9853         * config/elfos.h: Likewise.
9854         * config/fp-bit.c: Likewise.
9855         * config/freebsd-spec.h: Likewise.
9856         * config/interix.h: Likewise.
9857         * config/libgloss.h: Likewise.
9858         * config/linux-aout.h: Likewise.
9859         * config/linux.h: Likewise.
9860         * config/lynx-ng.h: Likewise.
9861         * config/lynx.h: Likewise.
9862         * config/netbsd-aout.h: Likewise.
9863         * config/netbsd.h: Likewise.
9864         * config/netware.h: Likewise.
9865         * config/psos.h: Likewise.
9866         * config/ptx4.h: Likewise.
9867
9868 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
9869
9870         * ChangeLog.4: Fix typos.
9871         * ChangeLog.6: Likewise.
9872         * FSFChangeLog.10: Likewise.
9873         * genattrtab.c: Fix comment typos.
9874         * haifa-sched.c: Likewise.
9875         * real.c: Likewise.
9876         * tree.h: Likewise.
9877         * config/arm/arm.c: Likewise.
9878         * config/arm/crti.asm: Likewise.
9879         * config/arm/crtn.asm: Likewise.
9880         * config/frv/frv.c: Likewise.
9881         * config/frv/frv.md: Likewise.
9882         * config/h8300/h8300.md: Likewise.
9883         * config/i386/rtemself.h: Likewise.
9884         * config/ia64/unwind-ia64.c: Likewise.
9885         * config/ip2k/ip2k.h: Likewise.
9886         * config/m88k/m88k.c: Likewise.
9887         * config/m88k/m88k.md: Likewise.
9888         * config/mips/sr71k.md: Likewise.
9889         * config/mmix/mmix.c: Likewise.
9890         * config/rs6000/rs6000.c: Likewise.
9891         * config/sh/sh.md: Likewise.
9892
9893 2002-09-26  Theodore A. Roth  <troth@verinet.com>
9894
9895         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
9896         * config/avr/avr.md: Ditto.
9897
9898 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
9899
9900         PR preprocessor/8055
9901         * cppmacro.c (stringify_arg): Do not overflow the buffer
9902         with the terminating NUL when the argument to be stringified
9903         has no tokens.
9904
9905 2002-09-27  Richard Henderson  <rth@redhat.com>
9906
9907         * unroll.c (simplify_cmp_and_jump_insns): New.
9908         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
9909         instead of expand_simple_foo.
9910
9911 2002-09-27  Richard Henderson  <rth@redhat.com>
9912
9913         PR optimization/7520
9914         * cfganal.c (flow_active_insn_p): New.
9915         (forwarder_block_p): Use it.
9916
9917 2002-09-27  Richard Henderson  <rth@redhat.com>
9918
9919         * emit-rtl.c (active_insn_p): Revert last change.
9920
9921 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
9922
9923         * doc/extend.texi (tls_model): Document.
9924         * varasm.c (decl_tls_model): New.
9925         * c-common.c (handle_tls_model_attribute): New.
9926         (c_common_attribute_table): Add tls_model.
9927         * config/alpha/alpha.c (alpha_encode_section_info): Use
9928         decl_tls_model.
9929         * flags.h (enum tls_model, flag_tls_default): Move...
9930         * tree.h (enum tls_model, flag_tls_default): ...here.
9931         (decl_tls_model): New prototype.
9932         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
9933         * config/i386/i386.c (ix86_encode_section_info): Likewise.
9934         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
9935         Allow !flag_pic.
9936
9937 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
9938
9939         * LANGUAGES: Follow spelling conventions.
9940         * rtl.def: Likewise.
9941         * sbitmap.c: Likewise.
9942         * sched-int.h: Likewise.
9943         * sched-rgn.c: Likewise.
9944         * sibcall.c: Likewise.
9945         * simplify-rtx.c: Likewise.
9946         * ssa.c: Likewise.
9947         * stab.def: Likewise.
9948         * stmt.c: Likewise.
9949         * stor-layout.c: Likewise.
9950         * target.h: Likewise.
9951         * timevar.c: Likewise.
9952         * toplev.c: Likewise.
9953         * tree-dump.c: Likewise.
9954         * tree-inline.c: Likewise.
9955         * tree.c: Likewise.
9956         * tree.def: Likewise.
9957         * tree.h: Likewise.
9958         * unroll.c: Likewise.
9959         * varasm.c: Likewise.
9960         * vmsdbgout.c: Likewise.
9961         * treelang/treelang.texi: Likewise.
9962         * treelang/treetree.c: Likewise.
9963
9964 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
9965
9966         * config/h8300/h8300.c (compute_saved_regs): Use a macro
9967         instead of a hard register number.
9968         (get_shift_alg): Use an enumerated type instead of numbers.
9969         (h8300_shift_needs_scratch_p): Likewise.
9970
9971 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
9972
9973         * varasm.c (force_data_section): Remove.
9974         (assemble_constant_align): Likewise.
9975         * output.h: Remove corresponding prototypes.
9976
9977 2002-09-26  Roger Sayle  <roger@eyesopen.com>
9978
9979         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
9980         jump, if the loop to exit is the top of the current nesting stack.
9981
9982 2002-09-26  Torbjorn Granlund  <tege@swox.com>
9983
9984         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
9985         arithmetic.
9986
9987 2002-09-26  David S. Miller  <davem@redhat.com>
9988
9989         PR optimization/7335
9990         * calls.c (emit_library_call_value_1): Passing args by reference
9991         converts a CONST function into a PURE one.
9992
9993 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
9994
9995         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
9996         text_section.
9997         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
9998         text section.
9999         * config/rs6000/rs6000.c (rs6000_override_options): Allow
10000         function-sections and data-sections functionality on AIX.
10001
10002 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
10003             Dale Johannesen  <dalej@apple.com>
10004
10005         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
10006         in RTL for sub-word loads from memory.
10007
10008 2002-09-26  Richard Henderson  <rth@redhat.com>
10009
10010         PR c/7160
10011         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
10012         on call insns.
10013
10014 2002-09-26  Richard Henderson  <rth@redhat.com>
10015
10016         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
10017
10018 2002-09-26  Chris Lattner  <sabre@nondot.org>
10019
10020         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
10021         handling undefined values.
10022
10023 2002-09-26  Richard Henderson  <rth@redhat.com>
10024
10025         PR opt/7520
10026         * emit-rtl.c (active_insn_p): Consider a clobber of the
10027         function return value to be active even after reload.
10028
10029 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
10030
10031         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
10032         by absolute loop increment, not loop increment.
10033
10034 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
10035
10036         * c-common.h: Follow spelling conventions.
10037         * cpplex.c: Likewise.
10038         * cpplib.h: Likewise.
10039         * gthr-dce.h: Likewise.
10040         * gthr-posix.h: Likewise.
10041         * optabs.c: Likewise.
10042         * output.h: Likewise.
10043         * profile.c: Likewise.
10044         * protoize.c: Likewise.
10045         * ra-rewrite.c: Likewise.
10046         * real.c: Likewise.
10047         * recog.c: Likewise.
10048         * reg-stack.c: Likewise.
10049         * regclass.c: Likewise.
10050         * regmove.c: Likewise.
10051         * reload.c: Likewise.
10052         * reload.h: Likewise.
10053         * reload1.c: Likewise.
10054         * reorg.c: Likewise.
10055         * resource.c: Likewise.
10056         * rtl.h: Likewise.
10057         * rtlanal.c: Likewise.
10058
10059 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10060
10061         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
10062         for symbol address.
10063
10064 2002-09-24  Eric Christopher  <echristo@redhat.com>
10065
10066         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
10067         * config/mips/elf64.h: Ditto.
10068
10069 2002-09-24  Eric Christopher  <echristo@redhat.com>
10070
10071         * except.c (expand_builtin_extract_return_address): Handle case
10072         where Pmode != ptr_mode.
10073
10074 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10075
10076         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
10077
10078 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10079
10080         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
10081
10082 2002-09-26  Igor Shevlyakov <igor@microunity.com>
10083
10084         * combine.c (simplify_set): Don't call to force_to_mode if size
10085         of integer type is larger than HOST_BITS_PER_WIDE_INT.
10086
10087 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
10088
10089         * Makefile.in (qmtest-g++): Fix file path.
10090
10091 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
10092
10093         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
10094         A + (-const) on RTX level, even for unsigned types.
10095
10096 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
10097
10098         * reload.c (dup_replacements): New function.
10099         (find_reloads): Use it to duplicate replacements at the top level
10100         of match_dup operands.
10101
10102 2002-09-26  Miles Bader  <miles@gnu.org>
10103
10104         * v850.md ("length"): Change default value to 4.
10105
10106 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
10107
10108         * ChangeLog.1: Follow spelling conventions.
10109         * ChangeLog.4: Likewise.
10110         * ChangeLog.6: Likewise.
10111         * FSFChangeLog.11: Likewise.
10112         * doc/cpp.texi: Likewise.
10113         * doc/invoke.texi: Likewise.
10114         * doc/tm.texi: Likewise.
10115
10116 2002-09-26  Nick Clifton  <nickc@redhat.com>
10117
10118         * config.gcc: Add x prefix to v850e case for handling
10119         --with-cpu=v850e.
10120
10121 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
10122
10123         * gcc.c (input_suffix_matches, switch_matches,
10124         mark_matching_switches, process_marked_switches,
10125         process_brace_body): New functions - split from handle_braces.
10126         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
10127         and ignore whitespace in more places.
10128         (specs documentation comment): Document %{S:X;T:Y;:D}.
10129         Clarify other %{...} docs.
10130         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
10131         %{...} docs.
10132
10133         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
10134         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
10135
10136 2002-09-25  David S. Miller  <davem@redhat.com>
10137
10138         PR target/7842
10139         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
10140         extend.
10141
10142 2002-09-25  Richard Henderson  <rth@redhat.com>
10143
10144         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
10145         fp CONST_DOUBLE; use real_identical.
10146
10147 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
10148
10149         * doc/invoke.texi: Add more -Wabi examples.
10150
10151 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
10152
10153         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
10154
10155 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
10156
10157         * profile.c (end_branch_prob): Only look for __gcov_init on
10158         weak-enabled native compilers.
10159
10160 2002-09-24  Denis Chertykov  <denisc@overta.ru>
10161
10162         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
10163         cases of optimizing "add sp,w" to "inc sp".
10164
10165 2002-09-24  Adam Nemet  <anemet@lnxw.com>
10166
10167         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
10168         epilogue for naked functions.
10169
10170 2002-09-24  Adam Nemet  <anemet@lnxw.com>
10171             Nick Clifton  <nickc@redhat.com>
10172
10173         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
10174         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
10175         is defined.
10176
10177 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
10178
10179         * config/s390/s390.c (preferred_la_operand_p): New function.
10180         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
10181         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
10182         ("*la_64_cc", "*la_31_cc", splitters): ... these.
10183         ("*la_31"): Deactivate for TARGET_64BIT.
10184         ("*la_31_and", "*la_31_and_cc"): New.
10185
10186 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10187
10188         * real.h (real_value): Make `exp' explicitly signed.
10189
10190 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
10191
10192         * config/elfos.h: Follow spelling conventions.
10193         * config/alpha/alpha.h: Likewise.
10194         * config/arc/arc.h: Likewise.
10195         * config/arm/arm.md: Likewise.
10196         * config/avr/avr.h: Likewise.
10197         * config/cris/cris.md: Likewise.
10198         * config/d30v/d30v.h: Likewise.
10199         * config/frv/frv.c: Likewise.
10200         * config/frv/frv.h: Likewise.
10201         * config/h8300/h8300.c: Likewise.
10202         * config/h8300/h8300.h: Likewise.
10203         * config/h8300/h8300.md: Likewise.
10204         * config/i386/cygwin.h: Likewise.
10205         * config/i386/i386.h: Likewise.
10206         * config/i386/sysv3.h: Likewise.
10207         * config/i960/i960.h: Likewise.
10208         * config/ia64/ia64.h: Likewise.
10209         * config/ia64/ia64.md: Likewise.
10210         * config/ip2k/ip2k.h: Likewise.
10211         * config/m32r/m32r.h: Likewise.
10212         * config/m68k/m68k.h: Likewise.
10213         * config/m88k/m88k.h: Likewise.
10214         * config/mcore/mcore.c: Likewise.
10215         * config/mcore/mcore.h: Likewise.
10216         * config/mcore/mcore.md: Likewise.
10217         * config/mips/mips.h: Likewise.
10218         * config/mmix/mmix.h: Likewise.
10219         * config/mmix/mmix.md: Likewise.
10220         * config/ns32k/netbsd.h: Likewise.
10221         * config/ns32k/ns32k.h: Likewise.
10222         * config/ns32k/ns32k.md: Likewise.
10223         * config/pa/pa.h: Likewise.
10224         * config/romp/romp.h: Likewise.
10225         * config/rs6000/rs6000.h: Likewise.
10226         * config/rs6000/rs6000.md: Likewise.
10227         * config/sparc/sparc.h: Likewise.
10228         * config/stormy16/stormy-abi: Likewise.
10229         * config/stormy16/stormy16.h: Likewise.
10230         * config/vax/vax.h: Likewise.
10231
10232 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
10233
10234         * config/alpha/alpha.h: Remove commented-out macro
10235         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
10236         * config/avr/avr.h: Likewise.
10237         * config/d30v/d30v.h: Likewise.
10238         * config/dsp16xx/dsp16xx.h: Likewise.
10239         * config/i370/i370.h: Likewise.
10240         * config/i386/i386.h: Likewise.
10241         * config/i960/i960.h: Likewise.
10242         * config/m68k/m68k.h: Likewise.
10243         * config/m88k/m88k.h: Likewise.
10244         * config/mips/mips.h: Likewise.
10245         * config/ns32k/ns32k.h: Likewise.
10246         * config/pdp11/pdp11.h: Likewise.
10247         * config/romp/romp.h: Likewise.
10248         * config/rs6000/rs6000.h: Likewise.
10249         * config/s390/s390.h: Likewise.
10250         * config/sh/sh.h: Likewise.
10251         * config/sparc/sparc.h: Likewise.
10252         * config/stormy16/stormy16.h: Likewise.
10253         * config/vax/vax.h: Likewise.
10254
10255 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
10256
10257         * function.c (push_temp_slots_for_block): Remove.
10258         (push_temp_slots_for_target): Likewise.
10259         (get_target_temp_slot_level): Likewise.
10260         (set_target_temp_slot_level): Likewise.
10261         (get_first_block_beg): Likewise.
10262         * function.h: Remove corresponding prototypes.
10263
10264 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
10265
10266         * version.c (version_string): Now const char[].
10267         * version.h: Update to match.
10268
10269 2002-09-23  Richard Henderson  <rth@redhat.com>
10270
10271         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
10272         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
10273         (TARGET_SWITCHES): Don't reference them.
10274         * config/i386/i386.c (override_options): Use target_flags_explicit
10275         to examine bits set by the user.
10276
10277 2002-09-23  Dale Johannesen  <dalej@apple.com>
10278
10279         * dbxout.c (dbxout_parms):  Set current_sym_code for params
10280         passed on stack by invisible reference.
10281
10282 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
10283
10284         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
10285         at least one byte of space.
10286
10287 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
10288
10289         * c-common.h (flag_abi_version): Fix typo in comment.
10290         * doc/invoke.texi (flag_abi_version): Document default value.
10291
10292 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
10293
10294         * doc/extend.texi (Extended Asm): Clarify that overlap between
10295         asm-declared register variables used in an asm and the asm clobber
10296         list is not allowed.
10297         * stmt.c (decl_conflicts_with_clobbers_p): New function.
10298         (expand_asm_operands): Keep track of clobbered registers.  Call
10299         decl_conflicts_with_clobbers_p for each input and output operand.
10300         If no conflicts found before, also do conflict sanity check when
10301         emitting clobbers.
10302
10303 2002-09-23  Richard Henderson  <rth@redhat.com>
10304
10305         * c-common.c (cpp_define_data_format): Remove.
10306         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
10307         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
10308         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
10309         * doc/cpp.texi: Don't document them either.
10310         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
10311         __LONG_LONG_MAX__): Document.
10312         (__TARGET_FLOAT_FORMAT__): Remove.
10313
10314 2002-09-23  Richard Henderson  <rth@redhat.com>
10315
10316         * real.c (do_multiply): Normalize U before addition.
10317
10318 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
10319
10320         * c-common.c (flag_abi_version): New variable.
10321         * c-common.h (flag_abi_version): Declare it.
10322         * c-opts.c (missing_arg): Add -fabi-version.
10323         (c_common_decode_option): Process -fabi-version.
10324         * doc/invoke.texi (-fabi-version): Document it.
10325         (-Wabi): Add information about bit-fields in unions.
10326
10327 2002-09-22  Roger Sayle  <roger@eyesopen.com>
10328
10329         * expr.c (STORE_BY_PIECES_P): New target macro.
10330         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
10331         instead of MOVE_BY_PIECES_P.
10332         * doc/tm.texi: Document this new macro.
10333
10334 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
10335
10336         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
10337         unless -fno-pic or -fno-PIC is specified.
10338
10339 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10340
10341         * c-common.c (preprocessing_trad_p): Define.
10342         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
10343         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
10344         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
10345         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
10346         * pa-linux.h (CPP_PREDEFINES): Delete.
10347         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
10348         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
10349         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
10350         (TARGET_OS_CPP_BUILTINS): Define.
10351         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
10352         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
10353         (SUBTARGET_SWITCHES): Provide default definition.
10354         (TARGET_OPTIONS): Reformat.  Use N_() macro.
10355         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
10356         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
10357         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
10358         (TARGET_CPU_CPP_BUILTINS): Define.
10359         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
10360         * doc/invoke.texi (msio, mwsio): Document new hppa options.
10361         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
10362         preprocessing_trad_p().
10363
10364 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
10365
10366         * doc/install.texi: Document behavior of --with-headers and
10367         --with-libs when arguments are omitted.
10368
10369 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
10370
10371         * dbxout.c: Follow spelling conventions.
10372         * defaults.h: Likewise.
10373         * df.c: Likewise.
10374         * diagnostic.h: Likewise.
10375         * doloop.c: Likewise.
10376         * dwarf2out.c: Likewise.
10377         * dwarfout.c: Likewise.
10378         * emit-rtl.c: Likewise.
10379         * except.c: Likewise.
10380         * explow.c: Likewise.
10381         * expmed.c: Likewise.
10382         * expr.c: Likewise.
10383         * expr.h: Likewise.
10384         * flags.h: Likewise.
10385         * flow.c: Likewise.
10386         * fold-const.c: Likewise.
10387         * function.c: Likewise.
10388         * function.h: Likewise.
10389         * gcc.c: Likewise.
10390         * gcov-io.h: Likewise.
10391         * gcov.c: Likewise.
10392         * gcse.c: Likewise.
10393         * genattrtab.c: Likewise.
10394         * genconfig.c: Likewise.
10395         * genrecog.c: Likewise.
10396         * ggc-page.c: Likewise.
10397         * ggc.h: Likewise.
10398         * global.c: Likewise.
10399         * gthr-win32.h: Likewise.
10400         * integrate.c: Likewise.
10401         * jump.c: Likewise.
10402         * langhooks.c: Likewise.
10403         * langhooks.h: Likewise.
10404         * line-map.h: Likewise.
10405         * local-alloc.c: Likewise.
10406         * longlong.h: Likewise.
10407         * loop.c: Likewise.
10408         * loop.h: Likewise.
10409
10410 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
10411
10412         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
10413
10414 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
10415
10416         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
10417         for -Os/TARGET_64BIT too.
10418
10419 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
10420
10421         * ChangeLog: Follow spelling conventions.
10422         * ChangeLog.0: Likewise.
10423         * ChangeLog.1: Likewise.
10424         * ChangeLog.2: Likewise.
10425         * ChangeLog.3: Likewise.
10426         * ChangeLog.4: Likewise.
10427         * ChangeLog.5: Likewise.
10428         * ChangeLog.6: Likewise.
10429         * FSFChangeLog.10: Likewise.
10430         * FSFChangeLog.11: Likewise.
10431         * alias.c: Likewise.
10432         * basic-block.h: Likewise.
10433         * c-aux-info.c: Likewise.
10434         * c-common.c: Likewise.
10435         * c-common.h: Likewise.
10436         * c-decl.c: Likewise.
10437         * c-format.c: Likewise.
10438         * c-semantics.c: Likewise.
10439         * c-typeck.c: Likewise.
10440         * calls.c: Likewise.
10441         * cfganal.c: Likewise.
10442         * cfgloop.c: Likewise.
10443         * collect2.c: Likewise.
10444         * combine.c: Likewise.
10445         * conflict.c: Likewise.
10446         * cppexp.c: Likewise.
10447         * cppfiles.c: Likewise.
10448         * cpphash.h: Likewise.
10449         * cppinit.c: Likewise.
10450         * cpplex.c: Likewise.
10451         * cpplib.c: Likewise.
10452         * cpplib.h: Likewise.
10453         * cppmacro.c: Likewise.
10454         * cse.c: Likewise.
10455
10456 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
10457
10458         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
10459         LINK_SPEC.
10460         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
10461         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
10462         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
10463
10464 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
10465
10466         PR opt/7930
10467         * cse.c (fold_rtx): Calculate old_cost before we fold each
10468         operand.
10469
10470 2002-09-21  Richard Henderson  <rth@redhat.com>
10471
10472         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
10473         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
10474         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
10475         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
10476         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
10477         * doc/cpp.texi: Don't document them.
10478
10479 2002-09-21  Richard Henderson  <rth@redhat.com>
10480
10481         * c-common.c (builtin_define_float_constants): Use real_format
10482         to get the floating-point parameters.
10483
10484 2002-09-21  Richard Henderson  <rth@redhat.com>
10485
10486         * real.c (struct real_format): Move to real.h.
10487         (real_format_for_mode): Rename from fmt_for_mode; update all users;
10488         initialize with ieee defaults.
10489         (real_to_target_fmt, real_from_target_fmt): New.
10490         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
10491         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
10492         ieee_quad_format, i370_single_format, i370_double_format,
10493         c4x_single_format, c4x_extended_format): Rename from s/_format//.
10494         (ieee_quad_format): Fix emin.
10495         (format_for_size, init_real_once): Remove.
10496         * real.h (struct real_format): Move from real.c.
10497         (real_format_for_mode): Declare.
10498         (real_to_target_fmt, real_from_target_fmt): Declare.
10499         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
10500         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
10501         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
10502         i370_single_format, i370_double_format, c4x_single_format,
10503         c4x_extended_format): Declare.
10504         * toplev.c (do_compile): Don't call init_real_once.
10505
10506         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
10507         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
10508
10509         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
10510         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
10511         * config/alpha/alpha.c (override_options): Set real_format_for_mode
10512         for VAX, if enabled.
10513
10514         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
10515         for C4X.
10516
10517         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
10518         * config/i370/i370.c (override_options): New.
10519         * config/i370/i370-protos.h: Update.
10520
10521         * config/i386/i386.c (override_options): Set real_format_for_mode
10522         for Intel 80-bit extended.
10523         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
10524
10525         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
10526         (OVERRIDE_OPTIONS): Move code...
10527         * config/i960/i960.c (i960_initialize): ... here.  Set
10528         real_format_for_mode for Intel 80-bit extended.
10529
10530         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
10531         for Intel 80-bit extended, if enabled.
10532
10533         * config/m68k/m68k.c (override_options): Set real_format_for_mode
10534         for Motorola 96-bit extended.
10535
10536         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
10537         * config/vax/vax.c (override_options): New.
10538         * config/vax/vax-protos.h: Update.
10539
10540 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
10541
10542         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
10543         #if TARGET_MACHO.
10544
10545         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
10546         insns.  Supply missing clobber of scratch reg.
10547
10548 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
10549
10550         * config/m32r/m32r.c: Follow spelling conventions.
10551         * config/m32r/m32r.h: Likewise.
10552         * config/m32r/m32r.md: Likewise.
10553         * config/m68k/m68k.c: Likewise.
10554         * config/m88k/m88k.c: Likewise.
10555         * config/mcore/mcore.c: Likewise.
10556         * config/mips/mips.c: Likewise.
10557         * config/mips/mips.h: Likewise.
10558         * config/mmix/mmix.c: Likewise.
10559         * config/mn10200/mn10200.c: Likewise.
10560         * config/ns32k/ns32k.h: Likewise.
10561         * config/pa/pa.c: Likewise.
10562         * config/pa/pa64-linux.h: Likewise.
10563         * config/pdp11/pdp11.h: Likewise.
10564         * config/romp/romp.c: Likewise.
10565         * config/romp/romp.h: Likewise.
10566         * config/rs6000/eabi.asm: Likewise.
10567         * config/rs6000/linux64.h: Likewise.
10568         * config/rs6000/rs6000.c: Likewise.
10569         * config/rs6000/rs6000.h: Likewise.
10570         * config/rs6000/rs6000.md: Likewise.
10571         * config/rs6000/sysv4.h: Likewise.
10572         * config/rs6000/xcoff.h: Likewise.
10573
10574 2002-09-20  Jim Wilson  <wilson@redhat.com>
10575
10576         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
10577
10578 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
10579
10580         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
10581         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
10582         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
10583         (legitimate_address_p): Likewise.
10584         (legitimize_address): Use @gotntpoff and @indntpoff.
10585         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
10586         (output_addr_const_extra): Likewise.
10587
10588 2002-09-20  Jim Wilson  <wilson@redhat.com>
10589
10590         * combine.c (try_combine): When split an instruction pair, where the
10591         first has a sign_extend src, verify that the src and dest modes match.
10592
10593 2002-09-20  Richard Henderson  <rth@redhat.com>
10594
10595         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
10596         (override_options): Do not initialize them.
10597         (mips_const_double_ok): Allow no fp constants except zero,
10598         and not even that for mips16.
10599         (const_float_1_operand): Use dconst1.
10600         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
10601         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
10602         Don't allow arbitrary constants; fix predicates and C constraint.
10603
10604 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
10605
10606         * cppmacro.c: Don't warn about function-like macros without
10607         '(' during pre-expansion.
10608
10609 2002-09-20  Jim Wilson  <wilson@redhat.com>
10610
10611         * config/v850/v850.c (current_function_anonymous_args): Delete.
10612         (expand_prologue): Use current_function_args_info.anonymous_args.
10613         (expand_epilogue): Delete use of current_function_anonymous_args.
10614         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
10615         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
10616         (current_function_anonymous_args): Delete extern declaration.
10617         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
10618
10619 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
10620
10621         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
10622         to load_macho_picbase.
10623         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
10624         (load_macho_picbase): Take the symbol to use as a parameter.
10625         (macho_correct_pic): New insn.
10626         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
10627
10628         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
10629         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
10630         (CAN_ELIMINATE): Likewise.
10631         (INITIAL_ELIMINATION_OFFSET): Likewise.
10632         (TOC_REGISTER): Likewise.
10633
10634 2002-09-20  Richard Henderson  <rth@redhat.com>
10635
10636         * real.c (real_hash): New.
10637         * real.h: Declare it.
10638         * cse.c (canon_hash): Use it.
10639         * cselib.c (hash_rtx): Likewise.
10640         * emit-rtl.c (const_double_htab_hash): Likewise.
10641         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
10642         * varasm.c (struct rtx_const): Reduce vector size; separate
10643         integer and fp vectors.
10644         (HASHBITS): Remove.
10645         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
10646         take modulus MAX_HASH_TABLE.
10647         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
10648         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
10649         (SYMHASH): Don't use HASHBITS.
10650         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
10651         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
10652         (simplify_subtraction): Fix kind comparison.
10653         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
10654         Use a union to pun integer array.
10655         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
10656         only hash two words of integral CONST_DOUBLE.
10657
10658 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
10659
10660         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
10661         (STARTFILE_PREFIX_SPEC): New.
10662         (LINK_SPEC): Modify.
10663         (LIB_SPEC): Modify.
10664         (LIBGCC_SPEC): New.
10665
10666 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
10667
10668         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
10669         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
10670
10671 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
10672
10673         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
10674         Add clobber of the condition code register.
10675
10676 2002-09-20  Richard Henderson  <rth@redhat.com>
10677
10678         * real.c (do_fix_trunc): Static.
10679         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
10680         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
10681         encode_i370_single, encode_i370_double, encode_c4x_single,
10682         encode_c4x_extended): Add default abort case.
10683
10684 2002-09-20  Richard Henderson  <rth@redhat.com>
10685
10686         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
10687         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
10688         (struct realvaluetype): Remove.
10689         (REAL_VALUE_TYPE): Use struct real_value.
10690         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
10691         (test_real_width): New.
10692         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
10693         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
10694         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
10695         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
10696         real_to_integer, real_to_integer2, real_to_decimal,
10697         real_to_hexadecimal, real_from_string, real_from_integer,
10698         real_inf, real_nan, real_2expN, real_convert, real_to_target,
10699         real_from_target): Likewise.
10700         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
10701         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
10702
10703 2002-09-20  Richard Henderson  <rth@redhat.com>
10704
10705         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
10706         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
10707         * defaults.h: ... here.
10708         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
10709         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
10710         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
10711         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
10712
10713 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
10714
10715         * config/mmix/mmix.md ("negdf2"): Rewrite.
10716         ("*expanded_negdf2"): New.
10717
10718 2002-09-19  Jim Wilson  <wilson@redhat.com>
10719
10720         * combine.c (simplify_set): When optimizing a subreg src with a
10721         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
10722
10723 2002-09-19  Dale Johannesen <dalej@apple.com>
10724         * combine.c (make_extraction): Don't create
10725         invalid subreg.
10726
10727 2002-09-19  Roger Sayle  <roger@eyesopen.com>
10728
10729         * tree.c (integer_nonzerop): New predicate for nonzero integers.
10730         * tree.h (integer_nonzerop): Add function prototype.
10731         * stmt.c (expand_end_loop):  Don't rotate the loop when there
10732         are no instructions in the test, i.e. the loop is unconditional.
10733         (expand_exit_loop_if_false):  Optimize RTL generation of loop
10734         tests when the condition is always true or always false.
10735         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
10736         do-loops when the condition is always true.
10737         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
10738         the for-expression is empty.
10739
10740 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
10741
10742         * gcc.c (use_pipes): New flag.
10743         (process_command): Set it.  Adjust check for -pipe conflicting
10744         with -time or -save-temps.
10745         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
10746         %<SWITCH.  Drop %| (without a SUFFIX).
10747         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
10748         (give_switch): Third argument eliminated.
10749         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
10750         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
10751         (specs documentation comment): Update.
10752
10753         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
10754         config/svr4.h, config/i386/freebsd-aout.h,
10755         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
10756         config/m68k/openbsd.h, config/mips/openbsd.h,
10757         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
10758         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
10759         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
10760         * config/cris/cris.h: Update comment.
10761
10762         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
10763         error messages.  Don't use %{^SWITCH}.
10764         * ada/misc.c (gnat_decode_option): Handle -I with a
10765         separate argument.
10766
10767         * f/lang-specs.h: Use %| and %m.
10768         * java/jvspec.c: Use %m and %(invoke_as).  Change all
10769         uses of %{<SWITCH} to %<SWITCH.
10770
10771         * doc/invoke.texi: Update documentation of specs.
10772         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
10773
10774 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
10775
10776         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
10777         and STRICT_LOW_PART within SET_DEST.
10778         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
10779         splitters, replacing pre-reload splitters.
10780         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
10781         "*zero_extendqihi2_31"): New insns.
10782         ("*zero_extendqihi2_64"): Do not clobber CC.
10783
10784 2002-09-18  Devang Patel  <dpatel@apple.com>
10785
10786         * cp/cp-tree.h: New prototype for walk_vtables().
10787         * cp/decl.c (walk_vtables_r): New function.
10788         (struct cp_binding_level): Add new members, namespaces,
10789         names_size and vtables.
10790         (add_decl_to_level): Add decl in namespaces or vtables
10791         chain, if conditions match.
10792         (walk_vtables): New function.
10793         (walk_namespaces_r): Travers separate namespace chain
10794         for namespace decls.
10795         (wrapup_globals_for_namespace): Use names_size instead
10796         of list_length().
10797         * cp/decl2.c (finish_file): Use walk_vtables() instead of
10798         walk_globals() to walk vtable decls.
10799
10800 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
10801
10802         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
10803         (DTORS_SECTION_ASM_OP): Ditto.
10804         (READONLY_DATA_SECTION_ASM_OP): Moved.
10805         (DATA_SECTION_ASM_OP): New.
10806         (SDATA_SECTION_ASM_OP): New.
10807         (BSS_SECTION_ASM_OP): New.
10808         (SBSS_SECTION_ASM_OP): New.
10809         (TEXT_SECTION_ASM_OP): New.
10810
10811 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
10812
10813         * config/fp-bit.c: Follow spelling conventions.
10814         * config/d30v/d30v.c: Likewise.
10815         * config/d30v/d30v.h: Likewise.
10816         * config/fr30/fr30.c: Likewise.
10817         * config/fr30/fr30.h: Likewise.
10818         * config/fr30/fr30.md: Likewise.
10819         * config/frv/frv.c: Likewise.
10820         * config/frv/frv.h: Likewise.
10821         * config/h8300/h8300.c: Likewise.
10822         * config/h8300/lib1funcs.asm: Likewise.
10823         * config/i370/i370.c: Likewise.
10824         * config/i386/i386.h: Likewise.
10825         * config/i386/i386.md: Likewise.
10826         * config/i386/pentium.md: Likewise.
10827         * config/i386/winnt.c: Likewise.
10828         * config/i960/i960.c: Likewise.
10829         * config/ia64/ia64.h: Likewise.
10830         * config/ip2k/ip2k.c: Likewise.
10831         * config/ip2k/ip2k.h: Likewise.
10832         * config/ip2k/ip2k.md: Likewise.
10833         * config/ip2k/libgcc.S: Likewise.
10834
10835 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
10836
10837         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
10838         (GOTOFF_P): Extend to allow gotoff plus constant.
10839
10840 2002-09-18  Richard Henderson  <rth@redhat.com>
10841
10842         * ifcvt.c (noce_process_if_block): Correctly detect X modified
10843         with INSN_B before COND_EARLIEST.  Don't check A and B for
10844         modification in condition range.  Reorder INSN_B for A==B properly.
10845         (if_convert): Iterate until no matches for a block.
10846
10847 2002-09-18  Richard Henderson  <rth@redhat.com>
10848
10849         * calls.c (store_one_arg): Rename default_align to parm_align;
10850         always adjust parm_align for downward padding.
10851
10852 2002-09-18  Richard Henderson  <rth@redhat.com>
10853
10854         * toplev.c (backend_init): Move init_real_once invocation ...
10855         (do_compile): ... here.
10856
10857 2002-09-18  Richard Henderson  <rth@redhat.com>
10858
10859         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
10860         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
10861
10862 2002-09-18  Richard Henderson  <rth@redhat.com>
10863
10864         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
10865
10866 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
10867
10868         * config/rs6000/rs6000.md: (floatdisf2): Rename to
10869         floatdisf2_internal1.
10870         (floatdisf2): New define_expand.
10871         (floatdisf2_internal2): Likewise.
10872
10873 2002-09-18  Richard Henderson  <rth@redhat.com>
10874
10875         * real.c (sticky_rshift_significand): Collect sticky as
10876         unsigned long, not bool.
10877
10878 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
10879
10880         * config/s390/s390.c (s390_address_cost): New function.
10881         config/s390/s390-protos.h (s390_address_cost): Add prototype.
10882         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
10883         (RTX_COST): Use COSTS_N_INSNS.
10884
10885 2002-09-18  Douglas Rupp  <rupp@gnat.com>
10886             Donn Terry  <donnte@microsoft.com>
10887
10888         * stor-layout.c (place_field): Handle alignment of whole
10889         structures when MSVC compatible bitfields are involved.
10890         Change method of computing location of MS bitfields to
10891         be compatible with #pragma pack(n).
10892
10893         * tree.h (record_layout_info): Add new field
10894         remaining_in_alignment.
10895
10896         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
10897         (pragma pack): Add paragraph on MSVC bitfield packing.
10898
10899 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
10900
10901         PR optimization/7967
10902         * arm.md (ne_zeroextractsi): Add clobber of the condition code
10903         register.
10904
10905 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
10906
10907         * config/s390/s390.c: Follow spelling conventions.
10908         * config/sh/lib1funcs.asm: Likewise.
10909         * config/sh/sh.c: Likewise.
10910         * config/sh/sh.h: Likewise.
10911         * config/sparc/sparc.c: Likewise.
10912         * config/sparc/sparc.h: Likewise.
10913         * config/sparc/sparc.md: Likewise.
10914         * config/stormy16/stormy16.c: Likewise.
10915         * config/stormy16/stormy16.h: Likewise.
10916         * config/v850/v850.c: Likewise.
10917         * config/v850/v850.h: Likewise.
10918         * config/vax/vax.c: Likewise.
10919         * config/vax/vax.h: Likewise.
10920
10921 2002-09-18  Nick Clifton  <nickc@redhat.com>
10922
10923         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
10924         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
10925         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
10926
10927 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10928
10929         * function.c (max_parm_reg_num): Remove.
10930         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
10931         drop_through_at_end_p, move_cleanups_up,
10932         expand_end_case_dummy, case_index_expr_type): Likewise.
10933         * stor-layout.c (pos_from_byte): Likewise.
10934         * tree.c (chain_member_value, chain_member_purpose, listify,
10935         tree_int_cst_msb, index_type_equal): Likewise.
10936         * tree.h: Remove prototypes for unused functions.
10937
10938 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
10939
10940         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
10941         statement that the only translation is to en_UK.
10942
10943 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10944
10945         * config/alpha/alpha.c: Follow spelling conventions.
10946         * config/alpha/alpha.h: Likewise.
10947         * config/alpha/alpha.md: Likewise.
10948         * config/arc/arc.h: Likewise.
10949         * config/arm/arm.c: Likewise.
10950         * config/arm/arm.h: Likewise.
10951         * config/arm/arm.md: Likewise.
10952         * config/arm/pe.c: Likewise.
10953         * config/arm/unknown-elf.h: Likewise.
10954         * config/avr/avr.c: Likewise.
10955         * config/avr/avr.h: Likewise.
10956         * config/c4x/c4x.c: Likewise.
10957         * config/cris/cris.c: Likewise.
10958         * config/cris/cris.h: Likewise.
10959
10960 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
10961
10962         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
10963         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
10964         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
10965
10966 2002-09-17  Dale Johannesen  <dalej@apple.com>
10967
10968         * cfgcleanup.c (try_forward_edges):  Do not forward a
10969         branch to just after a loop exit before loop optimization;
10970         this interfered with doloop detection.
10971
10972 2002-09-17  Nick Clifton  <nickc@redhat.com>
10973
10974         * config/arm/arm.c (output_return_instruction): Do not
10975         writeback the stack pointer when it is being loaded.
10976         (arm_output_epilogue): Likewise.
10977
10978 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
10979
10980         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
10981         generate a pseudo reg that receives the result of a libcall.
10982         (prepare_float_lib_cmp): Likewise.
10983
10984 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
10985
10986         * config/ia64/elf.h: Remove CPP_PREDEFINES.
10987
10988 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10989
10990         Fix PR/7014 and related objc bugs:
10991         * c-typeck.c (comp_target_types): Added a reflexive argument.
10992         Pass it to ObjC when/if calling objc_comptypes().  Updated all
10993         callers to provide the appropriate reflexive argument.
10994         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
10995         typechecking for all cases of comparisons and assignments,
10996         particularly the obscure and less common ones involving protocols.
10997
10998 2002-09-17  Nick Clifton  <nickc@redhat.com>
10999
11000         * machmode.def (V1DImode): New mode.  A single element vector.
11001         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
11002         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
11003         * tree.c (build_common_tree_nodes_2): Build
11004         unsigned_V1DI_type_node and V1D1_type_node.
11005         * c-common.c (c_common_type_for_mode): Return
11006         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
11007         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
11008
11009 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11010
11011         * doc/objc.texi (Constant string objects): Extended documentation
11012         to make clear that the constant string class ivar layout is
11013         completely fixed.
11014
11015 2002-09-17  Roger Sayle  <roger@eyesopen.com>
11016
11017         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
11018         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
11019
11020 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11021
11022         * config/mips/mips.c (save_restore_insns): Remove unused variable.
11023         * gcc.c (make_relative_prefix): Likewise.
11024         * loop.c (check_final_value): Likewise.
11025         * jump.c (init_label_info): Remove return value.
11026         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
11027
11028 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11029
11030         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
11031         (ASM_PN_FORMAT): Define.
11032
11033 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11034
11035         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
11036         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
11037         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
11038         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
11039         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
11040         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
11041         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
11042         Delete.
11043         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
11044         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
11045         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
11046
11047         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
11048         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
11049
11050 2002-09-16  Richard Henderson  <rth@redhat.com>
11051
11052         * expr.c (emit_block_move): Set memory block size as appropriate
11053         for the copy.
11054
11055 2002-09-16  Richard Henderson  <rth@redhat.com>
11056
11057         PR fortran/3924
11058         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
11059
11060 2002-09-16  Richard Henderson  <rth@redhat.com>
11061
11062         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
11063         as well as OFFSET for BITPOS.
11064
11065 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
11066
11067         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
11068         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
11069         winchip2 and c3.
11070         * doc/invoke.texi: Mention new aliases.
11071
11072 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11073
11074         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
11075         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
11076         downward.
11077         * function.c (pad_below):  Always compile.
11078         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
11079         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
11080         Pad below when the argument is not in a register and the padding
11081         direction is downward.
11082
11083         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
11084         (PAD_VARARGS_DOWN): Define.
11085         * pa.c (function_arg_padding): Revise padding directions to make them
11086         compatible with the 32 and 64-bit runtime architecture documentation.
11087         (hppa_va_arg):  Add code to handle variable and size zero arguments
11088         passed by reference on TARGET_64BIT.  Reformat.
11089         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
11090         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
11091         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
11092         Add comments.
11093         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
11094         (RETURN_IN_MEMORY): Return size zero types in memory.
11095         (FUNCTION_VALUE): Return TFmode in general registers.
11096         (MUST_PASS_IN_STACK): Define.
11097         (FUNCTION_ARG_BOUNDARY): Simplify.
11098         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
11099         by reference.
11100         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
11101
11102 2002-09-16  Richard Henderson  <rth@redhat.com>
11103
11104         * real.c (do_fix_trunc): New.
11105         (real_arithmetic): Call it.
11106         * simplify-rtx.c (simplify_unary_operation): Handle FIX
11107         with a floating-point result mode.
11108
11109 2002-09-16  Richard Henderson  <rth@redhat.com>
11110
11111         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
11112         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
11113         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
11114         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
11115         * builtins.c (fold_builtin_nan): New.
11116         (fold_builtin): Call it.
11117         * real.c (real_nan): Parse a non-empty string.
11118         (round_for_format): Fix NaN significand truncation.
11119         * real.h (real_nan): Return bool.
11120         * doc/extend.texi: Document new builtins.
11121
11122 2002-09-16  Jason Merrill  <jason@redhat.com>
11123             Danny Smith  <dannysmith@users.sourceforge.net>
11124
11125         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
11126         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
11127         (i386_pe_mark_dllimport): Not here.
11128
11129 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
11130
11131         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
11132
11133 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
11134
11135         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
11136         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
11137         < 64.
11138         (rs6000_emit_cmove): Use real_isinf not target_isinf.
11139
11140 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
11141
11142         * calls.c (emit_library_call_value_1): Don't refer to
11143         hard_libcall_value.
11144         * optabs.c (prepare_float_lib_cmp): Likewise.
11145
11146 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
11147
11148         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
11149         mangling.
11150
11151         The following changes are merged from pch-branch:
11152
11153         * doc/gty.texi (GTY Options): Document %a.
11154         * gengtype.c (do_scalar_typedef): New function.
11155         (process_gc_options): Handle `length' option.
11156         (set_gc_used_type): A pointer to an array of structures doesn't
11157         qualify as a pointer to a structure.
11158         (output_escaped_param): Add `%a' escape.
11159         (write_gc_structure_fields): Allow 'desc' on array of unions.
11160         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
11161         do_scalar_typedef.
11162
11163         * gengtype.c (enum rtx_code): Make global.
11164         (rtx_format): Make global.
11165         (rtx_next): New.
11166         (gen_rtx_next): New.
11167         (write_rtx_next): New.
11168         (adjust_field_rtx_def): Skip fields marked by chain_next.
11169         (open_base_files): Delete redundant prototype.
11170         (write_enum_defn): New.
11171         (output_mangled_typename): Correct abort call.
11172         (write_gc_marker_routine_for_structure): Handle chain_next and
11173         chain_prev options.
11174         (finish_root_table): Don't output redundant \n.
11175         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
11176         * c-tree.h (union lang_tree_node): Add chain_next option.
11177
11178         * gengtype.h (NUM_PARAM): New definition.
11179         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
11180         * gengtype.c (find_param_structure): New.
11181         (adjust_field_type): Handle param<n>_is option.
11182         (process_gc_options): Detect use_params option.  Update callers.
11183         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
11184         'use_params' option.
11185         (open_base_files): Add splay-tree.h to list of files included.
11186         (output_mangled_typename): New.
11187         (write_gc_structure_fields): Update 'param' parameter to support
11188         multiple parameters.  Change name mangling.  Allow parameterized
11189         fields to have an apparent scalar type.  Handle param<n>_is options,
11190         use_param option.
11191         (write_gc_marker_routine_for_structure): Update for change to name
11192         mangling.  Better guess the output file for parameterized types.
11193         (write_gc_types): Update for change to name mangling.
11194         (write_gc_root): Update for change to name mangling.  Handle (ignore)
11195         param<n>_is options.
11196         * doc/gty.texi (GTY Options): Add description of param<n>_is
11197         options, use_params option.
11198         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
11199         * gengtype-lex.l: Produce token for param<n>_is.
11200         * gengtype-yacc.y: Parse param<n>_is.
11201
11202         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
11203
11204         * rtl.c: Update comment describing rtx_format.
11205         * rtl.h (union rtunion): Separate definition and typedef.
11206         (struct rtx_def): Use gengtype to mark.
11207         * Makefile.in (gengtype.o): Also depend on rtl.def.
11208         * ggc.h (ggc_mark_rtx_children): Delete prototype.
11209         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
11210         * ggc-common.c (ggc_mark_rtx_children): Delete.
11211         (ggc_mark_rtx_children_1): Delete.
11212         (gt_ggc_m_rtx_def): Delete.
11213         * gengtype.c (adjust_field_rtx_def): New.
11214         (adjust_field_type): Call adjust_field_rtx_def.
11215         (write_gc_structure_fields): Add 'default' case to switch if none
11216         is specified; remove unused code.
11217
11218         * tree.h (struct tree_exp): Update for change to meaning
11219         of special.
11220         * gengtype.c (adjust_field_tree_exp): New function.
11221         (adjust_field_type): Handle `tree_exp' special here.
11222         (write_gc_structure_fields): Don't handle `tree_exp' special here.
11223         Handle new `dot' option.
11224
11225         * gengtype.h: Make `info' a pointer-to-const.
11226         * gengtype-yacc.y (yacc_ids): Use xasprintf.
11227
11228         * gengtype.c (write_gc_structure_fields): Remove implementation
11229         of `always' option, add `default' option.
11230         * doc/gty.texi (GTY Options): Remove documentation of `always',
11231         add `default'.
11232
11233 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
11234
11235         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
11236
11237 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11238
11239         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
11240
11241         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
11242         instead of the *-protos.h file directly.
11243         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
11244         * darwin.c (machopic_output_stub): Move prototype ...
11245         * darwin-protos.h (machopic_output_stub): ... here.
11246         * rs6000-protos.h (machopic_output_stub): Don't declare.
11247
11248 2002-09-16  Richard Henderson  <rth@redhat.com>
11249
11250         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
11251
11252 2002-09-16  Richard Henderson  <rth@redhat.com>
11253
11254         * real.c, real.h: Rewrite from scratch.
11255
11256         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
11257         (paranoia): New target.
11258         * builtins.c (fold_builtin_inf): Use new real.h interface.
11259         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
11260         * c-lex.c (interpret_float): Likewise.
11261         * emit-rtl.c (gen_lowpart_common): Likewise.
11262         * optabs.c (expand_float): Use real_2expN.
11263         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
11264         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
11265         (FLOAT_WORDS_BIG_ENDIAN): New.
11266         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
11267         directly to REAL_VALUE_NEGATIVE.
11268         * loop.c (canonicalize_condition): Likewise.
11269         * simplify-rtx.c: Include tree.h.
11270         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
11271         with floating-point result modes.
11272         * toplev.c (backend_init): Call init_real_once.
11273
11274         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
11275         * tree.c (build_real): Likewise.
11276         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
11277         float_values, inited_float_values, check_float_value): Remove.
11278         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
11279         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
11280         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
11281         (VAX_HALFWORD_ORDER): Remove.
11282
11283 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
11284
11285         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
11286         (s390_load_address): ... this new function.
11287         (s390_decompose_address): Allow the argument pointer and all
11288         virtual registers as 'pointer' registers.
11289         (s390_expand_plus_operand): Use s390_load_address.
11290         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
11291         ("force_la_31"): New insn pattern.
11292         config/s390/s390-protos.h (legitimize_la_operand): Remove.
11293         (s390_load_address): Add prototype.
11294
11295         * config/s390/s390.c: Include "optabs.h".
11296         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
11297         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
11298         s390_expand_cmpstr): Add prototypes.
11299         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
11300         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
11301         for operands 0 and 1 to "memory_operand".  Add type attribute.
11302         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
11303         for operands 0 and 1 to "memory_operand".  Add type attribute.
11304         ("movstrdi_long", "movstrsi_long"): Remove.
11305         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
11306         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
11307         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
11308         ("clrstrsico"): Remove, replace by ...
11309         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
11310         ("clrstrsi_64"): Rename to "clrstr_long_64".
11311         ("clrstrsi_31"): Rename to "clrstr_long_31".
11312         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
11313         ("cmpstr_const"): Remove, replace by ...
11314         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
11315         ("cmpstr_64"): Rename to "cmpstr_long_64".
11316         ("cmpstr_31"): Rename to "cmpstr_long_31".
11317
11318 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
11319
11320         * ABOUT-NLS: Follow spelling conventions.
11321         * ChangeLog: Likewise.
11322         * ChangeLog.1: Likewise.
11323         * ChangeLog.2: Likewise.
11324         * ChangeLog.3: Likewise.
11325         * ChangeLog.4: Likewise.
11326         * ChangeLog.5: Likewise.
11327         * ChangeLog.6: Likewise.
11328         * FSFChangeLog.10: Likewise.
11329         * FSFChangeLog.11: Likewise.
11330         * c-common.c: Likewise.
11331         * c-lex.c: Likewise.
11332         * c-objc-common.c: Likewise.
11333         * cppexp.c: Likewise.
11334         * cppinit.c: Likewise.
11335         * cpplex.c: Likewise.
11336         * doloop.c: Likewise.
11337         * flow.c: Likewise.
11338         * function.c: Likewise.
11339         * integrate.c: Likewise.
11340         * loop.c: Likewise.
11341         * reg-stack.c: Likewise.
11342         * reload.h: Likewise.
11343         * ssa.c: Likewise.
11344
11345 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11346
11347         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
11348         * vmsdbgout.c: Include "target.h".
11349
11350 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
11351
11352         * ChangeLog: Follow spelling conventions.
11353         * ChangeLog.0: Likewise.
11354         * ChangeLog.1: Likewise.
11355         * ChangeLog.2: Likewise.
11356         * ChangeLog.4: Likewise.
11357         * ChangeLog.6: Likewise.
11358         * config.gcc: Likewise.
11359         * dwarfout.c: Likewise.
11360         * reload1.c: Likewise.
11361         * simplify-rtx.c: Likewise.
11362         * unwind-sjlj.c: Likewise.
11363         * config/avr/avr.h: Likewise.
11364         * config/d30v/d30v.h: Likewise.
11365         * config/frv/frv.c: Likewise.
11366         * config/frv/frv.h: Likewise.
11367         * config/ip2k/ip2k.h: Likewise.
11368         * config/m88k/m88k-move.sh: Likewise.
11369         * config/stormy16/stormy16.c: Likewise.
11370         * config/stormy16/stormy16.h: Likewise.
11371         * doc/extend.texi: Likewise.
11372         * doc/interface.texi: Likewise.
11373         * doc/invoke.texi: Likewise.
11374         * doc/md.texi: Likewise.
11375         * doc/rtl.texi: Likewise.
11376         * doc/tm.texi: Likewise.
11377         * doc/trouble.texi: Likewise.
11378         * ginclude/float.h: Likewise.
11379         * treelang/treelang.texi: Likewise.
11380
11381 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11382
11383         * i386-protos.h (i386_pe_dllexport_name_p,
11384         i386_pe_dllimport_name_p, i386_pe_unique_section,
11385         i386_pe_declare_function_type, i386_pe_record_external_function,
11386         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
11387         prototype.
11388         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
11389         * i386/t-interix (winnt.o): Likewise.
11390
11391         * v850-protos.h (v850_output_addr_const_extra): Prototype.
11392
11393 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
11394
11395         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
11396         MIPS ABI CPP macros.
11397         (TARGET_CPU_CPP_BUILTINS): Redefine.
11398         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
11399         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
11400
11401 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11402
11403         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
11404
11405 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
11406
11407         * ChangeLog: Follow spelling conventions.
11408         * ChangeLog.0: Likewise.
11409         * ChangeLog.1: Likewise.
11410         * ChangeLog.2: Likewise.
11411         * ChangeLog.3: Likewise.
11412         * ChangeLog.4: Likewise.
11413         * ChangeLog.5: Likewise.
11414         * ChangeLog.6: Likewise.
11415         * FSFChangeLog.10: Likewise.
11416         * FSFChangeLog.11: Likewise.
11417         * c-common.c: Likewise.
11418         * c-common.h: Likewise.
11419         * c-format.c: Likewise.
11420         * c-opts.c: Likewise.
11421         * cpplib.c: Likewise.
11422         * langhooks.h: Likewise.
11423         * real.c: Likewise.
11424         * reg-stack.c: Likewise.
11425         * toplev.c: Likewise.
11426         * config/arm/arm.c: Likewise.
11427         * config/arm/arm.md: Likewise.
11428         * config/arm/linux-gas.h: Likewise.
11429         * config/arm/netbsd.h: Likewise.
11430         * config/c4x/c4x.c: Likewise.
11431         * config/c4x/c4x.h: Likewise.
11432         * config/c4x/c4x.md: Likewise.
11433         * config/c4x/libgcc.S: Likewise.
11434         * config/fr30/fr30.md: Likewise.
11435         * config/frv/frv.md: Likewise.
11436         * config/ia64/ia64.md: Likewise.
11437         * config/mips/mips.h: Likewise.
11438         * config/mn10300/mn10300.c: Likewise.
11439         * config/stormy16/stormy16.c: Likewise.
11440         * config/v850/v850.md: Likewise.
11441         * doc/extend.texi: Likewise.
11442         * doc/invoke.texi: Likewise.
11443         * doc/md.texi: Likewise.
11444
11445 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
11446
11447         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
11448         library if -pthread is specified.
11449
11450 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
11451
11452         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
11453         for --enable-threads=yes and --enable-threads=posix.
11454
11455 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
11456
11457         * config/sparc/cypress.md: Replace Sparc with SPARC.
11458         * config/sparc/freebsd.h: Likewise.
11459         * config/sparc/gmon-sol2.c: Likewise.
11460         * config/sparc/hypersparc.md: Likewise.
11461         * config/sparc/lb1spc.asm: Likewise.
11462         * config/sparc/lb1spl.asm: Likewise.
11463         * config/sparc/linux.h: Likewise.
11464         * config/sparc/linux64.h: Likewise.
11465         * config/sparc/lynx.h: Likewise.
11466         * config/sparc/sol2.h: Likewise.
11467         * config/sparc/sparc-modes.def: Likewise.
11468         * config/sparc/sparc.c: Likewise.
11469         * config/sparc/sparc.h: Likewise.
11470         * config/sparc/sparc.md: Likewise.
11471         * config/sparc/sparclet.md: Likewise.
11472         * config/sparc/supersparc.md: Likewise.
11473         * config/sparc/sysv4.h: Likewise.
11474         * config/sparc/vxsim.h: Likewise.
11475         * config/sparc/vxsparc64.h: Likewise.
11476
11477 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11478
11479         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
11480         * collect2.c (ignore_library, aix_std_libs): Move into the context
11481         where it is used.
11482         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
11483         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
11484         * m88k.c (output_call): Wrap variables with macro controlling use.
11485         * rs6000.md: Likewise.  Const-ify variable.
11486         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
11487         * final.c (only_leaf_regs_used): Likewise.
11488         * regrename.c (maybe_mode_change): Mark parameter with
11489         ATTRIBUTE_UNUSED.
11490         * reload.c (find_valid_class): Likewise.  Likewise for variable.
11491         (find_reloads_address_1): Likewise.
11492         * varasm.c (weak_finish): Wrap variable with macro controlling use.
11493
11494 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
11495
11496         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
11497
11498 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
11499
11500         * ChangeLog: Follow spelling conventions.
11501         * ChangeLog.0: Likewise.
11502         * ChangeLog.2: Likewise.
11503         * ChangeLog.3: Likewise.
11504         * ChangeLog.4: Likewise.
11505         * ChangeLog.5: Likewise.
11506         * ChangeLog.6: Likewise.
11507         * cppfiles.c: Likewise.
11508         * cppinit.c: Likewise.
11509         * cpplib.h: Likewise.
11510         * cse.c: Likewise.
11511         * debug.h: Likewise.
11512         * df.c: Likewise.
11513         * dominance.c: Likewise.
11514         * hashtable.c: Likewise.
11515         * hashtable.h: Likewise.
11516         * loop.c: Likewise.
11517         * config/arm/README-interworking: Likewise.
11518         * config/arm/arm.c: Likewise.
11519         * config/arm/arm.h: Likewise.
11520         * config/arm/arm.md: Likewise.
11521         * config/dsp16xx/dsp16xx.h: Likewise.
11522         * config/frv/frv.c: Likewise.
11523         * config/frv/frv.h: Likewise.
11524         * config/ip2k/ip2k.h: Likewise.
11525         * config/rs6000/rs6000.c: Likewise.
11526         * config/stormy16/stormy-abi: Likewise.
11527         * config/stormy16/stormy16.h: Likewise.
11528         * config/v850/v850.c: Likewise.
11529
11530 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
11531
11532         * loop.c: Fix a comment typo.
11533
11534 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
11535
11536         * config/fr30/fr30.h: Fix comment typos.
11537         * config/frv/frv.c: Likewise.
11538         * config/i386/xmmintrin.h: Likewise.
11539         * config/mips/mips.c: Likewise.
11540         * config/sh/sh.c: Likewise.
11541
11542 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
11543
11544         * haifa-sched.c: Follow spelling conventions.
11545         * regclass.c: Likewise.
11546         * regrename.c: Likewise.
11547         * config/fp-bit.c: Likewise.
11548         * config/frv/frv.h: Likewise.
11549         * config/m88k/m88k.c: Likewise.
11550         * config/mcore/mcore.c: Likewise.
11551         * config/rs6000/darwin.h: Likewise.
11552         * config/rs6000/gnu.h: Likewise.
11553         * config/rs6000/linux.h: Likewise.
11554         * config/rs6000/linux64.h: Likewise.
11555         * config/rs6000/rs6000.c: Likewise.
11556         * config/rs6000/rs6000.h: Likewise.
11557         * config/sh/sh.c: Likewise.
11558         * config/sparc/sparc.c: Likewise.
11559         * config/sparc/ultra1_2.md: Likewise.
11560
11561 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
11562
11563         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
11564         memory operand when source is 0 (K constraint).
11565         ("movsi_internal"): Likewise.
11566         ("movdf_internal"): Likewise.
11567         ("movsf_internal"): Likewise.
11568
11569 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
11570
11571         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
11572         targetm.binds_local_p to set SYMBOL_REF_FLAG.
11573         (rs6000_xcoff_encode_section_info): Likewise.
11574         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11575
11576 2002-09-10  Theodore A. Roth  <troth@verinet.com>
11577
11578         * gcc/config/avr/avr.h: Set default options for C++ for avr.
11579
11580 2002-09-13  Roger Sayle  <roger@eyesopen.com>
11581
11582         * stmt.c (struct nexting): Remove unused alt_end_label field.
11583         (expand_start_loop): Delete initialization of alt_end_label.
11584         (expand_start_null_loop): Likewise.
11585         (expand_exit_loop_if_false): Delete updating of alt_end_label.
11586
11587 2002-09-13  Richard Henderson  <rth@redhat.com>
11588
11589         * Makefile.in (toplev.o): Depend on real.h.
11590         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
11591
11592 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
11593
11594         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
11595         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
11596         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
11597
11598 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
11599
11600         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
11601
11602 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
11603
11604         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
11605         ia64*-*-linux*): Set extra_parts.
11606         * config/ia64/t-aix (EXTRA_PARTS): Remove.
11607         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
11608
11609 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
11610
11611         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
11612         * config/h8300/h8300.c: Likewise.
11613         * config/h8300/h8300.h: Likewise.
11614         * config/h8300/h8300.md: Likewise.
11615         * doc/invoke.texi: Likewise.
11616
11617 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
11618
11619         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
11620
11621 2002-09-13  Richard Henderson  <rth@redhat.com>
11622
11623         * config/alpha/alpha.md (attr type): Add callpal.
11624         (imb, trap, load_tp, set_tp): Use it.
11625         * config/alpha/ev4.md (ev4_callpal): New.
11626         * config/alpha/ev5.md (ev5_callpal): New.
11627         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
11628         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
11629         (alphaev5_insn_pipe): Likewise.
11630
11631 2002-09-13  Andreas Jaeger  <aj@suse.de>
11632
11633         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
11634
11635 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
11636
11637         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
11638         LIB2ADDEH): New, set to NULL.
11639         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
11640
11641 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
11642
11643         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
11644         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
11645         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
11646         Add declarations.
11647         (_U_Qfneg): Remove.
11648
11649 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
11650
11651         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
11652         for H8/300, H8S aa:8 mode.
11653         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
11654         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
11655         for H8/300 aa:8 mode.
11656
11657 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
11658
11659         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
11660         insns.
11661
11662 2002-09-12  Richard Henderson  <rth@redhat.com>
11663
11664         * Makefile.in (HOST_PRINT): Use print-rtl1.o
11665         (print-rtl.o): Don't define GENERATOR_FILE.
11666         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
11667         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
11668         unless GENERATOR_FILE.
11669
11670 2002-09-12  Stan Shebs  <shebs@apple.com>
11671
11672         * config/darwin.h (USER_LABEL_PREFIX): Define here...
11673         * config/i386/darwin.h: ... instead of here.
11674
11675         * target.h (struct gcc_target): New field
11676         terminate_dw2_eh_frame_info.
11677         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11678         (TARGET_INITIALIZER): Add it.
11679         * dwarf2out.c (output_call_frame_info): Use target hook.
11680         * dwarf2asm.c (dw2_asm_output_delta): Use macro
11681         ASM_OUTPUT_DWARF_DELTA if defined.
11682         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
11683         (ASM_OUTPUT_DWARF_DELTA): Ditto.
11684         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
11685         (ASM_OUTPUT_DWARF_PCREL): Ditto.
11686         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
11687         (powerpc-*-darwin*): Ditto.
11688         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
11689         to work correctly for Darwin.
11690         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
11691         (STARTFILE_SPEC): Add crtbegin.o.
11692         (ENDFILE_SPEC): Define.
11693         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
11694         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
11695         (ASM_OUTPUT_DWARF_DELTA): Define.
11696         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
11697         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
11698
11699 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
11700
11701         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
11702         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
11703         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
11704
11705 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
11706
11707         * toplev.c: Move default definition of USER_LABEL_PREFIX...
11708         * defaults.h: ... here.
11709
11710 2002-09-12  Richard Henderson  <rth@redhat.com>
11711
11712         * vax.c: Include tree.h earlier.
11713
11714 2002-09-12  Stan Shebs  <shebs@apple.com>
11715
11716         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
11717         (machopic_operand_p): Ditto.
11718
11719 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11720
11721         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11722         Fix a comment typo.
11723
11724 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11725
11726         * toplev.c (do_abort): Fix a comment typo.
11727
11728 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11729
11730         * cselib.c: Fix comment formatting.
11731         * gengtype.c: Likewise.
11732
11733 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
11734
11735         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
11736         (udivmodhi4): Likewise.
11737
11738 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
11739             Roger Sayle  <roger@eyesopen.com>
11740
11741         * i386.c (any_fp_register_operand, fp_register_operand,
11742         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
11743         New predicate functions.
11744         * i386-protos.h:  Add their prototypes.
11745         * i386.h: Add them to PREDICATE_CODES.
11746         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
11747         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
11748         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
11749         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
11750         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
11751         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
11752         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
11753         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
11754         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
11755         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
11756         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
11757         Use these new predicates to simplify and correct the use of
11758         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
11759
11760 2002-09-12  Jason Merrill  <jason@redhat.com>
11761
11762         * diagnostic.c (output_add_identifier): New fn.
11763         * diagnostic.h: Declare it.
11764
11765         * calls.c (store_one_arg): Use size_in_bytes to determine the
11766         amount of space to push.
11767
11768 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
11769
11770         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
11771
11772 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
11773
11774         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
11775         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
11776         (s390_select_ccmode): Likewise.
11777         (s390_branch_condition_mask): Likewise.
11778         (optimization_options): Do not set flag_branch_on_count.
11779         (s390_split_branches): Handle doloop branches.
11780         (s390_chunkify_pool): Likewise.
11781         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
11782         ("doloop_end"): New expander.
11783         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
11784         associated splitters): New.
11785
11786 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11787
11788         * genattrtab.c (simplify_cond): Remove unused variable(s).
11789         * global.c (record_conflicts): Likewise.
11790         * jump.c (rebuild_jump_labels): Likewise.
11791         * loop.c (scan_loop, check_final_value): Likewise.
11792         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
11793         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
11794         * rtlanal.c (reg_set_p): Likewise.
11795         * stmt.c (expand_asm_operands, expand_decl): Likewise.
11796         * genautomata.c (empty_reserv): Remove.
11797         * loop.c (max_luid): Likewise.
11798         * sched-rgn.c (bitlst_table_size): Likewise.
11799
11800 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
11801
11802         Reimplement gcov format.
11803         * gcov-io.h: Replace.
11804         * gcov.c: Reimplement.
11805         * gcov-iov.c: New file.
11806         * gcov-dump.c: New file.
11807         * libgcc2.c (L_bb): Replace with ...
11808         (L_gcov): ... this.
11809         (struct bb_function_info, struct bb): Remove.
11810         (inhibit_libc): Never inhibit.
11811         (gcov_list, gcov_crc): New static variables.
11812         (gcov_version_mismatch): New static function.
11813         (__bb_exit_func): Renamed to ...
11814         (__gcov_exit): ... here. Made static. Reimplement.
11815         (__gcov_init_func): Rename to ...
11816         (__gcov_init): ... here. Check version, update crc.
11817         (__bb_fork_func): Rename to ...
11818         (__gcov_flush): ... here.
11819         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
11820         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
11821         * calls.c (expand_call): Call __gcov_flush.
11822         * profile.c (bb_file, last_bb_file_name): Remove.
11823         (bbg_file_name): New global variable.
11824         (output_gcov_string): Remove.
11825         (get_exec_counts): Reimplement.
11826         (branch_prob): Reimplement gcov file writing.
11827         (init_branch_prob): Create bbg_file_name, don't create
11828         bb_file_name.
11829         (end_branch_prob): Adjust. Don't remove counter file when
11830         instrumenting ourselves.
11831         (create_profiler): Adjust.
11832         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
11833         point to gcov-io.h.
11834         * Makefile.in (LANGUAGES): Add gcov-dump.
11835         (coverageexts): Remove .bb.
11836         (STAGESTUFF): Add gcov-dump.
11837         (LIB2FUNCS_ST): Replace _bb with _gcov.
11838         (profile.o): Depend on gcov-iov.h.
11839         (final.o): Don't depend on profile.h, gcov.h.
11840         (gcov.o): Depend on gcov-iov.h.
11841         (gcov-iov.o): New target.
11842         (gcov-iov): New target.
11843         (gcov-iov.h): New target.
11844         (gcov-dump.o): New target.
11845         (GCOV_DUMP_OBJS): New variable.
11846         (gcov-dump): New target.
11847         (distclean): Remove coverageexts.
11848         (stage1): Remove coverageexts.
11849
11850 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
11851
11852         * fold-const.c (make_range): Only narrow to signed range if
11853         the signed range is smaller than the unsigned range.
11854
11855 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
11856
11857         * emit-rtl.c (set_mem_size): New function.
11858         * expr.h (set_mem_size): Declare.
11859         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
11860         (expand_block_move): Instead, use adjust_address and
11861         replace_equiv_address to generate proper aliasing info.
11862         Move common code out of conditionals.  Localize vars.
11863
11864 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
11865
11866         * optabs.c (expand_binop): Minor cleanup.
11867         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
11868
11869 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
11870
11871         * print-tree.c (print_node): Print the restrict qualifier.
11872
11873 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
11874
11875         * doc/install.texi: Fix typos.
11876
11877 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
11878
11879         * Makefile.in: Remove all references to s-under and underscore.c.
11880         * collect2.c, tlink.c: Change all uses of prepends_underscore
11881         to look directly at USER_LABEL_PREFIX.
11882
11883 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
11884
11885         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
11886         alignment to csect.
11887         (rs6000_xcoff_unique_section): Only set section name for public
11888         data.
11889         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
11890         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
11891         duplicate definition.
11892
11893 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11894
11895         * pa.md (extzv): Check predicates before emitting extzv_32.
11896         (insv): Likewise.
11897
11898 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
11899
11900         * config/s390/s390.h (MOVE_MAX): Define to correct value.
11901         (MAX_MOVE_MAX): Define.
11902         (MOVE_BY_PIECES_P): Define.
11903         (CLEAR_BY_PIECES_P): Define.
11904
11905 2002-09-10  Denis Chertykov  <denisc@overta.ru>
11906
11907         * config/avr/avr.md (movstrhi): Use right operands for conversion.
11908
11909 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
11910
11911         PR c/7873
11912         * arm.md (insv): Use reg_or_int_operand for operand[3].
11913
11914 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
11915
11916         * rs6000.c (rs6000_assemble_visibility): Protect declaration
11917         inside macro.  Correct function definition typo.
11918         (rs6000_xcoff_section_type_flags): New function.
11919         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
11920         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
11921         with appropriate PIC test.
11922         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
11923         determine readonly.
11924         (rs6000_binds_local_p): Combine PIC flags.
11925         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
11926         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
11927
11928 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11929
11930         * h8300.md: Fix signed/unsigned warnings.
11931         * mcore.md: Likewise.
11932         * mn10300.c (mask_ok_for_mem_btst): Likewise.
11933
11934 2002-09-09  Per Bothner  <per@bothner.com>
11935
11936         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
11937         characters, and only print TREE_STRING_LENGTH chars.
11938
11939 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
11940
11941         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
11942         (ASM_FILE_END) New.
11943         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
11944         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
11945         * config/ia64/ia64.c (ia64_asm_output_external): Create list
11946         of external functions if TARGET_HPUX_LD is true.
11947         (ia64_hpux_add_extern_decl): New, routine to put names on
11948         list of external functions.
11949         (ia64_hpux_asm_file_end): Put out declarations for external
11950         functions if and only if they are used.
11951
11952 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11953
11954         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
11955         on TARGET_64BIT before pic register restore.
11956
11957 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
11958
11959         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
11960         (TARGET_HAVE_TLS): New description.
11961
11962 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
11963
11964         * doc/extend.texi (Statement Exprs): Fix broken link.
11965
11966 2002-09-09  Denis Chertykov  <denisc@overta.ru>
11967
11968         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
11969         right conversion of operands[1].
11970
11971 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
11972
11973         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
11974         commutative.  Use "nonimmediate_operand" instead of "register_operand"
11975         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
11976
11977         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
11978         as commutative.
11979
11980         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
11981         mark as commutative.  Use "nonimmediate_operand" instead of
11982         "register_operand" as predicate for operand 1.
11983
11984         ("movstrictsi"): Fix typo in insn name.
11985
11986 2002-09-09  Jan Hubicka  <jh@suse.cz>
11987
11988         * i386.c (index_register_operand): New.
11989         * i386.h (predicate_codes): Add new predicate.
11990         * i386.md (lea_general_*): Use index_register_operand
11991         (ashift to lea splitter): Do not produce invalid leas
11992         (ashift to mov+ashift split): New.
11993
11994 2002-09-09  Nick Clifton  <nickc@redhat.com>
11995
11996         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
11997         Fix folding marks.
11998
11999 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12000             J"orn Rennecke <joern.rennecke@superh.com>
12001
12002         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
12003
12004 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
12005
12006         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
12007         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
12008         attributes.
12009
12010 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
12011
12012         * basic_block.h (gcov_type): Explain why it is signed.
12013         * final.c: Don't include profile.h.
12014         (struct function_list, functions_head, functions_tail,
12015         end_final): Moved to profile.c
12016         (final): Move arc chaining code to profile.c.
12017         * function.c (prepare_function_start): Remove duplicate line.
12018         * output.h (end_final): Remove prototype.
12019         * predict.c (estimate_loops_at_level): Use gcov_type.
12020         * profile.c (struct function_list, functions_head,
12021         functions_tail): Moved from final.c
12022         (need_func_profiler): Remove.
12023         (instrument_edges): Don't set need_func_profiler.
12024         (get_exec_counts): Avoid signed/unsigned warning.
12025         (compute_checksum): Use crc32.
12026         (branch_prob): Adjust. Chain onto functions_head.
12027         (init_branch_prob): Absorb init_edge_profiler.
12028         (init_edge_profiler): Remove.
12029         (create_profiler): Moved and renamed from final.c:end_final.
12030         Emit data and constructor.
12031         (output_func_start_profiler): Remove.
12032         * profile.h (struct profile_info): checksum is unsigned.
12033         * rtl.h (output_func_start_profiler): Remove prototype.
12034         (create_profiler): Declare.
12035         * toplev.c (compile_file): Call create_profiler, if instrumenting
12036         arcs. Don't call end_final.
12037
12038 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12039
12040         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
12041
12042 2002-09-08  Richard Henderson  <rth@redhat.com>
12043
12044         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
12045         (DW_OP_GNU_push_tls_address): New.
12046         (DW_OP_lo_user): Fix.
12047         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
12048         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
12049         (size_of_loc_descr): Likewise.
12050         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
12051         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
12052         (loc_descriptor_from_tree): Handle TLS variables.
12053         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
12054         (add_location_or_const_value_attribute): ... not here.  Defer
12055         to loc_descriptor_from_tree for TLS variables.
12056
12057         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
12058         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
12059         * config/i386/i386-protos.h: Update.
12060
12061 2002-09-08  Roger Sayle  <roger@eyesopen.com>
12062
12063         PR optimization/6405
12064         * unroll.c (loop_iterations): last_loop_insn should be the previous
12065         non-note instruction before loop->end.
12066         * loop.c (strength_reduce): The conditional jump is the last
12067         non-note instruction before loop->end (as above).
12068
12069 2002-09-08  Roger Sayle  <roger@eyesopen.com>
12070
12071         * combine.c (try_combine): Handle the case that undobuf.other_insn
12072         has been turned into a return or unconditional jump, by inserting
12073         a BARRIER if necessary.
12074         (simplify_set):  Test if a condition code setter has a constant
12075         comparison at compile time, if so convert this insn to a no-op move
12076         and update/simplify the condition code user (undobuf.other_insn).
12077
12078 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
12079
12080         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
12081         (CLEAR_INSN_CACHE): Define.
12082
12083 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
12084
12085         * basic-block.h: Fix comment formatting.
12086         * c-common.c: Likewise.
12087         * c-common.h: Likewise.
12088         * c-lex.c: Likewise.
12089         * c-pretty-print.c: Likewise.
12090         * cfglayout.c: Likewise.
12091         * cfgloop.c: Likewise.
12092         * defaults.h: Likewise.
12093         * et-forest.c: Likewise.
12094         * explow.c: Likewise.
12095         * function.h: Likewise.
12096         * gcov.c: Likewise.
12097         * genattrtab.c: Likewise.
12098         * gengtype.c: Likewise.
12099         * ifcvt.c: Likewise.
12100         * libgcc2.c: Likewise.
12101         * loop.c: Likewise.
12102         * profile.c: Likewise.
12103         * ra-build.c: Likewise.
12104         * real.c: Likewise.
12105         * rtl.h: Likewise.
12106         * tracer.c: Likewise.
12107         * tree-inline.c: Likewise.
12108         * varasm.c: Likewise.
12109
12110 2002-09-08  Jan Hubicka  <jh@suse.cz>
12111
12112         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
12113         handling.
12114
12115         * loop.c (loop_givs_reduce):  Emit addition after.
12116
12117 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
12118
12119         * varasm.c (default_assemble_visibility): Rename from
12120         assemble_visibility.
12121         * output.h: Here too.
12122         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
12123         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
12124
12125 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
12126
12127         * reload.c (find_reloads <p constraint>): Pass operand_mode to
12128         find_reloads_address.
12129
12130 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
12131
12132         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
12133         (anonymous pattern): Likewise.
12134
12135 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12136
12137         * machmode.def: Add modes for half-float vectors.
12138
12139 2002-09-07  Scott Snyder  <snyder@fnal.gov>
12140
12141         PR target/7374
12142         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
12143
12144 2002-09-07  Roger Sayle  <roger@eyesopen.com>
12145
12146         * basic-block.h (struct loop): Remove unused cont_dominator field.
12147
12148 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12149
12150         * varasm.c (decode_rtx_const): Don't check undefined field for
12151         CONST_VECTOR.
12152
12153 2002-09-07  Glen Nakamura  <glen@imodulo.com>
12154
12155         PR opt/7814
12156         * sched-deps.c (sched_analyze_insn): Make sure to add insn
12157         to reg_last->sets after flushing the dependency lists to guarantee
12158         that subsequent clobbers will be dependent on it.
12159
12160 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12161
12162         * combine.c (simplify_shift_const): Calculate rotate count
12163         correctly for vector operands.
12164
12165 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
12166
12167         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
12168         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
12169         tree_expr_nonnegative_p.
12170         (build_conditional_expr): Likewise.
12171         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
12172
12173 2002-09-07  Richard Henderson  <rth@redhat.com>
12174
12175         * builtins.def (inf, inff, infl): Mark const.
12176         (huge_val, huge_valf, huge_vall): Likewise.
12177         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
12178
12179         * real.c (ereal_inf): Clear E before use.
12180
12181 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
12182
12183         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
12184         an expander and an anonymous pattern.  Zero out the upper half
12185         of the dividend in the expander.
12186         (udivmodqi4): Likewise.
12187
12188 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
12189
12190         * config/h8300/h8300.c: Fix formatting.
12191         * config/h8300/h8300.h: Likewise.
12192         * config/h8300/h8300.md: Likewise.
12193
12194 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12195
12196         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
12197         information.
12198
12199 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
12200
12201        * rtlanal.c (dead_or_set_regno_p): Fix typo.
12202
12203 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
12204
12205         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12206
12207         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
12208         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
12209         (TARGET_ASM_OUT): Add the above here.
12210         * target.h (struct gcc_target): Add "visibility" field.
12211         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
12212         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
12213         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
12214         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
12215
12216 2002-09-06  Ziemowit Laski <zlaski@apple.com>
12217
12218         * c-lang.c (objc_is_id): New stub.
12219         * c-tree.h (objc_is_id): New forward declaration.
12220         * c-typeck.c (build_c_cast): Do not strip protocol
12221         qualifiers from 'id' type.
12222         * objc/objc-act.c (objc_comptypes): Correct handling
12223         of protocol qualifiers.
12224         (objc_is_id): New.
12225
12226 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
12227
12228         * pentium.md (pentium-firstvboth): Fix typo.
12229
12230 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
12231
12232         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
12233         (enum shift_type, enum h8_cpu): Likewise.
12234         (INL, ROT, LOP, SPC macros): Likewise.
12235         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
12236         const designator.
12237         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
12238         space efficient algorithms when optimize for codesize.
12239
12240 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12241
12242         Fix PR/1727 and long-standing failing testcase
12243         objc/formal-protocol-6.m.
12244         * objc-act.c (build_protocol_expr): If compiling for the GNU
12245         runtime, create a list of Protocol statically allocated instances
12246         if it doesn't exist, then add the Protocol object to this same
12247         list.
12248         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
12249         instead of TREE_CHAIN.
12250
12251 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12252
12253         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
12254         10k.  Fixed category dumping - print out category names with the
12255         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
12256         interface.
12257         (finish_objc): Fixed the -gen-decls option.  It was printing out
12258         only the last class.  Dump an interface declaration of all classes
12259         being compiled instead.
12260
12261 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
12262
12263         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
12264         prototype.
12265         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
12266         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
12267         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
12268         rather than GEN_INT.
12269         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
12270         (return_addr_mask, *check_arch2): New.
12271
12272 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
12273
12274         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
12275         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
12276         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12277         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
12278         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
12279         "adddf3", "*adddf3", "*adddf3_ibm",
12280         "addsf3", "*addsf3", "*addsf3_ibm",
12281         "muldi3", "mulsi3", "mulsidi3",
12282         "muldf3", "*muldf3", "*muldf3_ibm",
12283         "mulsf3", "*mulsf3", "*mulsf3_ibm",
12284         "*anddi3_cc", "*anddi3_cconly", "anddi3",
12285         "*andsi3_cc", "*andsi3_cconly", "andsi3",
12286         "*iordi3_cc", "*iordi3_cconly", "iordi3",
12287         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
12288         "*xordi3_cc", "*xordi3_cconly", "xordi3",
12289         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
12290         instead of "register_operand" as predicate for "%0" operand.
12291
12292 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
12293
12294         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
12295         unconditionally when gcc_cv_as_flags64 checks are gone.
12296         * configure: Rebuilt.
12297
12298 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
12299
12300         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
12301         2002-07-26 change.  Comment.
12302
12303 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12304
12305         * frv.c (frv_unique_section, frv_select_section,
12306         frv_select_rtx_section): Delete.
12307         (frv_in_small_data_p): New.
12308         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
12309         TARGET_ASM_SELECT_RTX_SECTION): Delete.
12310         (TARGET_IN_SMALL_DATA_P): Define.
12311
12312 2002-09-05  Dale Johannesen  <dalej@apple.com>
12313
12314         * reload1.c (reload):  Retain only those memory clobbers
12315         added for variable-array handling.
12316
12317 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
12318
12319         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
12320         return-in-memory rules.
12321         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
12322
12323 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
12324
12325         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
12326         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
12327
12328 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
12329
12330         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
12331         not a compile-time constant for the non-IBM case.
12332         * config/arm/arm-protos.h (arm_float_words_big_endian): New
12333         prototype.
12334         * config/arm/arm.c (arm_float_words_big_endian): New function.
12335         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
12336         if TARGET_VFP  and not TARGET_HARD_FLOAT.
12337         (ARM_FLAG_VFP, TARGET_VFP): Define.
12338         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
12339
12340 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
12341
12342         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
12343         URLs.  Fix AIX wording.
12344
12345 2002-09-05  Stan Shebs  <shebs@apple.com>
12346
12347         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
12348         -fPIC equivalent on Darwin.
12349
12350 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
12351
12352         * sh.c (sh_expand_builtin): Return early if encountering an
12353         error_mark for a type.
12354
12355 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
12356
12357         * config/s390/s390.c (s390_expand_plus_operand): Do not require
12358         double-word scratch register.
12359         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
12360
12361         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
12362         "*cli"): Replace s_operand by memory_operand.
12363         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
12364
12365 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
12366
12367         * config/h8300/h8300.c (asm_file_start): Add a missing
12368         semicolon.
12369
12370 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
12371
12372         * c-typeck.c (build_function_call): Remove unused variable(s).
12373         (build_c_cast): Likewise.
12374         * calls.c (rtx_for_function_call): Likewise.
12375         * cfglayout.c (duplicate_insn_chain): Likewise.
12376         * cfgloop.c (flow_loop_nodes_find): Likewise.
12377         * cfgrtl.c (split_edge): Likewise.
12378         * df.c (df_ref_create): Likewise.
12379         * except.c (expand_end_catch): Likewise.
12380         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
12381         * function.c (emit_return_into_block): Likewise.
12382         (reposition_prologue_and_epilogue_notes): Likewise.
12383         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
12384         * combine.c (subst_prev_insn, need_refresh): Remove.
12385         * dwarf2out.c (primary_filename): Remove.
12386         * final.c (new_block): Remove.
12387         * gcse.c (orig_bb_count): Remove.
12388
12389 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12390
12391         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
12392         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
12393         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
12394         directly instead of using a function pointer.
12395
12396 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
12397
12398         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
12399         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
12400         (ix86_output_addr_diff_elt) Likewise.
12401         (x86_output_mi_thunk) Likewise.
12402         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
12403
12404 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12405
12406         * frv.c (frv_encode_section_info): Fix error in last change.
12407
12408 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
12409
12410         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
12411         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
12412         (TARGET_BINDS_LOCAL_P): Define.
12413         (rs6000_override_options): Save original flag_pic value.
12414         (rs6000_elf_select_section): Call default_elf_select_section_1.
12415         (rs6000_elf_unique_section): Call default_unique_section_1.
12416         (rs6000_elf_in_small_data_p): New function.
12417         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
12418         (rs6000_xcoff_select_section): Update based on defaults.
12419         (rs6000_xcoff_unique_section): Set to basic name if not common.
12420         (rs6000_binds_local_p): New function.
12421         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
12422         targetm.have_srodata_section if SDATA_EABI.
12423         (TARGET_IN_SMALL_DATA_P): Define.
12424
12425 2002-09-04  Dale Johannesen  <dalej@apple.com>
12426
12427         * varasm.c (struct rtx_const, decode_rtx_const):
12428         Make veclo and vechi fields not share storage.
12429
12430 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
12431
12432         * loop.c (scan_loop): Don't mark separate insns out of a libcall
12433         for moving.
12434         (move_movables): Abort if we see the first insn of a libcall.
12435
12436 2002-09-04  Richard Henderson  <rth@redhat.com>
12437
12438         * builtin-types.def (BT_FN_FLOAT): New.
12439         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
12440         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
12441         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
12442         * builtins.c (fold_builtin_inf): New.
12443         (fold_builtin): Call it.
12444         * real.c (ereal_inf): New.
12445         * real.h: Declare it.
12446         * doc/extend.texi: Document new builtins.
12447
12448 2002-09-04  Richard Henderson  <rth@redhat.com>
12449
12450         * cse.c (cse_insn): Avoid subreg games if the equivalence
12451         is already in the proper mode.
12452
12453 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
12454
12455         PR c/7102
12456         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
12457
12458 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12459
12460         * pa.md (setccfp0, setccfp1): New patterns.
12461
12462 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12463
12464         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
12465         frv_select_section, frv_select_rtx_section,
12466         frv_encode_section_info, frv_unique_section): Delete.
12467         * frv.c: Update for target hooks.
12468         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
12469         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
12470         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
12471
12472 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12473
12474         * ip2k-protos.h (function_prologue, function_epilogue,
12475         encode_section_info): Update to match target hook specification.
12476         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
12477         (function_prologue, function_epilogue, encode_section_info):
12478         Update to match target hook specification.
12479         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
12480         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
12481         (NOTICE_UPDATE_CC): Cast to void.
12482         * ip2k.md: Add defaults in switch statements.
12483
12484 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
12485
12486         * doc/trouble.texi (Interoperation): Update information about C++ ABI
12487         issues.
12488
12489 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
12490
12491         * config/sparc/t-netbsd64: Disable multilib for now.
12492
12493 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
12494
12495         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
12496         * target.h (gcc_target): Add have_srodata_section member.
12497         * varasm.c (section_category): Add SECCAT_SRODATA.
12498         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
12499         READONLY_SDATA_SECTION defined.
12500         (decl_readonly_section_1): True for SECCAT_SRODATA also.
12501         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
12502         (default_unique_section_1): Likewise.
12503
12504 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12505
12506         * expr.c (emit_group_load): Revise to allow splitting TCmode source
12507         into DImode pieces.
12508
12509         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
12510         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
12511         for floating-point register class.
12512         * pa.c (function_arg): Fix handling of modes wider than one word for
12513         TARGET_64BIT.
12514
12515 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
12516
12517         * combine.c (make_compound_operation): Don't generate zero / sign
12518         extensions in floating point modes.
12519
12520 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
12521
12522         * doc/c-tree.texi: Fix overfull hboxes.
12523         * doc/cppopts.texi: Ditto.
12524         * doc/extend.texi: Ditto.
12525         * doc/gty.texi: Ditto.
12526         * doc/invoke.texi: Ditto.
12527         * doc/makefile.texi: Ditto.
12528         * doc/rtl.texi: Ditto.
12529         * doc/standards.texi: Ditto.
12530         * doc/tm.texi: Ditto.
12531
12532 2002-09-04  Richard Henderson  <rth@redhat.com>
12533
12534         * c-common.c (builtin_define_with_hex_fp_value): New.
12535         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
12536
12537 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
12538
12539         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
12540         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
12541         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
12542         Warn that these options can break ABI compatibility.
12543
12544 2002-09-04  Richard Henderson  <rth@redhat.com>
12545
12546         * real.c (ereal_to_decimal): Add digits parameter.
12547         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
12548         * c-pretty-print.c (pp_c_real_literal): Update call.
12549         * print-rtl.c (print_rtx): Likewise.
12550         * print-tree.c (print_node_brief, print_node): Likewise.
12551         * sched-vis.c (print_value): Likewise.
12552         * config/arc/arc.c (arc_print_operand): Likewise.
12553         * config/c4x/c4x.c (c4x_print_operand): Likewise.
12554         * config/i370/i370.h (PRINT_OPERAND): Likewise.
12555         * config/i386/i386.c (print_operand): Likewise.
12556         * config/i960/i960.c (i960_print_operand): Likewise.
12557         * config/ip2k/ip2k.c (asm_output_float): Likewise.
12558         * config/m32r/m32r.c (m32r_print_operand): Likewise.
12559         * config/m68hc11/m68hc11.c (print_operand): Likewise.
12560         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
12561         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
12562         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
12563         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
12564         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
12565         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
12566         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
12567         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
12568         * config/mips/mips.c (print_operand): Likewise.
12569         * config/ns32k/ns32k.c (print_operand): Likewise.
12570         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
12571         * config/vax/vax.h (PRINT_OPERAND): Likewise.
12572         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
12573
12574 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
12575
12576         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
12577         xtensa_multibss_section_type_flags.
12578         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
12579
12580 2002-09-04  Richard Henderson  <rth@redhat.com>
12581
12582         * doc/install-old.texi: Don't mention enquire.
12583         * doc/sourcebuild.texi: Update float.h description.
12584
12585 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
12586
12587         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
12588
12589 2002-09-03  Roger Sayle  <roger@eyesopen.com>
12590
12591         * builtins.c (build_function_call_expr): Remove prototype, export
12592         as non-static and add a comment above function definition.
12593         (builtin_mathfn_code): New function to check for math builtins.
12594         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
12595         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
12596         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
12597         log(sqrt(x)) as log(x)/2.0.
12598
12599         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
12600         in new "builtins.c" section.  Place the build_range_type prototype
12601         with the other prototypes from "tree.c".
12602
12603         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
12604         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
12605         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
12606         x/exp(y) as x*exp(-y).
12607
12608 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
12609
12610         * varasm.c (default_section_type_flags): Append _1 to name with
12611         shlib parameter.  Use original name to call new function with
12612         implicit flag_pic.
12613         (decl_readonly_section): Likewise.
12614         (default_elf_select_section): Likewise.
12615         (default_unique_section): Likewise.
12616         (default_bind_local_p): Likewise.
12617         (categorize_decl_for_section): Add shlib parameter to use in place
12618         of implicit flag_pic.
12619         * output.h: Declare new functions with _1 and shlib argument.
12620
12621 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
12622
12623         * doc/install.texi: Fix typos, formatting problems, and obvious
12624         overfull/underfull boxes.
12625
12626         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
12627         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
12628         include its file, compat.texi.
12629         * doc/compat.texi: New file with new chapter, Binary Compatibility.
12630
12631 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
12632
12633         Debian BTS Bug #157416
12634         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
12635         * cpplib.c (destringize_and_run): Kludge around getting
12636         tokens from in-progress macros.
12637         (_cpp_do__Pragma): Simplify.
12638
12639 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
12640
12641         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
12642         (CPP_CPU_SPEC): Remove.
12643         (TARGET_CPU_CPP_BUILTINS): New.
12644         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
12645         (CPP_SPEC): Remove.
12646         (TARGET_OS_CPP_BUILTINS): New.
12647         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
12648         (TARGET_OS_CPP_BUILTINS): New.
12649         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
12650         TARGET_OS_CPP_BUILTINS.
12651         (CPP_PREDEFINES): Remove.
12652         (CPLUSPLUS_CPP_SPEC): Remove.
12653         (TARGET_OS_CPP_BUILTINS): New.
12654
12655 2002-09-03  Richard Henderson  <rth@redhat.com>
12656
12657         * Makefile.in (USER_H): Add ginclude/float.h.
12658         (FLOAT_H): Remove.
12659         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
12660         (mostlyclean): Don't remove float.h intermediate files.
12661         (distclean): Don't remove float.h.
12662         * config.gcc: Remove all float_format references.
12663         * configure.in (float_format, float_h_file): Remove.
12664
12665         * c-common.c: Include tree-inline.h.
12666         (builtin_define_with_int_value): New.
12667         (builtin_define_type_precision): Use it.
12668         (builtin_define_float_constants): New.
12669         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
12670         __FLT_EVAL_METHOD__.
12671         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
12672         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
12673         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
12674         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
12675         (TARGET_FLT_EVAL_METHOD): New.
12676
12677         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
12678         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
12679         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
12680         * ginclude/float.h: New.
12681
12682 2002-09-03  Stan Shebs  <shebs@apple.com>
12683
12684         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
12685         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
12686         (PREFERRED_DEBUGGING_TYPE): Ditto.
12687         (ASM_OUTPUT_IDENT): Remove empty definition.
12688
12689 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
12690
12691         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
12692         cxx_target.
12693         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
12694         handling routine for builtin pragma.
12695         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
12696         Registered pragma handling routine.
12697         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
12698         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
12699         If builtin pragma seen for math routine and C89 conformance is
12700         requested use different math function in order to set errno.
12701         * t-ia64 (ia64-c.o): Add new rule for new file.
12702
12703 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
12704
12705         * config/s390/s390.md ("movti"): Add Q->Q alternative.
12706         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
12707         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
12708
12709         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
12710         "*movsf_ss"): Remove.
12711
12712 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12713
12714         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
12715         Delete macros.
12716
12717 2002-09-03   Arati Dikey  <aratid@kpit.com>
12718
12719         * h8300.c (asm_file_start): Corrected optimization comment.
12720
12721 2002-09-03  Stan Shebs  <shebs@apple.com>
12722
12723         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
12724         * c-tree.h (recognize_objc_keyword): Remove decl.
12725         * c-typeck.c (comp_target_types): Update a comment.
12726
12727 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
12728
12729         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
12730         and register validity checks.
12731         (general_s_operand): Adapt to s390_decompose_address interface change.
12732         (q_constraint): Likewise.
12733         (s390_expand_plus_operand): Likewise.
12734         (legitimiate_address_p): Likewise.
12735         (legitimate_la_operand_p): Likewise.
12736         (legitimize_la_operand): Likewise.
12737         (print_operand_address): Likewise.
12738         (print_operand): Likewise.
12739
12740 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12741
12742         PR objc/5956:
12743         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
12744         was causing the new selector never to match the existing ones
12745         (Patch by Alexander Malmberg <alexander@malmberg.org>).
12746
12747 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
12748
12749         * config/i386/i386.md ("femms"): Add "memory" attr "none".
12750
12751 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
12752
12753         * expr.c (expand_expr): Remove extraneous comment and code.
12754
12755 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
12756
12757         * stor-layout (finish_builtin_struct): Renamed and moved from c++
12758         frontend. Take chain of fields. Allow NULL alignment type.
12759         * tree.h (finish_builtin_struct): Declare.
12760
12761 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12762
12763         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
12764         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
12765         config/arc/arc.c config/arc/arc.h config/arm/aout.h
12766         config/arm/arm.c config/arm/arm.h config/arm/arm.md
12767         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
12768         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
12769         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
12770         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
12771         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
12772         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
12773         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
12774         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
12775         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
12776         config/pa/pa.h config/pa/pa.md config/romp/romp.h
12777         config/rs6000/linux64.h config/rs6000/lynx.h
12778         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
12779         config/s390/s390.c config/s390/s390.md config/sh/sh.c
12780         config/sparc/sparc.c config/sparc/sysv4.h
12781         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
12782         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
12783         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
12784
12785         * doc/tm.texi: Update docs.
12786         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
12787         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
12788
12789 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12790
12791         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
12792         * arc.c (arc_internal_label): New function.
12793         (TARGET_ASM_INTERNAL_LABEL): Set.
12794         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12795         * arm.c (arm_internal_label): New function.
12796         (TARGET_ASM_INTERNAL_LABEL): Set.
12797         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12798         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12799         * i370.c (i370_internal_label): New function.
12800         (TARGET_ASM_INTERNAL_LABEL): Set.
12801         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12802         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12803         * m68k.c (m68k_hp320_internal_label): New function.
12804         (TARGET_ASM_INTERNAL_LABEL): Set.
12805         * m88k.c (m88k_internal_label): New function.
12806         (TARGET_ASM_INTERNAL_LABEL): Set.
12807         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12808         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
12809         * genoutput.c (output_prologue): Include target.h in output file.
12810         * output.h (default_internal_label): Declare.
12811         * sdbout.c: Include target.h.
12812         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
12813         TARGET_ASM_OUT.
12814         * target.h (internal_label): Add to struct gcc_target.
12815         * varasm.c (default_internal_label): New function.
12816
12817 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12818
12819         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
12820         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12821         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12822         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12823         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12824         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12825         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12826         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12827         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12828         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12829         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12830         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12831         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12832         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12833         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12834         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12835         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12836         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12837         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12838         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12839         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12840         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12841         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12842         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12843         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12844         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
12845         * mmix.c (mmix_asm_output_internal_label): Likewise.
12846         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12847         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12848         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12849         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12850         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12851         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12852         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12853         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12854         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12855         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12856         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12857         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12858         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12859         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12860         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12861         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12862         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12863         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12864         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12865
12866         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
12867
12868 2002-08-31  Richard Henderson  <rth@redhat.com>
12869
12870         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
12871
12872 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12873
12874         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
12875
12876 2002-08-30  Richard Henderson  <rth@redhat.com>
12877
12878         PR opt/7515
12879         * c-objc-common.c: Include target.h.
12880         (c_cannot_inline_tree_fn): Don't auto-inline functions that
12881         don't bind locally.  Factor setting DECL_UNINLINABLE.
12882         * Makefile.in (c-objc-common.o): Update.
12883
12884 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
12885
12886         * doc/install.texi (Configuration, Building): Fix a typo and
12887         some formatting directives.
12888
12889 2002-08-30  Paul Koning <pkoning@equallogic.com>
12890
12891         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
12892         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
12893         implemented" note.
12894         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
12895         for alphabetic order.
12896         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
12897         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
12898         (VAX_HALFWORD_ORDER): Document.
12899         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
12900         IEEE float format.
12901         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
12902         (ASM_OUTPUT_LABEL_REF): Fix font.
12903         (CASE_VECTOR_SHORTEN_MODE): Ditto.
12904
12905 2002-08-30  Denis Chertykov  <denisc@overta.ru>
12906
12907         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
12908         stuff.
12909         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
12910         CONST_DOUBLE constants.
12911
12912 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
12913
12914         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
12915         related defines to...
12916         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
12917         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
12918         as a no-op.
12919
12920 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
12921
12922         * config/arm/arm.c (arm_asm_output_labelref): New function.
12923         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
12924         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
12925
12926 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
12927
12928         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
12929         memory exhausted" workarounds.
12930
12931 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12932
12933         * diagnostic.c (fancy_abort): Don't repeat "internal error".
12934         * toplev.c (crash_signal): Likewise.
12935
12936 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12937
12938         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
12939         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
12940         Extended, updated documentation.
12941         (-Wundeclared-selector): Documented.
12942
12943 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
12944
12945         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
12946         the value 1.  Do not undef before defining.
12947         * config/darwin.h: Likewise.
12948         * config/dbx.h: Likewise.
12949         * config/dbxcoff.h: Likewise.
12950         * config/dbxelf.h: Likewise.
12951         * config/elfos.h: Likewise.
12952         * config/interix.h: Likewise.
12953         * config/lynx-ng.h: Likewise.
12954         * config/lynx.h: Likewise.
12955         * config/netware.h: Likewise.
12956         * config/psos.h: Likewise.
12957         * config/svr3.h: Likewise.
12958         * config/alpha/alpha.h: Likewise.
12959         * config/alpha/elf.h: Likewise.
12960         * config/alpha/vms.h: Likewise.
12961         * config/arc/arc.h: Likewise.
12962         * config/arm/aout.h: Likewise.
12963         * config/arm/coff.h: Likewise.
12964         * config/c4x/c4x.h: Likewise.
12965         * config/h8300/h8300.h: Likewise.
12966         * config/i386/cygwin.h: Likewise.
12967         * config/i386/djgpp.h: Likewise.
12968         * config/i386/gas.h: Likewise.
12969         * config/i386/gstabs.h: Likewise.
12970         * config/i386/i386-coff.h: Likewise.
12971         * config/i386/i386-interix.h: Likewise.
12972         * config/i386/sco5.h: Likewise.
12973         * config/i386/svr3dbx.h: Likewise.
12974         * config/i386/sysv3.h: Likewise.
12975         * config/i386/win32.h: Likewise.
12976         * config/i386/x86-64.h: Likewise.
12977         * config/i960/i960.h: Likewise.
12978         * config/ia64/ia64.h: Likewise.
12979         * config/ip2k/ip2k.h: Likewise.
12980         * config/m32r/m32r.h: Likewise.
12981         * config/m68k/3b1.h: Likewise.
12982         * config/m68k/3b1g.h: Likewise.
12983         * config/m68k/ccur-GAS.h: Likewise.
12984         * config/m68k/coff.h: Likewise.
12985         * config/m68k/hp2bsd.h: Likewise.
12986         * config/m68k/hp310g.h: Likewise.
12987         * config/m68k/hp320g.h: Likewise.
12988         * config/m68k/hp3bsd.h: Likewise.
12989         * config/m68k/hp3bsd44.h: Likewise.
12990         * config/m68k/linux-aout.h: Likewise.
12991         * config/m68k/m68k-aout.h: Likewise.
12992         * config/m68k/mot3300.h: Likewise.
12993         * config/m68k/netbsd.h: Likewise.
12994         * config/m68k/openbsd.h: Likewise.
12995         * config/m68k/pbb.h: Likewise.
12996         * config/m68k/plexus.h: Likewise.
12997         * config/m68k/sun2.h: Likewise.
12998         * config/m68k/sun3.h: Likewise.
12999         * config/m68k/tower-as.h: Likewise.
13000         * config/m68k/vxm68k.h: Likewise.
13001         * config/m88k/aout-dbx.h: Likewise.
13002         * config/m88k/m88k-aout.h: Likewise.
13003         * config/mcore/mcore-elf.h: Likewise.
13004         * config/mcore/mcore-pe.h: Likewise.
13005         * config/mips/elf.h: Likewise.
13006         * config/mips/elf64.h: Likewise.
13007         * config/mips/iris5gas.h: Likewise.
13008         * config/mips/iris6.h: Likewise.
13009         * config/mips/mips.h: Likewise.
13010         * config/mips/sni-gas.h: Likewise.
13011         * config/mmix/mmix.h: Likewise.
13012         * config/ns32k/netbsd.h: Likewise.
13013         * config/pa/pa64-hpux.h: Likewise.
13014         * config/romp/romp.h: Likewise.
13015         * config/rs6000/sysv4.h: Likewise.
13016         * config/rs6000/xcoff.h: Likewise.
13017         * config/sh/coff.h: Likewise.
13018         * config/sh/elf.h: Likewise.
13019         * config/sparc/linux64.h: Likewise.
13020         * config/sparc/liteelf.h: Likewise.
13021         * config/sparc/netbsd.h: Likewise.
13022         * config/sparc/openbsd.h: Likewise.
13023         * config/sparc/pbd.h: Likewise.
13024         * config/sparc/sp64-elf.h: Likewise.
13025         * config/sparc/sp86x-elf.h: Likewise.
13026         * config/sparc/sparc.h: Likewise.
13027         * config/vax/vax.h: Likewise.
13028         * config/vax/vaxv.h: Likewise.
13029
13030 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
13031
13032         * h8300.c (shift_alg_hi): Various tweaks to improve performance
13033         of HImode shifts.
13034         (get_shift_alg): Corresponding changes.
13035
13036 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13037
13038         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
13039
13040 2002-08-29  Richard Henderson  <rth@redhat.com>
13041
13042         * expr.h (enum block_op_methods): New.
13043         (emit_block_move): Update prototype.
13044         * expr.c (block_move_libcall_safe_for_call_parm): New.
13045         (emit_block_move_via_loop): New.
13046         (emit_block_move): Use them.  New argument METHOD.
13047         (emit_push_insn): Always respect the given alignment.
13048         (expand_assignment): Update call to emit_block_move.
13049         (store_expr, store_field, expand_expr): Likewise.
13050         * builtins.c (expand_builtin_apply): Likewise.
13051         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
13052         * function.c (expand_function_end): Likewise.
13053         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
13054         * config/sparc/sparc.c (sparc_va_arg): Likewise.
13055         * calls.c (expand_call, emit_library_call_value_1): Likewise.
13056         (save_fixed_argument_area): Use emit_block_move with
13057         BLOCK_OP_CALL_PARM instead of move_by_pieces.
13058         (restore_fixed_argument_area): Likewise.
13059         (store_one_arg): Fix alignment parameter to emit_push_insn.
13060
13061 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13062
13063         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
13064
13065 2002-08-29  Catherine Moore  <clm@redhat.com>
13066
13067         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
13068         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
13069         (PREDICATE_CODES): Include new predicates.
13070         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
13071         (TARGET_SWITCHES):  Add strict-align.
13072         (TARGET_STRICT_ALIGN): New.
13073         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
13074         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
13075         Define.
13076         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
13077         v850_muldi3.
13078         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
13079         L_callt_save_r2_r31, L_return_r2_r31,
13080         L_save_all_interrupt): Change addi to add.
13081         (L_save_interrupt, L_return_interrupt): Rework.
13082         (__return_r31):  Correct .size directive.
13083         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
13084         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
13085         New routines.
13086         * config/v850/v850.c (expand_prologue): Call
13087         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
13088         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
13089         (reg_or_int9_operand): New predicate.
13090         (reg_or_const_operand): New routine.
13091         * config/v850/v850.md (return_interrupt): Changed from
13092         restore_interrupt.
13093         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
13094         (callt_save_interrupt): Change save sequence.
13095         (callt_return_interrupt): New.
13096         (save_interrupt): Don't use runtime function for LONG_CALLS
13097         and TARGET_PROLOG_FUNCTION.
13098         (save_all_interrupt): Likewise.
13099         (mulsi3): Use new predicate.
13100         (moviscc): Disallow some combination of constants.
13101         Fix define_split for sasf insns, so that it will not generate bad
13102         code if operand0 and operand5 are the same.
13103         * config/v850/v850-protos.h: Prototype new predicates.
13104
13105 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
13106
13107         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
13108         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
13109
13110 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13111
13112         * c-common.c (builtin_define_type_precision): New function.
13113         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
13114         wchar_t is unsigned in C++.
13115         * doc/cpp.texi (Common Predefined Macros): Document
13116         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
13117         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
13118         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
13119
13120 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
13121
13122         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
13123         section.  Mention that it is enabled by -Wall.
13124         (-Wall): Mention that there can be language-specific warnings as well.
13125         (-Wctor-dtor-privacy): Mention that it is enabled by default.
13126         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
13127
13128 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13129
13130         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
13131         if it is ever live.
13132
13133         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
13134         attribute for SHCOMPACT.
13135
13136         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
13137         appropriately.
13138         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
13139         by the ABI.
13140
13141         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
13142
13143 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
13144
13145         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
13146         "MASK_GAS|MASK_ABICALLS".
13147         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
13148         (TARGET_DEFAULT): Remove.
13149         (MACHINE_TYPE): Undefine before defining.
13150         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
13151
13152 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
13153
13154         * c-common.c (warn_abi): New variable.
13155         * c-common.h (warn_abi): Likewise.
13156         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
13157         (c_common_decode_option): Handle it.
13158         * doc/invoke.texi: Document -Wabi.
13159
13160 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13161
13162         * c-common.c (warn_undeclared_selector): New variable.
13163         * c-common.h (warn_undeclared_selector): Idem.
13164         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
13165         to on when -Wundeclared-selector is found.
13166         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
13167         * objc/objc-act.c (build_selector_expr): If
13168         warn_undeclared_selector is set, check that the selector has
13169         already been defined, and emit a warning if not.
13170
13171 2002-08-27  Nick Clifton  <nickc@redhat.com>
13172             Catherine Moore  <clm@redhat.com>
13173             Jim Wilson  <wilson@cygnus.com>
13174
13175         * config.gcc: Add v850e-*-* target.
13176         Add --with-cpu= support for v850.
13177         * config/v850/lib1funcs.asm: Add v850e callt functions.
13178         * config/v850/v850.h: Add support for v850e target.
13179         * config/v850/v850.c: Add functions to support v850e target.
13180         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
13181         * config/v850/v850.md: Add patterns for v850e instructions.
13182         * doc/invoke.texi: Document new v850e command line switches.
13183
13184 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
13185                           Aldy Hernandez <aldyh at redhat dot com>
13186
13187         * doc/tm.texi: Applied numerous fixes to the automaton based
13188         scheduler descrition.
13189
13190 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
13191
13192         * i386.c (classify_argument): Handle variable sized objects.
13193
13194 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
13195
13196         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
13197
13198 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
13199
13200         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
13201
13202 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
13203
13204         * i386.c (classify_argument): Properly compute word size of the analyzed object.
13205
13206 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
13207
13208         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
13209         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
13210         accordingly.
13211         (attribute insn_class): Provide default definitions based on type.
13212         Remove all insn-specific settings.
13213         (various function units): Remove old SH4 scheduling.
13214         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
13215         New attributes.  Set them where appropriate.
13216         (cpu unit FS): Don't define / use.
13217         (F3, load_store): New cpu units.
13218         (F01): New reservation.
13219         (all insn_reservations): Make dependent on sh4 pipeline model.
13220         Fix latencies.
13221         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
13222         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
13223         (mt insn_reservation): Use type mt_group.
13224         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
13225         sh4_fload and sh4_store.
13226         (insn_reservation branch_zero and branch): Replace with sh4_branch.
13227         (insn_reservation branch_far): Replace with sh4_return.
13228         (insn_reservation return_from_exp): Rename to:
13229         (sh4_return_from_exp).  Change to be just d_lock*5.
13230         (insn_reservation lds_to_pr): Rename to:
13231         (sh4_lds_to_pr).  Change to be just d_lock*2.
13232         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
13233         d_lock*2.
13234         (insn_reservation prload_mem): Rename to:
13235         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
13236         (insn_reservation fpscr_store): Rename to:
13237         (fpscr_load).  Change to d_lock,nothing,F1*3.
13238         (insn_reservation fpscr_store_mem): Rename to:
13239         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
13240         (insn_reservation multi): Change to
13241         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
13242         (insn_reservation fp_arith): Change to issue,F01,F2.
13243         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
13244         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
13245         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
13246         (insn_reservation fp_double_cmp): Change to
13247         d_lock,(d_lock+F01),F1+F2,F2.
13248         (insn_reservation dp_div): Change to
13249         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
13250         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
13251         (sh_adjust_cost, SHcompact): Differentiate between different
13252         kinds of dependencies.  Drop factor of ten for superscalar.
13253         Use new instruction types.  Add new exception rules.
13254
13255         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
13256
13257         * sh.md (mperm_w): Add DONE.
13258
13259 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
13260
13261         * longlong.h: Import current PowerPC defintion from GMP-4.1.
13262
13263         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
13264
13265         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
13266
13267 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13268
13269         * sh.h (MAX_FIXED_MODE_SIZE): Define.
13270
13271 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
13272
13273         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
13274         delimiter.
13275
13276 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13277
13278         * c-common.c (cpp_define_data_format): New function.
13279         (cb_register_builtins): Call it.
13280
13281         * doc/cpp.texi (Common Predefined Macros): Document
13282         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
13283         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
13284         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
13285         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
13286         __TARGET_USES_VAX_H_FLOAT__.
13287
13288 2002-08-26  Ziemowit Laski <zlaski@apple.com>
13289
13290         * objc/objc-act.c (get_super_receiver): If inside a class method
13291         of a category, cast the receiver to 'id' before accessing the 'isa'
13292         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
13293
13294 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
13295
13296         * config/s390/s390-protos.h (s390_function_prologue,
13297         s390_function_epilogue): Remove.
13298         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
13299         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
13300
13301         config/s390/s390.c (s390_machine_dependent_recorg): New function.
13302         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
13303         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
13304         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
13305         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
13306
13307         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
13308         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
13309         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
13310         function is not a leaf function.  Use save_gprs and restore_gprs.
13311         (s390_emit_epilogue): Likewise.
13312         (save_gprs, restore_gprs): New functions.
13313         (struct s390_frame): Remove return_reg_saved_p member.
13314         (save_fprs_p): Remove.
13315         (s390_optimize_prolog): New function.
13316         (s390_legitimate_reload_constant): Remove now unnecessary check.
13317
13318         (s390_function_count): Remove.
13319         (s390_output_symbolic_const): Replace s390_function_count by
13320         current_function_funcdef_no.
13321         (s390_output_constant_pool): Likewise.
13322
13323         (legitimize_pic_address): Use regs_ever_live to track PIC register
13324         instead of current_function_uses_pic_offset_table.
13325         (s390_emit_prologue): Likewise.
13326         config/s390/s390.md ("call", "call_value"): Likewise.
13327
13328 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
13329
13330         * c-opts.c (find_opt): Don't complain about wrong languages
13331         here.  Return exact matches even for wrong language.
13332         (c_common_decode_option): Complain about wrong languages
13333         here.
13334
13335 2002-08-24  Stuart Hastings  <stuart@apple.com>
13336
13337         * function.h (struct function): Add flag
13338         all_throwers_are_sibcalls.
13339         * except.c (set_nothrow_function_flags): Replaces
13340         nothrow_function_p. Set new flag.
13341         * except.h (set_nothrow_function_flags): Replaces
13342         nothrow_function_p.
13343         * dwarf2out.c (struct dw_fde_struct): Add flag
13344         all_throwers_are_sibcalls.
13345         (output_call_frame_info): Test it.
13346         (dwarf2out_begin_prologue) Propagate it from cfun to
13347         dw_fde_struct.
13348         * toplev.c (rest_of_compilation): Update calls to
13349         nothrow_function_p.
13350
13351 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
13352
13353         * ggc-page.c (compute_inverse): Short circuit calculation for
13354         object sizes larger than half a page.
13355
13356 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
13357
13358         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
13359         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
13360         default.
13361         (rs6000_elf_unique_section): Likewise.
13362
13363 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13364
13365         * ns32k.c (ns32k_globalize_label): Delete.
13366         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
13367
13368 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
13369
13370         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
13371         for loading delta with num_insns_constant_wide.  Calculate
13372         delta_low, delta_high without using a conditional.
13373
13374 2002-08-22  Jason Merrill  <jason@redhat.com>
13375
13376         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
13377         * c-common.def: Adjust.
13378         * c-dump.c (c_dump_tree): Adjust.
13379         * c-semantics.c (genrtl_return_stmt): Adjust.
13380         * c-pretty-print.c (pp_c_statement): Adjust.
13381         * tree-inline.c (copy_body_r): Adjust.
13382
13383 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
13384
13385         * ggc-page.c: Avoid division in ggc_set_mark.
13386         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
13387         compute_inverse): New.
13388         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
13389         (init_ggc): Initialize inverse_table.
13390
13391 2002-08-22  Tom Tromey  <tromey@redhat.com>
13392
13393         * doc/install.texi (Configuration): Document --datadir.
13394
13395 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
13396
13397         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
13398
13399 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
13400
13401         * gengtype-lex.l (ID): Allow underscore as first character.
13402
13403 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
13404
13405         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
13406         function.
13407         (rs6000_xcoff_asm_named_section): Rename.
13408         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
13409
13410 2002-08-21  Tom Tromey  <tromey@redhat.com>
13411
13412         For PR java/6005 and PR java/7611:
13413         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
13414         (fold): Likewise.
13415         * langhooks.c (lhd_can_use_bit_fields_p): New function.
13416         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
13417         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
13418         (LANG_HOOKS_INITIALIZER): Use it.
13419         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
13420         field.
13421
13422 2002-08-21  Stan Shebs  <shebs@apple.com>
13423
13424         * tree.c (finish_vector_type): Fix a typo in a comment.
13425         * Makefile.in: Fix "the the" stutters in comments.
13426         * genautomata.c: Ditto.
13427         * ifcvt.c: Ditto.
13428         * regrename.c: Ditto.
13429         * config/alpha/alpha.c: Ditto.
13430         * config/alpha/vms-crt0-64.c: Ditto.
13431         * config/alpha/vms-crt0.c: Ditto.
13432         * config/alpha/vms-psxcrt0-64.c: Ditto.
13433         * config/alpha/vms-psxcrt0.c: Ditto.
13434         * config/d30v/d30v.h: Ditto.
13435         * config/fr30/fr30.h: Ditto.
13436         * config/rs6000/rs6000.c: Ditto.
13437         * config/stormy16/stormy16.h: Ditto.
13438         * doc/md.texi: Ditto.
13439
13440 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13441
13442         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
13443
13444 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
13445
13446         * c-decl.c (grokdeclarator): Make invalid combinations with long,
13447         short, signed or unsigned into hard errors.  Fixes PR c/4319.
13448         Also make duplicate modifiers such as "short short" into hard
13449         errors.
13450
13451 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
13452             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13453
13454         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
13455         to the actual end.  Add '@end table' and '@table @code'.
13456
13457 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
13458
13459         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
13460
13461         * unroll.c (biv_total_increment): Don't try to compute the total
13462         increment for FP BIVs.
13463
13464 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13465
13466         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
13467         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
13468         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
13469         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
13470         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
13471         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
13472         (GLOBAL_ASM_OP): Define.
13473         * arm.c (aof_globalize_label): New function.
13474         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
13475         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
13476         * c4x.c (c4x_globalize_label): New function.
13477         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
13478         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
13479         (GLOBAL_ASM_OP): Define.
13480         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
13481         * darwin-protos.h (darwin_globalize_label): Declare.
13482         * darwin.c (darwin_globalize_label): New function.
13483         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
13484         (ASM_GLOBALIZE_LABEL): Delete.
13485         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
13486         * dsp16xx.c (asm_output_common): Use target hook.
13487         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
13488         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
13489         (GLOBAL_ASM_OP): Define.
13490         * i370.c (i370_globalize_label): New function.
13491         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
13492         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
13493         * i386.c (ix86_asm_file_end): Use target hook.
13494         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
13495         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
13496         * ia64.c (ia64_asm_output_external): Likewise.
13497         * ia64/sysv4.h: Update comment.
13498         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
13499         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13500         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
13501         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13502         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
13503         * mmix-protos.h (mmix_asm_globalize_label): Delete.
13504         * mmix.c (mmix_asm_globalize_label): Likewise.
13505         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
13506         (GLOBAL_ASM_OP): Define.
13507         * ns32k.c (ns32k_globalize_label): New function.
13508         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
13509         (ASM_GLOBALIZE_LABEL): Delete.
13510         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
13511         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
13512         * pa.c (pa_globalize_label): New function.
13513         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
13514         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
13515         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
13516         (GLOBAL_ASM_OP): Define.
13517         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
13518         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
13519         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
13520         (GLOBAL_ASM_OP): Define.
13521         * v850.c (v850_output_aligned_bss): Use target hook.
13522         * vax.c (vms_globalize_label): New function.
13523         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
13524         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
13525         (GLOBAL_ASM_OP): Define.
13526         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
13527         * doc/tm.texi: Update docs.
13528         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
13529         target hook.
13530         * final.c (output_alternate_entry_point): Likewise.
13531         * hooks.c (hook_FILEptr_constcharptr_void): New function.
13532         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
13533         * output.h (assemble_global): Delete.
13534         (default_globalize_label): Declare.
13535         * system.h (ASM_GLOBALIZE_LABEL): Poison.
13536         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
13537         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
13538         * target.h (gcc_target): Add globalize_label member.
13539         * varasm.c (asm_output_bss, asm_output_aligned_bss,
13540         globalize_decl): Use target hook.
13541         (assemble_global): Delete.
13542         (default_globalize_label): New function.
13543
13544 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13545
13546         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
13547
13548 2002-08-20  Devang Patel  <dpatel@apple.com>
13549         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
13550
13551 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13552
13553         * arc.c (output_shift): Use stdio instead of asm_fprintf.
13554         * arm.c (thumb_output_function_prologue): Likewise.
13555         * avr.c (print_operand): Likewise.
13556         * c4x.c (c4x_print_operand): Likewise.
13557         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
13558         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
13559         * cris.c (cris_target_asm_function_prologue,
13560         cris_asm_output_mi_thunk): Likewise.
13561         * h8300.c (print_operand): Likewise.
13562         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13563         * ip2k.c (print_operand): Likewise.  Fix format specifier.
13564         * m68hc11.c (asm_print_register, print_operand,
13565         print_operand_address): Use stdio instead of asm_fprintf.
13566         (print_operand_address): Fix format specifier.
13567         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
13568         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
13569         asm_fprintf.
13570         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13571         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13572         * m68k.c (m68k_output_function_prologue,
13573         m68k_output_function_epilogue, print_operand): Likewise.
13574         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
13575         Likewise.  Fix format specifier.
13576         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13577         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13578         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
13579
13580 2002-08-15  Eric Christopher  <echristo@redhat.com>
13581             Jeff Knaggs  <jknaggs@redhat.com>
13582
13583         * config.gcc (mipsisa64sr71k-elf): New target.
13584         * config/mips/sr71k.md: New file.
13585         * config/mips/mips.md: Use it.
13586         (rot*): Add sr71k specifics.
13587         * config/mips/t-sr71k: New file.
13588         * config/mips/mips.h (sr71k): New cpu.
13589         (TARGET_SR71K): Use it.
13590         (TUNE_SR71K): Ditto.
13591         (GENERATE_BRANCHLIKELY): Ditto.
13592         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
13593         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
13594         * config/mips/mips.c (sr71k): New cpu.
13595         (mips_use_dfa_pipeline_interface): Use.
13596
13597 2002-08-15  Eric Christopher  <echristo@redhat.com>
13598             Richard Sandiford <rsandifo@redhat.com>
13599             Aldy Hernandez  <aldyh@redhat.com>
13600             Graham Stott    <grahams@redhat.com>
13601             Michael Meissner  <meissner@redhat.com>
13602             Gavin Romig-Koch  <gavin@redhat.com>
13603             Ken Raeburn  <raeburn@cygnus.com>
13604             Alexandre Oliva <aoliva@redhat.com>
13605
13606         * config.gcc (mips64vr-elf): New target.
13607         * config/mips/5400.md: New file.
13608         * config/mips/5500.md: Ditto.
13609         * config/mips/mips.md: Use them.
13610         (frsqrt): New.
13611         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
13612         cpus.
13613         (mips_issue_rate): Use them.
13614         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
13615         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
13616         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
13617         cpus.
13618         (TARGET_MIPSx): Use them.
13619         (TUNE_MIPSx): Ditto.
13620         (GETNATE_MULT3_SI): Ditto.
13621         (ISA_HAS_BRANCHLIKELY): Ditto.
13622         (ISA_HAS_CONDMOVE): Ditto.
13623         (ISA_HAS_NMADD_NMSUB): Ditto.
13624         (ISA_HAS_MULHI): New. Ditto.
13625         (ISA_HAS_MULS): Ditto.
13626         (ISA_HAS_MSAC): Ditto.
13627         (ISA_HAS_MACC): Ditto.
13628         (ISA_HAS_ROTR_SI): Ditto.
13629         (ISA_HAS_ROTR_DI): Ditto.
13630         (RTX_COSTS): Use.
13631
13632 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13633
13634         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
13635         at head.
13636         (remove_dup_nonsys_dirs): New function.
13637         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
13638         (merge_include_chains): Remove non-system include directories from
13639         quote and bracket include chains when they duplicate equivalent system
13640         directories.
13641         * doc/cpp.texi (-I): Update.
13642         * doc/cppopts.texi (-I): Update.
13643         * doc/install.texi (--with-local-prefix): Further document usage of
13644         this option.
13645         * doc/invoke.texi (-I): Update.
13646
13647 2002-08-20  Richard Henderson  <rth@redhat.com>
13648
13649         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
13650         (emit_block_move): Split out subroutines.
13651         (emit_block_move_via_movstr): New.
13652         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
13653         (emit_block_move_libcall_fn): New.  Construct function prototype for
13654         bcopy as well.
13655         (clear_storage): Split out subroutines.
13656         (clear_storage_via_clrstr): New.
13657         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
13658         (clear_storage_libcall_fn): New.  Construct function prototype for
13659         bzero as well.
13660         (emit_push_insn): Use emit_block_move.
13661         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
13662         (store_constructor): Likewise.
13663
13664 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
13665
13666         * objc/objc-act.c (building_objc_message_expr): Rename to
13667         current_objc_message_selector.
13668
13669 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
13670
13671         * objc/objc-act.c (build_ivar_chain): Remove.
13672         (objc_copy_list): Likewise.
13673         (get_class_ivars): Inline call to removed build_ivar_chain
13674         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
13675         slot; use that slot (rather than CLASS_IVARS) when accessing
13676         ivars for base classes.  Call copy_list and chainon instead of
13677         objc_copy_list.
13678         (build_private_template): Call get_class_ivars instead of
13679         build_ivar_chain.
13680         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
13681         (continue_class): Call get_class_ivars instead of
13682         build_ivar_chain.
13683         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
13684         of DECL_BIT_FIELD (which may have been cleared).
13685         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
13686
13687 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13688
13689         * genautomata.c (output_translate_vect, output_state_ainsn_table,
13690         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
13691         in output file.
13692         (output_internal_min_issue_delay_func): Initialize variable in
13693         output file.
13694
13695 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
13696
13697         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
13698         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
13699
13700 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
13701             Steve Ellcey  <sje@cup.hp.com>
13702
13703         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
13704         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
13705         * explow.c (trunc_int_for_mode): Abort when the mode is not
13706         a scaler integer mode.
13707         * combine.c (expand_compound_operation): Don't expand Vector
13708         or Complex modes into shifts.
13709         (expand_field_assignment): Don't do bitwise arithmatic and
13710         shifts on Vector or Complex modes.
13711         (simplify_comparison): Don't call trunc_int_for_mode
13712         for VOIDmode.
13713         * recog.c (general_operand): Likewise.
13714         (immediate_operand): Likewise.
13715         (nonmemory_operand): Likewise.
13716
13717 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
13718
13719         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
13720         multi-instruction SImode constant.  Add REG_EQUAL note.
13721         * config/rs6000/rs6000.md (movsi splitter): Use
13722         rs6000_emit_set_const.
13723
13724 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13725
13726         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
13727         the macro test controlling its use.
13728
13729 2002-08-18  H.J. Lu  (hjl@gnu.org)
13730
13731         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
13732         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
13733         gnu_ld=yes.
13734         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
13735         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
13736         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
13737         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
13738         here.
13739         (cris-*-linux*): Remove setting thread_file here.
13740
13741 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
13742
13743         PR preprocessor/7602
13744         * cppinit.c (path_include): Treat the system environment
13745         variables as being cxx_aware.
13746
13747 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
13748
13749         * c-decl.c (flexible_array_type_p): New function.
13750         (grokdeclarator, finish_struct): Use it.
13751         * doc/extend.texi: Document constraints on use of structures with
13752         flexible array members.
13753
13754 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
13755
13756         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
13757         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
13758         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
13759
13760 2002-08-16  Stan Shebs  <shebs@apple.com>
13761
13762         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
13763         for ObjC with -fnext-runtime.
13764         * doc/cpp.texi: Document it.
13765
13766 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
13767
13768         * doc/install.texi (Final installation): Replace links to individual
13769         build status pages with a link to a common page that lists them all.
13770
13771 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
13772
13773         * doc/invoke.texi: Fix typo.
13774
13775 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
13776
13777         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
13778
13779 2002-08-16  Andrew Haley  <aph@redhat.com>
13780
13781         * tree-inline.c: Add includes for Java inliner.
13782         (remap_decl): Don't handle anonymous types for Java.
13783         (remap_block): Add handling for Java trees.
13784         (copy_scope_stmt): Conditionalize for non-Java use only.
13785         (copy_body_r): Handle Java trees.  Add handling for
13786         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
13787         (initialize_inlined_parameters):  Handle Java trees.
13788         (declare_return_variable): Likewise.
13789         (expand_call_inline): Handle Java trees.
13790         (walk_tree): Likewise.
13791         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
13792         (add_stmt_to_compound): New function.
13793
13794 2002-08-15  Richard Henderson  <rth@redhat.com>
13795
13796         * Makefile.in (LOOSE_WARN): Remove -fno-common.
13797         (NOCOMMON_FLAG): New substitution point.
13798         (GCC_WARN_CFLAGS): Include it.
13799         * configure.in (ac_checking): Set nocommon_flag.
13800         (nocommon_flag): New substitution point.
13801
13802 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
13803
13804         * c-tree.h (skip_evaluation): Move declaration...
13805         * c-common.h: ... here.
13806         * c-typeck.c (build_external_ref): Don't assemble_external nor
13807         mark a tree as used if skip_evaluation is set.
13808         * c-parse.in (typeof): New non-terminal to set skip_evaluation
13809         around TYPEOF.
13810         (typespec_nonreserved_nonattr): Use it.
13811
13812 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
13813
13814         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
13815         (xcoff_debug_hooks): Update end_prologue.
13816         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
13817         * debug.h (end_prologue): Add file arg.
13818         (end_epilogue): Add line and file args.
13819         (dwarf2out_end_epilogue): Add line and file args.
13820         (vmsdbgout_after_prologue): Remove.
13821         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
13822         (dwarf2_debug_hooks): Update end_prologue.
13823         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
13824         (dwarfout_end_prologue): Add file arg.
13825         * final.c (vmsdbgout_after_prologue): Remove
13826         (final_end_function): Update end_epilogue call.
13827         (final_scan_insn): Update end_prologue call.
13828         * sdbout.c (sdbout_end_epilogue): Add line and file args.
13829         (sdbout_end_prologue): Add file arg.
13830         (sdb_debug_hooks): Update end_prologue.
13831         (sdb_begin_prologue): Update sdbout_end_prologue call.
13832         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
13833         vmsdbgout_end_function.
13834         (vmsdbgout_end_prologue): New function renamed from
13835         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
13836         (vmsdbgout_end_function): New function.
13837         (vmsdbgout_end_epilogue): Add line and file args. Call
13838         vmsdbgout_source_line.
13839         (write_pclines): Write only valid line numbers.
13840         (write_srccorr): Don't write source correlation records if 0 lines.
13841         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
13842
13843 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
13844
13845         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
13846         (_Unwind_Internal_Ptr): 32 bit version for use in
13847         read_encoded_value_with_base.
13848         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
13849         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
13850         right size.
13851
13852 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13853
13854         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
13855         signed/unsigned warnings.
13856
13857         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
13858         record_reg_classes): Likewise.
13859
13860         * reload.c (reload_inner_reg_of_subreg, push_reload,
13861         find_reloads_address_1): Likewise.
13862
13863 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
13864
13865         * rs6000.c (output_mi_thunk): Return to function section on
13866         TARGET_ELF.
13867
13868         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
13869
13870 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
13871
13872         * config/s390/s390.c (legitimize_address): Optimize loading
13873         of large displacements.
13874
13875 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
13876
13877         * config/alpha/alpha-protos.h: Update.
13878
13879         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
13880         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
13881         (alpha_linkage_symbol_p): New static function.
13882         (print_operand_address): Print linkage operand.
13883
13884         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
13885         variables.
13886         (reloc_kind): New enum.
13887         (struct alpha_funcs): New struct.
13888         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
13889
13890         (alpha_need_linkage): Rewrite.
13891         (alpha_use_linkage): New global function.
13892         (alpha_write_linkage): Rewrite and make static.
13893         (alpha_write_one_linkage): Rewrite
13894
13895         (alpha_start_function): Remove procedure descriptor output.
13896         (alpha_end_function): Write linkages at end of each function.
13897
13898         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
13899         (call_vms_1, call_value_vms_1): Rewrite.
13900
13901         * config/alpha/vms.h (ASM_FILE_END): Remove.
13902
13903 2002-08-14  Richard Henderson  <rth@redhat.com>
13904
13905         * ggc-page.c (RTL_SIZE): New.
13906         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
13907         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
13908
13909 2002-08-14  Richard Henderson  <rth@redhat.com>
13910
13911         * calls.c: Include target.h.
13912         * Makefile.in (calls.o): Update.
13913
13914         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
13915         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
13916
13917 2002-08-14  Richard Henderson  <rth@redhat.com>
13918
13919         * Makefile.in (LOOSE_WARN): Add -fno-common.
13920         * c-common.h (constant_string_class_name): Add missing extern.
13921
13922 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
13923
13924         PR preprocessor/7358
13925         * c-opts.c (check_deps_environment_vars): Ignore main file
13926         for SUNPRO_DEPENDENCIES.
13927         * cppfiles.c (stack_include_file): Ignore main file if
13928         appropriate.
13929         * cpplib.h (struct cpp_options): New member in deps.
13930         * doc/cppenv.texi: Update.
13931
13932 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13933
13934         PR preprocessor/7526
13935         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
13936
13937 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
13938
13939         * doc/invoke.texi (-a): Remove documentation.
13940         (-fprofile-arcs): Remove reference to -a, -ax options.
13941         * doc/gcov.texi (Gcov Data Files): Data might be merged.
13942
13943 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
13944
13945         Fix PR/7566
13946         * c-semantics.c (genrtl_case_label): Don't (mis)use
13947         warning_with_decl.
13948
13949 2002-08-14  Dale Johannesen  <dalej@apple.com>
13950
13951         * explow.c (emit_stack_restore):  Emit memory clobbers
13952         preceding the stack pop, to prevent the scheduler from
13953         moving refs to variable arrays below this pop.
13954         * reload1.c (reload):  Preserve these clobbers for sched2.
13955         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
13956
13957 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
13958
13959         * c-opts.c (c_common_post_options): Correct test.
13960
13961 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13962
13963         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
13964         order in call to fprintf.
13965
13966 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13967
13968         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
13969
13970 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13971
13972         * reload.c (find_reloads): Handle constraint letters marked by
13973         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
13974         (alternative_allows_memconst): Likewise.
13975         * reload1.c (maybe_fix_stack_asms): Likewise.
13976         * recog.c (asm_operand_ok, preprocess_constraints,
13977         constrain_operands): Likewise.
13978         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
13979         * local-alloc.c (block_alloc, requires_inout): Likewise.
13980         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
13981
13982         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
13983         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
13984         * doc/tm.texi: Document these two new target macros.
13985
13986         * config/s390/s390.c (s390_expand_plus_operand): Accept already
13987         valid operands.
13988         (q_constraint): New function.
13989         config/s390/s390-protos.h (q_constraint): Declare it.
13990         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
13991         (EXTRA_MEMORY_CONSTRAINT): New macro.
13992
13993         * config/s390/s390.md: Throughout the machine description,
13994         replace all instances of the constraint combinations 'Qo'
13995         or 'oQ' with simply 'Q'.
13996
13997 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
13998
13999         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
14000         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
14001         (LIBGCC2_CFLAGS): Compile with -mrelax.
14002
14003 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14004
14005         * doc/invoke.texi: Document -minmax for 68HC12.
14006
14007         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
14008         ("uminqi3"): Likewise.
14009         ("uminhi3", "umaxhi3"): Likewise.
14010
14011         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
14012         (TARGET_MIN_MAX): Define.
14013         (TARGET_SWITCHES): New option -minmax/-mnominmax.
14014
14015 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14016
14017         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
14018         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
14019
14020         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
14021         (ret, declare, farsym): New gas macros.
14022         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
14023         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
14024         and declare the symbol far when compiled with -mlong-calls.
14025         (__far_trampoline): New for 68HC12 trampoline code to invoke a
14026         far handler using jsr/bsr.
14027
14028         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
14029         (jsr): New macro to transform a 'jsr' into a 'call'.
14030
14031 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14032
14033         * doc/invoke.texi: Document -mlong-calls for 68HC12.
14034
14035         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
14036         -mlong-calls is specified.
14037         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
14038         assembler directives.
14039         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
14040         (TARGET_SWITCHES): Add -mlong-calls options.
14041         (current_function_far): Declare.
14042
14043         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
14044         into account the page register saved on the stack.
14045         (m68hc11_override_options): Take into account -mlong-calls option.
14046         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
14047
14048         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
14049         if the function is going to be in 68HC12 banked memory (-mlong-calls).
14050         ("*return_16bit"): Likewise.
14051         ("*return_void"): Likewise.
14052         ("call", "call_value"): Use call for a far function call.
14053
14054 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
14055
14056         * toplev.c (parse_options_and_default_flags): Don't call
14057         post_options here.
14058         (general_init): Initialize GC, pools and tree hash here,
14059         instead of lang_independent_init.
14060         (lang_independent_init): Rename backend_init.
14061         (do_compile): Call post_options hook; exit early if there
14062         have been errors after switch processing.
14063         (toplev_main): Update.
14064
14065 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
14066
14067         * c-pretty-print.h: Guard against multiple inclusion.
14068         Robustify macros.
14069         (pp_c_attributes): Declare.
14070         * c-pretty-print.c (pp_c_attributes): New function.
14071
14072 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14073
14074         * m68k.c (m68k_output_function_prologue,
14075         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
14076         and NEWS/MOTOROLA.
14077         * genattrtab.c: Remove dpx2 comment.
14078         * libgcc2.c (__enable_execute_stack): Delete versions for
14079         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
14080         sony_news/SYSTYPE_BSD.
14081         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
14082         __gmicro__, __i860__, __NeXT__ and __pyr__.
14083         * rtl.h: Remove convex comment.
14084         * varasm.c: Likewise.
14085
14086 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14087
14088         * c-opts.c (lang_flags): Const-ify.
14089         * ra-build.c (undef_table): Likewise.
14090         * ra.c (eliminables): Likewise.
14091
14092 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
14093
14094         * tree.h: Guard against multiple inclusion.
14095
14096 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
14097
14098         * reload1.c (reload_cse_simplify): Before checking
14099         REG_FUNCTION_VALUE_P, check REG_P.
14100
14101 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
14102
14103         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
14104
14105 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14106
14107         * c-opts.c (c_common_init_options): Extra braces needed.
14108
14109 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14110
14111         * sh.c (sh_init_builtins): Add PARAMS to declaration.
14112         (sh_media_init_builtins, sh_expand_builtin): Likewise.
14113         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
14114         (sh_expand_binop_v2sf): Likewise.
14115         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
14116         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
14117         (sh_initialize_trampoline): Likewise.
14118
14119 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
14120
14121         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
14122         new condition code modes.
14123         s390.c (s390_match_ccmode_set): Handle those new CC modes.
14124         (s390_select_ccmode): Likewise.
14125         (s390_branch_condition_mask): Likewise.
14126
14127         * s390-protos.h (s390_tm_ccmode): Declare.
14128         s390.c (s390_tm_ccmode): New function.
14129         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
14130
14131         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
14132         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
14133         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
14134
14135         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
14136         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
14137         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
14138         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
14139         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
14140
14141         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
14142         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
14143         "*cmpqi_ccs_0"): Remove, replace by ...
14144         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
14145         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
14146         "*tstqi", "*tstqi_cconly"): ... these new patterns.
14147
14148         ("*cmpsidi_ccs"): Remove, replace by ...
14149         ("*cmpsi_ccs_sign"): ... this new pattern.
14150         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
14151
14152         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
14153         ("*cli"): ... this new pattern.
14154
14155         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
14156         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
14157         New patterns.
14158         ("adddi3_64"): Rename to "*adddi3_64".
14159         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
14160         ("adddi3"): Adapt expander.
14161
14162         ("*addsi3_cc"): Allow "general_operand" for operand 2.
14163         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14164         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
14165
14166         ("addhi3", "addqi3"): Remove, replace by ...
14167         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
14168
14169         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
14170         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
14171         ("subdi3"): Replace by insn and splitter "*subdi3_31".
14172         ("subdi3"): New expander.
14173
14174         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
14175
14176         ("subhi3", "subqi3"): Remove, replace by ...
14177         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
14178
14179         ("*muldi3_sign"): New pattern.
14180         ("muldi3"): Do not clobber CC.
14181         ("mulsi3"): Likewise.
14182         ("mulsi_6432"): Likewise.
14183
14184 2002-08-13  Denis Chertykov  <denisc@overta.ru>
14185
14186         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
14187         which can change CC0.
14188
14189 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
14190
14191         * gcse.c (adjust_libcall_notes): New function.
14192         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
14193
14194 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
14195
14196         * libgcc2.c (L_bb): Remove unneeded #includes.
14197         (__global_counters, __gthreads_active): Remove unused globals.
14198         (__bb_exit_func): Merge counts into files rather than appending.
14199         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
14200         (ALL_CFLAGS): ... to here.
14201
14202 2002-08-13  Denis Chertykov  <denisc@overta.ru>
14203
14204         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
14205         (function_epilogue): Don't calculate function size.
14206         (ip2k_set_compare): Don't use lookup_const_double.
14207         (asm_file_start): Initialization of commands_in_file removed.
14208         (asm_file_end): Output of commands_in_file removed.
14209
14210         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
14211         __INT_MAX__.
14212
14213 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14214
14215         * c-opts.c (c_common_init_options): Check option array is
14216         sorted if checking enabled.
14217
14218 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
14219
14220         * c-pretty-print.c: #include "c-tree.h".
14221         (pp_c_simple_type_specifier): Tweak.
14222         (pp_c_storage_class_specifier): New.
14223         (pp_c_function_specifier): Likewise.
14224         (pp_c_declaration_specifiers): Likewise.
14225         (pp_c_init_declarator): Likewise.
14226         (pp_c_declaration): Likewise.
14227         (pp_c_direct_declarator): Stub.
14228         (pp_c_declarator): Likewise.
14229         (pp_c_parameter_declaration): Likewise.
14230
14231 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14232
14233         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
14234         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
14235         struct deferred_opt): New.
14236         (COMMAND_LINE_OPTIONS): Add -M*.
14237         (missing_arg): Update.
14238         (c_common_decode_option): Handle -M*.
14239         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
14240         don't call cpp_post_options.
14241         (c_common_finish, check_deps_environment_vars): Update.
14242         * cppfiles.c (stack_include_file, handle_missing_header): Update.
14243         * cpphash.h (CPP_PRINT_DEPS): Remove.
14244         * cppinit.c: Don't include version.h.
14245         (cpp_create_reader): Don't call deps_init.  Initialize
14246         warn_long_long.
14247         (cpp_read_main_file): Init deps if necessary.
14248         (cpp_destroy): Conditionally free deps.
14249         (cpp_finish): Update.
14250         (no_tgt): Remove.
14251         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
14252         (cpp_post_options): Rename post_options.
14253         * cpplib.h (struct cpp_options): Remove some dependency options;
14254         move others to a new structure.
14255         (cpp_post_options): Remove.
14256         (cpp_finish): Comment.
14257         * fix-header.c (read_scan_file): Don't call cpp_post_options.
14258
14259 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
14260
14261         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
14262         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
14263         MMIX_rR_REGNUM as clobbered.
14264         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
14265
14266 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
14267
14268         * diagnostic.h (output_formatted_scalar): Rename from
14269         output_formatted_integer.
14270         * diagnostic.def: Add DK_DEBUG.
14271         * diagnostic.c (output_decimal): Adjust.
14272         (output_long_decimal): Likewise.
14273         (output_unsigned_decimal): Likewise.
14274         (output_octal): Likewise.
14275         (output_long_octal): Likewise.
14276         (output_hexadecimal): Likewise.
14277         (output_long_hexadecimal): Likewise.
14278         * c-pretty-print.c (pp_c_type_specifier): New function.
14279         (pp_c_specifier_qualifier_list): Likewise.
14280         (pp_c_abstract_declarator): Likewise.
14281         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
14282
14283 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
14284
14285         * doc/trouble.texi (Disappointments): Add static constructor and
14286         destructor dependency information for AIX.
14287
14288 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
14289
14290         * cpphash.h (struct printer): New from cppmain.c.
14291         (cpp_reader): New member.
14292         * cppmain.c (struct printer): Move to cpphash.h.
14293         (options, print): Remove.
14294         (account_for_newlines, print_line, maybe_print_line,
14295         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
14296         scan_translation_unit_trad, cb_line_change, cb_ident,
14297         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
14298         cb_def_pragma): Make reentrant.
14299
14300 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14301
14302         * real.c (ieee_64): Always define.
14303         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
14304         (dec_h): Not used yet, hide it.
14305         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
14306         macro controlling use.
14307         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
14308
14309 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
14310
14311         * i386.md (tablejump): Sign extend the operand.
14312         * i386.c (classify_argument): Fix missed case from previous patch.
14313
14314 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
14315
14316         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
14317         to c-copts.c.
14318         (warn_multichar): Die.
14319         (cb_register_builtins): Export.
14320         * c-common.h (warn_multichar, preprocess_file): Remove.
14321         (cb_register_builtins): New.
14322         * c-lang.c (c_init): Remove.
14323         (LANG_HOOKS_INIT): Use c_objc_common_init.
14324         * c-lex.c (init_c_lex): Don't canonicalize filename.
14325         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
14326         (preprocess_file): Make static.  Update for cpplib.
14327         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
14328         (c_common_post_options): Set some cpp options here.
14329         (c_common_init): Move from c-common.c.
14330         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
14331         * cpplib.h (struct cpp_options): Remove in_fname.
14332         (cpp_preprocess_file): Update.
14333         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
14334
14335 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14336
14337         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
14338
14339 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14340
14341         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
14342         backslash in comment preceeding macro definition.
14343         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
14344         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
14345         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
14346
14347 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
14348
14349         * expr.c (store_expr): In condition for checking if value is
14350         generated in TARGET, move call to expr_size last.
14351
14352 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
14353
14354         * c-common.c (c_common_init): Call preprocess_file instead.
14355         (c_common_finish): Move to c-opts.c.
14356         * c-common.h (preprocess_file): new.
14357         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
14358         check_deps_environment_vars, c_common_finish): New.
14359         (c_common_decode_option): Update for out_fname and dependencies.
14360         * cppinit.c (init_dependency_output, output_deps): Remove.
14361         (cpp_destroy): Update prototype.
14362         (cpp_add_dependency_target): New.
14363         (cpp_read_main_file): Don't overlay a buffer.
14364         (cpp_finish): Take a deps output stream and write deps to it.
14365         Return the error count.
14366         (cpp_post_options): Don't canonicalize out_fname, or do anything
14367         with dependencies.
14368         * cpplib.h (struct cpp_options): Remove out_fname and
14369         preprocess_only.
14370         (cpp_add_dependency_target): New.
14371         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
14372         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
14373         set preprocess_only.  Don't handle the output stream directly.
14374
14375 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14376
14377         * dsp16xx.c (print_operand): Fix format specifier.
14378         * dsp16xx.md: Avoid automatic aggregate initialization.
14379         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
14380         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
14381         integer constant modifier.
14382         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
14383         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
14384         guards.
14385         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
14386         * v850.c (v850_select_section): Mark parameter with
14387         ATTRIBUTE_UNUSED.
14388         * global.c (global_alloc): Const-ify.
14389         * ra-colorize.c (hardregset_to_string): Fix format specifier.
14390
14391 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14392
14393         * darwin-c.c (darwin_pragma_options): Const-ify.
14394         * darwin.c (machopic_non_lazy_ptr_name,
14395         machopic_validate_stub_or_non_lazy_ptr): Likewise.
14396         (machopic_indirect_data_reference): Wrap variables in macros
14397         controlling their use.
14398         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
14399         (machopic_select_section): Use parentheses around && within ||.
14400         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
14401
14402 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14403
14404         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
14405         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
14406         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
14407         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
14408         mdr_try_remove_redundant_insns, track_w_reload,
14409         mdr_try_wreg_elim): Make function static to match prototype.
14410         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
14411         parameter with ATTRIBUTE_UNUSED.
14412
14413 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14414
14415         * arc.c (arc_init): Don't use ISO C style function definitions.
14416         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
14417         arm_get_strip_length, arm_strip_name_encoding): Likewise.
14418         * avr.h (progmem_section): Likewise.
14419         * h8300.c h8300_asm_insn_count): Likewise.
14420         * m32r.c (init_idents): Likewise.
14421         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
14422         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
14423         * xtensa.c (xtensa_build_va_list): Likewise.
14424
14425 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
14426
14427         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
14428         * c-opts.c (parse_option): Rename find_opt.
14429         (set_std_c99): New function.
14430         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
14431         (missing_arg): Remove OPT_std_bad.  Handle -o.
14432         (c_common_decode_option): Handle input and output file names,
14433         -o and -remap.  Clean up -std= handling.
14434         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
14435         (cpp_handle_option): Similarly.  Don't handle filenames.
14436
14437 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
14438
14439         * i386.c (classify_argument): Fix computing of field's offsets.
14440
14441 2002-08-11  Andreas Jaeger  <aj@suse.de>
14442
14443         PR target/7531:
14444         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
14445
14446 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
14447
14448         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
14449         reference to clk_objective_c with flag_objc.
14450         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
14451         Likewise.
14452         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
14453
14454 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
14455
14456         * c-opts.c (set_std_cxx98, set_std_c89): New.
14457         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
14458         (c_common_decode_option): Handle new switches from cppinit.c.
14459         Add -std=gnu++98.
14460         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
14461         (no_arg, no_num): Remove.
14462         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
14463         switches apart from -lang-objc and lang-asm.
14464         (cpp_handle_option): Similarly.
14465         * cpplib.h (cpp_set_lang): New.
14466         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
14467         -std=gnu++98.
14468         * objc/lang-specs.h: Remove -ansi.
14469
14470 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
14471                                Graham Stott
14472
14473         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
14474         errors.
14475
14476 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14477
14478         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
14479         emit_jump_insn): Fix uninitialized variable.
14480         * gcov.c (init_line_info): Likewise.
14481         * genautomata.c (transform_3): Add braces around ambiguous
14482         else.
14483         * ifcvt.c (cond_exec_process_insns): Mark parameter with
14484         ATTRIBUTE_UNUSED.
14485         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
14486         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
14487         variable.
14488
14489         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
14490         warnings in output files.
14491
14492 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
14493
14494         * c-common.c (flag_objc): New.
14495         * c-common.h (c_language_kind): Get rid of clk_objective_c
14496         enum value.
14497         (flag_objc): New extern declaration.
14498         * c-decl.c (implicitly_declare): Call objc_check_decl
14499         instead of maybe_objc_check_decl.
14500         (finish_decl): Likewise.
14501         (grokfield): Likewise.
14502         (finish_struct): Likewise.
14503         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
14504         (maybe_objc_comptypes): Rename to objc_comptypes.
14505         (maybe_building_objc_message_expr): Rename to
14506         objc_message_selector.
14507         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
14508         replace with flag_objc as needed.
14509         * c-opts.c (c_common_init_options): Likewise.
14510         (c_common_decode_option): Likewise.
14511         * c-parse.in (init_reswords): Likewise.
14512         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
14513         (maybe_objc_comptypes): Rename to objc_comptypes.
14514         (maybe_building_objc_message_expr): Rename to
14515         objc_message_selector.
14516         * c-typeck.c (comptypes): Call objc_comptypes instead of
14517         maybe_objc_comptypes, and/or objc_message_selector instead of
14518         maybe_building_objc_message_expr.
14519         (comp_target_types): Likewise.
14520         (convert_for_assignment): Likewise.
14521         (warn_for_assignment): Likewise.
14522         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
14523         independently of those for other languages.
14524         * objc/objc-act.c (maybe_objc_comptypes): Delete.
14525         (maybe_objc_check_decl): Delete.
14526         (maybe_building_objc_message_expr): Rename to
14527         objc_message_selector.
14528         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
14529         clk_objective_c; set flag_objc flag.
14530
14531 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14532
14533         * ifcvt.c (find_if_case_2): Test correct basic block for size.
14534
14535 2002-08-09  Dale Johannesen  <dalej@apple.com>
14536
14537         * config/rs6000/rs6000.md: Add sibcall patterns.
14538         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
14539         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
14540         Rewritten to handle sibcalls.
14541         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
14542         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
14543
14544 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
14545
14546         * profile.c (da_file_name): New static var.
14547         (init_branch_prob): Initialize it.
14548         (end_branch_prob): Remove da file.
14549
14550         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
14551         * configure.in (coverage_flags): Default to nothing.
14552         * configure: Rebuilt.
14553
14554 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
14555
14556         * Makefile.in (c-opts.o): Update
14557         * c-opts.c: Include intl.h.
14558         (print_help): Move from cppinit.c.  Remove unused options.
14559         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
14560         (missing_arg): Complain for switches without an argument.
14561         (c_common_decode_option): Reject missing joined arguments.
14562         Handle new switches from cppinit.c.
14563         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
14564         (cpp_handle_option): Similarly.
14565         (print_help): Moved to c-opts.c.
14566         * cpplib.h (struct cpp_options): Remove help_only.
14567         * gcc.c (cpp_unique_options): Remove -$.
14568         * doc/cppopts.texi: Undocument -h.
14569
14570 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
14571
14572         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
14573         legitimate constant.
14574         (legitimate_pic_operand_p): Neither pic operand.
14575         (legitimate_address_p): But legitimate address.
14576         (get_thread_pointer): Generate MEM/u instead of CONST around
14577         UNSPEC_TP.
14578         (print_operand): Remove printing of UNSPEC_TP.
14579         (print_operand_address): And print it here.
14580
14581 2002-08-08  Devang Patel  <dpatel@apple.com>
14582
14583         * objc/objc-act.c (build_selector_translation_table): Issue warning,
14584         when  -Wselector is used,if method for which selector is being
14585         created does not exist.
14586
14587 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
14588
14589         * config/sh/sh.c (prepare_move_operands): Only call
14590         target_reg_operand if TARGET_SHMEDIA.
14591
14592 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
14593
14594         * config/rs6000/rs6000.h, config/rs6000/aix.h,
14595         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
14596         two patches.
14597         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
14598
14599 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
14600             Richard Henderson  <rth@redhat.com>
14601
14602         * emit-rtl.c (gen_rtx_REG): After reload, only return
14603         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
14604
14605 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
14606
14607         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
14608         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
14609         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
14610         macro.
14611
14612 2002-08-08  Adam Nemet  <anemet@lnxw.com>
14613
14614         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
14615         register.
14616         (thumb_expand_prologue): Likewise.
14617         (thumb_output_function_prologue): Likewise.
14618         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
14619         the additional push of the PIC register.
14620
14621 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
14622
14623         * configure.in (enable_coverage): New enable switch.
14624         * configure: Rebuilt.
14625         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
14626         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
14627         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
14628         (mostlyclean): Remove coverage files.
14629         * doc/install.texi: Document enable_coverage.
14630
14631         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
14632         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
14633         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
14634         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
14635         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
14636         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
14637         files.
14638
14639 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
14640
14641         * c-opts.c (cpp_opts): New.
14642         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
14643         (c_common_decode_options): Handle cpplib switches.
14644         (c_common_init_options): Set cpp_opts.
14645         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
14646         (cpp_handle_option): Similarly.
14647
14648 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
14649
14650         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
14651         (TARGET_ALTIVEC_ABI): Same.
14652         (TARGET_ALTIVEC_VRSAVE): Same.
14653
14654         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
14655         icode not CODE_FOR_nothing.  Change switch to if.
14656
14657 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
14658
14659         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
14660
14661 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
14662
14663         * stor-layout.c (place_union_field): For bitfields if
14664         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
14665         TYPE_USER_ALIGN.
14666
14667 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14668
14669         * pa.c (struct deferred_plabel): Constify name field.
14670
14671 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
14672
14673         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
14674
14675 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14676
14677         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
14678         local_prefix are the same.
14679         * configure: Rebuilt.
14680
14681 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
14682             Richard Henderson  <rth@redhat.com>
14683
14684         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
14685         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
14686         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
14687         (place_field): Likewise.
14688         * config/i386/i386.c (x86_field_alignment): Don't check
14689         DECL_USER_ALIGN here.
14690         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
14691         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
14692         prototype.
14693         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
14694         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
14695         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
14696         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
14697         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
14698         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
14699
14700 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
14701
14702         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
14703         * c-common.c: Don't include tree-inline.h.
14704         (c_common_init_options, c_common_post_options): Move to c-opts.c.
14705         * c-common.h (c_common_decode_option): New.
14706         * c-decl.c (c_decode_option): Remove.
14707         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
14708         * c-opts.c: New file.
14709         * c-tree.h (c_decode_option): Remove.
14710         * doc/passes.texi: Update.
14711         * objc/objc-act.c (objc_decode_option): Remove.
14712         * objc/objc-act.h (objc_decode_option): Remove.
14713         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
14714         c_common_decode_option.
14715
14716 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
14717
14718         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
14719         dependency on TARGET_DOUBLE_FLOAT.
14720
14721 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
14722
14723         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
14724         overwrite callee-save registers.  Fix comment.
14725
14726 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
14727
14728         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
14729         in target_flags based on ISA, if it was not set on the command
14730         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
14731         support Branch Likely instructions.
14732         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
14733         (TARGET_BRANCHLIKELY): Likewise.
14734         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
14735         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
14736         ISA_HAS_BRANCHLIKELY.
14737         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
14738         * doc/invoke.texi: Document new MIPS -mbranch-likely and
14739         -mno-branch-likely options.
14740
14741 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14742
14743         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
14744
14745         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
14746         $(GCONFIG_H).
14747
14748 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
14749
14750         * c-decl.c (duplicate_decls): Error out for incompatible TLS
14751         declarations.
14752
14753         * testsuite/gcc.dg/tls/diag-3.c: New.
14754
14755 2002-08-06  Dale Johannesen  <dalej@apple.com>
14756
14757         * c-common.c (fname_decl): Use line number 0 for
14758         __func__, to avoid confusing debuggers.
14759
14760 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
14761
14762         * gcov.c: Tidy.
14763         (struct line_info, struct coverage): New structures.
14764         (gcov_file_name, gcov_file): Remove globals.
14765         (output_data): Take source file parameter. Fix memory leak. Break
14766         up into ...
14767         (init_line_info, output_line_info, make_gcov_file_name,
14768         accumulate_branch_counts): ... here.
14769         (calculate_branch_probs, function_summary): Adjust.
14770         (main): Adjust.
14771         (function_*): Remove global variables.
14772
14773 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14774
14775         * dwarf2out.c: Remove unused macros.
14776
14777 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14778
14779         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
14780
14781 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
14782
14783         * cppinit.c (struct lang_flags): Rename trigraphs std.
14784         (set_lang): Update.
14785         * cpplib.h (struct cpp_options): New member std.
14786         * cppmacro.c (_cpp_builtin_macro_text): Use std.
14787         (collect_args): Flag whether to swallow a possible future
14788         comma pasted with varargs.
14789         (replace_args): Use this flag.
14790         * doc/cpp.texi: Update varargs extension documentation.
14791
14792 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14793
14794         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
14795
14796 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14797
14798         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
14799         and MODE_CLASS_INT modes.
14800
14801 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
14802
14803         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
14804         --{enable,disable}-threads is given to configure.
14805         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
14806         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
14807         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
14808         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
14809         Remove thread_file setting here.
14810
14811 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
14812
14813         * doc/install.texi (Binaries): Update Bull Freeware URL.
14814
14815 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14816
14817         * doc/gcc.texi (Top): Rename Index to Keyword Index.
14818
14819 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
14820
14821         * gcov.c (output_data): Round to % to nearest, tweak formatting.
14822
14823 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
14824
14825         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
14826         of the operands into MINUS_EXPR if code is PLUS_EXPR.
14827
14828 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
14829
14830         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
14831         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
14832         drectve_section): Define.
14833         * config/i386/t-interix: Replace interix.o rule with winnt.o.
14834         * config/i386/interix.c: Remove.
14835
14836 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
14837
14838         * attribs.c: Don't include obstack.h.
14839         * builtins.c: Likewise.
14840         * cfganal.c: Likewise.
14841         * cfgbuild.c: Likewise.
14842         * cfgcleanup.c: Likewise.
14843         * emit-rtl.c: Likewise.
14844         * loop.c: Likewise.
14845         * stmt.c: Likewise.
14846
14847         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
14848
14849 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
14850
14851         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
14852
14853 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
14854
14855         * doc/invoke.texi: Remove duplicated paragraph describing
14856         TARGET_SWITCHES.
14857
14858 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
14859
14860         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
14861         * collect2.h (permanent_obstack): Delete declaration.
14862         * collect2.c (permanent_obstack): Delete definition.
14863         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
14864         * expr.c: Don't include obstack.h.
14865         (permanent_obstack): Delete declaration.
14866         * function.c: Don't include obstack.h.
14867         (permanent_obstack): Delete declaration.
14868         * integrate.c: Don't include obstack.h.
14869         (function_maybepermanent_obstack): Delete declaration.
14870         * print-tree.c (debug_tree): Use x*alloc not permalloc.
14871         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
14872         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
14873         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
14874         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
14875         of permalloc, expralloc, perm_calloc.
14876         * tree.c (permanent_obstack): Delete definition.
14877         (init_ttree): Rename from init_obstacks.
14878         (permalloc): Delete.
14879         (perm_calloc): Delete.
14880         (dump_tree_statistics): Don't print information about
14881         permanent_obstack.
14882         * varasm.c (assemble_start_function): Use xstrdup instead of
14883         permalloc/strcpy.
14884         (assemble_variable): Likewise.
14885         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
14886         permalloc.
14887         (unicosmk_add_extern): Likewise.
14888         * config/c4x/c4x.c (c4x_external_ref): Likewise.
14889         (c4x_global_label): Likewise.
14890         * config/frv/frv.c (frv_encode_section_info): Likewise.
14891         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
14892         (i386_pe_record_exported_symbol): Likewise.
14893         * config/mips/mips.c (mips_output_external): Likewise.
14894         (mips_output_external_libcall): Likewise.
14895         * config/pa/pa.c: (permanent_obstack): Delete declaration.
14896         (output_call): Use ggc_strdup instead of allocating on
14897         permanent_obstack.
14898         * config/romp/romp.c: Include ggc.h.
14899         (get_symref): Don't declare permanent_obstack, use ggc_strdup
14900         intead of permanent_obstack.
14901         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
14902         instead of permalloc.
14903         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
14904         instead of permalloc
14905         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
14906         instead of permalloc.
14907         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
14908         permalloc.
14909
14910 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
14911
14912         Contribute a port developed primarily by Michael Meissner,
14913         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
14914         * config.gcc: Add frv-elf target.
14915         * config/frv/cmovd.c: New file.
14916         * config/frv/cmovh.c: New file.
14917         * config/frv/cmovw.c: New file.
14918         * config/frv/frv-abi.h: New file.
14919         * config/frv/frv-asm.h: New file.
14920         * config/frv/frv-modes.def: New file.
14921         * config/frv/frv-protos.h: New file.
14922         * config/frv/frv.c: New file.
14923         * config/frv/frv.h: New file.
14924         * config/frv/frv.md: New file.
14925         * config/frv/frvbegin.c: New file.
14926         * config/frv/frvend.c: New file.
14927         * config/frv/lib1funcs.asm: New file.
14928         * config/frv/media.h: New file.
14929         * config/frv/modi.c: New file.
14930         * config/frv/t-frv: New file.
14931         * config/frv/uitod.c: New file.
14932         * config/frv/uitof.c: New file.
14933         * config/frv/ulltod.c: New file.
14934         * config/frv/ulltof.c: New file.
14935         * config/frv/umodi.c: New file.
14936         * config/frv/xm-frv.h: New file.
14937
14938         * config/frv/media.h: Removed again.
14939
14940 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14941
14942         * gcov.c (bb_file_time): New static variable.
14943         (object_directory): May also be object file.
14944         (preserve_paths): New static variable.
14945         (print_usage): Adjust.
14946         (options): Adjust.
14947         (process_args): Adjust.
14948         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
14949         file. Find modification date on bb file.
14950         (read_profile): Don't rewind a NULL file.
14951         (format_hwint): New static function.
14952         (function_summary): Use format_hwint.
14953         (output_data): SOURCE_FILE_NAME is never relative to
14954         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
14955         mangling. Adjust output format to make it more machine readable.
14956         * doc/gcov.texi: Document & clarify semantics.
14957
14958 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
14959
14960         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
14961
14962 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14963
14964         * gcc.c (cc1_options): Pass output file as auxbase when
14965         appropriate.
14966         * profile.c (init_branch_prob): FILENAME has already had ending
14967         stripped.
14968         * final.c (end_final): Likewise.
14969         * toplev.c (aux_base_name): New global.
14970         (compile_file): Pass aux_base_name to init init_branch_prob and
14971         end_final.
14972         (independent_decode_option, case 'a'): New auxinfo options.
14973         (case 'd'): Protect against mising basename.
14974         (do_compile): Initialize aux_base_name.
14975         * toplev.h (aux_base_name): New global.
14976         * doc/invoke.texi: Adjust documentation.
14977
14978 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
14979
14980         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
14981         of TARGET_ALIGN_DOUBLE.
14982
14983 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
14984
14985         * diagnostic.c (inform): New function.
14986         * diagnostic.h (inform): Declare.
14987
14988 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
14989
14990         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
14991         (movhi_internal): Same.
14992         (movqi_internal): Same.
14993         (movdi_internal64): Same.
14994
14995         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
14996
14997         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
14998         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
14999         (COMMON_ASM_OP): Define.
15000         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
15001         Use ALIGN parameter.
15002         (LOCAL_COMMON_ASM_OP): Define.
15003         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
15004
15005 2002-08-03  Roger Sayle  <roger@eyesopen.com>
15006
15007         * builtins.def: Define new builtin functions exp, expf, expl,
15008         log, logf and logl (and their __builtin_* variants).
15009         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
15010         Define exp_optab and log_optab.
15011         * optabs.c (init_optans): Initialize exp_optab and log_optab.
15012         * genopinit.c (optabs): Implement exp_optab and log_optab
15013         using exp?f2 and log?f2 patterns.
15014         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
15015         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
15016         (expand_builtin): Ignore the new builtins (and all cos and
15017         sin variants) when not optimizing.  Expand new builtins via
15018         expand_builtin_mathfn when flag_unsafe_math_optimizations.
15019
15020         * doc/extend.texi: Document new exp and log builtins.
15021         * doc/md.texi: Document new exp?f2 and log?f2 patterns
15022         (and previously undocumented cos?f2 and sin?f2 patterns).
15023
15024 2002-08-03  Jason Merrill  <jason@redhat.com>
15025
15026         * explow.c (int_expr_size): New fn.
15027         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
15028         * expr.h: Declare it.
15029
15030 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
15031
15032         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
15033         gengtype-* dependencies.
15034
15035 2002-08-02  Eric Christopher  <echristo@redhat.com>
15036
15037         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
15038         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
15039         #ifndef to #undef.
15040         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
15041
15042 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
15043
15044         PR optimize/7067
15045         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
15046         small if optimizing for size.
15047
15048 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
15049
15050         * configure.in (FORBUILD): Use $build_alias.
15051         * configure: Regenerated.
15052
15053 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
15054
15055         * config.gcc: Don't include mips/abi64.h in $tm_file.
15056         * hard-reg-set.h (call_really_used_regs): Declare.
15057         * config/mips/abi64.h: Remove file.
15058         * config/mips/linux.h,
15059         * config/mips/iris6.h: Don't include it.
15060         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
15061         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
15062         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
15063         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
15064         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
15065         Bring across definitions from abi64.h.
15066         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
15067         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
15068         (struct mips_args): Use it.
15069         * config/mips/mips.c (mips_conditional_register_usage): Define.
15070
15071 2002-08-02  Jason Merrill  <jason@redhat.com>
15072
15073         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
15074         * langhooks.c (lhd_expr_size): Define default.
15075         * langhooks.h (struct lang_hooks): Add expr_size.
15076         * explow.c (expr_size): Call it.
15077         * expr.c (store_expr): Don't copy an expression of size zero.
15078         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
15079         to store.
15080         * Makefile.in (builtins.o): Depend on langhooks.h.
15081
15082 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15083
15084         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
15085         * ra-debug.c: Include "tm_p.h".
15086         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
15087
15088 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
15089
15090         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
15091         when not honoring signalling NaNs.
15092         (simplify_ternary_operation): a == b has a definite value
15093         when not honoring NaNs.
15094
15095 2002-08-02  Jason Merrill  <jason@redhat.com>
15096
15097         * gdbinit.in (pct): New macro.
15098
15099 2002-08-01  Stan Shebs  <shebs@apple.com>
15100             Andreas Tobler  <toa@pop.agri.ch>
15101
15102         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
15103         plays nice with Darwin headers.
15104         (_BSD_RUNE_T_DEFINED_): Likewise.
15105
15106 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
15107
15108         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
15109         * cppinit.c (cpp_post_options): Likewise.
15110
15111         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
15112         warning about 'LL' suffix (but not 'ULL' etc) when
15113         -Wno-long-long is in effect.
15114
15115         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
15116         Check for failing time()/localtime(), issue a warning, and
15117         make __TIME__ and __DATE__ expand to fallback strings.
15118
15119         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
15120         and __TIME__ when the date and time cannot be determined.
15121
15122 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
15123
15124         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
15125
15126 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
15127
15128         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
15129
15130 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
15131
15132         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
15133         (mipsisa64sb1el-*-elf*): Likewise.
15134         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
15135         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
15136         (TARGET_SB1, TUNE_SB1): New macros.
15137         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
15138         -mtune flags.
15139
15140 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
15141
15142         * varasm.c (asm_emit_uninitialized): Return false if global BSS
15143         and ASM_EMIT_BSS not supported by target.
15144         (assemble_variable): Do not duplicate uninitialized logic.
15145         Fall through if asm_emit_uninitialized failed.
15146
15147 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
15148
15149         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
15150
15151 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
15152
15153         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
15154         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
15155
15156         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
15157         HOST_BITS_PER_WIDE_INT == 64.
15158
15159 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15160
15161         * df.c (df_insn_table_realloc): Change parameter to unsigned.
15162         * optabs.c (expand_binop): Make variable unsigned.
15163         * simplify-rtx.c (simplify_subreg): Likewise.
15164         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
15165
15166 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15167
15168         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
15169
15170 2002-08-01  Richard Henderson  <rth@redhat.com>
15171
15172         * toplev.c (parse_options_and_default_flags): Don't set
15173         flag_reorder_blocks for -Os.
15174
15175         * config/avr/avr.c (avr_optimization_options): Remove.
15176         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
15177         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
15178         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
15179
15180 2002-08-01  H.J. Lu <hjl@gnu.org>
15181             Richard Henderson  <rth@redhat.com>
15182
15183         * output.h (DECL_READONLY_SECTION): Remove.
15184         (decl_readonly_section): Declare.
15185         * varasm.c (decl_readonly_section): New.
15186         (default_section_type_flags, default_select_section): Use it.
15187         * config/arm/pe.c (arm_pe_unique_section): Likewise.
15188         * config/i386/interix.c (i386_pe_unique_section): Likewise.
15189         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
15190         * config/mcore/mcore.c (mcore_unique_section): Likewise.
15191         * config/mips/mips.c (mips_unique_section): Likewise.
15192
15193 2002-08-01  Richard Henderson  <rth@redhat.com>
15194
15195         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
15196         refers to a subroutine parameter.
15197
15198 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
15199
15200         * varasm.c (assemble_visibility): Strip name encoding.
15201
15202 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15203
15204         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
15205         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
15206         when there is no frame pointer.
15207         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
15208         registers properly.
15209         * config/ns32k/__unorddf2.c: New file.
15210         * config/ns32k/__unordsf2.c: New file.
15211         * config/ns32k/t-ns32k: New file.
15212         * config.gcc (ns32k-*-netbsd*): Use it.
15213
15214 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
15215
15216         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
15217
15218 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15219
15220         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
15221
15222 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
15223
15224         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
15225
15226 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
15227
15228         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
15229
15230 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15231
15232         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
15233         n_sets): Removed.
15234         (expr_hash_table, set_hash_table): Type changed to ...
15235         (struct hash_table): New type.
15236         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
15237         insert_expr_in_table, insert_set_in_table, compute_hash_table,
15238         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
15239         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
15240         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
15241         (alloc_hash_table): New.
15242         (free_set_hash_table, free_expr_hash_table): Merged to ...
15243         (free_hash_table): New.
15244         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
15245         (compute_hash_table_work): New.
15246         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
15247         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
15248         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
15249         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
15250         hoist_code, one_code_hoisting_pass,
15251         trim_ld_motion_mems): Altered due to changed type of hash tables.
15252
15253 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
15254
15255         * final.c (output_alternate_entry_point):
15256         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
15257
15258 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15259
15260         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
15261         avoid ISO C style function definition.
15262
15263         * expr.c (expand_assignment): Delete unused variable.
15264
15265 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
15266
15267         * c-common.c (cb_register_builtins): Set
15268         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
15269         is given, and to 0 otherwise.
15270         * combine.c (simplify_if_then_else): HONOR_NANS
15271         implies FLOAT_MODE_P.
15272
15273 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15274
15275         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
15276         (cpp_handle_option): Don't handle it.
15277         (print_help): Update.
15278         * doc/cppopts.texi: Update.
15279
15280 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15281
15282         * c-common.c (cb_register_builtins): If C++, define
15283         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
15284         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
15285 cp:
15286         * lang-specs.h: Simplify in accordance with new code in
15287         c-common.c.
15288
15289 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15290
15291         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
15292         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
15293         * c-decl.c: Move all warning and flag variables to c-common.c.
15294         * c-format.c: Move all warning variables to c-common.c.
15295         * c-tree.h: Move all warning and flag declarations to c-common.h.
15296         * objc/objc-act.c: Move all warning variables to c-common.c.
15297         (flag_warn_protocol): Rename warn_protocol.
15298
15299 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15300
15301         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
15302
15303 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
15304
15305         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
15306         .section prefix.
15307
15308 2002-07-31  Stan Shebs  <shebs@apple.com>
15309
15310         * config.gcc (i[34567]86-*-darwin*): New configuration.
15311         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
15312         defining.
15313         (TARGET_ENCODE_SECTION_INFO): Ditto.
15314         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
15315         * config/darwin.c (machopic_indirect_data_reference): Remove
15316         setting of RTX_UNCHANGING_P.
15317         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
15318         not to be applied to sums.
15319         * config/i386/t-darwin: New file.
15320         * config/i386/darwin.h: New file.
15321         * config/i386/i386.h (TARGET_MACHO): Add default definition.
15322         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
15323         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
15324         label and not the GOT add.
15325         (constant_address_p): For Mach-O, seeing a CONST is enough.
15326         (legitimate_pic_address_disp_p): Add a Mach-O case.
15327         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
15328         (legitimize_pic_address): Use generic Mach-O code to legitimize.
15329         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
15330         if outputting a difference.
15331         (ix86_output_addr_diff_elt): Add Mach-O case.
15332         (ix86_expand_move): Similarly.
15333         (ix86_expand_call): Similarly.
15334         (current_machopic_label_num): New global.
15335         (machopic_output_stub): New function.
15336         (ix86_value_regno): New function.
15337         (ix86_function_value): Use it instead of VALUE_REGNO.
15338         (ix86_libcall_value): Ditto.
15339         * config/i386/unix.h (VALUE_REGNO): Remove.
15340
15341 2002-07-31  Graham Stott  <grahas@btinternet.com>
15342
15343         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
15344         hash for LABEL_REF's.
15345
15346 2002-07-31  Graham Stott  <grahams@btinternet.com>
15347
15348         * config/rs6000/rs6000.c (spe_init_builtins,
15349         altivec_init_builtins, rs6000_common_init_builtins):
15350         Replace ANSI with K&R function def.
15351
15352 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
15353
15354         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
15355         for CCFPmode.
15356
15357 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
15358
15359         * config/mips/crtn.asm: Don't use __mips16 to determine the
15360         return-address offset.  Define RA to a suitable temporary
15361         register for the return address.
15362
15363 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
15364
15365         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
15366         constraints to 'd'.
15367
15368 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
15369
15370         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
15371         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
15372         patch on 2002-07-29.)
15373         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15374
15375 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15376
15377         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
15378         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
15379         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
15380         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
15381         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
15382         (ASM_GLOBALIZE_LABEL): Delete.
15383         (GLOBAL_ASM_OP): Define.
15384
15385         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
15386
15387         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
15388         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
15389
15390 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
15391
15392         * doc/extend.texi (Hints implementation): Document that GCC
15393         mostly ignores `register'.
15394
15395 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
15396
15397         * flags.h: Declare flag_finite_math_only.
15398         Use it in definition of HONOR_NANS and
15399         HONOR_INFINITIES.
15400         * c-common.c (cb_register_builtins): Emit
15401         __FINITE_MATH_ONLY__ when flag_finite_math_only
15402         is set.
15403         * combine.c (simplify_if_then_else): If
15404         flag_finite_math_only is set, a == b has a
15405         definite value.
15406         * toplev.c: Initialize flag_finite_math_only.
15407         (set_flags_fast_math): Set it on -ffast-math.
15408         (flag_fast_math_set_p): Test it.
15409         * doc/invoke.texi: Document -ffinite-math-only.
15410
15411 2002-07-30  Richard Henderson  <rth@redhat.com>
15412
15413         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
15414         (noce_process_if_block): Likewise.
15415
15416 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
15417
15418         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
15419         Bail out early if false_expr is NULL and we'd crash due to this.
15420         * genemit.c (gen_expand): Recognize return insns even if the return
15421         appears in a parallel.
15422         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
15423         * config/fp-bit.c: Likewise.
15424         * doc/tm.texi: Document it.
15425
15426 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
15427             Zack Weinberg  <zack@codesourcery.com>
15428
15429         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
15430         CODE_FOR_nothing.  Change switch to if.
15431         (rs6000_expand_binop_builtin): Same.
15432         (rs6000_expand_builtin): Expand builtin if target support enabled.
15433         (rs6000_init_builtins): Init builtin if target support enabled.
15434         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
15435
15436 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15437
15438         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
15439
15440 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
15441
15442         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
15443
15444 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
15445
15446         * sh.md (cond_delay_slot): New attribute.
15447         (cbranch delay): Use it for anulled-true case.
15448         (stuff_delay_slot): New pattern.
15449         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
15450         delay slot insn.
15451         (gen_far_branch): Emit stuff_delay_slot pattern.
15452
15453 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
15454
15455         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
15456
15457 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
15458
15459         * fold-const.c: Fix comment typos.
15460         * gcse.c: Likewise.
15461         * reload1.c: Likewise.
15462
15463 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
15464
15465         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
15466         for TARGET_SPE.
15467
15468 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
15469
15470         * c-pretty-print.h (pp_c_statement): Declare.
15471         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
15472         (pp_c_statement): Define.
15473
15474 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15475
15476         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
15477         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
15478         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
15479         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
15480         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
15481         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
15482
15483         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
15484         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
15485
15486 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
15487
15488         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
15489         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
15490         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
15491         (pp_c_expression): Update.
15492
15493 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15494
15495         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
15496         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
15497         * alpha/vms-ld.c (main): Likewise.
15498         * dsp16xx.c (double_reg_to_memory): Likewise.
15499         * mcore.c (mcore_expand_prolog): Likewise.
15500         * cppfiles.c (read_name_map): Likewise.
15501         * gensupport.c (process_rtx, identify_predicable_attribute,
15502         alter_test_for_insn): Likewise.
15503         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
15504
15505 2002-07-29  Roger Sayle  <roger@eyesopen.com>
15506
15507         * builtins.c (expand_builtin):  Change the default behavior to
15508         only issue an error if the builtin function doesn't have a
15509         fallback library call.  Remove several cases handled by the
15510         new default.
15511
15512 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
15513
15514         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
15515         floating point format of the target is IEEE.
15516         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
15517         format of the target is DEC.
15518
15519 2002-07-29  Richard Henderson  <rth@redhat.com>
15520
15521         * unroll.c (verify_addresses): Remove.
15522         (find_splittable_givs): Never split DEST_ADDR givs.
15523
15524 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
15525
15526         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
15527         is exhaustive.
15528         (Files): Improve documentation on generated source files.
15529
15530         * doc/extend.texi (Translation implementation): Document what
15531         diagnostics look like.
15532         (Identifiers implementation): Document that there's normally no
15533         limit on identifier names.
15534         (Integers implementation): Document two's complement.
15535         (Hints implementation): Document that GCC honors 'inline', mostly.
15536         (Preprocessing directives implementation): Document that GCC
15537         requires the current time.
15538
15539 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
15540
15541         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
15542         (pp_initializer): New macro.
15543         (pp_c_initializer): Declare.
15544         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
15545         (pp_c_initializer): Define.
15546         (pp_c_initializer_list): New function.
15547         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
15548         VECTOR_CST, CONSTRUCTOR.
15549         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
15550         IMAGPART_EXPR.
15551         (pp_c_cast_expression): Handle FLOAT_EXPR.
15552         (pp_c_assignment_expression): Handle INIT_EXPR.
15553         (pp_c_expression): Update.
15554
15555 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
15556
15557         * objc/objc-act.c (objc_init): Return immediately if filename
15558         is NULL.
15559
15560 2002-07-29  Eric Christopher  <echristo@redhat.com>
15561
15562         * config/mips/elf.h: Remove ecoff.h and gofast includes.
15563         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
15564         (SDB_DEBUGGING_INFO): Undefine.
15565         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
15566         (PUT_SDB_SIZE): Remove.
15567         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
15568         (STARTFILE_SPEC): Add isa3264 define.
15569         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
15570         * config/mips/ecoff.h: Remove. and here...
15571         * config/mips/iris3.h: and here...
15572         * config/mips/sni-svr4.h: and here...
15573         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
15574         Add assembler -mmdebug options for non-dwarf debugging.
15575         * config/mips/r3900.h: Remove debug info defines.
15576         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
15577         * config/mips/isa3264.h: Ditto.
15578         * config/mips/t-isa3264: Fix up for file removal and gofast configure
15579         change.
15580         * config/mips/t-elf: Ditto.
15581         * config/mips/t-ecoff: Ditto.
15582         * config/mips/t-r3900: Ditto.
15583         * config/mips/t-iris5-6: Ditto.
15584         * config/mips/t-isa3264: Ditto.
15585         * config/mips/t-linux: Remove.
15586         * config/mips/t-netbsd: Remove.
15587         * config/mips/t-mips: New file.
15588         * config/mips/t-gofast: Ditto.
15589         * config/mips/netbsd.h: Remove unnecessary undefines.
15590         * config/mips/linux.h: Remove #include of mips.h.
15591         * config.gcc: Add mips.h include for elf targets. Remove tm_file
15592         for ecoff. Add gofast configure option for mips.
15593
15594 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
15595
15596         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
15597         linker scripts use STARTUP directives consistently.
15598         * configure: Regenerate.
15599         * config.in: Regenerate.
15600         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
15601         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
15602         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
15603         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
15604         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
15605         will be the same.
15606
15607 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
15608
15609         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
15610
15611 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
15612
15613         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
15614
15615 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
15616
15617         * config/rs6000/rs6000.md: Move altivec patterns from here...
15618
15619         * config/rs6000/altivec.md: ...to here.
15620
15621 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
15622
15623         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
15624
15625 2002-07-29  Richard Henderson  <rth@redhat.com>
15626
15627         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
15628         set_mem_attributes and add BITPOS argument.  Subtract it from
15629         OFFSET when same is adjusted.
15630         (set_mem_attributes): New wrapper function.
15631         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
15632         remove offset adjustment hack.
15633         * expr.h (set_mem_attributes_minus_bitpos): Declare.
15634
15635 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
15636
15637         * Makefile.in (C_OBJS): Include c-pretty-print.o
15638         (c-pretty-print.o): Add depency rule.
15639         * pretty-print.h: Add more macros.
15640         * c-pretty-print.c: New file.
15641         * c-pretty-print.h: Likewise.
15642
15643 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
15644
15645         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
15646         constants to __ev64_s32__.
15647         (__internal_ev_mwhgsmian): Same.
15648         (__internal_ev_mwhgsmfan): Same.
15649         (__internal_ev_mwhgssfan): Same.
15650         (__internal_ev_mwhgumiaa): Same.
15651         (__internal_ev_mwhgsmiaa): Same.
15652         (__internal_ev_mwhgsmfaa): Same.
15653         (__internal_ev_mwhgssfaa): Same.
15654
15655 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
15656
15657         * varasm.c (assemble_variable): Narrow test for uninitialized
15658         without BSS target support.
15659
15660 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
15661
15662         * profile.c: Add file comment describing the overall algorithm and
15663         structures.
15664         (struct edge_info): Add comments.
15665         (struct bb_info): Add comments.
15666         * basic-block.h (EDGE_*): Add comments.
15667         * doc/gcov.texi (Gcov Data Files): Document bit flags.
15668
15669 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
15670
15671         * config/xtensa/elf.h, config/xtensa/linux.h
15672         (TARGET_OS_CPP_BUILTINS): Define.
15673         (CPP_PREDEFINES): Remove.
15674         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
15675         (CPP_SPEC): Remove.
15676
15677 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
15678
15679         * gensupport.c: Include hashtab.h.
15680         (insn_elision, condition_table, hash_c_test, cmp_c_test,
15681         maybe_eval_c_test): New routines and data structures to
15682         support insn elision.
15683         (init_md_reader): Read and initialize the condition_table.
15684         (read_md_rtx): Discard insn patterns whose C test is provably
15685         always false.
15686         * gensupport.h: Declare new functions and data structures.
15687
15688         * genconditions.c, dummy-conditions.c: New files.
15689         * Makefile.in: Build genconditions; run it to construct
15690         insn-conditions.c; build that and link it into most gen*
15691         programs.
15692         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
15693         (GEN): Delete, unused.
15694         (STAGESTUFF): Update.
15695
15696         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
15697         CODE_FOR_nothing for all elided patterns.
15698         (main): Tweaked to support this.
15699         * genflags.c (gen_proto): Emit a static inline generator
15700         function here for all elided patterns, which simply returns
15701         NULL_RTX.
15702         (gen_insn): Do not define HAVE_xxx for elided patterns.
15703         (main): Tweaked to support this.  No need to forward-declare
15704         struct rtx_def.
15705         * genrecog.c: Do not bother emitting the C test if it's known
15706         to be true at compile time.
15707
15708 2002-07-29  Mike Stump  <mrs@apple.com>
15709
15710         * config.gcc (target_gtfiles): Initialize, as otherwise cross
15711         compilers hosted on powerpc-apple-darwin6.0 won't even build.
15712
15713 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
15714
15715         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
15716         remove clobber of LR.
15717         (sibcall_insn, sibcall_value_insn): Update accordingly.
15718         (sibcall_epilogue): Remove debugging comment from assembler stream.
15719
15720 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
15721
15722         * pretty-print.h: Define more macros.
15723         * diagnostic.h (output_formatted_integer): Moved from...
15724         * diagnostic.c: ... here.
15725
15726 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15727
15728         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
15729
15730 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
15731
15732         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
15733         arguments.  Always use ".-symbol" as expression argument.
15734         * doc/tm.texi: Update to match.  Document requirement for
15735         ".size symbol, .-symbol" to be acceptable to assembler.
15736
15737         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
15738         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
15739         config/i386/freebsd-aout.h, config/i386/sco5.h,
15740         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
15741         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
15742
15743 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15744
15745         * Makefile.in (gengtype-lex.c): Fix error in last change.
15746
15747         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
15748         backslash.
15749
15750         * Makefile.in (vmsdbgout.o): Depend on function.h.
15751
15752         * vmsdbgout.c: Include function.h.
15753
15754 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
15755
15756         * prefix.c (update_path): Don't strip single `.' path components
15757         unless stripping a later `..' component.  Exit loop as soon as
15758         a valid path is found.
15759
15760 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15761
15762         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
15763         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
15764         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
15765         floating point unordered comparisons (e.g. __builtin_isgreater)
15766         as const, and leave the remaining GCC_BUILTINs unchanged.
15767
15768         * c-decl.c (builtin_function): No need to explicitly mark
15769         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
15770
15771 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15772
15773         * Makefile.in: rtlanal.o now depends upon real.h.
15774
15775         * flags.h [flag_signaling_nans]: New flag.
15776         [HONOR_SNANS]: New macro.
15777
15778         * toplev.c [flag_signaling_nans]: Initialize to false.
15779         (f_options): Add processing for "-fsignaling-nans".
15780         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
15781         (process_options): flag_signaling_nans implies flag_trapping_math.
15782
15783         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
15784         when -fsignaling-nans.  First step to implementing WG14's N965.
15785
15786         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
15787         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
15788         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
15789
15790         * simplify-rtx.c (simplify_relational_operation): Conditionalize
15791         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
15792
15793         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
15794         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
15795         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
15796         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
15797         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
15798
15799         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
15800
15801 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15802
15803         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
15804         * gengtype-lex.l (YY_USE_PROTOS): Undef.
15805         (YY_DECL): Define.
15806
15807 2002-07-27  Roger Sayle  <roger@eyesopen.com>
15808
15809         * doc/invoke.texi: Document that both -fno-builtin-foo and
15810         -fno-builtin are supported by the g++ front-end.
15811
15812 2002-07-27  Stan Shebs  <shebs@apple.com>
15813
15814         * configure.in: Rename config_gtfiles to target_gtfiles.
15815         * configure: Regenerate.
15816         * doc/gty.texi: Update reference.
15817         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
15818         instead of appending to it.
15819
15820 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
15821
15822         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
15823         vectors are split into two registers.
15824         (function_arg): Same.
15825
15826 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
15827
15828         * pa.md (extv): Check predicates before emitting extv_32.
15829
15830 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
15831
15832         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
15833         (rs6000_traceback): New var.
15834         (rs6000_override_options): Set rs6000_traceback.
15835         (rs6000_output_function_epilogue): Implement traceback options.
15836         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
15837         (rs6000_traceback_name): Declare.
15838
15839         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
15840         label reference when NO_PROFILE_COUNTERS.
15841
15842 2002-07-26  Jason Merrill  <jason@redhat.com>
15843
15844         * function.c (assign_parms): Handle frontend-directed pass by
15845         invisible reference.
15846
15847 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15848
15849         * doc/cppopts.texi: Update.
15850
15851 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15852
15853         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
15854         warnings on assertions.
15855
15856 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
15857
15858         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
15859         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
15860         RID_COMPL): Remove.
15861         * c-parse.in (rid_to_yy): Similarly.
15862
15863 2002-07-26  Jason Merrill  <jason@redhat.com>
15864
15865         * c-dump.c: Resurrect.
15866         * tree-dump.c: Move C-specific stuff to c-dump.c.
15867         * c-common.h: Declare c_dump_tree.
15868         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
15869         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
15870         (c-dump.o): New rule.
15871
15872 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
15873
15874         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
15875         PowerPC64.  Replace "T" and "S" constraints with "n" when the
15876         predicate will do.  Formatting fixes.
15877         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
15878         as for extzvsi_internal1.
15879
15880 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15881
15882         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
15883         DERIV_END_LABEL_FMT): Remove.
15884         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
15885
15886 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15887
15888         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
15889         Remove.
15890
15891 2002-07-25  Stan Shebs  <shebs@apple.com>
15892
15893         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
15894         local var dwarfp.
15895         (output_compiler_stub): Remove unused locals.
15896         (output_call): Always initialize line number.
15897
15898 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15899
15900         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
15901         * sh.md (truncdiqi2, movqi_media): Likewise.
15902
15903 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15904
15905         * gcse.c (obstack_chunk_alloc): Remove.
15906         (gcse_alloc): Fix to count allocated bytes.
15907         * collect2.c (SYMBOL__MAIN): Remove.
15908
15909 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15910
15911         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
15912         HAVE_TARGET_EXECUTABLE_SUFFIX.
15913
15914 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
15915
15916         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
15917         SIZE, EXPR and OFFSET.
15918
15919 2002-07-25  Richard Henderson  <rth@redhat.com>
15920
15921         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
15922         in ARRAY_REF of DECL_P case.
15923
15924 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
15925
15926         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
15927         description.  Document -mips32, -mips64, and the associated -march
15928         values.  Describe the "mipsN" arguments to -march.  Say that the
15929         -mipsN options are equivalent to -march.  Reword the description
15930         of default type sizes.
15931         * toplev.h (target_flags_explicit): Declare.
15932         * toplev.c (target_flags_explicit): New var.
15933         (set_target_switch): Update target_flags_explicit.
15934         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
15935         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
15936         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
15937         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
15938         * config/mips/mips.h (mips_cpu_info): New struct.
15939         (mips_cpu_string, mips_explicit_type_size_string): Remove.
15940         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
15941         (MIPS_CPP_SET_PROCESSOR): New macro.
15942         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
15943         Define _MIPS_ARCH and _MIPS_TUNE.
15944         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
15945         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
15946         MIPS_ISA_DEFAULT were already defined.
15947         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
15948         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
15949         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
15950         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
15951         (ABI_GAS_ASM_SPEC): Remove.
15952         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
15953         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
15954         Invoke %(asm_abi_default_spec) if no ABI was specified.
15955         (CC1_SPEC): Remove ISA -> register-size rules.
15956         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
15957         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
15958         (mips_cpu_string, mips_explicit_type_size_string): Remove.
15959         (mips_cpu_info_table): New array.
15960         (mips_set_architecture, mips_set_tune): New fns.
15961         (override_options): Rework to make -mipsN equivalent to -march.
15962         Detect more erroneous cases, including those removed from CC1_SPEC.
15963         Don't change the ABI based on architecture, or vice versa.
15964         Unify logic with GAS.
15965         (mips_asm_file_start): Get architecture name from mips_arch_info.
15966         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
15967         (mips_parse_cpu): Take the name of the option as argument.  Handle
15968         'from-abi'.  Raise an error if the option is wrong.
15969         (mips_cpu_info_from_isa): New fn.
15970
15971 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
15972
15973         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
15974         (tablejump_mips162): Likewise.
15975
15976 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
15977
15978         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
15979         int_mode_for_mode.
15980
15981 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
15982
15983         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
15984         complaining.
15985         * c-common.h (c_sizeof): Adjust definition.
15986         (c_alignof): Likewise.
15987         * c-tree.h (c_sizeof_nowarn): Now macro.
15988         * c-typeck.c (c_sizeof_nowarn): Remove definition.
15989
15990 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
15991
15992         * c-decl.c (c_decode_option): No need to handle switches
15993         cpplib handles.
15994
15995 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
15996
15997         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
15998         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
15999         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
16000         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
16001
16002         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
16003         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
16004         config/cris/aout.h, config/i386/freebsd-aout.h,
16005         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
16006         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
16007         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
16008         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
16009         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
16010         config/xtensa/elf.h, config/xtensa/linux.h:
16011         Use the new macros.
16012         Where possible, remove redundant definitions of SIZE_ASM_OP,
16013         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
16014
16015 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
16016
16017         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
16018         TARGET_ISEL, and TARGET_FPRS.
16019
16020         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
16021         -mabi=spe, -mabi=no-spe, and -misel=.
16022
16023         * config/rs6000/rs6000-protos.h: Add output_isel.
16024         Move vrsave_operation prototype here.
16025
16026         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
16027         (smaxsi3): Same.
16028         (uminsi3): Same.
16029         (umaxsi3): Same.
16030         (abssi2_nopower): Disallow when TARGET_ISEL.
16031         (*ne0): Same.
16032         (negsf2): Change to expand and rename old pattern to *negsf2.
16033         (abssf2): Change to expand and rename old pattern to *abssf2.
16034
16035         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
16036         fixunssfsi2.
16037
16038         Change patterns that check for TARGET_HARD_FLOAT or
16039         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
16040
16041         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
16042         rs6000_isel, rs6000_fprs, rs6000_isel_string.
16043         (rs6000_override_options): Add 8540 case to
16044         processor_target_table.
16045         Set rs6000_isel for the 8540.
16046         Call rs6000_parse_isel_option.
16047         (enable_mask_for_builtins): New.
16048         (rs6000_parse_isel_option): New.
16049         (rs6000_parse_abi_options): Add spe and no-spe.
16050         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
16051         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
16052         for TARGET_HARD_FLOAT.
16053         Add case for SPE_VECTOR_MODE.
16054         (rs6000_legitimize_reload_address): Handle SPE vector modes.
16055         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
16056         vector modes.
16057         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
16058         (rs6000_emit_move): Check for TARGET_FPRS.
16059         Add cases for SPE vector modes.
16060         (function_arg_boundary): Return 64 for SPE vector modes.
16061         (function_arg_advance): Check for TARGET_FPRS and
16062         Handle SPE vectors.
16063         (function_arg): Same.
16064         (setup_incoming_varargs): Check for TARGET_FPRS.
16065         (rs6000_va_arg): Same.
16066         (struct builtin_description): Un-constify mask field.  Move up in
16067         file.
16068         (bdesc_2arg): Un-constify and add SPE builtins.
16069         (bdesc_1arg): Same.
16070         (bdesc_spe_predicates): New.
16071         (bdesc_spe_evsel): New.
16072         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
16073         (rs6000_expand_binop_builtin): Same.
16074         (bdesc_2arg_spe): New.
16075         (spe_expand_builtin): New.
16076         (spe_expand_predicate_builtin): New.
16077         (spe_expand_evsel_builtin): New.
16078         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
16079         (rs6000_init_builtins): Initialize SPE builtins.  Call
16080         rs6000_common_init_builtins.
16081         (altivec_init_builtins): Move all non-altivec builtin code to...
16082         (rs6000_common_init_builtins): ...here.  New function.
16083         (branch_positive_comparison_operator): Allow NE code for SPE.
16084         (ccr_bit): Return correct ccr bit for SPE fp.
16085         (print_operand): Emit crnor in 'D' case for SPE.
16086         New case 't'.
16087         Add SPE code for 'y' case.
16088         (rs6000_generate_compare): Generate rtl for SPE fp.
16089         (output_cbranch): Handle SPE hard floats.
16090         (rs6000_emit_cmove): Handle isel.
16091         (rs6000_emit_int_cmove): New.
16092         (output_isel): New.
16093         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
16094         64-bits for SPE.
16095         (debug_stack_info): Add SPE info.
16096         (gen_frame_mem_offset): New.
16097         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
16098         Change mode of frame pointer, when saving it, to Pmode.
16099         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
16100         Misc cleanups and use gen_frame_mem_offset when appropriate.
16101
16102         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
16103         (TARGET_SPE_ABI): New.
16104         (TARGET_SPE): New.
16105         (TARGET_ISEL): New.
16106         (TARGET_FPRS): New.
16107         (FIXED_SCRATCH): New.
16108         (RTX_COSTS): Add PROCESSOR_PPC8540.
16109         (ASM_CPU_SPEC): Add case for 8540.
16110         (TARGET_OPTIONS): Add isel= case.
16111         (rs6000_spe_abi): New.
16112         (rs6000_isel): New.
16113         (rs6000_fprs): New.
16114         (rs6000_isel_string): New.
16115         (UNITS_PER_SPE_WORD): New.
16116         (LOCAL_ALIGNMENT): Adjust for SPE.
16117         (HARD_REGNO_MODE_OK): Same.
16118         (DATA_ALIGNMENT): Same.
16119         (MEMBER_TYPE_FORCES_BLK): New.
16120         (FIRST_PSEUDO_REGISTER): Set to 113.
16121         (FIXED_REGISTERS): Add SPE registers.
16122         (reg_class): Same.
16123         (REG_CLASS_NAMES): Same.
16124         (REG_CLASS_CONTENTS): Same.
16125         (REGNO_REG_CLASS): Same.
16126         (REGISTER_NAMES): Same.
16127         (DEBUG_REGISTER_NAMES): Same.
16128         (ADDITIONAL_REGISTER_NAMES): Same.
16129         (CALL_USED_REGISTERS): Same.
16130         (CALL_REALLY_USED_REGISTERS): Same.
16131         (SPE_ACC_REGNO): New.
16132         (SPEFSCR_REGNO): New.
16133         (SPE_SIMD_REGNO_P): New.
16134         (HARD_REGNO_NREGS): Adjust for SPE.
16135         (VECTOR_MODE_SUPPORTED_P): Same.
16136         (REGNO_REG_CLASS): Same.
16137         (FUNCTION_VALUE): Same.
16138         (LIBCALL_VALUE): Same.
16139         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
16140         (SPE_VECTOR_MODE): New.
16141         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
16142         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
16143         (rs6000_stack): Add spe_gp_size, spe_padding_size,
16144         spe_gp_save_offset.
16145         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
16146         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
16147         (SPE_CONST_OFFSET_OK): New.
16148         (rs6000_builtins): Add SPE builtins.
16149
16150         * testsuite/gcc.dg/ppc-spe.c: New.
16151
16152         * config/rs6000/eabispe.h: New.
16153
16154         * config/rs6000/spe.h: New.
16155
16156         * config/rs600/spe.md: New.
16157
16158         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
16159         __SIMD__ for TARGET_SPE.
16160
16161         * config.gcc: Add powerpc-*-eabispe* case.
16162         Add spe.h to user headers for powerpc.
16163
16164 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
16165
16166         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
16167         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16168         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
16169
16170 2002-07-24  Richard Henderson  <rth@redhat.com>
16171
16172         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
16173         form when not optimizing.
16174
16175 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
16176
16177         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
16178         thread_pointer_rtx as unchanging.
16179
16180 2002-07-24  Michael Matz  <matz@suse.de>
16181
16182         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
16183         (free_reg): Use it.
16184
16185 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
16186
16187         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
16188         pattern.
16189         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
16190         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
16191
16192 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
16193
16194         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
16195         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16196         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
16197
16198 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
16199
16200         * toplev.c (rest_of_compilation): Dump loops before clobbering
16201         the structure.
16202
16203 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
16204
16205         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
16206
16207 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
16208
16209         PR optimization/7291
16210         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
16211         problem on x86_64.
16212
16213 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
16214
16215         * pretty-print.h: Add macros from cp/error.c
16216
16217 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
16218
16219         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
16220         (mask64_2_operand): Declare.
16221         (build_mask64_2_operands): Declare.
16222         (and64_2_operand): Declare.
16223         (extract_MB): Declare.
16224         (extract_ME): Declare.
16225         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
16226         CONST_DOUBLE code.
16227         (mask_operand_wrap): New insn predicate.
16228         (mask64_2_operand): Likewise.
16229         (and64_2_operand): Likewise.
16230         (build_mask64_2_operands): New function.
16231         (extract_MB): New function.
16232         (extract_ME): New function.
16233         (print_operand <case m,M>): Use extract_MB and extract_ME.
16234         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
16235         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
16236         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
16237         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
16238         * config/rs6000/rs6000.md (andsi3_internal3): New
16239         (andsi3_internal3+1): Enable split for powerpc64.
16240         (andsi3_internal3+2): New split.
16241         (andsi3_internal4): Renamed old andsi3_internal3.
16242         (andsi3_internal5): New.
16243         (andsi3_internal5+1): Enable split for powerpc64.
16244         (andsi3_internal5+2): New split.
16245         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
16246         (anddi3): Handle 't' constraint.
16247         (anddi3+1): New split.
16248         (anddi3_internal2): Handle 't' constraint.
16249         (anddi3_internal2+1): New split.
16250         (anddi3_internal3): Handle 't' constraint.
16251         (anddi3_internal3+1): New split.
16252
16253 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
16254
16255         * config/rs6000/rs6000.md: Remove scratch reg on insns using
16256         addze and similar (plus (comparison r1 r2) r3) insns.  Add
16257         missing scratch reg in one case.  Formatting fixes.
16258
16259 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
16260
16261         * cppexp.c (parse_defined): Mark macro used.
16262         * cpphash.h (struct cpp_macro): New member "used".
16263         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
16264         (struct cpp_reader): New member.
16265         * cppinit.c (cpp_finish_options): Set first_unused_line.
16266         (cpp_finish): Warn of unused macros if requested.
16267         (OPT_TABLE): New switches.
16268         (cpp_handle_option): Handle them.
16269         * cpplib.c (do_undef): Warn if macro unused.
16270         (do_ifdef, do_ifndef): Mark macro used.
16271         * cpplib.h (struct cpp_options): New member.
16272         * cppmacro.c (_cpp_warn_if_unused_macro): New.
16273         (enter_macro_context): Mark macro used.
16274         (_cpp_create_definition): Mark macro unused; warn if unused
16275         when redefined.
16276         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
16277         Mark macros used.
16278         * doc/cppopts.texi: Update.
16279
16280 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16281
16282         * dwarf2out.c (SECTION_ASM_OP,
16283         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16284         * system.h (SECTION_ASM_OP): Poison.
16285         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
16286         * config/alpha/alpha-interix.h, config/mips/linux.h
16287         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16288         * config/mmix/mmix-protos.h, config/mmix/mmix.c
16289         (mmix_asm_output_define_label_difference_symbol): Remove.
16290         * config/mmix/mmix.h
16291         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16292         * doc/tm.texi: Remove documentation.
16293
16294 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
16295
16296         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
16297         (constrain_operands): Likewise.
16298         * regclass.c (record_reg_classes): Likewise.
16299         * reload.c (find_reloads): Likewise.
16300         * doc/md.texi: Likewise.
16301
16302         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
16303         * simplify-rtx.c (simplify_subreg): When converting to a non-int
16304         mode, try to convert to an integer mode of matching size first.
16305
16306         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
16307         from individual subregs, check that each subreg has been generated
16308         sucessfully.
16309
16310 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16311
16312         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
16313         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
16314         FOR_EACH_BB_IN_SBITMAP): Remove.
16315         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
16316         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
16317         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
16318         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
16319         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
16320         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
16321
16322 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
16323
16324         * pretty-print.h: New file.
16325
16326 2002-07-23      Paul Koning     <pkoning@equallogic.com>
16327
16328         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
16329         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
16330         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
16331         (TARGET_G_FLOAT): Default to 0 if not defined.
16332         (ieeetoe): New, common routine to convert target format floats
16333         to internal form.
16334         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
16335         vs. others.
16336         (e113toe): Change to use ieeetoe.
16337
16338 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16339
16340         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
16341         IBM.
16342         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
16343         (e64toe): Remove special cases for DEC and IBM. Remove support for
16344         ARM_EXTENDED_IEEE_FORMAT.
16345         (e24toe): Remove special cases for DEC.
16346         (significand_size): Simplify. Indent.
16347         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
16348         (etoieee, toieee): New.
16349         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
16350         etoieee and toieee for IEEE arithmetic.
16351
16352 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
16353
16354         * doc/extend.texi: Say ISO C90, not ISO C89.
16355         * doc/invoke.texi: Likewise.
16356         * doc/standards.texi: Likewise.
16357
16358 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
16359
16360         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
16361         Fix permutation of conversion and plus/mult.
16362         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
16363         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
16364         (expand_builtin_strncpy) Ditto.
16365         (expand_builtin_memset) Ditto.
16366
16367 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
16368
16369         Fix PR/7363:
16370         * c-common.c (c_sizeof_or_alignof_type): New function.
16371         (c_alignof): Remove definition.
16372         * c-common.h (c_sizeof, c_alignof): Define as macros.
16373         (c_sizeof_or_alignof_type): Declare.
16374         (my_friendly_assert): Moved from cp/cp-tree.h
16375         * c-typeck.c (c_sizeof): Remove definition.
16376
16377 2002-07-23  Jan Hubicka  <jh@suse.cz>
16378
16379         * gcse.c (try_replace_reg): Use num_changes_pending.
16380         * recog.c (num_changes_pending): New function.
16381         (validate_replace_src): Use validate_repalce_src_group.
16382         (validate_replace_src_group): New.
16383         * recog.h (validate_repalce_src_group): New.
16384         (num_changes_pending): Likewise.
16385
16386 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
16387
16388         * calls.c (emit_library_call_value_1): If
16389         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
16390         libcall, const call nor pure call.
16391
16392 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16393
16394         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
16395
16396 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16397
16398         * vmsdbgout.c (SECTION_ASM_OP): Remove.
16399
16400 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16401
16402         * config/i386/i386.c (AT_BP): Remove.
16403
16404 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16405
16406         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
16407         Default definition.
16408         * gcse.c: Don't define obstack_chunk_free.
16409         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
16410         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
16411         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
16412         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
16413         Don't define obstack macros.
16414
16415 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
16416
16417         PR target/6744
16418         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
16419         ASM_OPERANDS instructions.
16420
16421 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
16422
16423         PR target/7361
16424         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
16425         constant addresses only on 68HC12.
16426
16427 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
16428
16429         * cppfiles.c (stack_include_file): Correct test of whether
16430         a dependency should be output.
16431
16432 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
16433
16434         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
16435
16436 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
16437
16438         * arm.md (movqi): If optimizing and we can create pseudos, use
16439         a ZERO_EXTEND to load from memory, then copy the result into the
16440         target.
16441         (movhi): Likewise, but only for ARMv4.
16442
16443 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
16444
16445         * ssa-ccp.c (PHI_PARMS): Remove.
16446
16447 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
16448
16449         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
16450         on big-endian targets.
16451
16452 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16453
16454         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
16455         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
16456         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
16457         New formatting macros.
16458
16459         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
16460
16461 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
16462
16463         * rtlanal.c (subreg_regno_offset): Return correct offset for
16464         big endian paradoxical subregs.
16465
16466         * optabs.c (expand_vector_unop): Don't expand using sub_optab
16467         if we got the wrong mode.
16468
16469         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
16470         * genrecog.c (write_switch, write_cond): Use it.
16471         * genemit.c (gen_exp): Likewise.
16472
16473 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
16474
16475         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
16476
16477 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
16478
16479         * c-decl.c (build_compound_literal): Defer compound literal decls
16480         until until file end to emit them only if they are actually used.
16481
16482 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16483
16484         * ra-build.c (check_conflict_numbers): Hide unused function.
16485         (livethrough_conflicts_bb): Avoid automatic aggregate
16486         initialization.
16487         (parts_to_webs_1): Avoid `U' integer constant modifier.
16488         (conflicts_between_webs): Wrap a variable in the macro controlling
16489         its usage.
16490         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
16491         (dump_igraph, dump_graph_cost): Avoid string concatenation
16492         (dump_static_insn_cost): Avoid automatic aggregate
16493         initialization.
16494         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
16495         initialization.
16496         (dump_cost): Avoid string concatenation
16497
16498 2002-07-21  Richard Henderson  <rth@redhat.com>
16499
16500         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
16501         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
16502
16503 2002-07-21  Richard Henderson  <rth@redhat.com>
16504
16505         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
16506         that are not unrolled completely.
16507
16508 2002-07-21  Richard Henderson  <rth@redhat.com>
16509
16510         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
16511         * loop.c (strength_reduce): Update.
16512         * toplev.c (rest_of_compilation): Do unrolling in the first
16513         loop pass, not the second.
16514
16515 2002-07-21  Richard Henderson  <rth@redhat.com>
16516
16517         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
16518         when flag_argument_noalias == 2.
16519         * alias.c (nonoverlapping_memrefs_p): Handle that.
16520         * print-rtl.c (print_mem_expr): Likewise.
16521
16522 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
16523
16524         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
16525         instead of __negdi2 directly.
16526
16527 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
16528
16529         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
16530         * function.c (SYMBOL__MAIN): Remove definition.
16531         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
16532         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
16533         * profile.c (GCOV_INDEX_TO_BB): Remove.
16534         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
16535         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
16536
16537 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
16538
16539         * c-lex.c (GET_ENVIRONMENT): Remove.
16540         * collect2.c (GET_ENV_PATH_LIST): Remove.
16541         (prefix_from_env): Use GET_ENVIRONMENT.
16542         * cppinit.c (GET_ENV_PATH_LIST): Remove.
16543         (init_standard_includes): Use GET_ENVIRONMENT.
16544         * defaults.h (GET_ENVIRONMENT): Define here if not already.
16545         * gcc.c (GET_ENV_PATH_LIST): Remove.
16546         (make_relative_prefix, process_command): Update.
16547         * protoize.c (GET_ENV_PATH_LIST): Remove.
16548         (do_processing): Update.
16549
16550 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
16551
16552         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
16553         (grokdeclarator): Likewise.
16554         * c-format.c (C_STD_NAME): Likewise.
16555         * c-lex.c (interpret_integer): Likewise.
16556         * c-typeck.c (build_array_ref): Likewise.
16557         * cpplex.c (_cpp_lex_direct): Likewise.
16558         * toplev.c (documented_lang_options): Likewise.
16559
16560 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
16561
16562         * c-format.c (T99_I, T99_UI): Remove.
16563
16564 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
16565
16566         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
16567
16568 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
16569
16570         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
16571         do_local_cprop.
16572
16573 2002-07-21  Andreas Jaeger  <aj@suse.de>
16574
16575         * reload1.c (fixup_abnormal_edges): Remove unused variable.
16576
16577 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
16578
16579         Improvements for the ifcvt pass from Michael Meissner, with patches
16580         by Richard Sandiford <rsandifo@redhat.com>
16581         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
16582         * ifcvt.c (cond_exec_changed_p): New static variable.
16583         (last_active_insn): New function, renamed from last_active_insn_p
16584         and changed to return the last active insn in a basic block. All
16585         callers updated.
16586         (block_fallthru): New function.
16587         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
16588         IFCVT_MODIFY_INSN.  All callers updated.
16589         Return false if START or END are NULL.
16590         Handle case where we're processing an insn that is already
16591         conditional.
16592
16593         (noce_process_if_block): CE_INFO argument rather than
16594         multiple args containing the involved basic blocks.  All callers
16595         changed.
16596         (process_if_block, merge_if_block, find_if_block,
16597         cond_exec_process_if_block): Likewise.
16598
16599         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
16600         changed.
16601         Use new function last_active_insn to simplify some code.
16602         New code to handle multiple tests.
16603         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
16604         cond_exec_changed_p to TRUE.
16605
16606         (process_if_block): New code to handle multiple tests.
16607         (merge_if_block): Likewise.
16608         (find_if_header): New arg PASS.  Changed to return the currently
16609         processed basic block or NULL instead of true/false. All callers
16610         changed.
16611         Call IFCVT_INIT_EXTRA_FIELDS.
16612         (block_jumps_and_fallthru_p): New function.
16613         (find_if_block): Discover opportunities to convert multiple tests.
16614         Add additional debugging output.
16615         Update the ce_info structure before returning.
16616
16617         (if_convert): Run multiple passes of if-conversion.
16618         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
16619         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
16620         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
16621         these macros.
16622
16623 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
16624
16625         * gcse.c: Include cselib.h
16626         (constptop_register): Break out from ...
16627         (cprop_insn): ... here; kill basic_block argument.
16628         (do_local_cprop, local_cprop_pass): New functions.
16629         (one_cprop_pass): Call local_cprop_pass.
16630
16631 2002-07-20  Roger Sayle  <roger@eyesopen.com>
16632
16633         * simplify-rtx.c (simplify_relational_operation): Optimize
16634         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
16635
16636 2002-07-20  Michae Matz  <matz@suse.de>
16637
16638         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
16639
16640 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
16641
16642         * cppexp.c (struct op): Add token pointer.
16643         (check_promotion, CHECK_PROMOTION): New.
16644         (optab): Update.
16645         (_cpp_parse_expr): Update, use token pointer of struct op.
16646         (reduce): Warn about change of sign owing to promotion.
16647         * cppinit.c (cpp_handle_option): New warning if -Wall.
16648         * cpplib.h (struct cpp_options): New member.
16649
16650 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
16651
16652         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
16653         fpu list.  Separate Power4 compare and delayed_compare.  Correct
16654         Power4 fpcompare.
16655         (fix_truncdfsi2_internal): Restore FPR preference.
16656         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
16657         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
16658
16659 2002-07-19  Momchil Velikov <velco@fadata.bg>
16660
16661         * reload1.c (reload_as_needed): Duplicate oldpat.
16662
16663 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
16664
16665         PR optimization/7130
16666         * loop.h (struct loop_info): Add "preconditioned".
16667         * unroll.c (unroll_loop): Set it.
16668         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
16669
16670 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
16671
16672         * rtl.def (CODE_LABEL): Remove slot 8.
16673         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
16674         (LABEL_ALTERNATE_NAME): Delete.
16675         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
16676         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16677
16678         * final.c (output_alternate_entry_point): New.
16679         (final_scan_insn): Use it instead of
16680         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
16681         of a case label being an alternate entry point.
16682
16683         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
16684         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
16685         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
16686         (field deleted).
16687         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
16688
16689         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
16690         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
16691         * doc/tm.texi: Delete documentation of
16692         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
16693
16694 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16695
16696         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
16697         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
16698         (LINK_SPEC): Define.
16699         (STARTFILE_SPEC): Define.
16700         (ENDFILE_SPEC): Define.
16701
16702         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
16703         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
16704
16705         * config/mips/iris6-o32-gas.h: New file.
16706         * config.gcc (mips-sgi-irix6*o32): Use it.
16707
16708         * config/mips/t-iris5-gas: New file.
16709         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16710
16711 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
16712
16713         * cppexp.c (ALWAYS_EVAL): Remove.
16714         (optab, reduce): Always evaluate.
16715         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
16716         only if not skipping evaluation.
16717
16718 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16719
16720         * config/avr/avr.c (debug_hard_reg_set): Remove.
16721
16722 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
16723
16724         * gcc.c (cpp_options): Include "%1" (cc1_spec).
16725
16726 2002-07-19  Richard Henderson  <rth@redhat.com>
16727
16728         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
16729
16730 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
16731
16732         * prefix.c (update_path): Don't zap single `.' path components
16733         unless followed by another `.' and fix typo last patch.
16734
16735 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
16736
16737         * cppexp.c (cpp_num_mul): Remove unused parameter.
16738         (UNARY, BINARY, OTHER, binary_handler): Remove.
16739         (ALWAYS_EVAL): New.
16740         (optab): Update.
16741         (reduce): Refactor to a large switch, don't use a function
16742         pointer.
16743
16744 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
16745
16746         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
16747
16748 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
16749
16750         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
16751         (sh_expand_binop_v2sf): Likewise.
16752         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
16753         (int_gpr_dest, trunc_hi_operand): New functions.
16754         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
16755         trunc_hi_operand.
16756         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
16757         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
16758         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
16759         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
16760         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
16761         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
16762         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
16763         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
16764         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
16765         (movsf_ie+1): Likewise.
16766         (loaddi_trunc): Use int_gpr_dest predicate.
16767         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
16768         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
16769         (casesi_worker_0+[12], casesi_worker): Likewise.
16770         (shcompact_preserve_incoming_args): Likewise.
16771         (mov_nop): Use any_register_operand predicate.
16772         (mperm_w0): Use trunc_hi_operand predicate.
16773
16774 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16775
16776         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
16777         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
16778         numbering.
16779
16780 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16781
16782         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
16783
16784 2002-07-18  Richard Henderson  <rth@redhat.com>
16785
16786         PR optimization/7147
16787         * ifcvt.c (noce_get_condition): Make certain that the condition
16788         is valid at JUMP.
16789
16790 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
16791
16792         * sh.c (barrier_align, push): Shut up compiler warnings.
16793         (initial_elimination_offset,sh_media_init_builtins): Likewise.
16794         (reg_no_subreg_operand): Delete.
16795
16796 2002-07-17  Bo Thorsen  <bo@suse.de>
16797
16798         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
16799         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
16800         (STARTFILE_SPEC): Remove hardcoded library paths.
16801         (ENDFILE_SPEC): Likewise.
16802
16803 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
16804
16805         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
16806
16807         * gcse.c (try_replace_reg): Do not return false positives.
16808
16809 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
16810
16811         * prefix.c: (update_path): Strip ".." components when prior dir
16812         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
16813
16814         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
16815         (ASM_OUTPUT_REG_POP): Likewise.
16816
16817 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
16818
16819         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
16820         adjustments to first_reg for profiling case.
16821         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
16822         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
16823         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
16824         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
16825         (ASM_OUTPUT_REG_POP): Define.
16826         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
16827         (ASM_OUTPUT_REG_POP): Undef.
16828
16829 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
16830
16831         * cpplib.c (do_sccs): Handle #sccs on all systems.
16832         * system.h (SCCS_DIRECTIVE): Poison.
16833         * config/darwin.h, config/freebsd.h, config/netbsd.h,
16834         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
16835         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
16836         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
16837         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
16838         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
16839         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
16840         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
16841         Remove all references to SCCS_DIRECTIVE.
16842         * doc/cpp.texi, doc/tm.texi: Update.
16843
16844 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
16845
16846         * regrename.c (maybe_mode_change): New function.
16847         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
16848
16849 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
16850
16851         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
16852         suppress addition when either ct or cf are zero.
16853
16854 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
16855             Glen Nakamura <glen@imodulo.com>
16856
16857         PR optimization/6713
16858         * loop.c (loop_givs_rescan): Explicitly delete the insn that
16859         sets a non-replaceable giv after issuing the new one.
16860
16861 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
16862
16863         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
16864         eval_token): Clarify and correct use of "bool" variables.
16865         * cpplib.h (struct cpp_options): Similarly.
16866         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
16867         * cpptrad.c (recursive_macro): Similarly.
16868
16869 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
16870
16871         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
16872         SHmedia code.
16873
16874         * sh.md (cmpgtudi_media): Remove spurious @.
16875
16876         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
16877         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
16878
16879         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
16880         * sh-protos.h (sh_initialize_trampoline): Declare.
16881         * sh.c (sh_initialize_trampoline): New function.
16882         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
16883         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
16884         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
16885         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
16886         * sh.md (initialize_trampoline, double_shori): New patterns.
16887         (initialize_trampoline_compact): Likewise.
16888         (shmedia32_initialize_trampoline_big): Remove.
16889         (shmedia32_initialize_trampoline_little): Likewise.
16890
16891         * sh-protos.h (binary_float_operator): Remove declaration.
16892         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
16893         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
16894         (unary_float_operator, sh_expand_unop_v2sf): New functions.
16895         (sh_expand_binop_v2sf): Likewise.
16896         (zero_vec_operand): Delete.
16897         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
16898         all non-shared ones.
16899         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
16900         Enable nsb and byterev.
16901         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
16902         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
16903         in general regs.
16904         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
16905         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
16906         immediate operands.
16907         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
16908         Add DF_HI_REGS.
16909         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
16910         lowpart fp regs - only for big endian for now.
16911         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
16912         when FPU is in use.
16913         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
16914         (LOAD_EXTEND_OP): NIL for SImode.
16915         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
16916         general and fp registers is 4.
16917         PREDICATE_CODES: Amend binary_float_operator entry.
16918         Remove zero_vec_operand.  Add unary_float_operator.
16919         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
16920         subreg SET_DEST.
16921         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
16922         (truncdiqi2): Do sign extension.
16923         (movsi_media, movdi_media): Allow to use r63 to an fp register.
16924         (movdf_media, movsf_media): Likewise.
16925         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
16926         Collapse to one define_insn_and_split.  Allow immediate sources.
16927         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
16928         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
16929         (movv4sf): Allow immediate sources.
16930         (movsf_media_nofpu+1): Don't split moves to FP registers.
16931         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
16932         (movv8qi_i+3): Check against CONST0_RTX.
16933         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
16934         for input and output operands.  Fix argument 3 to gen_mextr_rl.
16935         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
16936         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
16937         (mshf0_w, fipr, ftrv): Likewise.
16938         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
16939
16940 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
16941
16942         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
16943         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
16944         * arm.c: Similarly.
16945
16946 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
16947
16948         * config/mips/mips-protos.h (mips_sign_extend): Declare.
16949         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
16950         (TARGET_SWITCHES): Remove debugh.
16951         (ISA_HAS_TRUNC_W): New macro.
16952         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
16953         (PREDICATE_CODES): Remove se_nonimmediate_operand.
16954         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
16955         any SImode move_operand.
16956         (se_nonimmediate_operand): Remove.
16957         (mips_sign_extend): New.
16958         (mips_move_2words): Use it for sign-extended source operands.
16959         (override_options): Allow integers to be put into single FPRs.
16960         (mips_secondary_reload_class): Handle integers in float registers.
16961         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
16962         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
16963         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
16964         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
16965         (fix_truncdfdi2): Provide only a single alternative, in which the
16966         integer is in a float register.  Depend on TARGET_FLOAT64 rather
16967         than TARGET_64BIT.
16968         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
16969         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
16970         (movdi_internal2): Don't allow the source operand to be sign-extended.
16971         Add alternatives for float registers.
16972         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
16973         allows sign-extension.
16974         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
16975         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
16976         float registers.  Remove TARGET_DEBUG_H_MODE test.
16977         (movhi_internal1): Rename to movhi_internal.  Don't check
16978         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
16979         (movqi_internal1): Rename to movqi_internal and remove
16980         TARGET_DEBUG_H_MODE dependency.
16981         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
16982
16983 2002-07-16  Jim Wilson  <wilson@redhat.com>
16984
16985         * toplev.c (lang_dependent_init): Create function context for
16986         init_expr_once.
16987
16988 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
16989
16990         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
16991         --gc-sections if -r.
16992         * config/cris/cris.h: Ditto.
16993
16994 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
16995
16996         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
16997         the comparison directly gives a mask suppress addition when cf is
16998         zero by complementing the mask.
16999
17000 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
17001
17002         * Makefile.in: Delete references to enquire.
17003         * enquire.c: Move to contrib.
17004
17005 2002-07-16  Stan Shebs  <shebs@apple.com>
17006
17007         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
17008         config/rs6000/darwin.h.
17009         (ASM_OUTPUT_SKIP): Ditto.
17010         (TEXT_SECTION_ASM_OP): Ditto.
17011         (DATA_SECTION_ASM_OP): Ditto.
17012         (ASM_APP_ON): Define.
17013         (ASM_APP_OFF): Define.
17014         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
17015         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
17016
17017         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
17018         (machopic_function_base_name): Declare result to be const.
17019         (machopic_non_lazy_ptr_name): Ditto.
17020         (machopic_stub_name): Ditto.
17021         * config/darwin-protos.h: Ditto for the prototypes.
17022
17023 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
17024
17025         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
17026
17027 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
17028
17029         * i386.md (prefetch): Fix for 64bit mode.
17030         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
17031
17032 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
17033
17034         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
17035         * i386.c (x86_machine_dependent_reorg): New function.
17036         * i386-protos.h (x86_machine_dependent_reorg): Declare.
17037
17038 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
17039
17040         * builtins.c (std_expand_builtin_va_start): Remove unused
17041         first argument.
17042         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
17043         std_expand_builtin_va_start with just two arguments.
17044         * expr.h: Update prototypes.
17045
17046         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
17047         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
17048         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
17049         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
17050         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
17051         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
17052         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
17053         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
17054         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
17055         argument from all implementations of EXPAND_BUILTIN_VA_START
17056         and all uses of std_expand_builtin_va_start.
17057
17058 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
17059
17060         * regrename.c (copy_value): Don't record high part copies.
17061
17062 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
17063
17064         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
17065         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
17066         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
17067
17068 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
17069
17070         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
17071
17072         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
17073         into addsi3 using register class "x" and "y".
17074
17075         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
17076         "earlyclobber" constraint modifier for some alternative.
17077
17078         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
17079         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
17080         unordered.
17081         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
17082
17083         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
17084         (TARGET_SWITCHES): Add -mieee-compare option.
17085         (OVERRIDE_OPTIONS): 32332 is a subset of
17086         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
17087         (TARGET_SWITCHES): Fix description of bitfield option.
17088         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
17089         -mieee-compare option. Remove 32332 flag.
17090
17091 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
17092
17093         * explow.c (convert_memory_address): Remove special handling
17094         when POINTERS_EXTEND_UNSIGNED < 0.
17095         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
17096         (movedi_symbolic): Fix typo.
17097         (load_fptr): Remove mode restriction so it works for SI and DI.
17098         (load_fptr_internal1): Ditto.
17099         (load_gprel): Ditto.
17100         (load_symptr_internal1): Ditto.
17101         (call_pic): Ditto.
17102         * config/ia64.c (call_operand): Modify mode check.
17103         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
17104         (ia64_expand_move): Ditto.
17105         (ia64_assemble_integer): Handle SImode function pointers.
17106         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
17107         (ia64_expand_op_and_fetch): Ditto.
17108         (ia64_expand_compare_and_swap): Ditto.
17109         (ia64_expand_lock_test_and_set): Ditto.
17110         (ia64_expand_lock_release): Ditto.
17111
17112 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17113
17114         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
17115
17116 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17117             Richard Earnshaw  <rearnsha@arm.com>
17118
17119         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
17120         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
17121
17122 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
17123
17124         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
17125         understands to be a memory clobber.
17126         * arm.c (arm_expand_prologue): Use it.
17127
17128 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
17129
17130         * ra-rewrite.c: #include reload.h, insn-config.h
17131         * ra-build.c: #include reload.h
17132         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
17133         depend on reload.h, insn-config.h.
17134
17135 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
17136
17137         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
17138         the same size as a word.
17139
17140         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
17141         BYTES_BIG_ENDIAN into account.
17142
17143 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
17144
17145         * i386.md (prefetch): Fix for 64bit mode.
17146         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
17147
17148         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
17149
17150 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
17151
17152         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
17153
17154 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
17155
17156         * ginclude/varargs.h: Replace with stub which issues #error.
17157         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
17158         __builtin_va_start.
17159
17160         * builtins.def (BUILT_IN_VARARGS_START): Delete.
17161         (BUILT_IN_VA_START): New.
17162         * builtins.c (expand_builtin_va_start): Eliminate first
17163         argument and code to implement pre-ISO varargs.
17164         (std_expand_builtin_va_start): Ignore first argument; it is
17165         always 1.
17166         (expand_builtin): Handle BUILT_IN_VA_START and
17167         BUILT_IN_STDARG_START identically.  Delete
17168         BUILT_IN_VARARGS_START case.
17169
17170         * function.c (assign_parms): Delete hide_last_arg and all
17171         its uses.
17172         (mark_varargs): Delete function.
17173         * function.h (struct function): Delete 'varargs' bit.
17174         (current_function_varargs): Delete macro.
17175         * tree.h: Don't declare mark_varargs.
17176
17177         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
17178         (c_expand_body): Don't call mark_varargs.
17179         * c-objc-common.c: Handle BUILT_IN_VA_START and
17180         BUILT_IN_STDARG_START identically.  Delete
17181         BUILT_IN_VARARGS_START case.
17182         * c-tree.h: Don't declare c_mark_varargs.
17183         * c-parse.in: Remove grammar rules for '&...' (which has been
17184         commented out since before 2.7.2) and for '...' in K+R
17185         argument declarations.
17186
17187         * builtins.c, function.c, integrate.c, sibcall.c,
17188         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
17189         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
17190         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
17191         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
17192         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
17193         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
17194         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
17195         config/stormy16/stormy16.c: Delete all references to
17196         current_function_varargs, and code predicated on that flag.
17197
17198         * config/alpha/alpha.c (alpha_va_start),
17199         config/arc/arc.c (arc_va_start),
17200         config/i386/i386.c (ix86_va_start),
17201         config/mips/mips.c (mips_va_start),
17202         config/mn10300/mn10300.c (mn10300_va_start),
17203         config/rs6000/rs6000.c (rs6000_va_start),
17204         config/s390/s390.c (s390_va_start),
17205         config/sh/sh.c (sh_va_start),
17206         Ignore first argument; it is always 1.
17207
17208         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
17209         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
17210         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
17211         Delete m68hc11_va_start.
17212         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
17213         No need to define EXPAND_BUILTIN_VA_START.
17214
17215         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
17216         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
17217
17218 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
17219
17220         PR optimization/7153
17221         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
17222         dies in more than one insn.
17223
17224 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
17225
17226         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
17227
17228 2002-07-15  Michael Matz  <matz@suse.de>,
17229             Daniel Berlin  <dberlin@dberlin.org>,
17230             Denis Chertykov  <denisc@overta.ru>
17231
17232         Add a new register allocator.
17233
17234         * ra.c: New file.
17235         * ra.h: New file.
17236         * ra-build.c: New file.
17237         * ra-colorize.c: New file.
17238         * ra-debug.c: New file.
17239         * ra-rewrite.c: New file.
17240
17241         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
17242         (ra-rewrite.o): New .o files for libbackend.a.
17243         (GTFILES): Add basic-block.h.
17244
17245         * toplev.c (flag_new_regalloc): New.
17246         (f_options): New option "new-ra".
17247         (rest_of_compilation): Call initialize_uninitialized_subregs()
17248         only for the old allocator.  If flag_new_regalloc is set, call
17249         new allocator, instead of local_alloc(), global_alloc() and
17250         friends.
17251
17252         * doc/invoke.texi: Document -fnew-ra.
17253         * basic-block.h (FOR_ALL_BB): New.
17254         * config/rs6000/rs6000.c (print_operand): Write small constants
17255         as @l+80.
17256
17257         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
17258         (df_reg_table_realloc): Make size at least as large as max_reg_num().
17259         (df_insn_table_realloc): Size argument now is absolute, not relative.
17260         Changed all callers.
17261
17262         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
17263         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
17264
17265         2002-06-20  Michael Matz  <matz@suse.de>
17266
17267         * df.h (struct ref.id): Make unsigned.
17268         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
17269
17270         2002-06-13  Michael Matz  <matz@suse.de>
17271
17272         * df.h (DF_REF_MODE_CHANGE): New flag.
17273         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
17274         involving subregs with invalid mode changes, when
17275         CLASS_CANNOT_CHANGE_MODE is defined.
17276
17277         2002-05-07  Michael Matz  <matz@suse.de>
17278
17279         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
17280
17281         2002-05-03  Michael Matz  <matz@suse.de>
17282
17283         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
17284
17285         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
17286
17287         * regclass.c (regclass): Work with all regs which have sets or
17288         refs.
17289         (reg_scan_mark_refs): Count regs inside (clobber ...).
17290
17291         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
17292
17293         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
17294         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
17295         add new refs.
17296         (df_bb_refs_update): Don't clear insns_modified here, ...
17297         (df_analyse): ... but here.
17298
17299         * sbitmap.c (dump_sbitmap_file): New.
17300         (debug_sbitmap): Use it.
17301
17302         * sbitmap.h (dump_sbitmap_file): Add prototype.
17303
17304         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
17305
17306         * df.c (df_insn_modify): Grow the UID table if necessary, rather
17307         than assume all emits go through df_insns_modify.
17308
17309         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
17310
17311         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
17312         increase REG_N_REFS (like flow does), so that regclass doesn't
17313         think a reg is useless, and thus, not calculate a class, when it
17314         really should have.
17315
17316         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
17317
17318         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
17319         dataflow analysis.
17320
17321 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
17322
17323         PR middle-end/7245
17324         * config/i386/i386.c (const_int_1_31_operand): New.
17325         * config/i386/i386.h (PREDICATE_CODES): Add it.
17326         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
17327         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
17328         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
17329
17330 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
17331
17332         PR target/7282
17333         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
17334         (floatunssidf2): Likewise.
17335         (floatsidf_ppc64): New insn_and_split.
17336         (floatunssidf_ppc64): Likewise.
17337
17338 2002-07-14  Andreas Jaeger  <aj@suse.de>
17339
17340         * config.gcc (sh64): Remove unused
17341         target_requires_64bit_host_wide_int.
17342
17343 2002-07-12  Roger Sayle  <roger@eyesopen.com>
17344
17345         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
17346         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
17347         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
17348         whether clear_by_pieces should be used to clear storage.
17349         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
17350
17351         * doc/tm.texi: Document these two new target macros.
17352
17353 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
17354
17355         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
17356         the scratch register.
17357         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
17358         of it, forbid reload to use it.
17359
17360 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
17361
17362         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
17363         usage on 64-bit hosts, return value was truncated to 32 bits.
17364
17365 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
17366
17367         * simplify-rtx.c (simplify_subreg): Handle floating point
17368         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
17369         the element mode is requested, compute a subreg with an
17370         integer mode of the same size as the element mode first.
17371
17372 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
17373
17374         * combine.c (try_combine): When converting a paradoxical subreg
17375         to an extension, take LOAD_EXTEND_OP into account.
17376
17377 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17378
17379         * config.gcc (mips-sgi-irix6*o32): New configuration.
17380
17381         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
17382         configurations.
17383         * configure: Regenerate.
17384
17385         * config/mips/iris6-o32-as.h: New file.
17386         * config/mips/iris6-o32.h: New file.
17387
17388         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
17389         (NM_FLAGS): Define.
17390         (HAVE_AS_SHF_MERGE): Undefine.
17391
17392         * config/mips/t-iris5-as: New file.
17393         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
17394
17395         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
17396         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
17397         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
17398         dp-bit.c, fp-bit.c): Move ...
17399         * config/mips/t-iris5-6: ... here.
17400         New file, shared by IRIX 5 and IRIX 6.
17401         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
17402         mips-sgi-irix5*): Use it.
17403
17404         * config/mips/iris6.h: Remove duplicate comment.
17405
17406         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
17407         !TARGET_IRIX6]: Define.
17408         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
17409
17410         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
17411
17412 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17413
17414         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
17415         and delete code to force constant to register.
17416         * pa-protos.h (adddi3_operand): Add prototype.
17417         * pa.c (adddi3_operand): New function.
17418
17419 2002-07-11  Roger Sayle  <roger@eyesopen.com>
17420
17421         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
17422         non-ANSI builtin functions.
17423
17424 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
17425
17426         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
17427         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
17428         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
17429         (gen_const_vector_0): Use it.
17430
17431 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17432
17433         * pa.md (adddi3): For 32-bit targets, force constants to a register
17434         if they don't fit in an 11-bit immediate.  Change insn predicate to
17435         arith11_operand.  Remove comment.
17436         * pa.c (cint_ok_for_move): Fix comment.
17437         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
17438         targets.
17439
17440 2002-07-11  Tim Josling  <tej@melbpc.org.au>
17441
17442         Remove front end hard coding from gengtype.c.
17443
17444         * Makefile.in
17445         (STAGESTUFF): add gtyp-gen.h
17446         (GTFILES): Remove front end specific files.
17447         (GTFILES_FILES_LANGS): New, from configure..
17448         (GTFILES_FILES_FILES): Likewise.
17449         (GTFILES_LANG_DIR_NAMES): Likewise.
17450         (GTFILES_SRCDIR): Likewise.
17451         (gtyp-gen.h): Build from configure information.
17452         (s-gtype): Remove command line parameters from gengtype.
17453         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
17454         (mostlyclean): Delete files generated by and for gengtype.
17455
17456         * c-config-lang.in: New file.
17457
17458         * configure.in (all_gtfiles_files_langs): New. Accumulate files
17459         for each language.
17460         (all_gtfiles_files_files): New. Accumulate language for each file
17461         accumulated.
17462         (gtfiles): Pick up value for C.
17463         (srcdir): AC-SUBST this variable.
17464         (all_gtfiles_files_langs): AC-SUBST this variable.
17465         (all_gtfiles_files_files): AC-SUBST this variable.
17466
17467         * configure: Regenerate.
17468
17469         * gengtype-lex.l (parse_file): Make parameter const.
17470
17471         * gengtype.c (toplevel): include gtyp-gen.h.
17472         (BASE_FILE_<language> unnamed enum): Delete.
17473         (lang_names): Delete (replaced by gtyp-gen.h)
17474         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
17475         all references.
17476         (NUM_GT_FILES): New.
17477         (NUM_LANG_FILES): New.
17478         (srcdir_len): New.
17479         (NUM_BASE_FILES): Change calculation.
17480         (open_base_files): Change prototype to avoid warning.
17481         (startswith): Delete.
17482         (get_file_basename): Iterate through generated language list not
17483         hard coded list.
17484         (get_base_file_bitmap): Use generated list of files and languages.
17485         (close_output_files): Add prototype to rmove warning.
17486         (main): Iterate through list of generated files from gtyp-gen.h
17487         rather than command line paramaters.  Ignore duplicated file
17488         names.
17489
17490         * gengtype.h (parse_file): Amend prototype for const parameter.
17491
17492         * doc/sourcebuild.texi: Document gtfiles variable.
17493
17494         * doc/gty.texi: Document changes to gtfiles variable for front
17495         ends.
17496
17497         * objc/config-lang.in (gtfiles): Add files needed for objc front
17498         end.
17499
17500 2002-07-10  Roger Sayle  <roger@eyesopen.com>
17501
17502         PR c/2454
17503         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
17504         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
17505
17506 2002-07-10  Roger Sayle  <roger@eyesopen.com>
17507             Zack Weinberg <zack@codesourcery.com>
17508
17509         * builtins.def: Make the argument types of abort and exit
17510         independent of the front-end.
17511
17512 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
17513
17514         * config/rs6000/linux64.h (ASM_SPEC): Define.
17515
17516 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
17517
17518         * config/rs6000/rs6000.c (emit_frame_save): New.
17519         (rs6000_frame_related): Replace reg2 before reg.
17520         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
17521         and eh_return registers.
17522
17523 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
17524
17525         Revert all patches for optimization of Complex .op. Real.
17526         * complex_part_zero_p: Remove
17527         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
17528         with x.
17529         * expand_cmplxdiv_wide: Ditto.
17530         * expand_binop: Ditto.
17531
17532 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
17533
17534         * config/avr/avr.md: Fix two 0x80000000 constants to make them
17535         negative also on 64-bit hosts.
17536
17537         Default to -fno-reorder-blocks when optimizing for size.
17538         * config/avr/avr-protos.h (avr_optimization_options): Declare.
17539         * config/avr/avr.c (avr_optimization_options): New function.
17540         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
17541
17542         Optimize returning from simple functions.
17543         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
17544         * config/avr/avr.c (avr_simple_epilogue): New function.
17545         * config/avr/avr.md (return): New insn.
17546
17547 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
17548
17549         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
17550         HAS_INIT_SECTION to protection.
17551
17552 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
17553
17554         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
17555         deprecated.
17556
17557 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
17558
17559         * combine.c (gen_lowpart_for_combine): Handle vector modes.
17560         Supply non-VOID mode to simplify_gen_subreg.
17561
17562 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
17563
17564         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
17565
17566 2002-07-10  Jeffrey A Law  <law@redhat.com>
17567
17568         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
17569         as appropriate.
17570
17571         * mn10200.c (expand_epilogue): Fix test to determine which scratch
17572         register to use.
17573
17574 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
17575
17576         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
17577         Get mode from dest.
17578         If simplify_gen_subreg fails, try next equivalent.
17579
17580 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
17581
17582         * diagnostic.h: #include location.h
17583         (location_t): Move definition to..
17584         * location.h: ... here.  New file.
17585         * tree.h: #include location.h
17586         (DECL_SOURCE_LOCATION): New macro.
17587         (DECL_SOURCE_FILE): Use.
17588         (DECL_SOURCE_LINE): Likewise.
17589         (struct tree_decl): REplace filename and linenum with locus.
17590         * Makefile.in (TREE_H): add location.h
17591         (diagnostic.o): Depends on gt-location.h
17592         (gt-location.h): Depends on s-gtype
17593
17594 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
17595
17596         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
17597         TARGET_OS_CPP_BUILTINS.
17598         * config/rs6000/aix31.h: Likewise.
17599         * config/rs6000/aix41.h: Likewise.
17600         * config/rs6000/aix43.h: Likewise.
17601         * config/rs6000/aix51.h: Likewise.
17602         * config/rs6000/beos.h: Likewise.
17603         * config/rs6000/darwin.h: Likewise.
17604         * config/rs6000/eabi.h: Likewise.
17605         * config/rs6000/eabisim.h: Likewise.
17606         * config/rs6000/linux.h: Likewise.
17607         * config/rs6000/linux64.h: Likewise.
17608         * config/rs6000/lynx.h: Likewise.
17609         * config/rs6000/mach.h: Likewise.
17610         * config/rs6000/rtems.h: Likewise.
17611         * config/rs6000/sysv4.h: Likewise.
17612         * config/rs6000/vxppc.h: Likewise.
17613
17614 2002-07-09 Devang Patel <dpatel@apple.com>
17615         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
17616         Do not allow ObjC objects as a parameter type for Objective-C methods.
17617         My previous patch restricted  'struct' also.
17618
17619 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
17620
17621         * cpperror.c (cpp_error): Default to directive_line within
17622         directives here.
17623         * cppexp.c (cpp_interpret_integer): Only use traditional
17624         number semantics in directives.
17625         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
17626         (do_include_common): Similarly.
17627         * cpptrad.c (scan_out_logical_line): Implement accurate
17628         quoting of <> in #include.
17629         * doc/cpp.texi: Update.
17630
17631 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
17632                           J"orn Rennecke <joern.rennecke@superh.com>
17633
17634         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
17635         * sh.md (attribute issues): Replace with:
17636         (attribute pipe_model).  All users changed.
17637         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
17638         All users changed.
17639         (function units sh5issue, sh5fds): New.
17640         (attribute is_mac_media): New.
17641         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
17642         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
17643         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
17644         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
17645         (call_media, call_value_media, sibcall_media): Likewise.
17646         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
17647         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
17648         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
17649         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
17650         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
17651         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
17652         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
17653         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
17654         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
17655         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
17656         (truncdfsf2_media): Likewise.
17657         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
17658         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
17659
17660 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
17661
17662         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
17663         * sh.c (general_extend_operand, inqhi_operand): New functions.
17664         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
17665         alternatives using 'N' modifier.  Add type.
17666         (adddi3z_media): Likewise.  Enable generator function generation.
17667         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
17668         exact predicates / constraints.  Add type.
17669         (subsi3): Allow 0 for SHMEDIA.
17670         (udivsi3_i4_media): Use match_operand for input values
17671         rather than hard registers.
17672         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
17673         unnecessarily through hard registers.  Keep copies of pseudo
17674         registers outside of the libcall sequence.
17675         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
17676         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
17677         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
17678         (extendhidi2, extendqidi2): Likewise.
17679         (andsi3_compact): Name.
17680         (andcdi3): Enable generator function generation.
17681         (zero_extendhisi2, zero_extendqisi2): Rename to
17682         (zero_extendhisi2_compact, zero_extendqisi2_compact).
17683         (extendhisi2, extendqisi2): Rename to
17684         (extendhisi2_compact, extendqisi2_compact).
17685         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
17686         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
17687         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
17688         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
17689         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
17690         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
17691         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
17692         (shmedia32_initialize_trampoline_big): Likewise.
17693         (shmedia32_initialize_trampoline_little): Likewise.
17694         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
17695         (negdi2): Remove spurious T clobber.
17696         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
17697         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
17698         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
17699         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
17700         (ic_invalidate_line_media): Write back data cache before invalidating
17701         instruction cache.  Add type.
17702         (movsf_media): Sign-extend when the destination is a general
17703         purpose register.  Add type.
17704         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
17705         (casesi_worker_0+1): Only increment ref count for proper label.
17706         (casesi_worker_0+2): Likewise.
17707
17708 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
17709
17710         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
17711
17712 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
17713
17714         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
17715         from Pmode to ptr_mode.
17716         (get_exception_pointer): Ditto.
17717         (connect_post_landing_pads): Ditto.
17718         (dw2_build_landing_pads): Ditto.
17719
17720 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
17721         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
17722         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
17723         (handle_pragma_redefine_extname): Change to use new function.
17724
17725 2002-07-08  Roger Sayle  <roger@eyesopen.com>
17726
17727         * combine.c (combine_simplify_rtx): Add an explicit cast
17728         to avoid signed/unsigned comparison warning.
17729         (simplify_if_then_else): Likewise.
17730         (extended_count): Likewise.
17731         (simplify_shift_const): Likewise.
17732         (simplify_comparison): Likewise.
17733
17734 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
17735
17736         * config/mips/mips.md: Add imadd type.  Update scheduler description
17737         to use imadd as well as imul.
17738         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
17739         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
17740         (*mul_sub_si): Likewise for first alternative.  Change second
17741         alternative from imul to multi.
17742
17743 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
17744
17745         * c-common.c (c_common_post_options): Update prototype;
17746         don't init backends if preprocessing only.
17747         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
17748         * langhooks.h (struct lang_hooks): Update post_options to
17749         return a boolean.
17750         * toplev.c (parse_options_and_default_flags, do_compile,
17751         lang_independent_init): Update prototypes.  Allow the
17752         front end to specify that there is no need to initialize
17753         the back end.
17754         (general_init): Move call to hex_init here...
17755         (toplev_main): ...from here.  Pass flag for back end init
17756         suppression.
17757
17758 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
17759
17760         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
17761         (PREDICATE_CODES): Add entries for equality_comparison_operator,
17762         greater_comparison_operator and less_comparison_operator.
17763         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
17764         more operators.
17765         (equality_comparison_operator): New function.
17766         (greater_comparison_operator, less_comparison_operator): Likewise.
17767         * sh.md (beq_media_i): Disable generator function generation.
17768         Use match_operator to handle a whole class of comparisons.  Add
17769         modifier in output template to provide branch prediction.  Add type.
17770         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
17771         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
17772         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
17773         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
17774
17775 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
17776
17777         Emit MMIX function prologue and epilogue as rtl.
17778         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
17779         not unprototyped get_hard_reg_initial_val.
17780         ("call_value", "nonlocal_goto_receiver"): Ditto.
17781         ("return"): Make define_expand.  Move real insn to...
17782         ("*expanded_return"): New pattern.
17783         ("prologue", "epilogue"): New define_expands.
17784         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
17785         (struct machine_function): New member in_prologue.
17786         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
17787         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
17788         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
17789         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
17790         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
17791         (LOCAL_REGNO): Define.  Adjust comment.
17792         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
17793         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
17794         leaf_function_p.
17795         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
17796         the prologue.
17797         (mmix_target_asm_function_prologue): Make static.  Just mark that
17798         the prologue is being emitted.  Move guts to...
17799         (mmix_expand_prologue): New function.  Adjust for emitting
17800         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
17801         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
17802         \n.  Move guts to...
17803         (mmix_expand_epilogue): New function.  Adjust for emitting
17804         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
17805         (mmix_target_asm_function_end_prologue): Mark that the prologue
17806         has ended.
17807         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
17808         (mmix_conditional_register_usage): Improve comments.
17809         (mmix_local_regno): New function.
17810         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
17811         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
17812         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
17813         (mmix_get_hard_reg_initial_val): Ditto.
17814
17815 2002-07-06  Andreas Jaeger  <aj@suse.de>
17816
17817         * toplev.c (set_fast_math_flags): Don't use ISO C style function
17818         definitions.
17819         * gengtype.c (open_base_files): Likewise.
17820         (close_output_files): Likewise.
17821         * tracer.c (find_best_predecessor): Likewise.
17822         (find_best_successor): Likewise.
17823         (ignore_bb_p): Likewise.
17824
17825 2002-07-05  Roger Sayle  <roger@eyesopen.com>
17826
17827         PR c++/7099
17828         * builtin-attrs.def: Define new attribute lists for use in
17829         builtins.def.
17830         * builtins.def [DEF_BUILTIN]: Modify to take an additional
17831         ATTRS argument, an enumerated value defined in builtin-attrs.def
17832         that represents the attribute list for the builtins.  Modify
17833         all builtin functions to pass an appropriate attribute list.
17834         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
17835         their required noreturn attributes.
17836         * tree.h (enum_builtin_function): Ignore the additional parameter
17837         to DEF_BUILTIN.
17838         * builtins.c (built_in_names): Likewise.
17839         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
17840         argument with a tree representing the functions attribute list.
17841         Pass this "attrs" argument to builtin_function.  No longer handle
17842         the noreturn_p processing manually.
17843         (built_in_attributes): Move the definitions from builtin-attrs.def
17844         before c_common_nodes_and_builtins.
17845         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
17846         DEF_BUILTIN, passing it to both builtin_function and the changed
17847         builtin_function_2.
17848
17849         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
17850         __builtin__exit and __builtin__Exit.
17851
17852 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17853
17854         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
17855         QI mode registers in soft registers.
17856         ("zero_extendqihi2"): Do not take into account soft registers
17857         for register allocation (use '*' constraint).
17858
17859 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17860
17861         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
17862         it is dead.
17863         ("*ashrsi3"): Likewise.
17864         ("*lshrsi3"): Likewise.
17865
17866 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
17867
17868         * genautomata.c (output_max_insn_queue_index_def): Take latencies
17869         into account.
17870
17871 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
17872
17873         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
17874         address computation and memory moves.
17875
17876 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
17877
17878         PR c++/6706
17879         * dwarfout.c (output_reg_number): Fix warning message.
17880         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
17881         before using it.
17882
17883 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17884
17885         * gcc/gcc.c (asm_debug): Move initialization ...
17886         (init_spec): ... here.
17887
17888 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
17889
17890         * c-parse.in (extdef): Append ';'.
17891         (old_style_parm_decls): Append ';'.
17892
17893 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
17894
17895         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
17896         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
17897         to gcc_cv_as_gstabs_flag.
17898         * configure: Rebuilt.
17899
17900 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
17901
17902         * ggc.h (ggc_add_root): Document as obsolete.
17903
17904 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
17905
17906         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
17907         (mshflo_w): Likewise.
17908
17909 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
17910
17911         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
17912         vector mode subregs of constants to finding integer mode
17913         subregs of constants.
17914         * cse.c (cse_insn): Use simplify_gen_subreg.
17915         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
17916         From a vector mode expression of different size than the
17917         target mode.
17918
17919 2002-07-03  Eric Christopher  <echristo@redhat.com>
17920
17921         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
17922         * config/mips/mips.h: Remove deprecated -m<processor> options
17923         and cc1_cpu_spec associated.
17924         (CONSTANT_ADDRESS_P): Fix last patch.
17925         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
17926         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
17927         sunge_sf): Remove.
17928
17929 2002-07-03  Stan Shebs  <shebs@apple.com>
17930
17931         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
17932         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
17933         (CPP_SPEC): Remove insertion of APPLE_CC definition.
17934
17935 2002-07-03  Roger Sayle  <roger@eyesopen.com>
17936
17937         * combine.c (struct_undo): Change types of recorded substitutions
17938         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
17939         (do_SUBST_INT): Change types of the substitution from unsigned int
17940         to int, to avoid compilation warning from SUBST_INT's only caller.
17941
17942         (make_extraction): Add cast to avoid compilation warning.
17943         (force_to_mode): Remove cast to avoid compilation warning.
17944
17945 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
17946             Jeff Law  <law@redhat.com>
17947
17948         * i386.md (length_immediate attribute): Fix typo.
17949         (length_address attribute): Likewise.
17950         (modrm attribute): Set it to 0 for immediate call instructions.
17951         (jcc_1 pattern): Set modrm attribute to 0.
17952         (jcc_2 pattern ): Likewise.
17953         (jump pattern): Likewise.
17954         (doloop_end_internal pattern): Explicitly set length.
17955         (leave pattern): Fix typo.
17956         (leave_rex64 pattern): Likewise.
17957
17958 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
17959
17960         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
17961         in FPR as preference.
17962         (fctiwz): Same.
17963         (floatdidf2, fix_truncdfdi2): Same.
17964         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
17965         (floatditf2): Same.
17966         (floatsitf2, fix_trunctfsi2): SImode in GPR.
17967         (ctrdi): Remove FPR alternative and splitter.
17968
17969 2002-07-03  Will Cohen  <wcohen@redhat.com>
17970
17971         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
17972
17973 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
17974
17975         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
17976         than UNITS_PER_WORD, unless this is little endian and the first unit
17977         in this word.  Let extract_bit_field decide how to load an element.
17978         Force arguments to matching mode.
17979         (expand_vector_unop): Likewise.
17980
17981         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
17982         consist of word_mode elements.
17983         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
17984         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
17985         (build_unary_op): Allow vector types for BIT_NOT_EPR.
17986         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
17987         CONST_VECTOR.
17988         * optabs.c (expand_vector_binop): Try to perform operation in
17989         smaller vector modes with same inner size.  Add handling of AND, IOR
17990         and XOR.  Reject expansion to inner-mode sized scalars when using
17991         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
17992         (expand_vector_unop): Try to perform operation in smaller vector
17993         modes with same inner size.  Add handling of one's complement.
17994         When there is no vector negate operation, try a vector subtract
17995         operation.  Use simplify_gen_subreg on constants.
17996         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
17997         constants into smaller vectors with same inner mode, and to
17998         integer CONST_DOUBLEs.
17999
18000 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18001
18002         * c-parse.in (parsing_iso_function_signature): New variable.
18003         (extdef_1): New, copied from...
18004         (extdef): ... here.  Reset parsing_iso_function_signature.
18005         (old_style_parm_decls):  Reset parsing_iso_function_signature.
18006         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
18007         Warn about ISO C style function definitions.
18008         (nested_function, notype_nested_function): Reset
18009         parsing_iso_function_signature.
18010         (parmlist_2): Set parsing_iso_function_signature.
18011
18012         * doc/invoke.texi (-Wtraditional): Document new behavior.
18013
18014 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
18015
18016         * config.gcc (mips*el-*-*): Use tm_defines to set
18017         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
18018         * config/mips/little.h: Remove.
18019
18020 2002-07-02 Devang Patel <dpatel@apple.com>
18021
18022         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
18023         object as parameter. Prevent something like 'NSObject' to be
18024         used as the type for a method argument.
18025
18026 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
18027
18028         * cpptrad.c: Update comment.
18029
18030 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
18031
18032         * doc/cpp.texi: Update for traditional preprocessing changes.
18033         * goc/cppopts.texi: Similarly.
18034
18035 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
18036
18037         * c-parse.in (designator): Enable designated initializers if ObjC.
18038         (objcmessageexpr): Remove references to objc_receiver_context.
18039         * objc/objc-act.h (objc_receiver_context): Remove decl.
18040         * objc/objc-act.c (objc_receiver_context): Remove.
18041         (lookup_objc_ivar): Test objc_method_context instead of
18042         objc_receiver_context.
18043
18044 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
18045
18046         * sh.c (print_operand, case 'N'): Allow zero vector.
18047         (arith_reg_or_0_operand): Likewise.
18048         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
18049         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
18050         IOR, XOR, PLUS and SET and take their respective constant
18051         ranges into account.
18052         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
18053         * sh.md (subdi3, subdi3_media): Allow zero operand.
18054         (movv8qi_i+3): Only vector that is not split is the zero vector.
18055         Fix operand 3 to simplify_subreg.
18056         (movv2si_i): Split alternative 1.
18057         (mshfhi_l_di_rev+1): New splitter.
18058
18059 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
18060
18061         PR preprocessor/7029
18062         * cppinit.c (cpp_handle_option):  Suppress warnings with an
18063         implicit "-w" for "-M" and "-MM".
18064         * doc/cppopts.texi: Update.
18065
18066 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18067
18068         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
18069         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
18070         builtin_function.
18071
18072 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
18073
18074         * README.Portability: Fix typos.
18075
18076 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
18077
18078         PR target/7177
18079         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
18080         of indirections for register inside sign-extended mem part.
18081
18082 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18083
18084         * tree.h:  Modify builtin_function interface to take an extra
18085         argument ATTRS, which is a tree representing an attribute list.
18086
18087         * c-decl.c (builtin_function): Accept additional parameter.
18088         * objc/objc-act.c (builtin_function): Likewise.
18089         * f/com.c (builtin_function): Likewise.
18090         * java/decl.c (builtin_function): Likewise.
18091         * ada/utils.c (builtin_function): Likewise.
18092         * cp/decl.c (builtin_function): Likewise.
18093         (builtin_function_1): Likewise.
18094
18095         * c-common.c (c_common_nodes_and_builtins): Pass an additional
18096         NULL_TREE argument to builtin_function.  (builtin_function_2):
18097         Likewise.
18098         * cp/call.c (build_java_interface_fn_ref): Likewise.
18099         * objc/objc-act.c (synth_module_prologue): Likewise.
18100         * java/decl.c (java_init_decl_processing): Likewise.
18101         * f/com.c (ffe_com_init_0): Likewise.
18102
18103         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
18104         NULL_TREE argument to builtin_function.
18105         * config/arm/arm.c (def_builtin): Likewise.
18106         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
18107         * config/i386/i386.c (def_builtin): Likewise.
18108         * config/ia64/ia64.c (def_builtin): Likewise.
18109         * config/rs6000/rs6000.c (def_builtin): Likewise.
18110
18111 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
18112
18113         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
18114         * config/mips/t-isa3264: Likewise.
18115         * config/mmix/t-mmix: Likewise.
18116
18117 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18118
18119         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
18120
18121 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18122
18123         PR opt/4046
18124         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
18125         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
18126         B are truth values.
18127
18128 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
18129
18130         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
18131
18132 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
18133
18134         * README.Portability (Function prototypes): Give an example of
18135         declaring and defining a function with no arguments.
18136
18137         * README.Portability (Function prototypes): Document new
18138         variable-argument function macros.
18139
18140 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
18141
18142         * sh.c (langhooks.h): Include.
18143         (sh_init_builtins, sh_media_init_builtins): New functions.
18144         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
18145         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
18146         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
18147         (builtin_description): New struct tag.
18148         (signature_args, bdesc): New arrays.
18149         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
18150         (print_operand): Add 'N' modifier.
18151         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
18152         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
18153         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
18154         (CONST_COSTS): Add special case for SHmedia AND.
18155         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
18156         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
18157         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
18158         target_operand can also be const or unspec.
18159         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
18160         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
18161         (attribute type): Add new types.
18162         (anddi3): Add splitter.
18163         (movdi_const_16bit+1): Add code to handle vector constants and
18164         bitmasks efficiently.
18165         (shori_media): Have generator function made.
18166         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
18167         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
18168         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
18169         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
18170         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
18171         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
18172         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
18173         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
18174         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
18175         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
18176         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
18177         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
18178         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
18179         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
18180         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
18181         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
18182         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
18183         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
18184         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
18185         (ftrv): Likewise.
18186
18187         (fpu_switch+1, fpu_switch+2): Remove constraint.
18188
18189 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
18190
18191         * tree.c (build_function_type_list): Update function comment.
18192         Rename first argument to return_type.
18193
18194 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
18195
18196         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
18197         tradcif.y and related files.
18198
18199 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
18200
18201         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
18202
18203 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18204
18205         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
18206
18207 See ChangeLog.7 for earlier changes.