OSDN Git Service

* c-common.h (pending_lang_change): Declare.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2
3         * c-common.h (pending_lang_change): Declare.
4
5 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6
7         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
8         descriptions.
9
10 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
11
12         * gcc/doc/invoke.texi (Optimization Options): List the options
13         enabled by each -O flag.
14
15 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16
17         * doc/install.texi (Configuration): Explicitly refer
18         gcc/config.gcc for a list of cpu models.
19
20 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
21
22         * config/h8300/h8300.h: Fix comment typos.
23
24 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
25
26         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
27
28 2002-12-30  Tom Tromey  <tromey@redhat.com>
29
30         * doc/install.texi (Testing): Mention Jacks.
31
32 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
33
34         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
35
36 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
37
38         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
39         cases.
40         (compute_logical_op_length): Update to reflect the change in
41         output_logical_op.
42         (compute_logical_op_cc): Likewise.
43
44 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
45
46         * doc/service.texi: Uncomment and update FAQ link.
47
48 2002-12-30  Andreas Jaeger  <aj@suse.de>
49
50         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
51
52 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
53
54         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
55
56 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
57
58         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
59         are clearing the most significant byte.
60         (compute_logical_op_length): Update to reflect the change in
61         output_logical_op.
62         (compute_logical_op_cc): Likewise.
63
64 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
65
66         * config/h8300/h8300.md: Give internal names to anonymous
67         insns.
68
69 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
70
71         * config/h8300/h8300.md: Reorder some insns.
72
73 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
74
75         * config/h8300/h8300-protos.h: Add prototypes for
76         const_int_qi_operand and const_int_hi_operand.
77         * config/h8300/h8300.c (const_int_qi_operand): New.
78         (const_int_hi_operand): Likewise.
79         * config/h8300/h8300.md (three peepholes): New.
80
81 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
82
83         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
84         Use @copying.
85
86 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
87
88         * configure.in: Increase makeinfo version requirement to 4.[2-9].
89         * configure: Regenerate.
90         * doc/install.texi: Update Texinfo version requirement.
91
92 2002-12-28  Andreas Jaeger  <aj@suse.de>
93
94         * config/i386/i386.c (x86_function_profiler): Mark labelno as
95         possibly unused.
96
97         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
98         correct format.
99
100 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
101
102         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
103         *iorhi_ashift_8.
104         (*iorhi_lshiftrt_8): New.
105
106 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
107
108         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
109
110 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
111
112         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
113
114 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
115
116         * config/h8300/h8300-protos.h: Fix comment typos.
117         Update copyright.
118         * config/h8300/h8300.c: Fix comment typos.
119
120 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
121
122         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
123
124 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
125
126         * config/i386/athlon.md: Fix comment typos.
127         * config/i386/crtdll.h: Likewise.
128         * config/i386/djgpp.h: Likewise.
129         * config/i386/i386-interix.h: Likewise.
130         * config/i386/i386.c: Likewise.
131         * config/i386/i386.h: Likewise.
132         * config/i386/i386.md: Likewise.
133         * config/i386/k6.md: Likewise.
134         * config/i386/mingw32.h: Likewise.
135         * config/i386/pentium.md: Likewise.
136         * config/i386/sco5.h: Likewise.
137         * config/i386/winnt.c: Likewise.
138         * config/i386/xmmintrin.h: Likewise.
139
140 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
141
142         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
143         INSN_P before checking to see if it is dead.
144         (mark_all_insn_unnecessary): Similarly.
145         (ssa_eliminate_dead_code): Similarly.
146         * rtl.h (struct rtx_def): Update comments for in_struct usage
147         in dead code elimination pass.
148         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
149
150 2002-12-26  Andreas Schwab  <schwab@suse.de>
151
152         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
153
154 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
155
156         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
157         tartet_flags_explicit.
158         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
159         Compact target_flags bits.
160         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
161         (TARGET_SWITCHES): Delete references to *_SET flags.
162
163 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
164
165         * i386.md (memory attribute): Fix setcc attribute.
166
167 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
168
169         * output.h: Fix comment typos.
170         * predict.c: Likewise.
171         * print-tree.c: Likewise.
172         * profile.c: Likewise.
173         * ra-build.c: Likewise.
174         * ra-colorize.c: Likewise.
175         * ra-debug.c: Likewise.
176         * ra-rewrite.c: Likewise.
177         * ra.c: Likewise.
178         * ra.h: Likewise.
179         * real.c: Likewise.
180         * recog.c: Likewise.
181         * reg-stack.c: Likewise.
182         * regclass.c: Likewise.
183
184 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
185
186         * config/h8300/h8300.c (print_operand_address): Do not negate
187         a negative number when printing one.
188
189 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
190
191         * config/h8300/h8300-protos.h: Add prototypes for
192         output_plussi, compute_plussi_length, and compute_plussi_cc.
193         * config/h8300/h8300.c (output_plussi): New.
194         (compute_plussi_length): Likewise.
195         (compute_plussi_cc): Likewise.
196         * config/h8300/h8300.md (addsi_h8300h): Call
197         output_plussi, compute_plussi_length, and compute_plussi_cc.
198
199 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
200
201         * config/h8300/h8300.md (two peepholes): Use match_dup instead
202         of match_operand in the new patterns.
203
204 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
205
206         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
207
208 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
209
210         * configure.in (enable-coverage): Add SELF_COVERAGE.
211         * profile.c (end_branch_prob): Use SELF_COVERAGE.
212
213 2002-12-24  Jim Wilson  <wilson@redhat.com>
214
215         * alias.c (record_set): Handle multi-reg hard registers.
216
217 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
218
219         * regmove.c: Fix comment typos.
220         * reload.c: Likewise.
221         * reload1.c: Likewise.
222         * resource.c: Likewise.
223         * rtl.def: Likewise.
224         * rtl.h: Likewise.
225         * rtlanal.c: Likewise.
226         * sched-deps.c: Likewise.
227         * sched-rgn.c: Likewise.
228         * sibcall.c: Likewise.
229         * simplify-rtx.c: Likewise.
230         * ssa-ccp.c: Likewise.
231         * ssa.c: Likewise.
232         * stmt.c: Likewise.
233         * stor-layout.c: Likewise.
234         * system.h: Likewise.
235         * tlink.c: Likewise.
236         * toplev.c: Likewise.
237         * tracer.c: Likewise.
238         * tree-inline.c: Likewise.
239         * tree.c: Likewise.
240         * tree.h: Likewise.
241         * unroll.c: Likewise.
242         * varasm.c: Likewise.
243
244 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
245
246         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
247         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
248         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
249         DG/UX entries.
250         * doc/md.texi: Remove AMD 29K entries.
251         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
252         1.38.1, NewsOS, RT PC, WE32K entries.
253
254 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
255
256         PR/8763
257         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
258         (altivec_vspltisw_v4sf): Name pattern.
259         (altivec_vslw_v4sf): New pattern.
260
261 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
262
263         * doc/include/gcc-common.texi: Define DEVELOPMENT.
264
265 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
266
267         * stor-layout.c (update_alignment_for_field): Correct handling of
268         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
269         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
270         bitfield does not affect alignment.
271
272 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
273
274         * expr.c (expand_assignment): Apply special treatment to
275         ARRAY_TYPE.
276
277 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
278
279         * config/h8300/h8300-protos.h: Update the prototype of
280         expand_a_shift.
281         * config/h8300/h8300.c (expand_a_shift): Change the return
282         type to void.
283         * config/h8300/h8300.md: Update all the uses of
284         expand_a_shift.
285
286 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
287
288         * tree.c (save_expr): Allow either side of a dyadic operand to be
289         constant.
290
291         * doc/portability.texi (portability): Update portability goals.
292
293 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
294
295         * config/h8300/h8300.c (output_a_shift): Remove unused code.
296
297 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
298
299         * stor-layout.c (update_alignment_for_field): Guard use of
300         ADJUST_FIELD_ALIGN with #ifdef.
301
302         * stor-layout.c (update_alignment_for_field): Use
303         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
304         bitfield when PCC_BITFIELD_TYPE_MATTERS.
305
306 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
307
308         * genautomata.c: Fix comment typos.
309
310 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
311
312         * params.def (tracer-min-branch-probability-feedback): Fix default.
313         * final.c (compute_alignments): Use profile to avoid code bloat.
314
315 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
316
317         * config/h8300/h8300.c (get_shift_alg): Make shift insn
318         sequences end with a valid cc0 whenever possible.
319
320 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
321
322         * config/h8300/h8300.md (negsf2): New.
323         (*negsf2_h8300): Likewise.
324         (*negsf2_h8300hs): Likewise.
325
326 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
327
328         * integrate.c (output_inline_function): Don't hold private
329         pointers to 'struct function' over GC calls.
330
331 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
332
333         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
334         NO_FPSCR_VALUES.
335         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
336
337 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
338
339         * config/h8300/h8300.md (zero_extendqisi2): Correct the
340         length.
341
342 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
343
344         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
345         second alternative "#".
346         (*zero_extendqihi2_h8300hs): Likewise.
347         (a define_split): New.
348
349 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
350
351         * config/h8300/h8300-protos.h: Update the prototype for
352         split_adds_subs.
353         Add prototypes for const_le_2_operand and const_le_6_operand.
354         * config/h8300/h8300.c (split_adds_subs): Add an argument to
355         specify whether inc/dec should be used when possible.
356         (const_le_2_operand): New.
357         (const_le_6_operand): Likewise.
358         * config/h8300/h8300.md (two peepholes): New.
359
360 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
361
362         * config/fr30/fr30.md: Fix a comment typo.
363         * config/i386/i386.c: Likewise.
364         * config/ip2k/ip2k.h: Likewise.
365
366 2002-12-20  Jim Wilson  <wilson@redhat.com>
367
368         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
369         (__ev_subw, __ev_subiw): New.
370         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
371         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
372
373 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
374
375         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
376         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
377         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
378         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
379
380 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
381
382         * config/h8300/h8300-protos.h: Add prototypes for
383         incdec_operand and eqne_operator.
384         * config/h8300/h8300.c (incdec_operand): New.
385         (eqne_operator): Likewise.
386         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
387         (CONST_OK_FOR_O): Likewise.
388         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
389         CONST_OK_FOR_O.
390         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
391         (addhi3_incdec): New.
392         (addsi3_incdec): Likewise.
393         (two peepholes): Likewise.
394
395 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
396
397         * config/h8300/h8300.c (dosize): Remove warnings.
398         (print_operand): Likewise.
399
400 2002-12-20  Richard Henderson  <rth@redhat.com>
401
402         * config/alpha/alpha.c (decl_has_samegp): New.
403         (samegp_function_operand): Use it.  Rename from
404         current_file_function_operand.
405         (direct_call_operand): Handle -msmall-text via symbol->jump.
406         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
407         (tls_symbolic_operand_type): Likewise.
408         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
409         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
410         (alpha_end_function): Set symbol->jump for functions defined in
411         the text section.
412         * config/alpha/alpha-protos.h: Update.
413         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
414         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
415         (PREDICATE_CODES): Update.
416         * config/alpha/alpha.md (call patterns): Update for
417         samegp_function_operand rename; use !samegp reloc if
418         TARGET_EXPLICIT_RELOCS.
419         * doc/invoke.text: Document -msmall-text and -mlarge-text.
420
421 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
422
423         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
424         all registers capable of holding a double float.
425         (*rcond): change name of "reverse branch" insns to
426         something more meaningful.
427         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
428         comparisons properly.
429         (*ffs): Change operand 0 from write to read-modify-write.
430         (*ffsssi2): Drop constraints from define_expand.
431
432         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
433         MOVE_RATIO as default for store operations.
434
435         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
436         LONG_REGS class.
437         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
438         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
439         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
440
441         * config/ns32k/STATUS: New File
442         * config/ns32k/NOTES: New file.
443
444 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
445
446         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
447         option for S/390 and zSeries.
448         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
449         s390_arch_string): New variables.
450         (override_options): Checking for options and setting of
451         appropriate target_flags, cpu and arch flags.
452         * config/s390/s390.h: (processor_type): New enum.
453         (TARGET_SWITCHES): New switches -mesa/zarch.
454         * config/s390/s390.md: New attribute 'cpu'.
455
456 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
457
458         * c-pretty-print.h: Fix comment typos.
459         * integrate.c: Likewise.
460         * varasm.c: Likewise.
461         * config/c4x/c4x.h: Likewise.
462         * config/c4x/c4x.md: Likewise.
463         * config/fr30/fr30.md: Likewise.
464         * config/frv/frv.c: Likewise.
465         * config/h8300/h8300.c: Likewise.
466         * config/i386/i386.c: Likewise.
467         * config/i386/i386.h: Likewise.
468         * config/ia64/ia64.c: Likewise.
469         * config/ia64/ia64.h: Likewise.
470         * config/ip2k/ip2k.md: Likewise.
471         * config/m68hc11/m68hc11-crt0.S: Likewise.
472         * config/m68hc11/m68hc11.h: Likewise.
473         * config/m68hc11/m68hc11.md: Likewise.
474         * config/m68hc11/m68hc12.h: Likewise.
475         * config/mcore/mcore.md: Likewise.
476         * config/mips/mips.c: Likewise.
477         * config/mips/mips.md: Likewise.
478         * config/mmix/mmix-modes.def: Likewise.
479         * config/pa/pa.c: Likewise.
480         * config/rs6000/rs6000.c: Likewise.
481         * config/rs6000/rs6000.h: Likewise.
482         * config/rs6000/rs6000.md: Likewise.
483
484 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
485
486         * config/h8300/h8300.md (output_a_shift): Clean up the code to
487         output shifts using rotation.
488
489 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
490
491         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
492
493 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
494
495         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
496         pointer.
497         (pushqi_h8300hs): Likewise.
498         (pushhi_h8300): Likewise.
499         (pushhi_h8300hs): Likewise.
500
501 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
502
503         * sched-rgn.c (init_regions): Update comment.
504
505 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
506
507         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
508         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
509         attributes.
510         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
511         (get_vrsave_internal,set_vrsave_internal): Same.
512         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
513         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
514         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
515
516 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
517             Danny Smith  <dannysmith@users.sourceforge.net>
518             Eric Kohl  <ekohl@rz-online.de>
519
520         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
521         attributes incompatible with fastcall attribute.
522         (ix86_handle_regparm_attribute): Likewise.
523
524         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
525         fastcall types.
526
527         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
528         attributes.
529         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
530         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
531         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
532         i386_pe_output_labelref rather than here.
533         (gen_fastcall_suffix): New function. Decorates a label name with the
534         fastcall prefix (@) and the stdcall suffix.
535         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
536         has a fastcall attribute.
537         (i386_pe_output_labelref): New function. Outputs a label reference.
538         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
539         valid attribute.
540         (ix86_return_pops_args): Fastcall functions pop the stack.
541         (init_cumulative_args): Reserve registers ECX and EDX if function has
542         fastcall attribute.
543         (function_arg): Use registers ECX and EDX if function has fastcall
544         attribute.
545         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
546         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
547         (FASTCALL_PREFIX): Define as '@'.
548         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
549         attributes.
550         * doc/extend.texi: Add documentation of fastcall attribute.
551
552 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
553
554         * configure.in: FORBUILD when build!=host changed from
555         ../$build-alias to ../build-$build_alias to match change made
556         in top directory.
557         * configure: Regenerated.
558
559 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
560
561         PR optimization/8988
562         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
563         the biv when eliminating.
564
565 2002-12-19  Devang Patel  <dpatel@apple.com>
566         * gcc.c (struct default_compiler): Recognizes input file name with
567         .CPP extension as C++ source files
568         * cp/lang-spec.h: Same
569         * doc/invoke.texi:  Add documentation for .CPP support.
570
571 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
572
573         PR 8553
574         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
575         registers.
576         ("absv16qi2"): Same.
577         ("absv4si2"): Same.
578         ("absv4sf2"): Same.
579         ("altivec_abss_v16qi"): Same.
580         ("altivec_abss_v8hi"): Same.
581         ("altivec_abss_v4si"): Same.
582
583 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
584
585         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
586         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
587
588 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
589
590         PR target/8340
591         * stmt.c (expand_asm_operands): Produce an error when
592         the PIC register is clobbered.
593
594 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
595
596         * Makefile.in (OBJS): Add alloc-pool.o
597         (alloc-pool.o): New object.
598
599         * alloc-pool.c: New file.
600         * alloc-pool.h: New file.
601
602 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
603
604         * gcc.c (validate_switches): Robustify against skipping past '\0'.
605
606 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
607
608         * config.gcc: Set extra_objs in the generic Darwin rule,
609         not in the machine-specific rules.
610
611 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
612
613         * ChangeLog: Follow spelling conventions.
614         * ChangeLog.2: Likewise.
615         * ChangeLog.4: Likewise.
616         * ChangeLog.5: Likewise.
617         * cppexp.c: Likewise.
618         * df.c: Likewise.
619         * gcov.c: Likewise.
620         * gengtype.c: Likewise.
621         * reload1.c: Likewise.
622         * sched-rgn.c: Likewise.
623         * stmt.c: Likewise.
624         * stor-layout.c: Likewise.
625         * timevar.c: Likewise.
626         * toplev.c: Likewise.
627         * tree.h: Likewise.
628         * varasm.c: Likewise.
629         * config/fr30/fr30.md: Likewise.
630         * config/i386/i386.c: Likewise.
631         * config/ia64/ia64.c: Likewise.
632         * config/pa/pa.c: Likewise.
633
634 2002-12-18  Roger Sayle  <roger@eyesopen.com>
635
636         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
637
638 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
639
640         PR 8551
641         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
642         macro.
643         (vec_cmplt C++ functions): Reverse arguments.
644
645 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
646
647         * config/rs6000/t-rs6000: Move contents to t-fprules,
648         add rules for dependencies of rs6000.o and to build rs6000-c.o
649         * config/rs6000/t-fprules: New file from t-rs6000.
650         * config/rs6000/t-beos: Remove soft-fp rules.
651         * config/rs6000/t-ppccomm: Likewise.
652         * config/rs6000/t-newas: Likewise.
653         * config/rs6000/t-rs6000-c-rule: Delete.
654         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
655         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
656         Create generic Darwin rules.
657
658         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
659
660 2002-12-18  Doug Evans  <dje@sebabeach.org>
661
662         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
663         and LIT_NAME_P.
664         (move_src_operand): Remove compile-time warning.
665         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
666
667 2002-12-18  Jason Merrill  <jason@redhat.com>
668
669         * unwind-dw2-fde.c (frame_downheap): Split out from...
670         (frame_heapsort): Here.
671
672 2002-12-17  Jason Merrill  <jason@redhat.com>
673
674         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
675         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
676
677         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
678
679         * calls.c (expand_call): Don't try to be clever about expanding
680         the return slot address.
681
682 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
683
684         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
685         Define.
686
687 2002-12-17  Jason Merrill  <jason@redhat.com>
688
689         * genmultilib: Use 'cd ./foo'.
690
691 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
692
693         * doc/c-tree.texi: Restore deliberate spelling mistakes.
694
695 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
696
697         * doc/c-tree.texi: Fix typos and follow spelling conventions.
698         * doc/cpp.texi: Likewise.
699         * doc/extend.texi: Likewise.
700         * doc/gty.texi: Likewise.
701         * doc/install.texi: Likewise.
702         * doc/invoke.texi: Likewise.
703         * doc/md.texi: Likewise.
704         * doc/passes.texi: Likewise.
705         * doc/rtl.texi: Likewise.
706         * doc/sourcebuild.texi: Likewise.
707         * doc/tm.texi: Likewise.
708
709 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
710
711         * doc/invoke.texi: Minor spelling and grammar fixes.
712
713 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
714
715         * config/s390/s390.c (s390_output_constant_pool): Replace
716         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
717
718 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
719
720         * convert.c (convert_to_real): Disable function transformation for
721         now.
722
723 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
724
725         * gcc.c (handle_braces): Allow '@' as a switch name.
726
727 2002-12-16  Jason Merrill  <jason@redhat.com>
728
729         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
730         with special struct-return ABIs.
731
732         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
733         doesn't match the begin SCOPE_STMT in partialness.
734
735 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
736
737         * genmultilib: Create temporary files in unique subdirectory.
738
739         * gcc.c (validate_switches): Allow '@' as a switch name.
740
741 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
742
743         * Makefile.in (gcov-iov.h): Improve portability.
744
745 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
746
747         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
748         gas
749         * mips.md (tablejump insn): Likewise.
750
751 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
752
753         * doc/include/gcc-common.texi: Change version number to 3.4.
754
755 2002-12-16  Bruce Korb  <bkorb@gnu.org>
756
757         * fixinc/fixlib.h: add: #include <signal.h>
758         * fixinc/fixincl.c: remove: #include <signal.h>
759
760 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
761
762         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
763         (EXTRA_CONSTRAINT): Use it.
764         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
765
766 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
767
768         * config.gcc (need_64bit_hwint): New variable.
769         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
770         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
771         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
772         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
773         Set it.
774         (powerpc*-*-darwin*): Unset it.
775         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
776         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
777         deleted/nonexistent xm-*.h headers.
778         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
779         target set need_64bit_hwint in config.gcc.
780         * configure, config.in: Regenerate.
781
782         * hwint.h: Overhaul.  Don't bother trying int for
783         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
784         decision to force 64-bit HOST_WIDE_INT on
785         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
786         not visible at this point.  Don't allow prior definition of
787         any macro defined by this file.
788
789         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
790         HOST_BITS_PER_WIDE_INT.
791         * config/c4x/c4x.h: Adjust redefinition of
792         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
793         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
794         config/i386/xm-i386-interix.h: Delete file.
795
796 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
797             John David Anglin  <dave@hiauly1.hia.nrc.ca>
798
799         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
800         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
801
802 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
803
804         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
805
806 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
807
808         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
809         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
810         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
811         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
812         config/v850/t-v850:  Correct dependencies and normalize
813         compilation commands for files that include coretypes.h and tm.h.
814
815         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
816         not config.h and system.h.
817
818 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
819
820         * i386.c (flags_reg_operand):  New function.
821         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
822         * i386.md (cmov splitter, movqicc): Use new predicate.
823
824 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
825
826         * i386.md (movqicc splitter): Fix template.
827
828 2002-12-13  Jason Merrill  <jason@redhat.com>
829
830         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
831         * calls.c (expand_call): Handle it.
832         * tree-inline.c (struct inline_data): Remove target_exprs field.
833         (optimize_inline_calls): Don't initialize it.
834         (expand_call_inline): Don't modify it.  Handle
835         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
836         (declare_return_variable): Take return slot addr.
837         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
838         to return_slot_addr.
839         * langhooks-def.h, langhooks.c: Adjust.
840         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
841         a decl with no DECL_INITIAL.
842
843         * expr.c (expand_expr): Don't discard the target of a call which
844         returns in memory.
845
846 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
847
848         * cppinit.c (path_include): Take an environment variable name.
849         Tidy up.
850         (init_standard_includes): Simplify environment handling, and
851         move to ...
852         (cpp_read_main_file): ...here as -nostdinc should not affect
853         environment variable paths.
854
855 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
856
857         * pa.c (output_millicode_call): Correct typo.
858         (output_call): Likewise.
859
860 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
861
862         * config/mn10300/mn10300.c (print_operand) <case N>: Check
863         operand's range.  Print value directly, without aid from
864         output_address.
865         <case U>: New.
866         <case S>: Make sure argument to fprintf has the right type.
867         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
868         (EXTRA_CONSTRAINT): Adjust.
869         * config/mn10300/mn10300.md: Add new all-QImode pattern for
870         bclr.  Use %U for immediate operands of bset and bclr.
871         (iorqi3): New expand, with insns for AM33 and mn10300.
872
873 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
874
875         * sh.c (sh_register_operand): New function.
876         (prepare_move_operands): Use it.
877         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
878         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
879         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
880         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
881         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
882         (movv2si_i): Likewise.
883
884 2002-12-13  Jim Wilson  <wilson@redhat.com>
885
886         * doc/extend.texi (Complex Numbers): Update info on debug info.
887
888 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
889
890         * config/h8300/h8300.md (addhi3_h8300): Remove the last
891         alternative.
892
893 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
894
895         * hooks.h (hook_tree_tree_bool_false): Declare
896         hook_bool_tree_tree_false instead.
897
898 2002-12-12  Devang Patel  <dpatel@apple.com>
899
900         * doc/invoke.texi: Document Darwin linker options, -bundle
901         -bind_at_load, -all_load and -arch_errors_fatal
902
903 2002-12-12  Jim Wilson  <wilson@redhat.com>
904
905         * dbxout.c (dbxout_fptype_value): New.
906         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
907
908 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
909
910         * c-decl.c: Fix a comment typo.
911         * cfg.c: Likewise.
912         * cfgcleanup.c: Likewise.
913         * cfglayout.c: Likewise.
914         * cfgrtl.c: Likewise.
915         * c-typeck.c: Likewise.
916         * dominance.c: Likewise.
917         * dwarf2asm.c: Likewise.
918         * dwarfout.c: Likewise.
919         * expmed.c: Likewise.
920         * expr.c: Likewise.
921         * final.c: Likewise.
922         * flow.c: Likewise.
923         * function.c: Likewise.
924         * gcc.c: Likewise.
925         * genautomata.c: Likewise.
926         * integrate.c: Likewise.
927         * loop.c: Likewise.
928         * loop.h: Likewise.
929         * output.h: Likewise.
930         * profile.c: Likewise.
931         * ra.h: Likewise.
932         * reload1.c: Likewise.
933         * reload.c: Likewise.
934         * sched-rgn.c: Likewise.
935         * stmt.c: Likewise.
936         * tree.h: Likewise.
937         * vmsdbgout.c: Likewise.
938
939 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
940
941         * config/h8300/h8300.md: Add a new peephole2.
942
943 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
944
945         * config/h8300/h8300.md (a peephole2): Accept a constant
946         that's accepted by CONST_OK_FOR_J.
947
948 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
949
950         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
951         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
952         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
953         (*addhi_h8300hs): Likewise.
954
955 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
956
957         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
958         (sh_register_move_cost): Add clause for SImode fp-fp moves.
959         Increase cost for moves involving multiple general purpose registers.
960         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
961         TARGET_FMOVD.
962         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
963         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
964         (enum reg_class reg_class_from_letter): No longer const.
965         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
966         REGCLASS_HAS_GENERAL_REG.
967         Handle SImode moves from/to fp registers.
968         ! TARGET_SHMEDIA && TARGET_FMOVD.
969         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
970         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
971
972 2002-12-12  Andreas Schwab  <schwab@suse.de>
973
974         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
975         change and some warnings.
976
977 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
978
979         * doc/md.texi (pushm): Fix a typo.
980
981 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
982
983         * config/mips/mips.c (mips_output_conditional_branch): Support
984         PIC-safe out-of-range branch and branch-likely.
985         * config/mips/mips.md (attr length): PIC-safe out-of-range
986         branches are longer.
987         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
988         unused code to support indirect jumps.
989
990 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
991
992         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
993         $(tm_file_list).
994
995 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
996
997         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
998
999 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
1000
1001         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
1002
1003 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1004
1005         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
1006         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
1007         BIGGEST_ALIGNMENT.
1008         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
1009         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
1010
1011 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
1012
1013         * doc/invoke.texi: Correct dump file names.
1014
1015 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
1016
1017         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
1018         name to globalize_label or assemble_name.
1019
1020 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
1021
1022         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
1023         if not TARGET_SHMEDIA.
1024
1025 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
1026
1027         * sh.h (REG_CLASS_HAS_FP_REG): New.
1028         (REGISTER_MOVE_COST) Use it.  Put body into a function and
1029         move it into:
1030         * sh.c (sh_register_move_cost).
1031         * sh-protos.h (sh_register_move_cost): Declare.
1032
1033         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
1034         (sh_adjust_cost): Always return a value.
1035
1036 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
1037
1038         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
1039         (REGISTER_MOVE_COST): Use it.
1040
1041 2002-12-11  Richard Henderson  <rth@redhat.com>
1042
1043         * tree.h (MODULE_LOCAL_P): Kill.
1044         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
1045
1046 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
1047
1048         * config/h8300/h8300.md (two define_peephole2): New.
1049
1050 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
1051
1052         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
1053         (CONST_OK_FOR_K): Likewise.
1054         (CONST_OK_FOR_M): Likewise.
1055         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
1056
1057 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
1058
1059         * c-common.c (builtin_define_type_max): Handle unsigned
1060         types too.
1061
1062 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
1063
1064         * haifa-sched.c (rank_for_schedule): Correct style.
1065
1066 2002-12-10  Per Bothner  <pbothner@apple.com>
1067
1068         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
1069         directive_index into an unsigned field and a new is_directive field.
1070         * cppinit.c (mark_named_operators):  Update to set new fields.
1071         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
1072         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
1073         No longer need to subtract 1 from directive_index.
1074         (_cpp_init_directives):  No longer need to add 1 to directive_index.
1075         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
1076
1077 2002-12-10  Roger Sayle  <roger@eyesopen.com>
1078
1079         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
1080         check for evaluating sqrt of a constant at compile time.
1081         * simplify-rtx.c (simplify_unary_operation): Likewise.
1082
1083 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
1084
1085         PR other/8882
1086         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
1087
1088 2002-12-10  Devang Patel  <dpatel@appple.com>
1089
1090         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
1091         * doc/invoke.texi: Add new "Darwin Options" section.
1092
1093 2002-12-10  Jim Wilson  <wilson@redhat.com>
1094
1095         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
1096         memory.
1097
1098 2002-12-10  Andrew Haley  <aph@redhat.com>
1099
1100         * cse.c (cse_insn): Don't cse past a basic block boundary.
1101
1102 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
1103
1104         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
1105         -shared.
1106         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
1107         * config/alpha/linux.h (LIB_SPEC): Likewise.
1108         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
1109         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
1110         * config/sparc/linux.h (LIB_SPEC): Likewise.
1111         * config/sparc/linux64.h (LIB_SPEC): Likewise.
1112
1113 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
1114
1115         * doc/invoke.texi: Document UltraSparc III option.
1116
1117 2002-12-09  Richard Henderson  <rth@redhat.com>
1118
1119         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
1120         __tune_pentium2__ and __tune_pentium3__ as necessary.
1121
1122 2002-12-09  Richard Henderson  <rth@redhat.com>
1123
1124         * target.h (gcc_target): Add cannot_force_const_mem.
1125         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
1126         (TARGET_INITIALIZER): Add it.
1127         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
1128         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
1129         * reload1.c (reload): Likewise.
1130         * hooks.c (hook_bool_rtx_false): New.
1131         * hooks.h: Declare it.
1132
1133         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
1134         (TARGET_CANNOT_FORCE_CONST_MEM): New.
1135         (ix86_expand_move): Remove de-const-pooling hack.
1136
1137 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
1138
1139         * toplev.c (dump_file): Fix order to match reality.
1140
1141 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
1142
1143         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
1144         (store_multiple): Likewise.
1145
1146 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1147
1148         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
1149         function pointers in page 0.
1150
1151 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
1152
1153         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
1154         definition
1155         (MEMBER_TYPE_FORCES_BLK): Move.
1156         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
1157         aggregate arguments.
1158         (ia64_function_value): Use PARALLEL to return aggregate values.
1159
1160 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
1161
1162         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
1163         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
1164         * calls.c (store_unaligned_arguments_into_pseudos) Remove
1165         FUNCTION_ARG_REG_LITTLE_ENDIAN.
1166         * stmt.c (expand_return): Ditto.
1167         * expr.c (move_block_from_reg): Ditto.
1168         (copy_blkmode_from_reg): Ditto.
1169         * expmed.c (store_bit_field): Ditto.
1170
1171 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
1172
1173         * config.gcc: Added tic4x-* target as an alias to c4x-*
1174
1175 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
1176
1177         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
1178         constructing insn directly.
1179
1180 2002-12-06  Per Bothner  <pbothner@apple.com>
1181
1182         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
1183         char to an int bit-field, for hosts where char is unsigned.
1184
1185 2002-12-07  Roger Sayle  <roger@eyesopen.com>
1186             Richard Henderson <rth@redhat.com>
1187
1188         * real.c (ieee_extended_motorola_format,
1189         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1190         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
1191         Provide appropriate values for new signbit field.
1192
1193 2002-12-07  Roger Sayle  <roger@eyesopen.com>
1194
1195         * real.h (real_format): Add signbit field.
1196         * real.c (ieee_single_format, ieee_double_format,
1197         ieee_extended_motorola_format, ieee_extended_intel_96_format,
1198         ieee_extended_intel_128_format, ibm_extended_format,
1199         ieee_quad_format, vax_f_format, vax_d_format,
1200         vax_g_format, i370_single_format, i370_double_format,
1201         c4x_single_format, c4x_extended_format, real_internal_format):
1202         Provide suitable signbit value, or -1 to avoid bit twiddling.
1203
1204         * optabs.c (expand_unop): Try implementing negation of
1205         floating point modes by flipping the sign bit.
1206         (expand_abs): Try implementing abs of floating point modes
1207         by clearing the sign bit.
1208
1209 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1210
1211         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
1212         of constructing insn directly.
1213
1214 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
1215
1216         * config/h8300/h8300.md (*iorhi_shift_8): New.
1217
1218 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
1219
1220         * doc/invoke.texi: Document FRV port options.
1221         * doc/md.texi: Document FRV register classes.
1222
1223 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1224
1225         * doc/install.texi (Configuration): Improve description of cases
1226         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
1227
1228 2002-12-06  Per Bothner  <pbothner@apple.com>
1229
1230         * cpplib.h (NODE_MACRO_ARG):  New flag.
1231         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
1232         Remove value.operator field.  Move arg_index field to value union.
1233         (directive_index):  Make signed, since also used for C++ operators.
1234         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
1235         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
1236         Save node->value, and set node->value.arg_index.
1237         (_cpp_create_definition):  For each paramater, restore node->value.
1238         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
1239         * cpptrad.c (scan_out_logical_line): Likewise.
1240         (scan_out_logical_line): Check for directive > 0.
1241         * cpplib.c (cpp_handle_directive):  Likewise.
1242         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
1243         by negative of directive_index.
1244         * cppinit.c (mark_named_operators):  Likewise.
1245
1246         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
1247
1248 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
1249
1250         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
1251         FPU.
1252         (push): Generate push_fpscr.
1253         (pop): Generate pop_fpscr.
1254         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
1255         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
1256
1257 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
1258
1259         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
1260         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
1261
1262 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
1263
1264         * sh.md (movdi_i): Name.  Remove inappropriate comment.
1265
1266 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
1267         Merged from basic improvements branch (excerpt):
1268
1269         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1270         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1271
1272 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
1273
1274         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
1275
1276 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
1277
1278         * i386.md (dimode peep2s): Re-add "&& 1".
1279
1280 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
1281
1282         * i386.c (ix86_expand_prologue):  Add comment, do not use
1283         fast prologues for cold and normal functions.
1284
1285 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1286
1287         * i386.c (x86_rep_movl_optimal): New variable.
1288         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
1289         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
1290
1291         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
1292         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
1293         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
1294         generate unnecesary subregs.
1295
1296 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1297
1298         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
1299         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
1300
1301 2002-12-05  Dale Johannesen  <dalej@apple.com>
1302
1303         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
1304
1305 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
1306
1307         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
1308         PROFILE_HOOK.
1309         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
1310
1311 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
1312
1313         * config/rs6000/spe.h (__ev_mwlufi): Remove.
1314         (__ev_mwlufia): Remove.
1315         (__ev_mwlumfaaw): Remove.
1316         (__ev_mwlusfaaw): Remove.
1317         (__ev_mwlumfanw): Remove.
1318         (__ev_mwlusfanw): Remove.
1319
1320 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
1321
1322         * config/h8300/h8300.md (*andorsi3_shift_8): New.
1323
1324 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
1325
1326         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
1327         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
1328         (get_shift_alg): Return optimal assembly instructions for the
1329         shifts mentioned above.
1330
1331 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
1332
1333         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
1334         condtiional moves.
1335
1336 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1337
1338         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
1339         implement ashiftrt:HI by 13 bits on H8S.
1340
1341 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1342
1343         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
1344         * pa.md (canonicalize_funcptr_for_compare): Output library call to
1345         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
1346         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
1347         CTOR_LIST_BEGIN): New defines.
1348         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
1349         (fptr.c): Add make rules.
1350
1351 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
1352
1353         * combine.c (combine_simplify_rtx): Add new canonicalizations.
1354         * doc/md.texi (Insn Canonicalizations): Document new
1355         canonicalizations for multiply/add combinations.
1356         * config/rs6000/rs6000.md: Add and modify floating add/multiply
1357         patterns to ensure they're used whenever they can be.
1358
1359 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1360
1361         * config/h8300/h8300.c: Update the comments related to shifts.
1362
1363 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1364
1365         * config/mips/mips.md (get_fnaddr): Correct length attribute.
1366
1367 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1368
1369         * config/h8300/h8300.md (*extzv_8_8): New.
1370         (*extzv_8_16): Likewise.
1371
1372 2002-12-04  Jason Merrill  <jason@redhat.com>
1373
1374         PR c++/8461, c++/8625
1375         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
1376         references.
1377         * tree-inline.c (initialize_inlined_parameters): Likewise.
1378
1379         * tree.c (variably_modified_type_p): Just return an error_mark_node.
1380
1381 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1382
1383         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
1384         macro instruction in a branch delay slot, to avoid assembler
1385         warnings.
1386
1387 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1388
1389         PR c/7622
1390         * c-semantics (genrtl_scope_stmt): Do not output inlined
1391         nested functions that contain no code.
1392
1393 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
1394
1395         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
1396         to be forced into nonfallthru.
1397
1398 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
1399
1400         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
1401
1402 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
1403
1404         * config/rs6000/spe.md (*movv1di_const0): New pattern.
1405
1406 2002-12-03  Richard Henderson  <rth@redhat.com>
1407
1408         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
1409
1410 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
1411
1412         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
1413         Initialize tmp.using_obstack to 0.
1414
1415 2002-12-03  Andreas Schwab  <schwab@suse.de>
1416
1417         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
1418         (EH_RETURN_STACKADJ_RTX): Define.
1419         (EH_RETURN_HANDLER_RTX): Define.
1420         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1421         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
1422         registers and don't save fixed registers.
1423         (m68k_output_function_prologue): Use it.
1424         (use_return_insn): Likewise.
1425         (m68k_output_function_epilogue): Likewise.
1426
1427 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
1428
1429         * config/h8300/h8300.c (single_one_operand): Fix a warning.
1430         (single_zero_operand): Likewise.
1431
1432 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1433
1434         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
1435         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
1436         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
1437         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
1438         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
1439         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
1440         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
1441         doc/install-old.texi: Replace hconfig.h with bconfig.h.
1442         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
1443
1444 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
1445
1446         * config/rs6000/rs6000.md (ffssi): Convert to expander.
1447         (ffsdi): Likewise.
1448         (cntlzw2, cntlzd2): New patterns.
1449
1450 2002-12-02  H.J. Lu <hjl@gnu.org>
1451
1452         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
1453         (mips*-*-linux*): Remove mips/t-linux.
1454
1455 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1456
1457         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1458
1459 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1460
1461         * config/h8300/h8300.c (dosize): Replace argument op with
1462         sign.
1463         (h8300_output_function_prologue): Update the call to dosize.
1464         (h8300_output_function_epilogue): Likewise.
1465
1466 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
1467
1468         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
1469
1470 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1471
1472         * configure.in: Use "missing" script to generate warning if
1473         flex or bison programs not found, instead of invoking "false".
1474         * configure: Rebuilt.
1475
1476 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
1477
1478         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
1479
1480 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
1481
1482         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1483
1484 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1485
1486         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
1487         (push): Likewise.
1488         (pop): Likewise.
1489         (h8300_output_function_prologue): Likewise.
1490         (h8300_output_function_epilogue): Likewise.
1491
1492 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
1493
1494         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1495         corresponding mode of non-integer mode, unless it is VOIDmode.
1496
1497 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1498
1499         * config/h8300/h8300.md (stm_h8300s_2): New.
1500         (stm_h8300s_3): Likewise.
1501         (stm_h8300s_4): Likewise.
1502         (five define_peephole2): Likewise.
1503
1504 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1505
1506         * ra-build.c: Fix a comment typo.
1507
1508 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1509
1510         * i386.c (ix86_expand_int_movcc): fix
1511         reversed BRANCH_COST test; be curefull about infinite recursion.
1512
1513 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1514
1515         * config/h8300/h8300.c (h8300_output_function_prologue):
1516         Remove variable idx.
1517         (h8300_output_function_epilogue): Likewise.
1518
1519 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
1520
1521         * config/frv/xm-frv.h: Delete, unnecessary.
1522
1523 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1524
1525         * config/h8300/h8300.md: Add comments for define_peephole2.
1526
1527 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
1528
1529         * builtin-types.def (BT_SIZE): Use size_type_node.
1530         * builtins.c (fold_builtin): Make the builtin strlen returns a
1531         size_t, not a sizetype.
1532         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
1533         c_size_type_node.
1534         (c_alignof_expr): Likewise.
1535         (c_common_nodes_and_builtins): Likewise.
1536         * c-common.h (CTI_C_SIZE_TYPE): Remove.
1537         (c_size_type_node): Likewise.
1538         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
1539         * tree.h (TI_SIZE_TYPE): New enumeral.
1540         (size_type_node): Likewise.
1541
1542 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
1543
1544         * configure.in: Don't put ${tm_file} into host_xm_file,
1545         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
1546         Take location of tm-preds.h into account when calculating
1547         tm_p_file_list.
1548         * configure: Regenerate.
1549         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
1550         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
1551         Remove special case code for tm_p.h and *config.h; add new
1552         special case code for tm.h and tconfig.h. Clean up a bit.
1553
1554         * Makefile.in (tm_file, tm_file_list): New variables set from
1555         @-substitutions.
1556         (GCONFIG_H): Deleted.
1557         (GTM_H, TM_H): New.
1558         (CONFIG_H): Is now just config.h $(host_xm_file_list).
1559         (TM_P_H): Move up with the other mkconfig.sh-generated
1560         headers; don't mention tm-preds.h explicitly.
1561         (tm.h, cs-tm.h): New rule.
1562         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
1563         invocations of mkconfig.sh for changes to that program.
1564         (mostlyclean): Delete print-rtl1.c.
1565         (clean): Delete tm.h.
1566         Update dependencies for the files listed below.
1567
1568         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
1569
1570         * coretypes.h: New file.
1571         * system.h: #define malloc to xmalloc and realloc to xrealloc
1572         when FLEX_SCANNER or YYBISON is defined, independent of the
1573         value of GCC_VERSION.
1574         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
1575         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
1576         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
1577         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
1578         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
1579         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
1580         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
1581         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
1582         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
1583         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
1584         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
1585         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
1586         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
1587         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
1588         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
1589         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
1590         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
1591         genconstants.c, genemit.c, genextract.c, genflags.c,
1592         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
1593         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
1594         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
1595         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
1596         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
1597         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
1598         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
1599         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
1600         print-tree.c, profile.c, protoize.c, ra-build.c,
1601         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
1602         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1603         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
1604         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
1605         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
1606         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
1607         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
1608         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
1609         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
1610         xcoffout.c, config/darwin-c.c, config/darwin.c,
1611         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
1612         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
1613         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
1614         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
1615         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
1616         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
1617         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
1618         config/i960/i960-c.c, config/i960/i960.c,
1619         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1620         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1621         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
1622         config/mips/irix6-libc-compat.c, config/mips/mips.c,
1623         config/mmix/mmix.c, config/mn10200/mn10200.c,
1624         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
1625         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
1626         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
1627         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
1628         config/sparc/sparc.c, config/stormy16/stormy16.c,
1629         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
1630         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
1631         Include coretypes.h and tm.h.
1632
1633         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
1634         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
1635         genrecog.c: Include coretypes.h and tm.h from the file
1636         generated by this program.
1637
1638         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
1639         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
1640         coretypes.h and tm.h, and tsystem.h when not already included.
1641         No need to include stddef.h nor stdlib.h.
1642
1643         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
1644         include auto-host.h or ansidecl.h/
1645         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
1646         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
1647         include auto-host.h, ansidecl.h, or system.h.
1648         * fixinc/server.c: Likewise.  Also, do not include signal.h,
1649         and do not redefine volatile.
1650
1651 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1652
1653         * i386.md (movdf_integer):  Always enable in 64bit.
1654         (movdf_nointeger): Always disable in 64bit.
1655
1656 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1657
1658         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
1659         pseudo register number plus 1.
1660
1661 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
1662
1663         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1664         corresponding mode of non-integer mode, unless it is VOIDmode.
1665
1666 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
1667
1668         * cpplib.c (_cpp_test_assertion): Default *value to 0.
1669
1670         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
1671
1672 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1673
1674         * config/s390/t-crtstuff: New target makefile fragment.
1675         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
1676
1677 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1678
1679         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
1680         alternatives to correct the length when the memory operand is
1681         either pre_dec or post_inc.
1682
1683 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1684
1685         * config/h8300/h8300.md (an anonymous pattern): Give an
1686         internal name *tst_extzv_bitqi_1_n.
1687         Accept bit_operand instead of bit_memory_operand.
1688         Do not accept bit tests with the MSB.
1689         (*tst_extzv_memqi_1_n): New.
1690
1691 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1692
1693         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
1694         sharing when operand is SUBREG.
1695
1696 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
1697
1698         * athlon.md (athlon-decodev): New reservation unit.
1699         (athlon-direct0): New reservation.
1700         (athlon-vector): New use athlon-decodev.
1701         (athlon-double, athlon-direct): Better model.
1702         (athlon_imul_k8): Use athlon-direct0.
1703         (athlon_movlpd_load): New insn reservation.
1704
1705 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1706
1707         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1708         Fix a comment typo.
1709         (h8300_tiny_constant_address_p): Likewise.
1710
1711 2002-11-28  Michael Matz  <matz@suse.de>
1712
1713         * doc/passes.texi: Mention the other register allocator.
1714
1715 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1716
1717         * config/h8300/h8300.md (6 new peephole2 patterns): New.
1718
1719 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
1720
1721         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
1722         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
1723         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
1724
1725 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1726
1727         * config/h8300/h8300.c (h8300_and_costs): New.
1728         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1729         * config/h8300/h8300-protos.h: Add a prototype for
1730         h8300_and_costs.
1731
1732 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1733
1734         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1735         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1736         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1737         * i386.md (truncdfsf patterns and splitters): Use
1738         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1739
1740 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1741
1742         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1743         pointer argument in the prototypes of the following builtins
1744         be (const TYPE *) rather than (TYPE *):
1745          + __builtin_altivec_ld_internal_4sf
1746          + __builtin_altivec_ld_internal_4si
1747          + __builtin_altivec_ld_internal_8hi
1748          + __builtin_altivec_ld_internal_16qi
1749          + __builtin_altivec_lvsl
1750          + __builtin_altivec_lvsr
1751          + __builtin_altivec_lvebx
1752          + __builtin_altivec_lvehx
1753          + __builtin_altivec_lvewx
1754          + __builtin_altivec_lvxl
1755          + __builtin_altivec_lvx
1756          + __builtin_altivec_dst
1757          + __builtin_altivec_dstt
1758          + __builtin_altivec_dstst
1759          + __builtin_altivec_dststt
1760
1761 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1762
1763         * except.c (default_exception_section): Move variable into the
1764         scope where it is used.
1765
1766 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1767
1768         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1769         correct version.
1770
1771 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1772
1773         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1774
1775 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1776
1777         * config/h8300/h8300.c (h8300_shift_costs): New.
1778         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1779         * config/h8300/h8300-protos.h: Add a prototype for
1780         h8300_shift_costs.
1781
1782 2002-11-27  Jim Wilson  <wilson@redhat.com>
1783
1784         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1785         in output template.
1786
1787 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1788
1789         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1790         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1791         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1792         (i386_pe_dllimport_name_p): Likewise.
1793         (i386_pe_mark_dllexport): Likewise.
1794         (i386_pe_mark_dllimport): Likewise.
1795         (i386_pe_encode_section_info): Likewise.
1796         (i386_pe_strip_name_encoding): Likewise.
1797
1798 2002-11-27  Richard Henderson  <rth@redhat.com>
1799
1800         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1801         (nm && NF == 3): Set sawsymbol true.
1802         (END): Exit if no symbols seen.
1803         (output): Fix map syntax error if no globals for the version.
1804
1805 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1806
1807         * builtins.def (DEF_C99_BUILTIN): Fix.
1808
1809 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1810
1811         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1812         (all): Add .size and .type information.
1813
1814 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1815
1816         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1817         partial_reg_stall target.
1818
1819 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1820
1821         * i386.md (movhicc): Allow general operand.
1822         (movqicc): New expander.
1823         (movqicc_noc): New pattern.
1824         * i386.c (ix86_expand_carry_flag_compare): New function.
1825         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1826         HImode conversion; support QImode conditional moves
1827
1828 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1829
1830         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1831         (ix86_expand_prologue): Multiply the count by amount of registers to be
1832         pushed.
1833
1834 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1835
1836         * i386.c (override_options): Error about wrong -mcpu on x86-64
1837         compilation.
1838
1839 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1840
1841         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1842
1843 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1844
1845         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1846         x86_extended_reg_mentioned_p): Declare.
1847         * i386.c (extended_reg_mentioned_1): New static function.
1848         (x86_extended_QIreg_mentioned_p,
1849         x86_extended_reg_mentioned_p): New global functions.
1850         * i386.h (REX_SSE_REGNO_P): New macro.
1851         * i386.md (prefix_rex): New attribute.
1852         (length attribute): Add rex.
1853
1854 2002-11-26  Andrew Haley  <aph@redhat.com>
1855
1856         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1857         from_Unwind_Find_Enclosing_Function.
1858         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1859         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1860         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1861         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1862         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1863
1864 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1865
1866         * config/s390/s390.c (390_output_constant_pool): Set alignment
1867         before label in 64 bit mode, behind otherwise.
1868
1869 2002-11-26  Richard Henderson  <rth@redhat.com>
1870
1871         * c-common.c (handle_visibility_attribute): Accept "default".
1872         * tree.h (enum symbol_visibility): New.
1873         (decl_visibility): Declare.
1874         * target.h (gcc_target.visibility): Take visibility arg as integer.
1875         * varasm.c (default_assemble_visibility): Likewise.
1876         (decl_visibility): New.
1877         (maybe_assemble_visibility): Use it.
1878         * output.h (default_assemble_visibility): Update prototype.
1879         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1880         visibility arg as integer.
1881         * doc/extend.texi: Document default visibility.
1882
1883 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1884
1885         * config/h8300/h8300.c: Adjust spacing.
1886         * config/h8300/h8300.h: Likewise.
1887
1888 2002-11-26  Richard Henderson  <rth@redhat.com>
1889
1890         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1891         hook_void_FILEptr_constcharptr): Rename so that the return
1892         type is first.
1893         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1894         hook_bool_tree_false): New.
1895         * hooks.h: Update.
1896         * langhooks-def.h: Update for renames.
1897         * target-def.h: Likewise.
1898         * tree.c (default_comp_type_attributes,
1899         default_set_default_type_attributes, default_insert_attributes,
1900         default_function_attribute_inlinable_p,
1901         default_ms_bitfield_layout_p): Remove.
1902         * tree.h: Update.
1903
1904 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1905
1906         * pa-protos.h (function_value): New prototype.
1907         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1908         TARGET_64BIT.
1909         * pa.h (FUNCTION_VALUE): Use function_value.
1910         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1911         call_value_internal_reg, sibcall_value_internal_symref,
1912         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1913         value.
1914
1915 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1916
1917         * expr.c (gen_group_rtx, emit_group_move): New functions.
1918         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1919         * function.c (expand_function_start): Use gen_group_rtx to create a
1920         PARALLEL rtx to hold the return value when the real return rtx is a
1921         PARALLEL.
1922         (expand_function_end): Use emit_group_move to move the return value
1923         from a PARALLEL to the real return registers.
1924         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1925         in PARALLELs.
1926
1927 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1928
1929         * config/t-libc-ok: Fix typo.
1930
1931 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1932
1933         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1934         before AC_PROG_CC.
1935         * configure: Rebuilt.
1936
1937 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1938
1939         * c-decl.c: (start_struct): Commonize flag setting.
1940
1941 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1942
1943         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1944         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1945         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1946         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1947
1948 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1949
1950         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1951         insns.
1952         * config/s390/s390.c (struct machine_function): Introduction of
1953         struct machine_function.
1954         (s390_output_symbolic_const): Use of cfun.
1955         (s390_optimize_prolog): Likewise.
1956         (s390_fixup_clobbered_return_reg): Likewise.
1957         (s390_frame_info): Likewise.
1958         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1959         (s390_init_machine_status): New function.
1960         (override_options): call s390_init_machine_status.
1961         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1962         prototype.
1963
1964 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1965
1966         * varasm.c (output_constant_pool): For pool constants in mergeable
1967         section ensure each constant is padded to multiple of entity size.
1968
1969 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1970
1971         * varasm.c (default_exception_section): Move to...
1972         * except.c (default_exception_section): ... here. Make
1973         .gcc_except_table read-only if it is not expected to have any
1974         dynamic relocations and linker handles it.
1975         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1976         if it is not expected to have any dynamic relocations and linker
1977         handles it.
1978         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1979         when linking read-only and read-write sections together.
1980         * configure, config.in: Rebuilt.
1981         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1982         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1983
1984 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1985
1986         * i386.md (pushsf_rex64): Fix typo.
1987
1988 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1989
1990         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1991         new function.
1992         (__ev_create_ufix32_fs): Same.
1993         (__ev_get_sfix32_fs_internal): New.
1994         (__ev_get_sfix32_fs): Define to use function.
1995         (__ev_get_ufix32_fs_internal): New.
1996         (__ev_get_ufix32_fs): Define to use function.
1997         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1998         (__ev_get_lower_ufix32_fs): Same.
1999         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
2000         (__ev_get_lower_sfix32_fs): Same.
2001         (__ev_set_sfix32_fs_internal): New.
2002         (__ev_set_ufix32_fs_internal): New.
2003         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
2004         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
2005         (__ev_set_upper_sfix32_fs): Call function.
2006         (__ev_set_lower_sfix32_fs): Same.
2007         (__ev_set_upper_ufix32_fs): Same.
2008         (__ev_set_lower_ufix32_fs): Same.
2009
2010 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
2011
2012         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
2013
2014 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
2015
2016         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
2017         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
2018         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
2019         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
2020         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
2021         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
2022         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
2023         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
2024         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
2025         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
2026         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
2027         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
2028         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
2029         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
2030         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
2031         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
2032         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
2033         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
2034         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
2035         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
2036         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
2037         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
2038         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
2039         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
2040         defining.
2041         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
2042         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
2043
2044 2002-11-25  Dave Pitts  <dpitts@cozx.com>
2045
2046         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
2047
2048 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
2049
2050         * config/h8300/h8300.md (an anonymous pattern): New.
2051
2052 2002-11-25  Richard Henderson  <rth@redhat.com>
2053
2054         * alias.c (find_base_value): Use new_reg_base_value if it's live.
2055         (copying_arguments): Make boolean.
2056
2057 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
2058
2059         * gcc.c (static_spec_functions): Add if-exists-else spec
2060         function.
2061         (if_exists_else_spec_function): New function.
2062         * doc/invoke.texi: Document the if-exists-else spec function.
2063
2064         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
2065         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
2066
2067 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
2068
2069         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
2070         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
2071         "${tmake_file} rs6000/t-netbsd".
2072         * config/rs6000/netbsd.h: Rewrite.
2073         * config/rs6000/t-netbsd: New file.
2074
2075 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
2076
2077         * config/h8300/h8300.md (an anonymous pattern): Relax the
2078         condition for the pattern.
2079
2080 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
2081
2082         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
2083         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
2084         evmwlssfanw, evmwlsmfanw.
2085
2086         * config/rs6000/rs6000.c (bdesc_2arg): Same.
2087
2088         * config/rs6000/spe.md: Same for patterns.
2089
2090 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
2091
2092         PR c/8639
2093         * fold-const.c (extract_muldiv): Don't propagate division unless
2094         both arguments are multiples of C.
2095
2096 2002-11-25  Andrew Haley  <aph@redhat.com>
2097
2098         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
2099         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
2100         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
2101         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
2102
2103 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
2104
2105         * i386.c (x86_use_ffreep): New global variable.
2106         * i386.h (x86_use_frfeep): Declare
2107         (TARGET_USE_FFREEP): New macro
2108         * i386.md  (movs?f*): Use freep when asked for.
2109         (push?f): Remove dead code.
2110
2111 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
2112
2113         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
2114         target help message.
2115
2116 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
2117
2118         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
2119         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
2120         crtbeginT.o".
2121         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
2122         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
2123         to "" for a.out configurations.
2124         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
2125
2126 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
2127
2128         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
2129         NETBSD_CPP_SPEC directly.
2130         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
2131         netbsd_endfile_spec.
2132         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
2133
2134 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
2135
2136         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
2137         NETBSD_STARTFILE_SPEC.
2138         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
2139         (ENDFILE_SPEC): Likewise.
2140         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
2141
2142 2002-11-24  Andreas Schwab  <schwab@suse.de>
2143
2144         * Makefile.in (install-driver): Remove versioned link before
2145         trying to create it.
2146
2147         * config/m68k/m68k.c: Fix typo in last change defining
2148         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
2149
2150 2002-11-23  H.J. Lu <hjl@gnu.org>
2151
2152         * aclocal.m4: Include ../config/accross.m4.
2153         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
2154         (gcc_AC_C_COMPILE_ENDIAN): Removed.
2155         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
2156         instead of $ac_cv_c_compile_endian.
2157
2158         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
2159         AC_COMPILE_CHECK_SIZEOF.
2160         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
2161         * configure: Rebuild.
2162
2163 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
2164
2165         * config/h8300/h8300.c (print_operand): Update the use of
2166         h8300_tiny_constant_address_p.
2167         (h8300_adjust_insn_length): Likewise.
2168         (h8300_tiny_constant_address_p): Check if the given rtx is a
2169         variable declared with __attribute__ ((tiny_data)).
2170
2171 2002-11-22  Dale Johannesen  <dalej@apple.com>
2172
2173         * toplev.c (rest_of_compilation):  Fix comments.
2174
2175 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
2176
2177         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
2178         allow mmap from /dev/zero.  Don't make decisions for the host
2179         based on presence or absence of /dev/zero on the build machine.
2180         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
2181         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
2182         * configure: Regenerate.
2183
2184 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
2185
2186         * gcc.c (make_relative_prefix, split_directories)
2187         (free_split_directories): Removed.
2188
2189 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
2190
2191         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
2192         * configure: Regenerated.
2193
2194 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
2195
2196         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
2197         length computation when xor.l is output.
2198
2199 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
2200
2201         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
2202         (call_vms_1, call_value_vms_1): Cleanup syntax.
2203
2204 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
2205
2206         * athlon.md (define_atuomaton): Add athlon_load.
2207         (athlon-double): New reservation.
2208         (athlon-ieu0): New CPU unit.
2209         (athlon-load?): Use athlon_load automaton.
2210         (*_k8 reservations): New.
2211         (other insn revervations): Activate for K8.
2212
2213 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2214
2215         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
2216
2217 2002-11-21  Jim Wilson  <wilson@redhat.com>
2218
2219         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
2220         vectors to SI.
2221
2222 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
2223
2224         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
2225         * config/xtensa/xtensa.c (struct machine_function): Add
2226         incoming_a7_copied flag.
2227         (xtensa_copy_incoming_a7): Define.
2228         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
2229         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
2230
2231 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
2232
2233         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
2234         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
2235         x86_64_nonmemory_operand, x86_64_movabs_operand,
2236         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
2237         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
2238         (local_symbolic_operand): Do not care the 64bit limits.
2239         (x86_64_sign_extended_value): Remove allow_rip support.
2240         (legitimate_pic_address_disp_p): Handle all cases allowed
2241         with RIP addressing.
2242         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
2243         (legitimize_pic_address): Reorganize.
2244         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
2245
2246 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2247
2248         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
2249         * config/arm/netbsd-elf.h: New file.
2250
2251 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2252
2253         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
2254         subtarget_asm_float_spec.
2255         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
2256         defaults from...
2257         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
2258
2259 2002-11-21  Nick Clifton  <nickc@redhat.com>
2260
2261         * config/fr30/fr30.md (movsf_constant_store): Move code to
2262         detect 0.0 into fr30.c.
2263         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
2264         Prototype.
2265         * config/fr30/fr30.c (fr30_const_double_is_zero): New
2266         function.  Return true if the rtx is 0.0.
2267
2268 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2269
2270         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
2271         if -mlittle-endian is specified.
2272
2273 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
2274
2275         PR optimization/2903
2276         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
2277         (anddi_notsesidi_di): Likewise.
2278
2279 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
2280
2281         * config/h8300/h8300.c (print_operand): Use
2282         h8300_eightbit_constant_address_p and
2283         h8300_tiny_constant_address_p.
2284         (h8300_adjust_insn_length): Likewise.
2285         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
2286         (TINY_CONSTANT_ADDRESS_P): Likewise.
2287         (OK_FOR_U): Use eightbit_constant_address_p.
2288
2289 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2290
2291         * config/s390/libgcc-libc.ver: Add multilib support.
2292         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
2293         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
2294         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
2295         EXTRA_MULTILIB_PARTS): Define.
2296
2297 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
2298
2299         * arm.c (arm_get_frame_size): A leaf function does not need its
2300         stack padding to an aligned boundary if it has no frame.
2301         (thumb_get_frame_size): Likewise.
2302
2303 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2304
2305         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
2306         (override_options): Likewise.
2307
2308 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2309
2310         * config.gcc: Add k8 target alias support
2311         * i386.c (_cost): Declare costs for various variants of divides and
2312         multiplies.
2313         (k8_cost): New.
2314         (m_K8, m_ATHLON_K8): New macros.
2315         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
2316         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
2317         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
2318         x86_integer_DFmode_moves, x86_partial_reg_dependency,
2319         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
2320         x86_prologue_using_move, x86_epilogue_using_move,
2321         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
2322         x86_sse_typeless_stores): Set for K8
2323         (override_options): Add k8 support; fix athlon alignment;
2324         complain about non-x86-64 capable CPU being used in x86-64 compilation.
2325         (ix86_issue_rate): Set for K8.
2326         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
2327         x86_machine_dependent_reorg): Handle K8 like
2328         * i386.h
2329         (x86_costs):  Change mult_init and divide into array.
2330         (TARGET_K8, TARGET_ATHLON): New macros.
2331         (MODE_INDEX): New macro.
2332         (RTX_COST): Use new costs.
2333         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
2334         (TARGET_CPU_DEFAULT_NAMES): Add k8
2335         (TARGET_CPU_DEFAULT_k8): New constant
2336         (enum processor_type): Add PROCESSOR_K8.
2337         * i386.md (cpu attribute): Add k8.
2338
2339         * invoke.texi: Document -march=k8.
2340
2341         * i386.md (type attribute): Add leave
2342         (mode attribute): Remove unknownfp.
2343         (length_immediate, modrm, memory attributes): Handle leave correctly.
2344         (fp comparison patterns): Determine FP mode.
2345         (leave, leave_rex64): Remove special cases.
2346         * ppro.md (ppro_uops, ppro_p2): Add leave
2347         * pentiun.md (pent_pop): Handle leave too.
2348         * k6.md (k6_load): Handle leave.
2349         * athlon.md (athlon_leave, athlon_pop): Fix.
2350         (athlon_decode): Handle leave.
2351
2352 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
2353
2354         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
2355         to component type using GET_MODE_INNER.
2356         * expr.c (emit_move_insn_1): Ditto.
2357         * optabs.c (expand_binop): Ditto.
2358         (expand_unop): Ditto.
2359         (expand_complex_abs): Ditto.
2360
2361 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
2362
2363         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
2364
2365 2002-11-20  DJ Delorie  <dj@redhat.com>
2366
2367         * config/stormy16/stormy16.c (s16builtins,
2368         xstormy16_init_builtins, xstormy16_expand_builtin): New.
2369         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
2370
2371 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
2372
2373         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
2374         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
2375         (executing gencheck, genconfigs, genconditions, genflags,
2376         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
2377         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
2378         gengtype, genprotos): Prepend $(RUN_GEN).
2379         * configure.in: Move host compiler tests before --enable-checking
2380         tests.
2381         (--enable-checking=valgrind): New.
2382         * config.in, configure: Regenerate.
2383         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2384         Define as empty.
2385         (read_include_file): When doing the mmap+1 trick,
2386         valgrind-annotate the byte after the mmap:ed area as readable.
2387         (purge_cache): Remove above annotation.
2388         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
2389         VALGRIND_PATH -q to each command.
2390
2391         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2392         Define as empty.
2393         (ggc_realloc): Update valgrind annotations.
2394         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2395         Define as empty.
2396         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
2397         valgrind-annotate memory.
2398
2399 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
2400
2401         * recog.c (constrain_operands): Prefer exact match over reloadable
2402         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
2403
2404         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
2405         operands in Pmode.
2406
2407 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
2408
2409         PR c/8518
2410         * c-decl.c (duplicate_decls): Outline the second definition
2411         of an extern inline function in all cases.
2412
2413 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2414
2415         * stor-layout.c (place_field): Update rli->offset as well as
2416         rli->bitpos.
2417
2418 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2419
2420         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
2421
2422 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2423
2424         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
2425         into a libcall block.
2426         (divsi3): Likewise divsi3_i4_media.
2427
2428 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2429
2430         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
2431         out another register.
2432
2433 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
2434
2435         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
2436         (not just mask) are set in C.
2437
2438 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
2439
2440         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
2441
2442 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2443
2444         * profile.c (index_counts_file): Fix obvious mistake.
2445
2446 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2447
2448         * Makefile.in (profile.o): Add hashtab.h dependency.
2449         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
2450         * profile.c: Include hashtab.h.
2451         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
2452         cleanup_counts_index, index_counts_file, struct section_reference,
2453         struct da_index_entry, counts_file_name, counts_file_index): New.
2454         (get_exec_counts, init_branch_prob): Modified.
2455
2456 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
2457
2458         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
2459         to tmake_file. Remove setting gas and gnu_ld here.
2460         * config/sh/libgcc-glibc.ver: New file.
2461         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2462         (SHLIB_MAPFILES): New.
2463         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
2464         (MD_STARTFILE_PREFIX): Likewise.
2465         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
2466         (DWARF2_UNWIND_INFO): Redefine.
2467         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2468         (LINK_EH_SPEC): Redefine.
2469         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
2470         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
2471         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
2472         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
2473         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
2474         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
2475         SH_DWARF_FRAME_FPSCR): Likewise.
2476         * config/sh/sh-protos.h (sh_set_return_address): Declare.
2477         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
2478         registers if the current function calls EH return.
2479         (sh_expand_epilogue): Handle EH stack adjustments.
2480         (sh_set_return_address): New function.
2481         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
2482         Don't abort even if the number is mapped to -1.
2483         (EH_RETURN_DATA_REGNO): Define.
2484         (EH_RETURN_STACKADJ_RTX): Define.
2485         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
2486         (eh_return): New pattern.
2487         (eh_set_ra_di, eh_set_ra_si): Likewise.
2488         Add splitter to perform EH return after reload.
2489
2490 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
2491
2492         * stor-layout.c (excess_unit_span): New function.
2493         (place_field): Use it.
2494
2495 2002-11-19  Andreas Schwab  <schwab@suse.de>
2496
2497         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
2498         not valid in C++.
2499
2500 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2501
2502         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
2503         * configure: Regenerate.
2504
2505 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2506
2507         * convert.c (strip_float_extensions): New function.
2508         (convert_to_real): Optimize some cases.
2509
2510 2002-11-19  Andreas Jaeger  <aj@suse.de>
2511
2512         * loop.c (record_giv): Initialize not_replaceable.
2513         (check_final_value): Likewise.
2514
2515 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2516
2517         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
2518         MASK_H8300S.
2519
2520 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
2521
2522         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
2523         only if -mh or -ms present.
2524         (h8300_eightbit_constant_address_p): Support the normal mode.
2525         (h8300_tiny_constant_address_p): Likewise.
2526         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
2527         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
2528         (Pmode): Evaluate to HImode for the normal mode.
2529         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
2530         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
2531         (ASM_WORD_OP): Evaluate to word for the normal mode.
2532         * config/h8300/h8300.md (tablejump_normal_mode): New.
2533         (indirect_jump_normal_mode): New.
2534         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
2535         directory.
2536         (MULTILIB_DIRNAMES): Create target dependent directory
2537         'normal'.
2538         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
2539         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
2540
2541 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
2542
2543         * i386.md (length_immediate): Do not refer to insn address.
2544         (jcc*, jmp patterns):  Compute length explicitly.
2545
2546 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2547
2548         PR c/8588
2549         * optabs.c (expand_binop): Convert CONST_INTs in shift
2550         operations too.
2551
2552 2002-11-19  Roger Sayle  <roger@eyesopen.com>
2553
2554         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
2555
2556 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2557
2558         * config/h8300/h8300.md (an anonymous pattern): Relax the
2559         condition to accept the same operands and/or subregs.
2560
2561 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
2562
2563         * config/sh/sh.c (gen_shl_and): Revert previous patch.
2564         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
2565         reload_completed.
2566
2567 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2568
2569         * config/h8300/h8300.c (print_operand): Update the use of
2570         EIGHTBIT_CONSTANT_ADDRESS_P.
2571         (h8300_adjust_insn_length): Likewise.
2572         (h8300_eightbit_constant_address_p): Check if the given rtx is
2573         a variable with __attribute__((eightbit_data)).
2574         * config/h8300/h8300.h (OK_FOR_U): Update the use of
2575         EIGHTBIT_CONSTANT_ADDRESS_P.
2576
2577 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2578
2579         * doc/contrib.texi (Contributors): Add self as second contact in
2580         addition to Jeff Law.
2581
2582 2002-11-19  Andreas Jaeger  <aj@suse.de>
2583
2584         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
2585         find_alloca_call to right place.
2586
2587 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2588
2589         * cppfiles.c: Fix formatting.
2590
2591 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2592
2593         * gcc.c (The Specs Language): Document spec functions.
2594         (static_spec_functions, lookup_spec_function)
2595         (eval_spec_function, handle_spec_function)
2596         (if_exists_spec_function, alloc_args): New.
2597         (execute): Abort if processing_spec_function is true.
2598         (do_spec_1): Hand off spec to handle_spec_function if %:
2599         is encountered.  If processing_spec_function is true,
2600         end any pending argument when the end of the string is reached.
2601         (main): Use alloc_args to allocate the initial argument vector.
2602         * gcc.h (struct spec_function): New.
2603         (lang_specific_spec_functions): New extern.
2604
2605         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
2606         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
2607         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
2608
2609         * doc/invoke.texi: Document spec functions.
2610
2611         * cppspec.c (lang_specific_spec_functions): New.
2612         * gccspec.c: Likewise.
2613
2614 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
2615
2616         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
2617         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
2618         (fixunstfsi_libfunc): Change.
2619         (fixunstfdi_libfunc): Change.
2620         (sdiv_optab): Don't zero out SImode handler.
2621         (udiv_optab): Don't zero out SImode handler.
2622         (smod_optab): Don't zero out SImode handler.
2623         (umod_optab): Don't zero out SImode handler.
2624
2625 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
2626
2627         PR preprocessor/8524
2628         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
2629         Add a new one in its place, which hopefully works.
2630         (skip_rest_of_line): Change test for bottom-of-context-stack.
2631
2632 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
2633
2634         * i386.md (addqi_1_slp): Fix output template.
2635         (subqi_1_slp): Fix type.
2636
2637 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
2638
2639         * calls.c (alloca_call_p): New global function.
2640         * tree.h (alloca_call_p): New.
2641         * tree-inline.c (inlinable_function_p):  Do not inline when
2642         function calls alloca.
2643         (find_alloca_call, find_alloca_call_1): New functions.
2644
2645 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
2646
2647         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
2648         bst.  Update the insn length.
2649         (*andorhi3): Likewise.
2650         (*andorsi3): Likewise.
2651
2652 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2653
2654         * config/sh/sh-protos.h (sh_mark_label): Declare.
2655         * config/sh/sh.c (sh_mark_label): New function, taken from
2656         movdi_const, but fixing the case when the address has an addend.
2657         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
2658
2659 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2660
2661         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
2662         (add_constant): Set it.
2663         (dump_table): Don't reorder a constant if part_of_sequence_p.
2664         (machine_dependent_reorg): Assume that float constants will
2665         stay in their original order if used as a sequence.
2666
2667 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2668
2669         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
2670         in compact code.
2671
2672 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2673
2674         * config/sh/sh.md (initialize_trampoline): Do not force the
2675         trampoline address into R0_REGS here.
2676
2677 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
2678
2679         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
2680         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
2681         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
2682         generate unnecesary subregs.
2683
2684 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2685
2686         * df.c: Fix formatting.
2687
2688 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2689
2690         * config/h8300/h8300.md (two anonymous patterns): Fix insn
2691         lengths.
2692
2693 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
2694
2695         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
2696         is not an arith_reg_operand.
2697
2698 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
2699
2700         * real.c (real_to_decimal): Fix buffer overrun when buffer size
2701         is smaller than representation.
2702
2703 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2704
2705         * builtins.c: Fix formatting.
2706
2707 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2708
2709         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
2710         floats?dff2_i387):
2711         Work around regclass stupidity.
2712         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
2713
2714 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2715
2716         * i386.md (fop_df_6): New pattern.
2717         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
2718         (fop_xf_6): Rewrite
2719         (fop_xf_7): Delete.
2720         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
2721         (fop_tf_6): Rewrite
2722         (fop_tf_7): Delete.
2723
2724 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2725
2726         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
2727
2728 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2729
2730         * config/h8300/h8300.md: Fix formatting.
2731
2732 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2733
2734         * config/h8300/h8300.md: Replace spaces with tabs.
2735         * config/h8300/t-h8300: Remove a trailing empty line.
2736
2737 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2738
2739         * tlink.c: Fix formatting.
2740
2741 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2742
2743         PR 8362
2744         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2745         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2746         when scratch register never needed.
2747         (ldmsi[3-8]): New patterns.
2748
2749 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2750
2751         * hard-reg-set.h: Follow spelling conventions.
2752         * real.c: Likewise.
2753         * target.h: Likewise.
2754
2755 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2756
2757         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2758
2759 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2760
2761         * optabs.c: Fix formatting.
2762
2763 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2764
2765         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2766         * i386.md (attribute type): Add type shift1 and rotate1.
2767         (*_slp): Rewrite to have just two operands to avoid reload problems.
2768
2769 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2770
2771         * config/h8300/h8300.md (4 anonymous patterns): New.
2772
2773 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2774
2775         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2776         * doc/invoke.texi: Correct description of what needs to be done to
2777         force collection at every ggc_collect call.
2778
2779 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2780
2781         * config/s390/s390.c (optimization_options): Set
2782         flag_asynchronous_unwind_tables to 1 by default.
2783
2784 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2785
2786         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2787
2788 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2789
2790         * i386-protos.h (x86_function_profiler): New function
2791         * i386.h (MCOUNT_NAME): New.
2792         (PROFILE_COUNT_REGISTER): New.
2793         (FUNCTION_PROFILER): Move offline to ...
2794         * i386.c (x86_function_profiler) ... here; fix 64bit support
2795         * beos-elf.h (FUNCTION_PROFILER): Kill.
2796         (MCOUNT_NAME): New.
2797         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2798         (MCOUNT_NAME): New.
2799         (PROFILE_COUNT_REGISTER): New.
2800         * linux.h (FUNCTION_PROFILER): Kill.
2801         (MCOUNT_NAME): New.
2802         * x86-64.h (FUNCTION_PROFILER): Kill.
2803         (MCOUNT_NAME): New.
2804         * freebsd.h (FUNCTION_PROFILER): Kill.
2805         (MCOUNT_NAME): New.
2806
2807 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2808
2809         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2810         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2811         * config/arm/arm.c (arm_va_arg,
2812         arm_function_arg_pass_by_reference): New.
2813         * config/arm/arm-protos.h: Add prototypes.
2814
2815 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2816
2817         * gthr-single.h: Fix formatting.
2818
2819 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2820
2821         * tree.c (tree_vec_elt_check_failed): New function.
2822         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2823         (TREE_VEC_ELT): Use it.
2824
2825         * tree-inline.c (optimize_inline_calls): Don't copy a
2826         zero-length vector.
2827
2828 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2829
2830         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2831
2832 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2833
2834         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2835         both operands contain local relocations.
2836         (categorize_decl_for_section): Don't use mergeable sections if
2837         initializer has any relocations.
2838
2839 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2840
2841         * gthr-vxworks.h: Fix formatting.
2842
2843 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2844
2845         * doc/install.texi (Testing): Document extra Java testing.
2846         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2847
2848 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2849
2850         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2851         beginning of the spec.
2852         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2853         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2854         regarding problems with global constructors when using GNU ld.
2855
2856 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2857
2858         * gthr-solaris.h: Fix formatting.
2859
2860 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2861
2862         * gthr-posix.h: Fix formatting.
2863
2864 2002-11-12  Devang Patel <dpatel@apple.com>
2865         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2866         (process_command): Same.
2867         * doc/invoke.texi: Info about these two new options.
2868
2869 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2870
2871         * config/h8300/h8300.md (*andorsi3): New.
2872
2873 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2874
2875         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2876
2877 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2878
2879         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2880         expressions appropriately.
2881
2882 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2883
2884         * gthr-win32.h: Fix formatting.
2885
2886 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2887
2888         * config/h8300/h8300.c (single_one_operand): Correctly compute
2889         mask when mode is SImode.
2890         (single_zero_operand): Likewise.
2891         * config/h8300/h8300.md (two new anonymous insns): New.
2892
2893 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2894
2895         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2896         to that entire project.
2897
2898 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2899
2900         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2901         directories.
2902
2903 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2904
2905         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2906         * doc/invoke.texi: Document them.
2907
2908         * ggc-page.c: Include params.h.  Remove definitions of
2909         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2910         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2911         (init_gcc): Don't set G.allocated_last_gc here.
2912         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2913         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2914         perform collection.
2915         * ggc-simple.c: Similarly.
2916         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2917         dependencies.
2918
2919 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2920
2921         * gthr-dce.h: Fix formatting.
2922
2923 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2924
2925         PR c/8467
2926         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2927         mode of DECL_RTL case.
2928
2929 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2930
2931         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2932
2933 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2934
2935         * i386.c (construct_container): Fix handling of SSE_CLASS.
2936
2937 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2938
2939         * config/m68k/t-crtstuff (crti.o): Use this...
2940         ($(T)crti.o): ... instead.
2941         (crtn.o): Use this...
2942         ($(T)crtn.o): ... instead.
2943
2944 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2945
2946         PR c/8439
2947         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2948         if there is something new to be simplified.
2949
2950 2002-11-10  H.J. Lu <hjl@gnu.org>
2951
2952         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2953         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2954
2955         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2956
2957 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2958
2959         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2960         * config/rs6000/linux.h, config/rs6000/linux64.h,
2961         config/rs6000/windiss.h: ... not here.
2962
2963 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2964
2965         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2966         __ABICALLS__ if TARGET_ABICALLS.
2967
2968 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2969
2970         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2971
2972 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2973
2974         * c-decl.c (grokdeclarator): Make error for duplicate type
2975         qualifiers into a pedwarn, disabled for C99.
2976
2977 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2978
2979         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2980         as FUNCTION_ARG_PASS_BY_REFERENCE.
2981
2982 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2983
2984         * doc/install.texi: Add *-*-vxworks* specific installation
2985         instructions.
2986
2987         * config/vxlib.c: Rewrite using generation numbers to identify
2988         valid TSD keys.
2989
2990 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2991
2992         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2993
2994 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2995
2996         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2997
2998         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2999         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
3000         * pa.c (output_millicode_call): Use symbol difference rather than
3001         $PIC_pcrel$0 when using HP assembler.
3002         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
3003         not elfos.h (i.e., gas) is being used.
3004         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
3005         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
3006         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
3007         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
3008         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
3009         using elfos.h.
3010         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
3011         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
3012         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
3013         using elfos.h.
3014         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
3015         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
3016         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
3017         Don't define when not using elfos.h.
3018         (ASM_DECLARE_RESULT): Don't define.
3019         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
3020         doesn't work on hppa64-hp-hpux11.
3021         (hppa*-hp-hpux11): Update.
3022
3023 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
3024
3025         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
3026         to the assembler if -mno-abicalls was specified.
3027
3028 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3029
3030         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
3031         ASM_OUTPUT_DEF): Delete.
3032
3033 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
3034
3035         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
3036
3037 2002-11-08  Roger Sayle  <roger@eyesopen.com>
3038
3039         * real.c (real_sqrt): Update comment with bibliographic reference.
3040
3041 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
3042
3043         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
3044
3045 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3046
3047         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
3048
3049 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
3050
3051         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
3052         (expand_builtin): Likewise.
3053         * builtins.def: Add
3054         __builtin_floor, __builtin_floorf, __builtin_floorl
3055         __builtin_ceil, __builtin_ceilf, __builtin_ceill
3056         __builtin_round, __builtin_roundf, __builtin_roundl
3057         __builtin_trunc, __builtin_truncf, __builtin_truncl
3058         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
3059         * genopinit.c (optabs): Initialize the new optabs.
3060         * optab.c (init_optabs): Likewise.
3061         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
3062         OTI_round, OTI_nearbyint.
3063         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
3064         * doc/md.texi: Document new named patterns.
3065         * doc/extend.texi (builtin functions)  Document
3066         floor, floorf, floorl, ceil, ceilf,
3067         ceill, round, roundf, roundl, trunc,
3068         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
3069
3070 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
3071
3072         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
3073
3074 2002-11-08  Dale Johannesen  <dalej@apple.com>
3075
3076         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
3077
3078 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
3079
3080         PR preprocessor/8497
3081         PR preprocessor/8501
3082         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
3083         start a directive.  In assembler, #NUM is not a line directive.
3084
3085 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
3086
3087         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
3088         buffers.
3089
3090 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
3091
3092         * config/h8300/h8300.md (two anonymous test insns): New.
3093
3094 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3095
3096         * jump.c (mark_jump_label): Handle subregs of label_refs.
3097
3098 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
3099
3100         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
3101         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
3102
3103 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
3104
3105         * config/ia64/crtend.asm: Include "auto-host.h".
3106         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
3107         * config/ia64/crtbegin.asm: Similarly.
3108         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
3109         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
3110
3111         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
3112         * configure.in: Use it if --enable-initfini-array not specified.
3113         * doc/install.texi (Configuration): Document --enable-initfini-array.
3114         * configure, config.in: Rebuild.
3115
3116 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
3117
3118         * config/arm/arm-protos.h (arm_get_frame_size)
3119         (thumb_get_frame_size): New prototypes.
3120         * config/arm/arm.c (arm_get_frame_size)
3121         (thumb_get_frame_size): New functions.
3122         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
3123         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
3124         arm_get_frame_size.
3125         (thumb_expand_prologue, thumb_expand_epilogue): Use
3126         thumb_get_frame_size.
3127         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
3128         (machine_function): Add frame_size member.
3129         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
3130
3131 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
3132
3133         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
3134         Adjust code to use portable unsigned bit manipulation.
3135         (insn_flags, tune_flags): Change type to unsigned.
3136         (struct processors): Make flags unsigned long.
3137         (arm_override_options): Change type of count and current_bit_count
3138         to unsigned.
3139
3140 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
3141
3142         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
3143
3144 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
3145
3146         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
3147
3148 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
3149
3150         * reg-stack.c (compensate_edge): Fix sanity check.
3151
3152 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
3153
3154         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
3155         crt2.o.  Rearrange t-darwin makefiles.
3156         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
3157         * unwind-dw2-fde-darwin.c: New.
3158         * unwind-dw2-fde-glibc.c: Correct comment.
3159         * unwind-dw2-fde.c (__register_frame_info_bases)
3160         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
3161         (classify_object_over_fdes): Use last_fde.
3162         (add_fdes): Likewise.
3163         (linear_search_fdes): Likewise.
3164         * unwind-dw2-fde.h (struct object)
3165         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
3166         (last_fde): New.
3167         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
3168         (ENDFILE_SPEC): No crtend.o.
3169         * config/t-darwin: New.
3170         * config/i386/t-darwin: Delete.
3171         * config/darwin-crt2.c: New.
3172         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
3173         or config/t-darwin.
3174
3175 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
3176
3177         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
3178         MASK_MS_BITFIELD_LAYOUT
3179         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
3180         MS bitfields for Objective-C.
3181         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
3182         defines.
3183
3184         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
3185         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
3186         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
3187
3188         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
3189         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
3190         (TARGET_SWITCHES): Add above mask.
3191
3192         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
3193         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
3194         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
3195         flags for interix.
3196
3197 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
3198
3199         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
3200         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
3201         assembler.
3202         * config/mips/mips.md (tablejump_internal3): Output .cpadd
3203         before jump on ABI_N32 too.
3204         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
3205         length to match.
3206
3207 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
3208
3209         * i386.md (negsf splitter): Accept memory operand in second register.
3210         (abssf/absdf splitters): Simplify
3211         (sse_loadss, sse_loadsd): Turn into expander.
3212
3213 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
3214
3215         PR target/8480
3216         * config/rs6000/rs6000.md (movdi_internal64): Discourage
3217         FPR to FPR moves.
3218
3219 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
3220
3221         * doc/contrib.texi: Merge in the list from the Java web pages.
3222
3223 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
3224
3225         * config/sparc/freebsd: Fix typo.
3226
3227 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3228
3229         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
3230
3231 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
3232
3233         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
3234         non-SImode addresses.
3235
3236 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
3237
3238         * i386.md (float_truncate SSE splitter): Ensure that operand is not
3239         stack register.
3240         (float SSE splitters): Reorder conditional.
3241
3242 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
3243
3244         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
3245
3246 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
3247
3248         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
3249         (STARTFILE_SPEC): Remove p and pg options.
3250
3251 2002-11-05  Andrew Haley  <aph@redhat.com>
3252
3253         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
3254         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
3255
3256 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
3257
3258         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
3259         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
3260
3261 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
3262
3263         * gthr-vxworks.h: Rewritten from scratch.
3264         * config/vxlib.c: New file.
3265         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
3266         * config/rs6000/t-vxworks: Add config/vxlib.c to
3267         LIB2FUNCS_EXTRA here too, because of clash with
3268         config/rs6000/t-ppccomm.
3269
3270 2002-11-04  Dale Johannesen  <dalej@apple.com>
3271
3272         * doloop.c (doloop_modify_runtime):  Fix loop count computation
3273         for unrolled loops.
3274         * loop.c (loop_invariant_p):  Support calling from unroller.
3275
3276 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
3277
3278         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
3279         for comparison.
3280
3281 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
3282
3283         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
3284
3285         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
3286         (CLASS_CANNOT_CHANGE_MODE): Remove.
3287         (CANNOT_CHANGE_MODE_CLASS): New.
3288
3289         * config/alpha/alpha.h: Same.
3290
3291         * config/ia64/ia64.h: Same.
3292
3293         * config/mips/mips.h: Same.
3294
3295         * config/s390/s390.h: Same.
3296
3297         * config/sh/sh.h: Same.
3298
3299         * config/pa/pa64-regs.h: Same.
3300
3301         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
3302
3303         * config/sh/sh.c (sh_cannot_change_mode_class): New.
3304
3305         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
3306         prototype.
3307
3308         * config/mips/mips.c (mips_cannot_change_mode_class): New.
3309
3310         * doc/tm.texi (Register Classes): Remove
3311         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
3312         Document CANNOT_CHANGE_MODE_CLASS.
3313
3314         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
3315         (push_reload): Same.
3316
3317         * simplify-rtx.c (simplify_subreg): Same.
3318
3319         * reload1.c (choose_reload_regs): Same.
3320
3321         * recog.c (register_operand): Same.
3322
3323         * regrename.c (mode_change_ok): Change to use new
3324         CANNOT_CHANGE_MODE_CLASS infrastructure.
3325
3326         * regclass.c (cannot_change_mode_set_regs): New.
3327         Declare subregs_of_mode.
3328         (regclass): Use subregs_of_mode.
3329         Remove references to reg_changes_mode.
3330         (init_reg_sets_1): Remove class_can_change_mode and
3331         reg_changes_mode code.
3332         (invalid_mode_change_p): New.
3333         (dump_regclass): Use invalid_mode_change_p instead of
3334         class_can_change_mode.
3335         (regclass): Same.
3336         (record_operand_costs): Do not set reg_changes_mode.
3337
3338         * local-alloc.c (struct qty): Remove changes_mode field.
3339         (alloc_qty): Remove changes_mode initialization.
3340         (update_qty_class): Remove set of changes_mode.
3341         (find_free_reg): Use subregs_of_mode.
3342
3343         * global.c (find_reg): Use subregs_of_mode info.
3344
3345         * rtl.h (cannot_change_mode_set_regs): New prototype.
3346         (invalid_mode_change_p): Same.
3347         (REG_CANNOT_CHANGE_MODE_P): New macro.
3348
3349         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
3350         REG_CHANGES_MODE.
3351         (life_analysis): Clear subregs_of_mode.
3352
3353         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
3354         Remove use of CLASS_CANNOT_CHANGE_MODE.
3355         (simplify_set): Same.
3356         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
3357         REG_CHANGES_MODE.
3358
3359         * regs.h: Add extern for subregs_of_mode;
3360         Include hard-reg-set and basic-block.
3361         (REG_CHANGES_MODE): Delete.
3362
3363 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3364
3365         * real.c (real_sqrt): New function to calculate square roots.
3366         * real.h (real_sqrt): Add function prototype.
3367         * builtins.c (fold_builtin): Fold sqrt of constant argument.
3368         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
3369         of constant argument.
3370
3371 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3372
3373         * jump.c (never_reached_warning): Don't set contains_insn until the
3374         first line note is seen.
3375
3376 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
3377
3378         * config/rs6000/rs6000.md (movti_string): Use string instructions.
3379
3380 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3381
3382         PR c/7128
3383         * c-typeck.c (c_expand_asm_operands): Defend against
3384         error_mark_nodes in the output argument to avoid ICE.
3385
3386 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3387
3388         PR middle-end/8408
3389         * genrecog.c (preds): Handle ADDRESSOF.
3390         (validate_pattern): Mark it as an lvalue.
3391
3392 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
3393
3394         * config/rs6000/rs6000.c (rs6000_override_options): Use string
3395         instructions when optimizing for size.
3396
3397 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
3398
3399         * config/h8300/h8300.h: Fix comment typos.
3400         * config/h8300/h8300.md: Likewise.
3401         * config/h8300/lib1funcs.asm: Likewise.
3402
3403 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3404
3405         Revert this change:
3406
3407         *doc/install.texi (Installing GCC: Configuration): Clarify
3408         the only supported ways to configure gcc.
3409
3410 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3411
3412         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
3413         instead of 'O' for the constraint for the second operand.
3414
3415 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
3416
3417         PR c++/8391
3418         * toplev.c (rest_of_compilation): Do not refuse to output code for
3419         an inline function in a local class.
3420
3421 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
3422
3423         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
3424         (TRANSFER_FROM_TRAMPOLINE): Reformat.
3425         Add comment.
3426
3427 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3428
3429         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
3430
3431 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
3432
3433         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
3434
3435 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
3436
3437         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
3438         (MASK_INLINE_DIV_THR): Remove.
3439         (TARGET_INLINE_DIV_LAT): Remove.
3440         (TARGET_INLINE_DIV_THR): Remove.
3441         (TARGET_INLINE_DIV): Remove.
3442         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
3443         (MASK_INLINE_FLOAT_DIV_THR): New macro.
3444         (MASK_INLINE_INT_DIV_LAT): New macro.
3445         (MASK_INLINE_INT_DIV_THR): New macro.
3446         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
3447         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
3448         (TARGET_INLINE_INT_DIV_LAT): New macro.
3449         (TARGET_INLINE_INT_DIV_THR): New macro.
3450         (TARGET_INLINE_FLOAT_DIV): New macro.
3451         (TARGET_INLINE_INT_DIV): New macro.
3452         * config/ia64/ia64.md (divsi3): Change to use new macros.
3453         (modsi3): Ditto.
3454         (udivsi3): Ditto.
3455         (umodsi3): Ditto.
3456         (divsi3_internal): Ditto.
3457         (divdi3): Ditto.
3458         (moddi3): Ditto.
3459         (udivdi3): Ditto.
3460         (umoddi3): Ditto.
3461         (divdi3_internal_lat): Ditto.
3462         (divdi3_internal_thr): Ditto.
3463         (divsf3): Ditto.
3464         (divsf3_internal_lat): Ditto.
3465         (divsf3_internal_thr): Ditto.
3466         (divdf3): Ditto.
3467         (divdf3_internal_lat): Ditto.
3468         (divdf3_internal_thr): Ditto.
3469         (divtf3): Ditto.
3470         (divtf3_internal_lat): Ditto.
3471         (divtf3_internal_thr): Ditto.
3472         * config/ia64/ia64.c (ia64_override_options): Change
3473         to check new macros for conflicts in settings.
3474         * doc/invoke.texi (-minline-divide-min-latency): Remove.
3475         (-minline-divide-max-throughput): Remove.
3476         (-minline-float-divide-min-latency): New.
3477         (-minline-float-divide-max-throughput): New.
3478         (-minline-int-divide-min-latency): New.
3479         (-minline-int-divide-max-throughput): New.
3480
3481 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
3482
3483         PR target/7856
3484         * arm.c (use_return_insn): Don't use a return insn if there are
3485         saved integer regs, but LR is not one of them.
3486
3487 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3488
3489         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
3490         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
3491
3492 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3493
3494         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
3495         (movps, movpd splitters): Use canonical form.
3496         (movv2di): Fix merge problem.
3497
3498 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
3499
3500         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3501
3502 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3503
3504         PR optimization/6162
3505         * doc/md.texi: Document restriction on commutative operand
3506         specification.
3507
3508 2002-10-31  Eric Christopher  <echristo@redhat.com>
3509
3510         * explow.c (convert_memory_address): Use shallow_copy_rtx.
3511
3512 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3513
3514         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
3515
3516 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3517
3518         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
3519
3520 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3521
3522         * config/rs6000/darwin.h:  Correct formatting in previous.
3523
3524 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3525
3526         * config/rs6000/darwin.h:  Enable -falign-xxx options.
3527
3528 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
3529
3530         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
3531         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
3532         * i386.c (optimization_options): Set flag_omit_frame_pointer,
3533         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
3534         Do not clear -momit-leaf-frame-pointer when profiling.
3535         (ix86_frame_pointer_required): Frame pointer is always required when
3536         profiling.
3537
3538 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3539
3540         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3541
3542 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
3543
3544         * sh.h (binary_logical_operator): Declare.
3545         * sh.c (binary_logical_operator): New function.
3546         * sh.md (xordi3+1): New combiner splitter pattern.
3547
3548 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
3549
3550         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3551         __enable_execute_stack function.
3552
3553 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
3554
3555         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
3556         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
3557         * unwind-sjlj.c (fc_key_dtor): Delete.
3558         (fc_key_init): Adjust __gthread_key_create call to match.
3559
3560 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
3561
3562         * c-common.c: Add GTY to vector_type_node_list.
3563
3564 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
3565
3566         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
3567         * pa-protos.h (attr_length_millicode_call, attr_length_call,
3568         pa_init_machine_status): Declare new global functions.
3569         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
3570         implement new functions.
3571         (attr_length_millicode_call, attr_length_call): Implement.
3572         (total_code_bytes): Change type to long.
3573         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
3574         Reset counter if flag_function_sections.
3575         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
3576         (output_cbranch): Move call to gen_label_rtx.
3577         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
3578         delay slot in all variants, shorten pc-relative calls.
3579         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
3580         slot usage and exposure, various new call variants, and shortened
3581         sequences for some variants on TARGET_PA_20.
3582         Miscellaneous format changes.
3583         * pa.h (total_code_bytes): Change type to long.
3584         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
3585         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
3586         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
3587         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
3588         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
3589         stores on TARGET_ELF32.
3590         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
3591         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
3592         canonicalize_funcptr_for_compare expanders): Calculate attribute length
3593         attr_length_millicode_call().
3594         (call_internal_symref, call_value_internal_symref): Clobber register 1.
3595         Calculate attribute length using attr_length_call().
3596         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
3597         to delay slot.
3598         (sibcall, sibcall_value): Rewrite.
3599         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
3600         register 1.  Use attr_length_call().
3601         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
3602         New patterns.
3603         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
3604         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
3605         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
3606         * doc/invoke.texi (mlong-calls): Document.
3607
3608 2002-10-30  Roger Sayle  <roger@eyesopen.com>
3609
3610         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
3611         handling of cases where one or both branches of the conditional
3612         have void type, i.e. throw an exception or don't return.
3613         (fold): Only apply (and undo) type conversion to the non-void
3614         branches of a COND_EXPR.
3615
3616 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
3617
3618         PR c++/8333
3619         * varasm.c (asm_output_aligned_bss): Do not call
3620         ASM_GLOBALIZE_LABEL.
3621
3622 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
3623             Torbjorn Granlund  <tege@swox.com>
3624
3625         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
3626         for addressibility.
3627         (load_toc_v4_PIC_1b): Same.
3628
3629 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
3630
3631         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3632         Truncate the addresses for H8/300 using HImode.
3633
3634 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
3635
3636         * i386.md (negdf splitter): Fix construction of the constant.
3637
3638 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
3639
3640         * i386.md (negsf, negdf): Reorganize to use vector modes
3641         for SSE variants.
3642         (abssf, absdf): Use force_reg.
3643         (movv4sf, movv2df): New splitters.
3644         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
3645         * i386.c (zero_extended_scalar_load_operand
3646
3647         * i386-protos.h (ix86_expand_call): Update prototype.
3648         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
3649         (ix86_expand_call): Use r11 for indirect sibcalls.
3650         * i386.md (call, call_value, untyped_call, call_value_pop):
3651         update x86_expand_call call.
3652         (sibcall, sibcall_value): new patterns
3653         (call_rex64, call_value_rex64): Do not accept sibcalls.
3654         (sibcall_rex64, sibcall_value_rex64,
3655         sibcall_rex64_v, sibcall_value_rex64_v): New.
3656
3657 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3658
3659         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3660         before final pass.
3661
3662 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
3663
3664         * toplev.c (rest_of_type_compilation): Return early in case of
3665         errors.
3666         (check_global_declarations): Don't call debug_hooks->global_decl
3667         in case of errors.
3668
3669 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
3670
3671         * doc/c-tree.texi (Tree overview): Fix typos.
3672
3673 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
3674
3675         * Makefile.in (gnucompare*):  Only record bad comparisons
3676         if there really was a bad comparison.
3677
3678 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
3679
3680         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
3681         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
3682         * md.texi (machine dependent constraints): Document 'C'
3683
3684         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
3685
3686         * i386.c (ix86_expand_vector_move): Fix.
3687
3688         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
3689         * i386.md (sse2_maskmovdqu_rex64): New pattern
3690
3691         PR target/8322
3692         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
3693         (ix86_init_mmx_sse_builtins): Fix type.
3694
3695 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
3696
3697         * gthr-posix.h: Include <unistd.h> for feature tests.
3698         (sched_get_priority_max, sched_get_priority_min)
3699         (pthread_getschedparam, pthread_setschedparam): Only use
3700         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
3701         (__gthread_objc_thread_set_priority): Don't treat all nonzero
3702         returns from sched_get_priority_max and sched_get_priority_min
3703         as an error.
3704
3705 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3706
3707         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
3708         MASK_QUICKCALL.
3709
3710 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3711
3712         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
3713         (h8300_tiny_constant_address_p): Likewise.
3714         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
3715         h8300_eightbit_constant_address_p.
3716         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
3717         * config/h8300/h8300-protos.h: Add the prototypes for the two
3718         new functions.
3719
3720 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3721
3722         * reload1.c (update_eliminables): Unconditionally check if
3723         frame_pointer_needed has changed.
3724
3725 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3726
3727         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3728         before final pass.
3729
3730 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3731
3732         PR optimization/8334
3733         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3734         check for zero operands explicitly.
3735
3736 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3737
3738         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3739         memory after adjusting to BLKmode.
3740
3741 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3742
3743         * config/h8300/h8300.h (MASK_*): New.
3744         (TARGET_*): Use MASK_*.
3745
3746 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3747
3748         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3749         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3750         config/rs6000/vxworks.h: New files.
3751         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3752
3753         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3754         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3755         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3756         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3757         sparc-*-vxsim*): Delete stanzas.
3758         * gthr-vxworks.h: Rip out all substantive code and just
3759         include gthr-single.h.
3760
3761         * config/alpha/vxworks.h, config/arm/vxarm.h,
3762         config/i386/vxi386.h, config/i960/t-vxworks960,
3763         config/i960/vx960-coff.h, config/i960/vx960.h,
3764         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3765         config/mips/vxworks.h, config/rs6000/vxppc.h,
3766         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3767         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3768         config/sparc/vxsparc64.h: Delete files.
3769
3770 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3771
3772         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3773         tm_defines if pthreads are enabled.
3774         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3775         if NETBSD_ENABLE_PTHREADS is defined.
3776
3777 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3778
3779         * ChangeLog.1: Fix typos.
3780         * cse.c: Fix a comment typo.
3781         * reload1.c: Likewise.
3782
3783 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3784
3785         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3786         * fixinc/tests/base/_G_config.h: New file.
3787
3788 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3789
3790         * combine.c: Fix comment formatting.
3791         * loop.c: Likewise.
3792         * real.c: Likewise.
3793         * regclass.c: Likewise.
3794         * regmove.c: Likewise.
3795         * regrename.c: Likewise.
3796         * reg-stack.c: Likewise.
3797         * reload1.c: Likewise.
3798         * reload.c: Likewise.
3799         * reload.h: Likewise.
3800         * unroll.c: Likewise.
3801
3802 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3803
3804         * reload1.c (reload): Fix a comment typo.
3805
3806 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3807
3808         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3809
3810 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3811
3812         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3813         * dwarf2out.c: Include hashtab.h.
3814         (is_main_source): New static variable.
3815         (attr_checksum, die_checksum): Modified to handle die references.
3816         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3817         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3818         record_comdat_symbol_number): New static functions.
3819         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3820         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3821         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3822         declarations added.
3823
3824 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3825
3826         * config/h8300/h8300.c (initial_offset): Change to
3827         h8300_initial_elimination_offset.
3828         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3829         h8300_initial_elimination_offset.
3830         * config/h8300/h8300-protos.h: Update the prototype.
3831
3832 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3833
3834         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3835         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3836         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3837         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3838         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3839         and RTX_CODE.
3840         (mmix_function_value_regno_p): Declare.
3841
3842         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3843         invalid for floating point mode result, with fix.
3844
3845 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3846
3847         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3848         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3849         (stage1_build): Likewise.
3850
3851 2002-10-25  Mike Stump  <mrs@apple.com>
3852
3853         Fixes gcc.dg/warn-1.c.
3854         * c-typeck.c (warn_for_assignment): Don't print argument number,
3855         if zero.
3856
3857 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3858
3859         * toplev.c (dump_file_index): Add DFI_ce3.
3860         (dump_file_info): Likewise.
3861         (rest_of_compilation): Run first ifcvt pass before tracer.
3862
3863 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3864
3865         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3866
3867 2002-10-25  Richard Henderson  <rth@redhat.com>
3868
3869         * real.c (real_to_decimal): If the >1 tens reduction loop results
3870         in a negative exponent, fall into the <1 pten computation.
3871
3872 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3873
3874         PR middle-end/6994
3875         * c-objc-common.c (inline_forbidden_p): Can not inline
3876         functions containing structures or unions containing VLAs.
3877         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3878         TYPE_SIZE and TYPE_SIZE_UNIT.
3879         (copy_tree_r): Copy types if they are variably modified.
3880
3881 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3882
3883         * config/s390/s390.md: Remove old-style peepholes.
3884
3885 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3886
3887         * config/s390/s390.c (s390_decompose_address): Do not range check the
3888         displacement if base or index is the argument pointer register.
3889
3890 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3891
3892         PR other/3337
3893         PR bootstrap/6763
3894         PR bootstrap/8122
3895         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3896         * fixinc/fixincl.x: Regenerate.
3897         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3898         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3899         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3900         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3901         * config.in, configure: Regenerate.
3902
3903 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3904
3905         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3906
3907 2002-10-24  Richard Henderson  <rth@redhat.com>
3908
3909         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3910
3911 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3912
3913         * config/h8300/h8300.c (initial_offset): Simplify by using
3914         round_frame_size.
3915
3916 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3917
3918         * doc/install.texi (avr): Update required binutils version.
3919
3920 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3921
3922         * doc/install.texi: Point avr users at more up-to-date information.
3923
3924 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3925
3926         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3927         to pull operands out of the literal pool where possible.
3928
3929 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3930
3931         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3932
3933 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3934
3935         * expr.c (convert_move): If unsignedp is less then zero there
3936         is no equivalent code.
3937
3938 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3939
3940         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3941
3942 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3943
3944         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3945         according to the sequence they are defined in the manual.
3946         (POINTER_BOUNDARY): Remove.
3947
3948 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3949
3950         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3951         BITS_PER_UNIT.
3952
3953 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3954
3955         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3956         64-bit safe.
3957         (TINY_CONSTANT_ADDRESS_P): Likewise.
3958
3959 2002-10-24  Richard Henderson  <rth@redhat.com>
3960
3961         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3962         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3963         vcall offset.
3964
3965 2002-10-24  Richard Henderson  <rth@redhat.com>
3966
3967         PR opt/7944
3968         * reload.c (find_reloads_toplev): Mode of X is not important
3969         when simplifying subregs of constants.
3970
3971 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3972
3973         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3974         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3975         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3976         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3977         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3978
3979 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3980
3981         * optabs.c (expand_binop): Don't reuse the shift target in the
3982         middle of shift sequences.
3983
3984 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3985
3986         * i386.md (abs splitters): Do not produce nested subregs.
3987
3988 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3989
3990         * i386.md (movti_rex64): Fix constraints.
3991
3992 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3993
3994         * i386.md (abssf,absdf): Use vector operands for SSE
3995         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3996         vector operand.
3997
3998 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3999
4000         * objc/objc-act.c (get_static_reference): Remove unneeded
4001         TYPE_BINFO initialization.
4002         (get_object-reference): Likewise.
4003         (build_constructor): Tighten precondition check.
4004         (finish_message_expr): Likewise.
4005
4006 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
4007
4008         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
4009         after CONST test.
4010
4011 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
4012
4013         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
4014         in HFAs.
4015
4016 2002-10-23  Richard Henderson  <rth@redhat.com>
4017
4018         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
4019         (alpha_output_mi_thunk_osf): Handle vcall_offset.
4020
4021 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
4022
4023         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
4024         var_mod_type_p.
4025         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
4026         hook_tree_bool_false.
4027
4028         * tree.c (variably_modified_type_p): Moved here from
4029         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
4030         language-specific cases.  Due to this, must weaken some 'if
4031         and only if' checks to merely 'if'.
4032         * tree.h: Prototype variably_modified_type_p.
4033
4034         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
4035
4036 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
4037
4038         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
4039         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
4040
4041         * config/s390/s390-protos.h (fp_operand): Remove.
4042         * config/s390/s390.c (fp_operand): Remove.
4043         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
4044         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
4045         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
4046         (movdi_31, movdf_31 splitters): Likewise.
4047
4048         * config/s390/s390.h (IEEE_FLOAT): Remove.
4049         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
4050         (INT_REGNO_P): Rename to ...
4051         (GENERAL_REGNO_P): ... this.
4052         (FLOAT_REGNO_P): Rename to ...
4053         (FP_REGNO_P): ... this.
4054         (ADDR_REGNO_P): New macro.
4055         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
4056         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
4057         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
4058         (HARD_REGNO_NREGS): Adapt to macro renaming.
4059         (HARD_REGNO_MODE_OK): Likewise.
4060
4061 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
4062             Geoff Keating  <geoffk@apple.com>
4063
4064         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
4065         (rs6000_memory_move_cost): New function.
4066         * config/rs6000/rs6000-protos.h: Declare them.
4067         * config/rs6000/rs6000.h: Use them.
4068
4069 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
4070
4071         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
4072         inlining it into other libgcc2 routines.
4073         (__udivmoddi4): Likewise.
4074
4075 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
4076
4077         * doc/sourcebuild.texi (Test Suites): Improve.
4078
4079 2002-10-22  Stan Shebs  <shebs@apple.com>
4080
4081         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
4082         case for Darwin.
4083
4084 2002-10-22  Jim Wilson  <wilson@redhat.com>
4085
4086         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
4087
4088 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
4089
4090         PR other/8289
4091         * xmmintrin.h: Add const to the argument of loads.
4092
4093         * i386.md (pushv2di): New pattern.
4094         PR target/6890
4095         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
4096
4097 2002-10-22  Richard Henderson  <rth@redhat.com>
4098
4099         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
4100         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
4101         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
4102         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
4103         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4104         (TARGET_ASM_OUT): Update.
4105         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
4106         (hook_bool_tree_hwi_hwi_tree_true): New.
4107         (default_can_output_mi_thunk_no_vcall): New.
4108         * hooks.h: Declare them.
4109         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
4110
4111         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4112         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
4113         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
4114         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
4115         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
4116         config/stormy16/stormy16.c: Similarly.
4117
4118         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
4119         Handle 64-bit properly.  Streamline.
4120         (x86_output_mi_vcall_thunk): Remove.
4121         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
4122         (x86_can_output_mi_thunk): New.
4123         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
4124         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4125         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
4126
4127         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
4128         output_mi_thunk; make static; always use function_section.
4129         (TARGET_ASM_OUTPUT_MI_THUNK): New.
4130         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4131         (rs6000_ra_ever_killed): Test no_new_pseudos not
4132         targetm.asm_out.output_mi_thunk in conjunction with thunks.
4133         * config/rs6000/rs6000-protos.h: Update.
4134         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4135         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
4136         xcoffout_declare_function when using rs6000_output_mi_thunk.
4137
4138         * config/s390/s390.c (s390_output_mi_thunk): Rename from
4139         s390_output_mi_vcall_thunk.
4140         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4141         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4142
4143         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
4144         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4145         * config/vax/vax-protos.h: Update.
4146         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
4147
4148 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
4149
4150         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
4151         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
4152         * i386.md (movti_internal): Use 'C'
4153
4154         * xmmintrin.h (_mm_cmplt_epi*): New.
4155
4156 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
4157
4158         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
4159         ("*movdf_64"): Likewise.
4160         ("*lshrdi3_64"): Likewise.
4161         ("blockage"): Add length attribute.
4162         ("lit"): Likewise.
4163
4164 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
4165
4166         * i386.md: FIx typo.
4167         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
4168         (sse2_umulv2siv2di3): Fix predicate.
4169         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
4170         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
4171         * xmmintrin.h (_mm_mul_epu16): Rename to...
4172         (_mm_mul_epu32): This one.
4173         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
4174
4175         (contains_128bit_aligned_vector_p): Undo accidental checkin.
4176
4177 2002-10-22  Eric Christopher  <echristo@redhat.com>
4178
4179         * config/sparc/sparc.h: Add #error.
4180
4181 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
4182
4183         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
4184         [s390x-*-linux*]: Likewise.
4185         * config/s390/t-linux: Remove.
4186         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
4187
4188 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
4189
4190         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
4191         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
4192         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
4193         * i386.md (mmx_punpck?dq): Simplify.
4194         (sse2_pubpcklqdq): Fix.
4195         (sse2_pubpckhqdq): New.
4196         * xmmintrin.h (_mm_unpackhi_epi32): New.
4197
4198         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
4199         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
4200
4201 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
4202
4203         PR c++/7209
4204         * fold_const.c (fold_binary_op_with_conditional_arg): Always
4205         build compound_expr if we used save_expr.
4206
4207 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
4208
4209         * output.h (SECTION_NOTYPE): Define.
4210         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
4211         init array sections.
4212         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
4213         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
4214         merge TLS support.
4215
4216 2002-10-21  Richard Henderson  <rth@redhat.com>
4217
4218         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
4219         the function type, not the return type.
4220
4221 2002-10-21  Richard Henderson  <rth@redhat.com>
4222
4223         * real.c (sticky_rshift_significand): Return inexact, don't
4224         or it in immediately.
4225         (sub_significands): Accept incomming carry.
4226         (div_significands, rtd_divmod): Update for sub_significands change.
4227         (round_for_format): Update for sticky_rshift_significand change.
4228         (do_add): Don't involve the inexact bit in addition, do give the
4229         inexact bit as the subtraction carry-in.
4230         (encode_internal, decode_internal, real_internal_format): New.
4231         * real.h (real_internal_format): Declare.
4232
4233 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4234
4235         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
4236         don't define sdiv_qrnnd.
4237
4238 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4239
4240         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
4241         using IN_RANGE.
4242         (TINY_CONSTANT_ADDRESS_P): Likewise.
4243
4244 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
4245
4246         * i386.c (builtin_description): Add punpcklqdq and movdq2q
4247         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
4248         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
4249         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
4250         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
4251         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
4252         __builtin_ia32_setzero128.
4253         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
4254         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
4255         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
4256         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
4257         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
4258         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
4259         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
4260         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
4261         sse2_movq): New patterns.
4262         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
4263         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
4264         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
4265         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
4266         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
4267         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
4268         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
4269         (_mm_insert_epi16): Fix.
4270
4271 2002-10-21  Dale Johannesen  <dalej@apple.com>
4272
4273         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
4274             unsafe math reversals correctly for RTL generation.
4275           (output_cbranch):  Replace rs6000_reverse_condition call
4276             by its former definition.
4277
4278 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
4279
4280         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
4281         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
4282         from constant pool or LABEL_REFs as sign extended if allow_rip.
4283         Change all +-1GB limits to +-16MB.
4284         (x86_64_general_operand, x86_64_szext_general_operand,
4285         x86_64_nonmemory_operand, x86_64_movabs_operand,
4286         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4287         legitimate_address_p, ix86_expand_int_movcc): Update callers.
4288         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
4289         in CM_SMALL_PIC model.
4290         (legitimate_pic_address_disp_p): Don't check offsets before
4291         calling local_symbolic_operand.
4292         (legitimize_pic_address): Force offsets bigger than +-16MB into
4293         register.
4294         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
4295         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
4296         prototype.
4297
4298         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
4299         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
4300         * configure: Rebuilt.
4301         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
4302         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
4303         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
4304         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
4305         -fpic.
4306         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
4307         non-pic code if TARGET_64BIT.
4308         (legitimize_address): Generate 64-bit TLS sequences.
4309         (output_pic_addr_const): Support x86-64 TLS operators.
4310         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
4311         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
4312         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
4313         (output_addr_const_extra): Support x86-64 TLS operators.
4314         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
4315         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
4316         unconditionally.
4317         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
4318         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
4319         (*tls_global_dynamic_sun): Renamed to...
4320         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
4321         (tls_global_dynamic): Renamed to...
4322         (tls_global_dynamic_32): ... this.
4323         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
4324         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
4325         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
4326         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
4327         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
4328         (tls_local_dynamic_base_dynamic): Renamed to...
4329         (tls_local_dynamic_base_dynamic_32): ... this.
4330         (tls_local_dynamic_base_dynamic_64,
4331         *tls_local_dynamic_base_dynamic_64): New.
4332         (*tls_local_dynamic_once): Renamed to...
4333         (*tls_local_dynamic_32_once): ... this.
4334
4335 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4336
4337         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
4338         __divdi3, __umoddi3, or __moddi3.
4339
4340 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4341
4342         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
4343         instead of just opt_index as switch expression.
4344
4345         * calls.c (store_one_arg): Change type of 'excess_align'
4346         to unsigned int.
4347
4348         * profile.c (output_gcov_string): Change type of 'temp'
4349         to size_t.
4350
4351 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4352
4353         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
4354         (__fixunssfdi, __fixsfdi): Likewise.
4355         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
4356         (s390_single_qi): Likewise.
4357         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
4358         unsigned comparison warning.
4359         (s390_return_addr_rtx): New function.
4360         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
4361         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
4362         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
4363
4364 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4365
4366         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
4367         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
4368         (s390_output_mi_thunk): Remove.
4369         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4370
4371 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4372
4373         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
4374
4375 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
4376
4377         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
4378         inverted test in the conditional determining the possibility
4379         of sibcalls in PIC mode.
4380
4381 2002-10-20  Richard Henderson  <rth@redhat.com>
4382
4383         * target.h (struct gcc_target): Line wrap.
4384
4385         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
4386         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
4387         * config/alpha/alpha.h: ... not here.
4388         * config/alpha/alpha-protos.h: Update.
4389
4390         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
4391         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
4392         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
4393         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
4394         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
4395         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
4396         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
4397         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
4398         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
4399         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
4400         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
4401         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
4402         config/sparc/sparc.c, config/sparc/sparc.h,
4403         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4404         config/stormy16/stormy16.h: Similarly.
4405
4406         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
4407         selection logic from call patterns.
4408
4409 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
4410
4411         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
4412
4413 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4414
4415         PR other/8202
4416         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
4417         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
4418         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
4419         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
4420
4421 2002-10-20  Roger Sayle  <roger@eyesopen.com>
4422
4423         PR c/761
4424         * toplev.c (flag_unsafe_profile_arcs): Remove.
4425         (flag_bounded_pointers): Remove.
4426         (flag_bounds_check): Correct comments.
4427         (lang_independent_options): Remove -funsafe-profile-arcs and
4428         -fbounded-pointers.  Correct -fbounds-check comments.
4429
4430         * flags.h: Correct flag_schedule_interblock comments.
4431         (flag_bounded_pointers): Remove prototype.
4432         (flag_bounds_check): Correct comments.
4433
4434         * c-opts.c (c_common_init_options): No need to mark
4435         flag_bounds_check as unspecified.
4436         (c_common_post_options): And no need to set it from
4437         flag_bounded_pointers if its still unspecified.
4438
4439         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
4440         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
4441         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
4442         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
4443
4444 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
4445         Angela Marie Thomas  <angela@releasedominatrix.com>
4446         Brendan Kehoe  <brendan@zen.org>
4447         Nick Clifton  <nickc@redhat.com>
4448         Andrew Haley  <aph@redhat.com>
4449
4450         * configure.in (--with-sysroot): New.  Don't inhibit libc if
4451         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
4452         and CROSS_SYSTEM_HEADER_DIR.
4453         * configure: Rebuilt.
4454         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
4455         (TARGET_SYSTEM_ROOT): New.
4456         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
4457         CROSS_SYSTEM_HEADER_DIR.
4458         (install-gcc-tooldir): New target.
4459         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
4460         if SYSTEM_HEADER_DIR does not exist and it's not the default
4461         sys-include directory.
4462         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
4463         (install-mkheaders): Likewise.
4464         * gcc.c (target_system_root): New variable.
4465         (add_sysrooted_prefix): New function.
4466         (process_command): Recompute run-time target_system_root from
4467         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
4468         does not exist.
4469         (do_spec_1): Process 'R' spec.
4470         (main): Add md_exec_prefix to exec_prefixes regardless of
4471         startfile_prefix_spec.  Use add_sysrooted_prefix for
4472         startfile_prefixes, and don't skip the default ones when cross
4473         compiling with sysroot enabled.  Removed unused case of
4474         non-absolute standard_startfile_prefix.
4475         * config/interix.h: Remove the only potential, yet disabled,
4476         occurrence of non-absolute (empty) standard_startfile_prefix.
4477         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
4478         linking.
4479         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
4480         * doc/install.texi (--with-sysroot): Document.
4481         (--with-headers, --with-libs): Deprecate.
4482
4483 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4484             Mark Mitchell  <mark@codesourcery.com>
4485
4486         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
4487         match target.h.
4488         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
4489         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
4490         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
4491         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
4492         x86_output_mi_thunk): Likewise.
4493         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
4494         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
4495         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
4496         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
4497         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
4498         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
4499         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
4500         Likewise.
4501         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
4502
4503         * target.h (gcc_target): Update output_mi_thunk and
4504         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
4505         vcall_index.
4506
4507         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
4508         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4509         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
4510         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
4511         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
4512         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
4513         signature.
4514         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
4515         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4516         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4517         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
4518         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
4519         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4520         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4521         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
4522         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
4523
4524         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
4525         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
4526
4527 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
4528
4529         * real.c (do_add): Fix 0+0 sign corner case.
4530         (do_divide): Fix Inf/0 corner case.
4531
4532 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
4533
4534         * i386.c (classify_argument): Pass MMX arguments in memory
4535         (ix86_expand_builtin): Expand proper address mode for cflush.
4536         * i386.md (movdqa): Fix typo.
4537         (sse2_cflush): Accept DImode addresses.
4538
4539         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
4540         (_mm_max_sd): Fix pasto.
4541         (_mm_storeh_pd, _mm_storel_pd): Fix.
4542
4543         * i386.c (bdesc_comi): Fix to match specification.
4544         (ix86_expand_sse_comi): Emit the comparison properly.
4545         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
4546         Do not use comparison operator.
4547         (vnmaskcmp): Fix template.
4548
4549         * xmmintrin.h (_mm_cvtps_pi16): Fix.
4550
4551 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
4552
4553         * dependence.c : Removed.
4554         * Makefile.in : Remove dependence.o.
4555
4556 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
4557
4558         * mmintrin.h (__m64): typedef it to v2si.
4559         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
4560         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
4561         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
4562         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
4563         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
4564         * xmmintrin.h (_mm_setzero_si64): Likewise.
4565
4566         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
4567         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
4568
4569         PR target/7693
4570         Patch by Shawn Wagner
4571         * mmintrin.h: Replace pi64 by si64.
4572
4573 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
4574
4575         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
4576         Use length of 4 not *.
4577         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
4578         (movdf_softfloat64): Likewise.
4579         (movdi_internal32): Use length of 4 not *.
4580         (movti_power): Same.
4581         (ctrsi, ctrdi): Same.
4582
4583 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
4584
4585         * c-decl.c (start_decl): Point users of the old initialized-
4586         typedef extension at __typeof__.
4587
4588 2002-10-18  Richard Henderson  <rth@redhat.com>
4589
4590         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
4591         (real_to_decimal): Re-implement using the logic from the
4592         gcc 3.2 etoasc.  Comment heavily.
4593         (div_significands): Simplify loop startup and comparison logic.
4594
4595 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
4596
4597         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
4598         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
4599         (TARGET_ASM_OUT): Add them.
4600         * target.h (asm_out): Add output_mi_thunk and
4601         output_mi_vcall_thunk.
4602         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4603         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4604         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
4605         * config/arm/arm.c (arm_output_mi_thunk): Define.
4606         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4607         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4608         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4609         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4610         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4611         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4612         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
4613         prototype.
4614         (x86_output_mi_vcall_thunk): Declare.
4615         * config/i386/i386.c (override_options): Clear
4616         output_mi_vcall_thunk in 64-bit mode.
4617         (ix86_fntype_regparm): New function.
4618         (ix86_return_pops_args): Use it.
4619         (ia32_this_parameter): New function.
4620         (x86_output_mi_vcall_thunk): New function.
4621         (x86_output_mi_thunk): Use it
4622         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
4623         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
4624         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
4625         * config/i960/i960.c (i960_output_mi_thunk): New function.
4626         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
4627         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
4628         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
4629         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4630         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4631         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
4632         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4633         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4634         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4635         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4636         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4637         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4638         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4639         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4640         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4641         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4642         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
4643         * config/s390/s390.c (s390_output_mi_thunk): Define.
4644         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4645         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4646         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4647         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4648         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4649         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4650         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
4651         * config/vax/vax.c (vax_output_mi_thunk): Define.
4652         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4653         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4654         * doc/tm.texi: Adjust documentation.
4655
4656 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4657
4658         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
4659         __enable_execute_stack function.
4660         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
4661         as NETBSD_ENABLE_EXECUTE_STACK.
4662         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4663         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4664         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4665         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4666         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4667
4668 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4669
4670         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
4671         to __enable_execute_stack with the address of the trampoline
4672         if TRANSFER_FROM_TRAMPOLINE is defined.
4673         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
4674         constant if building libgcc2.
4675
4676 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
4677
4678         * i386.c (pentium4_cost): Fix according to Intel recommendations.
4679         (ix86_memory_move_cost): Fix for 64bit compilation.
4680
4681 2002-10-17  Roger Sayle  <roger@eyesopen.com>
4682
4683         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
4684
4685 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
4686
4687         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
4688         in CTR/LR/MQ.
4689         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
4690         to/from CTR/LR/MQ.
4691         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
4692         (movsf_softfloat): Likewise.
4693
4694 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
4695
4696         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
4697
4698 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
4699
4700         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
4701         tramp, not addr, to pass the trampoline address to
4702         __enable_execute_stack.
4703
4704 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
4705
4706         * mmintrin.h: Guard by __MMX__
4707         * xmmintrin.h: Guard by __SSE__
4708
4709         PR other/8062
4710         * xmmintrin.h (_MM_SHUFFLE2): New macro.
4711         (_mm_load*_?d): New functions.
4712         (_mm_set*_?d): New functions.
4713         (_mm_store*_?d): New functions.
4714
4715 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
4716
4717         Really commit patch announced at Oct 14
4718         PR c/7344
4719         * predict.c (can_predict_insn_p): New function.
4720         (estimate_probability): Avoid unnecesary work.
4721         (process_note_prediction): Likewise.
4722         * toplev.c (rest_of_compilation): Account early branch prediction pass
4723         as TV_BRANCH_PROB.
4724
4725         PR other/8048
4726         Found by Ian Ollmann
4727         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4728         (_mm_load?_pd): Likewise.
4729         (_mm_store?_pd): Likewise.
4730
4731         PR target/7386
4732         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4733         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4734         swapped alternative.
4735
4736         PR opt/7630
4737         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4738         (push_reload): Update call.
4739
4740 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4741
4742         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4743         if using mips/elf.h or mips/elf64.h.
4744         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4745         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4746
4747 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4748
4749         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4750         SI.
4751
4752 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4753
4754         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4755         (LPREFIX): Likewise.
4756         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4757         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4758         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4759         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4760         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4761
4762         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4763         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4764         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4765         BSS_SECTION_ASM_OP): Move from linux.h.
4766         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4767         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4768
4769         * config/s390/s390.c (s390_function_profiler): Use
4770         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4771
4772 2002-10-15  Eric Christopher  <echristo@redhat.com>
4773
4774         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4775         * java/parse.y (obtain_incomplete_type): Make pointer
4776         ptr_mode.
4777
4778 2002-10-15  Richard Henderson  <rth@redhat.com>
4779
4780         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4781         as arguments.  Bound DIGITS by the available buffer size.
4782         (real_to_hexadecimal): Likewise.
4783         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4784         (REAL_VALUE_TO_DECIMAL): Remove.
4785         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4786         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4787         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4788         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4789         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4790         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4791         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4792         use real_to_decimal directly, and with the proper arguments.
4793         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4794
4795 2002-10-15  Jim Wilson  <wilson@redhat.com>
4796
4797         * reload1.c (merge_assigned_reloads): After converting overlapping
4798         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4799
4800         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4801
4802 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4803
4804         * expr.c (do_tablejump): Fix typo in my previous commit.
4805
4806 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4807
4808         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4809
4810 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4811
4812         * config/s390/s390.c (s390_split_branches): Add return
4813         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4814
4815         (find_base_register_in_addr): New function.
4816         (find_base_register_ref): New function.
4817         (replace_base_register_ref): New function.
4818
4819         (struct constant_pool): Add members pool_insn, insns, and anchor.
4820         Remove member last_insn.
4821         (s390_start_pool): Initialize them.
4822         (s390_end_pool): Emit pool placeholder insn.
4823         (s390_add_pool_insn): New function.
4824         (s390_find_pool): Use insns bitmap instead of addresses.
4825         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4826         Replace unspec 104 by local-pool-relative references.
4827         (s390_output_constant_pool): Output anchor label if required.
4828         (s390_output_symbolic_const): Handle unspec 104 and 105.
4829         (s390_add_pool): Remove, replace by ...
4830         (s390_add_constant, s390_find_constant): ... these new functions.
4831         (s390_add_anchor): New function.
4832
4833         (s390_chunkify_pool): Delete, replace by ...
4834         (s390_chunkify_start, s390_chunkify_finish,
4835         s390_chunkify_cancel): ... these new functions.
4836         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4837         Recompute register live data for special registers.
4838         (s390_fixup_clobbered_return_reg): New function.
4839         (s390_machine_dependent_reorg): Rewrite to use new
4840         s390_chunkify_... routines.
4841
4842         config/s390/s390.md ("reload_base"): Rename to ...
4843         ("reload_base_31"): ... this.
4844         ("reload_base_64"): New insn.
4845         ("reload_base2"): Remove.
4846         ("reload_anchor"): New insn.
4847         ("pool"): New insn.
4848
4849         s390.c (s390_pool_overflow): Remove.
4850         s390.h (s390_pool_overflow): Likewise.
4851         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4852
4853 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4854
4855         * sh.md (movv8qi_i+2): Don't split if source is -1.
4856
4857 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4858
4859         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4860
4861 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4862
4863         PR opt/7409
4864         * loop.c (loop_regs_scan): Mark registers used for function
4865         argument passing as MAY_NOT_OPTIMIZE.
4866
4867 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4868
4869         * gcov-io.h (gcov_info): Fix type.
4870         * profile.c (create_profiler): Fix type mismatch.
4871
4872 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4873
4874         * i386.md (movv2di_internal): New pattern.
4875         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4876         (movv2di): New expander.
4877         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4878
4879         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4880         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4881         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4882         (ix86_expand_builtin): Likewise.
4883         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4884         sse_andti3,
4885         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4886         sse_andnti3,
4887         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4888         sse_orti3,
4889         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4890         sse_xorti3): Kill.
4891         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4892          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4893         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4894          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4895         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4896          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4897
4898         * xmmintrin.h (__m128i): Define as __v2di.
4899
4900         PR c++/6419
4901         (expand_expr): Use DECL_RTL_SET_P.
4902
4903 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4904
4905         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4906
4907 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4908             Zack Weinberg <zack@codesourcery.com>
4909
4910         * config/i386/i386.c (k6_cost): Correct typo.
4911
4912 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4913
4914         PR optimization/6631
4915         * alias.c (objects_must_conflict_p): Check honor_readonly when
4916         examining TYPE_READONLY.
4917         * function.c (assign_stack_temp_for_type): Likewise.
4918
4919 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4920
4921         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4922         Swap zero extension arguments.
4923         (umaxhi3): Fix instruction class.
4924         PR target/7211
4925         (prefetch): Fix prefetch instructions.
4926         PR target/7238
4927         (pkwb): Fix output constraint.
4928
4929 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4930
4931         * config/mips/mips.c (print_operand): Increase buffer size for
4932         real numbers.
4933
4934 2002-10-14  Richard Henderson  <rth@redhat.com>
4935
4936         PR opt/8165
4937         * gcse.c (adjust_libcall_notes): Revert last change.
4938         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4939
4940 2002-10-14  Andrew Haley  <aph@redhat.com>
4941
4942         * tree-inline.c (remap_block): All local class initialization
4943         flags go in the outermost scope.
4944         (expand_call_inline): Call java_inlining_map_static_initializers.
4945         (expand_call_inline): Call java_inlining_merge_static_initializers.
4946         * java/lang.c (merge_init_test_initialization): New.
4947         (java_inlining_merge_static_initializers): New.
4948         (inline_init_test_initialization): New.
4949         (java_inlining_map_static_initializers): New.
4950
4951         * tree-inline.c (expand_call_inline): Convert retvar to expected
4952         type.
4953
4954 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4955
4956         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4957
4958 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4959
4960         * stmt.c: Fix typo in comment.
4961
4962 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4963
4964         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4965         * tree.c (build_common_tree_nodes_2): Initialize
4966         unsigned_V2HI_type_node and V2HI_type_node.
4967         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4968         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4969
4970 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4971
4972         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4973         Handle TARGET_64BIT.
4974
4975 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4976
4977         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4978         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4979         (MULTILIB_DIRNAMES): Remove long32.
4980         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4981         (MULTILIB_REDUNDANT_DIRS): Remove.
4982
4983 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4984
4985         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4986         * gcc.c (driver_self_specs): New variable.
4987         (do_self_spec): New function.
4988         (main): Use it to process driver_self_specs.
4989
4990 2002-10-13  Richard Henderson  <rth@redhat.com>
4991
4992         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4993         indirect sibcalls when regparm >= 3.
4994
4995         * config/i386/i386.c (sibcall_insn_operand): New.
4996         * config/i386/i386.h (PREDICATE_CODES): Update.
4997         * config/i386/i386-protos.h: Update.
4998         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4999
5000         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
5001
5002 2002-10-12  Roger Sayle  <roger@eyesopen.com>
5003
5004         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
5005         arithmetic right shifts of ~0 during RTL simplifications.
5006
5007 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
5008
5009         PR preprocessor/7862
5010         PR preprocessor/8190
5011         * gcc.c (cpp_unique_options): Don't delete .d files.
5012         Remove stray whitespace.
5013
5014 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
5015
5016         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
5017         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
5018         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
5019         (pdp11_output_function_epilogue, output_ascii): Likewise.
5020         (output_addr_const_pdp11): Likewise.
5021         * pdp11.md (movdi): Use offsetable memory for floating store.
5022         (lshrsi3, negsi2): Delete irrelevant comment.
5023
5024 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
5025
5026         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
5027         indirect calls to be sibcall optimized.
5028         * config/i386/i386.md (sibcall_1): New.
5029         (call_1): Add no-sibcalls condition.
5030         (sibcall_value_1): New.
5031         (call_value_1): Add no-sibcalls condition.
5032
5033 2002-10-11  Eric Christopher  <echristo@redhat.com>
5034
5035        * output.h (default_valid_pointer_mode): Declare.
5036        * varasm.c (default_valid_pointer_mode): Define.
5037        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
5038        * target.h: Ditto.
5039        * tree.c (build_pointer_type_for_mode): New function.
5040        (build_pointer_type): Use.
5041        (build_reference_type_for_mode): New function.
5042        (build_reference_type): Use.
5043        * tree.h: Declare new functions.
5044        * c-common.c (handle_mode_attribute): Use new functions, check
5045        for type.
5046        * stor-layout.c (layout_type): Depend on machine mode for
5047        REFERENCE_TYPE and POINTER_TYPE.
5048        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
5049        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
5050        and REFERENCE_TYPE.
5051        * config/mips/mips.c (mips_valid_pointer_mode): New function.
5052        (TARGET_VALID_POINTER_MODE): Use and define.
5053        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
5054
5055 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
5056
5057         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
5058         not the address of the REG.
5059         (struct cse_reg_info): Make subreg_ticked unsigned.
5060
5061 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
5062
5063         * doc/compat.texi: Add info about C++ libraries.
5064
5065 2002-10-11  Richard Henderson  <rth@redhat.com>
5066
5067         PR opt/8165
5068         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
5069
5070 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5071
5072         * cfganal.c (dfs_enumerate_from): Use PARAMS.
5073         * genautomata.c (output_insn_code_cases): Likewise.
5074         * real.c (real_format): Likewise.
5075         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
5076         ensure value is promoted before doing subtraction.
5077
5078 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
5079
5080         * calls.c (expand_call): Simplify noreturn call.
5081
5082         PR c/7344
5083         * cfgbuild.c (make_edges): Create edge cache when we do have
5084         large jumptable.
5085         * expr.c (do_tablejump): Note size of maximal jumptable.
5086         * function.c (prepare_function_start): Zero out size.
5087         * function.h (function): Add max_jumptable_ents.
5088
5089         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
5090
5091 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
5092
5093         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
5094         register for mperm_w operation.
5095
5096 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
5097
5098         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
5099         an integer, use simplify_gen_subreg.
5100
5101 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
5102
5103         * calls.c (flags_from_decl_or_type): Make extern.
5104         (ECF_*): Move ...
5105         * rtl.h (ECF_*): ... here.
5106         (flags_from_decl_or_type): Declare.
5107
5108 2002-10-10  Roger Sayle  <roger@eyesopen.com>
5109             Nathan Sidwell <nathan@codesourcery.com>
5110
5111         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
5112         shifts of the form -1 >> x.
5113
5114 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
5115
5116         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
5117
5118 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
5119
5120         * extend.texi (Vector Extensions): Remove comment about single
5121         element vectors.
5122
5123 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5124
5125         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
5126         * function.c (insns_for_mem_hash): Likewise.
5127         * varasm.c (STRHASH): Likewise.
5128
5129 2002-10-10  Stuart Hastings  <stuart@apple.com>
5130
5131         * cse.c (struct cse_reg_info): Add subreg_ticked.
5132         (SUBREG_TICKED): New.
5133         (get_cse_reg_info): Initialize SUBREG_TICKED.
5134         (mention_regs): Use it.
5135         (invalidate): Set SUBREG_TICKED.
5136         (invalidate_for_call): Likewise.
5137         (addr_affects_sp_p): Likewise.
5138
5139 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
5140
5141         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
5142         into proper operand.
5143
5144 2002-10-10  Denis Chertykov  <denisc@overta.ru>
5145
5146         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
5147         deallocation.
5148         * config/ip2k/libgcc.S: Combine routines used by function
5149         epilogue.
5150
5151 2002-10-10  Jim Wilson  <wilson@redhat.com>
5152
5153         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
5154         UDIV.
5155
5156 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
5157
5158         * config/rs6000/aix52.h: New file.
5159         * config/rs6000/t-aix52: New File.
5160         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
5161         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
5162
5163 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
5164
5165         PR target/5610
5166         * invoke.texi (-msse-math): Kill
5167         (-msse): Add note to mfpmath=sse.
5168
5169 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
5170
5171         PR target/7723
5172         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
5173
5174 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
5175
5176         PR preprocessor/8179
5177         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
5178         as cc1_options.
5179         (default_compilers): Pass debug options when preprocessing
5180         stdin.
5181
5182 2002-10-06  Richard Henderson  <rth@redhat.com>
5183
5184         * toplev.c (rest_of_compilation): Revert opt/2960 change.
5185
5186 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
5187
5188         * i386.c (*_cost): Add branch costs.
5189         (override_options): set ix86_branch_cost.
5190         (ix86_expand_int_movcc): Use BRANCH_COST.
5191         * i386.h (costs): Add branch_cost.
5192
5193 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
5194
5195         PR c/7353
5196         * c-decl.c (start_decl): Unconditionally issue error for
5197         'typedef foo = bar'.
5198         (finish_decl): Remove special case for TYPE_DECL with initializer.
5199
5200         * doc/extend.texi: Delete "Naming Types" section.  Change all
5201         cross-references to that section to refer to "Typeof" instead.
5202         Add the useful safe-max()-macro example from "Naming Types" to
5203         "Typeof", rewritten using that extension.  Add some compatibility
5204         notes to "Typeof."
5205
5206 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5207
5208         * loop.c: Revert 2002-08-15 change.
5209         (LOOP_REGNO_NREGS): Ensure type is int.
5210
5211 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
5212
5213         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
5214         which copies first FPR and clears second.
5215         (extendsftf2): Same.
5216         (floatditf2): Fix typo.
5217         (floatsitf2): Same.
5218         (fix_trunctfdi2): Same.
5219         (fix_trunctfsi2): Same.
5220
5221 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5222
5223         * conflict.c (arc_hash): Change return type to hashval_t.
5224         * cselib.c (get_value_hash): Likewise.
5225         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
5226         state_hash, automata_list_hash): Likewise.
5227         * read-rtl.c (def_hash): Likewise.
5228         * tree.c (type_hash_hash): Likewise.
5229
5230 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
5231
5232         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
5233         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
5234
5235 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
5236
5237         * sh.md (ffssi2): Fix emitted code.
5238
5239 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
5240
5241         * cse.c (insn_live_p): Pass insn pattern, not full insn
5242         to may_trap_p.
5243
5244 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
5245
5246         * cppmacro.c (paste_tokens): Only allow / to paste with =.
5247
5248 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
5249
5250         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
5251         64-bit hosts.
5252         (movtf_internal): Reference correct displacement for second value
5253         in memory.
5254         (movtf splitter): Correct generation of constants in 64-bit mode.
5255
5256 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
5257
5258         * libgcc2.c (__floatdisf): Properly cure double rounding.
5259
5260 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5261
5262         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
5263         * doc/cpp.texi (Common Predefined Macros): Document.
5264
5265 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5266
5267         PR doc/7484
5268         * doc/invoke.texi (Option Summary): List
5269         -Wmissing-declarations as a C only option.
5270
5271 2002-10-08  Roger Sayle  <roger@eyesopen.com>
5272
5273         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
5274         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
5275         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
5276
5277 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
5278
5279         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
5280         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
5281         variables.
5282         (safe_vector_operand): Update sse_clrv4sf call.
5283         (ix86_expand_buildin): Likewise
5284         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
5285         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
5286         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
5287         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
5288         macros.
5289         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
5290         movv4si):  Obey the new flags.
5291         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
5292         reformating penalty.
5293         (anddf, cmov patterns): Avoid reformating by first converting.
5294         (sse_cvtsd2ss): Fix predicate.
5295         (sse2_clrti): Fix mode,
5296         (sse_clrv4sf): Avoid unspec.
5297
5298 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
5299
5300         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
5301         mno-app-regs|mcmodel=medany.
5302         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
5303         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
5304         (CRTSTUFF_T_CFLAGS): Define.
5305
5306 2002-10-08  Roger Sayle  <roger@eyesopen.com>
5307
5308         PR target/8087
5309         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
5310         pool references that are constructed using LO_SUM.
5311
5312 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
5313
5314         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
5315         -Wall.
5316         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
5317         message.
5318         * flags.h (warn_strict_aliasing): Declare.
5319         * toplev.c (warn_strict_aliasing): Define.
5320         (lang_independent_options): Add it.
5321         * doc/invoke.texi (-Wstrict-aliasing): Document it.
5322
5323 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
5324
5325         * system.h (GCCBUGURL): Delete.
5326         * version.c (bug_report_url): New.  Add commentary about
5327         modifying both these strings in modified distributions.
5328         * version.h: Declare bug_report_url.
5329
5330         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
5331         bug_report_url.
5332
5333 2002-10-08  Nick Clifton  <nickc@redhat.com>
5334
5335         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
5336         convert uint64_t into __ev64_opaque__.
5337         (__ev_set_acc_s64): Likewise, but using signed types.
5338
5339 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
5340
5341         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
5342         ("*doloop_di_long"): Likewise.
5343
5344 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
5345
5346         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
5347
5348 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
5349
5350         * config/mips/mips.md (define_attr cpu): Add r4111.
5351
5352 2002-10-08  Anthony Green  <green@redhat.com>
5353
5354         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
5355
5356 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5357
5358         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
5359         for REAL_VALUE_TO_DECIMAL output.
5360
5361 2002-10-07  Richard Henderson  <rth@redhat.com>
5362
5363         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
5364         function; cleanup PLUS case by using recursion.  Update all users.
5365         (NONZERO_BASE_PLUS_P): Remove.
5366         (find_comparison_args): Use rtx_addr_can_trap_p instead.
5367         (fold_rtx): Use nonzero_address_p.
5368         * rtl.h (nonzero_address_p): Declare.
5369         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
5370         (rtx_addr_can_trap_p): Likewise.
5371         (nonzero_address_p): New.
5372         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
5373         (simplify_relational_operation): Use nonzero_address_p.
5374
5375 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
5376
5377         * config/rs6000/rs6000.c (rs6000_override_options): Set
5378         real_format_for_mode for IBM extended format, if enabled.
5379         (easy_fp_constant): Add TFmode.
5380         (rs6000_legitimize_address): Add TFmode.
5381         (rs6000_legitimate_address): Same.
5382         (function_arg_advance): TFmode uses two FPRs.
5383         (rs6000_emit_prologue): Fix warning.
5384         (rs6000_output_function_epilogue): Add TFmode.
5385         (output_toc): Add TFmode.
5386         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
5387         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
5388         * rs6000.md (movtf splitter): Load TFmode constant.
5389
5390 2002-10-07  Dale Johannesen  <dalej@apple.com>
5391
5392         * rtl.h:  Add NOTE_PRECONDITIONED.
5393         * unroll.c:  Set it.
5394         * loop.c:  Set loop_info->preconditioned from it.
5395         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
5396
5397 2002-10-07  Richard Henderson  <rth@redhat.com>
5398
5399         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
5400         new rtx for comparing the argument pointer against zero.
5401         (i960_va_start): Similarly.
5402
5403 2002-10-07  Richard Henderson  <rth@redhat.com>
5404
5405         * config/i960/i960.md (*): Use TFmode, not XFmode.
5406         * config/i960/i960.c (*): Likewise.
5407         (i960_arg_size_and_align): Remove XFmode alignment hack.
5408         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
5409         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
5410         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
5411         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
5412
5413 2002-10-07  Richard Henderson  <rth@redhat.com>
5414
5415         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
5416         entry points; use void return value and argument list.
5417
5418 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
5419
5420         * calls.c (expand_call): Fix function-is-volatile check.
5421
5422 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
5423
5424         * t-pdp11: Add MULTILIB support for msoft-float.
5425         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
5426
5427         * t-pdp11: Add LIB2FUNCS_EXTRA.
5428         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
5429         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
5430         'fldd' to 'ldd', rename 'fstd' to 'std'.
5431         (pdp11_output_function_epilogue): Likewise.
5432         (output_move_quad): Make the comment gas compatible.
5433         (output_ascii): Add preceding 0 to the octal constant.
5434         (print_operand_address): Add pre_modify, post_modify.
5435         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
5436         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
5437         with the indication of Paul Koning.
5438         (PRINT_OPERAND): Fix floating constant.
5439         * pdp11.md (movdi): Restrict matching pattern.
5440         (movqi): Generalize the matching pattern.
5441         (movdf): Restrict matching pattern.
5442         (zero_extendqihi2): Change constant representation.
5443         (floatsidf2): Fix wrong operands.
5444         (addqi3): Fix wrong instruction name.
5445         (subqi3): Fix wrong instruction name.
5446         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
5447         (xorsi3): Fix wrong insn.
5448         (one_cmplqi2): Add two operand pattern.
5449         (lsrsi3): New.
5450         (negsi2): New.
5451         (call): Add register indirect case.
5452         (mod): Fix wrong subreg.
5453
5454 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5455             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5456
5457         PR c/7411
5458         * expr.c (expand_expr) [PLUS]: Simplify after the operands
5459         have been expanded in EXPAND_NORMAL mode.
5460
5461 2002-10-06  Richard Henderson  <rth@redhat.com>
5462
5463         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
5464
5465 2002-10-06  Richard Henderson  <rth@redhat.com>
5466
5467         PR optimization/2960
5468         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
5469         optimize_size.
5470
5471 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
5472
5473         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
5474         previously definitions.
5475
5476 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
5477
5478         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
5479         * c-opts.c (find_opt): Similarly.
5480
5481 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
5482
5483         * athlon.md: rewrite to DFA.
5484         * i386 (ix86_adjust_cost): Drop memory latency code.
5485         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
5486
5487 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
5488
5489         * gcc.c (set_multilib_dir): Don't access *end.
5490         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
5491         (print_multilib_info): Don't show paths starting with ".:".
5492         * genmultilib: Add new option, "yes" if multilibs are enabled.
5493         Update comments.  If multilibs not enabled, print .:${osdirout}
5494         for each directory.  If multilibs are enabled, always print
5495         ${dirout}:${osdirout}, even if the two are the same.
5496         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
5497         Pass all MULTILIB_* variables to genmultilib even if
5498         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
5499
5500 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
5501
5502         * gcc.c (process_command): Set .validated for -pipe.  Correct
5503         grammar in comment.
5504
5505 2002-10-04  Bruce Korb  <bkorb@gnu.org>
5506
5507         * fixinc/inclhack.def(hpux11_abs):  use format fix
5508         * fixinc/fixincl.x: regenerate
5509         * fixinc/tests/base/stdlib.h: accommodate new fix test
5510
5511 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
5512
5513         * c-common.c (cb_register_builtins):  Use really_no_inline.
5514
5515 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
5516
5517         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
5518         copied instruction if the note is not loop invariant.
5519
5520 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
5521
5522         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
5523
5524 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5525
5526         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
5527         and -mhp-ld options to list of options.  Add -mgnu-ld
5528         and -mhp-ld option descriptions.
5529
5530 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5531
5532         * fixinc/inclhack.def (hpux11_abs):  New.
5533         (stdio_va_list): change __va_list__ to __gnuc_va_list.
5534         * fixinc/fixincl.x: Rebuild.
5535
5536 2002-10-04  Roger Sayle  <roger@eyesopen.com>
5537
5538         * config/i386/i386.h (processor_costs): Add new fields fadd,
5539         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
5540         (RTX_COSTS): Use these fields to determine the RTX costs
5541         of floating point addition/subtraction, multiplication,
5542         division, fabs, negation and square root respectively.
5543         * config/i386/i386.c (size_cost): Provide instruction sizes
5544         for these new fields.
5545         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
5546         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
5547         counts for these new fields for all x86 processor variants.
5548
5549 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5550
5551         * mips.c (mips_const_double_ok): Delete unused variable.
5552
5553         * gengtype.c (rtx_next): Change type to int.
5554
5555 2002-10-04  Andreas Jaeger  <aj@suse.de>
5556
5557         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
5558
5559 2002-10-04  Richard Henderson  <rth@redhat.com>
5560
5561         * real.h (SIGNIFICAND_BITS): Add one more word.
5562         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
5563         * real.c (times_pten): New.
5564         (real_to_decimal, real_from_string): Use it.
5565         (sticky_rshift_significand): Use & to find modulus.
5566         (rshift_significand, lshift_significand): Likewise.
5567         (do_divide): Apply sticky bit after normalization.
5568         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
5569
5570 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
5571
5572         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
5573         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5574
5575 2002-10-03  Andreas Jaeger  <aj@suse.de>
5576
5577         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
5578         to unsigned long, adjust printf format string.
5579         (output_mangled_typename): Likewise.
5580
5581 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
5582
5583         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
5584         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
5585         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
5586         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
5587         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
5588         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
5589         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
5590         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
5591
5592 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
5593
5594         * doc/invoke.texi (-Wabi): Document mangling bug.
5595
5596 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
5597
5598         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
5599         name for the tbtab label that depends on the function asm name.
5600         Don't output tbtab label unless optional_tbtab.
5601         (output_mi_thunk): Formatting.
5602
5603 2002-10-03  Richard Henderson  <rth@redhat.com>
5604
5605         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
5606         * config/m68k/m68k.c (override_options): ... here.
5607         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
5608         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
5609         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5610         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5611
5612 2002-10-03  Richard Henderson  <rth@redhat.com>
5613
5614         * real.h (struct real_value): Use ENUM_BITFIELD.
5615
5616 2002-10-03  Richard Henderson  <rth@redhat.com>
5617
5618         * config/i960/i960.md (call, call_value): Use emit_call_insn.
5619
5620 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5621
5622         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
5623
5624 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5625
5626         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
5627         * config/pa/pa.h (MASK_GNU_LD): New.
5628         (TARGET_GNU_LD): New.
5629         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
5630         on gnu-ld and MASK_GNU_LD.
5631         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
5632
5633 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
5634
5635         * i386.c (athlon_cost): Fix the move costs.
5636
5637 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
5638
5639         * final.c (final): Use symbol name as function name for profiling.
5640         * profile.c (get_exec_counts): Likewise.
5641         (branch_prob): Likewise.
5642
5643 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5644
5645         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
5646
5647 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5648
5649         * gcc.c (print_multi_os_directory): New variable.
5650         (option_map): Support --print-multi-os-directory.
5651         (struct prefix_list): Add os_multilib field.
5652         (multilib_os_dir): New variable.
5653         (static_specs): Add multilib_options.
5654         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
5655         subdirs if nonzero.
5656         (read_specs, execute): Update callers.
5657         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
5658         pass 1 as multilib option.
5659         (display_help): Include --print-multi-os-directory.
5660         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
5661         (process_command): Update callers.  Handle --print-multi-os-directory.
5662         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
5663         set.
5664         (main): Update find_a_file and add_prefix callers.
5665         Handle print_multi_os_directory.
5666         (struct mdswitchstr): New.
5667         (mdswitches, n_mdswitches): New variables.
5668         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
5669         present on the command line nor their mutually incompatible
5670         switches.
5671         (default_arg): Optimize.
5672         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
5673         array.
5674         (print_multilib_info): Only print GCC multilib dir name, not OS
5675         multilib dirname.
5676         * genmultilib: Add osdirnames parameter.  Output multilib_options
5677         variable.  If osdirnames is specified, output dirnames as
5678         dirname:osdirname.
5679         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
5680         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
5681         to compute libgcc_s soname and install path.
5682         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
5683         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5684         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
5685         argument.
5686
5687         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5688         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5689         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
5690         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
5691         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
5692         and -m64.
5693         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
5694         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5695         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
5696         (STARTFILE_ARCH_SPEC): Remove.
5697         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5698         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5699         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5700         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
5701         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5702
5703 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
5704
5705         * predict.c (choose_function_section): Avoid choice for linkonce functions.
5706
5707 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
5708
5709         * i386.md (lea to mul peep2): Fix condition.
5710
5711 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5712
5713         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
5714         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
5715
5716 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
5717
5718         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
5719         attribute "unused".
5720
5721         * config/t-libunwind: Mention unwind-sjlj.c.
5722         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
5723         to #ifndef __USING_SJLJ_EXCEPTIONS__.
5724
5725         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
5726         before inclusion of config.gcc, but after configuring the compiler etc.
5727         Determine default value for --enable-libunwind-exceptions based on
5728         whether the host has a libunwind library (not guaranteed to be correct,
5729         but it's a reasonable first guess and can always be overridden with an
5730         explicit --enable/disable-libunwind-exceptions.
5731         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5732         tmake_file when $use_libunwind_exceptions is enabled.
5733         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5734         ia64 (e.g., config/t-linux also updates it).
5735         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5736         along with the shared version of libgcc since the latter requires
5737         the former.
5738         * unwind-libunwind.c: New file.
5739         * config/t-libunwind: Ditto.
5740
5741 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5742
5743         * config.gcc: Remove support for vax-*-vms*.
5744         * config/vax/vms.h: Remove.
5745         * config/vax/xm-vms.h: Remove.
5746         * config/vax/vax-protos.h: Remove VMS-specific code.
5747         * config/vax/vax.c: Remove VMS-specific code.
5748
5749 2002-10-02  Richard Henderson  <rth@redhat.com>
5750
5751         PR opt/7124
5752         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5753         for secondary_memory_needed pairs.
5754
5755 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5756
5757         * doc/vms.texi: Blow away false include file section.
5758
5759 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5760
5761         PR optimization/6627
5762         * toplev.c (force_align_functions_log): New global variable.
5763         * flags.h (force_align_functions_log): Add extern prototype.
5764         * varasm.c (assemble_start_function): Use it to force minimum
5765         function alignment.
5766         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5767         minimum function alignment to one byte.
5768         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5769         the least significant bit of vtable member function pointers.
5770         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5771         here from cp/cp-tree.h.
5772
5773 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5774
5775         * i386.c (print_operand_address): Use RIP addressing for offsetted
5776         label refs too.
5777
5778 2002-09-30  David S. Miller  <davem@redhat.com>
5779
5780         PR middle-end/7151
5781         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5782         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5783
5784 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5785
5786         * calls.c (expand_call): Remove the `no indirect check'
5787         for sibcall optimization; use function_ok_for_sibcall
5788         target hook; refine check for `function is volatile'.
5789         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5790         * hooks.c (hook_tree_tree_bool_false): New.
5791         * hooks.h (hook_tree_tree_bool_false): Declare.
5792         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5793         (TARGET_INITIALIZER): Add it.
5794         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5795         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5796         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5797         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5798         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5799         Remove function declaration.
5800         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5801         function static and accept another argument of type `tree'.
5802         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5803         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5804         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5805         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5806         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5807         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5808         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5809         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5810         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5811         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5812         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5813         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5814         Remove function declaration.
5815         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5816         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5817         rename first argument to `decl'; accept another argument
5818         of type `tree'; make static.
5819         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5820         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5821         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5822         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5823         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5824         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5825         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5826         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5827         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5828
5829 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5830
5831         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5832
5833 2002-10-01  Richard Henderson  <rth@redhat.com>
5834
5835         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5836         (real_to_hexadecimal): Likewise.
5837         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5838         dump the XWINT fields of a floating point CONST_DOUBLE.
5839
5840 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5841
5842         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5843
5844 2002-10-01  Richard Henderson  <rth@redhat.com>
5845
5846         * calls.c (precompute_register_parameters): Force non-legitimate
5847         constants into pseudos.
5848
5849 2002-10-01  Nick Clifton  <nickc@redhat.com>
5850
5851         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5852         to assembler template.
5853
5854 2002-10-01  Richard Henderson  <rth@redhat.com>
5855
5856         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5857         for TLS debug info to !DECL_EXTERNAL.
5858
5859 2002-10-01  Matt Thomas  <matt@3am-software.com>
5860             Jason Thorpe  <thorpej@wasabisystems.com>
5861
5862         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5863         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5864         if not already defined.
5865         * config/vax/elf.h: New file.
5866         * config/vax/netbsd-elf.h: New file.
5867         * config/vax/vax.c: Include "debug.h".
5868         (vax_output_function_prologue): Add dwarf2 support.  Use
5869         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5870         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5871         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5872         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5873         (VAX_ISTREAM_SYNC): Remove.
5874         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5875         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5876         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5877         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5878         and assemble_name.
5879         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5880         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5881         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5882         (INCOMING_RETURN_ADDR_RTX): Define.
5883         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5884         (VUNSPEC_SYNC_ISTREAM): Define.
5885         (blockage): Use VUNSPEC_BLOCKAGE.
5886         (sync_istream): New insn.
5887
5888 2002-10-01  Richard Henderson  <rth@redhat.com>
5889
5890         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5891         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5892         (*call): New insn.
5893
5894 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5895
5896         PR c/8083
5897         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5898         type based aliasing.
5899
5900 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5901
5902         * stor-layout.c (update_alignment_for_field): New function.
5903         (place_union_field): Use it.
5904         (place_field): Likewise.
5905
5906 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5907
5908         PR other/8077
5909         * gcc.c (cc1_options): Add space on -auxbase-strip.
5910
5911 2002-10-01  Jim Wilson  <wilson@redhat.com>
5912
5913         * config/v850/v850.h (EPILOGUE_USES): Define.
5914
5915 2002-09-30  Andrew Haley  <aph@redhat.com>
5916
5917         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5918         eliminate insns that may trap.
5919         * cse.c (insn_live_p): Likewise.
5920
5921 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5922
5923         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5924         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5925         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5926         * config/mips/mips.md: Apply same renaming here.
5927
5928 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5929
5930         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5931         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5932         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5933         * config/mips/mips.md (define_attr cpu): Remove r4320.
5934         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5935
5936 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5937
5938         * config/mips/mips.c (mips16_strings): New variable.
5939         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5940         symbol in mips16_strings.  Free the list.
5941         (mips_encode_section_info): Keep track of local strings.
5942
5943 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5944
5945         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5946         (sordered_df, sordered_sf): Remove.
5947         * config/mips/mips.c (get_float_compare_codes): New fn.
5948         (gen_int_relational, gen_conditional_move): Use it.
5949
5950 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5951
5952         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5953         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5954         * config/mips/mips.c (fcc_register_operand): New function.
5955         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5956         (override_options): Allow TFmode values in float registers
5957         if ISA_HAS_8CC.
5958         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5959         to fcc_register_operand.  Remove misleading source constraint.
5960         Use mips_emit_fcc_reload.
5961         (reload_outcc): Duplicate reload_incc.
5962
5963 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5964
5965         * gcc.c (validate_switches): Handle all new forms of spec
5966         syntax introduced recently.  Now returns a char *.
5967         (validate_all_switches): Repetitive logic broken out to...
5968         (validate_switches_from_spec): ...here.
5969         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5970
5971 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5972
5973         * longlong.h: Partially synchronize with GMP-4.1 version:
5974         Use i370 definitions also for s390.
5975         Add generic definition of umul_ppmm in terms of smul_ppmm.
5976         [s390] (umul_ppmm): Remove.
5977         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5978         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5979
5980 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5981
5982         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5983         Add new RL_REGS register class.
5984         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5985         Call xtensa_preferred_reload_class for both input and output reloads.
5986         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5987         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5988         instead of either AR_REGS or GR_REGS classes.
5989         (xtensa_secondary_reload_class): Use new RL_REGS class.
5990         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5991
5992 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5993
5994         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5995         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5996         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5997         there is a '*' prefix in NAME.
5998
5999 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
6000
6001         * reload.c (push_reload): Handle subregs and secondary memory.
6002         * reload1.c (gen_reload): Likewise.
6003
6004         * jump.c (reg_or_subregno): New function.
6005         * rtl.h (reg_or_subregno): Declare
6006         * unroll.c (find_splittable_givs): Handle subregs.
6007
6008 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
6009
6010         * store-layout.c (finish_record_layout): Add free_p parameter.
6011         (layout_type): Pass it.
6012         * tree.h (finish_record_layout): Update prototype.
6013
6014 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
6015
6016         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
6017
6018         * gcse.c (cprop_jump): Check that the register has not
6019         been modified
6020         (cprop_jump): Likewise.
6021
6022 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
6023
6024         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
6025         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
6026         that we have a SImode access, and only then if reload hasn't completed;
6027         for all other cases, use LO_REGS.
6028
6029 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6030
6031         * openbsd.h: Fix typo in last change.
6032
6033 2002-09-29  Richard Henderson  <rth@redhat.com>
6034
6035         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
6036
6037 2002-09-29  Richard Henderson  <rth@redhat.com>
6038
6039         PR c/8002
6040         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
6041         for CONST_INT.
6042
6043 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
6044
6045         * real.h (ibm_extended_format): Declare.
6046         * real.c (encode_ibm_extended, decode_ibm_extended): New
6047         functions.
6048
6049 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6050
6051         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
6052
6053         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
6054
6055 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6056
6057         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
6058
6059 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6060
6061         * builtins.def: Fix comment formatting.
6062         * c-common.def: Likewise.
6063         * cfgcleanup.c: Likewise.
6064         * combine.c: Likewise.
6065         * gengtype.c: Likewise.
6066         * params.def: Likewise.
6067         * predict.def: Likewise.
6068         * rtl.def: Likewise.
6069         * stab.def: Likewise.
6070         * stor-layout.c: Likewise.
6071         * tree.def: Likewise.
6072         * config/darwin.c: Likewise.
6073         * config/darwin.h: Likewise.
6074         * config/dbxcoff.h: Likewise.
6075         * config/elfos.h: Likewise.
6076         * config/fp-bit.c: Likewise.
6077         * config/freebsd-spec.h: Likewise.
6078         * config/interix.h: Likewise.
6079         * config/libgloss.h: Likewise.
6080         * config/linux-aout.h: Likewise.
6081         * config/linux.h: Likewise.
6082         * config/lynx-ng.h: Likewise.
6083         * config/lynx.h: Likewise.
6084         * config/netbsd-aout.h: Likewise.
6085         * config/netbsd.h: Likewise.
6086         * config/netware.h: Likewise.
6087         * config/psos.h: Likewise.
6088         * config/ptx4.h: Likewise.
6089
6090 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
6091
6092         * ChangeLog.4: Fix typos.
6093         * ChangeLog.6: Likewise.
6094         * FSFChangeLog.10: Likewise.
6095         * genattrtab.c: Fix comment typos.
6096         * haifa-sched.c: Likewise.
6097         * real.c: Likewise.
6098         * tree.h: Likewise.
6099         * config/arm/arm.c: Likewise.
6100         * config/arm/crti.asm: Likewise.
6101         * config/arm/crtn.asm: Likewise.
6102         * config/frv/frv.c: Likewise.
6103         * config/frv/frv.md: Likewise.
6104         * config/h8300/h8300.md: Likewise.
6105         * config/i386/rtemself.h: Likewise.
6106         * config/ia64/unwind-ia64.c: Likewise.
6107         * config/ip2k/ip2k.h: Likewise.
6108         * config/m88k/m88k.c: Likewise.
6109         * config/m88k/m88k.md: Likewise.
6110         * config/mips/sr71k.md: Likewise.
6111         * config/mmix/mmix.c: Likewise.
6112         * config/rs6000/rs6000.c: Likewise.
6113         * config/sh/sh.md: Likewise.
6114
6115 2002-09-26  Theodore A. Roth  <troth@verinet.com>
6116
6117         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
6118         * config/avr/avr.md: Ditto.
6119
6120 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
6121
6122         PR preprocessor/8055
6123         * cppmacro.c (stringify_arg): Do not overflow the buffer
6124         with the terminating NUL when the argument to be stringified
6125         has no tokens.
6126
6127 2002-09-27  Richard Henderson  <rth@redhat.com>
6128
6129         * unroll.c (simplify_cmp_and_jump_insns): New.
6130         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
6131         instead of expand_simple_foo.
6132
6133 2002-09-27  Richard Henderson  <rth@redhat.com>
6134
6135         PR optimization/7520
6136         * cfganal.c (flow_active_insn_p): New.
6137         (forwarder_block_p): Use it.
6138
6139 2002-09-27  Richard Henderson  <rth@redhat.com>
6140
6141         * emit-rtl.c (active_insn_p): Revert last change.
6142
6143 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
6144
6145         * doc/extend.texi (tls_model): Document.
6146         * varasm.c (decl_tls_model): New.
6147         * c-common.c (handle_tls_model_attribute): New.
6148         (c_common_attribute_table): Add tls_model.
6149         * config/alpha/alpha.c (alpha_encode_section_info): Use
6150         decl_tls_model.
6151         * flags.h (enum tls_model, flag_tls_default): Move...
6152         * tree.h (enum tls_model, flag_tls_default): ...here.
6153         (decl_tls_model): New prototype.
6154         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
6155         * config/i386/i386.c (ix86_encode_section_info): Likewise.
6156         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
6157         Allow !flag_pic.
6158
6159 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
6160
6161         * LANGUAGES: Follow spelling conventions.
6162         * rtl.def: Likewise.
6163         * sbitmap.c: Likewise.
6164         * sched-int.h: Likewise.
6165         * sched-rgn.c: Likewise.
6166         * sibcall.c: Likewise.
6167         * simplify-rtx.c: Likewise.
6168         * ssa.c: Likewise.
6169         * stab.def: Likewise.
6170         * stmt.c: Likewise.
6171         * stor-layout.c: Likewise.
6172         * target.h: Likewise.
6173         * timevar.c: Likewise.
6174         * toplev.c: Likewise.
6175         * tree-dump.c: Likewise.
6176         * tree-inline.c: Likewise.
6177         * tree.c: Likewise.
6178         * tree.def: Likewise.
6179         * tree.h: Likewise.
6180         * unroll.c: Likewise.
6181         * varasm.c: Likewise.
6182         * vmsdbgout.c: Likewise.
6183         * treelang/treelang.texi: Likewise.
6184         * treelang/treetree.c: Likewise.
6185
6186 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
6187
6188         * config/h8300/h8300.c (compute_saved_regs): Use a macro
6189         instead of a hard register number.
6190         (get_shift_alg): Use an enumerated type instead of numbers.
6191         (h8300_shift_needs_scratch_p): Likewise.
6192
6193 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6194
6195         * varasm.c (force_data_section): Remove.
6196         (assemble_constant_align): Likewise.
6197         * output.h: Remove corresponding prototypes.
6198
6199 2002-09-26  Roger Sayle  <roger@eyesopen.com>
6200
6201         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
6202         jump, if the loop to exit is the top of the current nesting stack.
6203
6204 2002-09-26  Torbjorn Granlund  <tege@swox.com>
6205
6206         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
6207         arithmetic.
6208
6209 2002-09-26  David S. Miller  <davem@redhat.com>
6210
6211         PR optimization/7335
6212         * calls.c (emit_library_call_value_1): Passing args by reference
6213         converts a CONST function into a PURE one.
6214
6215 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
6216
6217         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
6218         text_section.
6219         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
6220         text section.
6221         * config/rs6000/rs6000.c (rs6000_override_options): Allow
6222         function-sections and data-sections functionality on AIX.
6223
6224 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
6225             Dale Johannesen  <dalej@apple.com>
6226
6227         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
6228         in RTL for sub-word loads from memory.
6229
6230 2002-09-26  Richard Henderson  <rth@redhat.com>
6231
6232         PR c/7160
6233         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
6234         on call insns.
6235
6236 2002-09-26  Richard Henderson  <rth@redhat.com>
6237
6238         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
6239
6240 2002-09-26  Chris Lattner  <sabre@nondot.org>
6241
6242         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
6243         handling undefined values.
6244
6245 2002-09-26  Richard Henderson  <rth@redhat.com>
6246
6247         PR opt/7520
6248         * emit-rtl.c (active_insn_p): Consider a clobber of the
6249         function return value to be active even after reload.
6250
6251 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
6252
6253         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
6254         by absolute loop increment, not loop increment.
6255
6256 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6257
6258         * c-common.h: Follow spelling conventions.
6259         * cpplex.c: Likewise.
6260         * cpplib.h: Likewise.
6261         * gthr-dce.h: Likewise.
6262         * gthr-posix.h: Likewise.
6263         * optabs.c: Likewise.
6264         * output.h: Likewise.
6265         * profile.c: Likewise.
6266         * protoize.c: Likewise.
6267         * ra-rewrite.c: Likewise.
6268         * real.c: Likewise.
6269         * recog.c: Likewise.
6270         * reg-stack.c: Likewise.
6271         * regclass.c: Likewise.
6272         * regmove.c: Likewise.
6273         * reload.c: Likewise.
6274         * reload.h: Likewise.
6275         * reload1.c: Likewise.
6276         * reorg.c: Likewise.
6277         * resource.c: Likewise.
6278         * rtl.h: Likewise.
6279         * rtlanal.c: Likewise.
6280
6281 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6282
6283         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
6284         for symbol address.
6285
6286 2002-09-24  Eric Christopher  <echristo@redhat.com>
6287
6288         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
6289         * config/mips/elf64.h: Ditto.
6290
6291 2002-09-24  Eric Christopher  <echristo@redhat.com>
6292
6293         * except.c (expand_builtin_extract_return_address): Handle case
6294         where Pmode != ptr_mode.
6295
6296 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6297
6298         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
6299
6300 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6301
6302         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
6303
6304 2002-09-26  Igor Shevlyakov <igor@microunity.com>
6305
6306         * combine.c (simplify_set): Don't call to force_to_mode if size
6307         of integer type is larger than HOST_BITS_PER_WIDE_INT.
6308
6309 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
6310
6311         * Makefile.in (qmtest-g++): Fix file path.
6312
6313 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
6314
6315         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
6316         A + (-const) on RTX level, even for unsigned types.
6317
6318 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
6319
6320         * reload.c (dup_replacements): New function.
6321         (find_reloads): Use it to duplicate replacements at the top level
6322         of match_dup operands.
6323
6324 2002-09-26  Miles Bader  <miles@gnu.org>
6325
6326         * v850.md ("length"): Change default value to 4.
6327
6328 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6329
6330         * ChangeLog.1: Follow spelling conventions.
6331         * ChangeLog.4: Likewise.
6332         * ChangeLog.6: Likewise.
6333         * FSFChangeLog.11: Likewise.
6334         * doc/cpp.texi: Likewise.
6335         * doc/invoke.texi: Likewise.
6336         * doc/tm.texi: Likewise.
6337
6338 2002-09-26  Nick Clifton  <nickc@redhat.com>
6339
6340         * config.gcc: Add x prefix to v850e case for handling
6341         --with-cpu=v850e.
6342
6343 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
6344
6345         * gcc.c (input_suffix_matches, switch_matches,
6346         mark_matching_switches, process_marked_switches,
6347         process_brace_body): New functions - split from handle_braces.
6348         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
6349         and ignore whitespace in more places.
6350         (specs documentation comment): Document %{S:X;T:Y;:D}.
6351         Clarify other %{...} docs.
6352         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
6353         %{...} docs.
6354
6355         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
6356         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
6357
6358 2002-09-25  David S. Miller  <davem@redhat.com>
6359
6360         PR target/7842
6361         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
6362         extend.
6363
6364 2002-09-25  Richard Henderson  <rth@redhat.com>
6365
6366         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
6367         fp CONST_DOUBLE; use real_identical.
6368
6369 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
6370
6371         * doc/invoke.texi: Add more -Wabi examples.
6372
6373 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
6374
6375         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
6376
6377 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
6378
6379         * profile.c (end_branch_prob): Only look for __gcov_init on
6380         weak-enabled native compilers.
6381
6382 2002-09-24  Denis Chertykov  <denisc@overta.ru>
6383
6384         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
6385         cases of optimizing "add sp,w" to "inc sp".
6386
6387 2002-09-24  Adam Nemet  <anemet@lnxw.com>
6388
6389         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
6390         epilogue for naked functions.
6391
6392 2002-09-24  Adam Nemet  <anemet@lnxw.com>
6393             Nick Clifton  <nickc@redhat.com>
6394
6395         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
6396         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
6397         is defined.
6398
6399 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
6400
6401         * config/s390/s390.c (preferred_la_operand_p): New function.
6402         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
6403         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
6404         ("*la_64_cc", "*la_31_cc", splitters): ... these.
6405         ("*la_31"): Deactivate for TARGET_64BIT.
6406         ("*la_31_and", "*la_31_and_cc"): New.
6407
6408 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6409
6410         * real.h (real_value): Make `exp' explicitly signed.
6411
6412 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
6413
6414         * config/elfos.h: Follow spelling conventions.
6415         * config/alpha/alpha.h: Likewise.
6416         * config/arc/arc.h: Likewise.
6417         * config/arm/arm.md: Likewise.
6418         * config/avr/avr.h: Likewise.
6419         * config/cris/cris.md: Likewise.
6420         * config/d30v/d30v.h: Likewise.
6421         * config/frv/frv.c: Likewise.
6422         * config/frv/frv.h: Likewise.
6423         * config/h8300/h8300.c: Likewise.
6424         * config/h8300/h8300.h: Likewise.
6425         * config/h8300/h8300.md: Likewise.
6426         * config/i386/cygwin.h: Likewise.
6427         * config/i386/i386.h: Likewise.
6428         * config/i386/sysv3.h: Likewise.
6429         * config/i960/i960.h: Likewise.
6430         * config/ia64/ia64.h: Likewise.
6431         * config/ia64/ia64.md: Likewise.
6432         * config/ip2k/ip2k.h: Likewise.
6433         * config/m32r/m32r.h: Likewise.
6434         * config/m68k/m68k.h: Likewise.
6435         * config/m88k/m88k.h: Likewise.
6436         * config/mcore/mcore.c: Likewise.
6437         * config/mcore/mcore.h: Likewise.
6438         * config/mcore/mcore.md: Likewise.
6439         * config/mips/mips.h: Likewise.
6440         * config/mmix/mmix.h: Likewise.
6441         * config/mmix/mmix.md: Likewise.
6442         * config/ns32k/netbsd.h: Likewise.
6443         * config/ns32k/ns32k.h: Likewise.
6444         * config/ns32k/ns32k.md: Likewise.
6445         * config/pa/pa.h: Likewise.
6446         * config/romp/romp.h: Likewise.
6447         * config/rs6000/rs6000.h: Likewise.
6448         * config/rs6000/rs6000.md: Likewise.
6449         * config/sparc/sparc.h: Likewise.
6450         * config/stormy16/stormy-abi: Likewise.
6451         * config/stormy16/stormy16.h: Likewise.
6452         * config/vax/vax.h: Likewise.
6453
6454 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6455
6456         * config/alpha/alpha.h: Remove commented-out macro
6457         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
6458         * config/avr/avr.h: Likewise.
6459         * config/d30v/d30v.h: Likewise.
6460         * config/dsp16xx/dsp16xx.h: Likewise.
6461         * config/i370/i370.h: Likewise.
6462         * config/i386/i386.h: Likewise.
6463         * config/i960/i960.h: Likewise.
6464         * config/m68k/m68k.h: Likewise.
6465         * config/m88k/m88k.h: Likewise.
6466         * config/mips/mips.h: Likewise.
6467         * config/ns32k/ns32k.h: Likewise.
6468         * config/pdp11/pdp11.h: Likewise.
6469         * config/romp/romp.h: Likewise.
6470         * config/rs6000/rs6000.h: Likewise.
6471         * config/s390/s390.h: Likewise.
6472         * config/sh/sh.h: Likewise.
6473         * config/sparc/sparc.h: Likewise.
6474         * config/stormy16/stormy16.h: Likewise.
6475         * config/vax/vax.h: Likewise.
6476
6477 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6478
6479         * function.c (push_temp_slots_for_block): Remove.
6480         (push_temp_slots_for_target): Likewise.
6481         (get_target_temp_slot_level): Likewise.
6482         (set_target_temp_slot_level): Likewise.
6483         (get_first_block_beg): Likewise.
6484         * function.h: Remove corresponding prototypes.
6485
6486 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
6487
6488         * version.c (version_string): Now const char[].
6489         * version.h: Update to match.
6490
6491 2002-09-23  Richard Henderson  <rth@redhat.com>
6492
6493         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
6494         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
6495         (TARGET_SWITCHES): Don't reference them.
6496         * config/i386/i386.c (override_options): Use target_flags_explicit
6497         to examine bits set by the user.
6498
6499 2002-09-23  Dale Johannesen  <dalej@apple.com>
6500
6501         * dbxout.c (dbxout_parms):  Set current_sym_code for params
6502         passed on stack by invisible reference.
6503
6504 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
6505
6506         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
6507         at least one byte of space.
6508
6509 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6510
6511         * c-common.h (flag_abi_version): Fix typo in comment.
6512         * doc/invoke.texi (flag_abi_version): Document default value.
6513
6514 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
6515
6516         * doc/extend.texi (Extended Asm): Clarify that overlap between
6517         asm-declared register variables used in an asm and the asm clobber
6518         list is not allowed.
6519         * stmt.c (decl_conflicts_with_clobbers_p): New function.
6520         (expand_asm_operands): Keep track of clobbered registers.  Call
6521         decl_conflicts_with_clobbers_p for each input and output operand.
6522         If no conflicts found before, also do conflict sanity check when
6523         emitting clobbers.
6524
6525 2002-09-23  Richard Henderson  <rth@redhat.com>
6526
6527         * c-common.c (cpp_define_data_format): Remove.
6528         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
6529         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
6530         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
6531         * doc/cpp.texi: Don't document them either.
6532         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
6533         __LONG_LONG_MAX__): Document.
6534         (__TARGET_FLOAT_FORMAT__): Remove.
6535
6536 2002-09-23  Richard Henderson  <rth@redhat.com>
6537
6538         * real.c (do_multiply): Normalize U before addition.
6539
6540 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6541
6542         * c-common.c (flag_abi_version): New variable.
6543         * c-common.h (flag_abi_version): Declare it.
6544         * c-opts.c (missing_arg): Add -fabi-version.
6545         (c_common_decode_option): Process -fabi-version.
6546         * doc/invoke.texi (-fabi-version): Document it.
6547         (-Wabi): Add information about bit-fields in unions.
6548
6549 2002-09-22  Roger Sayle  <roger@eyesopen.com>
6550
6551         * expr.c (STORE_BY_PIECES_P): New target macro.
6552         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
6553         instead of MOVE_BY_PIECES_P.
6554         * doc/tm.texi: Document this new macro.
6555
6556 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6557
6558         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
6559         unless -fno-pic or -fno-PIC is specified.
6560
6561 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6562
6563         * c-common.c (preprocessing_trad_p): Define.
6564         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
6565         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
6566         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6567         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
6568         * pa-linux.h (CPP_PREDEFINES): Delete.
6569         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6570         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
6571         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
6572         (TARGET_OS_CPP_BUILTINS): Define.
6573         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
6574         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
6575         (SUBTARGET_SWITCHES): Provide default definition.
6576         (TARGET_OPTIONS): Reformat.  Use N_() macro.
6577         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
6578         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
6579         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
6580         (TARGET_CPU_CPP_BUILTINS): Define.
6581         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
6582         * doc/invoke.texi (msio, mwsio): Document new hppa options.
6583         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
6584         preprocessing_trad_p().
6585
6586 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6587
6588         * doc/install.texi: Document behavior of --with-headers and
6589         --with-libs when arguments are omitted.
6590
6591 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
6592
6593         * dbxout.c: Follow spelling conventions.
6594         * defaults.h: Likewise.
6595         * df.c: Likewise.
6596         * diagnostic.h: Likewise.
6597         * doloop.c: Likewise.
6598         * dwarf2out.c: Likewise.
6599         * dwarfout.c: Likewise.
6600         * emit-rtl.c: Likewise.
6601         * except.c: Likewise.
6602         * explow.c: Likewise.
6603         * expmed.c: Likewise.
6604         * expr.c: Likewise.
6605         * expr.h: Likewise.
6606         * flags.h: Likewise.
6607         * flow.c: Likewise.
6608         * fold-const.c: Likewise.
6609         * function.c: Likewise.
6610         * function.h: Likewise.
6611         * gcc.c: Likewise.
6612         * gcov-io.h: Likewise.
6613         * gcov.c: Likewise.
6614         * gcse.c: Likewise.
6615         * genattrtab.c: Likewise.
6616         * genconfig.c: Likewise.
6617         * genrecog.c: Likewise.
6618         * ggc-page.c: Likewise.
6619         * ggc.h: Likewise.
6620         * global.c: Likewise.
6621         * gthr-win32.h: Likewise.
6622         * integrate.c: Likewise.
6623         * jump.c: Likewise.
6624         * langhooks.c: Likewise.
6625         * langhooks.h: Likewise.
6626         * line-map.h: Likewise.
6627         * local-alloc.c: Likewise.
6628         * longlong.h: Likewise.
6629         * loop.c: Likewise.
6630         * loop.h: Likewise.
6631
6632 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6633
6634         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
6635
6636 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
6637
6638         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
6639         for -Os/TARGET_64BIT too.
6640
6641 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
6642
6643         * ChangeLog: Follow spelling conventions.
6644         * ChangeLog.0: Likewise.
6645         * ChangeLog.1: Likewise.
6646         * ChangeLog.2: Likewise.
6647         * ChangeLog.3: Likewise.
6648         * ChangeLog.4: Likewise.
6649         * ChangeLog.5: Likewise.
6650         * ChangeLog.6: Likewise.
6651         * FSFChangeLog.10: Likewise.
6652         * FSFChangeLog.11: Likewise.
6653         * alias.c: Likewise.
6654         * basic-block.h: Likewise.
6655         * c-aux-info.c: Likewise.
6656         * c-common.c: Likewise.
6657         * c-common.h: Likewise.
6658         * c-decl.c: Likewise.
6659         * c-format.c: Likewise.
6660         * c-semantics.c: Likewise.
6661         * c-typeck.c: Likewise.
6662         * calls.c: Likewise.
6663         * cfganal.c: Likewise.
6664         * cfgloop.c: Likewise.
6665         * collect2.c: Likewise.
6666         * combine.c: Likewise.
6667         * conflict.c: Likewise.
6668         * cppexp.c: Likewise.
6669         * cppfiles.c: Likewise.
6670         * cpphash.h: Likewise.
6671         * cppinit.c: Likewise.
6672         * cpplex.c: Likewise.
6673         * cpplib.c: Likewise.
6674         * cpplib.h: Likewise.
6675         * cppmacro.c: Likewise.
6676         * cse.c: Likewise.
6677
6678 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6679
6680         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
6681         LINK_SPEC.
6682         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
6683         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
6684         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
6685
6686 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6687
6688         PR opt/7930
6689         * cse.c (fold_rtx): Calculate old_cost before we fold each
6690         operand.
6691
6692 2002-09-21  Richard Henderson  <rth@redhat.com>
6693
6694         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
6695         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
6696         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
6697         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
6698         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
6699         * doc/cpp.texi: Don't document them.
6700
6701 2002-09-21  Richard Henderson  <rth@redhat.com>
6702
6703         * c-common.c (builtin_define_float_constants): Use real_format
6704         to get the floating-point parameters.
6705
6706 2002-09-21  Richard Henderson  <rth@redhat.com>
6707
6708         * real.c (struct real_format): Move to real.h.
6709         (real_format_for_mode): Rename from fmt_for_mode; update all users;
6710         initialize with ieee defaults.
6711         (real_to_target_fmt, real_from_target_fmt): New.
6712         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6713         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6714         ieee_quad_format, i370_single_format, i370_double_format,
6715         c4x_single_format, c4x_extended_format): Rename from s/_format//.
6716         (ieee_quad_format): Fix emin.
6717         (format_for_size, init_real_once): Remove.
6718         * real.h (struct real_format): Move from real.c.
6719         (real_format_for_mode): Declare.
6720         (real_to_target_fmt, real_from_target_fmt): Declare.
6721         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6722         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6723         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
6724         i370_single_format, i370_double_format, c4x_single_format,
6725         c4x_extended_format): Declare.
6726         * toplev.c (do_compile): Don't call init_real_once.
6727
6728         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6729         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6730
6731         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6732         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6733         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6734         for VAX, if enabled.
6735
6736         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6737         for C4X.
6738
6739         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6740         * config/i370/i370.c (override_options): New.
6741         * config/i370/i370-protos.h: Update.
6742
6743         * config/i386/i386.c (override_options): Set real_format_for_mode
6744         for Intel 80-bit extended.
6745         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6746
6747         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6748         (OVERRIDE_OPTIONS): Move code...
6749         * config/i960/i960.c (i960_initialize): ... here.  Set
6750         real_format_for_mode for Intel 80-bit extended.
6751
6752         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6753         for Intel 80-bit extended, if enabled.
6754
6755         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6756         for Motorola 96-bit extended.
6757
6758         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6759         * config/vax/vax.c (override_options): New.
6760         * config/vax/vax-protos.h: Update.
6761
6762 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6763
6764         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6765         #if TARGET_MACHO.
6766
6767         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6768         insns.  Supply missing clobber of scratch reg.
6769
6770 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6771
6772         * config/m32r/m32r.c: Follow spelling conventions.
6773         * config/m32r/m32r.h: Likewise.
6774         * config/m32r/m32r.md: Likewise.
6775         * config/m68k/m68k.c: Likewise.
6776         * config/m88k/m88k.c: Likewise.
6777         * config/mcore/mcore.c: Likewise.
6778         * config/mips/mips.c: Likewise.
6779         * config/mips/mips.h: Likewise.
6780         * config/mmix/mmix.c: Likewise.
6781         * config/mn10200/mn10200.c: Likewise.
6782         * config/ns32k/ns32k.h: Likewise.
6783         * config/pa/pa.c: Likewise.
6784         * config/pa/pa64-linux.h: Likewise.
6785         * config/pdp11/pdp11.h: Likewise.
6786         * config/romp/romp.c: Likewise.
6787         * config/romp/romp.h: Likewise.
6788         * config/rs6000/eabi.asm: Likewise.
6789         * config/rs6000/linux64.h: Likewise.
6790         * config/rs6000/rs6000.c: Likewise.
6791         * config/rs6000/rs6000.h: Likewise.
6792         * config/rs6000/rs6000.md: Likewise.
6793         * config/rs6000/sysv4.h: Likewise.
6794         * config/rs6000/xcoff.h: Likewise.
6795
6796 2002-09-20  Jim Wilson  <wilson@redhat.com>
6797
6798         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6799
6800 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6801
6802         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6803         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6804         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6805         (legitimate_address_p): Likewise.
6806         (legitimize_address): Use @gotntpoff and @indntpoff.
6807         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6808         (output_addr_const_extra): Likewise.
6809
6810 2002-09-20  Jim Wilson  <wilson@redhat.com>
6811
6812         * combine.c (try_combine): When split an instruction pair, where the
6813         first has a sign_extend src, verify that the src and dest modes match.
6814
6815 2002-09-20  Richard Henderson  <rth@redhat.com>
6816
6817         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6818         (override_options): Do not initialize them.
6819         (mips_const_double_ok): Allow no fp constants except zero,
6820         and not even that for mips16.
6821         (const_float_1_operand): Use dconst1.
6822         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6823         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6824         Don't allow arbitrary constants; fix predicates and C constraint.
6825
6826 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6827
6828         * cppmacro.c: Don't warn about function-like macros without
6829         '(' during pre-expansion.
6830
6831 2002-09-20  Jim Wilson  <wilson@redhat.com>
6832
6833         * config/v850/v850.c (current_function_anonymous_args): Delete.
6834         (expand_prologue): Use current_function_args_info.anonymous_args.
6835         (expand_epilogue): Delete use of current_function_anonymous_args.
6836         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6837         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6838         (current_function_anonymous_args): Delete extern declaration.
6839         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6840
6841 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6842
6843         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6844         to load_macho_picbase.
6845         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6846         (load_macho_picbase): Take the symbol to use as a parameter.
6847         (macho_correct_pic): New insn.
6848         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6849
6850         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6851         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6852         (CAN_ELIMINATE): Likewise.
6853         (INITIAL_ELIMINATION_OFFSET): Likewise.
6854         (TOC_REGISTER): Likewise.
6855
6856 2002-09-20  Richard Henderson  <rth@redhat.com>
6857
6858         * real.c (real_hash): New.
6859         * real.h: Declare it.
6860         * cse.c (canon_hash): Use it.
6861         * cselib.c (hash_rtx): Likewise.
6862         * emit-rtl.c (const_double_htab_hash): Likewise.
6863         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6864         * varasm.c (struct rtx_const): Reduce vector size; separate
6865         integer and fp vectors.
6866         (HASHBITS): Remove.
6867         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6868         take modulus MAX_HASH_TABLE.
6869         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6870         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6871         (SYMHASH): Don't use HASHBITS.
6872         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6873         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6874         (simplify_subtraction): Fix kind comparison.
6875         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6876         Use a union to pun integer array.
6877         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6878         only hash two words of integral CONST_DOUBLE.
6879
6880 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6881
6882         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6883         (STARTFILE_PREFIX_SPEC): New.
6884         (LINK_SPEC): Modify.
6885         (LIB_SPEC): Modify.
6886         (LIBGCC_SPEC): New.
6887
6888 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6889
6890         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6891         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6892
6893 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6894
6895         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6896         Add clobber of the condition code register.
6897
6898 2002-09-20  Richard Henderson  <rth@redhat.com>
6899
6900         * real.c (do_fix_trunc): Static.
6901         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6902         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6903         encode_i370_single, encode_i370_double, encode_c4x_single,
6904         encode_c4x_extended): Add default abort case.
6905
6906 2002-09-20  Richard Henderson  <rth@redhat.com>
6907
6908         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6909         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6910         (struct realvaluetype): Remove.
6911         (REAL_VALUE_TYPE): Use struct real_value.
6912         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6913         (test_real_width): New.
6914         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6915         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6916         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6917         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6918         real_to_integer, real_to_integer2, real_to_decimal,
6919         real_to_hexadecimal, real_from_string, real_from_integer,
6920         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6921         real_from_target): Likewise.
6922         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6923         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6924
6925 2002-09-20  Richard Henderson  <rth@redhat.com>
6926
6927         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6928         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6929         * defaults.h: ... here.
6930         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6931         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6932         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6933         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6934
6935 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6936
6937         * config/mmix/mmix.md ("negdf2"): Rewrite.
6938         ("*expanded_negdf2"): New.
6939
6940 2002-09-19  Jim Wilson  <wilson@redhat.com>
6941
6942         * combine.c (simplify_set): When optimizing a subreg src with a
6943         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6944
6945 2002-09-19  Dale Johannesen <dalej@apple.com>
6946         * combine.c (make_extraction): Don't create
6947         invalid subreg.
6948
6949 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6950
6951         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6952         * tree.h (integer_nonzerop): Add function prototype.
6953         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6954         are no instructions in the test, i.e. the loop is unconditional.
6955         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6956         tests when the condition is always true or always false.
6957         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6958         do-loops when the condition is always true.
6959         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6960         the for-expression is empty.
6961
6962 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6963
6964         * gcc.c (use_pipes): New flag.
6965         (process_command): Set it.  Adjust check for -pipe conflicting
6966         with -time or -save-temps.
6967         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6968         %<SWITCH.  Drop %| (without a SUFFIX).
6969         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6970         (give_switch): Third argument eliminated.
6971         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6972         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6973         (specs documentation comment): Update.
6974
6975         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6976         config/svr4.h, config/i386/freebsd-aout.h,
6977         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6978         config/m68k/openbsd.h, config/mips/openbsd.h,
6979         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6980         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6981         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6982         * config/cris/cris.h: Update comment.
6983
6984         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6985         error messages.  Don't use %{^SWITCH}.
6986         * ada/misc.c (gnat_decode_option): Handle -I with a
6987         separate argument.
6988
6989         * f/lang-specs.h: Use %| and %m.
6990         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6991         uses of %{<SWITCH} to %<SWITCH.
6992
6993         * doc/invoke.texi: Update documentation of specs.
6994         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6995
6996 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6997
6998         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6999         and STRICT_LOW_PART within SET_DEST.
7000         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
7001         splitters, replacing pre-reload splitters.
7002         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
7003         "*zero_extendqihi2_31"): New insns.
7004         ("*zero_extendqihi2_64"): Do not clobber CC.
7005
7006 2002-09-18  Devang Patel  <dpatel@apple.com>
7007
7008         * cp/cp-tree.h: New prototype for walk_vtables().
7009         * cp/decl.c (walk_vtables_r): New function.
7010         (struct cp_binding_level): Add new members, namespaces,
7011         names_size and vtables.
7012         (add_decl_to_level): Add decl in namespaces or vtables
7013         chain, if conditions match.
7014         (walk_vtables): New function.
7015         (walk_namespaces_r): Travers separate namespace chain
7016         for namespace decls.
7017         (wrapup_globals_for_namespace): Use names_size instead
7018         of list_length().
7019         * cp/decl2.c (finish_file): Use walk_vtables() instead of
7020         walk_globals() to walk vtable decls.
7021
7022 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
7023
7024         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
7025         (DTORS_SECTION_ASM_OP): Ditto.
7026         (READONLY_DATA_SECTION_ASM_OP): Moved.
7027         (DATA_SECTION_ASM_OP): New.
7028         (SDATA_SECTION_ASM_OP): New.
7029         (BSS_SECTION_ASM_OP): New.
7030         (SBSS_SECTION_ASM_OP): New.
7031         (TEXT_SECTION_ASM_OP): New.
7032
7033 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
7034
7035         * config/fp-bit.c: Follow spelling conventions.
7036         * config/d30v/d30v.c: Likewise.
7037         * config/d30v/d30v.h: Likewise.
7038         * config/fr30/fr30.c: Likewise.
7039         * config/fr30/fr30.h: Likewise.
7040         * config/fr30/fr30.md: Likewise.
7041         * config/frv/frv.c: Likewise.
7042         * config/frv/frv.h: Likewise.
7043         * config/h8300/h8300.c: Likewise.
7044         * config/h8300/lib1funcs.asm: Likewise.
7045         * config/i370/i370.c: Likewise.
7046         * config/i386/i386.h: Likewise.
7047         * config/i386/i386.md: Likewise.
7048         * config/i386/pentium.md: Likewise.
7049         * config/i386/winnt.c: Likewise.
7050         * config/i960/i960.c: Likewise.
7051         * config/ia64/ia64.h: Likewise.
7052         * config/ip2k/ip2k.c: Likewise.
7053         * config/ip2k/ip2k.h: Likewise.
7054         * config/ip2k/ip2k.md: Likewise.
7055         * config/ip2k/libgcc.S: Likewise.
7056
7057 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
7058
7059         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
7060         (GOTOFF_P): Extend to allow gotoff plus constant.
7061
7062 2002-09-18  Richard Henderson  <rth@redhat.com>
7063
7064         * ifcvt.c (noce_process_if_block): Correctly detect X modified
7065         with INSN_B before COND_EARLIEST.  Don't check A and B for
7066         modification in condition range.  Reorder INSN_B for A==B properly.
7067         (if_convert): Iterate until no matches for a block.
7068
7069 2002-09-18  Richard Henderson  <rth@redhat.com>
7070
7071         * calls.c (store_one_arg): Rename default_align to parm_align;
7072         always adjust parm_align for downward padding.
7073
7074 2002-09-18  Richard Henderson  <rth@redhat.com>
7075
7076         * toplev.c (backend_init): Move init_real_once invocation ...
7077         (do_compile): ... here.
7078
7079 2002-09-18  Richard Henderson  <rth@redhat.com>
7080
7081         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
7082         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
7083
7084 2002-09-18  Richard Henderson  <rth@redhat.com>
7085
7086         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
7087
7088 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
7089
7090         * config/rs6000/rs6000.md: (floatdisf2): Rename to
7091         floatdisf2_internal1.
7092         (floatdisf2): New define_expand.
7093         (floatdisf2_internal2): Likewise.
7094
7095 2002-09-18  Richard Henderson  <rth@redhat.com>
7096
7097         * real.c (sticky_rshift_significand): Collect sticky as
7098         unsigned long, not bool.
7099
7100 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
7101
7102         * config/s390/s390.c (s390_address_cost): New function.
7103         config/s390/s390-protos.h (s390_address_cost): Add prototype.
7104         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
7105         (RTX_COST): Use COSTS_N_INSNS.
7106
7107 2002-09-18  Douglas Rupp  <rupp@gnat.com>
7108             Donn Terry  <donnte@microsoft.com>
7109
7110         * stor-layout.c (place_field): Handle alignment of whole
7111         structures when MSVC compatible bitfields are involved.
7112         Change method of computing location of MS bitfields to
7113         be compatible with #pragma pack(n).
7114
7115         * tree.h (record_layout_info): Add new field
7116         remaining_in_alignment.
7117
7118         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
7119         (pragma pack): Add paragraph on MSVC bitfield packing.
7120
7121 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
7122
7123         PR optimization/7967
7124         * arm.md (ne_zeroextractsi): Add clobber of the condition code
7125         register.
7126
7127 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
7128
7129         * config/s390/s390.c: Follow spelling conventions.
7130         * config/sh/lib1funcs.asm: Likewise.
7131         * config/sh/sh.c: Likewise.
7132         * config/sh/sh.h: Likewise.
7133         * config/sparc/sparc.c: Likewise.
7134         * config/sparc/sparc.h: Likewise.
7135         * config/sparc/sparc.md: Likewise.
7136         * config/stormy16/stormy16.c: Likewise.
7137         * config/stormy16/stormy16.h: Likewise.
7138         * config/v850/v850.c: Likewise.
7139         * config/v850/v850.h: Likewise.
7140         * config/vax/vax.c: Likewise.
7141         * config/vax/vax.h: Likewise.
7142
7143 2002-09-18  Nick Clifton  <nickc@redhat.com>
7144
7145         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
7146         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
7147         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
7148
7149 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7150
7151         * function.c (max_parm_reg_num): Remove.
7152         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
7153         drop_through_at_end_p, move_cleanups_up,
7154         expand_end_case_dummy, case_index_expr_type): Likewise.
7155         * stor-layout.c (pos_from_byte): Likewise.
7156         * tree.c (chain_member_value, chain_member_purpose, listify,
7157         tree_int_cst_msb, index_type_equal): Likewise.
7158         * tree.h: Remove prototypes for unused functions.
7159
7160 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
7161
7162         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
7163         statement that the only translation is to en_UK.
7164
7165 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7166
7167         * config/alpha/alpha.c: Follow spelling conventions.
7168         * config/alpha/alpha.h: Likewise.
7169         * config/alpha/alpha.md: Likewise.
7170         * config/arc/arc.h: Likewise.
7171         * config/arm/arm.c: Likewise.
7172         * config/arm/arm.h: Likewise.
7173         * config/arm/arm.md: Likewise.
7174         * config/arm/pe.c: Likewise.
7175         * config/arm/unknown-elf.h: Likewise.
7176         * config/avr/avr.c: Likewise.
7177         * config/avr/avr.h: Likewise.
7178         * config/c4x/c4x.c: Likewise.
7179         * config/cris/cris.c: Likewise.
7180         * config/cris/cris.h: Likewise.
7181
7182 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
7183
7184         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
7185         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
7186         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
7187
7188 2002-09-17  Dale Johannesen  <dalej@apple.com>
7189
7190         * cfgcleanup.c (try_forward_edges):  Do not forward a
7191         branch to just after a loop exit before loop optimization;
7192         this interfered with doloop detection.
7193
7194 2002-09-17  Nick Clifton  <nickc@redhat.com>
7195
7196         * config/arm/arm.c (output_return_instruction): Do not
7197         writeback the stack pointer when it is being loaded.
7198         (arm_output_epilogue): Likewise.
7199
7200 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7201
7202         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
7203         generate a pseudo reg that receives the result of a libcall.
7204         (prepare_float_lib_cmp): Likewise.
7205
7206 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
7207
7208         * config/ia64/elf.h: Remove CPP_PREDEFINES.
7209
7210 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7211
7212         Fix PR/7014 and related objc bugs:
7213         * c-typeck.c (comp_target_types): Added a reflexive argument.
7214         Pass it to ObjC when/if calling objc_comptypes().  Updated all
7215         callers to provide the appropriate reflexive argument.
7216         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
7217         typechecking for all cases of comparisons and assignments,
7218         particularly the obscure and less common ones involving protocols.
7219
7220 2002-09-17  Nick Clifton  <nickc@redhat.com>
7221
7222         * machmode.def (V1DImode): New mode.  A single element vector.
7223         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
7224         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
7225         * tree.c (build_common_tree_nodes_2): Build
7226         unsigned_V1DI_type_node and V1D1_type_node.
7227         * c-common.c (c_common_type_for_mode): Return
7228         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
7229         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
7230
7231 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7232
7233         * doc/objc.texi (Constant string objects): Extended documentation
7234         to make clear that the constant string class ivar layout is
7235         completely fixed.
7236
7237 2002-09-17  Roger Sayle  <roger@eyesopen.com>
7238
7239         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
7240         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
7241
7242 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7243
7244         * config/mips/mips.c (save_restore_insns): Remove unused variable.
7245         * gcc.c (make_relative_prefix): Likewise.
7246         * loop.c (check_final_value): Likewise.
7247         * jump.c (init_label_info): Remove return value.
7248         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
7249
7250 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7251
7252         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
7253         (ASM_PN_FORMAT): Define.
7254
7255 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7256
7257         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
7258         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
7259         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
7260         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
7261         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
7262         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
7263         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
7264         Delete.
7265         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
7266         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
7267         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
7268
7269         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
7270         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
7271
7272 2002-09-16  Richard Henderson  <rth@redhat.com>
7273
7274         * expr.c (emit_block_move): Set memory block size as appropriate
7275         for the copy.
7276
7277 2002-09-16  Richard Henderson  <rth@redhat.com>
7278
7279         PR fortran/3924
7280         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
7281
7282 2002-09-16  Richard Henderson  <rth@redhat.com>
7283
7284         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
7285         as well as OFFSET for BITPOS.
7286
7287 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
7288
7289         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
7290         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
7291         winchip2 and c3.
7292         * doc/invoke.texi: Mention new aliases.
7293
7294 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7295
7296         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
7297         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
7298         downward.
7299         * function.c (pad_below):  Always compile.
7300         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
7301         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
7302         Pad below when the argument is not in a register and the padding
7303         direction is downward.
7304
7305         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
7306         (PAD_VARARGS_DOWN): Define.
7307         * pa.c (function_arg_padding): Revise padding directions to make them
7308         compatible with the 32 and 64-bit runtime architecture documentation.
7309         (hppa_va_arg):  Add code to handle variable and size zero arguments
7310         passed by reference on TARGET_64BIT.  Reformat.
7311         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
7312         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
7313         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
7314         Add comments.
7315         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
7316         (RETURN_IN_MEMORY): Return size zero types in memory.
7317         (FUNCTION_VALUE): Return TFmode in general registers.
7318         (MUST_PASS_IN_STACK): Define.
7319         (FUNCTION_ARG_BOUNDARY): Simplify.
7320         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
7321         by reference.
7322         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
7323
7324 2002-09-16  Richard Henderson  <rth@redhat.com>
7325
7326         * real.c (do_fix_trunc): New.
7327         (real_arithmetic): Call it.
7328         * simplify-rtx.c (simplify_unary_operation): Handle FIX
7329         with a floating-point result mode.
7330
7331 2002-09-16  Richard Henderson  <rth@redhat.com>
7332
7333         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
7334         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
7335         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
7336         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
7337         * builtins.c (fold_builtin_nan): New.
7338         (fold_builtin): Call it.
7339         * real.c (real_nan): Parse a non-empty string.
7340         (round_for_format): Fix NaN significand truncation.
7341         * real.h (real_nan): Return bool.
7342         * doc/extend.texi: Document new builtins.
7343
7344 2002-09-16  Jason Merrill  <jason@redhat.com>
7345             Danny Smith  <dannysmith@users.sourceforge.net>
7346
7347         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
7348         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
7349         (i386_pe_mark_dllimport): Not here.
7350
7351 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
7352
7353         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
7354
7355 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
7356
7357         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
7358         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
7359         < 64.
7360         (rs6000_emit_cmove): Use real_isinf not target_isinf.
7361
7362 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7363
7364         * calls.c (emit_library_call_value_1): Don't refer to
7365         hard_libcall_value.
7366         * optabs.c (prepare_float_lib_cmp): Likewise.
7367
7368 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
7369
7370         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
7371         mangling.
7372
7373         The following changes are merged from pch-branch:
7374
7375         * doc/gty.texi (GTY Options): Document %a.
7376         * gengtype.c (do_scalar_typedef): New function.
7377         (process_gc_options): Handle `length' option.
7378         (set_gc_used_type): A pointer to an array of structures doesn't
7379         qualify as a pointer to a structure.
7380         (output_escaped_param): Add `%a' escape.
7381         (write_gc_structure_fields): Allow 'desc' on array of unions.
7382         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
7383         do_scalar_typedef.
7384
7385         * gengtype.c (enum rtx_code): Make global.
7386         (rtx_format): Make global.
7387         (rtx_next): New.
7388         (gen_rtx_next): New.
7389         (write_rtx_next): New.
7390         (adjust_field_rtx_def): Skip fields marked by chain_next.
7391         (open_base_files): Delete redundant prototype.
7392         (write_enum_defn): New.
7393         (output_mangled_typename): Correct abort call.
7394         (write_gc_marker_routine_for_structure): Handle chain_next and
7395         chain_prev options.
7396         (finish_root_table): Don't output redundant \n.
7397         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
7398         * c-tree.h (union lang_tree_node): Add chain_next option.
7399
7400         * gengtype.h (NUM_PARAM): New definition.
7401         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
7402         * gengtype.c (find_param_structure): New.
7403         (adjust_field_type): Handle param<n>_is option.
7404         (process_gc_options): Detect use_params option.  Update callers.
7405         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
7406         'use_params' option.
7407         (open_base_files): Add splay-tree.h to list of files included.
7408         (output_mangled_typename): New.
7409         (write_gc_structure_fields): Update 'param' parameter to support
7410         multiple parameters.  Change name mangling.  Allow parameterized
7411         fields to have an apparent scalar type.  Handle param<n>_is options,
7412         use_param option.
7413         (write_gc_marker_routine_for_structure): Update for change to name
7414         mangling.  Better guess the output file for parameterized types.
7415         (write_gc_types): Update for change to name mangling.
7416         (write_gc_root): Update for change to name mangling.  Handle (ignore)
7417         param<n>_is options.
7418         * doc/gty.texi (GTY Options): Add description of param<n>_is
7419         options, use_params option.
7420         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
7421         * gengtype-lex.l: Produce token for param<n>_is.
7422         * gengtype-yacc.y: Parse param<n>_is.
7423
7424         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
7425
7426         * rtl.c: Update comment describing rtx_format.
7427         * rtl.h (union rtunion): Separate definition and typedef.
7428         (struct rtx_def): Use gengtype to mark.
7429         * Makefile.in (gengtype.o): Also depend on rtl.def.
7430         * ggc.h (ggc_mark_rtx_children): Delete prototype.
7431         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
7432         * ggc-common.c (ggc_mark_rtx_children): Delete.
7433         (ggc_mark_rtx_children_1): Delete.
7434         (gt_ggc_m_rtx_def): Delete.
7435         * gengtype.c (adjust_field_rtx_def): New.
7436         (adjust_field_type): Call adjust_field_rtx_def.
7437         (write_gc_structure_fields): Add 'default' case to switch if none
7438         is specified; remove unused code.
7439
7440         * tree.h (struct tree_exp): Update for change to meaning
7441         of special.
7442         * gengtype.c (adjust_field_tree_exp): New function.
7443         (adjust_field_type): Handle `tree_exp' special here.
7444         (write_gc_structure_fields): Don't handle `tree_exp' special here.
7445         Handle new `dot' option.
7446
7447         * gengtype.h: Make `info' a pointer-to-const.
7448         * gengtype-yacc.y (yacc_ids): Use xasprintf.
7449
7450         * gengtype.c (write_gc_structure_fields): Remove implementation
7451         of `always' option, add `default' option.
7452         * doc/gty.texi (GTY Options): Remove documentation of `always',
7453         add `default'.
7454
7455 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
7456
7457         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
7458
7459 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7460
7461         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
7462
7463         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
7464         instead of the *-protos.h file directly.
7465         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
7466         * darwin.c (machopic_output_stub): Move prototype ...
7467         * darwin-protos.h (machopic_output_stub): ... here.
7468         * rs6000-protos.h (machopic_output_stub): Don't declare.
7469
7470 2002-09-16  Richard Henderson  <rth@redhat.com>
7471
7472         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
7473
7474 2002-09-16  Richard Henderson  <rth@redhat.com>
7475
7476         * real.c, real.h: Rewrite from scratch.
7477
7478         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
7479         (paranoia): New target.
7480         * builtins.c (fold_builtin_inf): Use new real.h interface.
7481         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
7482         * c-lex.c (interpret_float): Likewise.
7483         * emit-rtl.c (gen_lowpart_common): Likewise.
7484         * optabs.c (expand_float): Use real_2expN.
7485         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
7486         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
7487         (FLOAT_WORDS_BIG_ENDIAN): New.
7488         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
7489         directly to REAL_VALUE_NEGATIVE.
7490         * loop.c (canonicalize_condition): Likewise.
7491         * simplify-rtx.c: Include tree.h.
7492         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
7493         with floating-point result modes.
7494         * toplev.c (backend_init): Call init_real_once.
7495
7496         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
7497         * tree.c (build_real): Likewise.
7498         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
7499         float_values, inited_float_values, check_float_value): Remove.
7500         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
7501         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
7502         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
7503         (VAX_HALFWORD_ORDER): Remove.
7504
7505 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
7506
7507         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
7508         (s390_load_address): ... this new function.
7509         (s390_decompose_address): Allow the argument pointer and all
7510         virtual registers as 'pointer' registers.
7511         (s390_expand_plus_operand): Use s390_load_address.
7512         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
7513         ("force_la_31"): New insn pattern.
7514         config/s390/s390-protos.h (legitimize_la_operand): Remove.
7515         (s390_load_address): Add prototype.
7516
7517         * config/s390/s390.c: Include "optabs.h".
7518         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
7519         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
7520         s390_expand_cmpstr): Add prototypes.
7521         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
7522         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
7523         for operands 0 and 1 to "memory_operand".  Add type attribute.
7524         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
7525         for operands 0 and 1 to "memory_operand".  Add type attribute.
7526         ("movstrdi_long", "movstrsi_long"): Remove.
7527         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
7528         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
7529         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
7530         ("clrstrsico"): Remove, replace by ...
7531         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
7532         ("clrstrsi_64"): Rename to "clrstr_long_64".
7533         ("clrstrsi_31"): Rename to "clrstr_long_31".
7534         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
7535         ("cmpstr_const"): Remove, replace by ...
7536         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
7537         ("cmpstr_64"): Rename to "cmpstr_long_64".
7538         ("cmpstr_31"): Rename to "cmpstr_long_31".
7539
7540 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7541
7542         * ABOUT-NLS: Follow spelling conventions.
7543         * ChangeLog: Likewise.
7544         * ChangeLog.1: Likewise.
7545         * ChangeLog.2: Likewise.
7546         * ChangeLog.3: Likewise.
7547         * ChangeLog.4: Likewise.
7548         * ChangeLog.5: Likewise.
7549         * ChangeLog.6: Likewise.
7550         * FSFChangeLog.10: Likewise.
7551         * FSFChangeLog.11: Likewise.
7552         * c-common.c: Likewise.
7553         * c-lex.c: Likewise.
7554         * c-objc-common.c: Likewise.
7555         * cppexp.c: Likewise.
7556         * cppinit.c: Likewise.
7557         * cpplex.c: Likewise.
7558         * doloop.c: Likewise.
7559         * flow.c: Likewise.
7560         * function.c: Likewise.
7561         * integrate.c: Likewise.
7562         * loop.c: Likewise.
7563         * reg-stack.c: Likewise.
7564         * reload.h: Likewise.
7565         * ssa.c: Likewise.
7566
7567 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7568
7569         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
7570         * vmsdbgout.c: Include "target.h".
7571
7572 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7573
7574         * ChangeLog: Follow spelling conventions.
7575         * ChangeLog.0: Likewise.
7576         * ChangeLog.1: Likewise.
7577         * ChangeLog.2: Likewise.
7578         * ChangeLog.4: Likewise.
7579         * ChangeLog.6: Likewise.
7580         * config.gcc: Likewise.
7581         * dwarfout.c: Likewise.
7582         * reload1.c: Likewise.
7583         * simplify-rtx.c: Likewise.
7584         * unwind-sjlj.c: Likewise.
7585         * config/avr/avr.h: Likewise.
7586         * config/d30v/d30v.h: Likewise.
7587         * config/frv/frv.c: Likewise.
7588         * config/frv/frv.h: Likewise.
7589         * config/ip2k/ip2k.h: Likewise.
7590         * config/m88k/m88k-move.sh: Likewise.
7591         * config/stormy16/stormy16.c: Likewise.
7592         * config/stormy16/stormy16.h: Likewise.
7593         * doc/extend.texi: Likewise.
7594         * doc/interface.texi: Likewise.
7595         * doc/invoke.texi: Likewise.
7596         * doc/md.texi: Likewise.
7597         * doc/rtl.texi: Likewise.
7598         * doc/tm.texi: Likewise.
7599         * doc/trouble.texi: Likewise.
7600         * ginclude/float.h: Likewise.
7601         * treelang/treelang.texi: Likewise.
7602
7603 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7604
7605         * i386-protos.h (i386_pe_dllexport_name_p,
7606         i386_pe_dllimport_name_p, i386_pe_unique_section,
7607         i386_pe_declare_function_type, i386_pe_record_external_function,
7608         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
7609         prototype.
7610         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
7611         * i386/t-interix (winnt.o): Likewise.
7612
7613         * v850-protos.h (v850_output_addr_const_extra): Prototype.
7614
7615 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7616
7617         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
7618         MIPS ABI CPP macros.
7619         (TARGET_CPU_CPP_BUILTINS): Redefine.
7620         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
7621         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
7622
7623 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7624
7625         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
7626
7627 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7628
7629         * ChangeLog: Follow spelling conventions.
7630         * ChangeLog.0: Likewise.
7631         * ChangeLog.1: Likewise.
7632         * ChangeLog.2: Likewise.
7633         * ChangeLog.3: Likewise.
7634         * ChangeLog.4: Likewise.
7635         * ChangeLog.5: Likewise.
7636         * ChangeLog.6: Likewise.
7637         * FSFChangeLog.10: Likewise.
7638         * FSFChangeLog.11: Likewise.
7639         * c-common.c: Likewise.
7640         * c-common.h: Likewise.
7641         * c-format.c: Likewise.
7642         * c-opts.c: Likewise.
7643         * cpplib.c: Likewise.
7644         * langhooks.h: Likewise.
7645         * real.c: Likewise.
7646         * reg-stack.c: Likewise.
7647         * toplev.c: Likewise.
7648         * config/arm/arm.c: Likewise.
7649         * config/arm/arm.md: Likewise.
7650         * config/arm/linux-gas.h: Likewise.
7651         * config/arm/netbsd.h: Likewise.
7652         * config/c4x/c4x.c: Likewise.
7653         * config/c4x/c4x.h: Likewise.
7654         * config/c4x/c4x.md: Likewise.
7655         * config/c4x/libgcc.S: Likewise.
7656         * config/fr30/fr30.md: Likewise.
7657         * config/frv/frv.md: Likewise.
7658         * config/ia64/ia64.md: Likewise.
7659         * config/mips/mips.h: Likewise.
7660         * config/mn10300/mn10300.c: Likewise.
7661         * config/stormy16/stormy16.c: Likewise.
7662         * config/v850/v850.md: Likewise.
7663         * doc/extend.texi: Likewise.
7664         * doc/invoke.texi: Likewise.
7665         * doc/md.texi: Likewise.
7666
7667 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7668
7669         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
7670         library if -pthread is specified.
7671
7672 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7673
7674         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
7675         for --enable-threads=yes and --enable-threads=posix.
7676
7677 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7678
7679         * config/sparc/cypress.md: Replace Sparc with SPARC.
7680         * config/sparc/freebsd.h: Likewise.
7681         * config/sparc/gmon-sol2.c: Likewise.
7682         * config/sparc/hypersparc.md: Likewise.
7683         * config/sparc/lb1spc.asm: Likewise.
7684         * config/sparc/lb1spl.asm: Likewise.
7685         * config/sparc/linux.h: Likewise.
7686         * config/sparc/linux64.h: Likewise.
7687         * config/sparc/lynx.h: Likewise.
7688         * config/sparc/sol2.h: Likewise.
7689         * config/sparc/sparc-modes.def: Likewise.
7690         * config/sparc/sparc.c: Likewise.
7691         * config/sparc/sparc.h: Likewise.
7692         * config/sparc/sparc.md: Likewise.
7693         * config/sparc/sparclet.md: Likewise.
7694         * config/sparc/supersparc.md: Likewise.
7695         * config/sparc/sysv4.h: Likewise.
7696         * config/sparc/vxsim.h: Likewise.
7697         * config/sparc/vxsparc64.h: Likewise.
7698
7699 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7700
7701         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
7702         * collect2.c (ignore_library, aix_std_libs): Move into the context
7703         where it is used.
7704         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
7705         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
7706         * m88k.c (output_call): Wrap variables with macro controlling use.
7707         * rs6000.md: Likewise.  Const-ify variable.
7708         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
7709         * final.c (only_leaf_regs_used): Likewise.
7710         * regrename.c (maybe_mode_change): Mark parameter with
7711         ATTRIBUTE_UNUSED.
7712         * reload.c (find_valid_class): Likewise.  Likewise for variable.
7713         (find_reloads_address_1): Likewise.
7714         * varasm.c (weak_finish): Wrap variable with macro controlling use.
7715
7716 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7717
7718         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
7719
7720 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7721
7722         * ChangeLog: Follow spelling conventions.
7723         * ChangeLog.0: Likewise.
7724         * ChangeLog.2: Likewise.
7725         * ChangeLog.3: Likewise.
7726         * ChangeLog.4: Likewise.
7727         * ChangeLog.5: Likewise.
7728         * ChangeLog.6: Likewise.
7729         * cppfiles.c: Likewise.
7730         * cppinit.c: Likewise.
7731         * cpplib.h: Likewise.
7732         * cse.c: Likewise.
7733         * debug.h: Likewise.
7734         * df.c: Likewise.
7735         * dominance.c: Likewise.
7736         * hashtable.c: Likewise.
7737         * hashtable.h: Likewise.
7738         * loop.c: Likewise.
7739         * config/arm/README-interworking: Likewise.
7740         * config/arm/arm.c: Likewise.
7741         * config/arm/arm.h: Likewise.
7742         * config/arm/arm.md: Likewise.
7743         * config/dsp16xx/dsp16xx.h: Likewise.
7744         * config/frv/frv.c: Likewise.
7745         * config/frv/frv.h: Likewise.
7746         * config/ip2k/ip2k.h: Likewise.
7747         * config/rs6000/rs6000.c: Likewise.
7748         * config/stormy16/stormy-abi: Likewise.
7749         * config/stormy16/stormy16.h: Likewise.
7750         * config/v850/v850.c: Likewise.
7751
7752 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7753
7754         * loop.c: Fix a comment typo.
7755
7756 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7757
7758         * config/fr30/fr30.h: Fix comment typos.
7759         * config/frv/frv.c: Likewise.
7760         * config/i386/xmmintrin.h: Likewise.
7761         * config/mips/mips.c: Likewise.
7762         * config/sh/sh.c: Likewise.
7763
7764 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7765
7766         * haifa-sched.c: Follow spelling conventions.
7767         * regclass.c: Likewise.
7768         * regrename.c: Likewise.
7769         * config/fp-bit.c: Likewise.
7770         * config/frv/frv.h: Likewise.
7771         * config/m88k/m88k.c: Likewise.
7772         * config/mcore/mcore.c: Likewise.
7773         * config/rs6000/darwin.h: Likewise.
7774         * config/rs6000/gnu.h: Likewise.
7775         * config/rs6000/linux.h: Likewise.
7776         * config/rs6000/linux64.h: Likewise.
7777         * config/rs6000/rs6000.c: Likewise.
7778         * config/rs6000/rs6000.h: Likewise.
7779         * config/sh/sh.c: Likewise.
7780         * config/sparc/sparc.c: Likewise.
7781         * config/sparc/ultra1_2.md: Likewise.
7782
7783 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7784
7785         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7786         memory operand when source is 0 (K constraint).
7787         ("movsi_internal"): Likewise.
7788         ("movdf_internal"): Likewise.
7789         ("movsf_internal"): Likewise.
7790
7791 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7792
7793         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7794         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7795         (rs6000_xcoff_encode_section_info): Likewise.
7796         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7797
7798 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7799
7800         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7801
7802 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7803
7804         * stmt.c (struct nexting): Remove unused alt_end_label field.
7805         (expand_start_loop): Delete initialization of alt_end_label.
7806         (expand_start_null_loop): Likewise.
7807         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7808
7809 2002-09-13  Richard Henderson  <rth@redhat.com>
7810
7811         * Makefile.in (toplev.o): Depend on real.h.
7812         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7813
7814 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7815
7816         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7817         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7818         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7819
7820 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7821
7822         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7823
7824 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7825
7826         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7827         ia64*-*-linux*): Set extra_parts.
7828         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7829         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7830
7831 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7832
7833         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7834         * config/h8300/h8300.c: Likewise.
7835         * config/h8300/h8300.h: Likewise.
7836         * config/h8300/h8300.md: Likewise.
7837         * doc/invoke.texi: Likewise.
7838
7839 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7840
7841         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7842
7843 2002-09-13  Richard Henderson  <rth@redhat.com>
7844
7845         * config/alpha/alpha.md (attr type): Add callpal.
7846         (imb, trap, load_tp, set_tp): Use it.
7847         * config/alpha/ev4.md (ev4_callpal): New.
7848         * config/alpha/ev5.md (ev5_callpal): New.
7849         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7850         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7851         (alphaev5_insn_pipe): Likewise.
7852
7853 2002-09-13  Andreas Jaeger  <aj@suse.de>
7854
7855         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7856
7857 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7858
7859         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7860         LIB2ADDEH): New, set to NULL.
7861         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7862
7863 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7864
7865         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7866         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7867         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7868         Add declarations.
7869         (_U_Qfneg): Remove.
7870
7871 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7872
7873         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7874         for H8/300, H8S aa:8 mode.
7875         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7876         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7877         for H8/300 aa:8 mode.
7878
7879 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7880
7881         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7882         insns.
7883
7884 2002-09-12  Richard Henderson  <rth@redhat.com>
7885
7886         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7887         (print-rtl.o): Don't define GENERATOR_FILE.
7888         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7889         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7890         unless GENERATOR_FILE.
7891
7892 2002-09-12  Stan Shebs  <shebs@apple.com>
7893
7894         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7895         * config/i386/darwin.h: ... instead of here.
7896
7897         * target.h (struct gcc_target): New field
7898         terminate_dw2_eh_frame_info.
7899         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7900         (TARGET_INITIALIZER): Add it.
7901         * dwarf2out.c (output_call_frame_info): Use target hook.
7902         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7903         ASM_OUTPUT_DWARF_DELTA if defined.
7904         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7905         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7906         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7907         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7908         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7909         (powerpc-*-darwin*): Ditto.
7910         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7911         to work correctly for Darwin.
7912         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7913         (STARTFILE_SPEC): Add crtbegin.o.
7914         (ENDFILE_SPEC): Define.
7915         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7916         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7917         (ASM_OUTPUT_DWARF_DELTA): Define.
7918         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7919         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7920
7921 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7922
7923         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7924         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7925         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7926
7927 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7928
7929         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7930         * defaults.h: ... here.
7931
7932 2002-09-12  Richard Henderson  <rth@redhat.com>
7933
7934         * vax.c: Include tree.h earlier.
7935
7936 2002-09-12  Stan Shebs  <shebs@apple.com>
7937
7938         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7939         (machopic_operand_p): Ditto.
7940
7941 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7942
7943         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7944         Fix a comment typo.
7945
7946 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7947
7948         * toplev.c (do_abort): Fix a comment typo.
7949
7950 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7951
7952         * cselib.c: Fix comment formatting.
7953         * gengtype.c: Likewise.
7954
7955 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7956
7957         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7958         (udivmodhi4): Likewise.
7959
7960 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7961             Roger Sayle  <roger@eyesopen.com>
7962
7963         * i386.c (any_fp_register_operand, fp_register_operand,
7964         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7965         New predicate functions.
7966         * i386-protos.h:  Add their prototypes.
7967         * i386.h: Add them to PREDICATE_CODES.
7968         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7969         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7970         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7971         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7972         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7973         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7974         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7975         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7976         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7977         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7978         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7979         Use these new predicates to simplify and correct the use of
7980         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7981
7982 2002-09-12  Jason Merrill  <jason@redhat.com>
7983
7984         * diagnostic.c (output_add_identifier): New fn.
7985         * diagnostic.h: Declare it.
7986
7987         * calls.c (store_one_arg): Use size_in_bytes to determine the
7988         amount of space to push.
7989
7990 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7991
7992         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7993
7994 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7995
7996         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7997         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7998         (s390_select_ccmode): Likewise.
7999         (s390_branch_condition_mask): Likewise.
8000         (optimization_options): Do not set flag_branch_on_count.
8001         (s390_split_branches): Handle doloop branches.
8002         (s390_chunkify_pool): Likewise.
8003         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
8004         ("doloop_end"): New expander.
8005         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
8006         associated splitters): New.
8007
8008 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8009
8010         * genattrtab.c (simplify_cond): Remove unused variable(s).
8011         * global.c (record_conflicts): Likewise.
8012         * jump.c (rebuild_jump_labels): Likewise.
8013         * loop.c (scan_loop, check_final_value): Likewise.
8014         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
8015         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
8016         * rtlanal.c (reg_set_p): Likewise.
8017         * stmt.c (expand_asm_operands, expand_decl): Likewise.
8018         * genautomata.c (empty_reserv): Remove.
8019         * loop.c (max_luid): Likewise.
8020         * sched-rgn.c (bitlst_table_size): Likewise.
8021
8022 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
8023
8024         Reimplement gcov format.
8025         * gcov-io.h: Replace.
8026         * gcov.c: Reimplement.
8027         * gcov-iov.c: New file.
8028         * gcov-dump.c: New file.
8029         * libgcc2.c (L_bb): Replace with ...
8030         (L_gcov): ... this.
8031         (struct bb_function_info, struct bb): Remove.
8032         (inhibit_libc): Never inhibit.
8033         (gcov_list, gcov_crc): New static variables.
8034         (gcov_version_mismatch): New static function.
8035         (__bb_exit_func): Renamed to ...
8036         (__gcov_exit): ... here. Made static. Reimplement.
8037         (__gcov_init_func): Rename to ...
8038         (__gcov_init): ... here. Check version, update crc.
8039         (__bb_fork_func): Rename to ...
8040         (__gcov_flush): ... here.
8041         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
8042         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
8043         * calls.c (expand_call): Call __gcov_flush.
8044         * profile.c (bb_file, last_bb_file_name): Remove.
8045         (bbg_file_name): New global variable.
8046         (output_gcov_string): Remove.
8047         (get_exec_counts): Reimplement.
8048         (branch_prob): Reimplement gcov file writing.
8049         (init_branch_prob): Create bbg_file_name, don't create
8050         bb_file_name.
8051         (end_branch_prob): Adjust. Don't remove counter file when
8052         instrumenting ourselves.
8053         (create_profiler): Adjust.
8054         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
8055         point to gcov-io.h.
8056         * Makefile.in (LANGUAGES): Add gcov-dump.
8057         (coverageexts): Remove .bb.
8058         (STAGESTUFF): Add gcov-dump.
8059         (LIB2FUNCS_ST): Replace _bb with _gcov.
8060         (profile.o): Depend on gcov-iov.h.
8061         (final.o): Don't depend on profile.h, gcov.h.
8062         (gcov.o): Depend on gcov-iov.h.
8063         (gcov-iov.o): New target.
8064         (gcov-iov): New target.
8065         (gcov-iov.h): New target.
8066         (gcov-dump.o): New target.
8067         (GCOV_DUMP_OBJS): New variable.
8068         (gcov-dump): New target.
8069         (distclean): Remove coverageexts.
8070         (stage1): Remove coverageexts.
8071
8072 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
8073
8074         * fold-const.c (make_range): Only narrow to signed range if
8075         the signed range is smaller than the unsigned range.
8076
8077 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
8078
8079         * emit-rtl.c (set_mem_size): New function.
8080         * expr.h (set_mem_size): Declare.
8081         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
8082         (expand_block_move): Instead, use adjust_address and
8083         replace_equiv_address to generate proper aliasing info.
8084         Move common code out of conditionals.  Localize vars.
8085
8086 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
8087
8088         * optabs.c (expand_binop): Minor cleanup.
8089         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
8090
8091 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
8092
8093         * print-tree.c (print_node): Print the restrict qualifier.
8094
8095 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
8096
8097         * doc/install.texi: Fix typos.
8098
8099 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
8100
8101         * Makefile.in: Remove all references to s-under and underscore.c.
8102         * collect2.c, tlink.c: Change all uses of prepends_underscore
8103         to look directly at USER_LABEL_PREFIX.
8104
8105 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
8106
8107         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
8108         alignment to csect.
8109         (rs6000_xcoff_unique_section): Only set section name for public
8110         data.
8111         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
8112         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
8113         duplicate definition.
8114
8115 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8116
8117         * pa.md (extzv): Check predicates before emitting extzv_32.
8118         (insv): Likewise.
8119
8120 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
8121
8122         * config/s390/s390.h (MOVE_MAX): Define to correct value.
8123         (MAX_MOVE_MAX): Define.
8124         (MOVE_BY_PIECES_P): Define.
8125         (CLEAR_BY_PIECES_P): Define.
8126
8127 2002-09-10  Denis Chertykov  <denisc@overta.ru>
8128
8129         * config/avr/avr.md (movstrhi): Use right operands for conversion.
8130
8131 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
8132
8133         PR c/7873
8134         * arm.md (insv): Use reg_or_int_operand for operand[3].
8135
8136 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
8137
8138         * rs6000.c (rs6000_assemble_visibility): Protect declaration
8139         inside macro.  Correct function definition typo.
8140         (rs6000_xcoff_section_type_flags): New function.
8141         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
8142         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
8143         with appropriate PIC test.
8144         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
8145         determine readonly.
8146         (rs6000_binds_local_p): Combine PIC flags.
8147         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
8148         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
8149
8150 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8151
8152         * h8300.md: Fix signed/unsigned warnings.
8153         * mcore.md: Likewise.
8154         * mn10300.c (mask_ok_for_mem_btst): Likewise.
8155
8156 2002-09-09  Per Bothner  <per@bothner.com>
8157
8158         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
8159         characters, and only print TREE_STRING_LENGTH chars.
8160
8161 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
8162
8163         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
8164         (ASM_FILE_END) New.
8165         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
8166         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
8167         * config/ia64/ia64.c (ia64_asm_output_external): Create list
8168         of external functions if TARGET_HPUX_LD is true.
8169         (ia64_hpux_add_extern_decl): New, routine to put names on
8170         list of external functions.
8171         (ia64_hpux_asm_file_end): Put out declarations for external
8172         functions if and only if they are used.
8173
8174 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8175
8176         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
8177         on TARGET_64BIT before pic register restore.
8178
8179 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
8180
8181         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
8182         (TARGET_HAVE_TLS): New description.
8183
8184 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
8185
8186         * doc/extend.texi (Statement Exprs): Fix broken link.
8187
8188 2002-09-09  Denis Chertykov  <denisc@overta.ru>
8189
8190         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
8191         right conversion of operands[1].
8192
8193 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
8194
8195         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
8196         commutative.  Use "nonimmediate_operand" instead of "register_operand"
8197         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
8198
8199         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
8200         as commutative.
8201
8202         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
8203         mark as commutative.  Use "nonimmediate_operand" instead of
8204         "register_operand" as predicate for operand 1.
8205
8206         ("movstrictsi"): Fix typo in insn name.
8207
8208 2002-09-09  Jan Hubicka  <jh@suse.cz>
8209
8210         * i386.c (index_register_operand): New.
8211         * i386.h (predicate_codes): Add new predicate.
8212         * i386.md (lea_general_*): Use index_register_operand
8213         (ashift to lea splitter): Do not produce invalid leas
8214         (ashift to mov+ashift split): New.
8215
8216 2002-09-09  Nick Clifton  <nickc@redhat.com>
8217
8218         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
8219         Fix folding marks.
8220
8221 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
8222             J"orn Rennecke <joern.rennecke@superh.com>
8223
8224         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
8225
8226 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
8227
8228         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
8229         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
8230         attributes.
8231
8232 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
8233
8234         * basic_block.h (gcov_type): Explain why it is signed.
8235         * final.c: Don't include profile.h.
8236         (struct function_list, functions_head, functions_tail,
8237         end_final): Moved to profile.c
8238         (final): Move arc chaining code to profile.c.
8239         * function.c (prepare_function_start): Remove duplicate line.
8240         * output.h (end_final): Remove prototype.
8241         * predict.c (estimate_loops_at_level): Use gcov_type.
8242         * profile.c (struct function_list, functions_head,
8243         functions_tail): Moved from final.c
8244         (need_func_profiler): Remove.
8245         (instrument_edges): Don't set need_func_profiler.
8246         (get_exec_counts): Avoid signed/unsigned warning.
8247         (compute_checksum): Use crc32.
8248         (branch_prob): Adjust. Chain onto functions_head.
8249         (init_branch_prob): Absorb init_edge_profiler.
8250         (init_edge_profiler): Remove.
8251         (create_profiler): Moved and renamed from final.c:end_final.
8252         Emit data and constructor.
8253         (output_func_start_profiler): Remove.
8254         * profile.h (struct profile_info): checksum is unsigned.
8255         * rtl.h (output_func_start_profiler): Remove prototype.
8256         (create_profiler): Declare.
8257         * toplev.c (compile_file): Call create_profiler, if instrumenting
8258         arcs. Don't call end_final.
8259
8260 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8261
8262         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
8263
8264 2002-09-08  Richard Henderson  <rth@redhat.com>
8265
8266         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
8267         (DW_OP_GNU_push_tls_address): New.
8268         (DW_OP_lo_user): Fix.
8269         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
8270         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
8271         (size_of_loc_descr): Likewise.
8272         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
8273         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
8274         (loc_descriptor_from_tree): Handle TLS variables.
8275         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
8276         (add_location_or_const_value_attribute): ... not here.  Defer
8277         to loc_descriptor_from_tree for TLS variables.
8278
8279         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
8280         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
8281         * config/i386/i386-protos.h: Update.
8282
8283 2002-09-08  Roger Sayle  <roger@eyesopen.com>
8284
8285         PR optimization/6405
8286         * unroll.c (loop_iterations): last_loop_insn should be the previous
8287         non-note instruction before loop->end.
8288         * loop.c (strength_reduce): The conditional jump is the last
8289         non-note instruction before loop->end (as above).
8290
8291 2002-09-08  Roger Sayle  <roger@eyesopen.com>
8292
8293         * combine.c (try_combine): Handle the case that undobuf.other_insn
8294         has been turned into a return or unconditional jump, by inserting
8295         a BARRIER if necessary.
8296         (simplify_set):  Test if a condition code setter has a constant
8297         comparison at compile time, if so convert this insn to a no-op move
8298         and update/simplify the condition code user (undobuf.other_insn).
8299
8300 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
8301
8302         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
8303         (CLEAR_INSN_CACHE): Define.
8304
8305 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8306
8307         * basic-block.h: Fix comment formatting.
8308         * c-common.c: Likewise.
8309         * c-common.h: Likewise.
8310         * c-lex.c: Likewise.
8311         * c-pretty-print.c: Likewise.
8312         * cfglayout.c: Likewise.
8313         * cfgloop.c: Likewise.
8314         * defaults.h: Likewise.
8315         * et-forest.c: Likewise.
8316         * explow.c: Likewise.
8317         * function.h: Likewise.
8318         * gcov.c: Likewise.
8319         * genattrtab.c: Likewise.
8320         * gengtype.c: Likewise.
8321         * ifcvt.c: Likewise.
8322         * libgcc2.c: Likewise.
8323         * loop.c: Likewise.
8324         * profile.c: Likewise.
8325         * ra-build.c: Likewise.
8326         * real.c: Likewise.
8327         * rtl.h: Likewise.
8328         * tracer.c: Likewise.
8329         * tree-inline.c: Likewise.
8330         * varasm.c: Likewise.
8331
8332 2002-09-08  Jan Hubicka  <jh@suse.cz>
8333
8334         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
8335         handling.
8336
8337         * loop.c (loop_givs_reduce):  Emit addition after.
8338
8339 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8340
8341         * varasm.c (default_assemble_visibility): Rename from
8342         assemble_visibility.
8343         * output.h: Here too.
8344         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
8345         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
8346
8347 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8348
8349         * reload.c (find_reloads <p constraint>): Pass operand_mode to
8350         find_reloads_address.
8351
8352 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8353
8354         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
8355         (anonymous pattern): Likewise.
8356
8357 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8358
8359         * machmode.def: Add modes for half-float vectors.
8360
8361 2002-09-07  Scott Snyder  <snyder@fnal.gov>
8362
8363         PR target/7374
8364         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
8365
8366 2002-09-07  Roger Sayle  <roger@eyesopen.com>
8367
8368         * basic-block.h (struct loop): Remove unused cont_dominator field.
8369
8370 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8371
8372         * varasm.c (decode_rtx_const): Don't check undefined field for
8373         CONST_VECTOR.
8374
8375 2002-09-07  Glen Nakamura  <glen@imodulo.com>
8376
8377         PR opt/7814
8378         * sched-deps.c (sched_analyze_insn): Make sure to add insn
8379         to reg_last->sets after flushing the dependency lists to guarantee
8380         that subsequent clobbers will be dependent on it.
8381
8382 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8383
8384         * combine.c (simplify_shift_const): Calculate rotate count
8385         correctly for vector operands.
8386
8387 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
8388
8389         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
8390         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
8391         tree_expr_nonnegative_p.
8392         (build_conditional_expr): Likewise.
8393         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
8394
8395 2002-09-07  Richard Henderson  <rth@redhat.com>
8396
8397         * builtins.def (inf, inff, infl): Mark const.
8398         (huge_val, huge_valf, huge_vall): Likewise.
8399         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
8400
8401         * real.c (ereal_inf): Clear E before use.
8402
8403 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8404
8405         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
8406         an expander and an anonymous pattern.  Zero out the upper half
8407         of the dividend in the expander.
8408         (udivmodqi4): Likewise.
8409
8410 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8411
8412         * config/h8300/h8300.c: Fix formatting.
8413         * config/h8300/h8300.h: Likewise.
8414         * config/h8300/h8300.md: Likewise.
8415
8416 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8417
8418         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
8419         information.
8420
8421 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
8422
8423        * rtlanal.c (dead_or_set_regno_p): Fix typo.
8424
8425 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
8426
8427         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8428
8429         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
8430         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8431         (TARGET_ASM_OUT): Add the above here.
8432         * target.h (struct gcc_target): Add "visibility" field.
8433         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
8434         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
8435         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8436         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
8437
8438 2002-09-06  Ziemowit Laski <zlaski@apple.com>
8439
8440         * c-lang.c (objc_is_id): New stub.
8441         * c-tree.h (objc_is_id): New forward declaration.
8442         * c-typeck.c (build_c_cast): Do not strip protocol
8443         qualifiers from 'id' type.
8444         * objc/objc-act.c (objc_comptypes): Correct handling
8445         of protocol qualifiers.
8446         (objc_is_id): New.
8447
8448 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
8449
8450         * pentium.md (pentium-firstvboth): Fix typo.
8451
8452 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
8453
8454         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
8455         (enum shift_type, enum h8_cpu): Likewise.
8456         (INL, ROT, LOP, SPC macros): Likewise.
8457         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
8458         const designator.
8459         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
8460         space efficient algorithms when optimize for codesize.
8461
8462 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8463
8464         Fix PR/1727 and long-standing failing testcase
8465         objc/formal-protocol-6.m.
8466         * objc-act.c (build_protocol_expr): If compiling for the GNU
8467         runtime, create a list of Protocol statically allocated instances
8468         if it doesn't exist, then add the Protocol object to this same
8469         list.
8470         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
8471         instead of TREE_CHAIN.
8472
8473 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8474
8475         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
8476         10k.  Fixed category dumping - print out category names with the
8477         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
8478         interface.
8479         (finish_objc): Fixed the -gen-decls option.  It was printing out
8480         only the last class.  Dump an interface declaration of all classes
8481         being compiled instead.
8482
8483 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
8484
8485         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
8486         prototype.
8487         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
8488         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
8489         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
8490         rather than GEN_INT.
8491         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
8492         (return_addr_mask, *check_arch2): New.
8493
8494 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
8495
8496         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
8497         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
8498         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
8499         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
8500         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
8501         "adddf3", "*adddf3", "*adddf3_ibm",
8502         "addsf3", "*addsf3", "*addsf3_ibm",
8503         "muldi3", "mulsi3", "mulsidi3",
8504         "muldf3", "*muldf3", "*muldf3_ibm",
8505         "mulsf3", "*mulsf3", "*mulsf3_ibm",
8506         "*anddi3_cc", "*anddi3_cconly", "anddi3",
8507         "*andsi3_cc", "*andsi3_cconly", "andsi3",
8508         "*iordi3_cc", "*iordi3_cconly", "iordi3",
8509         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
8510         "*xordi3_cc", "*xordi3_cconly", "xordi3",
8511         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
8512         instead of "register_operand" as predicate for "%0" operand.
8513
8514 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
8515
8516         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
8517         unconditionally when gcc_cv_as_flags64 checks are gone.
8518         * configure: Rebuilt.
8519
8520 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
8521
8522         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
8523         2002-07-26 change.  Comment.
8524
8525 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8526
8527         * frv.c (frv_unique_section, frv_select_section,
8528         frv_select_rtx_section): Delete.
8529         (frv_in_small_data_p): New.
8530         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
8531         TARGET_ASM_SELECT_RTX_SECTION): Delete.
8532         (TARGET_IN_SMALL_DATA_P): Define.
8533
8534 2002-09-05  Dale Johannesen  <dalej@apple.com>
8535
8536         * reload1.c (reload):  Retain only those memory clobbers
8537         added for variable-array handling.
8538
8539 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8540
8541         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
8542         return-in-memory rules.
8543         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
8544
8545 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8546
8547         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
8548         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
8549
8550 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8551
8552         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
8553         not a compile-time constant for the non-IBM case.
8554         * config/arm/arm-protos.h (arm_float_words_big_endian): New
8555         prototype.
8556         * config/arm/arm.c (arm_float_words_big_endian): New function.
8557         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
8558         if TARGET_VFP  and not TARGET_HARD_FLOAT.
8559         (ARM_FLAG_VFP, TARGET_VFP): Define.
8560         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
8561
8562 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8563
8564         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
8565         URLs.  Fix AIX wording.
8566
8567 2002-09-05  Stan Shebs  <shebs@apple.com>
8568
8569         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
8570         -fPIC equivalent on Darwin.
8571
8572 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8573
8574         * sh.c (sh_expand_builtin): Return early if encountering an
8575         error_mark for a type.
8576
8577 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
8578
8579         * config/s390/s390.c (s390_expand_plus_operand): Do not require
8580         double-word scratch register.
8581         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
8582
8583         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
8584         "*cli"): Replace s_operand by memory_operand.
8585         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
8586
8587 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8588
8589         * config/h8300/h8300.c (asm_file_start): Add a missing
8590         semicolon.
8591
8592 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8593
8594         * c-typeck.c (build_function_call): Remove unused variable(s).
8595         (build_c_cast): Likewise.
8596         * calls.c (rtx_for_function_call): Likewise.
8597         * cfglayout.c (duplicate_insn_chain): Likewise.
8598         * cfgloop.c (flow_loop_nodes_find): Likewise.
8599         * cfgrtl.c (split_edge): Likewise.
8600         * df.c (df_ref_create): Likewise.
8601         * except.c (expand_end_catch): Likewise.
8602         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
8603         * function.c (emit_return_into_block): Likewise.
8604         (reposition_prologue_and_epilogue_notes): Likewise.
8605         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
8606         * combine.c (subst_prev_insn, need_refresh): Remove.
8607         * dwarf2out.c (primary_filename): Remove.
8608         * final.c (new_block): Remove.
8609         * gcse.c (orig_bb_count): Remove.
8610
8611 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8612
8613         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
8614         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
8615         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
8616         directly instead of using a function pointer.
8617
8618 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
8619
8620         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
8621         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
8622         (ix86_output_addr_diff_elt) Likewise.
8623         (x86_output_mi_thunk) Likewise.
8624         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
8625
8626 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8627
8628         * frv.c (frv_encode_section_info): Fix error in last change.
8629
8630 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8631
8632         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
8633         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
8634         (TARGET_BINDS_LOCAL_P): Define.
8635         (rs6000_override_options): Save original flag_pic value.
8636         (rs6000_elf_select_section): Call default_elf_select_section_1.
8637         (rs6000_elf_unique_section): Call default_unique_section_1.
8638         (rs6000_elf_in_small_data_p): New function.
8639         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
8640         (rs6000_xcoff_select_section): Update based on defaults.
8641         (rs6000_xcoff_unique_section): Set to basic name if not common.
8642         (rs6000_binds_local_p): New function.
8643         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8644         targetm.have_srodata_section if SDATA_EABI.
8645         (TARGET_IN_SMALL_DATA_P): Define.
8646
8647 2002-09-04  Dale Johannesen  <dalej@apple.com>
8648
8649         * varasm.c (struct rtx_const, decode_rtx_const):
8650         Make veclo and vechi fields not share storage.
8651
8652 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8653
8654         * loop.c (scan_loop): Don't mark separate insns out of a libcall
8655         for moving.
8656         (move_movables): Abort if we see the first insn of a libcall.
8657
8658 2002-09-04  Richard Henderson  <rth@redhat.com>
8659
8660         * builtin-types.def (BT_FN_FLOAT): New.
8661         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
8662         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
8663         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
8664         * builtins.c (fold_builtin_inf): New.
8665         (fold_builtin): Call it.
8666         * real.c (ereal_inf): New.
8667         * real.h: Declare it.
8668         * doc/extend.texi: Document new builtins.
8669
8670 2002-09-04  Richard Henderson  <rth@redhat.com>
8671
8672         * cse.c (cse_insn): Avoid subreg games if the equivalence
8673         is already in the proper mode.
8674
8675 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
8676
8677         PR c/7102
8678         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
8679
8680 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8681
8682         * pa.md (setccfp0, setccfp1): New patterns.
8683
8684 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8685
8686         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
8687         frv_select_section, frv_select_rtx_section,
8688         frv_encode_section_info, frv_unique_section): Delete.
8689         * frv.c: Update for target hooks.
8690         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
8691         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
8692         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
8693
8694 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8695
8696         * ip2k-protos.h (function_prologue, function_epilogue,
8697         encode_section_info): Update to match target hook specification.
8698         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
8699         (function_prologue, function_epilogue, encode_section_info):
8700         Update to match target hook specification.
8701         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
8702         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
8703         (NOTICE_UPDATE_CC): Cast to void.
8704         * ip2k.md: Add defaults in switch statements.
8705
8706 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8707
8708         * doc/trouble.texi (Interoperation): Update information about C++ ABI
8709         issues.
8710
8711 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
8712
8713         * config/sparc/t-netbsd64: Disable multilib for now.
8714
8715 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8716
8717         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
8718         * target.h (gcc_target): Add have_srodata_section member.
8719         * varasm.c (section_category): Add SECCAT_SRODATA.
8720         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
8721         READONLY_SDATA_SECTION defined.
8722         (decl_readonly_section_1): True for SECCAT_SRODATA also.
8723         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
8724         (default_unique_section_1): Likewise.
8725
8726 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8727
8728         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8729         into DImode pieces.
8730
8731         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8732         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8733         for floating-point register class.
8734         * pa.c (function_arg): Fix handling of modes wider than one word for
8735         TARGET_64BIT.
8736
8737 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8738
8739         * combine.c (make_compound_operation): Don't generate zero / sign
8740         extensions in floating point modes.
8741
8742 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8743
8744         * doc/c-tree.texi: Fix overfull hboxes.
8745         * doc/cppopts.texi: Ditto.
8746         * doc/extend.texi: Ditto.
8747         * doc/gty.texi: Ditto.
8748         * doc/invoke.texi: Ditto.
8749         * doc/makefile.texi: Ditto.
8750         * doc/rtl.texi: Ditto.
8751         * doc/standards.texi: Ditto.
8752         * doc/tm.texi: Ditto.
8753
8754 2002-09-04  Richard Henderson  <rth@redhat.com>
8755
8756         * c-common.c (builtin_define_with_hex_fp_value): New.
8757         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8758
8759 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8760
8761         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8762         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8763         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8764         Warn that these options can break ABI compatibility.
8765
8766 2002-09-04  Richard Henderson  <rth@redhat.com>
8767
8768         * real.c (ereal_to_decimal): Add digits parameter.
8769         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8770         * c-pretty-print.c (pp_c_real_literal): Update call.
8771         * print-rtl.c (print_rtx): Likewise.
8772         * print-tree.c (print_node_brief, print_node): Likewise.
8773         * sched-vis.c (print_value): Likewise.
8774         * config/arc/arc.c (arc_print_operand): Likewise.
8775         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8776         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8777         * config/i386/i386.c (print_operand): Likewise.
8778         * config/i960/i960.c (i960_print_operand): Likewise.
8779         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8780         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8781         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8782         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8783         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8784         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8785         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8786         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8787         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8788         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8789         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8790         * config/mips/mips.c (print_operand): Likewise.
8791         * config/ns32k/ns32k.c (print_operand): Likewise.
8792         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8793         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8794         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8795
8796 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8797
8798         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8799         xtensa_multibss_section_type_flags.
8800         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8801
8802 2002-09-04  Richard Henderson  <rth@redhat.com>
8803
8804         * doc/install-old.texi: Don't mention enquire.
8805         * doc/sourcebuild.texi: Update float.h description.
8806
8807 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8808
8809         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8810
8811 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8812
8813         * builtins.c (build_function_call_expr): Remove prototype, export
8814         as non-static and add a comment above function definition.
8815         (builtin_mathfn_code): New function to check for math builtins.
8816         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8817         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8818         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8819         log(sqrt(x)) as log(x)/2.0.
8820
8821         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8822         in new "builtins.c" section.  Place the build_range_type prototype
8823         with the other prototypes from "tree.c".
8824
8825         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8826         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8827         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8828         x/exp(y) as x*exp(-y).
8829
8830 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8831
8832         * varasm.c (default_section_type_flags): Append _1 to name with
8833         shlib parameter.  Use original name to call new function with
8834         implicit flag_pic.
8835         (decl_readonly_section): Likewise.
8836         (default_elf_select_section): Likewise.
8837         (default_unique_section): Likewise.
8838         (default_bind_local_p): Likewise.
8839         (categorize_decl_for_section): Add shlib parameter to use in place
8840         of implicit flag_pic.
8841         * output.h: Declare new functions with _1 and shlib argument.
8842
8843 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8844
8845         * doc/install.texi: Fix typos, formatting problems, and obvious
8846         overfull/underfull boxes.
8847
8848         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8849         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8850         include its file, compat.texi.
8851         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8852
8853 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8854
8855         Debian BTS Bug #157416
8856         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8857         * cpplib.c (destringize_and_run): Kludge around getting
8858         tokens from in-progress macros.
8859         (_cpp_do__Pragma): Simplify.
8860
8861 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8862
8863         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8864         (CPP_CPU_SPEC): Remove.
8865         (TARGET_CPU_CPP_BUILTINS): New.
8866         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8867         (CPP_SPEC): Remove.
8868         (TARGET_OS_CPP_BUILTINS): New.
8869         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8870         (TARGET_OS_CPP_BUILTINS): New.
8871         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8872         TARGET_OS_CPP_BUILTINS.
8873         (CPP_PREDEFINES): Remove.
8874         (CPLUSPLUS_CPP_SPEC): Remove.
8875         (TARGET_OS_CPP_BUILTINS): New.
8876
8877 2002-09-03  Richard Henderson  <rth@redhat.com>
8878
8879         * Makefile.in (USER_H): Add ginclude/float.h.
8880         (FLOAT_H): Remove.
8881         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8882         (mostlyclean): Don't remove float.h intermediate files.
8883         (distclean): Don't remove float.h.
8884         * config.gcc: Remove all float_format references.
8885         * configure.in (float_format, float_h_file): Remove.
8886
8887         * c-common.c: Include tree-inline.h.
8888         (builtin_define_with_int_value): New.
8889         (builtin_define_type_precision): Use it.
8890         (builtin_define_float_constants): New.
8891         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8892         __FLT_EVAL_METHOD__.
8893         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8894         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8895         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8896         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8897         (TARGET_FLT_EVAL_METHOD): New.
8898
8899         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8900         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8901         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8902         * ginclude/float.h: New.
8903
8904 2002-09-03  Stan Shebs  <shebs@apple.com>
8905
8906         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8907         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8908         (PREFERRED_DEBUGGING_TYPE): Ditto.
8909         (ASM_OUTPUT_IDENT): Remove empty definition.
8910
8911 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8912
8913         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8914         cxx_target.
8915         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8916         handling routine for builtin pragma.
8917         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8918         Registered pragma handling routine.
8919         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8920         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8921         If builtin pragma seen for math routine and C89 conformance is
8922         requested use different math function in order to set errno.
8923         * t-ia64 (ia64-c.o): Add new rule for new file.
8924
8925 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8926
8927         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8928         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8929         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8930
8931         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8932         "*movsf_ss"): Remove.
8933
8934 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8935
8936         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8937         Delete macros.
8938
8939 2002-09-03   Arati Dikey  <aratid@kpit.com>
8940
8941         * h8300.c (asm_file_start): Corrected optimization comment.
8942
8943 2002-09-03  Stan Shebs  <shebs@apple.com>
8944
8945         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8946         * c-tree.h (recognize_objc_keyword): Remove decl.
8947         * c-typeck.c (comp_target_types): Update a comment.
8948
8949 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8950
8951         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8952         and register validity checks.
8953         (general_s_operand): Adapt to s390_decompose_address interface change.
8954         (q_constraint): Likewise.
8955         (s390_expand_plus_operand): Likewise.
8956         (legitimiate_address_p): Likewise.
8957         (legitimate_la_operand_p): Likewise.
8958         (legitimize_la_operand): Likewise.
8959         (print_operand_address): Likewise.
8960         (print_operand): Likewise.
8961
8962 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8963
8964         PR objc/5956:
8965         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8966         was causing the new selector never to match the existing ones
8967         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8968
8969 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8970
8971         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8972
8973 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8974
8975         * expr.c (expand_expr): Remove extraneous comment and code.
8976
8977 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8978
8979         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8980         frontend. Take chain of fields. Allow NULL alignment type.
8981         * tree.h (finish_builtin_struct): Declare.
8982
8983 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8984
8985         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8986         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8987         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8988         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8989         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8990         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8991         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8992         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8993         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8994         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8995         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8996         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8997         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8998         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8999         config/rs6000/linux64.h config/rs6000/lynx.h
9000         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
9001         config/s390/s390.c config/s390/s390.md config/sh/sh.c
9002         config/sparc/sparc.c config/sparc/sysv4.h
9003         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
9004         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
9005         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
9006
9007         * doc/tm.texi: Update docs.
9008         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
9009         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
9010
9011 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9012
9013         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
9014         * arc.c (arc_internal_label): New function.
9015         (TARGET_ASM_INTERNAL_LABEL): Set.
9016         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9017         * arm.c (arm_internal_label): New function.
9018         (TARGET_ASM_INTERNAL_LABEL): Set.
9019         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9020         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9021         * i370.c (i370_internal_label): New function.
9022         (TARGET_ASM_INTERNAL_LABEL): Set.
9023         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9024         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9025         * m68k.c (m68k_hp320_internal_label): New function.
9026         (TARGET_ASM_INTERNAL_LABEL): Set.
9027         * m88k.c (m88k_internal_label): New function.
9028         (TARGET_ASM_INTERNAL_LABEL): Set.
9029         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9030         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
9031         * genoutput.c (output_prologue): Include target.h in output file.
9032         * output.h (default_internal_label): Declare.
9033         * sdbout.c: Include target.h.
9034         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
9035         TARGET_ASM_OUT.
9036         * target.h (internal_label): Add to struct gcc_target.
9037         * varasm.c (default_internal_label): New function.
9038
9039 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9040
9041         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
9042         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9043         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9044         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9045         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9046         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9047         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9048         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9049         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9050         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9051         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9052         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9053         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9054         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9055         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9056         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9057         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9058         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9059         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9060         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9061         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9062         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9063         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9064         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9065         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9066         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
9067         * mmix.c (mmix_asm_output_internal_label): Likewise.
9068         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9069         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9070         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9071         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9072         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9073         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9074         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9075         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9076         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9077         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9078         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9079         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9080         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9081         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9082         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9083         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9084         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9085         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9086         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9087
9088         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
9089
9090 2002-08-31  Richard Henderson  <rth@redhat.com>
9091
9092         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
9093
9094 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9095
9096         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
9097
9098 2002-08-30  Richard Henderson  <rth@redhat.com>
9099
9100         PR opt/7515
9101         * c-objc-common.c: Include target.h.
9102         (c_cannot_inline_tree_fn): Don't auto-inline functions that
9103         don't bind locally.  Factor setting DECL_UNINLINABLE.
9104         * Makefile.in (c-objc-common.o): Update.
9105
9106 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
9107
9108         * doc/install.texi (Configuration, Building): Fix a typo and
9109         some formatting directives.
9110
9111 2002-08-30  Paul Koning <pkoning@equallogic.com>
9112
9113         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
9114         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
9115         implemented" note.
9116         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
9117         for alphabetic order.
9118         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
9119         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
9120         (VAX_HALFWORD_ORDER): Document.
9121         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
9122         IEEE float format.
9123         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
9124         (ASM_OUTPUT_LABEL_REF): Fix font.
9125         (CASE_VECTOR_SHORTEN_MODE): Ditto.
9126
9127 2002-08-30  Denis Chertykov  <denisc@overta.ru>
9128
9129         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
9130         stuff.
9131         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
9132         CONST_DOUBLE constants.
9133
9134 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
9135
9136         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
9137         related defines to...
9138         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
9139         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
9140         as a no-op.
9141
9142 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
9143
9144         * config/arm/arm.c (arm_asm_output_labelref): New function.
9145         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
9146         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
9147
9148 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
9149
9150         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
9151         memory exhausted" workarounds.
9152
9153 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9154
9155         * diagnostic.c (fancy_abort): Don't repeat "internal error".
9156         * toplev.c (crash_signal): Likewise.
9157
9158 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9159
9160         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
9161         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
9162         Extended, updated documentation.
9163         (-Wundeclared-selector): Documented.
9164
9165 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
9166
9167         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
9168         the value 1.  Do not undef before defining.
9169         * config/darwin.h: Likewise.
9170         * config/dbx.h: Likewise.
9171         * config/dbxcoff.h: Likewise.
9172         * config/dbxelf.h: Likewise.
9173         * config/elfos.h: Likewise.
9174         * config/interix.h: Likewise.
9175         * config/lynx-ng.h: Likewise.
9176         * config/lynx.h: Likewise.
9177         * config/netware.h: Likewise.
9178         * config/psos.h: Likewise.
9179         * config/svr3.h: Likewise.
9180         * config/alpha/alpha.h: Likewise.
9181         * config/alpha/elf.h: Likewise.
9182         * config/alpha/vms.h: Likewise.
9183         * config/arc/arc.h: Likewise.
9184         * config/arm/aout.h: Likewise.
9185         * config/arm/coff.h: Likewise.
9186         * config/c4x/c4x.h: Likewise.
9187         * config/h8300/h8300.h: Likewise.
9188         * config/i386/cygwin.h: Likewise.
9189         * config/i386/djgpp.h: Likewise.
9190         * config/i386/gas.h: Likewise.
9191         * config/i386/gstabs.h: Likewise.
9192         * config/i386/i386-coff.h: Likewise.
9193         * config/i386/i386-interix.h: Likewise.
9194         * config/i386/sco5.h: Likewise.
9195         * config/i386/svr3dbx.h: Likewise.
9196         * config/i386/sysv3.h: Likewise.
9197         * config/i386/win32.h: Likewise.
9198         * config/i386/x86-64.h: Likewise.
9199         * config/i960/i960.h: Likewise.
9200         * config/ia64/ia64.h: Likewise.
9201         * config/ip2k/ip2k.h: Likewise.
9202         * config/m32r/m32r.h: Likewise.
9203         * config/m68k/3b1.h: Likewise.
9204         * config/m68k/3b1g.h: Likewise.
9205         * config/m68k/ccur-GAS.h: Likewise.
9206         * config/m68k/coff.h: Likewise.
9207         * config/m68k/hp2bsd.h: Likewise.
9208         * config/m68k/hp310g.h: Likewise.
9209         * config/m68k/hp320g.h: Likewise.
9210         * config/m68k/hp3bsd.h: Likewise.
9211         * config/m68k/hp3bsd44.h: Likewise.
9212         * config/m68k/linux-aout.h: Likewise.
9213         * config/m68k/m68k-aout.h: Likewise.
9214         * config/m68k/mot3300.h: Likewise.
9215         * config/m68k/netbsd.h: Likewise.
9216         * config/m68k/openbsd.h: Likewise.
9217         * config/m68k/pbb.h: Likewise.
9218         * config/m68k/plexus.h: Likewise.
9219         * config/m68k/sun2.h: Likewise.
9220         * config/m68k/sun3.h: Likewise.
9221         * config/m68k/tower-as.h: Likewise.
9222         * config/m68k/vxm68k.h: Likewise.
9223         * config/m88k/aout-dbx.h: Likewise.
9224         * config/m88k/m88k-aout.h: Likewise.
9225         * config/mcore/mcore-elf.h: Likewise.
9226         * config/mcore/mcore-pe.h: Likewise.
9227         * config/mips/elf.h: Likewise.
9228         * config/mips/elf64.h: Likewise.
9229         * config/mips/iris5gas.h: Likewise.
9230         * config/mips/iris6.h: Likewise.
9231         * config/mips/mips.h: Likewise.
9232         * config/mips/sni-gas.h: Likewise.
9233         * config/mmix/mmix.h: Likewise.
9234         * config/ns32k/netbsd.h: Likewise.
9235         * config/pa/pa64-hpux.h: Likewise.
9236         * config/romp/romp.h: Likewise.
9237         * config/rs6000/sysv4.h: Likewise.
9238         * config/rs6000/xcoff.h: Likewise.
9239         * config/sh/coff.h: Likewise.
9240         * config/sh/elf.h: Likewise.
9241         * config/sparc/linux64.h: Likewise.
9242         * config/sparc/liteelf.h: Likewise.
9243         * config/sparc/netbsd.h: Likewise.
9244         * config/sparc/openbsd.h: Likewise.
9245         * config/sparc/pbd.h: Likewise.
9246         * config/sparc/sp64-elf.h: Likewise.
9247         * config/sparc/sp86x-elf.h: Likewise.
9248         * config/sparc/sparc.h: Likewise.
9249         * config/vax/vax.h: Likewise.
9250         * config/vax/vaxv.h: Likewise.
9251
9252 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
9253
9254         * h8300.c (shift_alg_hi): Various tweaks to improve performance
9255         of HImode shifts.
9256         (get_shift_alg): Corresponding changes.
9257
9258 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9259
9260         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
9261
9262 2002-08-29  Richard Henderson  <rth@redhat.com>
9263
9264         * expr.h (enum block_op_methods): New.
9265         (emit_block_move): Update prototype.
9266         * expr.c (block_move_libcall_safe_for_call_parm): New.
9267         (emit_block_move_via_loop): New.
9268         (emit_block_move): Use them.  New argument METHOD.
9269         (emit_push_insn): Always respect the given alignment.
9270         (expand_assignment): Update call to emit_block_move.
9271         (store_expr, store_field, expand_expr): Likewise.
9272         * builtins.c (expand_builtin_apply): Likewise.
9273         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
9274         * function.c (expand_function_end): Likewise.
9275         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
9276         * config/sparc/sparc.c (sparc_va_arg): Likewise.
9277         * calls.c (expand_call, emit_library_call_value_1): Likewise.
9278         (save_fixed_argument_area): Use emit_block_move with
9279         BLOCK_OP_CALL_PARM instead of move_by_pieces.
9280         (restore_fixed_argument_area): Likewise.
9281         (store_one_arg): Fix alignment parameter to emit_push_insn.
9282
9283 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9284
9285         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
9286
9287 2002-08-29  Catherine Moore  <clm@redhat.com>
9288
9289         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
9290         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
9291         (PREDICATE_CODES): Include new predicates.
9292         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
9293         (TARGET_SWITCHES):  Add strict-align.
9294         (TARGET_STRICT_ALIGN): New.
9295         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
9296         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9297         Define.
9298         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
9299         v850_muldi3.
9300         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
9301         L_callt_save_r2_r31, L_return_r2_r31,
9302         L_save_all_interrupt): Change addi to add.
9303         (L_save_interrupt, L_return_interrupt): Rework.
9304         (__return_r31):  Correct .size directive.
9305         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
9306         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
9307         New routines.
9308         * config/v850/v850.c (expand_prologue): Call
9309         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
9310         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
9311         (reg_or_int9_operand): New predicate.
9312         (reg_or_const_operand): New routine.
9313         * config/v850/v850.md (return_interrupt): Changed from
9314         restore_interrupt.
9315         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
9316         (callt_save_interrupt): Change save sequence.
9317         (callt_return_interrupt): New.
9318         (save_interrupt): Don't use runtime function for LONG_CALLS
9319         and TARGET_PROLOG_FUNCTION.
9320         (save_all_interrupt): Likewise.
9321         (mulsi3): Use new predicate.
9322         (moviscc): Disallow some combination of constants.
9323         Fix define_split for sasf insns, so that it will not generate bad
9324         code if operand0 and operand5 are the same.
9325         * config/v850/v850-protos.h: Prototype new predicates.
9326
9327 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
9328
9329         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
9330         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
9331
9332 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9333
9334         * c-common.c (builtin_define_type_precision): New function.
9335         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
9336         wchar_t is unsigned in C++.
9337         * doc/cpp.texi (Common Predefined Macros): Document
9338         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
9339         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9340         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9341
9342 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
9343
9344         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
9345         section.  Mention that it is enabled by -Wall.
9346         (-Wall): Mention that there can be language-specific warnings as well.
9347         (-Wctor-dtor-privacy): Mention that it is enabled by default.
9348         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
9349
9350 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
9351
9352         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
9353         if it is ever live.
9354
9355         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
9356         attribute for SHCOMPACT.
9357
9358         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
9359         appropriately.
9360         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
9361         by the ABI.
9362
9363         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
9364
9365 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
9366
9367         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
9368         "MASK_GAS|MASK_ABICALLS".
9369         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
9370         (TARGET_DEFAULT): Remove.
9371         (MACHINE_TYPE): Undefine before defining.
9372         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
9373
9374 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
9375
9376         * c-common.c (warn_abi): New variable.
9377         * c-common.h (warn_abi): Likewise.
9378         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
9379         (c_common_decode_option): Handle it.
9380         * doc/invoke.texi: Document -Wabi.
9381
9382 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9383
9384         * c-common.c (warn_undeclared_selector): New variable.
9385         * c-common.h (warn_undeclared_selector): Idem.
9386         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
9387         to on when -Wundeclared-selector is found.
9388         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
9389         * objc/objc-act.c (build_selector_expr): If
9390         warn_undeclared_selector is set, check that the selector has
9391         already been defined, and emit a warning if not.
9392
9393 2002-08-27  Nick Clifton  <nickc@redhat.com>
9394             Catherine Moore  <clm@redhat.com>
9395             Jim Wilson  <wilson@cygnus.com>
9396
9397         * config.gcc: Add v850e-*-* target.
9398         Add --with-cpu= support for v850.
9399         * config/v850/lib1funcs.asm: Add v850e callt functions.
9400         * config/v850/v850.h: Add support for v850e target.
9401         * config/v850/v850.c: Add functions to support v850e target.
9402         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
9403         * config/v850/v850.md: Add patterns for v850e instructions.
9404         * doc/invoke.texi: Document new v850e command line switches.
9405
9406 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
9407                           Aldy Hernandez <aldyh at redhat dot com>
9408
9409         * doc/tm.texi: Applied numerous fixes to the automaton based
9410         scheduler descrition.
9411
9412 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
9413
9414         * i386.c (classify_argument): Handle variable sized objects.
9415
9416 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
9417
9418         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
9419
9420 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
9421
9422         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
9423
9424 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
9425
9426         * i386.c (classify_argument): Properly compute word size of the analyzed object.
9427
9428 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
9429
9430         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
9431         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
9432         accordingly.
9433         (attribute insn_class): Provide default definitions based on type.
9434         Remove all insn-specific settings.
9435         (various function units): Remove old SH4 scheduling.
9436         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
9437         New attributes.  Set them where appropriate.
9438         (cpu unit FS): Don't define / use.
9439         (F3, load_store): New cpu units.
9440         (F01): New reservation.
9441         (all insn_reservations): Make dependent on sh4 pipeline model.
9442         Fix latencies.
9443         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
9444         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
9445         (mt insn_reservation): Use type mt_group.
9446         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
9447         sh4_fload and sh4_store.
9448         (insn_reservation branch_zero and branch): Replace with sh4_branch.
9449         (insn_reservation branch_far): Replace with sh4_return.
9450         (insn_reservation return_from_exp): Rename to:
9451         (sh4_return_from_exp).  Change to be just d_lock*5.
9452         (insn_reservation lds_to_pr): Rename to:
9453         (sh4_lds_to_pr).  Change to be just d_lock*2.
9454         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
9455         d_lock*2.
9456         (insn_reservation prload_mem): Rename to:
9457         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
9458         (insn_reservation fpscr_store): Rename to:
9459         (fpscr_load).  Change to d_lock,nothing,F1*3.
9460         (insn_reservation fpscr_store_mem): Rename to:
9461         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
9462         (insn_reservation multi): Change to
9463         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
9464         (insn_reservation fp_arith): Change to issue,F01,F2.
9465         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
9466         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
9467         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
9468         (insn_reservation fp_double_cmp): Change to
9469         d_lock,(d_lock+F01),F1+F2,F2.
9470         (insn_reservation dp_div): Change to
9471         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
9472         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
9473         (sh_adjust_cost, SHcompact): Differentiate between different
9474         kinds of dependencies.  Drop factor of ten for superscalar.
9475         Use new instruction types.  Add new exception rules.
9476
9477         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
9478
9479         * sh.md (mperm_w): Add DONE.
9480
9481 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
9482
9483         * longlong.h: Import current PowerPC defintion from GMP-4.1.
9484
9485         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
9486
9487         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
9488
9489 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
9490
9491         * sh.h (MAX_FIXED_MODE_SIZE): Define.
9492
9493 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
9494
9495         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
9496         delimiter.
9497
9498 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9499
9500         * c-common.c (cpp_define_data_format): New function.
9501         (cb_register_builtins): Call it.
9502
9503         * doc/cpp.texi (Common Predefined Macros): Document
9504         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9505         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9506         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
9507         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
9508         __TARGET_USES_VAX_H_FLOAT__.
9509
9510 2002-08-26  Ziemowit Laski <zlaski@apple.com>
9511
9512         * objc/objc-act.c (get_super_receiver): If inside a class method
9513         of a category, cast the receiver to 'id' before accessing the 'isa'
9514         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
9515
9516 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9517
9518         * config/s390/s390-protos.h (s390_function_prologue,
9519         s390_function_epilogue): Remove.
9520         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
9521         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
9522
9523         config/s390/s390.c (s390_machine_dependent_recorg): New function.
9524         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
9525         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
9526         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
9527         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
9528
9529         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
9530         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
9531         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
9532         function is not a leaf function.  Use save_gprs and restore_gprs.
9533         (s390_emit_epilogue): Likewise.
9534         (save_gprs, restore_gprs): New functions.
9535         (struct s390_frame): Remove return_reg_saved_p member.
9536         (save_fprs_p): Remove.
9537         (s390_optimize_prolog): New function.
9538         (s390_legitimate_reload_constant): Remove now unnecessary check.
9539
9540         (s390_function_count): Remove.
9541         (s390_output_symbolic_const): Replace s390_function_count by
9542         current_function_funcdef_no.
9543         (s390_output_constant_pool): Likewise.
9544
9545         (legitimize_pic_address): Use regs_ever_live to track PIC register
9546         instead of current_function_uses_pic_offset_table.
9547         (s390_emit_prologue): Likewise.
9548         config/s390/s390.md ("call", "call_value"): Likewise.
9549
9550 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
9551
9552         * c-opts.c (find_opt): Don't complain about wrong languages
9553         here.  Return exact matches even for wrong language.
9554         (c_common_decode_option): Complain about wrong languages
9555         here.
9556
9557 2002-08-24  Stuart Hastings  <stuart@apple.com>
9558
9559         * function.h (struct function): Add flag
9560         all_throwers_are_sibcalls.
9561         * except.c (set_nothrow_function_flags): Replaces
9562         nothrow_function_p. Set new flag.
9563         * except.h (set_nothrow_function_flags): Replaces
9564         nothrow_function_p.
9565         * dwarf2out.c (struct dw_fde_struct): Add flag
9566         all_throwers_are_sibcalls.
9567         (output_call_frame_info): Test it.
9568         (dwarf2out_begin_prologue) Propagate it from cfun to
9569         dw_fde_struct.
9570         * toplev.c (rest_of_compilation): Update calls to
9571         nothrow_function_p.
9572
9573 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
9574
9575         * ggc-page.c (compute_inverse): Short circuit calculation for
9576         object sizes larger than half a page.
9577
9578 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
9579
9580         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
9581         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
9582         default.
9583         (rs6000_elf_unique_section): Likewise.
9584
9585 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9586
9587         * ns32k.c (ns32k_globalize_label): Delete.
9588         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
9589
9590 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
9591
9592         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
9593         for loading delta with num_insns_constant_wide.  Calculate
9594         delta_low, delta_high without using a conditional.
9595
9596 2002-08-22  Jason Merrill  <jason@redhat.com>
9597
9598         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
9599         * c-common.def: Adjust.
9600         * c-dump.c (c_dump_tree): Adjust.
9601         * c-semantics.c (genrtl_return_stmt): Adjust.
9602         * c-pretty-print.c (pp_c_statement): Adjust.
9603         * tree-inline.c (copy_body_r): Adjust.
9604
9605 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
9606
9607         * ggc-page.c: Avoid division in ggc_set_mark.
9608         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
9609         compute_inverse): New.
9610         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
9611         (init_ggc): Initialize inverse_table.
9612
9613 2002-08-22  Tom Tromey  <tromey@redhat.com>
9614
9615         * doc/install.texi (Configuration): Document --datadir.
9616
9617 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
9618
9619         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
9620
9621 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
9622
9623         * gengtype-lex.l (ID): Allow underscore as first character.
9624
9625 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
9626
9627         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
9628         function.
9629         (rs6000_xcoff_asm_named_section): Rename.
9630         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9631
9632 2002-08-21  Tom Tromey  <tromey@redhat.com>
9633
9634         For PR java/6005 and PR java/7611:
9635         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
9636         (fold): Likewise.
9637         * langhooks.c (lhd_can_use_bit_fields_p): New function.
9638         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
9639         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
9640         (LANG_HOOKS_INITIALIZER): Use it.
9641         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
9642         field.
9643
9644 2002-08-21  Stan Shebs  <shebs@apple.com>
9645
9646         * tree.c (finish_vector_type): Fix a typo in a comment.
9647         * Makefile.in: Fix "the the" stutters in comments.
9648         * genautomata.c: Ditto.
9649         * ifcvt.c: Ditto.
9650         * regrename.c: Ditto.
9651         * config/alpha/alpha.c: Ditto.
9652         * config/alpha/vms-crt0-64.c: Ditto.
9653         * config/alpha/vms-crt0.c: Ditto.
9654         * config/alpha/vms-psxcrt0-64.c: Ditto.
9655         * config/alpha/vms-psxcrt0.c: Ditto.
9656         * config/d30v/d30v.h: Ditto.
9657         * config/fr30/fr30.h: Ditto.
9658         * config/rs6000/rs6000.c: Ditto.
9659         * config/stormy16/stormy16.h: Ditto.
9660         * doc/md.texi: Ditto.
9661
9662 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9663
9664         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
9665
9666 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
9667
9668         * c-decl.c (grokdeclarator): Make invalid combinations with long,
9669         short, signed or unsigned into hard errors.  Fixes PR c/4319.
9670         Also make duplicate modifiers such as "short short" into hard
9671         errors.
9672
9673 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
9674             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9675
9676         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
9677         to the actual end.  Add '@end table' and '@table @code'.
9678
9679 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
9680
9681         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
9682
9683         * unroll.c (biv_total_increment): Don't try to compute the total
9684         increment for FP BIVs.
9685
9686 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9687
9688         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
9689         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
9690         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9691         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
9692         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
9693         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
9694         (GLOBAL_ASM_OP): Define.
9695         * arm.c (aof_globalize_label): New function.
9696         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
9697         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9698         * c4x.c (c4x_globalize_label): New function.
9699         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
9700         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
9701         (GLOBAL_ASM_OP): Define.
9702         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9703         * darwin-protos.h (darwin_globalize_label): Declare.
9704         * darwin.c (darwin_globalize_label): New function.
9705         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
9706         (ASM_GLOBALIZE_LABEL): Delete.
9707         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
9708         * dsp16xx.c (asm_output_common): Use target hook.
9709         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9710         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
9711         (GLOBAL_ASM_OP): Define.
9712         * i370.c (i370_globalize_label): New function.
9713         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
9714         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
9715         * i386.c (ix86_asm_file_end): Use target hook.
9716         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
9717         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9718         * ia64.c (ia64_asm_output_external): Likewise.
9719         * ia64/sysv4.h: Update comment.
9720         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9721         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9722         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
9723         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9724         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
9725         * mmix-protos.h (mmix_asm_globalize_label): Delete.
9726         * mmix.c (mmix_asm_globalize_label): Likewise.
9727         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9728         (GLOBAL_ASM_OP): Define.
9729         * ns32k.c (ns32k_globalize_label): New function.
9730         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9731         (ASM_GLOBALIZE_LABEL): Delete.
9732         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9733         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9734         * pa.c (pa_globalize_label): New function.
9735         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9736         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9737         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9738         (GLOBAL_ASM_OP): Define.
9739         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9740         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9741         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9742         (GLOBAL_ASM_OP): Define.
9743         * v850.c (v850_output_aligned_bss): Use target hook.
9744         * vax.c (vms_globalize_label): New function.
9745         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9746         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9747         (GLOBAL_ASM_OP): Define.
9748         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9749         * doc/tm.texi: Update docs.
9750         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9751         target hook.
9752         * final.c (output_alternate_entry_point): Likewise.
9753         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9754         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9755         * output.h (assemble_global): Delete.
9756         (default_globalize_label): Declare.
9757         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9758         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9759         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9760         * target.h (gcc_target): Add globalize_label member.
9761         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9762         globalize_decl): Use target hook.
9763         (assemble_global): Delete.
9764         (default_globalize_label): New function.
9765
9766 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9767
9768         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9769
9770 2002-08-20  Devang Patel  <dpatel@apple.com>
9771         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9772
9773 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9774
9775         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9776         * arm.c (thumb_output_function_prologue): Likewise.
9777         * avr.c (print_operand): Likewise.
9778         * c4x.c (c4x_print_operand): Likewise.
9779         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9780         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9781         * cris.c (cris_target_asm_function_prologue,
9782         cris_asm_output_mi_thunk): Likewise.
9783         * h8300.c (print_operand): Likewise.
9784         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9785         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9786         * m68hc11.c (asm_print_register, print_operand,
9787         print_operand_address): Use stdio instead of asm_fprintf.
9788         (print_operand_address): Fix format specifier.
9789         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9790         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9791         asm_fprintf.
9792         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9793         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9794         * m68k.c (m68k_output_function_prologue,
9795         m68k_output_function_epilogue, print_operand): Likewise.
9796         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9797         Likewise.  Fix format specifier.
9798         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9799         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9800         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9801
9802 2002-08-15  Eric Christopher  <echristo@redhat.com>
9803             Jeff Knaggs  <jknaggs@redhat.com>
9804
9805         * config.gcc (mipsisa64sr71k-elf): New target.
9806         * config/mips/sr71k.md: New file.
9807         * config/mips/mips.md: Use it.
9808         (rot*): Add sr71k specifics.
9809         * config/mips/t-sr71k: New file.
9810         * config/mips/mips.h (sr71k): New cpu.
9811         (TARGET_SR71K): Use it.
9812         (TUNE_SR71K): Ditto.
9813         (GENERATE_BRANCHLIKELY): Ditto.
9814         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9815         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9816         * config/mips/mips.c (sr71k): New cpu.
9817         (mips_use_dfa_pipeline_interface): Use.
9818
9819 2002-08-15  Eric Christopher  <echristo@redhat.com>
9820             Richard Sandiford <rsandifo@redhat.com>
9821             Aldy Hernandez  <aldyh@redhat.com>
9822             Graham Stott    <grahams@redhat.com>
9823             Michael Meissner  <meissner@redhat.com>
9824             Gavin Romig-Koch  <gavin@redhat.com>
9825             Ken Raeburn  <raeburn@cygnus.com>
9826             Alexandre Oliva <aoliva@redhat.com>
9827
9828         * config.gcc (mips64vr-elf): New target.
9829         * config/mips/5400.md: New file.
9830         * config/mips/5500.md: Ditto.
9831         * config/mips/mips.md: Use them.
9832         (frsqrt): New.
9833         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9834         cpus.
9835         (mips_issue_rate): Use them.
9836         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9837         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9838         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9839         cpus.
9840         (TARGET_MIPSx): Use them.
9841         (TUNE_MIPSx): Ditto.
9842         (GETNATE_MULT3_SI): Ditto.
9843         (ISA_HAS_BRANCHLIKELY): Ditto.
9844         (ISA_HAS_CONDMOVE): Ditto.
9845         (ISA_HAS_NMADD_NMSUB): Ditto.
9846         (ISA_HAS_MULHI): New. Ditto.
9847         (ISA_HAS_MULS): Ditto.
9848         (ISA_HAS_MSAC): Ditto.
9849         (ISA_HAS_MACC): Ditto.
9850         (ISA_HAS_ROTR_SI): Ditto.
9851         (ISA_HAS_ROTR_DI): Ditto.
9852         (RTX_COSTS): Use.
9853
9854 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9855
9856         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9857         at head.
9858         (remove_dup_nonsys_dirs): New function.
9859         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9860         (merge_include_chains): Remove non-system include directories from
9861         quote and bracket include chains when they duplicate equivalent system
9862         directories.
9863         * doc/cpp.texi (-I): Update.
9864         * doc/cppopts.texi (-I): Update.
9865         * doc/install.texi (--with-local-prefix): Further document usage of
9866         this option.
9867         * doc/invoke.texi (-I): Update.
9868
9869 2002-08-20  Richard Henderson  <rth@redhat.com>
9870
9871         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9872         (emit_block_move): Split out subroutines.
9873         (emit_block_move_via_movstr): New.
9874         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9875         (emit_block_move_libcall_fn): New.  Construct function prototype for
9876         bcopy as well.
9877         (clear_storage): Split out subroutines.
9878         (clear_storage_via_clrstr): New.
9879         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9880         (clear_storage_libcall_fn): New.  Construct function prototype for
9881         bzero as well.
9882         (emit_push_insn): Use emit_block_move.
9883         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9884         (store_constructor): Likewise.
9885
9886 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9887
9888         * objc/objc-act.c (building_objc_message_expr): Rename to
9889         current_objc_message_selector.
9890
9891 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9892
9893         * objc/objc-act.c (build_ivar_chain): Remove.
9894         (objc_copy_list): Likewise.
9895         (get_class_ivars): Inline call to removed build_ivar_chain
9896         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9897         slot; use that slot (rather than CLASS_IVARS) when accessing
9898         ivars for base classes.  Call copy_list and chainon instead of
9899         objc_copy_list.
9900         (build_private_template): Call get_class_ivars instead of
9901         build_ivar_chain.
9902         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9903         (continue_class): Call get_class_ivars instead of
9904         build_ivar_chain.
9905         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9906         of DECL_BIT_FIELD (which may have been cleared).
9907         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9908
9909 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9910
9911         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9912         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9913         in output file.
9914         (output_internal_min_issue_delay_func): Initialize variable in
9915         output file.
9916
9917 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9918
9919         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9920         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9921
9922 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9923             Steve Ellcey  <sje@cup.hp.com>
9924
9925         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9926         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9927         * explow.c (trunc_int_for_mode): Abort when the mode is not
9928         a scaler integer mode.
9929         * combine.c (expand_compound_operation): Don't expand Vector
9930         or Complex modes into shifts.
9931         (expand_field_assignment): Don't do bitwise arithmatic and
9932         shifts on Vector or Complex modes.
9933         (simplify_comparison): Don't call trunc_int_for_mode
9934         for VOIDmode.
9935         * recog.c (general_operand): Likewise.
9936         (immediate_operand): Likewise.
9937         (nonmemory_operand): Likewise.
9938
9939 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9940
9941         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9942         multi-instruction SImode constant.  Add REG_EQUAL note.
9943         * config/rs6000/rs6000.md (movsi splitter): Use
9944         rs6000_emit_set_const.
9945
9946 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9947
9948         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9949         the macro test controlling its use.
9950
9951 2002-08-18  H.J. Lu  (hjl@gnu.org)
9952
9953         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9954         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9955         gnu_ld=yes.
9956         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9957         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9958         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9959         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9960         here.
9961         (cris-*-linux*): Remove setting thread_file here.
9962
9963 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9964
9965         PR preprocessor/7602
9966         * cppinit.c (path_include): Treat the system environment
9967         variables as being cxx_aware.
9968
9969 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9970
9971         * c-decl.c (flexible_array_type_p): New function.
9972         (grokdeclarator, finish_struct): Use it.
9973         * doc/extend.texi: Document constraints on use of structures with
9974         flexible array members.
9975
9976 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9977
9978         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9979         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9980         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9981
9982 2002-08-16  Stan Shebs  <shebs@apple.com>
9983
9984         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9985         for ObjC with -fnext-runtime.
9986         * doc/cpp.texi: Document it.
9987
9988 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9989
9990         * doc/install.texi (Final installation): Replace links to individual
9991         build status pages with a link to a common page that lists them all.
9992
9993 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9994
9995         * doc/invoke.texi: Fix typo.
9996
9997 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9998
9999         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
10000
10001 2002-08-16  Andrew Haley  <aph@redhat.com>
10002
10003         * tree-inline.c: Add includes for Java inliner.
10004         (remap_decl): Don't handle anonymous types for Java.
10005         (remap_block): Add handling for Java trees.
10006         (copy_scope_stmt): Conditionalize for non-Java use only.
10007         (copy_body_r): Handle Java trees.  Add handling for
10008         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
10009         (initialize_inlined_parameters):  Handle Java trees.
10010         (declare_return_variable): Likewise.
10011         (expand_call_inline): Handle Java trees.
10012         (walk_tree): Likewise.
10013         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
10014         (add_stmt_to_compound): New function.
10015
10016 2002-08-15  Richard Henderson  <rth@redhat.com>
10017
10018         * Makefile.in (LOOSE_WARN): Remove -fno-common.
10019         (NOCOMMON_FLAG): New substitution point.
10020         (GCC_WARN_CFLAGS): Include it.
10021         * configure.in (ac_checking): Set nocommon_flag.
10022         (nocommon_flag): New substitution point.
10023
10024 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
10025
10026         * c-tree.h (skip_evaluation): Move declaration...
10027         * c-common.h: ... here.
10028         * c-typeck.c (build_external_ref): Don't assemble_external nor
10029         mark a tree as used if skip_evaluation is set.
10030         * c-parse.in (typeof): New non-terminal to set skip_evaluation
10031         around TYPEOF.
10032         (typespec_nonreserved_nonattr): Use it.
10033
10034 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
10035
10036         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
10037         (xcoff_debug_hooks): Update end_prologue.
10038         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
10039         * debug.h (end_prologue): Add file arg.
10040         (end_epilogue): Add line and file args.
10041         (dwarf2out_end_epilogue): Add line and file args.
10042         (vmsdbgout_after_prologue): Remove.
10043         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
10044         (dwarf2_debug_hooks): Update end_prologue.
10045         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
10046         (dwarfout_end_prologue): Add file arg.
10047         * final.c (vmsdbgout_after_prologue): Remove
10048         (final_end_function): Update end_epilogue call.
10049         (final_scan_insn): Update end_prologue call.
10050         * sdbout.c (sdbout_end_epilogue): Add line and file args.
10051         (sdbout_end_prologue): Add file arg.
10052         (sdb_debug_hooks): Update end_prologue.
10053         (sdb_begin_prologue): Update sdbout_end_prologue call.
10054         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
10055         vmsdbgout_end_function.
10056         (vmsdbgout_end_prologue): New function renamed from
10057         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
10058         (vmsdbgout_end_function): New function.
10059         (vmsdbgout_end_epilogue): Add line and file args. Call
10060         vmsdbgout_source_line.
10061         (write_pclines): Write only valid line numbers.
10062         (write_srccorr): Don't write source correlation records if 0 lines.
10063         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
10064
10065 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
10066
10067         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
10068         (_Unwind_Internal_Ptr): 32 bit version for use in
10069         read_encoded_value_with_base.
10070         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
10071         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
10072         right size.
10073
10074 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10075
10076         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
10077         signed/unsigned warnings.
10078
10079         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
10080         record_reg_classes): Likewise.
10081
10082         * reload.c (reload_inner_reg_of_subreg, push_reload,
10083         find_reloads_address_1): Likewise.
10084
10085 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
10086
10087         * rs6000.c (output_mi_thunk): Return to function section on
10088         TARGET_ELF.
10089
10090         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
10091
10092 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
10093
10094         * config/s390/s390.c (legitimize_address): Optimize loading
10095         of large displacements.
10096
10097 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
10098
10099         * config/alpha/alpha-protos.h: Update.
10100
10101         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
10102         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
10103         (alpha_linkage_symbol_p): New static function.
10104         (print_operand_address): Print linkage operand.
10105
10106         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
10107         variables.
10108         (reloc_kind): New enum.
10109         (struct alpha_funcs): New struct.
10110         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
10111
10112         (alpha_need_linkage): Rewrite.
10113         (alpha_use_linkage): New global function.
10114         (alpha_write_linkage): Rewrite and make static.
10115         (alpha_write_one_linkage): Rewrite
10116
10117         (alpha_start_function): Remove procedure descriptor output.
10118         (alpha_end_function): Write linkages at end of each function.
10119
10120         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
10121         (call_vms_1, call_value_vms_1): Rewrite.
10122
10123         * config/alpha/vms.h (ASM_FILE_END): Remove.
10124
10125 2002-08-14  Richard Henderson  <rth@redhat.com>
10126
10127         * ggc-page.c (RTL_SIZE): New.
10128         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
10129         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
10130
10131 2002-08-14  Richard Henderson  <rth@redhat.com>
10132
10133         * calls.c: Include target.h.
10134         * Makefile.in (calls.o): Update.
10135
10136         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
10137         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
10138
10139 2002-08-14  Richard Henderson  <rth@redhat.com>
10140
10141         * Makefile.in (LOOSE_WARN): Add -fno-common.
10142         * c-common.h (constant_string_class_name): Add missing extern.
10143
10144 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
10145
10146         PR preprocessor/7358
10147         * c-opts.c (check_deps_environment_vars): Ignore main file
10148         for SUNPRO_DEPENDENCIES.
10149         * cppfiles.c (stack_include_file): Ignore main file if
10150         appropriate.
10151         * cpplib.h (struct cpp_options): New member in deps.
10152         * doc/cppenv.texi: Update.
10153
10154 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10155
10156         PR preprocessor/7526
10157         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
10158
10159 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
10160
10161         * doc/invoke.texi (-a): Remove documentation.
10162         (-fprofile-arcs): Remove reference to -a, -ax options.
10163         * doc/gcov.texi (Gcov Data Files): Data might be merged.
10164
10165 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10166
10167         Fix PR/7566
10168         * c-semantics.c (genrtl_case_label): Don't (mis)use
10169         warning_with_decl.
10170
10171 2002-08-14  Dale Johannesen  <dalej@apple.com>
10172
10173         * explow.c (emit_stack_restore):  Emit memory clobbers
10174         preceding the stack pop, to prevent the scheduler from
10175         moving refs to variable arrays below this pop.
10176         * reload1.c (reload):  Preserve these clobbers for sched2.
10177         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
10178
10179 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10180
10181         * c-opts.c (c_common_post_options): Correct test.
10182
10183 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10184
10185         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
10186         order in call to fprintf.
10187
10188 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10189
10190         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
10191
10192 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
10193
10194         * reload.c (find_reloads): Handle constraint letters marked by
10195         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
10196         (alternative_allows_memconst): Likewise.
10197         * reload1.c (maybe_fix_stack_asms): Likewise.
10198         * recog.c (asm_operand_ok, preprocess_constraints,
10199         constrain_operands): Likewise.
10200         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
10201         * local-alloc.c (block_alloc, requires_inout): Likewise.
10202         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
10203
10204         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
10205         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
10206         * doc/tm.texi: Document these two new target macros.
10207
10208         * config/s390/s390.c (s390_expand_plus_operand): Accept already
10209         valid operands.
10210         (q_constraint): New function.
10211         config/s390/s390-protos.h (q_constraint): Declare it.
10212         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
10213         (EXTRA_MEMORY_CONSTRAINT): New macro.
10214
10215         * config/s390/s390.md: Throughout the machine description,
10216         replace all instances of the constraint combinations 'Qo'
10217         or 'oQ' with simply 'Q'.
10218
10219 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10220
10221         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
10222         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
10223         (LIBGCC2_CFLAGS): Compile with -mrelax.
10224
10225 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10226
10227         * doc/invoke.texi: Document -minmax for 68HC12.
10228
10229         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
10230         ("uminqi3"): Likewise.
10231         ("uminhi3", "umaxhi3"): Likewise.
10232
10233         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
10234         (TARGET_MIN_MAX): Define.
10235         (TARGET_SWITCHES): New option -minmax/-mnominmax.
10236
10237 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10238
10239         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
10240         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
10241
10242         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
10243         (ret, declare, farsym): New gas macros.
10244         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
10245         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
10246         and declare the symbol far when compiled with -mlong-calls.
10247         (__far_trampoline): New for 68HC12 trampoline code to invoke a
10248         far handler using jsr/bsr.
10249
10250         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
10251         (jsr): New macro to transform a 'jsr' into a 'call'.
10252
10253 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10254
10255         * doc/invoke.texi: Document -mlong-calls for 68HC12.
10256
10257         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
10258         -mlong-calls is specified.
10259         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
10260         assembler directives.
10261         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
10262         (TARGET_SWITCHES): Add -mlong-calls options.
10263         (current_function_far): Declare.
10264
10265         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
10266         into account the page register saved on the stack.
10267         (m68hc11_override_options): Take into account -mlong-calls option.
10268         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
10269
10270         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
10271         if the function is going to be in 68HC12 banked memory (-mlong-calls).
10272         ("*return_16bit"): Likewise.
10273         ("*return_void"): Likewise.
10274         ("call", "call_value"): Use call for a far function call.
10275
10276 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10277
10278         * toplev.c (parse_options_and_default_flags): Don't call
10279         post_options here.
10280         (general_init): Initialize GC, pools and tree hash here,
10281         instead of lang_independent_init.
10282         (lang_independent_init): Rename backend_init.
10283         (do_compile): Call post_options hook; exit early if there
10284         have been errors after switch processing.
10285         (toplev_main): Update.
10286
10287 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10288
10289         * c-pretty-print.h: Guard against multiple inclusion.
10290         Robustify macros.
10291         (pp_c_attributes): Declare.
10292         * c-pretty-print.c (pp_c_attributes): New function.
10293
10294 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10295
10296         * m68k.c (m68k_output_function_prologue,
10297         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
10298         and NEWS/MOTOROLA.
10299         * genattrtab.c: Remove dpx2 comment.
10300         * libgcc2.c (__enable_execute_stack): Delete versions for
10301         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
10302         sony_news/SYSTYPE_BSD.
10303         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
10304         __gmicro__, __i860__, __NeXT__ and __pyr__.
10305         * rtl.h: Remove convex comment.
10306         * varasm.c: Likewise.
10307
10308 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10309
10310         * c-opts.c (lang_flags): Const-ify.
10311         * ra-build.c (undef_table): Likewise.
10312         * ra.c (eliminables): Likewise.
10313
10314 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10315
10316         * tree.h: Guard against multiple inclusion.
10317
10318 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
10319
10320         * reload1.c (reload_cse_simplify): Before checking
10321         REG_FUNCTION_VALUE_P, check REG_P.
10322
10323 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
10324
10325         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
10326
10327 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10328
10329         * c-opts.c (c_common_init_options): Extra braces needed.
10330
10331 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
10332
10333         * sh.c (sh_init_builtins): Add PARAMS to declaration.
10334         (sh_media_init_builtins, sh_expand_builtin): Likewise.
10335         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
10336         (sh_expand_binop_v2sf): Likewise.
10337         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
10338         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
10339         (sh_initialize_trampoline): Likewise.
10340
10341 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
10342
10343         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
10344         new condition code modes.
10345         s390.c (s390_match_ccmode_set): Handle those new CC modes.
10346         (s390_select_ccmode): Likewise.
10347         (s390_branch_condition_mask): Likewise.
10348
10349         * s390-protos.h (s390_tm_ccmode): Declare.
10350         s390.c (s390_tm_ccmode): New function.
10351         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
10352
10353         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
10354         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
10355         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
10356
10357         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
10358         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
10359         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
10360         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
10361         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
10362
10363         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
10364         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
10365         "*cmpqi_ccs_0"): Remove, replace by ...
10366         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
10367         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
10368         "*tstqi", "*tstqi_cconly"): ... these new patterns.
10369
10370         ("*cmpsidi_ccs"): Remove, replace by ...
10371         ("*cmpsi_ccs_sign"): ... this new pattern.
10372         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
10373
10374         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
10375         ("*cli"): ... this new pattern.
10376
10377         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
10378         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
10379         New patterns.
10380         ("adddi3_64"): Rename to "*adddi3_64".
10381         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
10382         ("adddi3"): Adapt expander.
10383
10384         ("*addsi3_cc"): Allow "general_operand" for operand 2.
10385         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10386         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
10387
10388         ("addhi3", "addqi3"): Remove, replace by ...
10389         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
10390
10391         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
10392         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
10393         ("subdi3"): Replace by insn and splitter "*subdi3_31".
10394         ("subdi3"): New expander.
10395
10396         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
10397
10398         ("subhi3", "subqi3"): Remove, replace by ...
10399         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
10400
10401         ("*muldi3_sign"): New pattern.
10402         ("muldi3"): Do not clobber CC.
10403         ("mulsi3"): Likewise.
10404         ("mulsi_6432"): Likewise.
10405
10406 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10407
10408         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
10409         which can change CC0.
10410
10411 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
10412
10413         * gcse.c (adjust_libcall_notes): New function.
10414         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
10415
10416 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
10417
10418         * libgcc2.c (L_bb): Remove unneeded #includes.
10419         (__global_counters, __gthreads_active): Remove unused globals.
10420         (__bb_exit_func): Merge counts into files rather than appending.
10421         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
10422         (ALL_CFLAGS): ... to here.
10423
10424 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10425
10426         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
10427         (function_epilogue): Don't calculate function size.
10428         (ip2k_set_compare): Don't use lookup_const_double.
10429         (asm_file_start): Initialization of commands_in_file removed.
10430         (asm_file_end): Output of commands_in_file removed.
10431
10432         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
10433         __INT_MAX__.
10434
10435 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10436
10437         * c-opts.c (c_common_init_options): Check option array is
10438         sorted if checking enabled.
10439
10440 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
10441
10442         * c-pretty-print.c: #include "c-tree.h".
10443         (pp_c_simple_type_specifier): Tweak.
10444         (pp_c_storage_class_specifier): New.
10445         (pp_c_function_specifier): Likewise.
10446         (pp_c_declaration_specifiers): Likewise.
10447         (pp_c_init_declarator): Likewise.
10448         (pp_c_declaration): Likewise.
10449         (pp_c_direct_declarator): Stub.
10450         (pp_c_declarator): Likewise.
10451         (pp_c_parameter_declaration): Likewise.
10452
10453 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10454
10455         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
10456         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
10457         struct deferred_opt): New.
10458         (COMMAND_LINE_OPTIONS): Add -M*.
10459         (missing_arg): Update.
10460         (c_common_decode_option): Handle -M*.
10461         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
10462         don't call cpp_post_options.
10463         (c_common_finish, check_deps_environment_vars): Update.
10464         * cppfiles.c (stack_include_file, handle_missing_header): Update.
10465         * cpphash.h (CPP_PRINT_DEPS): Remove.
10466         * cppinit.c: Don't include version.h.
10467         (cpp_create_reader): Don't call deps_init.  Initialize
10468         warn_long_long.
10469         (cpp_read_main_file): Init deps if necessary.
10470         (cpp_destroy): Conditionally free deps.
10471         (cpp_finish): Update.
10472         (no_tgt): Remove.
10473         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
10474         (cpp_post_options): Rename post_options.
10475         * cpplib.h (struct cpp_options): Remove some dependency options;
10476         move others to a new structure.
10477         (cpp_post_options): Remove.
10478         (cpp_finish): Comment.
10479         * fix-header.c (read_scan_file): Don't call cpp_post_options.
10480
10481 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10482
10483         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
10484         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
10485         MMIX_rR_REGNUM as clobbered.
10486         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
10487
10488 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
10489
10490         * diagnostic.h (output_formatted_scalar): Rename from
10491         output_formatted_integer.
10492         * diagnostic.def: Add DK_DEBUG.
10493         * diagnostic.c (output_decimal): Adjust.
10494         (output_long_decimal): Likewise.
10495         (output_unsigned_decimal): Likewise.
10496         (output_octal): Likewise.
10497         (output_long_octal): Likewise.
10498         (output_hexadecimal): Likewise.
10499         (output_long_hexadecimal): Likewise.
10500         * c-pretty-print.c (pp_c_type_specifier): New function.
10501         (pp_c_specifier_qualifier_list): Likewise.
10502         (pp_c_abstract_declarator): Likewise.
10503         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
10504
10505 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
10506
10507         * doc/trouble.texi (Disappointments): Add static constructor and
10508         destructor dependency information for AIX.
10509
10510 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10511
10512         * cpphash.h (struct printer): New from cppmain.c.
10513         (cpp_reader): New member.
10514         * cppmain.c (struct printer): Move to cpphash.h.
10515         (options, print): Remove.
10516         (account_for_newlines, print_line, maybe_print_line,
10517         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
10518         scan_translation_unit_trad, cb_line_change, cb_ident,
10519         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
10520         cb_def_pragma): Make reentrant.
10521
10522 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10523
10524         * real.c (ieee_64): Always define.
10525         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10526         (dec_h): Not used yet, hide it.
10527         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
10528         macro controlling use.
10529         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10530
10531 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10532
10533         * i386.md (tablejump): Sign extend the operand.
10534         * i386.c (classify_argument): Fix missed case from previous patch.
10535
10536 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10537
10538         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
10539         to c-copts.c.
10540         (warn_multichar): Die.
10541         (cb_register_builtins): Export.
10542         * c-common.h (warn_multichar, preprocess_file): Remove.
10543         (cb_register_builtins): New.
10544         * c-lang.c (c_init): Remove.
10545         (LANG_HOOKS_INIT): Use c_objc_common_init.
10546         * c-lex.c (init_c_lex): Don't canonicalize filename.
10547         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
10548         (preprocess_file): Make static.  Update for cpplib.
10549         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
10550         (c_common_post_options): Set some cpp options here.
10551         (c_common_init): Move from c-common.c.
10552         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
10553         * cpplib.h (struct cpp_options): Remove in_fname.
10554         (cpp_preprocess_file): Update.
10555         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
10556
10557 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10558
10559         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
10560
10561 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10562
10563         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
10564         backslash in comment preceeding macro definition.
10565         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
10566         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
10567         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
10568
10569 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10570
10571         * expr.c (store_expr): In condition for checking if value is
10572         generated in TARGET, move call to expr_size last.
10573
10574 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10575
10576         * c-common.c (c_common_init): Call preprocess_file instead.
10577         (c_common_finish): Move to c-opts.c.
10578         * c-common.h (preprocess_file): new.
10579         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
10580         check_deps_environment_vars, c_common_finish): New.
10581         (c_common_decode_option): Update for out_fname and dependencies.
10582         * cppinit.c (init_dependency_output, output_deps): Remove.
10583         (cpp_destroy): Update prototype.
10584         (cpp_add_dependency_target): New.
10585         (cpp_read_main_file): Don't overlay a buffer.
10586         (cpp_finish): Take a deps output stream and write deps to it.
10587         Return the error count.
10588         (cpp_post_options): Don't canonicalize out_fname, or do anything
10589         with dependencies.
10590         * cpplib.h (struct cpp_options): Remove out_fname and
10591         preprocess_only.
10592         (cpp_add_dependency_target): New.
10593         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
10594         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
10595         set preprocess_only.  Don't handle the output stream directly.
10596
10597 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10598
10599         * dsp16xx.c (print_operand): Fix format specifier.
10600         * dsp16xx.md: Avoid automatic aggregate initialization.
10601         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
10602         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
10603         integer constant modifier.
10604         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
10605         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
10606         guards.
10607         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
10608         * v850.c (v850_select_section): Mark parameter with
10609         ATTRIBUTE_UNUSED.
10610         * global.c (global_alloc): Const-ify.
10611         * ra-colorize.c (hardregset_to_string): Fix format specifier.
10612
10613 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10614
10615         * darwin-c.c (darwin_pragma_options): Const-ify.
10616         * darwin.c (machopic_non_lazy_ptr_name,
10617         machopic_validate_stub_or_non_lazy_ptr): Likewise.
10618         (machopic_indirect_data_reference): Wrap variables in macros
10619         controlling their use.
10620         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
10621         (machopic_select_section): Use parentheses around && within ||.
10622         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
10623
10624 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10625
10626         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
10627         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
10628         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
10629         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
10630         mdr_try_remove_redundant_insns, track_w_reload,
10631         mdr_try_wreg_elim): Make function static to match prototype.
10632         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
10633         parameter with ATTRIBUTE_UNUSED.
10634
10635 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10636
10637         * arc.c (arc_init): Don't use ISO C style function definitions.
10638         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
10639         arm_get_strip_length, arm_strip_name_encoding): Likewise.
10640         * avr.h (progmem_section): Likewise.
10641         * h8300.c h8300_asm_insn_count): Likewise.
10642         * m32r.c (init_idents): Likewise.
10643         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
10644         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
10645         * xtensa.c (xtensa_build_va_list): Likewise.
10646
10647 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10648
10649         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
10650         * c-opts.c (parse_option): Rename find_opt.
10651         (set_std_c99): New function.
10652         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
10653         (missing_arg): Remove OPT_std_bad.  Handle -o.
10654         (c_common_decode_option): Handle input and output file names,
10655         -o and -remap.  Clean up -std= handling.
10656         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
10657         (cpp_handle_option): Similarly.  Don't handle filenames.
10658
10659 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
10660
10661         * i386.c (classify_argument): Fix computing of field's offsets.
10662
10663 2002-08-11  Andreas Jaeger  <aj@suse.de>
10664
10665         PR target/7531:
10666         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
10667
10668 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
10669
10670         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
10671         reference to clk_objective_c with flag_objc.
10672         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
10673         Likewise.
10674         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10675
10676 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
10677
10678         * c-opts.c (set_std_cxx98, set_std_c89): New.
10679         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10680         (c_common_decode_option): Handle new switches from cppinit.c.
10681         Add -std=gnu++98.
10682         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
10683         (no_arg, no_num): Remove.
10684         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
10685         switches apart from -lang-objc and lang-asm.
10686         (cpp_handle_option): Similarly.
10687         * cpplib.h (cpp_set_lang): New.
10688         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
10689         -std=gnu++98.
10690         * objc/lang-specs.h: Remove -ansi.
10691
10692 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10693                                Graham Stott
10694
10695         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
10696         errors.
10697
10698 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10699
10700         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
10701         emit_jump_insn): Fix uninitialized variable.
10702         * gcov.c (init_line_info): Likewise.
10703         * genautomata.c (transform_3): Add braces around ambiguous
10704         else.
10705         * ifcvt.c (cond_exec_process_insns): Mark parameter with
10706         ATTRIBUTE_UNUSED.
10707         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
10708         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
10709         variable.
10710
10711         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
10712         warnings in output files.
10713
10714 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
10715
10716         * c-common.c (flag_objc): New.
10717         * c-common.h (c_language_kind): Get rid of clk_objective_c
10718         enum value.
10719         (flag_objc): New extern declaration.
10720         * c-decl.c (implicitly_declare): Call objc_check_decl
10721         instead of maybe_objc_check_decl.
10722         (finish_decl): Likewise.
10723         (grokfield): Likewise.
10724         (finish_struct): Likewise.
10725         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
10726         (maybe_objc_comptypes): Rename to objc_comptypes.
10727         (maybe_building_objc_message_expr): Rename to
10728         objc_message_selector.
10729         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10730         replace with flag_objc as needed.
10731         * c-opts.c (c_common_init_options): Likewise.
10732         (c_common_decode_option): Likewise.
10733         * c-parse.in (init_reswords): Likewise.
10734         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10735         (maybe_objc_comptypes): Rename to objc_comptypes.
10736         (maybe_building_objc_message_expr): Rename to
10737         objc_message_selector.
10738         * c-typeck.c (comptypes): Call objc_comptypes instead of
10739         maybe_objc_comptypes, and/or objc_message_selector instead of
10740         maybe_building_objc_message_expr.
10741         (comp_target_types): Likewise.
10742         (convert_for_assignment): Likewise.
10743         (warn_for_assignment): Likewise.
10744         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10745         independently of those for other languages.
10746         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10747         (maybe_objc_check_decl): Delete.
10748         (maybe_building_objc_message_expr): Rename to
10749         objc_message_selector.
10750         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10751         clk_objective_c; set flag_objc flag.
10752
10753 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10754
10755         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10756
10757 2002-08-09  Dale Johannesen  <dalej@apple.com>
10758
10759         * config/rs6000/rs6000.md: Add sibcall patterns.
10760         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10761         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10762         Rewritten to handle sibcalls.
10763         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10764         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10765
10766 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10767
10768         * profile.c (da_file_name): New static var.
10769         (init_branch_prob): Initialize it.
10770         (end_branch_prob): Remove da file.
10771
10772         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10773         * configure.in (coverage_flags): Default to nothing.
10774         * configure: Rebuilt.
10775
10776 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10777
10778         * Makefile.in (c-opts.o): Update
10779         * c-opts.c: Include intl.h.
10780         (print_help): Move from cppinit.c.  Remove unused options.
10781         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10782         (missing_arg): Complain for switches without an argument.
10783         (c_common_decode_option): Reject missing joined arguments.
10784         Handle new switches from cppinit.c.
10785         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10786         (cpp_handle_option): Similarly.
10787         (print_help): Moved to c-opts.c.
10788         * cpplib.h (struct cpp_options): Remove help_only.
10789         * gcc.c (cpp_unique_options): Remove -$.
10790         * doc/cppopts.texi: Undocument -h.
10791
10792 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10793
10794         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10795         legitimate constant.
10796         (legitimate_pic_operand_p): Neither pic operand.
10797         (legitimate_address_p): But legitimate address.
10798         (get_thread_pointer): Generate MEM/u instead of CONST around
10799         UNSPEC_TP.
10800         (print_operand): Remove printing of UNSPEC_TP.
10801         (print_operand_address): And print it here.
10802
10803 2002-08-08  Devang Patel  <dpatel@apple.com>
10804
10805         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10806         when  -Wselector is used,if method for which selector is being
10807         created does not exist.
10808
10809 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10810
10811         * config/sh/sh.c (prepare_move_operands): Only call
10812         target_reg_operand if TARGET_SHMEDIA.
10813
10814 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10815
10816         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10817         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10818         two patches.
10819         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10820
10821 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10822             Richard Henderson  <rth@redhat.com>
10823
10824         * emit-rtl.c (gen_rtx_REG): After reload, only return
10825         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10826
10827 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10828
10829         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10830         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10831         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10832         macro.
10833
10834 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10835
10836         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10837         register.
10838         (thumb_expand_prologue): Likewise.
10839         (thumb_output_function_prologue): Likewise.
10840         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10841         the additional push of the PIC register.
10842
10843 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10844
10845         * configure.in (enable_coverage): New enable switch.
10846         * configure: Rebuilt.
10847         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10848         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10849         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10850         (mostlyclean): Remove coverage files.
10851         * doc/install.texi: Document enable_coverage.
10852
10853         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10854         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10855         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10856         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10857         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10858         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10859         files.
10860
10861 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10862
10863         * c-opts.c (cpp_opts): New.
10864         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10865         (c_common_decode_options): Handle cpplib switches.
10866         (c_common_init_options): Set cpp_opts.
10867         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10868         (cpp_handle_option): Similarly.
10869
10870 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10871
10872         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10873         (TARGET_ALTIVEC_ABI): Same.
10874         (TARGET_ALTIVEC_VRSAVE): Same.
10875
10876         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10877         icode not CODE_FOR_nothing.  Change switch to if.
10878
10879 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10880
10881         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10882
10883 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10884
10885         * stor-layout.c (place_union_field): For bitfields if
10886         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10887         TYPE_USER_ALIGN.
10888
10889 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10890
10891         * pa.c (struct deferred_plabel): Constify name field.
10892
10893 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10894
10895         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10896
10897 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10898
10899         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10900         local_prefix are the same.
10901         * configure: Rebuilt.
10902
10903 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10904             Richard Henderson  <rth@redhat.com>
10905
10906         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10907         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10908         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10909         (place_field): Likewise.
10910         * config/i386/i386.c (x86_field_alignment): Don't check
10911         DECL_USER_ALIGN here.
10912         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10913         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10914         prototype.
10915         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10916         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10917         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10918         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10919         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10920         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10921
10922 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10923
10924         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10925         * c-common.c: Don't include tree-inline.h.
10926         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10927         * c-common.h (c_common_decode_option): New.
10928         * c-decl.c (c_decode_option): Remove.
10929         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10930         * c-opts.c: New file.
10931         * c-tree.h (c_decode_option): Remove.
10932         * doc/passes.texi: Update.
10933         * objc/objc-act.c (objc_decode_option): Remove.
10934         * objc/objc-act.h (objc_decode_option): Remove.
10935         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10936         c_common_decode_option.
10937
10938 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10939
10940         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10941         dependency on TARGET_DOUBLE_FLOAT.
10942
10943 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10944
10945         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10946         overwrite callee-save registers.  Fix comment.
10947
10948 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10949
10950         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10951         in target_flags based on ISA, if it was not set on the command
10952         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10953         support Branch Likely instructions.
10954         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10955         (TARGET_BRANCHLIKELY): Likewise.
10956         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10957         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10958         ISA_HAS_BRANCHLIKELY.
10959         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10960         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10961         -mno-branch-likely options.
10962
10963 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10964
10965         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10966
10967         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10968         $(GCONFIG_H).
10969
10970 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10971
10972         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10973         declarations.
10974
10975         * testsuite/gcc.dg/tls/diag-3.c: New.
10976
10977 2002-08-06  Dale Johannesen  <dalej@apple.com>
10978
10979         * c-common.c (fname_decl): Use line number 0 for
10980         __func__, to avoid confusing debuggers.
10981
10982 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10983
10984         * gcov.c: Tidy.
10985         (struct line_info, struct coverage): New structures.
10986         (gcov_file_name, gcov_file): Remove globals.
10987         (output_data): Take source file parameter. Fix memory leak. Break
10988         up into ...
10989         (init_line_info, output_line_info, make_gcov_file_name,
10990         accumulate_branch_counts): ... here.
10991         (calculate_branch_probs, function_summary): Adjust.
10992         (main): Adjust.
10993         (function_*): Remove global variables.
10994
10995 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10996
10997         * dwarf2out.c: Remove unused macros.
10998
10999 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
11000
11001         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
11002
11003 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
11004
11005         * cppinit.c (struct lang_flags): Rename trigraphs std.
11006         (set_lang): Update.
11007         * cpplib.h (struct cpp_options): New member std.
11008         * cppmacro.c (_cpp_builtin_macro_text): Use std.
11009         (collect_args): Flag whether to swallow a possible future
11010         comma pasted with varargs.
11011         (replace_args): Use this flag.
11012         * doc/cpp.texi: Update varargs extension documentation.
11013
11014 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
11015
11016         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
11017
11018 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
11019
11020         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
11021         and MODE_CLASS_INT modes.
11022
11023 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
11024
11025         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
11026         --{enable,disable}-threads is given to configure.
11027         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
11028         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
11029         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
11030         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
11031         Remove thread_file setting here.
11032
11033 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
11034
11035         * doc/install.texi (Binaries): Update Bull Freeware URL.
11036
11037 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11038
11039         * doc/gcc.texi (Top): Rename Index to Keyword Index.
11040
11041 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
11042
11043         * gcov.c (output_data): Round to % to nearest, tweak formatting.
11044
11045 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
11046
11047         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
11048         of the operands into MINUS_EXPR if code is PLUS_EXPR.
11049
11050 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
11051
11052         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
11053         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
11054         drectve_section): Define.
11055         * config/i386/t-interix: Replace interix.o rule with winnt.o.
11056         * config/i386/interix.c: Remove.
11057
11058 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
11059
11060         * attribs.c: Don't include obstack.h.
11061         * builtins.c: Likewise.
11062         * cfganal.c: Likewise.
11063         * cfgbuild.c: Likewise.
11064         * cfgcleanup.c: Likewise.
11065         * emit-rtl.c: Likewise.
11066         * loop.c: Likewise.
11067         * stmt.c: Likewise.
11068
11069         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
11070
11071 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
11072
11073         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
11074
11075 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
11076
11077         * doc/invoke.texi: Remove duplicated paragraph describing
11078         TARGET_SWITCHES.
11079
11080 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
11081
11082         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
11083         * collect2.h (permanent_obstack): Delete declaration.
11084         * collect2.c (permanent_obstack): Delete definition.
11085         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
11086         * expr.c: Don't include obstack.h.
11087         (permanent_obstack): Delete declaration.
11088         * function.c: Don't include obstack.h.
11089         (permanent_obstack): Delete declaration.
11090         * integrate.c: Don't include obstack.h.
11091         (function_maybepermanent_obstack): Delete declaration.
11092         * print-tree.c (debug_tree): Use x*alloc not permalloc.
11093         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
11094         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
11095         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
11096         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
11097         of permalloc, expralloc, perm_calloc.
11098         * tree.c (permanent_obstack): Delete definition.
11099         (init_ttree): Rename from init_obstacks.
11100         (permalloc): Delete.
11101         (perm_calloc): Delete.
11102         (dump_tree_statistics): Don't print information about
11103         permanent_obstack.
11104         * varasm.c (assemble_start_function): Use xstrdup instead of
11105         permalloc/strcpy.
11106         (assemble_variable): Likewise.
11107         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
11108         permalloc.
11109         (unicosmk_add_extern): Likewise.
11110         * config/c4x/c4x.c (c4x_external_ref): Likewise.
11111         (c4x_global_label): Likewise.
11112         * config/frv/frv.c (frv_encode_section_info): Likewise.
11113         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
11114         (i386_pe_record_exported_symbol): Likewise.
11115         * config/mips/mips.c (mips_output_external): Likewise.
11116         (mips_output_external_libcall): Likewise.
11117         * config/pa/pa.c: (permanent_obstack): Delete declaration.
11118         (output_call): Use ggc_strdup instead of allocating on
11119         permanent_obstack.
11120         * config/romp/romp.c: Include ggc.h.
11121         (get_symref): Don't declare permanent_obstack, use ggc_strdup
11122         intead of permanent_obstack.
11123         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
11124         instead of permalloc.
11125         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
11126         instead of permalloc
11127         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
11128         instead of permalloc.
11129         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
11130         permalloc.
11131
11132 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
11133
11134         Contribute a port developed primarily by Michael Meissner,
11135         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
11136         * config.gcc: Add frv-elf target.
11137         * config/frv/cmovd.c: New file.
11138         * config/frv/cmovh.c: New file.
11139         * config/frv/cmovw.c: New file.
11140         * config/frv/frv-abi.h: New file.
11141         * config/frv/frv-asm.h: New file.
11142         * config/frv/frv-modes.def: New file.
11143         * config/frv/frv-protos.h: New file.
11144         * config/frv/frv.c: New file.
11145         * config/frv/frv.h: New file.
11146         * config/frv/frv.md: New file.
11147         * config/frv/frvbegin.c: New file.
11148         * config/frv/frvend.c: New file.
11149         * config/frv/lib1funcs.asm: New file.
11150         * config/frv/media.h: New file.
11151         * config/frv/modi.c: New file.
11152         * config/frv/t-frv: New file.
11153         * config/frv/uitod.c: New file.
11154         * config/frv/uitof.c: New file.
11155         * config/frv/ulltod.c: New file.
11156         * config/frv/ulltof.c: New file.
11157         * config/frv/umodi.c: New file.
11158         * config/frv/xm-frv.h: New file.
11159
11160         * config/frv/media.h: Removed again.
11161
11162 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11163
11164         * gcov.c (bb_file_time): New static variable.
11165         (object_directory): May also be object file.
11166         (preserve_paths): New static variable.
11167         (print_usage): Adjust.
11168         (options): Adjust.
11169         (process_args): Adjust.
11170         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
11171         file. Find modification date on bb file.
11172         (read_profile): Don't rewind a NULL file.
11173         (format_hwint): New static function.
11174         (function_summary): Use format_hwint.
11175         (output_data): SOURCE_FILE_NAME is never relative to
11176         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
11177         mangling. Adjust output format to make it more machine readable.
11178         * doc/gcov.texi: Document & clarify semantics.
11179
11180 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
11181
11182         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
11183
11184 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11185
11186         * gcc.c (cc1_options): Pass output file as auxbase when
11187         appropriate.
11188         * profile.c (init_branch_prob): FILENAME has already had ending
11189         stripped.
11190         * final.c (end_final): Likewise.
11191         * toplev.c (aux_base_name): New global.
11192         (compile_file): Pass aux_base_name to init init_branch_prob and
11193         end_final.
11194         (independent_decode_option, case 'a'): New auxinfo options.
11195         (case 'd'): Protect against mising basename.
11196         (do_compile): Initialize aux_base_name.
11197         * toplev.h (aux_base_name): New global.
11198         * doc/invoke.texi: Adjust documentation.
11199
11200 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11201
11202         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
11203         of TARGET_ALIGN_DOUBLE.
11204
11205 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
11206
11207         * diagnostic.c (inform): New function.
11208         * diagnostic.h (inform): Declare.
11209
11210 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
11211
11212         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
11213         (movhi_internal): Same.
11214         (movqi_internal): Same.
11215         (movdi_internal64): Same.
11216
11217         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
11218
11219         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
11220         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
11221         (COMMON_ASM_OP): Define.
11222         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
11223         Use ALIGN parameter.
11224         (LOCAL_COMMON_ASM_OP): Define.
11225         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
11226
11227 2002-08-03  Roger Sayle  <roger@eyesopen.com>
11228
11229         * builtins.def: Define new builtin functions exp, expf, expl,
11230         log, logf and logl (and their __builtin_* variants).
11231         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
11232         Define exp_optab and log_optab.
11233         * optabs.c (init_optans): Initialize exp_optab and log_optab.
11234         * genopinit.c (optabs): Implement exp_optab and log_optab
11235         using exp?f2 and log?f2 patterns.
11236         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
11237         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
11238         (expand_builtin): Ignore the new builtins (and all cos and
11239         sin variants) when not optimizing.  Expand new builtins via
11240         expand_builtin_mathfn when flag_unsafe_math_optimizations.
11241
11242         * doc/extend.texi: Document new exp and log builtins.
11243         * doc/md.texi: Document new exp?f2 and log?f2 patterns
11244         (and previously undocumented cos?f2 and sin?f2 patterns).
11245
11246 2002-08-03  Jason Merrill  <jason@redhat.com>
11247
11248         * explow.c (int_expr_size): New fn.
11249         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
11250         * expr.h: Declare it.
11251
11252 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
11253
11254         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
11255         gengtype-* dependencies.
11256
11257 2002-08-02  Eric Christopher  <echristo@redhat.com>
11258
11259         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
11260         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
11261         #ifndef to #undef.
11262         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
11263
11264 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
11265
11266         PR optimize/7067
11267         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
11268         small if optimizing for size.
11269
11270 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
11271
11272         * configure.in (FORBUILD): Use $build_alias.
11273         * configure: Regenerated.
11274
11275 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
11276
11277         * config.gcc: Don't include mips/abi64.h in $tm_file.
11278         * hard-reg-set.h (call_really_used_regs): Declare.
11279         * config/mips/abi64.h: Remove file.
11280         * config/mips/linux.h,
11281         * config/mips/iris6.h: Don't include it.
11282         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
11283         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
11284         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
11285         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
11286         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
11287         Bring across definitions from abi64.h.
11288         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
11289         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
11290         (struct mips_args): Use it.
11291         * config/mips/mips.c (mips_conditional_register_usage): Define.
11292
11293 2002-08-02  Jason Merrill  <jason@redhat.com>
11294
11295         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
11296         * langhooks.c (lhd_expr_size): Define default.
11297         * langhooks.h (struct lang_hooks): Add expr_size.
11298         * explow.c (expr_size): Call it.
11299         * expr.c (store_expr): Don't copy an expression of size zero.
11300         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
11301         to store.
11302         * Makefile.in (builtins.o): Depend on langhooks.h.
11303
11304 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11305
11306         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
11307         * ra-debug.c: Include "tm_p.h".
11308         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
11309
11310 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
11311
11312         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
11313         when not honoring signalling NaNs.
11314         (simplify_ternary_operation): a == b has a definite value
11315         when not honoring NaNs.
11316
11317 2002-08-02  Jason Merrill  <jason@redhat.com>
11318
11319         * gdbinit.in (pct): New macro.
11320
11321 2002-08-01  Stan Shebs  <shebs@apple.com>
11322             Andreas Tobler  <toa@pop.agri.ch>
11323
11324         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
11325         plays nice with Darwin headers.
11326         (_BSD_RUNE_T_DEFINED_): Likewise.
11327
11328 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11329
11330         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
11331         * cppinit.c (cpp_post_options): Likewise.
11332
11333         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
11334         warning about 'LL' suffix (but not 'ULL' etc) when
11335         -Wno-long-long is in effect.
11336
11337         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
11338         Check for failing time()/localtime(), issue a warning, and
11339         make __TIME__ and __DATE__ expand to fallback strings.
11340
11341         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
11342         and __TIME__ when the date and time cannot be determined.
11343
11344 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11345
11346         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
11347
11348 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
11349
11350         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
11351
11352 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11353
11354         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
11355         (mipsisa64sb1el-*-elf*): Likewise.
11356         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
11357         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
11358         (TARGET_SB1, TUNE_SB1): New macros.
11359         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
11360         -mtune flags.
11361
11362 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
11363
11364         * varasm.c (asm_emit_uninitialized): Return false if global BSS
11365         and ASM_EMIT_BSS not supported by target.
11366         (assemble_variable): Do not duplicate uninitialized logic.
11367         Fall through if asm_emit_uninitialized failed.
11368
11369 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11370
11371         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
11372
11373 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11374
11375         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
11376         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
11377
11378         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
11379         HOST_BITS_PER_WIDE_INT == 64.
11380
11381 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11382
11383         * df.c (df_insn_table_realloc): Change parameter to unsigned.
11384         * optabs.c (expand_binop): Make variable unsigned.
11385         * simplify-rtx.c (simplify_subreg): Likewise.
11386         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
11387
11388 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11389
11390         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
11391
11392 2002-08-01  Richard Henderson  <rth@redhat.com>
11393
11394         * toplev.c (parse_options_and_default_flags): Don't set
11395         flag_reorder_blocks for -Os.
11396
11397         * config/avr/avr.c (avr_optimization_options): Remove.
11398         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
11399         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
11400         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
11401
11402 2002-08-01  H.J. Lu <hjl@gnu.org>
11403             Richard Henderson  <rth@redhat.com>
11404
11405         * output.h (DECL_READONLY_SECTION): Remove.
11406         (decl_readonly_section): Declare.
11407         * varasm.c (decl_readonly_section): New.
11408         (default_section_type_flags, default_select_section): Use it.
11409         * config/arm/pe.c (arm_pe_unique_section): Likewise.
11410         * config/i386/interix.c (i386_pe_unique_section): Likewise.
11411         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
11412         * config/mcore/mcore.c (mcore_unique_section): Likewise.
11413         * config/mips/mips.c (mips_unique_section): Likewise.
11414
11415 2002-08-01  Richard Henderson  <rth@redhat.com>
11416
11417         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
11418         refers to a subroutine parameter.
11419
11420 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
11421
11422         * varasm.c (assemble_visibility): Strip name encoding.
11423
11424 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
11425
11426         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
11427         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
11428         when there is no frame pointer.
11429         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
11430         registers properly.
11431         * config/ns32k/__unorddf2.c: New file.
11432         * config/ns32k/__unordsf2.c: New file.
11433         * config/ns32k/t-ns32k: New file.
11434         * config.gcc (ns32k-*-netbsd*): Use it.
11435
11436 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
11437
11438         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
11439
11440 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11441
11442         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
11443
11444 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
11445
11446         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
11447
11448 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
11449
11450         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
11451
11452 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11453
11454         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
11455         n_sets): Removed.
11456         (expr_hash_table, set_hash_table): Type changed to ...
11457         (struct hash_table): New type.
11458         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
11459         insert_expr_in_table, insert_set_in_table, compute_hash_table,
11460         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
11461         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
11462         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
11463         (alloc_hash_table): New.
11464         (free_set_hash_table, free_expr_hash_table): Merged to ...
11465         (free_hash_table): New.
11466         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
11467         (compute_hash_table_work): New.
11468         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
11469         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
11470         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
11471         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
11472         hoist_code, one_code_hoisting_pass,
11473         trim_ld_motion_mems): Altered due to changed type of hash tables.
11474
11475 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11476
11477         * final.c (output_alternate_entry_point):
11478         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
11479
11480 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11481
11482         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
11483         avoid ISO C style function definition.
11484
11485         * expr.c (expand_assignment): Delete unused variable.
11486
11487 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
11488
11489         * c-common.c (cb_register_builtins): Set
11490         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
11491         is given, and to 0 otherwise.
11492         * combine.c (simplify_if_then_else): HONOR_NANS
11493         implies FLOAT_MODE_P.
11494
11495 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11496
11497         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
11498         (cpp_handle_option): Don't handle it.
11499         (print_help): Update.
11500         * doc/cppopts.texi: Update.
11501
11502 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11503
11504         * c-common.c (cb_register_builtins): If C++, define
11505         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
11506         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
11507 cp:
11508         * lang-specs.h: Simplify in accordance with new code in
11509         c-common.c.
11510
11511 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11512
11513         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
11514         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
11515         * c-decl.c: Move all warning and flag variables to c-common.c.
11516         * c-format.c: Move all warning variables to c-common.c.
11517         * c-tree.h: Move all warning and flag declarations to c-common.h.
11518         * objc/objc-act.c: Move all warning variables to c-common.c.
11519         (flag_warn_protocol): Rename warn_protocol.
11520
11521 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11522
11523         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
11524
11525 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
11526
11527         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
11528         .section prefix.
11529
11530 2002-07-31  Stan Shebs  <shebs@apple.com>
11531
11532         * config.gcc (i[34567]86-*-darwin*): New configuration.
11533         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
11534         defining.
11535         (TARGET_ENCODE_SECTION_INFO): Ditto.
11536         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
11537         * config/darwin.c (machopic_indirect_data_reference): Remove
11538         setting of RTX_UNCHANGING_P.
11539         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
11540         not to be applied to sums.
11541         * config/i386/t-darwin: New file.
11542         * config/i386/darwin.h: New file.
11543         * config/i386/i386.h (TARGET_MACHO): Add default definition.
11544         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
11545         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
11546         label and not the GOT add.
11547         (constant_address_p): For Mach-O, seeing a CONST is enough.
11548         (legitimate_pic_address_disp_p): Add a Mach-O case.
11549         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
11550         (legitimize_pic_address): Use generic Mach-O code to legitimize.
11551         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
11552         if outputting a difference.
11553         (ix86_output_addr_diff_elt): Add Mach-O case.
11554         (ix86_expand_move): Similarly.
11555         (ix86_expand_call): Similarly.
11556         (current_machopic_label_num): New global.
11557         (machopic_output_stub): New function.
11558         (ix86_value_regno): New function.
11559         (ix86_function_value): Use it instead of VALUE_REGNO.
11560         (ix86_libcall_value): Ditto.
11561         * config/i386/unix.h (VALUE_REGNO): Remove.
11562
11563 2002-07-31  Graham Stott  <grahas@btinternet.com>
11564
11565         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
11566         hash for LABEL_REF's.
11567
11568 2002-07-31  Graham Stott  <grahams@btinternet.com>
11569
11570         * config/rs6000/rs6000.c (spe_init_builtins,
11571         altivec_init_builtins, rs6000_common_init_builtins):
11572         Replace ANSI with K&R function def.
11573
11574 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
11575
11576         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
11577         for CCFPmode.
11578
11579 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11580
11581         * config/mips/crtn.asm: Don't use __mips16 to determine the
11582         return-address offset.  Define RA to a suitable temporary
11583         register for the return address.
11584
11585 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11586
11587         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
11588         constraints to 'd'.
11589
11590 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
11591
11592         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
11593         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
11594         patch on 2002-07-29.)
11595         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11596
11597 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11598
11599         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
11600         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
11601         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
11602         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
11603         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
11604         (ASM_GLOBALIZE_LABEL): Delete.
11605         (GLOBAL_ASM_OP): Define.
11606
11607         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
11608
11609         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
11610         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
11611
11612 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
11613
11614         * doc/extend.texi (Hints implementation): Document that GCC
11615         mostly ignores `register'.
11616
11617 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
11618
11619         * flags.h: Declare flag_finite_math_only.
11620         Use it in definition of HONOR_NANS and
11621         HONOR_INFINITIES.
11622         * c-common.c (cb_register_builtins): Emit
11623         __FINITE_MATH_ONLY__ when flag_finite_math_only
11624         is set.
11625         * combine.c (simplify_if_then_else): If
11626         flag_finite_math_only is set, a == b has a
11627         definite value.
11628         * toplev.c: Initialize flag_finite_math_only.
11629         (set_flags_fast_math): Set it on -ffast-math.
11630         (flag_fast_math_set_p): Test it.
11631         * doc/invoke.texi: Document -ffinite-math-only.
11632
11633 2002-07-30  Richard Henderson  <rth@redhat.com>
11634
11635         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
11636         (noce_process_if_block): Likewise.
11637
11638 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
11639
11640         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
11641         Bail out early if false_expr is NULL and we'd crash due to this.
11642         * genemit.c (gen_expand): Recognize return insns even if the return
11643         appears in a parallel.
11644         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
11645         * config/fp-bit.c: Likewise.
11646         * doc/tm.texi: Document it.
11647
11648 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
11649             Zack Weinberg  <zack@codesourcery.com>
11650
11651         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
11652         CODE_FOR_nothing.  Change switch to if.
11653         (rs6000_expand_binop_builtin): Same.
11654         (rs6000_expand_builtin): Expand builtin if target support enabled.
11655         (rs6000_init_builtins): Init builtin if target support enabled.
11656         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
11657
11658 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11659
11660         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
11661
11662 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
11663
11664         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
11665
11666 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
11667
11668         * sh.md (cond_delay_slot): New attribute.
11669         (cbranch delay): Use it for anulled-true case.
11670         (stuff_delay_slot): New pattern.
11671         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
11672         delay slot insn.
11673         (gen_far_branch): Emit stuff_delay_slot pattern.
11674
11675 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11676
11677         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
11678
11679 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
11680
11681         * fold-const.c: Fix comment typos.
11682         * gcse.c: Likewise.
11683         * reload1.c: Likewise.
11684
11685 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11686
11687         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
11688         for TARGET_SPE.
11689
11690 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11691
11692         * c-pretty-print.h (pp_c_statement): Declare.
11693         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
11694         (pp_c_statement): Define.
11695
11696 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11697
11698         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
11699         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11700         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
11701         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
11702         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
11703         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
11704
11705         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
11706         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
11707
11708 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11709
11710         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
11711         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
11712         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
11713         (pp_c_expression): Update.
11714
11715 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11716
11717         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
11718         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
11719         * alpha/vms-ld.c (main): Likewise.
11720         * dsp16xx.c (double_reg_to_memory): Likewise.
11721         * mcore.c (mcore_expand_prolog): Likewise.
11722         * cppfiles.c (read_name_map): Likewise.
11723         * gensupport.c (process_rtx, identify_predicable_attribute,
11724         alter_test_for_insn): Likewise.
11725         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
11726
11727 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11728
11729         * builtins.c (expand_builtin):  Change the default behavior to
11730         only issue an error if the builtin function doesn't have a
11731         fallback library call.  Remove several cases handled by the
11732         new default.
11733
11734 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11735
11736         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11737         floating point format of the target is IEEE.
11738         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11739         format of the target is DEC.
11740
11741 2002-07-29  Richard Henderson  <rth@redhat.com>
11742
11743         * unroll.c (verify_addresses): Remove.
11744         (find_splittable_givs): Never split DEST_ADDR givs.
11745
11746 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11747
11748         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11749         is exhaustive.
11750         (Files): Improve documentation on generated source files.
11751
11752         * doc/extend.texi (Translation implementation): Document what
11753         diagnostics look like.
11754         (Identifiers implementation): Document that there's normally no
11755         limit on identifier names.
11756         (Integers implementation): Document two's complement.
11757         (Hints implementation): Document that GCC honors 'inline', mostly.
11758         (Preprocessing directives implementation): Document that GCC
11759         requires the current time.
11760
11761 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11762
11763         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11764         (pp_initializer): New macro.
11765         (pp_c_initializer): Declare.
11766         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11767         (pp_c_initializer): Define.
11768         (pp_c_initializer_list): New function.
11769         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11770         VECTOR_CST, CONSTRUCTOR.
11771         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11772         IMAGPART_EXPR.
11773         (pp_c_cast_expression): Handle FLOAT_EXPR.
11774         (pp_c_assignment_expression): Handle INIT_EXPR.
11775         (pp_c_expression): Update.
11776
11777 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11778
11779         * objc/objc-act.c (objc_init): Return immediately if filename
11780         is NULL.
11781
11782 2002-07-29  Eric Christopher  <echristo@redhat.com>
11783
11784         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11785         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11786         (SDB_DEBUGGING_INFO): Undefine.
11787         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11788         (PUT_SDB_SIZE): Remove.
11789         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11790         (STARTFILE_SPEC): Add isa3264 define.
11791         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11792         * config/mips/ecoff.h: Remove. and here...
11793         * config/mips/iris3.h: and here...
11794         * config/mips/sni-svr4.h: and here...
11795         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11796         Add assembler -mmdebug options for non-dwarf debugging.
11797         * config/mips/r3900.h: Remove debug info defines.
11798         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11799         * config/mips/isa3264.h: Ditto.
11800         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11801         change.
11802         * config/mips/t-elf: Ditto.
11803         * config/mips/t-ecoff: Ditto.
11804         * config/mips/t-r3900: Ditto.
11805         * config/mips/t-iris5-6: Ditto.
11806         * config/mips/t-isa3264: Ditto.
11807         * config/mips/t-linux: Remove.
11808         * config/mips/t-netbsd: Remove.
11809         * config/mips/t-mips: New file.
11810         * config/mips/t-gofast: Ditto.
11811         * config/mips/netbsd.h: Remove unnecessary undefines.
11812         * config/mips/linux.h: Remove #include of mips.h.
11813         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11814         for ecoff. Add gofast configure option for mips.
11815
11816 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11817
11818         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11819         linker scripts use STARTUP directives consistently.
11820         * configure: Regenerate.
11821         * config.in: Regenerate.
11822         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11823         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11824         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11825         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11826         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11827         will be the same.
11828
11829 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11830
11831         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11832
11833 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11834
11835         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11836
11837 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11838
11839         * config/rs6000/rs6000.md: Move altivec patterns from here...
11840
11841         * config/rs6000/altivec.md: ...to here.
11842
11843 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11844
11845         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11846
11847 2002-07-29  Richard Henderson  <rth@redhat.com>
11848
11849         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11850         set_mem_attributes and add BITPOS argument.  Subtract it from
11851         OFFSET when same is adjusted.
11852         (set_mem_attributes): New wrapper function.
11853         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11854         remove offset adjustment hack.
11855         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11856
11857 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11858
11859         * Makefile.in (C_OBJS): Include c-pretty-print.o
11860         (c-pretty-print.o): Add depency rule.
11861         * pretty-print.h: Add more macros.
11862         * c-pretty-print.c: New file.
11863         * c-pretty-print.h: Likewise.
11864
11865 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11866
11867         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11868         constants to __ev64_s32__.
11869         (__internal_ev_mwhgsmian): Same.
11870         (__internal_ev_mwhgsmfan): Same.
11871         (__internal_ev_mwhgssfan): Same.
11872         (__internal_ev_mwhgumiaa): Same.
11873         (__internal_ev_mwhgsmiaa): Same.
11874         (__internal_ev_mwhgsmfaa): Same.
11875         (__internal_ev_mwhgssfaa): Same.
11876
11877 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11878
11879         * varasm.c (assemble_variable): Narrow test for uninitialized
11880         without BSS target support.
11881
11882 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11883
11884         * profile.c: Add file comment describing the overall algorithm and
11885         structures.
11886         (struct edge_info): Add comments.
11887         (struct bb_info): Add comments.
11888         * basic-block.h (EDGE_*): Add comments.
11889         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11890
11891 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11892
11893         * config/xtensa/elf.h, config/xtensa/linux.h
11894         (TARGET_OS_CPP_BUILTINS): Define.
11895         (CPP_PREDEFINES): Remove.
11896         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11897         (CPP_SPEC): Remove.
11898
11899 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11900
11901         * gensupport.c: Include hashtab.h.
11902         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11903         maybe_eval_c_test): New routines and data structures to
11904         support insn elision.
11905         (init_md_reader): Read and initialize the condition_table.
11906         (read_md_rtx): Discard insn patterns whose C test is provably
11907         always false.
11908         * gensupport.h: Declare new functions and data structures.
11909
11910         * genconditions.c, dummy-conditions.c: New files.
11911         * Makefile.in: Build genconditions; run it to construct
11912         insn-conditions.c; build that and link it into most gen*
11913         programs.
11914         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11915         (GEN): Delete, unused.
11916         (STAGESTUFF): Update.
11917
11918         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11919         CODE_FOR_nothing for all elided patterns.
11920         (main): Tweaked to support this.
11921         * genflags.c (gen_proto): Emit a static inline generator
11922         function here for all elided patterns, which simply returns
11923         NULL_RTX.
11924         (gen_insn): Do not define HAVE_xxx for elided patterns.
11925         (main): Tweaked to support this.  No need to forward-declare
11926         struct rtx_def.
11927         * genrecog.c: Do not bother emitting the C test if it's known
11928         to be true at compile time.
11929
11930 2002-07-29  Mike Stump  <mrs@apple.com>
11931
11932         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11933         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11934
11935 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11936
11937         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11938         remove clobber of LR.
11939         (sibcall_insn, sibcall_value_insn): Update accordingly.
11940         (sibcall_epilogue): Remove debugging comment from assembler stream.
11941
11942 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11943
11944         * pretty-print.h: Define more macros.
11945         * diagnostic.h (output_formatted_integer): Moved from...
11946         * diagnostic.c: ... here.
11947
11948 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11949
11950         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11951
11952 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11953
11954         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11955         arguments.  Always use ".-symbol" as expression argument.
11956         * doc/tm.texi: Update to match.  Document requirement for
11957         ".size symbol, .-symbol" to be acceptable to assembler.
11958
11959         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11960         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11961         config/i386/freebsd-aout.h, config/i386/sco5.h,
11962         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11963         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11964
11965 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11966
11967         * Makefile.in (gengtype-lex.c): Fix error in last change.
11968
11969         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11970         backslash.
11971
11972         * Makefile.in (vmsdbgout.o): Depend on function.h.
11973
11974         * vmsdbgout.c: Include function.h.
11975
11976 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11977
11978         * prefix.c (update_path): Don't strip single `.' path components
11979         unless stripping a later `..' component.  Exit loop as soon as
11980         a valid path is found.
11981
11982 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11983
11984         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11985         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11986         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11987         floating point unordered comparisons (e.g. __builtin_isgreater)
11988         as const, and leave the remaining GCC_BUILTINs unchanged.
11989
11990         * c-decl.c (builtin_function): No need to explicitly mark
11991         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11992
11993 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11994
11995         * Makefile.in: rtlanal.o now depends upon real.h.
11996
11997         * flags.h [flag_signaling_nans]: New flag.
11998         [HONOR_SNANS]: New macro.
11999
12000         * toplev.c [flag_signaling_nans]: Initialize to false.
12001         (f_options): Add processing for "-fsignaling-nans".
12002         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
12003         (process_options): flag_signaling_nans implies flag_trapping_math.
12004
12005         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
12006         when -fsignaling-nans.  First step to implementing WG14's N965.
12007
12008         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
12009         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
12010         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
12011
12012         * simplify-rtx.c (simplify_relational_operation): Conditionalize
12013         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
12014
12015         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
12016         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
12017         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
12018         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
12019         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
12020
12021         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
12022
12023 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12024
12025         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
12026         * gengtype-lex.l (YY_USE_PROTOS): Undef.
12027         (YY_DECL): Define.
12028
12029 2002-07-27  Roger Sayle  <roger@eyesopen.com>
12030
12031         * doc/invoke.texi: Document that both -fno-builtin-foo and
12032         -fno-builtin are supported by the g++ front-end.
12033
12034 2002-07-27  Stan Shebs  <shebs@apple.com>
12035
12036         * configure.in: Rename config_gtfiles to target_gtfiles.
12037         * configure: Regenerate.
12038         * doc/gty.texi: Update reference.
12039         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
12040         instead of appending to it.
12041
12042 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
12043
12044         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
12045         vectors are split into two registers.
12046         (function_arg): Same.
12047
12048 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
12049
12050         * pa.md (extv): Check predicates before emitting extv_32.
12051
12052 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
12053
12054         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
12055         (rs6000_traceback): New var.
12056         (rs6000_override_options): Set rs6000_traceback.
12057         (rs6000_output_function_epilogue): Implement traceback options.
12058         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
12059         (rs6000_traceback_name): Declare.
12060
12061         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
12062         label reference when NO_PROFILE_COUNTERS.
12063
12064 2002-07-26  Jason Merrill  <jason@redhat.com>
12065
12066         * function.c (assign_parms): Handle frontend-directed pass by
12067         invisible reference.
12068
12069 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
12070
12071         * doc/cppopts.texi: Update.
12072
12073 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
12074
12075         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
12076         warnings on assertions.
12077
12078 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
12079
12080         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
12081         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
12082         RID_COMPL): Remove.
12083         * c-parse.in (rid_to_yy): Similarly.
12084
12085 2002-07-26  Jason Merrill  <jason@redhat.com>
12086
12087         * c-dump.c: Resurrect.
12088         * tree-dump.c: Move C-specific stuff to c-dump.c.
12089         * c-common.h: Declare c_dump_tree.
12090         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
12091         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
12092         (c-dump.o): New rule.
12093
12094 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
12095
12096         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
12097         PowerPC64.  Replace "T" and "S" constraints with "n" when the
12098         predicate will do.  Formatting fixes.
12099         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
12100         as for extzvsi_internal1.
12101
12102 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12103
12104         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
12105         DERIV_END_LABEL_FMT): Remove.
12106         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
12107
12108 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12109
12110         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
12111         Remove.
12112
12113 2002-07-25  Stan Shebs  <shebs@apple.com>
12114
12115         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
12116         local var dwarfp.
12117         (output_compiler_stub): Remove unused locals.
12118         (output_call): Always initialize line number.
12119
12120 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
12121
12122         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
12123         * sh.md (truncdiqi2, movqi_media): Likewise.
12124
12125 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12126
12127         * gcse.c (obstack_chunk_alloc): Remove.
12128         (gcse_alloc): Fix to count allocated bytes.
12129         * collect2.c (SYMBOL__MAIN): Remove.
12130
12131 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12132
12133         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
12134         HAVE_TARGET_EXECUTABLE_SUFFIX.
12135
12136 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
12137
12138         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
12139         SIZE, EXPR and OFFSET.
12140
12141 2002-07-25  Richard Henderson  <rth@redhat.com>
12142
12143         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
12144         in ARRAY_REF of DECL_P case.
12145
12146 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
12147
12148         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
12149         description.  Document -mips32, -mips64, and the associated -march
12150         values.  Describe the "mipsN" arguments to -march.  Say that the
12151         -mipsN options are equivalent to -march.  Reword the description
12152         of default type sizes.
12153         * toplev.h (target_flags_explicit): Declare.
12154         * toplev.c (target_flags_explicit): New var.
12155         (set_target_switch): Update target_flags_explicit.
12156         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
12157         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
12158         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
12159         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
12160         * config/mips/mips.h (mips_cpu_info): New struct.
12161         (mips_cpu_string, mips_explicit_type_size_string): Remove.
12162         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
12163         (MIPS_CPP_SET_PROCESSOR): New macro.
12164         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
12165         Define _MIPS_ARCH and _MIPS_TUNE.
12166         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
12167         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
12168         MIPS_ISA_DEFAULT were already defined.
12169         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
12170         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
12171         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
12172         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
12173         (ABI_GAS_ASM_SPEC): Remove.
12174         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
12175         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
12176         Invoke %(asm_abi_default_spec) if no ABI was specified.
12177         (CC1_SPEC): Remove ISA -> register-size rules.
12178         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
12179         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
12180         (mips_cpu_string, mips_explicit_type_size_string): Remove.
12181         (mips_cpu_info_table): New array.
12182         (mips_set_architecture, mips_set_tune): New fns.
12183         (override_options): Rework to make -mipsN equivalent to -march.
12184         Detect more erroneous cases, including those removed from CC1_SPEC.
12185         Don't change the ABI based on architecture, or vice versa.
12186         Unify logic with GAS.
12187         (mips_asm_file_start): Get architecture name from mips_arch_info.
12188         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
12189         (mips_parse_cpu): Take the name of the option as argument.  Handle
12190         'from-abi'.  Raise an error if the option is wrong.
12191         (mips_cpu_info_from_isa): New fn.
12192
12193 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
12194
12195         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
12196         (tablejump_mips162): Likewise.
12197
12198 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
12199
12200         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
12201         int_mode_for_mode.
12202
12203 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
12204
12205         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
12206         complaining.
12207         * c-common.h (c_sizeof): Adjust definition.
12208         (c_alignof): Likewise.
12209         * c-tree.h (c_sizeof_nowarn): Now macro.
12210         * c-typeck.c (c_sizeof_nowarn): Remove definition.
12211
12212 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12213
12214         * c-decl.c (c_decode_option): No need to handle switches
12215         cpplib handles.
12216
12217 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
12218
12219         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
12220         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
12221         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
12222         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
12223
12224         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
12225         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
12226         config/cris/aout.h, config/i386/freebsd-aout.h,
12227         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
12228         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
12229         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
12230         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
12231         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
12232         config/xtensa/elf.h, config/xtensa/linux.h:
12233         Use the new macros.
12234         Where possible, remove redundant definitions of SIZE_ASM_OP,
12235         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
12236
12237 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
12238
12239         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
12240         TARGET_ISEL, and TARGET_FPRS.
12241
12242         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
12243         -mabi=spe, -mabi=no-spe, and -misel=.
12244
12245         * config/rs6000/rs6000-protos.h: Add output_isel.
12246         Move vrsave_operation prototype here.
12247
12248         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
12249         (smaxsi3): Same.
12250         (uminsi3): Same.
12251         (umaxsi3): Same.
12252         (abssi2_nopower): Disallow when TARGET_ISEL.
12253         (*ne0): Same.
12254         (negsf2): Change to expand and rename old pattern to *negsf2.
12255         (abssf2): Change to expand and rename old pattern to *abssf2.
12256
12257         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
12258         fixunssfsi2.
12259
12260         Change patterns that check for TARGET_HARD_FLOAT or
12261         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
12262
12263         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
12264         rs6000_isel, rs6000_fprs, rs6000_isel_string.
12265         (rs6000_override_options): Add 8540 case to
12266         processor_target_table.
12267         Set rs6000_isel for the 8540.
12268         Call rs6000_parse_isel_option.
12269         (enable_mask_for_builtins): New.
12270         (rs6000_parse_isel_option): New.
12271         (rs6000_parse_abi_options): Add spe and no-spe.
12272         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
12273         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
12274         for TARGET_HARD_FLOAT.
12275         Add case for SPE_VECTOR_MODE.
12276         (rs6000_legitimize_reload_address): Handle SPE vector modes.
12277         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
12278         vector modes.
12279         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
12280         (rs6000_emit_move): Check for TARGET_FPRS.
12281         Add cases for SPE vector modes.
12282         (function_arg_boundary): Return 64 for SPE vector modes.
12283         (function_arg_advance): Check for TARGET_FPRS and
12284         Handle SPE vectors.
12285         (function_arg): Same.
12286         (setup_incoming_varargs): Check for TARGET_FPRS.
12287         (rs6000_va_arg): Same.
12288         (struct builtin_description): Un-constify mask field.  Move up in
12289         file.
12290         (bdesc_2arg): Un-constify and add SPE builtins.
12291         (bdesc_1arg): Same.
12292         (bdesc_spe_predicates): New.
12293         (bdesc_spe_evsel): New.
12294         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
12295         (rs6000_expand_binop_builtin): Same.
12296         (bdesc_2arg_spe): New.
12297         (spe_expand_builtin): New.
12298         (spe_expand_predicate_builtin): New.
12299         (spe_expand_evsel_builtin): New.
12300         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
12301         (rs6000_init_builtins): Initialize SPE builtins.  Call
12302         rs6000_common_init_builtins.
12303         (altivec_init_builtins): Move all non-altivec builtin code to...
12304         (rs6000_common_init_builtins): ...here.  New function.
12305         (branch_positive_comparison_operator): Allow NE code for SPE.
12306         (ccr_bit): Return correct ccr bit for SPE fp.
12307         (print_operand): Emit crnor in 'D' case for SPE.
12308         New case 't'.
12309         Add SPE code for 'y' case.
12310         (rs6000_generate_compare): Generate rtl for SPE fp.
12311         (output_cbranch): Handle SPE hard floats.
12312         (rs6000_emit_cmove): Handle isel.
12313         (rs6000_emit_int_cmove): New.
12314         (output_isel): New.
12315         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
12316         64-bits for SPE.
12317         (debug_stack_info): Add SPE info.
12318         (gen_frame_mem_offset): New.
12319         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
12320         Change mode of frame pointer, when saving it, to Pmode.
12321         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
12322         Misc cleanups and use gen_frame_mem_offset when appropriate.
12323
12324         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
12325         (TARGET_SPE_ABI): New.
12326         (TARGET_SPE): New.
12327         (TARGET_ISEL): New.
12328         (TARGET_FPRS): New.
12329         (FIXED_SCRATCH): New.
12330         (RTX_COSTS): Add PROCESSOR_PPC8540.
12331         (ASM_CPU_SPEC): Add case for 8540.
12332         (TARGET_OPTIONS): Add isel= case.
12333         (rs6000_spe_abi): New.
12334         (rs6000_isel): New.
12335         (rs6000_fprs): New.
12336         (rs6000_isel_string): New.
12337         (UNITS_PER_SPE_WORD): New.
12338         (LOCAL_ALIGNMENT): Adjust for SPE.
12339         (HARD_REGNO_MODE_OK): Same.
12340         (DATA_ALIGNMENT): Same.
12341         (MEMBER_TYPE_FORCES_BLK): New.
12342         (FIRST_PSEUDO_REGISTER): Set to 113.
12343         (FIXED_REGISTERS): Add SPE registers.
12344         (reg_class): Same.
12345         (REG_CLASS_NAMES): Same.
12346         (REG_CLASS_CONTENTS): Same.
12347         (REGNO_REG_CLASS): Same.
12348         (REGISTER_NAMES): Same.
12349         (DEBUG_REGISTER_NAMES): Same.
12350         (ADDITIONAL_REGISTER_NAMES): Same.
12351         (CALL_USED_REGISTERS): Same.
12352         (CALL_REALLY_USED_REGISTERS): Same.
12353         (SPE_ACC_REGNO): New.
12354         (SPEFSCR_REGNO): New.
12355         (SPE_SIMD_REGNO_P): New.
12356         (HARD_REGNO_NREGS): Adjust for SPE.
12357         (VECTOR_MODE_SUPPORTED_P): Same.
12358         (REGNO_REG_CLASS): Same.
12359         (FUNCTION_VALUE): Same.
12360         (LIBCALL_VALUE): Same.
12361         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
12362         (SPE_VECTOR_MODE): New.
12363         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
12364         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
12365         (rs6000_stack): Add spe_gp_size, spe_padding_size,
12366         spe_gp_save_offset.
12367         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
12368         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
12369         (SPE_CONST_OFFSET_OK): New.
12370         (rs6000_builtins): Add SPE builtins.
12371
12372         * testsuite/gcc.dg/ppc-spe.c: New.
12373
12374         * config/rs6000/eabispe.h: New.
12375
12376         * config/rs6000/spe.h: New.
12377
12378         * config/rs600/spe.md: New.
12379
12380         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
12381         __SIMD__ for TARGET_SPE.
12382
12383         * config.gcc: Add powerpc-*-eabispe* case.
12384         Add spe.h to user headers for powerpc.
12385
12386 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12387
12388         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
12389         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12390         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
12391
12392 2002-07-24  Richard Henderson  <rth@redhat.com>
12393
12394         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
12395         form when not optimizing.
12396
12397 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
12398
12399         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
12400         thread_pointer_rtx as unchanging.
12401
12402 2002-07-24  Michael Matz  <matz@suse.de>
12403
12404         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
12405         (free_reg): Use it.
12406
12407 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
12408
12409         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
12410         pattern.
12411         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
12412         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
12413
12414 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12415
12416         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
12417         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12418         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
12419
12420 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
12421
12422         * toplev.c (rest_of_compilation): Dump loops before clobbering
12423         the structure.
12424
12425 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12426
12427         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
12428
12429 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
12430
12431         PR optimization/7291
12432         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
12433         problem on x86_64.
12434
12435 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
12436
12437         * pretty-print.h: Add macros from cp/error.c
12438
12439 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12440
12441         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
12442         (mask64_2_operand): Declare.
12443         (build_mask64_2_operands): Declare.
12444         (and64_2_operand): Declare.
12445         (extract_MB): Declare.
12446         (extract_ME): Declare.
12447         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
12448         CONST_DOUBLE code.
12449         (mask_operand_wrap): New insn predicate.
12450         (mask64_2_operand): Likewise.
12451         (and64_2_operand): Likewise.
12452         (build_mask64_2_operands): New function.
12453         (extract_MB): New function.
12454         (extract_ME): New function.
12455         (print_operand <case m,M>): Use extract_MB and extract_ME.
12456         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
12457         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
12458         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
12459         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
12460         * config/rs6000/rs6000.md (andsi3_internal3): New
12461         (andsi3_internal3+1): Enable split for powerpc64.
12462         (andsi3_internal3+2): New split.
12463         (andsi3_internal4): Renamed old andsi3_internal3.
12464         (andsi3_internal5): New.
12465         (andsi3_internal5+1): Enable split for powerpc64.
12466         (andsi3_internal5+2): New split.
12467         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
12468         (anddi3): Handle 't' constraint.
12469         (anddi3+1): New split.
12470         (anddi3_internal2): Handle 't' constraint.
12471         (anddi3_internal2+1): New split.
12472         (anddi3_internal3): Handle 't' constraint.
12473         (anddi3_internal3+1): New split.
12474
12475 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12476
12477         * config/rs6000/rs6000.md: Remove scratch reg on insns using
12478         addze and similar (plus (comparison r1 r2) r3) insns.  Add
12479         missing scratch reg in one case.  Formatting fixes.
12480
12481 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
12482
12483         * cppexp.c (parse_defined): Mark macro used.
12484         * cpphash.h (struct cpp_macro): New member "used".
12485         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
12486         (struct cpp_reader): New member.
12487         * cppinit.c (cpp_finish_options): Set first_unused_line.
12488         (cpp_finish): Warn of unused macros if requested.
12489         (OPT_TABLE): New switches.
12490         (cpp_handle_option): Handle them.
12491         * cpplib.c (do_undef): Warn if macro unused.
12492         (do_ifdef, do_ifndef): Mark macro used.
12493         * cpplib.h (struct cpp_options): New member.
12494         * cppmacro.c (_cpp_warn_if_unused_macro): New.
12495         (enter_macro_context): Mark macro used.
12496         (_cpp_create_definition): Mark macro unused; warn if unused
12497         when redefined.
12498         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
12499         Mark macros used.
12500         * doc/cppopts.texi: Update.
12501
12502 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12503
12504         * dwarf2out.c (SECTION_ASM_OP,
12505         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12506         * system.h (SECTION_ASM_OP): Poison.
12507         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
12508         * config/alpha/alpha-interix.h, config/mips/linux.h
12509         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12510         * config/mmix/mmix-protos.h, config/mmix/mmix.c
12511         (mmix_asm_output_define_label_difference_symbol): Remove.
12512         * config/mmix/mmix.h
12513         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12514         * doc/tm.texi: Remove documentation.
12515
12516 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
12517
12518         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
12519         (constrain_operands): Likewise.
12520         * regclass.c (record_reg_classes): Likewise.
12521         * reload.c (find_reloads): Likewise.
12522         * doc/md.texi: Likewise.
12523
12524         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
12525         * simplify-rtx.c (simplify_subreg): When converting to a non-int
12526         mode, try to convert to an integer mode of matching size first.
12527
12528         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
12529         from individual subregs, check that each subreg has been generated
12530         sucessfully.
12531
12532 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12533
12534         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
12535         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
12536         FOR_EACH_BB_IN_SBITMAP): Remove.
12537         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
12538         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
12539         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
12540         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
12541         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
12542         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
12543
12544 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12545
12546         * pretty-print.h: New file.
12547
12548 2002-07-23      Paul Koning     <pkoning@equallogic.com>
12549
12550         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
12551         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
12552         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
12553         (TARGET_G_FLOAT): Default to 0 if not defined.
12554         (ieeetoe): New, common routine to convert target format floats
12555         to internal form.
12556         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
12557         vs. others.
12558         (e113toe): Change to use ieeetoe.
12559
12560 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12561
12562         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
12563         IBM.
12564         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
12565         (e64toe): Remove special cases for DEC and IBM. Remove support for
12566         ARM_EXTENDED_IEEE_FORMAT.
12567         (e24toe): Remove special cases for DEC.
12568         (significand_size): Simplify. Indent.
12569         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
12570         (etoieee, toieee): New.
12571         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
12572         etoieee and toieee for IEEE arithmetic.
12573
12574 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12575
12576         * doc/extend.texi: Say ISO C90, not ISO C89.
12577         * doc/invoke.texi: Likewise.
12578         * doc/standards.texi: Likewise.
12579
12580 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
12581
12582         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
12583         Fix permutation of conversion and plus/mult.
12584         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
12585         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
12586         (expand_builtin_strncpy) Ditto.
12587         (expand_builtin_memset) Ditto.
12588
12589 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12590
12591         Fix PR/7363:
12592         * c-common.c (c_sizeof_or_alignof_type): New function.
12593         (c_alignof): Remove definition.
12594         * c-common.h (c_sizeof, c_alignof): Define as macros.
12595         (c_sizeof_or_alignof_type): Declare.
12596         (my_friendly_assert): Moved from cp/cp-tree.h
12597         * c-typeck.c (c_sizeof): Remove definition.
12598
12599 2002-07-23  Jan Hubicka  <jh@suse.cz>
12600
12601         * gcse.c (try_replace_reg): Use num_changes_pending.
12602         * recog.c (num_changes_pending): New function.
12603         (validate_replace_src): Use validate_repalce_src_group.
12604         (validate_replace_src_group): New.
12605         * recog.h (validate_repalce_src_group): New.
12606         (num_changes_pending): Likewise.
12607
12608 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12609
12610         * calls.c (emit_library_call_value_1): If
12611         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
12612         libcall, const call nor pure call.
12613
12614 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12615
12616         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
12617
12618 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12619
12620         * vmsdbgout.c (SECTION_ASM_OP): Remove.
12621
12622 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12623
12624         * config/i386/i386.c (AT_BP): Remove.
12625
12626 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12627
12628         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
12629         Default definition.
12630         * gcse.c: Don't define obstack_chunk_free.
12631         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
12632         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
12633         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
12634         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
12635         Don't define obstack macros.
12636
12637 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12638
12639         PR target/6744
12640         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
12641         ASM_OPERANDS instructions.
12642
12643 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12644
12645         PR target/7361
12646         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
12647         constant addresses only on 68HC12.
12648
12649 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12650
12651         * cppfiles.c (stack_include_file): Correct test of whether
12652         a dependency should be output.
12653
12654 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
12655
12656         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
12657
12658 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
12659
12660         * arm.md (movqi): If optimizing and we can create pseudos, use
12661         a ZERO_EXTEND to load from memory, then copy the result into the
12662         target.
12663         (movhi): Likewise, but only for ARMv4.
12664
12665 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12666
12667         * ssa-ccp.c (PHI_PARMS): Remove.
12668
12669 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
12670
12671         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
12672         on big-endian targets.
12673
12674 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12675
12676         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
12677         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
12678         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
12679         New formatting macros.
12680
12681         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
12682
12683 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12684
12685         * rtlanal.c (subreg_regno_offset): Return correct offset for
12686         big endian paradoxical subregs.
12687
12688         * optabs.c (expand_vector_unop): Don't expand using sub_optab
12689         if we got the wrong mode.
12690
12691         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
12692         * genrecog.c (write_switch, write_cond): Use it.
12693         * genemit.c (gen_exp): Likewise.
12694
12695 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12696
12697         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
12698
12699 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12700
12701         * c-decl.c (build_compound_literal): Defer compound literal decls
12702         until until file end to emit them only if they are actually used.
12703
12704 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12705
12706         * ra-build.c (check_conflict_numbers): Hide unused function.
12707         (livethrough_conflicts_bb): Avoid automatic aggregate
12708         initialization.
12709         (parts_to_webs_1): Avoid `U' integer constant modifier.
12710         (conflicts_between_webs): Wrap a variable in the macro controlling
12711         its usage.
12712         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
12713         (dump_igraph, dump_graph_cost): Avoid string concatenation
12714         (dump_static_insn_cost): Avoid automatic aggregate
12715         initialization.
12716         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
12717         initialization.
12718         (dump_cost): Avoid string concatenation
12719
12720 2002-07-21  Richard Henderson  <rth@redhat.com>
12721
12722         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
12723         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
12724
12725 2002-07-21  Richard Henderson  <rth@redhat.com>
12726
12727         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12728         that are not unrolled completely.
12729
12730 2002-07-21  Richard Henderson  <rth@redhat.com>
12731
12732         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12733         * loop.c (strength_reduce): Update.
12734         * toplev.c (rest_of_compilation): Do unrolling in the first
12735         loop pass, not the second.
12736
12737 2002-07-21  Richard Henderson  <rth@redhat.com>
12738
12739         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12740         when flag_argument_noalias == 2.
12741         * alias.c (nonoverlapping_memrefs_p): Handle that.
12742         * print-rtl.c (print_mem_expr): Likewise.
12743
12744 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12745
12746         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12747         instead of __negdi2 directly.
12748
12749 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12750
12751         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12752         * function.c (SYMBOL__MAIN): Remove definition.
12753         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12754         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12755         * profile.c (GCOV_INDEX_TO_BB): Remove.
12756         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12757         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12758
12759 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12760
12761         * c-lex.c (GET_ENVIRONMENT): Remove.
12762         * collect2.c (GET_ENV_PATH_LIST): Remove.
12763         (prefix_from_env): Use GET_ENVIRONMENT.
12764         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12765         (init_standard_includes): Use GET_ENVIRONMENT.
12766         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12767         * gcc.c (GET_ENV_PATH_LIST): Remove.
12768         (make_relative_prefix, process_command): Update.
12769         * protoize.c (GET_ENV_PATH_LIST): Remove.
12770         (do_processing): Update.
12771
12772 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12773
12774         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12775         (grokdeclarator): Likewise.
12776         * c-format.c (C_STD_NAME): Likewise.
12777         * c-lex.c (interpret_integer): Likewise.
12778         * c-typeck.c (build_array_ref): Likewise.
12779         * cpplex.c (_cpp_lex_direct): Likewise.
12780         * toplev.c (documented_lang_options): Likewise.
12781
12782 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12783
12784         * c-format.c (T99_I, T99_UI): Remove.
12785
12786 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12787
12788         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12789
12790 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12791
12792         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12793         do_local_cprop.
12794
12795 2002-07-21  Andreas Jaeger  <aj@suse.de>
12796
12797         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12798
12799 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12800
12801         Improvements for the ifcvt pass from Michael Meissner, with patches
12802         by Richard Sandiford <rsandifo@redhat.com>
12803         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12804         * ifcvt.c (cond_exec_changed_p): New static variable.
12805         (last_active_insn): New function, renamed from last_active_insn_p
12806         and changed to return the last active insn in a basic block. All
12807         callers updated.
12808         (block_fallthru): New function.
12809         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12810         IFCVT_MODIFY_INSN.  All callers updated.
12811         Return false if START or END are NULL.
12812         Handle case where we're processing an insn that is already
12813         conditional.
12814
12815         (noce_process_if_block): CE_INFO argument rather than
12816         multiple args containing the involved basic blocks.  All callers
12817         changed.
12818         (process_if_block, merge_if_block, find_if_block,
12819         cond_exec_process_if_block): Likewise.
12820
12821         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12822         changed.
12823         Use new function last_active_insn to simplify some code.
12824         New code to handle multiple tests.
12825         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12826         cond_exec_changed_p to TRUE.
12827
12828         (process_if_block): New code to handle multiple tests.
12829         (merge_if_block): Likewise.
12830         (find_if_header): New arg PASS.  Changed to return the currently
12831         processed basic block or NULL instead of true/false. All callers
12832         changed.
12833         Call IFCVT_INIT_EXTRA_FIELDS.
12834         (block_jumps_and_fallthru_p): New function.
12835         (find_if_block): Discover opportunities to convert multiple tests.
12836         Add additional debugging output.
12837         Update the ce_info structure before returning.
12838
12839         (if_convert): Run multiple passes of if-conversion.
12840         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12841         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12842         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12843         these macros.
12844
12845 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12846
12847         * gcse.c: Include cselib.h
12848         (constptop_register): Break out from ...
12849         (cprop_insn): ... here; kill basic_block argument.
12850         (do_local_cprop, local_cprop_pass): New functions.
12851         (one_cprop_pass): Call local_cprop_pass.
12852
12853 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12854
12855         * simplify-rtx.c (simplify_relational_operation): Optimize
12856         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12857
12858 2002-07-20  Michae Matz  <matz@suse.de>
12859
12860         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12861
12862 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12863
12864         * cppexp.c (struct op): Add token pointer.
12865         (check_promotion, CHECK_PROMOTION): New.
12866         (optab): Update.
12867         (_cpp_parse_expr): Update, use token pointer of struct op.
12868         (reduce): Warn about change of sign owing to promotion.
12869         * cppinit.c (cpp_handle_option): New warning if -Wall.
12870         * cpplib.h (struct cpp_options): New member.
12871
12872 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12873
12874         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12875         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12876         Power4 fpcompare.
12877         (fix_truncdfsi2_internal): Restore FPR preference.
12878         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12879         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12880
12881 2002-07-19  Momchil Velikov <velco@fadata.bg>
12882
12883         * reload1.c (reload_as_needed): Duplicate oldpat.
12884
12885 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12886
12887         PR optimization/7130
12888         * loop.h (struct loop_info): Add "preconditioned".
12889         * unroll.c (unroll_loop): Set it.
12890         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12891
12892 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12893
12894         * rtl.def (CODE_LABEL): Remove slot 8.
12895         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12896         (LABEL_ALTERNATE_NAME): Delete.
12897         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12898         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12899
12900         * final.c (output_alternate_entry_point): New.
12901         (final_scan_insn): Use it instead of
12902         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12903         of a case label being an alternate entry point.
12904
12905         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12906         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12907         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12908         (field deleted).
12909         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12910
12911         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12912         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12913         * doc/tm.texi: Delete documentation of
12914         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12915
12916 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12917
12918         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12919         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12920         (LINK_SPEC): Define.
12921         (STARTFILE_SPEC): Define.
12922         (ENDFILE_SPEC): Define.
12923
12924         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12925         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12926
12927         * config/mips/iris6-o32-gas.h: New file.
12928         * config.gcc (mips-sgi-irix6*o32): Use it.
12929
12930         * config/mips/t-iris5-gas: New file.
12931         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12932
12933 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12934
12935         * cppexp.c (ALWAYS_EVAL): Remove.
12936         (optab, reduce): Always evaluate.
12937         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12938         only if not skipping evaluation.
12939
12940 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12941
12942         * config/avr/avr.c (debug_hard_reg_set): Remove.
12943
12944 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12945
12946         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12947
12948 2002-07-19  Richard Henderson  <rth@redhat.com>
12949
12950         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12951
12952 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12953
12954         * prefix.c (update_path): Don't zap single `.' path components
12955         unless followed by another `.' and fix typo last patch.
12956
12957 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12958
12959         * cppexp.c (cpp_num_mul): Remove unused parameter.
12960         (UNARY, BINARY, OTHER, binary_handler): Remove.
12961         (ALWAYS_EVAL): New.
12962         (optab): Update.
12963         (reduce): Refactor to a large switch, don't use a function
12964         pointer.
12965
12966 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12967
12968         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12969
12970 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12971
12972         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12973         (sh_expand_binop_v2sf): Likewise.
12974         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12975         (int_gpr_dest, trunc_hi_operand): New functions.
12976         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12977         trunc_hi_operand.
12978         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12979         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12980         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12981         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12982         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12983         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12984         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12985         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12986         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12987         (movsf_ie+1): Likewise.
12988         (loaddi_trunc): Use int_gpr_dest predicate.
12989         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12990         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12991         (casesi_worker_0+[12], casesi_worker): Likewise.
12992         (shcompact_preserve_incoming_args): Likewise.
12993         (mov_nop): Use any_register_operand predicate.
12994         (mperm_w0): Use trunc_hi_operand predicate.
12995
12996 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12997
12998         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12999         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
13000         numbering.
13001
13002 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13003
13004         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
13005
13006 2002-07-18  Richard Henderson  <rth@redhat.com>
13007
13008         PR optimization/7147
13009         * ifcvt.c (noce_get_condition): Make certain that the condition
13010         is valid at JUMP.
13011
13012 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
13013
13014         * sh.c (barrier_align, push): Shut up compiler warnings.
13015         (initial_elimination_offset,sh_media_init_builtins): Likewise.
13016         (reg_no_subreg_operand): Delete.
13017
13018 2002-07-17  Bo Thorsen  <bo@suse.de>
13019
13020         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
13021         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
13022         (STARTFILE_SPEC): Remove hardcoded library paths.
13023         (ENDFILE_SPEC): Likewise.
13024
13025 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
13026
13027         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
13028
13029         * gcse.c (try_replace_reg): Do not return false positives.
13030
13031 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
13032
13033         * prefix.c: (update_path): Strip ".." components when prior dir
13034         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
13035
13036         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
13037         (ASM_OUTPUT_REG_POP): Likewise.
13038
13039 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
13040
13041         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
13042         adjustments to first_reg for profiling case.
13043         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
13044         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
13045         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
13046         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
13047         (ASM_OUTPUT_REG_POP): Define.
13048         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
13049         (ASM_OUTPUT_REG_POP): Undef.
13050
13051 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
13052
13053         * cpplib.c (do_sccs): Handle #sccs on all systems.
13054         * system.h (SCCS_DIRECTIVE): Poison.
13055         * config/darwin.h, config/freebsd.h, config/netbsd.h,
13056         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
13057         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
13058         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
13059         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
13060         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
13061         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
13062         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
13063         Remove all references to SCCS_DIRECTIVE.
13064         * doc/cpp.texi, doc/tm.texi: Update.
13065
13066 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
13067
13068         * regrename.c (maybe_mode_change): New function.
13069         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
13070
13071 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
13072
13073         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
13074         suppress addition when either ct or cf are zero.
13075
13076 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
13077             Glen Nakamura <glen@imodulo.com>
13078
13079         PR optimization/6713
13080         * loop.c (loop_givs_rescan): Explicitly delete the insn that
13081         sets a non-replaceable giv after issuing the new one.
13082
13083 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
13084
13085         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
13086         eval_token): Clarify and correct use of "bool" variables.
13087         * cpplib.h (struct cpp_options): Similarly.
13088         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
13089         * cpptrad.c (recursive_macro): Similarly.
13090
13091 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
13092
13093         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
13094         SHmedia code.
13095
13096         * sh.md (cmpgtudi_media): Remove spurious @.
13097
13098         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
13099         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
13100
13101         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
13102         * sh-protos.h (sh_initialize_trampoline): Declare.
13103         * sh.c (sh_initialize_trampoline): New function.
13104         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
13105         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
13106         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
13107         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
13108         * sh.md (initialize_trampoline, double_shori): New patterns.
13109         (initialize_trampoline_compact): Likewise.
13110         (shmedia32_initialize_trampoline_big): Remove.
13111         (shmedia32_initialize_trampoline_little): Likewise.
13112
13113         * sh-protos.h (binary_float_operator): Remove declaration.
13114         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
13115         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
13116         (unary_float_operator, sh_expand_unop_v2sf): New functions.
13117         (sh_expand_binop_v2sf): Likewise.
13118         (zero_vec_operand): Delete.
13119         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
13120         all non-shared ones.
13121         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
13122         Enable nsb and byterev.
13123         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
13124         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
13125         in general regs.
13126         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
13127         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
13128         immediate operands.
13129         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
13130         Add DF_HI_REGS.
13131         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
13132         lowpart fp regs - only for big endian for now.
13133         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
13134         when FPU is in use.
13135         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
13136         (LOAD_EXTEND_OP): NIL for SImode.
13137         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
13138         general and fp registers is 4.
13139         PREDICATE_CODES: Amend binary_float_operator entry.
13140         Remove zero_vec_operand.  Add unary_float_operator.
13141         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
13142         subreg SET_DEST.
13143         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
13144         (truncdiqi2): Do sign extension.
13145         (movsi_media, movdi_media): Allow to use r63 to an fp register.
13146         (movdf_media, movsf_media): Likewise.
13147         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
13148         Collapse to one define_insn_and_split.  Allow immediate sources.
13149         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
13150         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
13151         (movv4sf): Allow immediate sources.
13152         (movsf_media_nofpu+1): Don't split moves to FP registers.
13153         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
13154         (movv8qi_i+3): Check against CONST0_RTX.
13155         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
13156         for input and output operands.  Fix argument 3 to gen_mextr_rl.
13157         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
13158         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
13159         (mshf0_w, fipr, ftrv): Likewise.
13160         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
13161
13162 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
13163
13164         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
13165         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
13166         * arm.c: Similarly.
13167
13168 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
13169
13170         * config/mips/mips-protos.h (mips_sign_extend): Declare.
13171         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
13172         (TARGET_SWITCHES): Remove debugh.
13173         (ISA_HAS_TRUNC_W): New macro.
13174         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
13175         (PREDICATE_CODES): Remove se_nonimmediate_operand.
13176         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
13177         any SImode move_operand.
13178         (se_nonimmediate_operand): Remove.
13179         (mips_sign_extend): New.
13180         (mips_move_2words): Use it for sign-extended source operands.
13181         (override_options): Allow integers to be put into single FPRs.
13182         (mips_secondary_reload_class): Handle integers in float registers.
13183         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
13184         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
13185         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
13186         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
13187         (fix_truncdfdi2): Provide only a single alternative, in which the
13188         integer is in a float register.  Depend on TARGET_FLOAT64 rather
13189         than TARGET_64BIT.
13190         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
13191         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
13192         (movdi_internal2): Don't allow the source operand to be sign-extended.
13193         Add alternatives for float registers.
13194         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
13195         allows sign-extension.
13196         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
13197         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
13198         float registers.  Remove TARGET_DEBUG_H_MODE test.
13199         (movhi_internal1): Rename to movhi_internal.  Don't check
13200         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
13201         (movqi_internal1): Rename to movqi_internal and remove
13202         TARGET_DEBUG_H_MODE dependency.
13203         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
13204
13205 2002-07-16  Jim Wilson  <wilson@redhat.com>
13206
13207         * toplev.c (lang_dependent_init): Create function context for
13208         init_expr_once.
13209
13210 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
13211
13212         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
13213         --gc-sections if -r.
13214         * config/cris/cris.h: Ditto.
13215
13216 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
13217
13218         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
13219         the comparison directly gives a mask suppress addition when cf is
13220         zero by complementing the mask.
13221
13222 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
13223
13224         * Makefile.in: Delete references to enquire.
13225         * enquire.c: Move to contrib.
13226
13227 2002-07-16  Stan Shebs  <shebs@apple.com>
13228
13229         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
13230         config/rs6000/darwin.h.
13231         (ASM_OUTPUT_SKIP): Ditto.
13232         (TEXT_SECTION_ASM_OP): Ditto.
13233         (DATA_SECTION_ASM_OP): Ditto.
13234         (ASM_APP_ON): Define.
13235         (ASM_APP_OFF): Define.
13236         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
13237         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
13238
13239         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
13240         (machopic_function_base_name): Declare result to be const.
13241         (machopic_non_lazy_ptr_name): Ditto.
13242         (machopic_stub_name): Ditto.
13243         * config/darwin-protos.h: Ditto for the prototypes.
13244
13245 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
13246
13247         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
13248
13249 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
13250
13251         * i386.md (prefetch): Fix for 64bit mode.
13252         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13253
13254 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13255
13256         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
13257         * i386.c (x86_machine_dependent_reorg): New function.
13258         * i386-protos.h (x86_machine_dependent_reorg): Declare.
13259
13260 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
13261
13262         * builtins.c (std_expand_builtin_va_start): Remove unused
13263         first argument.
13264         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
13265         std_expand_builtin_va_start with just two arguments.
13266         * expr.h: Update prototypes.
13267
13268         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
13269         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
13270         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
13271         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
13272         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
13273         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
13274         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
13275         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
13276         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
13277         argument from all implementations of EXPAND_BUILTIN_VA_START
13278         and all uses of std_expand_builtin_va_start.
13279
13280 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
13281
13282         * regrename.c (copy_value): Don't record high part copies.
13283
13284 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
13285
13286         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
13287         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
13288         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
13289
13290 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13291
13292         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
13293
13294         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
13295         into addsi3 using register class "x" and "y".
13296
13297         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
13298         "earlyclobber" constraint modifier for some alternative.
13299
13300         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
13301         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
13302         unordered.
13303         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
13304
13305         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
13306         (TARGET_SWITCHES): Add -mieee-compare option.
13307         (OVERRIDE_OPTIONS): 32332 is a subset of
13308         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
13309         (TARGET_SWITCHES): Fix description of bitfield option.
13310         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
13311         -mieee-compare option. Remove 32332 flag.
13312
13313 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
13314
13315         * explow.c (convert_memory_address): Remove special handling
13316         when POINTERS_EXTEND_UNSIGNED < 0.
13317         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
13318         (movedi_symbolic): Fix typo.
13319         (load_fptr): Remove mode restriction so it works for SI and DI.
13320         (load_fptr_internal1): Ditto.
13321         (load_gprel): Ditto.
13322         (load_symptr_internal1): Ditto.
13323         (call_pic): Ditto.
13324         * config/ia64.c (call_operand): Modify mode check.
13325         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
13326         (ia64_expand_move): Ditto.
13327         (ia64_assemble_integer): Handle SImode function pointers.
13328         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
13329         (ia64_expand_op_and_fetch): Ditto.
13330         (ia64_expand_compare_and_swap): Ditto.
13331         (ia64_expand_lock_test_and_set): Ditto.
13332         (ia64_expand_lock_release): Ditto.
13333
13334 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13335
13336         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
13337
13338 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13339             Richard Earnshaw  <rearnsha@arm.com>
13340
13341         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
13342         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
13343
13344 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
13345
13346         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
13347         understands to be a memory clobber.
13348         * arm.c (arm_expand_prologue): Use it.
13349
13350 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
13351
13352         * ra-rewrite.c: #include reload.h, insn-config.h
13353         * ra-build.c: #include reload.h
13354         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
13355         depend on reload.h, insn-config.h.
13356
13357 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13358
13359         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
13360         the same size as a word.
13361
13362         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
13363         BYTES_BIG_ENDIAN into account.
13364
13365 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
13366
13367         * i386.md (prefetch): Fix for 64bit mode.
13368         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13369
13370         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
13371
13372 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13373
13374         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
13375
13376 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
13377
13378         * ginclude/varargs.h: Replace with stub which issues #error.
13379         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
13380         __builtin_va_start.
13381
13382         * builtins.def (BUILT_IN_VARARGS_START): Delete.
13383         (BUILT_IN_VA_START): New.
13384         * builtins.c (expand_builtin_va_start): Eliminate first
13385         argument and code to implement pre-ISO varargs.
13386         (std_expand_builtin_va_start): Ignore first argument; it is
13387         always 1.
13388         (expand_builtin): Handle BUILT_IN_VA_START and
13389         BUILT_IN_STDARG_START identically.  Delete
13390         BUILT_IN_VARARGS_START case.
13391
13392         * function.c (assign_parms): Delete hide_last_arg and all
13393         its uses.
13394         (mark_varargs): Delete function.
13395         * function.h (struct function): Delete 'varargs' bit.
13396         (current_function_varargs): Delete macro.
13397         * tree.h: Don't declare mark_varargs.
13398
13399         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
13400         (c_expand_body): Don't call mark_varargs.
13401         * c-objc-common.c: Handle BUILT_IN_VA_START and
13402         BUILT_IN_STDARG_START identically.  Delete
13403         BUILT_IN_VARARGS_START case.
13404         * c-tree.h: Don't declare c_mark_varargs.
13405         * c-parse.in: Remove grammar rules for '&...' (which has been
13406         commented out since before 2.7.2) and for '...' in K+R
13407         argument declarations.
13408
13409         * builtins.c, function.c, integrate.c, sibcall.c,
13410         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
13411         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
13412         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
13413         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
13414         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
13415         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
13416         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
13417         config/stormy16/stormy16.c: Delete all references to
13418         current_function_varargs, and code predicated on that flag.
13419
13420         * config/alpha/alpha.c (alpha_va_start),
13421         config/arc/arc.c (arc_va_start),
13422         config/i386/i386.c (ix86_va_start),
13423         config/mips/mips.c (mips_va_start),
13424         config/mn10300/mn10300.c (mn10300_va_start),
13425         config/rs6000/rs6000.c (rs6000_va_start),
13426         config/s390/s390.c (s390_va_start),
13427         config/sh/sh.c (sh_va_start),
13428         Ignore first argument; it is always 1.
13429
13430         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
13431         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
13432         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
13433         Delete m68hc11_va_start.
13434         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
13435         No need to define EXPAND_BUILTIN_VA_START.
13436
13437         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
13438         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
13439
13440 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
13441
13442         PR optimization/7153
13443         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
13444         dies in more than one insn.
13445
13446 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
13447
13448         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
13449
13450 2002-07-15  Michael Matz  <matz@suse.de>,
13451             Daniel Berlin  <dberlin@dberlin.org>,
13452             Denis Chertykov  <denisc@overta.ru>
13453
13454         Add a new register allocator.
13455
13456         * ra.c: New file.
13457         * ra.h: New file.
13458         * ra-build.c: New file.
13459         * ra-colorize.c: New file.
13460         * ra-debug.c: New file.
13461         * ra-rewrite.c: New file.
13462
13463         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
13464         (ra-rewrite.o): New .o files for libbackend.a.
13465         (GTFILES): Add basic-block.h.
13466
13467         * toplev.c (flag_new_regalloc): New.
13468         (f_options): New option "new-ra".
13469         (rest_of_compilation): Call initialize_uninitialized_subregs()
13470         only for the old allocator.  If flag_new_regalloc is set, call
13471         new allocator, instead of local_alloc(), global_alloc() and
13472         friends.
13473
13474         * doc/invoke.texi: Document -fnew-ra.
13475         * basic-block.h (FOR_ALL_BB): New.
13476         * config/rs6000/rs6000.c (print_operand): Write small constants
13477         as @l+80.
13478
13479         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
13480         (df_reg_table_realloc): Make size at least as large as max_reg_num().
13481         (df_insn_table_realloc): Size argument now is absolute, not relative.
13482         Changed all callers.
13483
13484         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
13485         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
13486
13487         2002-06-20  Michael Matz  <matz@suse.de>
13488
13489         * df.h (struct ref.id): Make unsigned.
13490         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
13491
13492         2002-06-13  Michael Matz  <matz@suse.de>
13493
13494         * df.h (DF_REF_MODE_CHANGE): New flag.
13495         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
13496         involving subregs with invalid mode changes, when
13497         CLASS_CANNOT_CHANGE_MODE is defined.
13498
13499         2002-05-07  Michael Matz  <matz@suse.de>
13500
13501         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
13502
13503         2002-05-03  Michael Matz  <matz@suse.de>
13504
13505         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
13506
13507         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
13508
13509         * regclass.c (regclass): Work with all regs which have sets or
13510         refs.
13511         (reg_scan_mark_refs): Count regs inside (clobber ...).
13512
13513         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
13514
13515         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
13516         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
13517         add new refs.
13518         (df_bb_refs_update): Don't clear insns_modified here, ...
13519         (df_analyse): ... but here.
13520
13521         * sbitmap.c (dump_sbitmap_file): New.
13522         (debug_sbitmap): Use it.
13523
13524         * sbitmap.h (dump_sbitmap_file): Add prototype.
13525
13526         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
13527
13528         * df.c (df_insn_modify): Grow the UID table if necessary, rather
13529         than assume all emits go through df_insns_modify.
13530
13531         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
13532
13533         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
13534         increase REG_N_REFS (like flow does), so that regclass doesn't
13535         think a reg is useless, and thus, not calculate a class, when it
13536         really should have.
13537
13538         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
13539
13540         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
13541         dataflow analysis.
13542
13543 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
13544
13545         PR middle-end/7245
13546         * config/i386/i386.c (const_int_1_31_operand): New.
13547         * config/i386/i386.h (PREDICATE_CODES): Add it.
13548         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
13549         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
13550         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
13551
13552 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
13553
13554         PR target/7282
13555         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
13556         (floatunssidf2): Likewise.
13557         (floatsidf_ppc64): New insn_and_split.
13558         (floatunssidf_ppc64): Likewise.
13559
13560 2002-07-14  Andreas Jaeger  <aj@suse.de>
13561
13562         * config.gcc (sh64): Remove unused
13563         target_requires_64bit_host_wide_int.
13564
13565 2002-07-12  Roger Sayle  <roger@eyesopen.com>
13566
13567         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
13568         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
13569         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
13570         whether clear_by_pieces should be used to clear storage.
13571         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
13572
13573         * doc/tm.texi: Document these two new target macros.
13574
13575 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
13576
13577         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
13578         the scratch register.
13579         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
13580         of it, forbid reload to use it.
13581
13582 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13583
13584         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
13585         usage on 64-bit hosts, return value was truncated to 32 bits.
13586
13587 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
13588
13589         * simplify-rtx.c (simplify_subreg): Handle floating point
13590         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
13591         the element mode is requested, compute a subreg with an
13592         integer mode of the same size as the element mode first.
13593
13594 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13595
13596         * combine.c (try_combine): When converting a paradoxical subreg
13597         to an extension, take LOAD_EXTEND_OP into account.
13598
13599 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13600
13601         * config.gcc (mips-sgi-irix6*o32): New configuration.
13602
13603         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
13604         configurations.
13605         * configure: Regenerate.
13606
13607         * config/mips/iris6-o32-as.h: New file.
13608         * config/mips/iris6-o32.h: New file.
13609
13610         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
13611         (NM_FLAGS): Define.
13612         (HAVE_AS_SHF_MERGE): Undefine.
13613
13614         * config/mips/t-iris5-as: New file.
13615         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
13616
13617         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
13618         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
13619         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
13620         dp-bit.c, fp-bit.c): Move ...
13621         * config/mips/t-iris5-6: ... here.
13622         New file, shared by IRIX 5 and IRIX 6.
13623         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
13624         mips-sgi-irix5*): Use it.
13625
13626         * config/mips/iris6.h: Remove duplicate comment.
13627
13628         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
13629         !TARGET_IRIX6]: Define.
13630         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
13631
13632         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
13633
13634 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13635
13636         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
13637         and delete code to force constant to register.
13638         * pa-protos.h (adddi3_operand): Add prototype.
13639         * pa.c (adddi3_operand): New function.
13640
13641 2002-07-11  Roger Sayle  <roger@eyesopen.com>
13642
13643         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
13644         non-ANSI builtin functions.
13645
13646 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
13647
13648         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
13649         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
13650         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
13651         (gen_const_vector_0): Use it.
13652
13653 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13654
13655         * pa.md (adddi3): For 32-bit targets, force constants to a register
13656         if they don't fit in an 11-bit immediate.  Change insn predicate to
13657         arith11_operand.  Remove comment.
13658         * pa.c (cint_ok_for_move): Fix comment.
13659         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
13660         targets.
13661
13662 2002-07-11  Tim Josling  <tej@melbpc.org.au>
13663
13664         Remove front end hard coding from gengtype.c.
13665
13666         * Makefile.in
13667         (STAGESTUFF): add gtyp-gen.h
13668         (GTFILES): Remove front end specific files.
13669         (GTFILES_FILES_LANGS): New, from configure..
13670         (GTFILES_FILES_FILES): Likewise.
13671         (GTFILES_LANG_DIR_NAMES): Likewise.
13672         (GTFILES_SRCDIR): Likewise.
13673         (gtyp-gen.h): Build from configure information.
13674         (s-gtype): Remove command line parameters from gengtype.
13675         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
13676         (mostlyclean): Delete files generated by and for gengtype.
13677
13678         * c-config-lang.in: New file.
13679
13680         * configure.in (all_gtfiles_files_langs): New. Accumulate files
13681         for each language.
13682         (all_gtfiles_files_files): New. Accumulate language for each file
13683         accumulated.
13684         (gtfiles): Pick up value for C.
13685         (srcdir): AC-SUBST this variable.
13686         (all_gtfiles_files_langs): AC-SUBST this variable.
13687         (all_gtfiles_files_files): AC-SUBST this variable.
13688
13689         * configure: Regenerate.
13690
13691         * gengtype-lex.l (parse_file): Make parameter const.
13692
13693         * gengtype.c (toplevel): include gtyp-gen.h.
13694         (BASE_FILE_<language> unnamed enum): Delete.
13695         (lang_names): Delete (replaced by gtyp-gen.h)
13696         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
13697         all references.
13698         (NUM_GT_FILES): New.
13699         (NUM_LANG_FILES): New.
13700         (srcdir_len): New.
13701         (NUM_BASE_FILES): Change calculation.
13702         (open_base_files): Change prototype to avoid warning.
13703         (startswith): Delete.
13704         (get_file_basename): Iterate through generated language list not
13705         hard coded list.
13706         (get_base_file_bitmap): Use generated list of files and languages.
13707         (close_output_files): Add prototype to rmove warning.
13708         (main): Iterate through list of generated files from gtyp-gen.h
13709         rather than command line paramaters.  Ignore duplicated file
13710         names.
13711
13712         * gengtype.h (parse_file): Amend prototype for const parameter.
13713
13714         * doc/sourcebuild.texi: Document gtfiles variable.
13715
13716         * doc/gty.texi: Document changes to gtfiles variable for front
13717         ends.
13718
13719         * objc/config-lang.in (gtfiles): Add files needed for objc front
13720         end.
13721
13722 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13723
13724         PR c/2454
13725         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
13726         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
13727
13728 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13729             Zack Weinberg <zack@codesourcery.com>
13730
13731         * builtins.def: Make the argument types of abort and exit
13732         independent of the front-end.
13733
13734 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13735
13736         * config/rs6000/linux64.h (ASM_SPEC): Define.
13737
13738 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13739
13740         * config/rs6000/rs6000.c (emit_frame_save): New.
13741         (rs6000_frame_related): Replace reg2 before reg.
13742         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13743         and eh_return registers.
13744
13745 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13746
13747         Revert all patches for optimization of Complex .op. Real.
13748         * complex_part_zero_p: Remove
13749         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13750         with x.
13751         * expand_cmplxdiv_wide: Ditto.
13752         * expand_binop: Ditto.
13753
13754 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13755
13756         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13757         negative also on 64-bit hosts.
13758
13759         Default to -fno-reorder-blocks when optimizing for size.
13760         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13761         * config/avr/avr.c (avr_optimization_options): New function.
13762         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13763
13764         Optimize returning from simple functions.
13765         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13766         * config/avr/avr.c (avr_simple_epilogue): New function.
13767         * config/avr/avr.md (return): New insn.
13768
13769 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13770
13771         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13772         HAS_INIT_SECTION to protection.
13773
13774 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13775
13776         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13777         deprecated.
13778
13779 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13780
13781         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13782         Supply non-VOID mode to simplify_gen_subreg.
13783
13784 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13785
13786         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13787
13788 2002-07-10  Jeffrey A Law  <law@redhat.com>
13789
13790         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13791         as appropriate.
13792
13793         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13794         register to use.
13795
13796 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13797
13798         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13799         Get mode from dest.
13800         If simplify_gen_subreg fails, try next equivalent.
13801
13802 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13803
13804         * diagnostic.h: #include location.h
13805         (location_t): Move definition to..
13806         * location.h: ... here.  New file.
13807         * tree.h: #include location.h
13808         (DECL_SOURCE_LOCATION): New macro.
13809         (DECL_SOURCE_FILE): Use.
13810         (DECL_SOURCE_LINE): Likewise.
13811         (struct tree_decl): REplace filename and linenum with locus.
13812         * Makefile.in (TREE_H): add location.h
13813         (diagnostic.o): Depends on gt-location.h
13814         (gt-location.h): Depends on s-gtype
13815
13816 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13817
13818         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13819         TARGET_OS_CPP_BUILTINS.
13820         * config/rs6000/aix31.h: Likewise.
13821         * config/rs6000/aix41.h: Likewise.
13822         * config/rs6000/aix43.h: Likewise.
13823         * config/rs6000/aix51.h: Likewise.
13824         * config/rs6000/beos.h: Likewise.
13825         * config/rs6000/darwin.h: Likewise.
13826         * config/rs6000/eabi.h: Likewise.
13827         * config/rs6000/eabisim.h: Likewise.
13828         * config/rs6000/linux.h: Likewise.
13829         * config/rs6000/linux64.h: Likewise.
13830         * config/rs6000/lynx.h: Likewise.
13831         * config/rs6000/mach.h: Likewise.
13832         * config/rs6000/rtems.h: Likewise.
13833         * config/rs6000/sysv4.h: Likewise.
13834         * config/rs6000/vxppc.h: Likewise.
13835
13836 2002-07-09 Devang Patel <dpatel@apple.com>
13837         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13838         Do not allow ObjC objects as a parameter type for Objective-C methods.
13839         My previous patch restricted  'struct' also.
13840
13841 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13842
13843         * cpperror.c (cpp_error): Default to directive_line within
13844         directives here.
13845         * cppexp.c (cpp_interpret_integer): Only use traditional
13846         number semantics in directives.
13847         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13848         (do_include_common): Similarly.
13849         * cpptrad.c (scan_out_logical_line): Implement accurate
13850         quoting of <> in #include.
13851         * doc/cpp.texi: Update.
13852
13853 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13854                           J"orn Rennecke <joern.rennecke@superh.com>
13855
13856         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13857         * sh.md (attribute issues): Replace with:
13858         (attribute pipe_model).  All users changed.
13859         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13860         All users changed.
13861         (function units sh5issue, sh5fds): New.
13862         (attribute is_mac_media): New.
13863         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13864         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13865         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13866         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13867         (call_media, call_value_media, sibcall_media): Likewise.
13868         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13869         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13870         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13871         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13872         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13873         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13874         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13875         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13876         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13877         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13878         (truncdfsf2_media): Likewise.
13879         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13880         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13881
13882 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13883
13884         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13885         * sh.c (general_extend_operand, inqhi_operand): New functions.
13886         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13887         alternatives using 'N' modifier.  Add type.
13888         (adddi3z_media): Likewise.  Enable generator function generation.
13889         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13890         exact predicates / constraints.  Add type.
13891         (subsi3): Allow 0 for SHMEDIA.
13892         (udivsi3_i4_media): Use match_operand for input values
13893         rather than hard registers.
13894         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13895         unnecessarily through hard registers.  Keep copies of pseudo
13896         registers outside of the libcall sequence.
13897         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13898         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13899         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13900         (extendhidi2, extendqidi2): Likewise.
13901         (andsi3_compact): Name.
13902         (andcdi3): Enable generator function generation.
13903         (zero_extendhisi2, zero_extendqisi2): Rename to
13904         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13905         (extendhisi2, extendqisi2): Rename to
13906         (extendhisi2_compact, extendqisi2_compact).
13907         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13908         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13909         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13910         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13911         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13912         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13913         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13914         (shmedia32_initialize_trampoline_big): Likewise.
13915         (shmedia32_initialize_trampoline_little): Likewise.
13916         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13917         (negdi2): Remove spurious T clobber.
13918         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13919         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13920         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13921         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13922         (ic_invalidate_line_media): Write back data cache before invalidating
13923         instruction cache.  Add type.
13924         (movsf_media): Sign-extend when the destination is a general
13925         purpose register.  Add type.
13926         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13927         (casesi_worker_0+1): Only increment ref count for proper label.
13928         (casesi_worker_0+2): Likewise.
13929
13930 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13931
13932         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13933
13934 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13935
13936         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13937         from Pmode to ptr_mode.
13938         (get_exception_pointer): Ditto.
13939         (connect_post_landing_pads): Ditto.
13940         (dw2_build_landing_pads): Ditto.
13941
13942 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13943         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13944         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13945         (handle_pragma_redefine_extname): Change to use new function.
13946
13947 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13948
13949         * combine.c (combine_simplify_rtx): Add an explicit cast
13950         to avoid signed/unsigned comparison warning.
13951         (simplify_if_then_else): Likewise.
13952         (extended_count): Likewise.
13953         (simplify_shift_const): Likewise.
13954         (simplify_comparison): Likewise.
13955
13956 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13957
13958         * config/mips/mips.md: Add imadd type.  Update scheduler description
13959         to use imadd as well as imul.
13960         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13961         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13962         (*mul_sub_si): Likewise for first alternative.  Change second
13963         alternative from imul to multi.
13964
13965 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13966
13967         * c-common.c (c_common_post_options): Update prototype;
13968         don't init backends if preprocessing only.
13969         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13970         * langhooks.h (struct lang_hooks): Update post_options to
13971         return a boolean.
13972         * toplev.c (parse_options_and_default_flags, do_compile,
13973         lang_independent_init): Update prototypes.  Allow the
13974         front end to specify that there is no need to initialize
13975         the back end.
13976         (general_init): Move call to hex_init here...
13977         (toplev_main): ...from here.  Pass flag for back end init
13978         suppression.
13979
13980 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13981
13982         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13983         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13984         greater_comparison_operator and less_comparison_operator.
13985         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13986         more operators.
13987         (equality_comparison_operator): New function.
13988         (greater_comparison_operator, less_comparison_operator): Likewise.
13989         * sh.md (beq_media_i): Disable generator function generation.
13990         Use match_operator to handle a whole class of comparisons.  Add
13991         modifier in output template to provide branch prediction.  Add type.
13992         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13993         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13994         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13995         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13996
13997 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13998
13999         Emit MMIX function prologue and epilogue as rtl.
14000         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
14001         not unprototyped get_hard_reg_initial_val.
14002         ("call_value", "nonlocal_goto_receiver"): Ditto.
14003         ("return"): Make define_expand.  Move real insn to...
14004         ("*expanded_return"): New pattern.
14005         ("prologue", "epilogue"): New define_expands.
14006         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
14007         (struct machine_function): New member in_prologue.
14008         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
14009         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
14010         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
14011         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
14012         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
14013         (LOCAL_REGNO): Define.  Adjust comment.
14014         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
14015         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
14016         leaf_function_p.
14017         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
14018         the prologue.
14019         (mmix_target_asm_function_prologue): Make static.  Just mark that
14020         the prologue is being emitted.  Move guts to...
14021         (mmix_expand_prologue): New function.  Adjust for emitting
14022         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
14023         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
14024         \n.  Move guts to...
14025         (mmix_expand_epilogue): New function.  Adjust for emitting
14026         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
14027         (mmix_target_asm_function_end_prologue): Mark that the prologue
14028         has ended.
14029         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
14030         (mmix_conditional_register_usage): Improve comments.
14031         (mmix_local_regno): New function.
14032         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
14033         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
14034         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
14035         (mmix_get_hard_reg_initial_val): Ditto.
14036
14037 2002-07-06  Andreas Jaeger  <aj@suse.de>
14038
14039         * toplev.c (set_fast_math_flags): Don't use ISO C style function
14040         definitions.
14041         * gengtype.c (open_base_files): Likewise.
14042         (close_output_files): Likewise.
14043         * tracer.c (find_best_predecessor): Likewise.
14044         (find_best_successor): Likewise.
14045         (ignore_bb_p): Likewise.
14046
14047 2002-07-05  Roger Sayle  <roger@eyesopen.com>
14048
14049         PR c++/7099
14050         * builtin-attrs.def: Define new attribute lists for use in
14051         builtins.def.
14052         * builtins.def [DEF_BUILTIN]: Modify to take an additional
14053         ATTRS argument, an enumerated value defined in builtin-attrs.def
14054         that represents the attribute list for the builtins.  Modify
14055         all builtin functions to pass an appropriate attribute list.
14056         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
14057         their required noreturn attributes.
14058         * tree.h (enum_builtin_function): Ignore the additional parameter
14059         to DEF_BUILTIN.
14060         * builtins.c (built_in_names): Likewise.
14061         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
14062         argument with a tree representing the functions attribute list.
14063         Pass this "attrs" argument to builtin_function.  No longer handle
14064         the noreturn_p processing manually.
14065         (built_in_attributes): Move the definitions from builtin-attrs.def
14066         before c_common_nodes_and_builtins.
14067         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
14068         DEF_BUILTIN, passing it to both builtin_function and the changed
14069         builtin_function_2.
14070
14071         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
14072         __builtin__exit and __builtin__Exit.
14073
14074 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
14075
14076         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
14077         QI mode registers in soft registers.
14078         ("zero_extendqihi2"): Do not take into account soft registers
14079         for register allocation (use '*' constraint).
14080
14081 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
14082
14083         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
14084         it is dead.
14085         ("*ashrsi3"): Likewise.
14086         ("*lshrsi3"): Likewise.
14087
14088 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
14089
14090         * genautomata.c (output_max_insn_queue_index_def): Take latencies
14091         into account.
14092
14093 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
14094
14095         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
14096         address computation and memory moves.
14097
14098 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
14099
14100         PR c++/6706
14101         * dwarfout.c (output_reg_number): Fix warning message.
14102         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
14103         before using it.
14104
14105 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14106
14107         * gcc/gcc.c (asm_debug): Move initialization ...
14108         (init_spec): ... here.
14109
14110 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14111
14112         * c-parse.in (extdef): Append ';'.
14113         (old_style_parm_decls): Append ';'.
14114
14115 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
14116
14117         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
14118         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
14119         to gcc_cv_as_gstabs_flag.
14120         * configure: Rebuilt.
14121
14122 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
14123
14124         * ggc.h (ggc_add_root): Document as obsolete.
14125
14126 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
14127
14128         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
14129         (mshflo_w): Likewise.
14130
14131 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
14132
14133         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
14134         vector mode subregs of constants to finding integer mode
14135         subregs of constants.
14136         * cse.c (cse_insn): Use simplify_gen_subreg.
14137         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
14138         From a vector mode expression of different size than the
14139         target mode.
14140
14141 2002-07-03  Eric Christopher  <echristo@redhat.com>
14142
14143         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
14144         * config/mips/mips.h: Remove deprecated -m<processor> options
14145         and cc1_cpu_spec associated.
14146         (CONSTANT_ADDRESS_P): Fix last patch.
14147         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
14148         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
14149         sunge_sf): Remove.
14150
14151 2002-07-03  Stan Shebs  <shebs@apple.com>
14152
14153         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
14154         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
14155         (CPP_SPEC): Remove insertion of APPLE_CC definition.
14156
14157 2002-07-03  Roger Sayle  <roger@eyesopen.com>
14158
14159         * combine.c (struct_undo): Change types of recorded substitutions
14160         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
14161         (do_SUBST_INT): Change types of the substitution from unsigned int
14162         to int, to avoid compilation warning from SUBST_INT's only caller.
14163
14164         (make_extraction): Add cast to avoid compilation warning.
14165         (force_to_mode): Remove cast to avoid compilation warning.
14166
14167 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
14168             Jeff Law  <law@redhat.com>
14169
14170         * i386.md (length_immediate attribute): Fix typo.
14171         (length_address attribute): Likewise.
14172         (modrm attribute): Set it to 0 for immediate call instructions.
14173         (jcc_1 pattern): Set modrm attribute to 0.
14174         (jcc_2 pattern ): Likewise.
14175         (jump pattern): Likewise.
14176         (doloop_end_internal pattern): Explicitly set length.
14177         (leave pattern): Fix typo.
14178         (leave_rex64 pattern): Likewise.
14179
14180 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
14181
14182         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
14183         in FPR as preference.
14184         (fctiwz): Same.
14185         (floatdidf2, fix_truncdfdi2): Same.
14186         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
14187         (floatditf2): Same.
14188         (floatsitf2, fix_trunctfsi2): SImode in GPR.
14189         (ctrdi): Remove FPR alternative and splitter.
14190
14191 2002-07-03  Will Cohen  <wcohen@redhat.com>
14192
14193         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
14194
14195 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
14196
14197         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
14198         than UNITS_PER_WORD, unless this is little endian and the first unit
14199         in this word.  Let extract_bit_field decide how to load an element.
14200         Force arguments to matching mode.
14201         (expand_vector_unop): Likewise.
14202
14203         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
14204         consist of word_mode elements.
14205         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
14206         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
14207         (build_unary_op): Allow vector types for BIT_NOT_EPR.
14208         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
14209         CONST_VECTOR.
14210         * optabs.c (expand_vector_binop): Try to perform operation in
14211         smaller vector modes with same inner size.  Add handling of AND, IOR
14212         and XOR.  Reject expansion to inner-mode sized scalars when using
14213         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
14214         (expand_vector_unop): Try to perform operation in smaller vector
14215         modes with same inner size.  Add handling of one's complement.
14216         When there is no vector negate operation, try a vector subtract
14217         operation.  Use simplify_gen_subreg on constants.
14218         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
14219         constants into smaller vectors with same inner mode, and to
14220         integer CONST_DOUBLEs.
14221
14222 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14223
14224         * c-parse.in (parsing_iso_function_signature): New variable.
14225         (extdef_1): New, copied from...
14226         (extdef): ... here.  Reset parsing_iso_function_signature.
14227         (old_style_parm_decls):  Reset parsing_iso_function_signature.
14228         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
14229         Warn about ISO C style function definitions.
14230         (nested_function, notype_nested_function): Reset
14231         parsing_iso_function_signature.
14232         (parmlist_2): Set parsing_iso_function_signature.
14233
14234         * doc/invoke.texi (-Wtraditional): Document new behavior.
14235
14236 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
14237
14238         * config.gcc (mips*el-*-*): Use tm_defines to set
14239         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
14240         * config/mips/little.h: Remove.
14241
14242 2002-07-02 Devang Patel <dpatel@apple.com>
14243
14244         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
14245         object as parameter. Prevent something like 'NSObject' to be
14246         used as the type for a method argument.
14247
14248 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
14249
14250         * cpptrad.c: Update comment.
14251
14252 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
14253
14254         * doc/cpp.texi: Update for traditional preprocessing changes.
14255         * goc/cppopts.texi: Similarly.
14256
14257 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
14258
14259         * c-parse.in (designator): Enable designated initializers if ObjC.
14260         (objcmessageexpr): Remove references to objc_receiver_context.
14261         * objc/objc-act.h (objc_receiver_context): Remove decl.
14262         * objc/objc-act.c (objc_receiver_context): Remove.
14263         (lookup_objc_ivar): Test objc_method_context instead of
14264         objc_receiver_context.
14265
14266 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
14267
14268         * sh.c (print_operand, case 'N'): Allow zero vector.
14269         (arith_reg_or_0_operand): Likewise.
14270         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
14271         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
14272         IOR, XOR, PLUS and SET and take their respective constant
14273         ranges into account.
14274         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
14275         * sh.md (subdi3, subdi3_media): Allow zero operand.
14276         (movv8qi_i+3): Only vector that is not split is the zero vector.
14277         Fix operand 3 to simplify_subreg.
14278         (movv2si_i): Split alternative 1.
14279         (mshfhi_l_di_rev+1): New splitter.
14280
14281 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
14282
14283         PR preprocessor/7029
14284         * cppinit.c (cpp_handle_option):  Suppress warnings with an
14285         implicit "-w" for "-M" and "-MM".
14286         * doc/cppopts.texi: Update.
14287
14288 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14289
14290         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
14291         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
14292         builtin_function.
14293
14294 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
14295
14296         * README.Portability: Fix typos.
14297
14298 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
14299
14300         PR target/7177
14301         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
14302         of indirections for register inside sign-extended mem part.
14303
14304 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14305
14306         * tree.h:  Modify builtin_function interface to take an extra
14307         argument ATTRS, which is a tree representing an attribute list.
14308
14309         * c-decl.c (builtin_function): Accept additional parameter.
14310         * objc/objc-act.c (builtin_function): Likewise.
14311         * f/com.c (builtin_function): Likewise.
14312         * java/decl.c (builtin_function): Likewise.
14313         * ada/utils.c (builtin_function): Likewise.
14314         * cp/decl.c (builtin_function): Likewise.
14315         (builtin_function_1): Likewise.
14316
14317         * c-common.c (c_common_nodes_and_builtins): Pass an additional
14318         NULL_TREE argument to builtin_function.  (builtin_function_2):
14319         Likewise.
14320         * cp/call.c (build_java_interface_fn_ref): Likewise.
14321         * objc/objc-act.c (synth_module_prologue): Likewise.
14322         * java/decl.c (java_init_decl_processing): Likewise.
14323         * f/com.c (ffe_com_init_0): Likewise.
14324
14325         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
14326         NULL_TREE argument to builtin_function.
14327         * config/arm/arm.c (def_builtin): Likewise.
14328         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
14329         * config/i386/i386.c (def_builtin): Likewise.
14330         * config/ia64/ia64.c (def_builtin): Likewise.
14331         * config/rs6000/rs6000.c (def_builtin): Likewise.
14332
14333 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
14334
14335         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
14336         * config/mips/t-isa3264: Likewise.
14337         * config/mmix/t-mmix: Likewise.
14338
14339 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14340
14341         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
14342
14343 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14344
14345         PR opt/4046
14346         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
14347         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
14348         B are truth values.
14349
14350 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
14351
14352         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
14353
14354 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
14355
14356         * README.Portability (Function prototypes): Give an example of
14357         declaring and defining a function with no arguments.
14358
14359         * README.Portability (Function prototypes): Document new
14360         variable-argument function macros.
14361
14362 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
14363
14364         * sh.c (langhooks.h): Include.
14365         (sh_init_builtins, sh_media_init_builtins): New functions.
14366         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
14367         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
14368         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
14369         (builtin_description): New struct tag.
14370         (signature_args, bdesc): New arrays.
14371         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
14372         (print_operand): Add 'N' modifier.
14373         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
14374         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
14375         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
14376         (CONST_COSTS): Add special case for SHmedia AND.
14377         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
14378         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
14379         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
14380         target_operand can also be const or unspec.
14381         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
14382         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
14383         (attribute type): Add new types.
14384         (anddi3): Add splitter.
14385         (movdi_const_16bit+1): Add code to handle vector constants and
14386         bitmasks efficiently.
14387         (shori_media): Have generator function made.
14388         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
14389         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
14390         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
14391         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
14392         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
14393         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
14394         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
14395         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
14396         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
14397         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
14398         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
14399         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
14400         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
14401         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
14402         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
14403         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
14404         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
14405         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
14406         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
14407         (ftrv): Likewise.
14408
14409         (fpu_switch+1, fpu_switch+2): Remove constraint.
14410
14411 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
14412
14413         * tree.c (build_function_type_list): Update function comment.
14414         Rename first argument to return_type.
14415
14416 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14417
14418         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
14419         tradcif.y and related files.
14420
14421 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14422
14423         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
14424
14425 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14426
14427         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
14428
14429 See ChangeLog.7 for earlier changes.