OSDN Git Service

* ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2
3         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
4         INSN_P before checking to see if it is dead.
5         (mark_all_insn_unnecessary): Similarly.
6         (ssa_eliminate_dead_code): Similarly.
7         * rtl.h (struct rtx_def): Update comments for in_struct usage
8         in dead code elimination pass.
9         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
10
11 2002-12-26  Andreas Schwab  <schwab@suse.de>
12
13         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax. 
14
15 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
16
17         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
18         tartet_flags_explicit.
19         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
20         Compact target_flags bits.
21         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
22         (TARGET_SWITCHES): Delete references to *_SET flags.
23
24 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
25
26         * i386.md (memory attribute): Fix setcc attribute.
27
28 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
29
30         * output.h: Fix comment typos.
31         * predict.c: Likewise.
32         * print-tree.c: Likewise.
33         * profile.c: Likewise.
34         * ra-build.c: Likewise.
35         * ra-colorize.c: Likewise.
36         * ra-debug.c: Likewise.
37         * ra-rewrite.c: Likewise.
38         * ra.c: Likewise.
39         * ra.h: Likewise.
40         * real.c: Likewise.
41         * recog.c: Likewise.
42         * reg-stack.c: Likewise.
43         * regclass.c: Likewise.
44
45 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
46
47         * config/h8300/h8300.c (print_operand_address): Do not negate
48         a negative number when printing one.
49
50 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
51
52         * config/h8300/h8300-protos.h: Add prototypes for
53         output_plussi, compute_plussi_length, and compute_plussi_cc.
54         * config/h8300/h8300.c (output_plussi): New.
55         (compute_plussi_length): Likewise.
56         (compute_plussi_cc): Likewise.
57         * config/h8300/h8300.md (addsi_h8300h): Call
58         output_plussi, compute_plussi_length, and compute_plussi_cc.
59
60 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
61
62         * config/h8300/h8300.md (two peepholes): Use match_dup instead
63         of match_operand in the new patterns.
64
65 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
66
67         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
68
69 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
70
71         * configure.in (enable-coverage): Add SELF_COVERAGE.
72         * profile.c (end_branch_prob): Use SELF_COVERAGE.
73
74 2002-12-24  Jim Wilson  <wilson@redhat.com>
75
76         * alias.c (record_set): Handle multi-reg hard registers.
77
78 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
79
80         * regmove.c: Fix comment typos.
81         * reload.c: Likewise.
82         * reload1.c: Likewise.
83         * resource.c: Likewise.
84         * rtl.def: Likewise.
85         * rtl.h: Likewise.
86         * rtlanal.c: Likewise.
87         * sched-deps.c: Likewise.
88         * sched-rgn.c: Likewise.
89         * sibcall.c: Likewise.
90         * simplify-rtx.c: Likewise.
91         * ssa-ccp.c: Likewise.
92         * ssa.c: Likewise.
93         * stmt.c: Likewise.
94         * stor-layout.c: Likewise.
95         * system.h: Likewise.
96         * tlink.c: Likewise.
97         * toplev.c: Likewise.
98         * tracer.c: Likewise.
99         * tree-inline.c: Likewise.
100         * tree.c: Likewise.
101         * tree.h: Likewise.
102         * unroll.c: Likewise.
103         * varasm.c: Likewise.
104
105 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
106
107         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
108         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
109         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
110         DG/UX entries.
111         * doc/md.texi: Remove AMD 29K entries.
112         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
113         1.38.1, NewsOS, RT PC, WE32K entries.
114
115 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
116
117         PR/8763
118         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
119         (altivec_vspltisw_v4sf): Name pattern.
120         (altivec_vslw_v4sf): New pattern.
121
122 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
123
124         * doc/include/gcc-common.texi: Define DEVELOPMENT.
125
126 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
127
128         * stor-layout.c (update_alignment_for_field): Correct handling of
129         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
130         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
131         bitfield does not affect alignment.
132
133 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
134
135         * expr.c (expand_assignment): Apply special treatment to
136         ARRAY_TYPE.
137
138 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
139
140         * config/h8300/h8300-protos.h: Update the prototype of
141         expand_a_shift.
142         * config/h8300/h8300.c (expand_a_shift): Change the return
143         type to void.
144         * config/h8300/h8300.md: Update all the uses of
145         expand_a_shift.
146
147 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
148
149         * tree.c (save_expr): Allow either side of a dyadic operand to be
150         constant.
151
152         * doc/portability.texi (portability): Update portability goals.
153
154 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
155
156         * config/h8300/h8300.c (output_a_shift): Remove unused code.
157
158 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
159
160         * stor-layout.c (update_alignment_for_field): Guard use of
161         ADJUST_FIELD_ALIGN with #ifdef.
162
163         * stor-layout.c (update_alignment_for_field): Use
164         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
165         bitfield when PCC_BITFIELD_TYPE_MATTERS.
166
167 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
168
169         * genautomata.c: Fix comment typos.
170
171 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
172
173         * params.def (tracer-min-branch-probability-feedback): Fix default.
174         * final.c (compute_alignments): Use profile to avoid code bloat.
175
176 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
177
178         * config/h8300/h8300.c (get_shift_alg): Make shift insn
179         sequences end with a valid cc0 whenever possible.
180
181 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
182
183         * config/h8300/h8300.md (negsf2): New.
184         (*negsf2_h8300): Likewise.
185         (*negsf2_h8300hs): Likewise.
186
187 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
188
189         * integrate.c (output_inline_function): Don't hold private
190         pointers to 'struct function' over GC calls.
191
192 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
193
194         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
195         NO_FPSCR_VALUES.
196         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
197
198 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
199
200         * config/h8300/h8300.md (zero_extendqisi2): Correct the
201         length.
202
203 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
204
205         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
206         second alternative "#".
207         (*zero_extendqihi2_h8300hs): Likewise.
208         (a define_split): New.
209
210 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
211
212         * config/h8300/h8300-protos.h: Update the prototype for
213         split_adds_subs.
214         Add prototypes for const_le_2_operand and const_le_6_operand.
215         * config/h8300/h8300.c (split_adds_subs): Add an argument to
216         specify whether inc/dec should be used when possible.
217         (const_le_2_operand): New.
218         (const_le_6_operand): Likewise.
219         * config/h8300/h8300.md (two peepholes): New.
220
221 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
222
223         * config/fr30/fr30.md: Fix a comment typo.
224         * config/i386/i386.c: Likewise.
225         * config/ip2k/ip2k.h: Likewise.
226
227 2002-12-20  Jim Wilson  <wilson@redhat.com>
228
229         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
230         (__ev_subw, __ev_subiw): New.
231         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
232         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
233
234 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
235
236         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
237         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
238         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
239         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
240
241 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
242
243         * config/h8300/h8300-protos.h: Add prototypes for
244         incdec_operand and eqne_operator.
245         * config/h8300/h8300.c (incdec_operand): New.
246         (eqne_operator): Likewise.
247         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
248         (CONST_OK_FOR_O): Likewise.
249         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
250         CONST_OK_FOR_O.
251         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
252         (addhi3_incdec): New.
253         (addsi3_incdec): Likewise.
254         (two peepholes): Likewise.
255
256 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
257
258         * config/h8300/h8300.c (dosize): Remove warnings.
259         (print_operand): Likewise.
260
261 2002-12-20  Richard Henderson  <rth@redhat.com>
262
263         * config/alpha/alpha.c (decl_has_samegp): New.
264         (samegp_function_operand): Use it.  Rename from
265         current_file_function_operand.
266         (direct_call_operand): Handle -msmall-text via symbol->jump.
267         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
268         (tls_symbolic_operand_type): Likewise.
269         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
270         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
271         (alpha_end_function): Set symbol->jump for functions defined in
272         the text section.
273         * config/alpha/alpha-protos.h: Update.
274         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
275         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
276         (PREDICATE_CODES): Update.
277         * config/alpha/alpha.md (call patterns): Update for 
278         samegp_function_operand rename; use !samegp reloc if
279         TARGET_EXPLICIT_RELOCS.
280         * doc/invoke.text: Document -msmall-text and -mlarge-text.
281
282 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
283
284         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
285         all registers capable of holding a double float.
286         (*rcond): change name of "reverse branch" insns to
287         something more meaningful.
288         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
289         comparisons properly.
290         (*ffs): Change operand 0 from write to read-modify-write.
291         (*ffsssi2): Drop constraints from define_expand.
292
293         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
294         MOVE_RATIO as default for store operations.
295
296         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
297         LONG_REGS class.
298         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
299         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
300         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
301
302         * config/ns32k/STATUS: New File
303         * config/ns32k/NOTES: New file.
304
305 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
306         
307         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
308         option for S/390 and zSeries.
309         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
310         s390_arch_string): New variables.
311         (override_options): Checking for options and setting of 
312         appropriate target_flags, cpu and arch flags.
313         * config/s390/s390.h: (processor_type): New enum.
314         (TARGET_SWITCHES): New switches -mesa/zarch.
315         * config/s390/s390.md: New attribute 'cpu'.
316
317 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
318
319         * c-pretty-print.h: Fix comment typos.
320         * integrate.c: Likewise.
321         * varasm.c: Likewise.
322         * config/c4x/c4x.h: Likewise.
323         * config/c4x/c4x.md: Likewise.
324         * config/fr30/fr30.md: Likewise.
325         * config/frv/frv.c: Likewise.
326         * config/h8300/h8300.c: Likewise.
327         * config/i386/i386.c: Likewise.
328         * config/i386/i386.h: Likewise.
329         * config/ia64/ia64.c: Likewise.
330         * config/ia64/ia64.h: Likewise.
331         * config/ip2k/ip2k.md: Likewise.
332         * config/m68hc11/m68hc11-crt0.S: Likewise.
333         * config/m68hc11/m68hc11.h: Likewise.
334         * config/m68hc11/m68hc11.md: Likewise.
335         * config/m68hc11/m68hc12.h: Likewise.
336         * config/mcore/mcore.md: Likewise.
337         * config/mips/mips.c: Likewise.
338         * config/mips/mips.md: Likewise.
339         * config/mmix/mmix-modes.def: Likewise.
340         * config/pa/pa.c: Likewise.
341         * config/rs6000/rs6000.c: Likewise.
342         * config/rs6000/rs6000.h: Likewise.
343         * config/rs6000/rs6000.md: Likewise.
344
345 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
346
347         * config/h8300/h8300.md (output_a_shift): Clean up the code to
348         output shifts using rotation.
349
350 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
351
352         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
353
354 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
355
356         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
357         pointer.
358         (pushqi_h8300hs): Likewise.
359         (pushhi_h8300): Likewise.
360         (pushhi_h8300hs): Likewise.
361
362 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
363
364         * sched-rgn.c (init_regions): Update comment.
365
366 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
367
368         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
369         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
370         attributes.
371         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
372         (get_vrsave_internal,set_vrsave_internal): Same.
373         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
374         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
375         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
376
377 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
378             Danny Smith  <dannysmith@users.sourceforge.net>
379             Eric Kohl  <ekohl@rz-online.de>
380
381         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
382         attributes incompatible with fastcall attribute.
383         (ix86_handle_regparm_attribute): Likewise.
384
385         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
386         fastcall types.
387
388         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
389         attributes.
390         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
391         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
392         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
393         i386_pe_output_labelref rather than here.
394         (gen_fastcall_suffix): New function. Decorates a label name with the
395         fastcall prefix (@) and the stdcall suffix.
396         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
397         has a fastcall attribute.
398         (i386_pe_output_labelref): New function. Outputs a label reference.
399         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
400         valid attribute.
401         (ix86_return_pops_args): Fastcall functions pop the stack.
402         (init_cumulative_args): Reserve registers ECX and EDX if function has
403         fastcall attribute.
404         (function_arg): Use registers ECX and EDX if function has fastcall
405         attribute.
406         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
407         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
408         (FASTCALL_PREFIX): Define as '@'.
409         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
410         attributes.
411         * doc/extend.texi: Add documentation of fastcall attribute.
412
413 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
414
415         * configure.in: FORBUILD when build!=host changed from 
416         ../$build-alias to ../build-$build_alias to match change made
417         in top directory.
418         * configure: Regenerated.
419
420 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
421
422         PR optimization/8988
423         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
424         the biv when eliminating.
425
426 2002-12-19  Devang Patel  <dpatel@apple.com>
427         * gcc.c (struct default_compiler): Recognizes input file name with
428         .CPP extension as C++ source files
429         * cp/lang-spec.h: Same
430         * doc/invoke.texi:  Add documentation for .CPP support.
431         
432 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
433
434         PR 8553
435         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
436         registers.
437         ("absv16qi2"): Same.
438         ("absv4si2"): Same.
439         ("absv4sf2"): Same.
440         ("altivec_abss_v16qi"): Same.
441         ("altivec_abss_v8hi"): Same.
442         ("altivec_abss_v4si"): Same.
443
444 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
445
446         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
447         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
448
449 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
450
451         PR target/8340
452         * stmt.c (expand_asm_operands): Produce an error when
453         the PIC register is clobbered.
454
455 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
456
457         * Makefile.in (OBJS): Add alloc-pool.o
458         (alloc-pool.o): New object.
459
460         * alloc-pool.c: New file.
461         * alloc-pool.h: New file.
462
463 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
464
465         * gcc.c (validate_switches): Robustify against skipping past '\0'.
466
467 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
468
469         * config.gcc: Set extra_objs in the generic Darwin rule,
470         not in the machine-specific rules.
471
472 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
473
474         * ChangeLog: Follow spelling conventions.
475         * ChangeLog.2: Likewise.
476         * ChangeLog.4: Likewise.
477         * ChangeLog.5: Likewise.
478         * cppexp.c: Likewise.
479         * df.c: Likewise.
480         * gcov.c: Likewise.
481         * gengtype.c: Likewise.
482         * reload1.c: Likewise.
483         * sched-rgn.c: Likewise.
484         * stmt.c: Likewise.
485         * stor-layout.c: Likewise.
486         * timevar.c: Likewise.
487         * toplev.c: Likewise.
488         * tree.h: Likewise.
489         * varasm.c: Likewise.
490         * config/fr30/fr30.md: Likewise.
491         * config/i386/i386.c: Likewise.
492         * config/ia64/ia64.c: Likewise.
493         * config/pa/pa.c: Likewise.
494
495 2002-12-18  Roger Sayle  <roger@eyesopen.com>
496
497         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
498
499 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
500
501         PR 8551
502         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
503         macro.
504         (vec_cmplt C++ functions): Reverse arguments.
505
506 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
507
508         * config/rs6000/t-rs6000: Move contents to t-fprules,
509         add rules for dependencies of rs6000.o and to build rs6000-c.o
510         * config/rs6000/t-fprules: New file from t-rs6000.
511         * config/rs6000/t-beos: Remove soft-fp rules.
512         * config/rs6000/t-ppccomm: Likewise.
513         * config/rs6000/t-newas: Likewise.
514         * config/rs6000/t-rs6000-c-rule: Delete.
515         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
516         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
517         Create generic Darwin rules.
518
519         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
520
521 2002-12-18  Doug Evans  <dje@sebabeach.org>
522
523         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
524         and LIT_NAME_P.
525         (move_src_operand): Remove compile-time warning.
526         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
527
528 2002-12-18  Jason Merrill  <jason@redhat.com>
529
530         * unwind-dw2-fde.c (frame_downheap): Split out from...
531         (frame_heapsort): Here.
532
533 2002-12-17  Jason Merrill  <jason@redhat.com>
534
535         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
536         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
537
538         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
539
540         * calls.c (expand_call): Don't try to be clever about expanding
541         the return slot address.
542
543 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
544
545         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
546         Define.
547
548 2002-12-17  Jason Merrill  <jason@redhat.com>
549
550         * genmultilib: Use 'cd ./foo'.
551
552 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
553
554         * doc/c-tree.texi: Restore deliberate spelling mistakes.
555
556 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
557
558         * doc/c-tree.texi: Fix typos and follow spelling conventions.
559         * doc/cpp.texi: Likewise.
560         * doc/extend.texi: Likewise.
561         * doc/gty.texi: Likewise.
562         * doc/install.texi: Likewise.
563         * doc/invoke.texi: Likewise.
564         * doc/md.texi: Likewise.
565         * doc/passes.texi: Likewise.
566         * doc/rtl.texi: Likewise.
567         * doc/sourcebuild.texi: Likewise.
568         * doc/tm.texi: Likewise.
569
570 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
571
572         * doc/invoke.texi: Minor spelling and grammar fixes.
573
574 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
575
576         * config/s390/s390.c (s390_output_constant_pool): Replace
577         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
578
579 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
580
581         * convert.c (convert_to_real): Disable function transformation for
582         now.
583
584 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
585
586         * gcc.c (handle_braces): Allow '@' as a switch name.
587
588 2002-12-16  Jason Merrill  <jason@redhat.com>
589
590         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
591         with special struct-return ABIs.
592
593         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
594         doesn't match the begin SCOPE_STMT in partialness.
595
596 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
597
598         * genmultilib: Create temporary files in unique subdirectory.
599
600         * gcc.c (validate_switches): Allow '@' as a switch name.
601
602 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
603
604         * Makefile.in (gcov-iov.h): Improve portability.
605
606 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
607
608         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
609         gas
610         * mips.md (tablejump insn): Likewise.
611
612 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
613
614         * doc/include/gcc-common.texi: Change version number to 3.4.
615
616 2002-12-16  Bruce Korb  <bkorb@gnu.org>
617
618         * fixinc/fixlib.h: add: #include <signal.h>
619         * fixinc/fixincl.c: remove: #include <signal.h>
620
621 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
622
623         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
624         (EXTRA_CONSTRAINT): Use it.
625         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
626
627 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
628
629         * config.gcc (need_64bit_hwint): New variable.
630         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
631         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
632         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
633         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
634         Set it.
635         (powerpc*-*-darwin*): Unset it.
636         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
637         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
638         deleted/nonexistent xm-*.h headers.
639         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
640         target set need_64bit_hwint in config.gcc.
641         * configure, config.in: Regenerate.
642
643         * hwint.h: Overhaul.  Don't bother trying int for
644         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
645         decision to force 64-bit HOST_WIDE_INT on
646         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
647         not visible at this point.  Don't allow prior definition of
648         any macro defined by this file.
649
650         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
651         HOST_BITS_PER_WIDE_INT.
652         * config/c4x/c4x.h: Adjust redefinition of
653         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
654         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
655         config/i386/xm-i386-interix.h: Delete file.
656
657 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
658             John David Anglin  <dave@hiauly1.hia.nrc.ca>
659
660         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
661         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
662
663 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
664
665         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
666
667 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
668
669         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
670         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
671         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
672         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
673         config/v850/t-v850:  Correct dependencies and normalize
674         compilation commands for files that include coretypes.h and tm.h.
675
676         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
677         not config.h and system.h.
678
679 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
680
681         * i386.c (flags_reg_operand):  New function.
682         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
683         * i386.md (cmov splitter, movqicc): Use new predicate.
684
685 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
686
687         * i386.md (movqicc splitter): Fix template.
688
689 2002-12-13  Jason Merrill  <jason@redhat.com>
690
691         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
692         * calls.c (expand_call): Handle it.
693         * tree-inline.c (struct inline_data): Remove target_exprs field.
694         (optimize_inline_calls): Don't initialize it.
695         (expand_call_inline): Don't modify it.  Handle
696         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
697         (declare_return_variable): Take return slot addr.
698         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
699         to return_slot_addr.
700         * langhooks-def.h, langhooks.c: Adjust.
701         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
702         a decl with no DECL_INITIAL.
703
704         * expr.c (expand_expr): Don't discard the target of a call which
705         returns in memory.
706
707 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
708
709         * cppinit.c (path_include): Take an environment variable name.
710         Tidy up.
711         (init_standard_includes): Simplify environment handling, and
712         move to ...
713         (cpp_read_main_file): ...here as -nostdinc should not affect
714         environment variable paths.
715
716 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
717
718         * pa.c (output_millicode_call): Correct typo.
719         (output_call): Likewise.
720
721 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
722
723         * config/mn10300/mn10300.c (print_operand) <case N>: Check
724         operand's range.  Print value directly, without aid from
725         output_address.
726         <case U>: New.
727         <case S>: Make sure argument to fprintf has the right type.
728         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
729         (EXTRA_CONSTRAINT): Adjust.
730         * config/mn10300/mn10300.md: Add new all-QImode pattern for
731         bclr.  Use %U for immediate operands of bset and bclr.
732         (iorqi3): New expand, with insns for AM33 and mn10300.
733
734 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
735
736         * sh.c (sh_register_operand): New function.
737         (prepare_move_operands): Use it.
738         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
739         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
740         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
741         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
742         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
743         (movv2si_i): Likewise.
744
745 2002-12-13  Jim Wilson  <wilson@redhat.com>
746
747         * doc/extend.texi (Complex Numbers): Update info on debug info.
748
749 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
750
751         * config/h8300/h8300.md (addhi3_h8300): Remove the last
752         alternative.
753
754 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
755
756         * hooks.h (hook_tree_tree_bool_false): Declare
757         hook_bool_tree_tree_false instead.
758
759 2002-12-12  Devang Patel  <dpatel@apple.com>
760
761         * doc/invoke.texi: Document Darwin linker options, -bundle
762         -bind_at_load, -all_load and -arch_errors_fatal
763
764 2002-12-12  Jim Wilson  <wilson@redhat.com>
765
766         * dbxout.c (dbxout_fptype_value): New.
767         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
768
769 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
770
771         * c-decl.c: Fix a comment typo.
772         * cfg.c: Likewise.
773         * cfgcleanup.c: Likewise.
774         * cfglayout.c: Likewise.
775         * cfgrtl.c: Likewise.
776         * c-typeck.c: Likewise.
777         * dominance.c: Likewise.
778         * dwarf2asm.c: Likewise.
779         * dwarfout.c: Likewise.
780         * expmed.c: Likewise.
781         * expr.c: Likewise.
782         * final.c: Likewise.
783         * flow.c: Likewise.
784         * function.c: Likewise.
785         * gcc.c: Likewise.
786         * genautomata.c: Likewise.
787         * integrate.c: Likewise.
788         * loop.c: Likewise.
789         * loop.h: Likewise.
790         * output.h: Likewise.
791         * profile.c: Likewise.
792         * ra.h: Likewise.
793         * reload1.c: Likewise.
794         * reload.c: Likewise.
795         * sched-rgn.c: Likewise.
796         * stmt.c: Likewise.
797         * tree.h: Likewise.
798         * vmsdbgout.c: Likewise.
799
800 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
801
802         * config/h8300/h8300.md: Add a new peephole2.
803
804 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
805
806         * config/h8300/h8300.md (a peephole2): Accept a constant
807         that's accepted by CONST_OK_FOR_J.
808
809 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
810
811         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
812         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
813         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
814         (*addhi_h8300hs): Likewise.
815
816 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
817
818         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
819         (sh_register_move_cost): Add clause for SImode fp-fp moves.
820         Increase cost for moves involving multiple general purpose registers.
821         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
822         TARGET_FMOVD.
823         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
824         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
825         (enum reg_class reg_class_from_letter): No longer const.
826         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
827         REGCLASS_HAS_GENERAL_REG.
828         Handle SImode moves from/to fp registers.
829         ! TARGET_SHMEDIA && TARGET_FMOVD.
830         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
831         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
832
833 2002-12-12  Andreas Schwab  <schwab@suse.de>
834
835         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
836         change and some warnings.
837
838 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
839
840         * doc/md.texi (pushm): Fix a typo.
841
842 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
843
844         * config/mips/mips.c (mips_output_conditional_branch): Support
845         PIC-safe out-of-range branch and branch-likely.
846         * config/mips/mips.md (attr length): PIC-safe out-of-range
847         branches are longer.
848         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
849         unused code to support indirect jumps.
850
851 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
852
853         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
854         $(tm_file_list).
855
856 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
857
858         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
859
860 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
861
862         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
863
864 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
865
866         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
867         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
868         BIGGEST_ALIGNMENT.
869         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
870         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
871
872 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
873
874         * doc/invoke.texi: Correct dump file names.
875
876 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
877
878         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
879         name to globalize_label or assemble_name.
880
881 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
882
883         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
884         if not TARGET_SHMEDIA.
885
886 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
887
888         * sh.h (REG_CLASS_HAS_FP_REG): New.
889         (REGISTER_MOVE_COST) Use it.  Put body into a function and
890         move it into:
891         * sh.c (sh_register_move_cost).
892         * sh-protos.h (sh_register_move_cost): Declare.
893
894         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
895         (sh_adjust_cost): Always return a value.
896
897 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
898
899         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
900         (REGISTER_MOVE_COST): Use it.
901
902 2002-12-11  Richard Henderson  <rth@redhat.com>
903
904         * tree.h (MODULE_LOCAL_P): Kill.
905         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
906
907 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
908
909         * config/h8300/h8300.md (two define_peephole2): New.
910
911 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
912
913         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
914         (CONST_OK_FOR_K): Likewise.
915         (CONST_OK_FOR_M): Likewise.
916         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
917
918 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
919
920         * c-common.c (builtin_define_type_max): Handle unsigned
921         types too.
922
923 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
924
925         * haifa-sched.c (rank_for_schedule): Correct style.
926
927 2002-12-10  Per Bothner  <pbothner@apple.com>
928
929         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
930         directive_index into an unsigned field and a new is_directive field.
931         * cppinit.c (mark_named_operators):  Update to set new fields.
932         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
933         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
934         No longer need to subtract 1 from directive_index.
935         (_cpp_init_directives):  No longer need to add 1 to directive_index.
936         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
937
938 2002-12-10  Roger Sayle  <roger@eyesopen.com>
939
940         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
941         check for evaluating sqrt of a constant at compile time.
942         * simplify-rtx.c (simplify_unary_operation): Likewise.
943
944 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
945
946         PR other/8882
947         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
948
949 2002-12-10  Devang Patel  <dpatel@appple.com>
950
951         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
952         * doc/invoke.texi: Add new "Darwin Options" section.
953
954 2002-12-10  Jim Wilson  <wilson@redhat.com>
955
956         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
957         memory.
958
959 2002-12-10  Andrew Haley  <aph@redhat.com>
960
961         * cse.c (cse_insn): Don't cse past a basic block boundary.
962
963 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
964
965         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
966         -shared.
967         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
968         * config/alpha/linux.h (LIB_SPEC): Likewise.
969         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
970         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
971         * config/sparc/linux.h (LIB_SPEC): Likewise.
972         * config/sparc/linux64.h (LIB_SPEC): Likewise.
973
974 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
975
976         * doc/invoke.texi: Document UltraSparc III option.
977
978 2002-12-09  Richard Henderson  <rth@redhat.com>
979
980         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
981         __tune_pentium2__ and __tune_pentium3__ as necessary.
982
983 2002-12-09  Richard Henderson  <rth@redhat.com>
984
985         * target.h (gcc_target): Add cannot_force_const_mem.
986         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
987         (TARGET_INITIALIZER): Add it.
988         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
989         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
990         * reload1.c (reload): Likewise.
991         * hooks.c (hook_bool_rtx_false): New.
992         * hooks.h: Declare it.
993
994         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
995         (TARGET_CANNOT_FORCE_CONST_MEM): New.
996         (ix86_expand_move): Remove de-const-pooling hack.
997
998 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
999
1000         * toplev.c (dump_file): Fix order to match reality.
1001
1002 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
1003
1004         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
1005         (store_multiple): Likewise.
1006
1007 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1008
1009         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
1010         function pointers in page 0.
1011
1012 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
1013
1014         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
1015         definition
1016         (MEMBER_TYPE_FORCES_BLK): Move.
1017         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
1018         aggregate arguments.
1019         (ia64_function_value): Use PARALLEL to return aggregate values.
1020
1021 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
1022
1023         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
1024         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
1025         * calls.c (store_unaligned_arguments_into_pseudos) Remove
1026         FUNCTION_ARG_REG_LITTLE_ENDIAN.
1027         * stmt.c (expand_return): Ditto.
1028         * expr.c (move_block_from_reg): Ditto.
1029         (copy_blkmode_from_reg): Ditto.
1030         * expmed.c (store_bit_field): Ditto.
1031
1032 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
1033
1034         * config.gcc: Added tic4x-* target as an alias to c4x-*
1035
1036 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
1037
1038         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
1039         constructing insn directly.
1040
1041 2002-12-06  Per Bothner  <pbothner@apple.com>
1042
1043         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
1044         char to an int bit-field, for hosts where char is unsigned.
1045
1046 2002-12-07  Roger Sayle  <roger@eyesopen.com>
1047             Richard Henderson <rth@redhat.com>
1048
1049         * real.c (ieee_extended_motorola_format,
1050         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1051         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
1052         Provide appropriate values for new signbit field.
1053
1054 2002-12-07  Roger Sayle  <roger@eyesopen.com>
1055
1056         * real.h (real_format): Add signbit field.
1057         * real.c (ieee_single_format, ieee_double_format,
1058         ieee_extended_motorola_format, ieee_extended_intel_96_format,
1059         ieee_extended_intel_128_format, ibm_extended_format,
1060         ieee_quad_format, vax_f_format, vax_d_format,
1061         vax_g_format, i370_single_format, i370_double_format,
1062         c4x_single_format, c4x_extended_format, real_internal_format):
1063         Provide suitable signbit value, or -1 to avoid bit twiddling.
1064
1065         * optabs.c (expand_unop): Try implementing negation of
1066         floating point modes by flipping the sign bit.
1067         (expand_abs): Try implementing abs of floating point modes
1068         by clearing the sign bit.
1069
1070 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1071
1072         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
1073         of constructing insn directly.
1074
1075 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
1076
1077         * config/h8300/h8300.md (*iorhi_shift_8): New.
1078
1079 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
1080
1081         * doc/invoke.texi: Document FRV port options.
1082         * doc/md.texi: Document FRV register classes.
1083
1084 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1085
1086         * doc/install.texi (Configuration): Improve description of cases
1087         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
1088
1089 2002-12-06  Per Bothner  <pbothner@apple.com>
1090
1091         * cpplib.h (NODE_MACRO_ARG):  New flag.
1092         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
1093         Remove value.operator field.  Move arg_index field to value union.
1094         (directive_index):  Make signed, since also used for C++ operators.
1095         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
1096         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
1097         Save node->value, and set node->value.arg_index.
1098         (_cpp_create_definition):  For each paramater, restore node->value.
1099         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
1100         * cpptrad.c (scan_out_logical_line): Likewise.
1101         (scan_out_logical_line): Check for directive > 0.
1102         * cpplib.c (cpp_handle_directive):  Likewise.
1103         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
1104         by negative of directive_index.
1105         * cppinit.c (mark_named_operators):  Likewise.
1106
1107         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
1108
1109 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
1110
1111         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
1112         FPU.
1113         (push): Generate push_fpscr.
1114         (pop): Generate pop_fpscr.
1115         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
1116         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
1117
1118 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
1119
1120         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
1121         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
1122
1123 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
1124
1125         * sh.md (movdi_i): Name.  Remove inappropriate comment.
1126
1127 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
1128         Merged from basic improvements branch (excerpt):
1129
1130         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1131         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1132
1133 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
1134
1135         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
1136
1137 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
1138
1139         * i386.md (dimode peep2s): Re-add "&& 1".
1140
1141 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
1142
1143         * i386.c (ix86_expand_prologue):  Add comment, do not use
1144         fast prologues for cold and normal functions.
1145
1146 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1147
1148         * i386.c (x86_rep_movl_optimal): New variable.
1149         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
1150         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
1151
1152         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
1153         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
1154         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
1155         generate unnecesary subregs.
1156
1157 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1158
1159         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
1160         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
1161
1162 2002-12-05  Dale Johannesen  <dalej@apple.com>
1163
1164         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
1165
1166 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
1167
1168         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
1169         PROFILE_HOOK.
1170         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
1171
1172 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
1173
1174         * config/rs6000/spe.h (__ev_mwlufi): Remove.
1175         (__ev_mwlufia): Remove.
1176         (__ev_mwlumfaaw): Remove.
1177         (__ev_mwlusfaaw): Remove.
1178         (__ev_mwlumfanw): Remove.
1179         (__ev_mwlusfanw): Remove.
1180
1181 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
1182
1183         * config/h8300/h8300.md (*andorsi3_shift_8): New.
1184
1185 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
1186
1187         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
1188         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
1189         (get_shift_alg): Return optimal assembly instructions for the
1190         shifts mentioned above.
1191
1192 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
1193
1194         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
1195         condtiional moves.
1196
1197 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1198
1199         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
1200         implement ashiftrt:HI by 13 bits on H8S.
1201
1202 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1203
1204         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
1205         * pa.md (canonicalize_funcptr_for_compare): Output library call to
1206         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
1207         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
1208         CTOR_LIST_BEGIN): New defines.
1209         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
1210         (fptr.c): Add make rules.
1211
1212 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
1213
1214         * combine.c (combine_simplify_rtx): Add new canonicalizations.
1215         * doc/md.texi (Insn Canonicalizations): Document new
1216         canonicalizations for multiply/add combinations.
1217         * config/rs6000/rs6000.md: Add and modify floating add/multiply
1218         patterns to ensure they're used whenever they can be.
1219
1220 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1221
1222         * config/h8300/h8300.c: Update the comments related to shifts.
1223
1224 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1225
1226         * config/mips/mips.md (get_fnaddr): Correct length attribute.
1227
1228 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1229
1230         * config/h8300/h8300.md (*extzv_8_8): New.
1231         (*extzv_8_16): Likewise.
1232
1233 2002-12-04  Jason Merrill  <jason@redhat.com>
1234
1235         PR c++/8461, c++/8625
1236         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
1237         references.
1238         * tree-inline.c (initialize_inlined_parameters): Likewise.
1239
1240         * tree.c (variably_modified_type_p): Just return an error_mark_node.
1241
1242 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1243
1244         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
1245         macro instruction in a branch delay slot, to avoid assembler
1246         warnings.
1247
1248 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1249
1250         PR c/7622
1251         * c-semantics (genrtl_scope_stmt): Do not output inlined
1252         nested functions that contain no code.
1253
1254 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
1255
1256         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
1257         to be forced into nonfallthru.
1258
1259 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
1260
1261         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
1262
1263 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
1264
1265         * config/rs6000/spe.md (*movv1di_const0): New pattern.
1266
1267 2002-12-03  Richard Henderson  <rth@redhat.com>
1268
1269         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
1270
1271 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
1272
1273         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
1274         Initialize tmp.using_obstack to 0.
1275
1276 2002-12-03  Andreas Schwab  <schwab@suse.de>
1277
1278         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
1279         (EH_RETURN_STACKADJ_RTX): Define.
1280         (EH_RETURN_HANDLER_RTX): Define.
1281         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1282         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
1283         registers and don't save fixed registers.
1284         (m68k_output_function_prologue): Use it.
1285         (use_return_insn): Likewise.
1286         (m68k_output_function_epilogue): Likewise.
1287
1288 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
1289
1290         * config/h8300/h8300.c (single_one_operand): Fix a warning.
1291         (single_zero_operand): Likewise.
1292
1293 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1294
1295         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
1296         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
1297         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
1298         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
1299         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
1300         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
1301         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
1302         doc/install-old.texi: Replace hconfig.h with bconfig.h.
1303         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
1304
1305 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
1306
1307         * config/rs6000/rs6000.md (ffssi): Convert to expander.
1308         (ffsdi): Likewise.
1309         (cntlzw2, cntlzd2): New patterns.
1310
1311 2002-12-02  H.J. Lu <hjl@gnu.org>
1312
1313         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
1314         (mips*-*-linux*): Remove mips/t-linux.
1315
1316 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1317
1318         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1319
1320 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1321
1322         * config/h8300/h8300.c (dosize): Replace argument op with
1323         sign.
1324         (h8300_output_function_prologue): Update the call to dosize.
1325         (h8300_output_function_epilogue): Likewise.
1326
1327 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
1328
1329         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
1330
1331 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1332
1333         * configure.in: Use "missing" script to generate warning if
1334         flex or bison programs not found, instead of invoking "false".
1335         * configure: Rebuilt.
1336
1337 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
1338
1339         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
1340
1341 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
1342
1343         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1344
1345 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1346
1347         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
1348         (push): Likewise.
1349         (pop): Likewise.
1350         (h8300_output_function_prologue): Likewise.
1351         (h8300_output_function_epilogue): Likewise.
1352
1353 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
1354
1355         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1356         corresponding mode of non-integer mode, unless it is VOIDmode.
1357
1358 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1359
1360         * config/h8300/h8300.md (stm_h8300s_2): New.
1361         (stm_h8300s_3): Likewise.
1362         (stm_h8300s_4): Likewise.
1363         (five define_peephole2): Likewise.
1364
1365 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1366
1367         * ra-build.c: Fix a comment typo.
1368
1369 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1370
1371         * i386.c (ix86_expand_int_movcc): fix
1372         reversed BRANCH_COST test; be curefull about infinite recursion.
1373
1374 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1375
1376         * config/h8300/h8300.c (h8300_output_function_prologue):
1377         Remove variable idx.
1378         (h8300_output_function_epilogue): Likewise.
1379
1380 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
1381
1382         * config/frv/xm-frv.h: Delete, unnecessary.
1383
1384 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1385
1386         * config/h8300/h8300.md: Add comments for define_peephole2.
1387
1388 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
1389
1390         * builtin-types.def (BT_SIZE): Use size_type_node.
1391         * builtins.c (fold_builtin): Make the builtin strlen returns a
1392         size_t, not a sizetype.
1393         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
1394         c_size_type_node.
1395         (c_alignof_expr): Likewise.
1396         (c_common_nodes_and_builtins): Likewise.
1397         * c-common.h (CTI_C_SIZE_TYPE): Remove.
1398         (c_size_type_node): Likewise.
1399         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
1400         * tree.h (TI_SIZE_TYPE): New enumeral.
1401         (size_type_node): Likewise.
1402
1403 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
1404
1405         * configure.in: Don't put ${tm_file} into host_xm_file,
1406         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
1407         Take location of tm-preds.h into account when calculating
1408         tm_p_file_list.
1409         * configure: Regenerate.
1410         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
1411         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
1412         Remove special case code for tm_p.h and *config.h; add new
1413         special case code for tm.h and tconfig.h. Clean up a bit.
1414
1415         * Makefile.in (tm_file, tm_file_list): New variables set from
1416         @-substitutions.
1417         (GCONFIG_H): Deleted.
1418         (GTM_H, TM_H): New.
1419         (CONFIG_H): Is now just config.h $(host_xm_file_list).
1420         (TM_P_H): Move up with the other mkconfig.sh-generated
1421         headers; don't mention tm-preds.h explicitly.
1422         (tm.h, cs-tm.h): New rule.
1423         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
1424         invocations of mkconfig.sh for changes to that program.
1425         (mostlyclean): Delete print-rtl1.c.
1426         (clean): Delete tm.h.
1427         Update dependencies for the files listed below.
1428
1429         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
1430
1431         * coretypes.h: New file.
1432         * system.h: #define malloc to xmalloc and realloc to xrealloc
1433         when FLEX_SCANNER or YYBISON is defined, independent of the
1434         value of GCC_VERSION.
1435         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
1436         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
1437         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
1438         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
1439         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
1440         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
1441         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
1442         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
1443         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
1444         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
1445         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
1446         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
1447         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
1448         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
1449         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
1450         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
1451         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
1452         genconstants.c, genemit.c, genextract.c, genflags.c,
1453         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
1454         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
1455         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
1456         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
1457         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
1458         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
1459         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
1460         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
1461         print-tree.c, profile.c, protoize.c, ra-build.c,
1462         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
1463         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1464         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
1465         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
1466         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
1467         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
1468         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
1469         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
1470         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
1471         xcoffout.c, config/darwin-c.c, config/darwin.c,
1472         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
1473         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
1474         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
1475         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
1476         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
1477         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
1478         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
1479         config/i960/i960-c.c, config/i960/i960.c,
1480         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1481         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1482         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
1483         config/mips/irix6-libc-compat.c, config/mips/mips.c,
1484         config/mmix/mmix.c, config/mn10200/mn10200.c,
1485         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
1486         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
1487         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
1488         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
1489         config/sparc/sparc.c, config/stormy16/stormy16.c,
1490         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
1491         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
1492         Include coretypes.h and tm.h.
1493
1494         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
1495         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
1496         genrecog.c: Include coretypes.h and tm.h from the file
1497         generated by this program.
1498
1499         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
1500         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
1501         coretypes.h and tm.h, and tsystem.h when not already included.
1502         No need to include stddef.h nor stdlib.h.
1503
1504         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
1505         include auto-host.h or ansidecl.h/
1506         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
1507         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
1508         include auto-host.h, ansidecl.h, or system.h.
1509         * fixinc/server.c: Likewise.  Also, do not include signal.h,
1510         and do not redefine volatile.
1511
1512 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1513
1514         * i386.md (movdf_integer):  Always enable in 64bit.
1515         (movdf_nointeger): Always disable in 64bit.
1516
1517 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1518
1519         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
1520         pseudo register number plus 1.
1521
1522 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
1523
1524         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1525         corresponding mode of non-integer mode, unless it is VOIDmode.
1526
1527 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
1528
1529         * cpplib.c (_cpp_test_assertion): Default *value to 0.
1530
1531         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
1532
1533 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1534
1535         * config/s390/t-crtstuff: New target makefile fragment.
1536         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
1537
1538 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1539
1540         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
1541         alternatives to correct the length when the memory operand is
1542         either pre_dec or post_inc.
1543
1544 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1545
1546         * config/h8300/h8300.md (an anonymous pattern): Give an
1547         internal name *tst_extzv_bitqi_1_n.
1548         Accept bit_operand instead of bit_memory_operand.
1549         Do not accept bit tests with the MSB.
1550         (*tst_extzv_memqi_1_n): New.
1551
1552 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1553
1554         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
1555         sharing when operand is SUBREG.
1556
1557 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
1558
1559         * athlon.md (athlon-decodev): New reservation unit.
1560         (athlon-direct0): New reservation.
1561         (athlon-vector): New use athlon-decodev.
1562         (athlon-double, athlon-direct): Better model.
1563         (athlon_imul_k8): Use athlon-direct0.
1564         (athlon_movlpd_load): New insn reservation.
1565
1566 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1567
1568         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1569         Fix a comment typo.
1570         (h8300_tiny_constant_address_p): Likewise.
1571
1572 2002-11-28  Michael Matz  <matz@suse.de>
1573
1574         * doc/passes.texi: Mention the other register allocator.
1575
1576 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1577
1578         * config/h8300/h8300.md (6 new peephole2 patterns): New.
1579
1580 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
1581
1582         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
1583         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
1584         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
1585
1586 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1587
1588         * config/h8300/h8300.c (h8300_and_costs): New.
1589         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1590         * config/h8300/h8300-protos.h: Add a prototype for
1591         h8300_and_costs.
1592
1593 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1594
1595         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1596         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1597         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1598         * i386.md (truncdfsf patterns and splitters): Use
1599         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1600
1601 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1602
1603         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1604         pointer argument in the prototypes of the following builtins
1605         be (const TYPE *) rather than (TYPE *):
1606          + __builtin_altivec_ld_internal_4sf
1607          + __builtin_altivec_ld_internal_4si
1608          + __builtin_altivec_ld_internal_8hi
1609          + __builtin_altivec_ld_internal_16qi
1610          + __builtin_altivec_lvsl
1611          + __builtin_altivec_lvsr
1612          + __builtin_altivec_lvebx
1613          + __builtin_altivec_lvehx
1614          + __builtin_altivec_lvewx
1615          + __builtin_altivec_lvxl
1616          + __builtin_altivec_lvx
1617          + __builtin_altivec_dst
1618          + __builtin_altivec_dstt
1619          + __builtin_altivec_dstst
1620          + __builtin_altivec_dststt
1621
1622 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1623
1624         * except.c (default_exception_section): Move variable into the
1625         scope where it is used.
1626
1627 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1628
1629         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1630         correct version.
1631
1632 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1633
1634         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1635
1636 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1637
1638         * config/h8300/h8300.c (h8300_shift_costs): New.
1639         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1640         * config/h8300/h8300-protos.h: Add a prototype for
1641         h8300_shift_costs.
1642
1643 2002-11-27  Jim Wilson  <wilson@redhat.com>
1644
1645         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1646         in output template.
1647
1648 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1649
1650         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1651         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1652         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1653         (i386_pe_dllimport_name_p): Likewise.
1654         (i386_pe_mark_dllexport): Likewise.
1655         (i386_pe_mark_dllimport): Likewise.
1656         (i386_pe_encode_section_info): Likewise.
1657         (i386_pe_strip_name_encoding): Likewise.
1658
1659 2002-11-27  Richard Henderson  <rth@redhat.com>
1660
1661         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1662         (nm && NF == 3): Set sawsymbol true.
1663         (END): Exit if no symbols seen.
1664         (output): Fix map syntax error if no globals for the version.
1665
1666 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1667
1668         * builtins.def (DEF_C99_BUILTIN): Fix.
1669
1670 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1671
1672         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1673         (all): Add .size and .type information.
1674
1675 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1676
1677         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1678         partial_reg_stall target.
1679
1680 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1681
1682         * i386.md (movhicc): Allow general operand.
1683         (movqicc): New expander.
1684         (movqicc_noc): New pattern.
1685         * i386.c (ix86_expand_carry_flag_compare): New function.
1686         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1687         HImode conversion; support QImode conditional moves
1688
1689 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1690
1691         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1692         (ix86_expand_prologue): Multiply the count by amount of registers to be
1693         pushed.
1694
1695 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1696
1697         * i386.c (override_options): Error about wrong -mcpu on x86-64
1698         compilation.
1699
1700 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1701
1702         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1703
1704 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1705
1706         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1707         x86_extended_reg_mentioned_p): Declare.
1708         * i386.c (extended_reg_mentioned_1): New static function.
1709         (x86_extended_QIreg_mentioned_p,
1710         x86_extended_reg_mentioned_p): New global functions.
1711         * i386.h (REX_SSE_REGNO_P): New macro.
1712         * i386.md (prefix_rex): New attribute.
1713         (length attribute): Add rex.
1714
1715 2002-11-26  Andrew Haley  <aph@redhat.com>
1716
1717         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1718         from_Unwind_Find_Enclosing_Function.
1719         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1720         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1721         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1722         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1723         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1724
1725 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1726
1727         * config/s390/s390.c (390_output_constant_pool): Set alignment
1728         before label in 64 bit mode, behind otherwise.
1729
1730 2002-11-26  Richard Henderson  <rth@redhat.com>
1731
1732         * c-common.c (handle_visibility_attribute): Accept "default".
1733         * tree.h (enum symbol_visibility): New.
1734         (decl_visibility): Declare.
1735         * target.h (gcc_target.visibility): Take visibility arg as integer.
1736         * varasm.c (default_assemble_visibility): Likewise.
1737         (decl_visibility): New.
1738         (maybe_assemble_visibility): Use it.
1739         * output.h (default_assemble_visibility): Update prototype.
1740         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1741         visibility arg as integer.
1742         * doc/extend.texi: Document default visibility.
1743
1744 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1745
1746         * config/h8300/h8300.c: Adjust spacing.
1747         * config/h8300/h8300.h: Likewise.
1748
1749 2002-11-26  Richard Henderson  <rth@redhat.com>
1750
1751         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1752         hook_void_FILEptr_constcharptr): Rename so that the return
1753         type is first.
1754         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1755         hook_bool_tree_false): New.
1756         * hooks.h: Update.
1757         * langhooks-def.h: Update for renames.
1758         * target-def.h: Likewise.
1759         * tree.c (default_comp_type_attributes,
1760         default_set_default_type_attributes, default_insert_attributes,
1761         default_function_attribute_inlinable_p,
1762         default_ms_bitfield_layout_p): Remove.
1763         * tree.h: Update.
1764
1765 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1766
1767         * pa-protos.h (function_value): New prototype.
1768         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1769         TARGET_64BIT.
1770         * pa.h (FUNCTION_VALUE): Use function_value.
1771         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1772         call_value_internal_reg, sibcall_value_internal_symref,
1773         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1774         value.
1775
1776 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1777
1778         * expr.c (gen_group_rtx, emit_group_move): New functions.
1779         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1780         * function.c (expand_function_start): Use gen_group_rtx to create a
1781         PARALLEL rtx to hold the return value when the real return rtx is a
1782         PARALLEL.
1783         (expand_function_end): Use emit_group_move to move the return value
1784         from a PARALLEL to the real return registers.
1785         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1786         in PARALLELs.
1787
1788 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1789
1790         * config/t-libc-ok: Fix typo.
1791
1792 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1793
1794         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1795         before AC_PROG_CC.
1796         * configure: Rebuilt.
1797
1798 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1799
1800         * c-decl.c: (start_struct): Commonize flag setting.
1801
1802 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1803
1804         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1805         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1806         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1807         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1808
1809 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1810
1811         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1812         insns.
1813         * config/s390/s390.c (struct machine_function): Introduction of
1814         struct machine_function.
1815         (s390_output_symbolic_const): Use of cfun.
1816         (s390_optimize_prolog): Likewise.
1817         (s390_fixup_clobbered_return_reg): Likewise.
1818         (s390_frame_info): Likewise.
1819         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1820         (s390_init_machine_status): New function.
1821         (override_options): call s390_init_machine_status.
1822         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1823         prototype.
1824
1825 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1826
1827         * varasm.c (output_constant_pool): For pool constants in mergeable
1828         section ensure each constant is padded to multiple of entity size.
1829
1830 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1831
1832         * varasm.c (default_exception_section): Move to...
1833         * except.c (default_exception_section): ... here. Make
1834         .gcc_except_table read-only if it is not expected to have any
1835         dynamic relocations and linker handles it.
1836         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1837         if it is not expected to have any dynamic relocations and linker
1838         handles it.
1839         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1840         when linking read-only and read-write sections together.
1841         * configure, config.in: Rebuilt.
1842         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1843         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1844
1845 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1846
1847         * i386.md (pushsf_rex64): Fix typo.
1848
1849 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1850
1851         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1852         new function.
1853         (__ev_create_ufix32_fs): Same.
1854         (__ev_get_sfix32_fs_internal): New.
1855         (__ev_get_sfix32_fs): Define to use function.
1856         (__ev_get_ufix32_fs_internal): New.
1857         (__ev_get_ufix32_fs): Define to use function.
1858         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1859         (__ev_get_lower_ufix32_fs): Same.
1860         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1861         (__ev_get_lower_sfix32_fs): Same.
1862         (__ev_set_sfix32_fs_internal): New.
1863         (__ev_set_ufix32_fs_internal): New.
1864         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1865         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1866         (__ev_set_upper_sfix32_fs): Call function.
1867         (__ev_set_lower_sfix32_fs): Same.
1868         (__ev_set_upper_ufix32_fs): Same.
1869         (__ev_set_lower_ufix32_fs): Same.
1870
1871 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1872
1873         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1874
1875 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1876
1877         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1878         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1879         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1880         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1881         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1882         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1883         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1884         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1885         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1886         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1887         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1888         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1889         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1890         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1891         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1892         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1893         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1894         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1895         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1896         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1897         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1898         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1899         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1900         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1901         defining.
1902         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1903         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1904
1905 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1906
1907         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1908
1909 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1910
1911         * config/h8300/h8300.md (an anonymous pattern): New.
1912
1913 2002-11-25  Richard Henderson  <rth@redhat.com>
1914
1915         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1916         (copying_arguments): Make boolean.
1917
1918 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1919
1920         * gcc.c (static_spec_functions): Add if-exists-else spec
1921         function.
1922         (if_exists_else_spec_function): New function.
1923         * doc/invoke.texi: Document the if-exists-else spec function.
1924
1925         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1926         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1927
1928 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1929
1930         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1931         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1932         "${tmake_file} rs6000/t-netbsd".
1933         * config/rs6000/netbsd.h: Rewrite.
1934         * config/rs6000/t-netbsd: New file.
1935
1936 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1937
1938         * config/h8300/h8300.md (an anonymous pattern): Relax the
1939         condition for the pattern.
1940
1941 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1942
1943         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1944         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1945         evmwlssfanw, evmwlsmfanw.
1946
1947         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1948
1949         * config/rs6000/spe.md: Same for patterns.
1950
1951 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1952
1953         PR c/8639
1954         * fold-const.c (extract_muldiv): Don't propagate division unless
1955         both arguments are multiples of C.
1956
1957 2002-11-25  Andrew Haley  <aph@redhat.com>
1958
1959         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1960         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1961         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1962         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1963
1964 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1965
1966         * i386.c (x86_use_ffreep): New global variable.
1967         * i386.h (x86_use_frfeep): Declare
1968         (TARGET_USE_FFREEP): New macro
1969         * i386.md  (movs?f*): Use freep when asked for.
1970         (push?f): Remove dead code.
1971
1972 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1973
1974         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1975         target help message.
1976
1977 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1978
1979         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1980         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1981         crtbeginT.o".
1982         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1983         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1984         to "" for a.out configurations.
1985         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1986
1987 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1988
1989         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1990         NETBSD_CPP_SPEC directly.
1991         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1992         netbsd_endfile_spec.
1993         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1994
1995 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1996
1997         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1998         NETBSD_STARTFILE_SPEC.
1999         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
2000         (ENDFILE_SPEC): Likewise.
2001         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
2002
2003 2002-11-24  Andreas Schwab  <schwab@suse.de>
2004
2005         * Makefile.in (install-driver): Remove versioned link before
2006         trying to create it.
2007
2008         * config/m68k/m68k.c: Fix typo in last change defining
2009         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
2010
2011 2002-11-23  H.J. Lu <hjl@gnu.org>
2012
2013         * aclocal.m4: Include ../config/accross.m4.
2014         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
2015         (gcc_AC_C_COMPILE_ENDIAN): Removed.
2016         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
2017         instead of $ac_cv_c_compile_endian.
2018
2019         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
2020         AC_COMPILE_CHECK_SIZEOF.
2021         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
2022         * configure: Rebuild.
2023
2024 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
2025
2026         * config/h8300/h8300.c (print_operand): Update the use of
2027         h8300_tiny_constant_address_p.
2028         (h8300_adjust_insn_length): Likewise.
2029         (h8300_tiny_constant_address_p): Check if the given rtx is a
2030         variable declared with __attribute__ ((tiny_data)).
2031
2032 2002-11-22  Dale Johannesen  <dalej@apple.com>
2033
2034         * toplev.c (rest_of_compilation):  Fix comments.
2035
2036 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
2037
2038         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
2039         allow mmap from /dev/zero.  Don't make decisions for the host
2040         based on presence or absence of /dev/zero on the build machine.
2041         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
2042         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
2043         * configure: Regenerate.
2044
2045 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
2046
2047         * gcc.c (make_relative_prefix, split_directories)
2048         (free_split_directories): Removed.
2049
2050 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
2051
2052         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
2053         * configure: Regenerated.
2054
2055 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
2056
2057         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
2058         length computation when xor.l is output.
2059
2060 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
2061
2062         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
2063         (call_vms_1, call_value_vms_1): Cleanup syntax.
2064
2065 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
2066
2067         * athlon.md (define_atuomaton): Add athlon_load.
2068         (athlon-double): New reservation.
2069         (athlon-ieu0): New CPU unit.
2070         (athlon-load?): Use athlon_load automaton.
2071         (*_k8 reservations): New.
2072         (other insn revervations): Activate for K8.
2073
2074 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2075
2076         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
2077
2078 2002-11-21  Jim Wilson  <wilson@redhat.com>
2079
2080         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
2081         vectors to SI.
2082
2083 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
2084
2085         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
2086         * config/xtensa/xtensa.c (struct machine_function): Add
2087         incoming_a7_copied flag.
2088         (xtensa_copy_incoming_a7): Define.
2089         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
2090         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
2091
2092 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
2093
2094         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
2095         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
2096         x86_64_nonmemory_operand, x86_64_movabs_operand,
2097         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
2098         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
2099         (local_symbolic_operand): Do not care the 64bit limits.
2100         (x86_64_sign_extended_value): Remove allow_rip support.
2101         (legitimate_pic_address_disp_p): Handle all cases allowed
2102         with RIP addressing.
2103         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
2104         (legitimize_pic_address): Reorganize.
2105         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
2106
2107 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2108
2109         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
2110         * config/arm/netbsd-elf.h: New file.
2111
2112 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2113
2114         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
2115         subtarget_asm_float_spec.
2116         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
2117         defaults from...
2118         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
2119
2120 2002-11-21  Nick Clifton  <nickc@redhat.com>
2121
2122         * config/fr30/fr30.md (movsf_constant_store): Move code to
2123         detect 0.0 into fr30.c.
2124         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
2125         Prototype.
2126         * config/fr30/fr30.c (fr30_const_double_is_zero): New
2127         function.  Return true if the rtx is 0.0.
2128
2129 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2130
2131         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
2132         if -mlittle-endian is specified.
2133
2134 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
2135
2136         PR optimization/2903
2137         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
2138         (anddi_notsesidi_di): Likewise.
2139
2140 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
2141
2142         * config/h8300/h8300.c (print_operand): Use
2143         h8300_eightbit_constant_address_p and
2144         h8300_tiny_constant_address_p.
2145         (h8300_adjust_insn_length): Likewise.
2146         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
2147         (TINY_CONSTANT_ADDRESS_P): Likewise.
2148         (OK_FOR_U): Use eightbit_constant_address_p.
2149
2150 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2151
2152         * config/s390/libgcc-libc.ver: Add multilib support.
2153         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
2154         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
2155         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
2156         EXTRA_MULTILIB_PARTS): Define.
2157
2158 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
2159
2160         * arm.c (arm_get_frame_size): A leaf function does not need its
2161         stack padding to an aligned boundary if it has no frame.
2162         (thumb_get_frame_size): Likewise.
2163
2164 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2165
2166         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
2167         (override_options): Likewise.
2168
2169 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2170
2171         * config.gcc: Add k8 target alias support
2172         * i386.c (_cost): Declare costs for various variants of divides and
2173         multiplies.
2174         (k8_cost): New.
2175         (m_K8, m_ATHLON_K8): New macros.
2176         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
2177         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
2178         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
2179         x86_integer_DFmode_moves, x86_partial_reg_dependency,
2180         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
2181         x86_prologue_using_move, x86_epilogue_using_move,
2182         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
2183         x86_sse_typeless_stores): Set for K8
2184         (override_options): Add k8 support; fix athlon alignment;
2185         complain about non-x86-64 capable CPU being used in x86-64 compilation.
2186         (ix86_issue_rate): Set for K8.
2187         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
2188         x86_machine_dependent_reorg): Handle K8 like
2189         * i386.h
2190         (x86_costs):  Change mult_init and divide into array.
2191         (TARGET_K8, TARGET_ATHLON): New macros.
2192         (MODE_INDEX): New macro.
2193         (RTX_COST): Use new costs.
2194         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
2195         (TARGET_CPU_DEFAULT_NAMES): Add k8
2196         (TARGET_CPU_DEFAULT_k8): New constant
2197         (enum processor_type): Add PROCESSOR_K8.
2198         * i386.md (cpu attribute): Add k8.
2199
2200         * invoke.texi: Document -march=k8.
2201
2202         * i386.md (type attribute): Add leave
2203         (mode attribute): Remove unknownfp.
2204         (length_immediate, modrm, memory attributes): Handle leave correctly.
2205         (fp comparison patterns): Determine FP mode.
2206         (leave, leave_rex64): Remove special cases.
2207         * ppro.md (ppro_uops, ppro_p2): Add leave
2208         * pentiun.md (pent_pop): Handle leave too.
2209         * k6.md (k6_load): Handle leave.
2210         * athlon.md (athlon_leave, athlon_pop): Fix.
2211         (athlon_decode): Handle leave.
2212
2213 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
2214
2215         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
2216         to component type using GET_MODE_INNER.
2217         * expr.c (emit_move_insn_1): Ditto.
2218         * optabs.c (expand_binop): Ditto.
2219         (expand_unop): Ditto.
2220         (expand_complex_abs): Ditto.
2221
2222 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
2223
2224         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
2225
2226 2002-11-20  DJ Delorie  <dj@redhat.com>
2227
2228         * config/stormy16/stormy16.c (s16builtins,
2229         xstormy16_init_builtins, xstormy16_expand_builtin): New.
2230         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
2231
2232 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
2233
2234         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
2235         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
2236         (executing gencheck, genconfigs, genconditions, genflags,
2237         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
2238         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
2239         gengtype, genprotos): Prepend $(RUN_GEN).
2240         * configure.in: Move host compiler tests before --enable-checking
2241         tests.
2242         (--enable-checking=valgrind): New.
2243         * config.in, configure: Regenerate.
2244         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2245         Define as empty.
2246         (read_include_file): When doing the mmap+1 trick,
2247         valgrind-annotate the byte after the mmap:ed area as readable.
2248         (purge_cache): Remove above annotation.
2249         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
2250         VALGRIND_PATH -q to each command.
2251
2252         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2253         Define as empty.
2254         (ggc_realloc): Update valgrind annotations.
2255         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2256         Define as empty.
2257         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
2258         valgrind-annotate memory.
2259
2260 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
2261
2262         * recog.c (constrain_operands): Prefer exact match over reloadable
2263         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
2264
2265         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
2266         operands in Pmode.
2267
2268 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
2269
2270         PR c/8518
2271         * c-decl.c (duplicate_decls): Outline the second definition
2272         of an extern inline function in all cases.
2273
2274 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2275
2276         * stor-layout.c (place_field): Update rli->offset as well as
2277         rli->bitpos.
2278
2279 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2280
2281         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
2282
2283 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2284
2285         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
2286         into a libcall block.
2287         (divsi3): Likewise divsi3_i4_media.
2288
2289 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2290
2291         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
2292         out another register.
2293
2294 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
2295
2296         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
2297         (not just mask) are set in C.
2298
2299 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
2300
2301         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
2302
2303 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2304
2305         * profile.c (index_counts_file): Fix obvious mistake.
2306
2307 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2308
2309         * Makefile.in (profile.o): Add hashtab.h dependency.
2310         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
2311         * profile.c: Include hashtab.h.
2312         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
2313         cleanup_counts_index, index_counts_file, struct section_reference,
2314         struct da_index_entry, counts_file_name, counts_file_index): New.
2315         (get_exec_counts, init_branch_prob): Modified.
2316
2317 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
2318
2319         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
2320         to tmake_file. Remove setting gas and gnu_ld here.
2321         * config/sh/libgcc-glibc.ver: New file.
2322         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2323         (SHLIB_MAPFILES): New.
2324         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
2325         (MD_STARTFILE_PREFIX): Likewise.
2326         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
2327         (DWARF2_UNWIND_INFO): Redefine.
2328         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2329         (LINK_EH_SPEC): Redefine.
2330         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
2331         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
2332         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
2333         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
2334         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
2335         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
2336         SH_DWARF_FRAME_FPSCR): Likewise.
2337         * config/sh/sh-protos.h (sh_set_return_address): Declare.
2338         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
2339         registers if the current function calls EH return.
2340         (sh_expand_epilogue): Handle EH stack adjustments.
2341         (sh_set_return_address): New function.
2342         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
2343         Don't abort even if the number is mapped to -1.
2344         (EH_RETURN_DATA_REGNO): Define.
2345         (EH_RETURN_STACKADJ_RTX): Define.
2346         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
2347         (eh_return): New pattern.
2348         (eh_set_ra_di, eh_set_ra_si): Likewise.
2349         Add splitter to perform EH return after reload.
2350
2351 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
2352
2353         * stor-layout.c (excess_unit_span): New function.
2354         (place_field): Use it.
2355
2356 2002-11-19  Andreas Schwab  <schwab@suse.de>
2357
2358         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
2359         not valid in C++.
2360
2361 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2362
2363         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
2364         * configure: Regenerate.
2365
2366 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2367
2368         * convert.c (strip_float_extensions): New function.
2369         (convert_to_real): Optimize some cases.
2370
2371 2002-11-19  Andreas Jaeger  <aj@suse.de>
2372
2373         * loop.c (record_giv): Initialize not_replaceable.
2374         (check_final_value): Likewise.
2375
2376 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2377
2378         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
2379         MASK_H8300S.
2380
2381 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
2382
2383         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
2384         only if -mh or -ms present.
2385         (h8300_eightbit_constant_address_p): Support the normal mode.
2386         (h8300_tiny_constant_address_p): Likewise.
2387         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
2388         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
2389         (Pmode): Evaluate to HImode for the normal mode.
2390         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
2391         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
2392         (ASM_WORD_OP): Evaluate to word for the normal mode.
2393         * config/h8300/h8300.md (tablejump_normal_mode): New.
2394         (indirect_jump_normal_mode): New.
2395         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
2396         directory.
2397         (MULTILIB_DIRNAMES): Create target dependent directory
2398         'normal'.
2399         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
2400         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
2401
2402 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
2403
2404         * i386.md (length_immediate): Do not refer to insn address.
2405         (jcc*, jmp patterns):  Compute length explicitly.
2406
2407 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2408
2409         PR c/8588
2410         * optabs.c (expand_binop): Convert CONST_INTs in shift
2411         operations too.
2412
2413 2002-11-19  Roger Sayle  <roger@eyesopen.com>
2414
2415         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
2416
2417 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2418
2419         * config/h8300/h8300.md (an anonymous pattern): Relax the
2420         condition to accept the same operands and/or subregs.
2421
2422 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
2423
2424         * config/sh/sh.c (gen_shl_and): Revert previous patch.
2425         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
2426         reload_completed.
2427
2428 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2429
2430         * config/h8300/h8300.c (print_operand): Update the use of
2431         EIGHTBIT_CONSTANT_ADDRESS_P.
2432         (h8300_adjust_insn_length): Likewise.
2433         (h8300_eightbit_constant_address_p): Check if the given rtx is
2434         a variable with __attribute__((eightbit_data)).
2435         * config/h8300/h8300.h (OK_FOR_U): Update the use of
2436         EIGHTBIT_CONSTANT_ADDRESS_P.
2437
2438 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2439
2440         * doc/contrib.texi (Contributors): Add self as second contact in
2441         addition to Jeff Law.
2442
2443 2002-11-19  Andreas Jaeger  <aj@suse.de>
2444
2445         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
2446         find_alloca_call to right place.
2447
2448 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2449
2450         * cppfiles.c: Fix formatting.
2451
2452 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2453
2454         * gcc.c (The Specs Language): Document spec functions.
2455         (static_spec_functions, lookup_spec_function)
2456         (eval_spec_function, handle_spec_function)
2457         (if_exists_spec_function, alloc_args): New.
2458         (execute): Abort if processing_spec_function is true.
2459         (do_spec_1): Hand off spec to handle_spec_function if %:
2460         is encountered.  If processing_spec_function is true,
2461         end any pending argument when the end of the string is reached.
2462         (main): Use alloc_args to allocate the initial argument vector.
2463         * gcc.h (struct spec_function): New.
2464         (lang_specific_spec_functions): New extern.
2465
2466         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
2467         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
2468         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
2469
2470         * doc/invoke.texi: Document spec functions.
2471
2472         * cppspec.c (lang_specific_spec_functions): New.
2473         * gccspec.c: Likewise.
2474
2475 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
2476
2477         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
2478         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
2479         (fixunstfsi_libfunc): Change.
2480         (fixunstfdi_libfunc): Change.
2481         (sdiv_optab): Don't zero out SImode handler.
2482         (udiv_optab): Don't zero out SImode handler.
2483         (smod_optab): Don't zero out SImode handler.
2484         (umod_optab): Don't zero out SImode handler.
2485
2486 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
2487
2488         PR preprocessor/8524
2489         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
2490         Add a new one in its place, which hopefully works.
2491         (skip_rest_of_line): Change test for bottom-of-context-stack.
2492
2493 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
2494
2495         * i386.md (addqi_1_slp): Fix output template.
2496         (subqi_1_slp): Fix type.
2497
2498 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
2499
2500         * calls.c (alloca_call_p): New global function.
2501         * tree.h (alloca_call_p): New.
2502         * tree-inline.c (inlinable_function_p):  Do not inline when
2503         function calls alloca.
2504         (find_alloca_call, find_alloca_call_1): New functions.
2505
2506 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
2507
2508         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
2509         bst.  Update the insn length.
2510         (*andorhi3): Likewise.
2511         (*andorsi3): Likewise.
2512
2513 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2514
2515         * config/sh/sh-protos.h (sh_mark_label): Declare.
2516         * config/sh/sh.c (sh_mark_label): New function, taken from
2517         movdi_const, but fixing the case when the address has an addend.
2518         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
2519
2520 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2521
2522         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
2523         (add_constant): Set it.
2524         (dump_table): Don't reorder a constant if part_of_sequence_p.
2525         (machine_dependent_reorg): Assume that float constants will
2526         stay in their original order if used as a sequence.
2527
2528 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2529
2530         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
2531         in compact code.
2532
2533 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2534
2535         * config/sh/sh.md (initialize_trampoline): Do not force the
2536         trampoline address into R0_REGS here.
2537
2538 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
2539
2540         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
2541         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
2542         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
2543         generate unnecesary subregs.
2544
2545 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2546
2547         * df.c: Fix formatting.
2548
2549 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2550
2551         * config/h8300/h8300.md (two anonymous patterns): Fix insn
2552         lengths.
2553
2554 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
2555
2556         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
2557         is not an arith_reg_operand.
2558
2559 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
2560
2561         * real.c (real_to_decimal): Fix buffer overrun when buffer size
2562         is smaller than representation.
2563
2564 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2565
2566         * builtins.c: Fix formatting.
2567
2568 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2569
2570         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
2571         floats?dff2_i387):
2572         Work around regclass stupidity.
2573         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
2574
2575 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2576
2577         * i386.md (fop_df_6): New pattern.
2578         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
2579         (fop_xf_6): Rewrite
2580         (fop_xf_7): Delete.
2581         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
2582         (fop_tf_6): Rewrite
2583         (fop_tf_7): Delete.
2584
2585 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2586
2587         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
2588
2589 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2590
2591         * config/h8300/h8300.md: Fix formatting.
2592
2593 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2594
2595         * config/h8300/h8300.md: Replace spaces with tabs.
2596         * config/h8300/t-h8300: Remove a trailing empty line.
2597
2598 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2599
2600         * tlink.c: Fix formatting.
2601
2602 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2603
2604         PR 8362
2605         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2606         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2607         when scratch register never needed.
2608         (ldmsi[3-8]): New patterns.
2609
2610 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2611
2612         * hard-reg-set.h: Follow spelling conventions.
2613         * real.c: Likewise.
2614         * target.h: Likewise.
2615
2616 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2617
2618         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2619
2620 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2621
2622         * optabs.c: Fix formatting.
2623
2624 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2625
2626         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2627         * i386.md (attribute type): Add type shift1 and rotate1.
2628         (*_slp): Rewrite to have just two operands to avoid reload problems.
2629
2630 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2631
2632         * config/h8300/h8300.md (4 anonymous patterns): New.
2633
2634 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2635
2636         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2637         * doc/invoke.texi: Correct description of what needs to be done to
2638         force collection at every ggc_collect call.
2639
2640 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2641
2642         * config/s390/s390.c (optimization_options): Set
2643         flag_asynchronous_unwind_tables to 1 by default.
2644
2645 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2646
2647         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2648
2649 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2650
2651         * i386-protos.h (x86_function_profiler): New function
2652         * i386.h (MCOUNT_NAME): New.
2653         (PROFILE_COUNT_REGISTER): New.
2654         (FUNCTION_PROFILER): Move offline to ...
2655         * i386.c (x86_function_profiler) ... here; fix 64bit support
2656         * beos-elf.h (FUNCTION_PROFILER): Kill.
2657         (MCOUNT_NAME): New.
2658         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2659         (MCOUNT_NAME): New.
2660         (PROFILE_COUNT_REGISTER): New.
2661         * linux.h (FUNCTION_PROFILER): Kill.
2662         (MCOUNT_NAME): New.
2663         * x86-64.h (FUNCTION_PROFILER): Kill.
2664         (MCOUNT_NAME): New.
2665         * freebsd.h (FUNCTION_PROFILER): Kill.
2666         (MCOUNT_NAME): New.
2667
2668 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2669
2670         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2671         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2672         * config/arm/arm.c (arm_va_arg,
2673         arm_function_arg_pass_by_reference): New.
2674         * config/arm/arm-protos.h: Add prototypes.
2675
2676 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2677
2678         * gthr-single.h: Fix formatting.
2679
2680 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2681
2682         * tree.c (tree_vec_elt_check_failed): New function.
2683         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2684         (TREE_VEC_ELT): Use it.
2685
2686         * tree-inline.c (optimize_inline_calls): Don't copy a
2687         zero-length vector.
2688
2689 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2690
2691         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2692
2693 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2694
2695         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2696         both operands contain local relocations.
2697         (categorize_decl_for_section): Don't use mergeable sections if
2698         initializer has any relocations.
2699
2700 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2701
2702         * gthr-vxworks.h: Fix formatting.
2703
2704 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2705
2706         * doc/install.texi (Testing): Document extra Java testing.
2707         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2708
2709 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2710
2711         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2712         beginning of the spec.
2713         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2714         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2715         regarding problems with global constructors when using GNU ld.
2716
2717 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2718
2719         * gthr-solaris.h: Fix formatting.
2720
2721 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2722
2723         * gthr-posix.h: Fix formatting.
2724
2725 2002-11-12  Devang Patel <dpatel@apple.com>
2726         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2727         (process_command): Same.
2728         * doc/invoke.texi: Info about these two new options.
2729
2730 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2731
2732         * config/h8300/h8300.md (*andorsi3): New.
2733
2734 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2735
2736         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2737
2738 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2739
2740         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2741         expressions appropriately.
2742
2743 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2744
2745         * gthr-win32.h: Fix formatting.
2746
2747 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2748
2749         * config/h8300/h8300.c (single_one_operand): Correctly compute
2750         mask when mode is SImode.
2751         (single_zero_operand): Likewise.
2752         * config/h8300/h8300.md (two new anonymous insns): New.
2753
2754 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2755
2756         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2757         to that entire project.
2758
2759 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2760
2761         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2762         directories.
2763
2764 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2765
2766         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2767         * doc/invoke.texi: Document them.
2768
2769         * ggc-page.c: Include params.h.  Remove definitions of
2770         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2771         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2772         (init_gcc): Don't set G.allocated_last_gc here.
2773         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2774         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2775         perform collection.
2776         * ggc-simple.c: Similarly.
2777         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2778         dependencies.
2779
2780 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2781
2782         * gthr-dce.h: Fix formatting.
2783
2784 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2785
2786         PR c/8467
2787         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2788         mode of DECL_RTL case.
2789
2790 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2791
2792         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2793
2794 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2795
2796         * i386.c (construct_container): Fix handling of SSE_CLASS.
2797
2798 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2799
2800         * config/m68k/t-crtstuff (crti.o): Use this...
2801         ($(T)crti.o): ... instead.
2802         (crtn.o): Use this...
2803         ($(T)crtn.o): ... instead.
2804
2805 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2806
2807         PR c/8439
2808         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2809         if there is something new to be simplified.
2810
2811 2002-11-10  H.J. Lu <hjl@gnu.org>
2812
2813         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2814         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2815
2816         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2817
2818 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2819
2820         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2821         * config/rs6000/linux.h, config/rs6000/linux64.h,
2822         config/rs6000/windiss.h: ... not here.
2823
2824 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2825
2826         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2827         __ABICALLS__ if TARGET_ABICALLS.
2828
2829 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2830
2831         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2832
2833 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2834
2835         * c-decl.c (grokdeclarator): Make error for duplicate type
2836         qualifiers into a pedwarn, disabled for C99.
2837
2838 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2839
2840         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2841         as FUNCTION_ARG_PASS_BY_REFERENCE.
2842
2843 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2844
2845         * doc/install.texi: Add *-*-vxworks* specific installation
2846         instructions.
2847
2848         * config/vxlib.c: Rewrite using generation numbers to identify
2849         valid TSD keys.
2850
2851 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2852
2853         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2854
2855 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2856
2857         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2858
2859         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2860         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2861         * pa.c (output_millicode_call): Use symbol difference rather than
2862         $PIC_pcrel$0 when using HP assembler.
2863         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2864         not elfos.h (i.e., gas) is being used.
2865         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2866         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2867         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2868         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2869         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2870         using elfos.h.
2871         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2872         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2873         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2874         using elfos.h.
2875         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2876         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2877         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2878         Don't define when not using elfos.h.
2879         (ASM_DECLARE_RESULT): Don't define.
2880         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2881         doesn't work on hppa64-hp-hpux11.
2882         (hppa*-hp-hpux11): Update.
2883
2884 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2885
2886         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2887         to the assembler if -mno-abicalls was specified.
2888
2889 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2890
2891         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2892         ASM_OUTPUT_DEF): Delete.
2893
2894 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2895
2896         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2897
2898 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2899
2900         * real.c (real_sqrt): Update comment with bibliographic reference.
2901
2902 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2903
2904         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2905
2906 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2907
2908         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2909
2910 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2911
2912         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2913         (expand_builtin): Likewise.
2914         * builtins.def: Add
2915         __builtin_floor, __builtin_floorf, __builtin_floorl
2916         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2917         __builtin_round, __builtin_roundf, __builtin_roundl
2918         __builtin_trunc, __builtin_truncf, __builtin_truncl
2919         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2920         * genopinit.c (optabs): Initialize the new optabs.
2921         * optab.c (init_optabs): Likewise.
2922         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2923         OTI_round, OTI_nearbyint.
2924         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2925         * doc/md.texi: Document new named patterns.
2926         * doc/extend.texi (builtin functions)  Document
2927         floor, floorf, floorl, ceil, ceilf,
2928         ceill, round, roundf, roundl, trunc,
2929         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2930
2931 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2932
2933         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2934
2935 2002-11-08  Dale Johannesen  <dalej@apple.com>
2936
2937         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2938
2939 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2940
2941         PR preprocessor/8497
2942         PR preprocessor/8501
2943         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2944         start a directive.  In assembler, #NUM is not a line directive.
2945
2946 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2947
2948         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2949         buffers.
2950
2951 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2952
2953         * config/h8300/h8300.md (two anonymous test insns): New.
2954
2955 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2956
2957         * jump.c (mark_jump_label): Handle subregs of label_refs.
2958
2959 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2960
2961         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2962         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2963
2964 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2965
2966         * config/ia64/crtend.asm: Include "auto-host.h".
2967         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2968         * config/ia64/crtbegin.asm: Similarly.
2969         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2970         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2971
2972         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2973         * configure.in: Use it if --enable-initfini-array not specified.
2974         * doc/install.texi (Configuration): Document --enable-initfini-array.
2975         * configure, config.in: Rebuild.
2976
2977 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2978
2979         * config/arm/arm-protos.h (arm_get_frame_size)
2980         (thumb_get_frame_size): New prototypes.
2981         * config/arm/arm.c (arm_get_frame_size)
2982         (thumb_get_frame_size): New functions.
2983         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2984         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2985         arm_get_frame_size.
2986         (thumb_expand_prologue, thumb_expand_epilogue): Use
2987         thumb_get_frame_size.
2988         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2989         (machine_function): Add frame_size member.
2990         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2991
2992 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2993
2994         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2995         Adjust code to use portable unsigned bit manipulation.
2996         (insn_flags, tune_flags): Change type to unsigned.
2997         (struct processors): Make flags unsigned long.
2998         (arm_override_options): Change type of count and current_bit_count
2999         to unsigned.
3000
3001 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
3002
3003         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
3004
3005 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
3006
3007         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
3008
3009 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
3010
3011         * reg-stack.c (compensate_edge): Fix sanity check.
3012
3013 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
3014
3015         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
3016         crt2.o.  Rearrange t-darwin makefiles.
3017         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
3018         * unwind-dw2-fde-darwin.c: New.
3019         * unwind-dw2-fde-glibc.c: Correct comment.
3020         * unwind-dw2-fde.c (__register_frame_info_bases)
3021         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
3022         (classify_object_over_fdes): Use last_fde.
3023         (add_fdes): Likewise.
3024         (linear_search_fdes): Likewise.
3025         * unwind-dw2-fde.h (struct object)
3026         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
3027         (last_fde): New.
3028         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
3029         (ENDFILE_SPEC): No crtend.o.
3030         * config/t-darwin: New.
3031         * config/i386/t-darwin: Delete.
3032         * config/darwin-crt2.c: New.
3033         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
3034         or config/t-darwin.
3035
3036 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
3037
3038         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
3039         MASK_MS_BITFIELD_LAYOUT
3040         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
3041         MS bitfields for Objective-C.
3042         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
3043         defines.
3044
3045         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
3046         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
3047         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
3048
3049         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
3050         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
3051         (TARGET_SWITCHES): Add above mask.
3052
3053         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
3054         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
3055         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
3056         flags for interix.
3057
3058 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
3059
3060         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
3061         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
3062         assembler.
3063         * config/mips/mips.md (tablejump_internal3): Output .cpadd
3064         before jump on ABI_N32 too.
3065         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
3066         length to match.
3067
3068 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
3069
3070         * i386.md (negsf splitter): Accept memory operand in second register.
3071         (abssf/absdf splitters): Simplify
3072         (sse_loadss, sse_loadsd): Turn into expander.
3073
3074 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
3075
3076         PR target/8480
3077         * config/rs6000/rs6000.md (movdi_internal64): Discourage
3078         FPR to FPR moves.
3079
3080 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
3081
3082         * doc/contrib.texi: Merge in the list from the Java web pages.
3083
3084 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
3085
3086         * config/sparc/freebsd: Fix typo.
3087
3088 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3089
3090         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
3091
3092 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
3093
3094         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
3095         non-SImode addresses.
3096
3097 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
3098
3099         * i386.md (float_truncate SSE splitter): Ensure that operand is not
3100         stack register.
3101         (float SSE splitters): Reorder conditional.
3102
3103 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
3104
3105         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
3106
3107 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
3108
3109         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
3110         (STARTFILE_SPEC): Remove p and pg options.
3111
3112 2002-11-05  Andrew Haley  <aph@redhat.com>
3113
3114         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
3115         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
3116
3117 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
3118
3119         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
3120         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
3121
3122 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
3123
3124         * gthr-vxworks.h: Rewritten from scratch.
3125         * config/vxlib.c: New file.
3126         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
3127         * config/rs6000/t-vxworks: Add config/vxlib.c to
3128         LIB2FUNCS_EXTRA here too, because of clash with
3129         config/rs6000/t-ppccomm.
3130
3131 2002-11-04  Dale Johannesen  <dalej@apple.com>
3132
3133         * doloop.c (doloop_modify_runtime):  Fix loop count computation
3134         for unrolled loops.
3135         * loop.c (loop_invariant_p):  Support calling from unroller.
3136
3137 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
3138
3139         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
3140         for comparison.
3141
3142 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
3143
3144         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
3145
3146         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
3147         (CLASS_CANNOT_CHANGE_MODE): Remove.
3148         (CANNOT_CHANGE_MODE_CLASS): New.
3149
3150         * config/alpha/alpha.h: Same.
3151
3152         * config/ia64/ia64.h: Same.
3153
3154         * config/mips/mips.h: Same.
3155
3156         * config/s390/s390.h: Same.
3157
3158         * config/sh/sh.h: Same.
3159
3160         * config/pa/pa64-regs.h: Same.
3161
3162         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
3163
3164         * config/sh/sh.c (sh_cannot_change_mode_class): New.
3165
3166         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
3167         prototype.
3168
3169         * config/mips/mips.c (mips_cannot_change_mode_class): New.
3170
3171         * doc/tm.texi (Register Classes): Remove
3172         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
3173         Document CANNOT_CHANGE_MODE_CLASS.
3174
3175         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
3176         (push_reload): Same.
3177
3178         * simplify-rtx.c (simplify_subreg): Same.
3179
3180         * reload1.c (choose_reload_regs): Same.
3181
3182         * recog.c (register_operand): Same.
3183
3184         * regrename.c (mode_change_ok): Change to use new
3185         CANNOT_CHANGE_MODE_CLASS infrastructure.
3186
3187         * regclass.c (cannot_change_mode_set_regs): New.
3188         Declare subregs_of_mode.
3189         (regclass): Use subregs_of_mode.
3190         Remove references to reg_changes_mode.
3191         (init_reg_sets_1): Remove class_can_change_mode and
3192         reg_changes_mode code.
3193         (invalid_mode_change_p): New.
3194         (dump_regclass): Use invalid_mode_change_p instead of
3195         class_can_change_mode.
3196         (regclass): Same.
3197         (record_operand_costs): Do not set reg_changes_mode.
3198
3199         * local-alloc.c (struct qty): Remove changes_mode field.
3200         (alloc_qty): Remove changes_mode initialization.
3201         (update_qty_class): Remove set of changes_mode.
3202         (find_free_reg): Use subregs_of_mode.
3203
3204         * global.c (find_reg): Use subregs_of_mode info.
3205
3206         * rtl.h (cannot_change_mode_set_regs): New prototype.
3207         (invalid_mode_change_p): Same.
3208         (REG_CANNOT_CHANGE_MODE_P): New macro.
3209
3210         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
3211         REG_CHANGES_MODE.
3212         (life_analysis): Clear subregs_of_mode.
3213
3214         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
3215         Remove use of CLASS_CANNOT_CHANGE_MODE.
3216         (simplify_set): Same.
3217         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
3218         REG_CHANGES_MODE.
3219
3220         * regs.h: Add extern for subregs_of_mode;
3221         Include hard-reg-set and basic-block.
3222         (REG_CHANGES_MODE): Delete.
3223
3224 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3225
3226         * real.c (real_sqrt): New function to calculate square roots.
3227         * real.h (real_sqrt): Add function prototype.
3228         * builtins.c (fold_builtin): Fold sqrt of constant argument.
3229         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
3230         of constant argument.
3231
3232 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3233
3234         * jump.c (never_reached_warning): Don't set contains_insn until the
3235         first line note is seen.
3236
3237 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
3238
3239         * config/rs6000/rs6000.md (movti_string): Use string instructions.
3240
3241 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3242
3243         PR c/7128
3244         * c-typeck.c (c_expand_asm_operands): Defend against
3245         error_mark_nodes in the output argument to avoid ICE.
3246
3247 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3248
3249         PR middle-end/8408
3250         * genrecog.c (preds): Handle ADDRESSOF.
3251         (validate_pattern): Mark it as an lvalue.
3252
3253 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
3254
3255         * config/rs6000/rs6000.c (rs6000_override_options): Use string
3256         instructions when optimizing for size.
3257
3258 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
3259
3260         * config/h8300/h8300.h: Fix comment typos.
3261         * config/h8300/h8300.md: Likewise.
3262         * config/h8300/lib1funcs.asm: Likewise.
3263
3264 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3265
3266         Revert this change:
3267
3268         *doc/install.texi (Installing GCC: Configuration): Clarify
3269         the only supported ways to configure gcc.
3270
3271 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3272
3273         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
3274         instead of 'O' for the constraint for the second operand.
3275
3276 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
3277
3278         PR c++/8391
3279         * toplev.c (rest_of_compilation): Do not refuse to output code for
3280         an inline function in a local class.
3281
3282 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
3283
3284         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
3285         (TRANSFER_FROM_TRAMPOLINE): Reformat.
3286         Add comment.
3287
3288 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3289
3290         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
3291
3292 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
3293
3294         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
3295
3296 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
3297
3298         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
3299         (MASK_INLINE_DIV_THR): Remove.
3300         (TARGET_INLINE_DIV_LAT): Remove.
3301         (TARGET_INLINE_DIV_THR): Remove.
3302         (TARGET_INLINE_DIV): Remove.
3303         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
3304         (MASK_INLINE_FLOAT_DIV_THR): New macro.
3305         (MASK_INLINE_INT_DIV_LAT): New macro.
3306         (MASK_INLINE_INT_DIV_THR): New macro.
3307         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
3308         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
3309         (TARGET_INLINE_INT_DIV_LAT): New macro.
3310         (TARGET_INLINE_INT_DIV_THR): New macro.
3311         (TARGET_INLINE_FLOAT_DIV): New macro.
3312         (TARGET_INLINE_INT_DIV): New macro.
3313         * config/ia64/ia64.md (divsi3): Change to use new macros.
3314         (modsi3): Ditto.
3315         (udivsi3): Ditto.
3316         (umodsi3): Ditto.
3317         (divsi3_internal): Ditto.
3318         (divdi3): Ditto.
3319         (moddi3): Ditto.
3320         (udivdi3): Ditto.
3321         (umoddi3): Ditto.
3322         (divdi3_internal_lat): Ditto.
3323         (divdi3_internal_thr): Ditto.
3324         (divsf3): Ditto.
3325         (divsf3_internal_lat): Ditto.
3326         (divsf3_internal_thr): Ditto.
3327         (divdf3): Ditto.
3328         (divdf3_internal_lat): Ditto.
3329         (divdf3_internal_thr): Ditto.
3330         (divtf3): Ditto.
3331         (divtf3_internal_lat): Ditto.
3332         (divtf3_internal_thr): Ditto.
3333         * config/ia64/ia64.c (ia64_override_options): Change
3334         to check new macros for conflicts in settings.
3335         * doc/invoke.texi (-minline-divide-min-latency): Remove.
3336         (-minline-divide-max-throughput): Remove.
3337         (-minline-float-divide-min-latency): New.
3338         (-minline-float-divide-max-throughput): New.
3339         (-minline-int-divide-min-latency): New.
3340         (-minline-int-divide-max-throughput): New.
3341
3342 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
3343
3344         PR target/7856
3345         * arm.c (use_return_insn): Don't use a return insn if there are
3346         saved integer regs, but LR is not one of them.
3347
3348 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3349
3350         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
3351         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
3352
3353 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3354
3355         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
3356         (movps, movpd splitters): Use canonical form.
3357         (movv2di): Fix merge problem.
3358
3359 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
3360
3361         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3362
3363 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3364
3365         PR optimization/6162
3366         * doc/md.texi: Document restriction on commutative operand
3367         specification.
3368
3369 2002-10-31  Eric Christopher  <echristo@redhat.com>
3370
3371         * explow.c (convert_memory_address): Use shallow_copy_rtx.
3372
3373 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3374
3375         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
3376
3377 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3378
3379         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
3380
3381 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3382
3383         * config/rs6000/darwin.h:  Correct formatting in previous.
3384
3385 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3386
3387         * config/rs6000/darwin.h:  Enable -falign-xxx options.
3388
3389 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
3390
3391         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
3392         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
3393         * i386.c (optimization_options): Set flag_omit_frame_pointer,
3394         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
3395         Do not clear -momit-leaf-frame-pointer when profiling.
3396         (ix86_frame_pointer_required): Frame pointer is always required when
3397         profiling.
3398
3399 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3400
3401         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3402
3403 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
3404
3405         * sh.h (binary_logical_operator): Declare.
3406         * sh.c (binary_logical_operator): New function.
3407         * sh.md (xordi3+1): New combiner splitter pattern.
3408
3409 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
3410
3411         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3412         __enable_execute_stack function.
3413
3414 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
3415
3416         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
3417         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
3418         * unwind-sjlj.c (fc_key_dtor): Delete.
3419         (fc_key_init): Adjust __gthread_key_create call to match.
3420
3421 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
3422
3423         * c-common.c: Add GTY to vector_type_node_list.
3424
3425 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
3426
3427         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
3428         * pa-protos.h (attr_length_millicode_call, attr_length_call,
3429         pa_init_machine_status): Declare new global functions.
3430         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
3431         implement new functions.
3432         (attr_length_millicode_call, attr_length_call): Implement.
3433         (total_code_bytes): Change type to long.
3434         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
3435         Reset counter if flag_function_sections.
3436         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
3437         (output_cbranch): Move call to gen_label_rtx.
3438         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
3439         delay slot in all variants, shorten pc-relative calls.
3440         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
3441         slot usage and exposure, various new call variants, and shortened
3442         sequences for some variants on TARGET_PA_20.
3443         Miscellaneous format changes.
3444         * pa.h (total_code_bytes): Change type to long.
3445         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
3446         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
3447         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
3448         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
3449         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
3450         stores on TARGET_ELF32.
3451         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
3452         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
3453         canonicalize_funcptr_for_compare expanders): Calculate attribute length
3454         attr_length_millicode_call().
3455         (call_internal_symref, call_value_internal_symref): Clobber register 1.
3456         Calculate attribute length using attr_length_call().
3457         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
3458         to delay slot.
3459         (sibcall, sibcall_value): Rewrite.
3460         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
3461         register 1.  Use attr_length_call().
3462         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
3463         New patterns.
3464         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
3465         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
3466         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
3467         * doc/invoke.texi (mlong-calls): Document.
3468
3469 2002-10-30  Roger Sayle  <roger@eyesopen.com>
3470
3471         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
3472         handling of cases where one or both branches of the conditional
3473         have void type, i.e. throw an exception or don't return.
3474         (fold): Only apply (and undo) type conversion to the non-void
3475         branches of a COND_EXPR.
3476
3477 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
3478
3479         PR c++/8333
3480         * varasm.c (asm_output_aligned_bss): Do not call
3481         ASM_GLOBALIZE_LABEL.
3482
3483 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
3484             Torbjorn Granlund  <tege@swox.com>
3485
3486         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
3487         for addressibility.
3488         (load_toc_v4_PIC_1b): Same.
3489
3490 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
3491
3492         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3493         Truncate the addresses for H8/300 using HImode.
3494
3495 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
3496
3497         * i386.md (negdf splitter): Fix construction of the constant.
3498
3499 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
3500
3501         * i386.md (negsf, negdf): Reorganize to use vector modes
3502         for SSE variants.
3503         (abssf, absdf): Use force_reg.
3504         (movv4sf, movv2df): New splitters.
3505         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
3506         * i386.c (zero_extended_scalar_load_operand
3507
3508         * i386-protos.h (ix86_expand_call): Update prototype.
3509         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
3510         (ix86_expand_call): Use r11 for indirect sibcalls.
3511         * i386.md (call, call_value, untyped_call, call_value_pop):
3512         update x86_expand_call call.
3513         (sibcall, sibcall_value): new patterns
3514         (call_rex64, call_value_rex64): Do not accept sibcalls.
3515         (sibcall_rex64, sibcall_value_rex64,
3516         sibcall_rex64_v, sibcall_value_rex64_v): New.
3517
3518 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3519
3520         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3521         before final pass.
3522
3523 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
3524
3525         * toplev.c (rest_of_type_compilation): Return early in case of
3526         errors.
3527         (check_global_declarations): Don't call debug_hooks->global_decl
3528         in case of errors.
3529
3530 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
3531
3532         * doc/c-tree.texi (Tree overview): Fix typos.
3533
3534 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
3535
3536         * Makefile.in (gnucompare*):  Only record bad comparisons
3537         if there really was a bad comparison.
3538
3539 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
3540
3541         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
3542         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
3543         * md.texi (machine dependent constraints): Document 'C'
3544
3545         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
3546
3547         * i386.c (ix86_expand_vector_move): Fix.
3548
3549         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
3550         * i386.md (sse2_maskmovdqu_rex64): New pattern
3551
3552         PR target/8322
3553         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
3554         (ix86_init_mmx_sse_builtins): Fix type.
3555
3556 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
3557
3558         * gthr-posix.h: Include <unistd.h> for feature tests.
3559         (sched_get_priority_max, sched_get_priority_min)
3560         (pthread_getschedparam, pthread_setschedparam): Only use
3561         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
3562         (__gthread_objc_thread_set_priority): Don't treat all nonzero
3563         returns from sched_get_priority_max and sched_get_priority_min
3564         as an error.
3565
3566 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3567
3568         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
3569         MASK_QUICKCALL.
3570
3571 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3572
3573         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
3574         (h8300_tiny_constant_address_p): Likewise.
3575         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
3576         h8300_eightbit_constant_address_p.
3577         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
3578         * config/h8300/h8300-protos.h: Add the prototypes for the two
3579         new functions.
3580
3581 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3582
3583         * reload1.c (update_eliminables): Unconditionally check if
3584         frame_pointer_needed has changed.
3585
3586 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3587
3588         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3589         before final pass.
3590
3591 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3592
3593         PR optimization/8334
3594         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3595         check for zero operands explicitly.
3596
3597 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3598
3599         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3600         memory after adjusting to BLKmode.
3601
3602 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3603
3604         * config/h8300/h8300.h (MASK_*): New.
3605         (TARGET_*): Use MASK_*.
3606
3607 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3608
3609         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3610         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3611         config/rs6000/vxworks.h: New files.
3612         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3613
3614         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3615         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3616         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3617         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3618         sparc-*-vxsim*): Delete stanzas.
3619         * gthr-vxworks.h: Rip out all substantive code and just
3620         include gthr-single.h.
3621
3622         * config/alpha/vxworks.h, config/arm/vxarm.h,
3623         config/i386/vxi386.h, config/i960/t-vxworks960,
3624         config/i960/vx960-coff.h, config/i960/vx960.h,
3625         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3626         config/mips/vxworks.h, config/rs6000/vxppc.h,
3627         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3628         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3629         config/sparc/vxsparc64.h: Delete files.
3630
3631 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3632
3633         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3634         tm_defines if pthreads are enabled.
3635         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3636         if NETBSD_ENABLE_PTHREADS is defined.
3637
3638 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3639
3640         * ChangeLog.1: Fix typos.
3641         * cse.c: Fix a comment typo.
3642         * reload1.c: Likewise.
3643
3644 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3645
3646         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3647         * fixinc/tests/base/_G_config.h: New file.
3648
3649 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3650
3651         * combine.c: Fix comment formatting.
3652         * loop.c: Likewise.
3653         * real.c: Likewise.
3654         * regclass.c: Likewise.
3655         * regmove.c: Likewise.
3656         * regrename.c: Likewise.
3657         * reg-stack.c: Likewise.
3658         * reload1.c: Likewise.
3659         * reload.c: Likewise.
3660         * reload.h: Likewise.
3661         * unroll.c: Likewise.
3662
3663 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3664
3665         * reload1.c (reload): Fix a comment typo.
3666
3667 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3668
3669         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3670
3671 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3672
3673         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3674         * dwarf2out.c: Include hashtab.h.
3675         (is_main_source): New static variable.
3676         (attr_checksum, die_checksum): Modified to handle die references.
3677         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3678         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3679         record_comdat_symbol_number): New static functions.
3680         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3681         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3682         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3683         declarations added.
3684
3685 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3686
3687         * config/h8300/h8300.c (initial_offset): Change to
3688         h8300_initial_elimination_offset.
3689         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3690         h8300_initial_elimination_offset.
3691         * config/h8300/h8300-protos.h: Update the prototype.
3692
3693 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3694
3695         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3696         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3697         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3698         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3699         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3700         and RTX_CODE.
3701         (mmix_function_value_regno_p): Declare.
3702
3703         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3704         invalid for floating point mode result, with fix.
3705
3706 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3707
3708         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3709         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3710         (stage1_build): Likewise.
3711
3712 2002-10-25  Mike Stump  <mrs@apple.com>
3713
3714         Fixes gcc.dg/warn-1.c.
3715         * c-typeck.c (warn_for_assignment): Don't print argument number,
3716         if zero.
3717
3718 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3719
3720         * toplev.c (dump_file_index): Add DFI_ce3.
3721         (dump_file_info): Likewise.
3722         (rest_of_compilation): Run first ifcvt pass before tracer.
3723
3724 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3725
3726         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3727
3728 2002-10-25  Richard Henderson  <rth@redhat.com>
3729
3730         * real.c (real_to_decimal): If the >1 tens reduction loop results
3731         in a negative exponent, fall into the <1 pten computation.
3732
3733 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3734
3735         PR middle-end/6994
3736         * c-objc-common.c (inline_forbidden_p): Can not inline
3737         functions containing structures or unions containing VLAs.
3738         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3739         TYPE_SIZE and TYPE_SIZE_UNIT.
3740         (copy_tree_r): Copy types if they are variably modified.
3741
3742 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3743
3744         * config/s390/s390.md: Remove old-style peepholes.
3745
3746 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3747
3748         * config/s390/s390.c (s390_decompose_address): Do not range check the
3749         displacement if base or index is the argument pointer register.
3750
3751 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3752
3753         PR other/3337
3754         PR bootstrap/6763
3755         PR bootstrap/8122
3756         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3757         * fixinc/fixincl.x: Regenerate.
3758         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3759         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3760         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3761         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3762         * config.in, configure: Regenerate.
3763
3764 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3765
3766         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3767
3768 2002-10-24  Richard Henderson  <rth@redhat.com>
3769
3770         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3771
3772 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3773
3774         * config/h8300/h8300.c (initial_offset): Simplify by using
3775         round_frame_size.
3776
3777 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3778
3779         * doc/install.texi (avr): Update required binutils version.
3780
3781 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3782
3783         * doc/install.texi: Point avr users at more up-to-date information.
3784
3785 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3786
3787         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3788         to pull operands out of the literal pool where possible.
3789
3790 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3791
3792         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3793
3794 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3795
3796         * expr.c (convert_move): If unsignedp is less then zero there
3797         is no equivalent code.
3798
3799 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3800
3801         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3802
3803 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3804
3805         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3806         according to the sequence they are defined in the manual.
3807         (POINTER_BOUNDARY): Remove.
3808
3809 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3810
3811         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3812         BITS_PER_UNIT.
3813
3814 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3815
3816         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3817         64-bit safe.
3818         (TINY_CONSTANT_ADDRESS_P): Likewise.
3819
3820 2002-10-24  Richard Henderson  <rth@redhat.com>
3821
3822         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3823         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3824         vcall offset.
3825
3826 2002-10-24  Richard Henderson  <rth@redhat.com>
3827
3828         PR opt/7944
3829         * reload.c (find_reloads_toplev): Mode of X is not important
3830         when simplifying subregs of constants.
3831
3832 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3833
3834         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3835         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3836         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3837         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3838         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3839
3840 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3841
3842         * optabs.c (expand_binop): Don't reuse the shift target in the
3843         middle of shift sequences.
3844
3845 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3846
3847         * i386.md (abs splitters): Do not produce nested subregs.
3848
3849 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3850
3851         * i386.md (movti_rex64): Fix constraints.
3852
3853 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3854
3855         * i386.md (abssf,absdf): Use vector operands for SSE
3856         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3857         vector operand.
3858
3859 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3860
3861         * objc/objc-act.c (get_static_reference): Remove unneeded
3862         TYPE_BINFO initialization.
3863         (get_object-reference): Likewise.
3864         (build_constructor): Tighten precondition check.
3865         (finish_message_expr): Likewise.
3866
3867 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3868
3869         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3870         after CONST test.
3871
3872 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3873
3874         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3875         in HFAs.
3876
3877 2002-10-23  Richard Henderson  <rth@redhat.com>
3878
3879         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3880         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3881
3882 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3883
3884         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3885         var_mod_type_p.
3886         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3887         hook_tree_bool_false.
3888
3889         * tree.c (variably_modified_type_p): Moved here from
3890         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3891         language-specific cases.  Due to this, must weaken some 'if
3892         and only if' checks to merely 'if'.
3893         * tree.h: Prototype variably_modified_type_p.
3894
3895         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3896
3897 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3898
3899         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3900         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3901
3902         * config/s390/s390-protos.h (fp_operand): Remove.
3903         * config/s390/s390.c (fp_operand): Remove.
3904         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3905         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3906         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3907         (movdi_31, movdf_31 splitters): Likewise.
3908
3909         * config/s390/s390.h (IEEE_FLOAT): Remove.
3910         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3911         (INT_REGNO_P): Rename to ...
3912         (GENERAL_REGNO_P): ... this.
3913         (FLOAT_REGNO_P): Rename to ...
3914         (FP_REGNO_P): ... this.
3915         (ADDR_REGNO_P): New macro.
3916         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3917         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3918         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3919         (HARD_REGNO_NREGS): Adapt to macro renaming.
3920         (HARD_REGNO_MODE_OK): Likewise.
3921
3922 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3923             Geoff Keating  <geoffk@apple.com>
3924
3925         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3926         (rs6000_memory_move_cost): New function.
3927         * config/rs6000/rs6000-protos.h: Declare them.
3928         * config/rs6000/rs6000.h: Use them.
3929
3930 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3931
3932         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3933         inlining it into other libgcc2 routines.
3934         (__udivmoddi4): Likewise.
3935
3936 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3937
3938         * doc/sourcebuild.texi (Test Suites): Improve.
3939
3940 2002-10-22  Stan Shebs  <shebs@apple.com>
3941
3942         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3943         case for Darwin.
3944
3945 2002-10-22  Jim Wilson  <wilson@redhat.com>
3946
3947         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3948
3949 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3950
3951         PR other/8289
3952         * xmmintrin.h: Add const to the argument of loads.
3953
3954         * i386.md (pushv2di): New pattern.
3955         PR target/6890
3956         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3957
3958 2002-10-22  Richard Henderson  <rth@redhat.com>
3959
3960         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3961         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3962         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3963         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3964         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3965         (TARGET_ASM_OUT): Update.
3966         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3967         (hook_bool_tree_hwi_hwi_tree_true): New.
3968         (default_can_output_mi_thunk_no_vcall): New.
3969         * hooks.h: Declare them.
3970         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3971
3972         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3973         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3974         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3975         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3976         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3977         config/stormy16/stormy16.c: Similarly.
3978
3979         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3980         Handle 64-bit properly.  Streamline.
3981         (x86_output_mi_vcall_thunk): Remove.
3982         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3983         (x86_can_output_mi_thunk): New.
3984         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3985         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3986         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3987
3988         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3989         output_mi_thunk; make static; always use function_section.
3990         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3991         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3992         (rs6000_ra_ever_killed): Test no_new_pseudos not
3993         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3994         * config/rs6000/rs6000-protos.h: Update.
3995         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3996         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3997         xcoffout_declare_function when using rs6000_output_mi_thunk.
3998
3999         * config/s390/s390.c (s390_output_mi_thunk): Rename from
4000         s390_output_mi_vcall_thunk.
4001         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4002         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4003
4004         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
4005         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
4006         * config/vax/vax-protos.h: Update.
4007         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
4008
4009 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
4010
4011         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
4012         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
4013         * i386.md (movti_internal): Use 'C'
4014
4015         * xmmintrin.h (_mm_cmplt_epi*): New.
4016
4017 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
4018
4019         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
4020         ("*movdf_64"): Likewise.
4021         ("*lshrdi3_64"): Likewise.
4022         ("blockage"): Add length attribute.
4023         ("lit"): Likewise.
4024
4025 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
4026
4027         * i386.md: FIx typo.
4028         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
4029         (sse2_umulv2siv2di3): Fix predicate.
4030         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
4031         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
4032         * xmmintrin.h (_mm_mul_epu16): Rename to...
4033         (_mm_mul_epu32): This one.
4034         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
4035
4036         (contains_128bit_aligned_vector_p): Undo accidental checkin.
4037
4038 2002-10-22  Eric Christopher  <echristo@redhat.com>
4039
4040         * config/sparc/sparc.h: Add #error.
4041
4042 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
4043
4044         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
4045         [s390x-*-linux*]: Likewise.
4046         * config/s390/t-linux: Remove.
4047         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
4048
4049 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
4050
4051         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
4052         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
4053         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
4054         * i386.md (mmx_punpck?dq): Simplify.
4055         (sse2_pubpcklqdq): Fix.
4056         (sse2_pubpckhqdq): New.
4057         * xmmintrin.h (_mm_unpackhi_epi32): New.
4058
4059         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
4060         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
4061
4062 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
4063
4064         PR c++/7209
4065         * fold_const.c (fold_binary_op_with_conditional_arg): Always
4066         build compound_expr if we used save_expr.
4067
4068 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
4069
4070         * output.h (SECTION_NOTYPE): Define.
4071         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
4072         init array sections.
4073         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
4074         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
4075         merge TLS support.
4076
4077 2002-10-21  Richard Henderson  <rth@redhat.com>
4078
4079         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
4080         the function type, not the return type.
4081
4082 2002-10-21  Richard Henderson  <rth@redhat.com>
4083
4084         * real.c (sticky_rshift_significand): Return inexact, don't
4085         or it in immediately.
4086         (sub_significands): Accept incomming carry.
4087         (div_significands, rtd_divmod): Update for sub_significands change.
4088         (round_for_format): Update for sticky_rshift_significand change.
4089         (do_add): Don't involve the inexact bit in addition, do give the
4090         inexact bit as the subtraction carry-in.
4091         (encode_internal, decode_internal, real_internal_format): New.
4092         * real.h (real_internal_format): Declare.
4093
4094 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4095
4096         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
4097         don't define sdiv_qrnnd.
4098
4099 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4100
4101         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
4102         using IN_RANGE.
4103         (TINY_CONSTANT_ADDRESS_P): Likewise.
4104
4105 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
4106
4107         * i386.c (builtin_description): Add punpcklqdq and movdq2q
4108         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
4109         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
4110         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
4111         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
4112         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
4113         __builtin_ia32_setzero128.
4114         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
4115         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
4116         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
4117         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
4118         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
4119         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
4120         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
4121         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
4122         sse2_movq): New patterns.
4123         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
4124         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
4125         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
4126         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
4127         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
4128         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
4129         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
4130         (_mm_insert_epi16): Fix.
4131
4132 2002-10-21  Dale Johannesen  <dalej@apple.com>
4133
4134         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
4135             unsafe math reversals correctly for RTL generation.
4136           (output_cbranch):  Replace rs6000_reverse_condition call
4137             by its former definition.
4138
4139 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
4140
4141         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
4142         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
4143         from constant pool or LABEL_REFs as sign extended if allow_rip.
4144         Change all +-1GB limits to +-16MB.
4145         (x86_64_general_operand, x86_64_szext_general_operand,
4146         x86_64_nonmemory_operand, x86_64_movabs_operand,
4147         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4148         legitimate_address_p, ix86_expand_int_movcc): Update callers.
4149         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
4150         in CM_SMALL_PIC model.
4151         (legitimate_pic_address_disp_p): Don't check offsets before
4152         calling local_symbolic_operand.
4153         (legitimize_pic_address): Force offsets bigger than +-16MB into
4154         register.
4155         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
4156         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
4157         prototype.
4158
4159         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
4160         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
4161         * configure: Rebuilt.
4162         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
4163         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
4164         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
4165         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
4166         -fpic.
4167         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
4168         non-pic code if TARGET_64BIT.
4169         (legitimize_address): Generate 64-bit TLS sequences.
4170         (output_pic_addr_const): Support x86-64 TLS operators.
4171         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
4172         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
4173         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
4174         (output_addr_const_extra): Support x86-64 TLS operators.
4175         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
4176         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
4177         unconditionally.
4178         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
4179         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
4180         (*tls_global_dynamic_sun): Renamed to...
4181         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
4182         (tls_global_dynamic): Renamed to...
4183         (tls_global_dynamic_32): ... this.
4184         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
4185         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
4186         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
4187         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
4188         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
4189         (tls_local_dynamic_base_dynamic): Renamed to...
4190         (tls_local_dynamic_base_dynamic_32): ... this.
4191         (tls_local_dynamic_base_dynamic_64,
4192         *tls_local_dynamic_base_dynamic_64): New.
4193         (*tls_local_dynamic_once): Renamed to...
4194         (*tls_local_dynamic_32_once): ... this.
4195
4196 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4197
4198         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
4199         __divdi3, __umoddi3, or __moddi3.
4200
4201 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4202
4203         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
4204         instead of just opt_index as switch expression.
4205
4206         * calls.c (store_one_arg): Change type of 'excess_align'
4207         to unsigned int.
4208
4209         * profile.c (output_gcov_string): Change type of 'temp'
4210         to size_t.
4211
4212 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4213
4214         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
4215         (__fixunssfdi, __fixsfdi): Likewise.
4216         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
4217         (s390_single_qi): Likewise.
4218         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
4219         unsigned comparison warning.
4220         (s390_return_addr_rtx): New function.
4221         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
4222         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
4223         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
4224
4225 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4226
4227         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
4228         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
4229         (s390_output_mi_thunk): Remove.
4230         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4231
4232 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4233
4234         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
4235
4236 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
4237
4238         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
4239         inverted test in the conditional determining the possibility
4240         of sibcalls in PIC mode.
4241
4242 2002-10-20  Richard Henderson  <rth@redhat.com>
4243
4244         * target.h (struct gcc_target): Line wrap.
4245
4246         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
4247         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
4248         * config/alpha/alpha.h: ... not here.
4249         * config/alpha/alpha-protos.h: Update.
4250
4251         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
4252         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
4253         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
4254         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
4255         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
4256         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
4257         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
4258         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
4259         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
4260         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
4261         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
4262         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
4263         config/sparc/sparc.c, config/sparc/sparc.h,
4264         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4265         config/stormy16/stormy16.h: Similarly.
4266
4267         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
4268         selection logic from call patterns.
4269
4270 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
4271
4272         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
4273
4274 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4275
4276         PR other/8202
4277         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
4278         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
4279         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
4280         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
4281
4282 2002-10-20  Roger Sayle  <roger@eyesopen.com>
4283
4284         PR c/761
4285         * toplev.c (flag_unsafe_profile_arcs): Remove.
4286         (flag_bounded_pointers): Remove.
4287         (flag_bounds_check): Correct comments.
4288         (lang_independent_options): Remove -funsafe-profile-arcs and
4289         -fbounded-pointers.  Correct -fbounds-check comments.
4290
4291         * flags.h: Correct flag_schedule_interblock comments.
4292         (flag_bounded_pointers): Remove prototype.
4293         (flag_bounds_check): Correct comments.
4294
4295         * c-opts.c (c_common_init_options): No need to mark
4296         flag_bounds_check as unspecified.
4297         (c_common_post_options): And no need to set it from
4298         flag_bounded_pointers if its still unspecified.
4299
4300         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
4301         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
4302         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
4303         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
4304
4305 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
4306         Angela Marie Thomas  <angela@releasedominatrix.com>
4307         Brendan Kehoe  <brendan@zen.org>
4308         Nick Clifton  <nickc@redhat.com>
4309         Andrew Haley  <aph@redhat.com>
4310
4311         * configure.in (--with-sysroot): New.  Don't inhibit libc if
4312         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
4313         and CROSS_SYSTEM_HEADER_DIR.
4314         * configure: Rebuilt.
4315         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
4316         (TARGET_SYSTEM_ROOT): New.
4317         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
4318         CROSS_SYSTEM_HEADER_DIR.
4319         (install-gcc-tooldir): New target.
4320         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
4321         if SYSTEM_HEADER_DIR does not exist and it's not the default
4322         sys-include directory.
4323         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
4324         (install-mkheaders): Likewise.
4325         * gcc.c (target_system_root): New variable.
4326         (add_sysrooted_prefix): New function.
4327         (process_command): Recompute run-time target_system_root from
4328         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
4329         does not exist.
4330         (do_spec_1): Process 'R' spec.
4331         (main): Add md_exec_prefix to exec_prefixes regardless of
4332         startfile_prefix_spec.  Use add_sysrooted_prefix for
4333         startfile_prefixes, and don't skip the default ones when cross
4334         compiling with sysroot enabled.  Removed unused case of
4335         non-absolute standard_startfile_prefix.
4336         * config/interix.h: Remove the only potential, yet disabled,
4337         occurrence of non-absolute (empty) standard_startfile_prefix.
4338         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
4339         linking.
4340         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
4341         * doc/install.texi (--with-sysroot): Document.
4342         (--with-headers, --with-libs): Deprecate.
4343
4344 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4345             Mark Mitchell  <mark@codesourcery.com>
4346
4347         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
4348         match target.h.
4349         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
4350         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
4351         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
4352         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
4353         x86_output_mi_thunk): Likewise.
4354         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
4355         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
4356         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
4357         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
4358         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
4359         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
4360         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
4361         Likewise.
4362         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
4363
4364         * target.h (gcc_target): Update output_mi_thunk and
4365         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
4366         vcall_index.
4367
4368         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
4369         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4370         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
4371         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
4372         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
4373         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
4374         signature.
4375         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
4376         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4377         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4378         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
4379         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
4380         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4381         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4382         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
4383         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
4384
4385         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
4386         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
4387
4388 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
4389
4390         * real.c (do_add): Fix 0+0 sign corner case.
4391         (do_divide): Fix Inf/0 corner case.
4392
4393 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
4394
4395         * i386.c (classify_argument): Pass MMX arguments in memory
4396         (ix86_expand_builtin): Expand proper address mode for cflush.
4397         * i386.md (movdqa): Fix typo.
4398         (sse2_cflush): Accept DImode addresses.
4399
4400         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
4401         (_mm_max_sd): Fix pasto.
4402         (_mm_storeh_pd, _mm_storel_pd): Fix.
4403
4404         * i386.c (bdesc_comi): Fix to match specification.
4405         (ix86_expand_sse_comi): Emit the comparison properly.
4406         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
4407         Do not use comparison operator.
4408         (vnmaskcmp): Fix template.
4409
4410         * xmmintrin.h (_mm_cvtps_pi16): Fix.
4411
4412 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
4413
4414         * dependence.c : Removed.
4415         * Makefile.in : Remove dependence.o.
4416
4417 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
4418
4419         * mmintrin.h (__m64): typedef it to v2si.
4420         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
4421         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
4422         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
4423         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
4424         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
4425         * xmmintrin.h (_mm_setzero_si64): Likewise.
4426
4427         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
4428         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
4429
4430         PR target/7693
4431         Patch by Shawn Wagner
4432         * mmintrin.h: Replace pi64 by si64.
4433
4434 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
4435
4436         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
4437         Use length of 4 not *.
4438         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
4439         (movdf_softfloat64): Likewise.
4440         (movdi_internal32): Use length of 4 not *.
4441         (movti_power): Same.
4442         (ctrsi, ctrdi): Same.
4443
4444 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
4445
4446         * c-decl.c (start_decl): Point users of the old initialized-
4447         typedef extension at __typeof__.
4448
4449 2002-10-18  Richard Henderson  <rth@redhat.com>
4450
4451         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
4452         (real_to_decimal): Re-implement using the logic from the
4453         gcc 3.2 etoasc.  Comment heavily.
4454         (div_significands): Simplify loop startup and comparison logic.
4455
4456 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
4457
4458         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
4459         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
4460         (TARGET_ASM_OUT): Add them.
4461         * target.h (asm_out): Add output_mi_thunk and
4462         output_mi_vcall_thunk.
4463         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4464         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4465         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
4466         * config/arm/arm.c (arm_output_mi_thunk): Define.
4467         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4468         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4469         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4470         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4471         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4472         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4473         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
4474         prototype.
4475         (x86_output_mi_vcall_thunk): Declare.
4476         * config/i386/i386.c (override_options): Clear
4477         output_mi_vcall_thunk in 64-bit mode.
4478         (ix86_fntype_regparm): New function.
4479         (ix86_return_pops_args): Use it.
4480         (ia32_this_parameter): New function.
4481         (x86_output_mi_vcall_thunk): New function.
4482         (x86_output_mi_thunk): Use it
4483         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
4484         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
4485         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
4486         * config/i960/i960.c (i960_output_mi_thunk): New function.
4487         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
4488         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
4489         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
4490         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4491         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4492         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
4493         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4494         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4495         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4496         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4497         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4498         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4499         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4500         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4501         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4502         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4503         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
4504         * config/s390/s390.c (s390_output_mi_thunk): Define.
4505         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4506         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4507         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4508         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4509         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4510         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4511         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
4512         * config/vax/vax.c (vax_output_mi_thunk): Define.
4513         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4514         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4515         * doc/tm.texi: Adjust documentation.
4516
4517 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4518
4519         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
4520         __enable_execute_stack function.
4521         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
4522         as NETBSD_ENABLE_EXECUTE_STACK.
4523         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4524         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4525         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4526         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4527         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4528
4529 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4530
4531         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
4532         to __enable_execute_stack with the address of the trampoline
4533         if TRANSFER_FROM_TRAMPOLINE is defined.
4534         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
4535         constant if building libgcc2.
4536
4537 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
4538
4539         * i386.c (pentium4_cost): Fix according to Intel recommendations.
4540         (ix86_memory_move_cost): Fix for 64bit compilation.
4541
4542 2002-10-17  Roger Sayle  <roger@eyesopen.com>
4543
4544         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
4545
4546 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
4547
4548         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
4549         in CTR/LR/MQ.
4550         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
4551         to/from CTR/LR/MQ.
4552         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
4553         (movsf_softfloat): Likewise.
4554
4555 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
4556
4557         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
4558
4559 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
4560
4561         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
4562         tramp, not addr, to pass the trampoline address to
4563         __enable_execute_stack.
4564
4565 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
4566
4567         * mmintrin.h: Guard by __MMX__
4568         * xmmintrin.h: Guard by __SSE__
4569
4570         PR other/8062
4571         * xmmintrin.h (_MM_SHUFFLE2): New macro.
4572         (_mm_load*_?d): New functions.
4573         (_mm_set*_?d): New functions.
4574         (_mm_store*_?d): New functions.
4575
4576 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
4577
4578         Really commit patch announced at Oct 14
4579         PR c/7344
4580         * predict.c (can_predict_insn_p): New function.
4581         (estimate_probability): Avoid unnecesary work.
4582         (process_note_prediction): Likewise.
4583         * toplev.c (rest_of_compilation): Account early branch prediction pass
4584         as TV_BRANCH_PROB.
4585
4586         PR other/8048
4587         Found by Ian Ollmann
4588         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4589         (_mm_load?_pd): Likewise.
4590         (_mm_store?_pd): Likewise.
4591
4592         PR target/7386
4593         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4594         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4595         swapped alternative.
4596
4597         PR opt/7630
4598         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4599         (push_reload): Update call.
4600
4601 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4602
4603         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4604         if using mips/elf.h or mips/elf64.h.
4605         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4606         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4607
4608 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4609
4610         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4611         SI.
4612
4613 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4614
4615         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4616         (LPREFIX): Likewise.
4617         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4618         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4619         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4620         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4621         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4622
4623         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4624         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4625         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4626         BSS_SECTION_ASM_OP): Move from linux.h.
4627         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4628         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4629
4630         * config/s390/s390.c (s390_function_profiler): Use
4631         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4632
4633 2002-10-15  Eric Christopher  <echristo@redhat.com>
4634
4635         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4636         * java/parse.y (obtain_incomplete_type): Make pointer
4637         ptr_mode.
4638
4639 2002-10-15  Richard Henderson  <rth@redhat.com>
4640
4641         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4642         as arguments.  Bound DIGITS by the available buffer size.
4643         (real_to_hexadecimal): Likewise.
4644         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4645         (REAL_VALUE_TO_DECIMAL): Remove.
4646         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4647         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4648         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4649         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4650         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4651         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4652         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4653         use real_to_decimal directly, and with the proper arguments.
4654         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4655
4656 2002-10-15  Jim Wilson  <wilson@redhat.com>
4657
4658         * reload1.c (merge_assigned_reloads): After converting overlapping
4659         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4660
4661         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4662
4663 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4664
4665         * expr.c (do_tablejump): Fix typo in my previous commit.
4666
4667 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4668
4669         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4670
4671 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4672
4673         * config/s390/s390.c (s390_split_branches): Add return
4674         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4675
4676         (find_base_register_in_addr): New function.
4677         (find_base_register_ref): New function.
4678         (replace_base_register_ref): New function.
4679
4680         (struct constant_pool): Add members pool_insn, insns, and anchor.
4681         Remove member last_insn.
4682         (s390_start_pool): Initialize them.
4683         (s390_end_pool): Emit pool placeholder insn.
4684         (s390_add_pool_insn): New function.
4685         (s390_find_pool): Use insns bitmap instead of addresses.
4686         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4687         Replace unspec 104 by local-pool-relative references.
4688         (s390_output_constant_pool): Output anchor label if required.
4689         (s390_output_symbolic_const): Handle unspec 104 and 105.
4690         (s390_add_pool): Remove, replace by ...
4691         (s390_add_constant, s390_find_constant): ... these new functions.
4692         (s390_add_anchor): New function.
4693
4694         (s390_chunkify_pool): Delete, replace by ...
4695         (s390_chunkify_start, s390_chunkify_finish,
4696         s390_chunkify_cancel): ... these new functions.
4697         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4698         Recompute register live data for special registers.
4699         (s390_fixup_clobbered_return_reg): New function.
4700         (s390_machine_dependent_reorg): Rewrite to use new
4701         s390_chunkify_... routines.
4702
4703         config/s390/s390.md ("reload_base"): Rename to ...
4704         ("reload_base_31"): ... this.
4705         ("reload_base_64"): New insn.
4706         ("reload_base2"): Remove.
4707         ("reload_anchor"): New insn.
4708         ("pool"): New insn.
4709
4710         s390.c (s390_pool_overflow): Remove.
4711         s390.h (s390_pool_overflow): Likewise.
4712         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4713
4714 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4715
4716         * sh.md (movv8qi_i+2): Don't split if source is -1.
4717
4718 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4719
4720         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4721
4722 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4723
4724         PR opt/7409
4725         * loop.c (loop_regs_scan): Mark registers used for function
4726         argument passing as MAY_NOT_OPTIMIZE.
4727
4728 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4729
4730         * gcov-io.h (gcov_info): Fix type.
4731         * profile.c (create_profiler): Fix type mismatch.
4732
4733 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4734
4735         * i386.md (movv2di_internal): New pattern.
4736         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4737         (movv2di): New expander.
4738         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4739
4740         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4741         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4742         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4743         (ix86_expand_builtin): Likewise.
4744         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4745         sse_andti3,
4746         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4747         sse_andnti3,
4748         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4749         sse_orti3,
4750         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4751         sse_xorti3): Kill.
4752         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4753          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4754         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4755          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4756         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4757          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4758
4759         * xmmintrin.h (__m128i): Define as __v2di.
4760
4761         PR c++/6419
4762         (expand_expr): Use DECL_RTL_SET_P.
4763
4764 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4765
4766         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4767
4768 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4769             Zack Weinberg <zack@codesourcery.com>
4770
4771         * config/i386/i386.c (k6_cost): Correct typo.
4772
4773 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4774
4775         PR optimization/6631
4776         * alias.c (objects_must_conflict_p): Check honor_readonly when
4777         examining TYPE_READONLY.
4778         * function.c (assign_stack_temp_for_type): Likewise.
4779
4780 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4781
4782         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4783         Swap zero extension arguments.
4784         (umaxhi3): Fix instruction class.
4785         PR target/7211
4786         (prefetch): Fix prefetch instructions.
4787         PR target/7238
4788         (pkwb): Fix output constraint.
4789
4790 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4791
4792         * config/mips/mips.c (print_operand): Increase buffer size for
4793         real numbers.
4794
4795 2002-10-14  Richard Henderson  <rth@redhat.com>
4796
4797         PR opt/8165
4798         * gcse.c (adjust_libcall_notes): Revert last change.
4799         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4800
4801 2002-10-14  Andrew Haley  <aph@redhat.com>
4802
4803         * tree-inline.c (remap_block): All local class initialization
4804         flags go in the outermost scope.
4805         (expand_call_inline): Call java_inlining_map_static_initializers.
4806         (expand_call_inline): Call java_inlining_merge_static_initializers.
4807         * java/lang.c (merge_init_test_initialization): New.
4808         (java_inlining_merge_static_initializers): New.
4809         (inline_init_test_initialization): New.
4810         (java_inlining_map_static_initializers): New.
4811
4812         * tree-inline.c (expand_call_inline): Convert retvar to expected
4813         type.
4814
4815 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4816
4817         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4818
4819 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4820
4821         * stmt.c: Fix typo in comment.
4822
4823 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4824
4825         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4826         * tree.c (build_common_tree_nodes_2): Initialize
4827         unsigned_V2HI_type_node and V2HI_type_node.
4828         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4829         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4830
4831 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4832
4833         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4834         Handle TARGET_64BIT.
4835
4836 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4837
4838         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4839         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4840         (MULTILIB_DIRNAMES): Remove long32.
4841         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4842         (MULTILIB_REDUNDANT_DIRS): Remove.
4843
4844 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4845
4846         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4847         * gcc.c (driver_self_specs): New variable.
4848         (do_self_spec): New function.
4849         (main): Use it to process driver_self_specs.
4850
4851 2002-10-13  Richard Henderson  <rth@redhat.com>
4852
4853         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4854         indirect sibcalls when regparm >= 3.
4855
4856         * config/i386/i386.c (sibcall_insn_operand): New.
4857         * config/i386/i386.h (PREDICATE_CODES): Update.
4858         * config/i386/i386-protos.h: Update.
4859         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4860
4861         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
4862
4863 2002-10-12  Roger Sayle  <roger@eyesopen.com>
4864
4865         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
4866         arithmetic right shifts of ~0 during RTL simplifications.
4867
4868 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
4869
4870         PR preprocessor/7862
4871         PR preprocessor/8190
4872         * gcc.c (cpp_unique_options): Don't delete .d files.
4873         Remove stray whitespace.
4874
4875 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
4876
4877         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
4878         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4879         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
4880         (pdp11_output_function_epilogue, output_ascii): Likewise.
4881         (output_addr_const_pdp11): Likewise.
4882         * pdp11.md (movdi): Use offsetable memory for floating store.
4883         (lshrsi3, negsi2): Delete irrelevant comment.
4884
4885 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
4886
4887         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
4888         indirect calls to be sibcall optimized.
4889         * config/i386/i386.md (sibcall_1): New.
4890         (call_1): Add no-sibcalls condition.
4891         (sibcall_value_1): New.
4892         (call_value_1): Add no-sibcalls condition.
4893
4894 2002-10-11  Eric Christopher  <echristo@redhat.com>
4895
4896        * output.h (default_valid_pointer_mode): Declare.
4897        * varasm.c (default_valid_pointer_mode): Define.
4898        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
4899        * target.h: Ditto.
4900        * tree.c (build_pointer_type_for_mode): New function.
4901        (build_pointer_type): Use.
4902        (build_reference_type_for_mode): New function.
4903        (build_reference_type): Use.
4904        * tree.h: Declare new functions.
4905        * c-common.c (handle_mode_attribute): Use new functions, check
4906        for type.
4907        * stor-layout.c (layout_type): Depend on machine mode for
4908        REFERENCE_TYPE and POINTER_TYPE.
4909        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
4910        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
4911        and REFERENCE_TYPE.
4912        * config/mips/mips.c (mips_valid_pointer_mode): New function.
4913        (TARGET_VALID_POINTER_MODE): Use and define.
4914        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
4915
4916 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
4917
4918         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
4919         not the address of the REG.
4920         (struct cse_reg_info): Make subreg_ticked unsigned.
4921
4922 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
4923
4924         * doc/compat.texi: Add info about C++ libraries.
4925
4926 2002-10-11  Richard Henderson  <rth@redhat.com>
4927
4928         PR opt/8165
4929         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
4930
4931 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4932
4933         * cfganal.c (dfs_enumerate_from): Use PARAMS.
4934         * genautomata.c (output_insn_code_cases): Likewise.
4935         * real.c (real_format): Likewise.
4936         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
4937         ensure value is promoted before doing subtraction.
4938
4939 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4940
4941         * calls.c (expand_call): Simplify noreturn call.
4942
4943         PR c/7344
4944         * cfgbuild.c (make_edges): Create edge cache when we do have
4945         large jumptable.
4946         * expr.c (do_tablejump): Note size of maximal jumptable.
4947         * function.c (prepare_function_start): Zero out size.
4948         * function.h (function): Add max_jumptable_ents.
4949
4950         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4951
4952 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
4953
4954         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
4955         register for mperm_w operation.
4956
4957 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
4958
4959         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
4960         an integer, use simplify_gen_subreg.
4961
4962 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
4963
4964         * calls.c (flags_from_decl_or_type): Make extern.
4965         (ECF_*): Move ...
4966         * rtl.h (ECF_*): ... here.
4967         (flags_from_decl_or_type): Declare.
4968
4969 2002-10-10  Roger Sayle  <roger@eyesopen.com>
4970             Nathan Sidwell <nathan@codesourcery.com>
4971
4972         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
4973         shifts of the form -1 >> x.
4974
4975 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
4976
4977         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4978
4979 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
4980
4981         * extend.texi (Vector Extensions): Remove comment about single
4982         element vectors.
4983
4984 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4985
4986         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
4987         * function.c (insns_for_mem_hash): Likewise.
4988         * varasm.c (STRHASH): Likewise.
4989
4990 2002-10-10  Stuart Hastings  <stuart@apple.com>
4991
4992         * cse.c (struct cse_reg_info): Add subreg_ticked.
4993         (SUBREG_TICKED): New.
4994         (get_cse_reg_info): Initialize SUBREG_TICKED.
4995         (mention_regs): Use it.
4996         (invalidate): Set SUBREG_TICKED.
4997         (invalidate_for_call): Likewise.
4998         (addr_affects_sp_p): Likewise.
4999
5000 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
5001
5002         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
5003         into proper operand.
5004
5005 2002-10-10  Denis Chertykov  <denisc@overta.ru>
5006
5007         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
5008         deallocation.
5009         * config/ip2k/libgcc.S: Combine routines used by function
5010         epilogue.
5011
5012 2002-10-10  Jim Wilson  <wilson@redhat.com>
5013
5014         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
5015         UDIV.
5016
5017 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
5018
5019         * config/rs6000/aix52.h: New file.
5020         * config/rs6000/t-aix52: New File.
5021         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
5022         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
5023
5024 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
5025
5026         PR target/5610
5027         * invoke.texi (-msse-math): Kill
5028         (-msse): Add note to mfpmath=sse.
5029
5030 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
5031
5032         PR target/7723
5033         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
5034
5035 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
5036
5037         PR preprocessor/8179
5038         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
5039         as cc1_options.
5040         (default_compilers): Pass debug options when preprocessing
5041         stdin.
5042
5043 2002-10-06  Richard Henderson  <rth@redhat.com>
5044
5045         * toplev.c (rest_of_compilation): Revert opt/2960 change.
5046
5047 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
5048
5049         * i386.c (*_cost): Add branch costs.
5050         (override_options): set ix86_branch_cost.
5051         (ix86_expand_int_movcc): Use BRANCH_COST.
5052         * i386.h (costs): Add branch_cost.
5053
5054 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
5055
5056         PR c/7353
5057         * c-decl.c (start_decl): Unconditionally issue error for
5058         'typedef foo = bar'.
5059         (finish_decl): Remove special case for TYPE_DECL with initializer.
5060
5061         * doc/extend.texi: Delete "Naming Types" section.  Change all
5062         cross-references to that section to refer to "Typeof" instead.
5063         Add the useful safe-max()-macro example from "Naming Types" to
5064         "Typeof", rewritten using that extension.  Add some compatibility
5065         notes to "Typeof."
5066
5067 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5068
5069         * loop.c: Revert 2002-08-15 change.
5070         (LOOP_REGNO_NREGS): Ensure type is int.
5071
5072 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
5073
5074         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
5075         which copies first FPR and clears second.
5076         (extendsftf2): Same.
5077         (floatditf2): Fix typo.
5078         (floatsitf2): Same.
5079         (fix_trunctfdi2): Same.
5080         (fix_trunctfsi2): Same.
5081
5082 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5083
5084         * conflict.c (arc_hash): Change return type to hashval_t.
5085         * cselib.c (get_value_hash): Likewise.
5086         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
5087         state_hash, automata_list_hash): Likewise.
5088         * read-rtl.c (def_hash): Likewise.
5089         * tree.c (type_hash_hash): Likewise.
5090
5091 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
5092
5093         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
5094         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
5095
5096 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
5097
5098         * sh.md (ffssi2): Fix emitted code.
5099
5100 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
5101
5102         * cse.c (insn_live_p): Pass insn pattern, not full insn
5103         to may_trap_p.
5104
5105 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
5106
5107         * cppmacro.c (paste_tokens): Only allow / to paste with =.
5108
5109 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
5110
5111         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
5112         64-bit hosts.
5113         (movtf_internal): Reference correct displacement for second value
5114         in memory.
5115         (movtf splitter): Correct generation of constants in 64-bit mode.
5116
5117 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
5118
5119         * libgcc2.c (__floatdisf): Properly cure double rounding.
5120
5121 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5122
5123         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
5124         * doc/cpp.texi (Common Predefined Macros): Document.
5125
5126 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5127
5128         PR doc/7484
5129         * doc/invoke.texi (Option Summary): List
5130         -Wmissing-declarations as a C only option.
5131
5132 2002-10-08  Roger Sayle  <roger@eyesopen.com>
5133
5134         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
5135         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
5136         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
5137
5138 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
5139
5140         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
5141         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
5142         variables.
5143         (safe_vector_operand): Update sse_clrv4sf call.
5144         (ix86_expand_buildin): Likewise
5145         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
5146         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
5147         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
5148         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
5149         macros.
5150         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
5151         movv4si):  Obey the new flags.
5152         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
5153         reformating penalty.
5154         (anddf, cmov patterns): Avoid reformating by first converting.
5155         (sse_cvtsd2ss): Fix predicate.
5156         (sse2_clrti): Fix mode,
5157         (sse_clrv4sf): Avoid unspec.
5158
5159 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
5160
5161         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
5162         mno-app-regs|mcmodel=medany.
5163         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
5164         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
5165         (CRTSTUFF_T_CFLAGS): Define.
5166
5167 2002-10-08  Roger Sayle  <roger@eyesopen.com>
5168
5169         PR target/8087
5170         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
5171         pool references that are constructed using LO_SUM.
5172
5173 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
5174
5175         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
5176         -Wall.
5177         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
5178         message.
5179         * flags.h (warn_strict_aliasing): Declare.
5180         * toplev.c (warn_strict_aliasing): Define.
5181         (lang_independent_options): Add it.
5182         * doc/invoke.texi (-Wstrict-aliasing): Document it.
5183
5184 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
5185
5186         * system.h (GCCBUGURL): Delete.
5187         * version.c (bug_report_url): New.  Add commentary about
5188         modifying both these strings in modified distributions.
5189         * version.h: Declare bug_report_url.
5190
5191         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
5192         bug_report_url.
5193
5194 2002-10-08  Nick Clifton  <nickc@redhat.com>
5195
5196         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
5197         convert uint64_t into __ev64_opaque__.
5198         (__ev_set_acc_s64): Likewise, but using signed types.
5199
5200 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
5201
5202         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
5203         ("*doloop_di_long"): Likewise.
5204
5205 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
5206
5207         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
5208
5209 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
5210
5211         * config/mips/mips.md (define_attr cpu): Add r4111.
5212
5213 2002-10-08  Anthony Green  <green@redhat.com>
5214
5215         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
5216
5217 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5218
5219         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
5220         for REAL_VALUE_TO_DECIMAL output.
5221
5222 2002-10-07  Richard Henderson  <rth@redhat.com>
5223
5224         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
5225         function; cleanup PLUS case by using recursion.  Update all users.
5226         (NONZERO_BASE_PLUS_P): Remove.
5227         (find_comparison_args): Use rtx_addr_can_trap_p instead.
5228         (fold_rtx): Use nonzero_address_p.
5229         * rtl.h (nonzero_address_p): Declare.
5230         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
5231         (rtx_addr_can_trap_p): Likewise.
5232         (nonzero_address_p): New.
5233         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
5234         (simplify_relational_operation): Use nonzero_address_p.
5235
5236 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
5237
5238         * config/rs6000/rs6000.c (rs6000_override_options): Set
5239         real_format_for_mode for IBM extended format, if enabled.
5240         (easy_fp_constant): Add TFmode.
5241         (rs6000_legitimize_address): Add TFmode.
5242         (rs6000_legitimate_address): Same.
5243         (function_arg_advance): TFmode uses two FPRs.
5244         (rs6000_emit_prologue): Fix warning.
5245         (rs6000_output_function_epilogue): Add TFmode.
5246         (output_toc): Add TFmode.
5247         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
5248         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
5249         * rs6000.md (movtf splitter): Load TFmode constant.
5250
5251 2002-10-07  Dale Johannesen  <dalej@apple.com>
5252
5253         * rtl.h:  Add NOTE_PRECONDITIONED.
5254         * unroll.c:  Set it.
5255         * loop.c:  Set loop_info->preconditioned from it.
5256         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
5257
5258 2002-10-07  Richard Henderson  <rth@redhat.com>
5259
5260         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
5261         new rtx for comparing the argument pointer against zero.
5262         (i960_va_start): Similarly.
5263
5264 2002-10-07  Richard Henderson  <rth@redhat.com>
5265
5266         * config/i960/i960.md (*): Use TFmode, not XFmode.
5267         * config/i960/i960.c (*): Likewise.
5268         (i960_arg_size_and_align): Remove XFmode alignment hack.
5269         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
5270         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
5271         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
5272         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
5273
5274 2002-10-07  Richard Henderson  <rth@redhat.com>
5275
5276         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
5277         entry points; use void return value and argument list.
5278
5279 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
5280
5281         * calls.c (expand_call): Fix function-is-volatile check.
5282
5283 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
5284
5285         * t-pdp11: Add MULTILIB support for msoft-float.
5286         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
5287
5288         * t-pdp11: Add LIB2FUNCS_EXTRA.
5289         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
5290         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
5291         'fldd' to 'ldd', rename 'fstd' to 'std'.
5292         (pdp11_output_function_epilogue): Likewise.
5293         (output_move_quad): Make the comment gas compatible.
5294         (output_ascii): Add preceding 0 to the octal constant.
5295         (print_operand_address): Add pre_modify, post_modify.
5296         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
5297         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
5298         with the indication of Paul Koning.
5299         (PRINT_OPERAND): Fix floating constant.
5300         * pdp11.md (movdi): Restrict matching pattern.
5301         (movqi): Generalize the matching pattern.
5302         (movdf): Restrict matching pattern.
5303         (zero_extendqihi2): Change constant representation.
5304         (floatsidf2): Fix wrong operands.
5305         (addqi3): Fix wrong instruction name.
5306         (subqi3): Fix wrong instruction name.
5307         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
5308         (xorsi3): Fix wrong insn.
5309         (one_cmplqi2): Add two operand pattern.
5310         (lsrsi3): New.
5311         (negsi2): New.
5312         (call): Add register indirect case.
5313         (mod): Fix wrong subreg.
5314
5315 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5316             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5317
5318         PR c/7411
5319         * expr.c (expand_expr) [PLUS]: Simplify after the operands
5320         have been expanded in EXPAND_NORMAL mode.
5321
5322 2002-10-06  Richard Henderson  <rth@redhat.com>
5323
5324         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
5325
5326 2002-10-06  Richard Henderson  <rth@redhat.com>
5327
5328         PR optimization/2960
5329         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
5330         optimize_size.
5331
5332 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
5333
5334         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
5335         previously definitions.
5336
5337 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
5338
5339         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
5340         * c-opts.c (find_opt): Similarly.
5341
5342 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
5343
5344         * athlon.md: rewrite to DFA.
5345         * i386 (ix86_adjust_cost): Drop memory latency code.
5346         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
5347
5348 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
5349
5350         * gcc.c (set_multilib_dir): Don't access *end.
5351         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
5352         (print_multilib_info): Don't show paths starting with ".:".
5353         * genmultilib: Add new option, "yes" if multilibs are enabled.
5354         Update comments.  If multilibs not enabled, print .:${osdirout}
5355         for each directory.  If multilibs are enabled, always print
5356         ${dirout}:${osdirout}, even if the two are the same.
5357         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
5358         Pass all MULTILIB_* variables to genmultilib even if
5359         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
5360
5361 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
5362
5363         * gcc.c (process_command): Set .validated for -pipe.  Correct
5364         grammar in comment.
5365
5366 2002-10-04  Bruce Korb  <bkorb@gnu.org>
5367
5368         * fixinc/inclhack.def(hpux11_abs):  use format fix
5369         * fixinc/fixincl.x: regenerate
5370         * fixinc/tests/base/stdlib.h: accommodate new fix test
5371
5372 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
5373
5374         * c-common.c (cb_register_builtins):  Use really_no_inline.
5375
5376 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
5377
5378         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
5379         copied instruction if the note is not loop invariant.
5380
5381 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
5382
5383         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
5384
5385 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5386
5387         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
5388         and -mhp-ld options to list of options.  Add -mgnu-ld
5389         and -mhp-ld option descriptions.
5390
5391 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5392
5393         * fixinc/inclhack.def (hpux11_abs):  New.
5394         (stdio_va_list): change __va_list__ to __gnuc_va_list.
5395         * fixinc/fixincl.x: Rebuild.
5396
5397 2002-10-04  Roger Sayle  <roger@eyesopen.com>
5398
5399         * config/i386/i386.h (processor_costs): Add new fields fadd,
5400         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
5401         (RTX_COSTS): Use these fields to determine the RTX costs
5402         of floating point addition/subtraction, multiplication,
5403         division, fabs, negation and square root respectively.
5404         * config/i386/i386.c (size_cost): Provide instruction sizes
5405         for these new fields.
5406         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
5407         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
5408         counts for these new fields for all x86 processor variants.
5409
5410 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5411
5412         * mips.c (mips_const_double_ok): Delete unused variable.
5413
5414         * gengtype.c (rtx_next): Change type to int.
5415
5416 2002-10-04  Andreas Jaeger  <aj@suse.de>
5417
5418         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
5419
5420 2002-10-04  Richard Henderson  <rth@redhat.com>
5421
5422         * real.h (SIGNIFICAND_BITS): Add one more word.
5423         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
5424         * real.c (times_pten): New.
5425         (real_to_decimal, real_from_string): Use it.
5426         (sticky_rshift_significand): Use & to find modulus.
5427         (rshift_significand, lshift_significand): Likewise.
5428         (do_divide): Apply sticky bit after normalization.
5429         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
5430
5431 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
5432
5433         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
5434         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5435
5436 2002-10-03  Andreas Jaeger  <aj@suse.de>
5437
5438         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
5439         to unsigned long, adjust printf format string.
5440         (output_mangled_typename): Likewise.
5441
5442 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
5443
5444         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
5445         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
5446         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
5447         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
5448         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
5449         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
5450         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
5451         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
5452
5453 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
5454
5455         * doc/invoke.texi (-Wabi): Document mangling bug.
5456
5457 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
5458
5459         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
5460         name for the tbtab label that depends on the function asm name.
5461         Don't output tbtab label unless optional_tbtab.
5462         (output_mi_thunk): Formatting.
5463
5464 2002-10-03  Richard Henderson  <rth@redhat.com>
5465
5466         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
5467         * config/m68k/m68k.c (override_options): ... here.
5468         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
5469         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
5470         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5471         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5472
5473 2002-10-03  Richard Henderson  <rth@redhat.com>
5474
5475         * real.h (struct real_value): Use ENUM_BITFIELD.
5476
5477 2002-10-03  Richard Henderson  <rth@redhat.com>
5478
5479         * config/i960/i960.md (call, call_value): Use emit_call_insn.
5480
5481 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5482
5483         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
5484
5485 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5486
5487         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
5488         * config/pa/pa.h (MASK_GNU_LD): New.
5489         (TARGET_GNU_LD): New.
5490         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
5491         on gnu-ld and MASK_GNU_LD.
5492         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
5493
5494 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
5495
5496         * i386.c (athlon_cost): Fix the move costs.
5497
5498 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
5499
5500         * final.c (final): Use symbol name as function name for profiling.
5501         * profile.c (get_exec_counts): Likewise.
5502         (branch_prob): Likewise.
5503
5504 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5505
5506         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
5507
5508 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5509
5510         * gcc.c (print_multi_os_directory): New variable.
5511         (option_map): Support --print-multi-os-directory.
5512         (struct prefix_list): Add os_multilib field.
5513         (multilib_os_dir): New variable.
5514         (static_specs): Add multilib_options.
5515         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
5516         subdirs if nonzero.
5517         (read_specs, execute): Update callers.
5518         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
5519         pass 1 as multilib option.
5520         (display_help): Include --print-multi-os-directory.
5521         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
5522         (process_command): Update callers.  Handle --print-multi-os-directory.
5523         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
5524         set.
5525         (main): Update find_a_file and add_prefix callers.
5526         Handle print_multi_os_directory.
5527         (struct mdswitchstr): New.
5528         (mdswitches, n_mdswitches): New variables.
5529         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
5530         present on the command line nor their mutually incompatible
5531         switches.
5532         (default_arg): Optimize.
5533         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
5534         array.
5535         (print_multilib_info): Only print GCC multilib dir name, not OS
5536         multilib dirname.
5537         * genmultilib: Add osdirnames parameter.  Output multilib_options
5538         variable.  If osdirnames is specified, output dirnames as
5539         dirname:osdirname.
5540         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
5541         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
5542         to compute libgcc_s soname and install path.
5543         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
5544         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5545         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
5546         argument.
5547
5548         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5549         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5550         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
5551         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
5552         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
5553         and -m64.
5554         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
5555         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5556         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
5557         (STARTFILE_ARCH_SPEC): Remove.
5558         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5559         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5560         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5561         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
5562         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5563
5564 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
5565
5566         * predict.c (choose_function_section): Avoid choice for linkonce functions.
5567
5568 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
5569
5570         * i386.md (lea to mul peep2): Fix condition.
5571
5572 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5573
5574         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
5575         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
5576
5577 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
5578
5579         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
5580         attribute "unused".
5581
5582         * config/t-libunwind: Mention unwind-sjlj.c.
5583         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
5584         to #ifndef __USING_SJLJ_EXCEPTIONS__.
5585
5586         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
5587         before inclusion of config.gcc, but after configuring the compiler etc.
5588         Determine default value for --enable-libunwind-exceptions based on
5589         whether the host has a libunwind library (not guaranteed to be correct,
5590         but it's a reasonable first guess and can always be overridden with an
5591         explicit --enable/disable-libunwind-exceptions.
5592         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5593         tmake_file when $use_libunwind_exceptions is enabled.
5594         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5595         ia64 (e.g., config/t-linux also updates it).
5596         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5597         along with the shared version of libgcc since the latter requires
5598         the former.
5599         * unwind-libunwind.c: New file.
5600         * config/t-libunwind: Ditto.
5601
5602 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5603
5604         * config.gcc: Remove support for vax-*-vms*.
5605         * config/vax/vms.h: Remove.
5606         * config/vax/xm-vms.h: Remove.
5607         * config/vax/vax-protos.h: Remove VMS-specific code.
5608         * config/vax/vax.c: Remove VMS-specific code.
5609
5610 2002-10-02  Richard Henderson  <rth@redhat.com>
5611
5612         PR opt/7124
5613         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5614         for secondary_memory_needed pairs.
5615
5616 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5617
5618         * doc/vms.texi: Blow away false include file section.
5619
5620 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5621
5622         PR optimization/6627
5623         * toplev.c (force_align_functions_log): New global variable.
5624         * flags.h (force_align_functions_log): Add extern prototype.
5625         * varasm.c (assemble_start_function): Use it to force minimum
5626         function alignment.
5627         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5628         minimum function alignment to one byte.
5629         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5630         the least significant bit of vtable member function pointers.
5631         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5632         here from cp/cp-tree.h.
5633
5634 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5635
5636         * i386.c (print_operand_address): Use RIP addressing for offsetted
5637         label refs too.
5638
5639 2002-09-30  David S. Miller  <davem@redhat.com>
5640
5641         PR middle-end/7151
5642         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5643         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5644
5645 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5646
5647         * calls.c (expand_call): Remove the `no indirect check'
5648         for sibcall optimization; use function_ok_for_sibcall
5649         target hook; refine check for `function is volatile'.
5650         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5651         * hooks.c (hook_tree_tree_bool_false): New.
5652         * hooks.h (hook_tree_tree_bool_false): Declare.
5653         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5654         (TARGET_INITIALIZER): Add it.
5655         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5656         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5657         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5658         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5659         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5660         Remove function declaration.
5661         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5662         function static and accept another argument of type `tree'.
5663         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5664         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5665         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5666         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5667         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5668         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5669         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5670         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5671         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5672         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5673         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5674         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5675         Remove function declaration.
5676         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5677         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5678         rename first argument to `decl'; accept another argument
5679         of type `tree'; make static.
5680         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5681         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5682         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5683         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5684         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5685         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5686         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5687         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5688         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5689
5690 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5691
5692         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5693
5694 2002-10-01  Richard Henderson  <rth@redhat.com>
5695
5696         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5697         (real_to_hexadecimal): Likewise.
5698         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5699         dump the XWINT fields of a floating point CONST_DOUBLE.
5700
5701 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5702
5703         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5704
5705 2002-10-01  Richard Henderson  <rth@redhat.com>
5706
5707         * calls.c (precompute_register_parameters): Force non-legitimate
5708         constants into pseudos.
5709
5710 2002-10-01  Nick Clifton  <nickc@redhat.com>
5711
5712         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5713         to assembler template.
5714
5715 2002-10-01  Richard Henderson  <rth@redhat.com>
5716
5717         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5718         for TLS debug info to !DECL_EXTERNAL.
5719
5720 2002-10-01  Matt Thomas  <matt@3am-software.com>
5721             Jason Thorpe  <thorpej@wasabisystems.com>
5722
5723         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5724         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5725         if not already defined.
5726         * config/vax/elf.h: New file.
5727         * config/vax/netbsd-elf.h: New file.
5728         * config/vax/vax.c: Include "debug.h".
5729         (vax_output_function_prologue): Add dwarf2 support.  Use
5730         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5731         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5732         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5733         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5734         (VAX_ISTREAM_SYNC): Remove.
5735         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5736         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5737         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5738         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5739         and assemble_name.
5740         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5741         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5742         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5743         (INCOMING_RETURN_ADDR_RTX): Define.
5744         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5745         (VUNSPEC_SYNC_ISTREAM): Define.
5746         (blockage): Use VUNSPEC_BLOCKAGE.
5747         (sync_istream): New insn.
5748
5749 2002-10-01  Richard Henderson  <rth@redhat.com>
5750
5751         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5752         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5753         (*call): New insn.
5754
5755 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5756
5757         PR c/8083
5758         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5759         type based aliasing.
5760
5761 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5762
5763         * stor-layout.c (update_alignment_for_field): New function.
5764         (place_union_field): Use it.
5765         (place_field): Likewise.
5766
5767 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5768
5769         PR other/8077
5770         * gcc.c (cc1_options): Add space on -auxbase-strip.
5771
5772 2002-10-01  Jim Wilson  <wilson@redhat.com>
5773
5774         * config/v850/v850.h (EPILOGUE_USES): Define.
5775
5776 2002-09-30  Andrew Haley  <aph@redhat.com>
5777
5778         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5779         eliminate insns that may trap.
5780         * cse.c (insn_live_p): Likewise.
5781
5782 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5783
5784         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5785         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5786         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5787         * config/mips/mips.md: Apply same renaming here.
5788
5789 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5790
5791         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5792         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5793         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5794         * config/mips/mips.md (define_attr cpu): Remove r4320.
5795         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5796
5797 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5798
5799         * config/mips/mips.c (mips16_strings): New variable.
5800         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5801         symbol in mips16_strings.  Free the list.
5802         (mips_encode_section_info): Keep track of local strings.
5803
5804 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5805
5806         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5807         (sordered_df, sordered_sf): Remove.
5808         * config/mips/mips.c (get_float_compare_codes): New fn.
5809         (gen_int_relational, gen_conditional_move): Use it.
5810
5811 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5812
5813         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5814         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5815         * config/mips/mips.c (fcc_register_operand): New function.
5816         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5817         (override_options): Allow TFmode values in float registers
5818         if ISA_HAS_8CC.
5819         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5820         to fcc_register_operand.  Remove misleading source constraint.
5821         Use mips_emit_fcc_reload.
5822         (reload_outcc): Duplicate reload_incc.
5823
5824 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5825
5826         * gcc.c (validate_switches): Handle all new forms of spec
5827         syntax introduced recently.  Now returns a char *.
5828         (validate_all_switches): Repetitive logic broken out to...
5829         (validate_switches_from_spec): ...here.
5830         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5831
5832 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5833
5834         * longlong.h: Partially synchronize with GMP-4.1 version:
5835         Use i370 definitions also for s390.
5836         Add generic definition of umul_ppmm in terms of smul_ppmm.
5837         [s390] (umul_ppmm): Remove.
5838         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5839         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5840
5841 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5842
5843         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5844         Add new RL_REGS register class.
5845         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5846         Call xtensa_preferred_reload_class for both input and output reloads.
5847         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5848         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5849         instead of either AR_REGS or GR_REGS classes.
5850         (xtensa_secondary_reload_class): Use new RL_REGS class.
5851         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5852
5853 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5854
5855         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5856         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5857         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5858         there is a '*' prefix in NAME.
5859
5860 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
5861
5862         * reload.c (push_reload): Handle subregs and secondary memory.
5863         * reload1.c (gen_reload): Likewise.
5864
5865         * jump.c (reg_or_subregno): New function.
5866         * rtl.h (reg_or_subregno): Declare
5867         * unroll.c (find_splittable_givs): Handle subregs.
5868
5869 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
5870
5871         * store-layout.c (finish_record_layout): Add free_p parameter.
5872         (layout_type): Pass it.
5873         * tree.h (finish_record_layout): Update prototype.
5874
5875 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
5876
5877         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
5878
5879         * gcse.c (cprop_jump): Check that the register has not
5880         been modified
5881         (cprop_jump): Likewise.
5882
5883 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
5884
5885         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
5886         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
5887         that we have a SImode access, and only then if reload hasn't completed;
5888         for all other cases, use LO_REGS.
5889
5890 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5891
5892         * openbsd.h: Fix typo in last change.
5893
5894 2002-09-29  Richard Henderson  <rth@redhat.com>
5895
5896         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
5897
5898 2002-09-29  Richard Henderson  <rth@redhat.com>
5899
5900         PR c/8002
5901         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
5902         for CONST_INT.
5903
5904 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
5905
5906         * real.h (ibm_extended_format): Declare.
5907         * real.c (encode_ibm_extended, decode_ibm_extended): New
5908         functions.
5909
5910 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5911
5912         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
5913
5914         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
5915
5916 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5917
5918         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
5919
5920 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
5921
5922         * builtins.def: Fix comment formatting.
5923         * c-common.def: Likewise.
5924         * cfgcleanup.c: Likewise.
5925         * combine.c: Likewise.
5926         * gengtype.c: Likewise.
5927         * params.def: Likewise.
5928         * predict.def: Likewise.
5929         * rtl.def: Likewise.
5930         * stab.def: Likewise.
5931         * stor-layout.c: Likewise.
5932         * tree.def: Likewise.
5933         * config/darwin.c: Likewise.
5934         * config/darwin.h: Likewise.
5935         * config/dbxcoff.h: Likewise.
5936         * config/elfos.h: Likewise.
5937         * config/fp-bit.c: Likewise.
5938         * config/freebsd-spec.h: Likewise.
5939         * config/interix.h: Likewise.
5940         * config/libgloss.h: Likewise.
5941         * config/linux-aout.h: Likewise.
5942         * config/linux.h: Likewise.
5943         * config/lynx-ng.h: Likewise.
5944         * config/lynx.h: Likewise.
5945         * config/netbsd-aout.h: Likewise.
5946         * config/netbsd.h: Likewise.
5947         * config/netware.h: Likewise.
5948         * config/psos.h: Likewise.
5949         * config/ptx4.h: Likewise.
5950
5951 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
5952
5953         * ChangeLog.4: Fix typos.
5954         * ChangeLog.6: Likewise.
5955         * FSFChangeLog.10: Likewise.
5956         * genattrtab.c: Fix comment typos.
5957         * haifa-sched.c: Likewise.
5958         * real.c: Likewise.
5959         * tree.h: Likewise.
5960         * config/arm/arm.c: Likewise.
5961         * config/arm/crti.asm: Likewise.
5962         * config/arm/crtn.asm: Likewise.
5963         * config/frv/frv.c: Likewise.
5964         * config/frv/frv.md: Likewise.
5965         * config/h8300/h8300.md: Likewise.
5966         * config/i386/rtemself.h: Likewise.
5967         * config/ia64/unwind-ia64.c: Likewise.
5968         * config/ip2k/ip2k.h: Likewise.
5969         * config/m88k/m88k.c: Likewise.
5970         * config/m88k/m88k.md: Likewise.
5971         * config/mips/sr71k.md: Likewise.
5972         * config/mmix/mmix.c: Likewise.
5973         * config/rs6000/rs6000.c: Likewise.
5974         * config/sh/sh.md: Likewise.
5975
5976 2002-09-26  Theodore A. Roth  <troth@verinet.com>
5977
5978         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
5979         * config/avr/avr.md: Ditto.
5980
5981 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
5982
5983         PR preprocessor/8055
5984         * cppmacro.c (stringify_arg): Do not overflow the buffer
5985         with the terminating NUL when the argument to be stringified
5986         has no tokens.
5987
5988 2002-09-27  Richard Henderson  <rth@redhat.com>
5989
5990         * unroll.c (simplify_cmp_and_jump_insns): New.
5991         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
5992         instead of expand_simple_foo.
5993
5994 2002-09-27  Richard Henderson  <rth@redhat.com>
5995
5996         PR optimization/7520
5997         * cfganal.c (flow_active_insn_p): New.
5998         (forwarder_block_p): Use it.
5999
6000 2002-09-27  Richard Henderson  <rth@redhat.com>
6001
6002         * emit-rtl.c (active_insn_p): Revert last change.
6003
6004 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
6005
6006         * doc/extend.texi (tls_model): Document.
6007         * varasm.c (decl_tls_model): New.
6008         * c-common.c (handle_tls_model_attribute): New.
6009         (c_common_attribute_table): Add tls_model.
6010         * config/alpha/alpha.c (alpha_encode_section_info): Use
6011         decl_tls_model.
6012         * flags.h (enum tls_model, flag_tls_default): Move...
6013         * tree.h (enum tls_model, flag_tls_default): ...here.
6014         (decl_tls_model): New prototype.
6015         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
6016         * config/i386/i386.c (ix86_encode_section_info): Likewise.
6017         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
6018         Allow !flag_pic.
6019
6020 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
6021
6022         * LANGUAGES: Follow spelling conventions.
6023         * rtl.def: Likewise.
6024         * sbitmap.c: Likewise.
6025         * sched-int.h: Likewise.
6026         * sched-rgn.c: Likewise.
6027         * sibcall.c: Likewise.
6028         * simplify-rtx.c: Likewise.
6029         * ssa.c: Likewise.
6030         * stab.def: Likewise.
6031         * stmt.c: Likewise.
6032         * stor-layout.c: Likewise.
6033         * target.h: Likewise.
6034         * timevar.c: Likewise.
6035         * toplev.c: Likewise.
6036         * tree-dump.c: Likewise.
6037         * tree-inline.c: Likewise.
6038         * tree.c: Likewise.
6039         * tree.def: Likewise.
6040         * tree.h: Likewise.
6041         * unroll.c: Likewise.
6042         * varasm.c: Likewise.
6043         * vmsdbgout.c: Likewise.
6044         * treelang/treelang.texi: Likewise.
6045         * treelang/treetree.c: Likewise.
6046
6047 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
6048
6049         * config/h8300/h8300.c (compute_saved_regs): Use a macro
6050         instead of a hard register number.
6051         (get_shift_alg): Use an enumerated type instead of numbers.
6052         (h8300_shift_needs_scratch_p): Likewise.
6053
6054 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6055
6056         * varasm.c (force_data_section): Remove.
6057         (assemble_constant_align): Likewise.
6058         * output.h: Remove corresponding prototypes.
6059
6060 2002-09-26  Roger Sayle  <roger@eyesopen.com>
6061
6062         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
6063         jump, if the loop to exit is the top of the current nesting stack.
6064
6065 2002-09-26  Torbjorn Granlund  <tege@swox.com>
6066
6067         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
6068         arithmetic.
6069
6070 2002-09-26  David S. Miller  <davem@redhat.com>
6071
6072         PR optimization/7335
6073         * calls.c (emit_library_call_value_1): Passing args by reference
6074         converts a CONST function into a PURE one.
6075
6076 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
6077
6078         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
6079         text_section.
6080         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
6081         text section.
6082         * config/rs6000/rs6000.c (rs6000_override_options): Allow
6083         function-sections and data-sections functionality on AIX.
6084
6085 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
6086             Dale Johannesen  <dalej@apple.com>
6087
6088         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
6089         in RTL for sub-word loads from memory.
6090
6091 2002-09-26  Richard Henderson  <rth@redhat.com>
6092
6093         PR c/7160
6094         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
6095         on call insns.
6096
6097 2002-09-26  Richard Henderson  <rth@redhat.com>
6098
6099         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
6100
6101 2002-09-26  Chris Lattner  <sabre@nondot.org>
6102
6103         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
6104         handling undefined values.
6105
6106 2002-09-26  Richard Henderson  <rth@redhat.com>
6107
6108         PR opt/7520
6109         * emit-rtl.c (active_insn_p): Consider a clobber of the
6110         function return value to be active even after reload.
6111
6112 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
6113
6114         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
6115         by absolute loop increment, not loop increment.
6116
6117 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6118
6119         * c-common.h: Follow spelling conventions.
6120         * cpplex.c: Likewise.
6121         * cpplib.h: Likewise.
6122         * gthr-dce.h: Likewise.
6123         * gthr-posix.h: Likewise.
6124         * optabs.c: Likewise.
6125         * output.h: Likewise.
6126         * profile.c: Likewise.
6127         * protoize.c: Likewise.
6128         * ra-rewrite.c: Likewise.
6129         * real.c: Likewise.
6130         * recog.c: Likewise.
6131         * reg-stack.c: Likewise.
6132         * regclass.c: Likewise.
6133         * regmove.c: Likewise.
6134         * reload.c: Likewise.
6135         * reload.h: Likewise.
6136         * reload1.c: Likewise.
6137         * reorg.c: Likewise.
6138         * resource.c: Likewise.
6139         * rtl.h: Likewise.
6140         * rtlanal.c: Likewise.
6141
6142 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6143
6144         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
6145         for symbol address.
6146
6147 2002-09-24  Eric Christopher  <echristo@redhat.com>
6148
6149         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
6150         * config/mips/elf64.h: Ditto.
6151
6152 2002-09-24  Eric Christopher  <echristo@redhat.com>
6153
6154         * except.c (expand_builtin_extract_return_address): Handle case
6155         where Pmode != ptr_mode.
6156
6157 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6158
6159         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
6160
6161 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6162
6163         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
6164
6165 2002-09-26  Igor Shevlyakov <igor@microunity.com>
6166
6167         * combine.c (simplify_set): Don't call to force_to_mode if size
6168         of integer type is larger than HOST_BITS_PER_WIDE_INT.
6169
6170 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
6171
6172         * Makefile.in (qmtest-g++): Fix file path.
6173
6174 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
6175
6176         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
6177         A + (-const) on RTX level, even for unsigned types.
6178
6179 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
6180
6181         * reload.c (dup_replacements): New function.
6182         (find_reloads): Use it to duplicate replacements at the top level
6183         of match_dup operands.
6184
6185 2002-09-26  Miles Bader  <miles@gnu.org>
6186
6187         * v850.md ("length"): Change default value to 4.
6188
6189 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6190
6191         * ChangeLog.1: Follow spelling conventions.
6192         * ChangeLog.4: Likewise.
6193         * ChangeLog.6: Likewise.
6194         * FSFChangeLog.11: Likewise.
6195         * doc/cpp.texi: Likewise.
6196         * doc/invoke.texi: Likewise.
6197         * doc/tm.texi: Likewise.
6198
6199 2002-09-26  Nick Clifton  <nickc@redhat.com>
6200
6201         * config.gcc: Add x prefix to v850e case for handling
6202         --with-cpu=v850e.
6203
6204 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
6205
6206         * gcc.c (input_suffix_matches, switch_matches,
6207         mark_matching_switches, process_marked_switches,
6208         process_brace_body): New functions - split from handle_braces.
6209         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
6210         and ignore whitespace in more places.
6211         (specs documentation comment): Document %{S:X;T:Y;:D}.
6212         Clarify other %{...} docs.
6213         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
6214         %{...} docs.
6215
6216         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
6217         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
6218
6219 2002-09-25  David S. Miller  <davem@redhat.com>
6220
6221         PR target/7842
6222         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
6223         extend.
6224
6225 2002-09-25  Richard Henderson  <rth@redhat.com>
6226
6227         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
6228         fp CONST_DOUBLE; use real_identical.
6229
6230 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
6231
6232         * doc/invoke.texi: Add more -Wabi examples.
6233
6234 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
6235
6236         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
6237
6238 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
6239
6240         * profile.c (end_branch_prob): Only look for __gcov_init on
6241         weak-enabled native compilers.
6242
6243 2002-09-24  Denis Chertykov  <denisc@overta.ru>
6244
6245         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
6246         cases of optimizing "add sp,w" to "inc sp".
6247
6248 2002-09-24  Adam Nemet  <anemet@lnxw.com>
6249
6250         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
6251         epilogue for naked functions.
6252
6253 2002-09-24  Adam Nemet  <anemet@lnxw.com>
6254             Nick Clifton  <nickc@redhat.com>
6255
6256         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
6257         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
6258         is defined.
6259
6260 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
6261
6262         * config/s390/s390.c (preferred_la_operand_p): New function.
6263         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
6264         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
6265         ("*la_64_cc", "*la_31_cc", splitters): ... these.
6266         ("*la_31"): Deactivate for TARGET_64BIT.
6267         ("*la_31_and", "*la_31_and_cc"): New.
6268
6269 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6270
6271         * real.h (real_value): Make `exp' explicitly signed.
6272
6273 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
6274
6275         * config/elfos.h: Follow spelling conventions.
6276         * config/alpha/alpha.h: Likewise.
6277         * config/arc/arc.h: Likewise.
6278         * config/arm/arm.md: Likewise.
6279         * config/avr/avr.h: Likewise.
6280         * config/cris/cris.md: Likewise.
6281         * config/d30v/d30v.h: Likewise.
6282         * config/frv/frv.c: Likewise.
6283         * config/frv/frv.h: Likewise.
6284         * config/h8300/h8300.c: Likewise.
6285         * config/h8300/h8300.h: Likewise.
6286         * config/h8300/h8300.md: Likewise.
6287         * config/i386/cygwin.h: Likewise.
6288         * config/i386/i386.h: Likewise.
6289         * config/i386/sysv3.h: Likewise.
6290         * config/i960/i960.h: Likewise.
6291         * config/ia64/ia64.h: Likewise.
6292         * config/ia64/ia64.md: Likewise.
6293         * config/ip2k/ip2k.h: Likewise.
6294         * config/m32r/m32r.h: Likewise.
6295         * config/m68k/m68k.h: Likewise.
6296         * config/m88k/m88k.h: Likewise.
6297         * config/mcore/mcore.c: Likewise.
6298         * config/mcore/mcore.h: Likewise.
6299         * config/mcore/mcore.md: Likewise.
6300         * config/mips/mips.h: Likewise.
6301         * config/mmix/mmix.h: Likewise.
6302         * config/mmix/mmix.md: Likewise.
6303         * config/ns32k/netbsd.h: Likewise.
6304         * config/ns32k/ns32k.h: Likewise.
6305         * config/ns32k/ns32k.md: Likewise.
6306         * config/pa/pa.h: Likewise.
6307         * config/romp/romp.h: Likewise.
6308         * config/rs6000/rs6000.h: Likewise.
6309         * config/rs6000/rs6000.md: Likewise.
6310         * config/sparc/sparc.h: Likewise.
6311         * config/stormy16/stormy-abi: Likewise.
6312         * config/stormy16/stormy16.h: Likewise.
6313         * config/vax/vax.h: Likewise.
6314
6315 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6316
6317         * config/alpha/alpha.h: Remove commented-out macro
6318         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
6319         * config/avr/avr.h: Likewise.
6320         * config/d30v/d30v.h: Likewise.
6321         * config/dsp16xx/dsp16xx.h: Likewise.
6322         * config/i370/i370.h: Likewise.
6323         * config/i386/i386.h: Likewise.
6324         * config/i960/i960.h: Likewise.
6325         * config/m68k/m68k.h: Likewise.
6326         * config/m88k/m88k.h: Likewise.
6327         * config/mips/mips.h: Likewise.
6328         * config/ns32k/ns32k.h: Likewise.
6329         * config/pdp11/pdp11.h: Likewise.
6330         * config/romp/romp.h: Likewise.
6331         * config/rs6000/rs6000.h: Likewise.
6332         * config/s390/s390.h: Likewise.
6333         * config/sh/sh.h: Likewise.
6334         * config/sparc/sparc.h: Likewise.
6335         * config/stormy16/stormy16.h: Likewise.
6336         * config/vax/vax.h: Likewise.
6337
6338 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6339
6340         * function.c (push_temp_slots_for_block): Remove.
6341         (push_temp_slots_for_target): Likewise.
6342         (get_target_temp_slot_level): Likewise.
6343         (set_target_temp_slot_level): Likewise.
6344         (get_first_block_beg): Likewise.
6345         * function.h: Remove corresponding prototypes.
6346
6347 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
6348
6349         * version.c (version_string): Now const char[].
6350         * version.h: Update to match.
6351
6352 2002-09-23  Richard Henderson  <rth@redhat.com>
6353
6354         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
6355         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
6356         (TARGET_SWITCHES): Don't reference them.
6357         * config/i386/i386.c (override_options): Use target_flags_explicit
6358         to examine bits set by the user.
6359
6360 2002-09-23  Dale Johannesen  <dalej@apple.com>
6361
6362         * dbxout.c (dbxout_parms):  Set current_sym_code for params
6363         passed on stack by invisible reference.
6364
6365 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
6366
6367         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
6368         at least one byte of space.
6369
6370 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6371
6372         * c-common.h (flag_abi_version): Fix typo in comment.
6373         * doc/invoke.texi (flag_abi_version): Document default value.
6374
6375 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
6376
6377         * doc/extend.texi (Extended Asm): Clarify that overlap between
6378         asm-declared register variables used in an asm and the asm clobber
6379         list is not allowed.
6380         * stmt.c (decl_conflicts_with_clobbers_p): New function.
6381         (expand_asm_operands): Keep track of clobbered registers.  Call
6382         decl_conflicts_with_clobbers_p for each input and output operand.
6383         If no conflicts found before, also do conflict sanity check when
6384         emitting clobbers.
6385
6386 2002-09-23  Richard Henderson  <rth@redhat.com>
6387
6388         * c-common.c (cpp_define_data_format): Remove.
6389         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
6390         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
6391         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
6392         * doc/cpp.texi: Don't document them either.
6393         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
6394         __LONG_LONG_MAX__): Document.
6395         (__TARGET_FLOAT_FORMAT__): Remove.
6396
6397 2002-09-23  Richard Henderson  <rth@redhat.com>
6398
6399         * real.c (do_multiply): Normalize U before addition.
6400
6401 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6402
6403         * c-common.c (flag_abi_version): New variable.
6404         * c-common.h (flag_abi_version): Declare it.
6405         * c-opts.c (missing_arg): Add -fabi-version.
6406         (c_common_decode_option): Process -fabi-version.
6407         * doc/invoke.texi (-fabi-version): Document it.
6408         (-Wabi): Add information about bit-fields in unions.
6409
6410 2002-09-22  Roger Sayle  <roger@eyesopen.com>
6411
6412         * expr.c (STORE_BY_PIECES_P): New target macro.
6413         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
6414         instead of MOVE_BY_PIECES_P.
6415         * doc/tm.texi: Document this new macro.
6416
6417 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6418
6419         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
6420         unless -fno-pic or -fno-PIC is specified.
6421
6422 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6423
6424         * c-common.c (preprocessing_trad_p): Define.
6425         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
6426         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
6427         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6428         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
6429         * pa-linux.h (CPP_PREDEFINES): Delete.
6430         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6431         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
6432         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
6433         (TARGET_OS_CPP_BUILTINS): Define.
6434         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
6435         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
6436         (SUBTARGET_SWITCHES): Provide default definition.
6437         (TARGET_OPTIONS): Reformat.  Use N_() macro.
6438         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
6439         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
6440         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
6441         (TARGET_CPU_CPP_BUILTINS): Define.
6442         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
6443         * doc/invoke.texi (msio, mwsio): Document new hppa options.
6444         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
6445         preprocessing_trad_p().
6446
6447 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6448
6449         * doc/install.texi: Document behavior of --with-headers and
6450         --with-libs when arguments are omitted.
6451
6452 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
6453
6454         * dbxout.c: Follow spelling conventions.
6455         * defaults.h: Likewise.
6456         * df.c: Likewise.
6457         * diagnostic.h: Likewise.
6458         * doloop.c: Likewise.
6459         * dwarf2out.c: Likewise.
6460         * dwarfout.c: Likewise.
6461         * emit-rtl.c: Likewise.
6462         * except.c: Likewise.
6463         * explow.c: Likewise.
6464         * expmed.c: Likewise.
6465         * expr.c: Likewise.
6466         * expr.h: Likewise.
6467         * flags.h: Likewise.
6468         * flow.c: Likewise.
6469         * fold-const.c: Likewise.
6470         * function.c: Likewise.
6471         * function.h: Likewise.
6472         * gcc.c: Likewise.
6473         * gcov-io.h: Likewise.
6474         * gcov.c: Likewise.
6475         * gcse.c: Likewise.
6476         * genattrtab.c: Likewise.
6477         * genconfig.c: Likewise.
6478         * genrecog.c: Likewise.
6479         * ggc-page.c: Likewise.
6480         * ggc.h: Likewise.
6481         * global.c: Likewise.
6482         * gthr-win32.h: Likewise.
6483         * integrate.c: Likewise.
6484         * jump.c: Likewise.
6485         * langhooks.c: Likewise.
6486         * langhooks.h: Likewise.
6487         * line-map.h: Likewise.
6488         * local-alloc.c: Likewise.
6489         * longlong.h: Likewise.
6490         * loop.c: Likewise.
6491         * loop.h: Likewise.
6492
6493 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6494
6495         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
6496
6497 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
6498
6499         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
6500         for -Os/TARGET_64BIT too.
6501
6502 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
6503
6504         * ChangeLog: Follow spelling conventions.
6505         * ChangeLog.0: Likewise.
6506         * ChangeLog.1: Likewise.
6507         * ChangeLog.2: Likewise.
6508         * ChangeLog.3: Likewise.
6509         * ChangeLog.4: Likewise.
6510         * ChangeLog.5: Likewise.
6511         * ChangeLog.6: Likewise.
6512         * FSFChangeLog.10: Likewise.
6513         * FSFChangeLog.11: Likewise.
6514         * alias.c: Likewise.
6515         * basic-block.h: Likewise.
6516         * c-aux-info.c: Likewise.
6517         * c-common.c: Likewise.
6518         * c-common.h: Likewise.
6519         * c-decl.c: Likewise.
6520         * c-format.c: Likewise.
6521         * c-semantics.c: Likewise.
6522         * c-typeck.c: Likewise.
6523         * calls.c: Likewise.
6524         * cfganal.c: Likewise.
6525         * cfgloop.c: Likewise.
6526         * collect2.c: Likewise.
6527         * combine.c: Likewise.
6528         * conflict.c: Likewise.
6529         * cppexp.c: Likewise.
6530         * cppfiles.c: Likewise.
6531         * cpphash.h: Likewise.
6532         * cppinit.c: Likewise.
6533         * cpplex.c: Likewise.
6534         * cpplib.c: Likewise.
6535         * cpplib.h: Likewise.
6536         * cppmacro.c: Likewise.
6537         * cse.c: Likewise.
6538
6539 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6540
6541         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
6542         LINK_SPEC.
6543         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
6544         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
6545         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
6546
6547 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6548
6549         PR opt/7930
6550         * cse.c (fold_rtx): Calculate old_cost before we fold each
6551         operand.
6552
6553 2002-09-21  Richard Henderson  <rth@redhat.com>
6554
6555         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
6556         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
6557         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
6558         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
6559         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
6560         * doc/cpp.texi: Don't document them.
6561
6562 2002-09-21  Richard Henderson  <rth@redhat.com>
6563
6564         * c-common.c (builtin_define_float_constants): Use real_format
6565         to get the floating-point parameters.
6566
6567 2002-09-21  Richard Henderson  <rth@redhat.com>
6568
6569         * real.c (struct real_format): Move to real.h.
6570         (real_format_for_mode): Rename from fmt_for_mode; update all users;
6571         initialize with ieee defaults.
6572         (real_to_target_fmt, real_from_target_fmt): New.
6573         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6574         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6575         ieee_quad_format, i370_single_format, i370_double_format,
6576         c4x_single_format, c4x_extended_format): Rename from s/_format//.
6577         (ieee_quad_format): Fix emin.
6578         (format_for_size, init_real_once): Remove.
6579         * real.h (struct real_format): Move from real.c.
6580         (real_format_for_mode): Declare.
6581         (real_to_target_fmt, real_from_target_fmt): Declare.
6582         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6583         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6584         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
6585         i370_single_format, i370_double_format, c4x_single_format,
6586         c4x_extended_format): Declare.
6587         * toplev.c (do_compile): Don't call init_real_once.
6588
6589         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6590         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6591
6592         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6593         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6594         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6595         for VAX, if enabled.
6596
6597         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6598         for C4X.
6599
6600         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6601         * config/i370/i370.c (override_options): New.
6602         * config/i370/i370-protos.h: Update.
6603
6604         * config/i386/i386.c (override_options): Set real_format_for_mode
6605         for Intel 80-bit extended.
6606         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6607
6608         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6609         (OVERRIDE_OPTIONS): Move code...
6610         * config/i960/i960.c (i960_initialize): ... here.  Set
6611         real_format_for_mode for Intel 80-bit extended.
6612
6613         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6614         for Intel 80-bit extended, if enabled.
6615
6616         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6617         for Motorola 96-bit extended.
6618
6619         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6620         * config/vax/vax.c (override_options): New.
6621         * config/vax/vax-protos.h: Update.
6622
6623 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6624
6625         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6626         #if TARGET_MACHO.
6627
6628         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6629         insns.  Supply missing clobber of scratch reg.
6630
6631 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6632
6633         * config/m32r/m32r.c: Follow spelling conventions.
6634         * config/m32r/m32r.h: Likewise.
6635         * config/m32r/m32r.md: Likewise.
6636         * config/m68k/m68k.c: Likewise.
6637         * config/m88k/m88k.c: Likewise.
6638         * config/mcore/mcore.c: Likewise.
6639         * config/mips/mips.c: Likewise.
6640         * config/mips/mips.h: Likewise.
6641         * config/mmix/mmix.c: Likewise.
6642         * config/mn10200/mn10200.c: Likewise.
6643         * config/ns32k/ns32k.h: Likewise.
6644         * config/pa/pa.c: Likewise.
6645         * config/pa/pa64-linux.h: Likewise.
6646         * config/pdp11/pdp11.h: Likewise.
6647         * config/romp/romp.c: Likewise.
6648         * config/romp/romp.h: Likewise.
6649         * config/rs6000/eabi.asm: Likewise.
6650         * config/rs6000/linux64.h: Likewise.
6651         * config/rs6000/rs6000.c: Likewise.
6652         * config/rs6000/rs6000.h: Likewise.
6653         * config/rs6000/rs6000.md: Likewise.
6654         * config/rs6000/sysv4.h: Likewise.
6655         * config/rs6000/xcoff.h: Likewise.
6656
6657 2002-09-20  Jim Wilson  <wilson@redhat.com>
6658
6659         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6660
6661 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6662
6663         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6664         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6665         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6666         (legitimate_address_p): Likewise.
6667         (legitimize_address): Use @gotntpoff and @indntpoff.
6668         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6669         (output_addr_const_extra): Likewise.
6670
6671 2002-09-20  Jim Wilson  <wilson@redhat.com>
6672
6673         * combine.c (try_combine): When split an instruction pair, where the
6674         first has a sign_extend src, verify that the src and dest modes match.
6675
6676 2002-09-20  Richard Henderson  <rth@redhat.com>
6677
6678         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6679         (override_options): Do not initialize them.
6680         (mips_const_double_ok): Allow no fp constants except zero,
6681         and not even that for mips16.
6682         (const_float_1_operand): Use dconst1.
6683         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6684         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6685         Don't allow arbitrary constants; fix predicates and C constraint.
6686
6687 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6688
6689         * cppmacro.c: Don't warn about function-like macros without
6690         '(' during pre-expansion.
6691
6692 2002-09-20  Jim Wilson  <wilson@redhat.com>
6693
6694         * config/v850/v850.c (current_function_anonymous_args): Delete.
6695         (expand_prologue): Use current_function_args_info.anonymous_args.
6696         (expand_epilogue): Delete use of current_function_anonymous_args.
6697         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6698         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6699         (current_function_anonymous_args): Delete extern declaration.
6700         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6701
6702 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6703
6704         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6705         to load_macho_picbase.
6706         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6707         (load_macho_picbase): Take the symbol to use as a parameter.
6708         (macho_correct_pic): New insn.
6709         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6710
6711         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6712         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6713         (CAN_ELIMINATE): Likewise.
6714         (INITIAL_ELIMINATION_OFFSET): Likewise.
6715         (TOC_REGISTER): Likewise.
6716
6717 2002-09-20  Richard Henderson  <rth@redhat.com>
6718
6719         * real.c (real_hash): New.
6720         * real.h: Declare it.
6721         * cse.c (canon_hash): Use it.
6722         * cselib.c (hash_rtx): Likewise.
6723         * emit-rtl.c (const_double_htab_hash): Likewise.
6724         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6725         * varasm.c (struct rtx_const): Reduce vector size; separate
6726         integer and fp vectors.
6727         (HASHBITS): Remove.
6728         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6729         take modulus MAX_HASH_TABLE.
6730         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6731         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6732         (SYMHASH): Don't use HASHBITS.
6733         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6734         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6735         (simplify_subtraction): Fix kind comparison.
6736         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6737         Use a union to pun integer array.
6738         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6739         only hash two words of integral CONST_DOUBLE.
6740
6741 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6742
6743         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6744         (STARTFILE_PREFIX_SPEC): New.
6745         (LINK_SPEC): Modify.
6746         (LIB_SPEC): Modify.
6747         (LIBGCC_SPEC): New.
6748
6749 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6750
6751         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6752         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6753
6754 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6755
6756         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6757         Add clobber of the condition code register.
6758
6759 2002-09-20  Richard Henderson  <rth@redhat.com>
6760
6761         * real.c (do_fix_trunc): Static.
6762         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6763         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6764         encode_i370_single, encode_i370_double, encode_c4x_single,
6765         encode_c4x_extended): Add default abort case.
6766
6767 2002-09-20  Richard Henderson  <rth@redhat.com>
6768
6769         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6770         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6771         (struct realvaluetype): Remove.
6772         (REAL_VALUE_TYPE): Use struct real_value.
6773         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6774         (test_real_width): New.
6775         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6776         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6777         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6778         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6779         real_to_integer, real_to_integer2, real_to_decimal,
6780         real_to_hexadecimal, real_from_string, real_from_integer,
6781         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6782         real_from_target): Likewise.
6783         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6784         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6785
6786 2002-09-20  Richard Henderson  <rth@redhat.com>
6787
6788         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6789         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6790         * defaults.h: ... here.
6791         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6792         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6793         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6794         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6795
6796 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6797
6798         * config/mmix/mmix.md ("negdf2"): Rewrite.
6799         ("*expanded_negdf2"): New.
6800
6801 2002-09-19  Jim Wilson  <wilson@redhat.com>
6802
6803         * combine.c (simplify_set): When optimizing a subreg src with a
6804         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6805
6806 2002-09-19  Dale Johannesen <dalej@apple.com>
6807         * combine.c (make_extraction): Don't create
6808         invalid subreg.
6809
6810 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6811
6812         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6813         * tree.h (integer_nonzerop): Add function prototype.
6814         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6815         are no instructions in the test, i.e. the loop is unconditional.
6816         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6817         tests when the condition is always true or always false.
6818         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6819         do-loops when the condition is always true.
6820         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6821         the for-expression is empty.
6822
6823 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6824
6825         * gcc.c (use_pipes): New flag.
6826         (process_command): Set it.  Adjust check for -pipe conflicting
6827         with -time or -save-temps.
6828         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6829         %<SWITCH.  Drop %| (without a SUFFIX).
6830         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6831         (give_switch): Third argument eliminated.
6832         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6833         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6834         (specs documentation comment): Update.
6835
6836         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6837         config/svr4.h, config/i386/freebsd-aout.h,
6838         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6839         config/m68k/openbsd.h, config/mips/openbsd.h,
6840         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6841         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6842         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6843         * config/cris/cris.h: Update comment.
6844
6845         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6846         error messages.  Don't use %{^SWITCH}.
6847         * ada/misc.c (gnat_decode_option): Handle -I with a
6848         separate argument.
6849
6850         * f/lang-specs.h: Use %| and %m.
6851         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6852         uses of %{<SWITCH} to %<SWITCH.
6853
6854         * doc/invoke.texi: Update documentation of specs.
6855         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6856
6857 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6858
6859         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6860         and STRICT_LOW_PART within SET_DEST.
6861         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
6862         splitters, replacing pre-reload splitters.
6863         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
6864         "*zero_extendqihi2_31"): New insns.
6865         ("*zero_extendqihi2_64"): Do not clobber CC.
6866
6867 2002-09-18  Devang Patel  <dpatel@apple.com>
6868
6869         * cp/cp-tree.h: New prototype for walk_vtables().
6870         * cp/decl.c (walk_vtables_r): New function.
6871         (struct cp_binding_level): Add new members, namespaces,
6872         names_size and vtables.
6873         (add_decl_to_level): Add decl in namespaces or vtables
6874         chain, if conditions match.
6875         (walk_vtables): New function.
6876         (walk_namespaces_r): Travers separate namespace chain
6877         for namespace decls.
6878         (wrapup_globals_for_namespace): Use names_size instead
6879         of list_length().
6880         * cp/decl2.c (finish_file): Use walk_vtables() instead of
6881         walk_globals() to walk vtable decls.
6882
6883 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
6884
6885         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
6886         (DTORS_SECTION_ASM_OP): Ditto.
6887         (READONLY_DATA_SECTION_ASM_OP): Moved.
6888         (DATA_SECTION_ASM_OP): New.
6889         (SDATA_SECTION_ASM_OP): New.
6890         (BSS_SECTION_ASM_OP): New.
6891         (SBSS_SECTION_ASM_OP): New.
6892         (TEXT_SECTION_ASM_OP): New.
6893
6894 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
6895
6896         * config/fp-bit.c: Follow spelling conventions.
6897         * config/d30v/d30v.c: Likewise.
6898         * config/d30v/d30v.h: Likewise.
6899         * config/fr30/fr30.c: Likewise.
6900         * config/fr30/fr30.h: Likewise.
6901         * config/fr30/fr30.md: Likewise.
6902         * config/frv/frv.c: Likewise.
6903         * config/frv/frv.h: Likewise.
6904         * config/h8300/h8300.c: Likewise.
6905         * config/h8300/lib1funcs.asm: Likewise.
6906         * config/i370/i370.c: Likewise.
6907         * config/i386/i386.h: Likewise.
6908         * config/i386/i386.md: Likewise.
6909         * config/i386/pentium.md: Likewise.
6910         * config/i386/winnt.c: Likewise.
6911         * config/i960/i960.c: Likewise.
6912         * config/ia64/ia64.h: Likewise.
6913         * config/ip2k/ip2k.c: Likewise.
6914         * config/ip2k/ip2k.h: Likewise.
6915         * config/ip2k/ip2k.md: Likewise.
6916         * config/ip2k/libgcc.S: Likewise.
6917
6918 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
6919
6920         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
6921         (GOTOFF_P): Extend to allow gotoff plus constant.
6922
6923 2002-09-18  Richard Henderson  <rth@redhat.com>
6924
6925         * ifcvt.c (noce_process_if_block): Correctly detect X modified
6926         with INSN_B before COND_EARLIEST.  Don't check A and B for
6927         modification in condition range.  Reorder INSN_B for A==B properly.
6928         (if_convert): Iterate until no matches for a block.
6929
6930 2002-09-18  Richard Henderson  <rth@redhat.com>
6931
6932         * calls.c (store_one_arg): Rename default_align to parm_align;
6933         always adjust parm_align for downward padding.
6934
6935 2002-09-18  Richard Henderson  <rth@redhat.com>
6936
6937         * toplev.c (backend_init): Move init_real_once invocation ...
6938         (do_compile): ... here.
6939
6940 2002-09-18  Richard Henderson  <rth@redhat.com>
6941
6942         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
6943         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
6944
6945 2002-09-18  Richard Henderson  <rth@redhat.com>
6946
6947         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
6948
6949 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
6950
6951         * config/rs6000/rs6000.md: (floatdisf2): Rename to
6952         floatdisf2_internal1.
6953         (floatdisf2): New define_expand.
6954         (floatdisf2_internal2): Likewise.
6955
6956 2002-09-18  Richard Henderson  <rth@redhat.com>
6957
6958         * real.c (sticky_rshift_significand): Collect sticky as
6959         unsigned long, not bool.
6960
6961 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
6962
6963         * config/s390/s390.c (s390_address_cost): New function.
6964         config/s390/s390-protos.h (s390_address_cost): Add prototype.
6965         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
6966         (RTX_COST): Use COSTS_N_INSNS.
6967
6968 2002-09-18  Douglas Rupp  <rupp@gnat.com>
6969             Donn Terry  <donnte@microsoft.com>
6970
6971         * stor-layout.c (place_field): Handle alignment of whole
6972         structures when MSVC compatible bitfields are involved.
6973         Change method of computing location of MS bitfields to
6974         be compatible with #pragma pack(n).
6975
6976         * tree.h (record_layout_info): Add new field
6977         remaining_in_alignment.
6978
6979         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
6980         (pragma pack): Add paragraph on MSVC bitfield packing.
6981
6982 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
6983
6984         PR optimization/7967
6985         * arm.md (ne_zeroextractsi): Add clobber of the condition code
6986         register.
6987
6988 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
6989
6990         * config/s390/s390.c: Follow spelling conventions.
6991         * config/sh/lib1funcs.asm: Likewise.
6992         * config/sh/sh.c: Likewise.
6993         * config/sh/sh.h: Likewise.
6994         * config/sparc/sparc.c: Likewise.
6995         * config/sparc/sparc.h: Likewise.
6996         * config/sparc/sparc.md: Likewise.
6997         * config/stormy16/stormy16.c: Likewise.
6998         * config/stormy16/stormy16.h: Likewise.
6999         * config/v850/v850.c: Likewise.
7000         * config/v850/v850.h: Likewise.
7001         * config/vax/vax.c: Likewise.
7002         * config/vax/vax.h: Likewise.
7003
7004 2002-09-18  Nick Clifton  <nickc@redhat.com>
7005
7006         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
7007         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
7008         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
7009
7010 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7011
7012         * function.c (max_parm_reg_num): Remove.
7013         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
7014         drop_through_at_end_p, move_cleanups_up,
7015         expand_end_case_dummy, case_index_expr_type): Likewise.
7016         * stor-layout.c (pos_from_byte): Likewise.
7017         * tree.c (chain_member_value, chain_member_purpose, listify,
7018         tree_int_cst_msb, index_type_equal): Likewise.
7019         * tree.h: Remove prototypes for unused functions.
7020
7021 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
7022
7023         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
7024         statement that the only translation is to en_UK.
7025
7026 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7027
7028         * config/alpha/alpha.c: Follow spelling conventions.
7029         * config/alpha/alpha.h: Likewise.
7030         * config/alpha/alpha.md: Likewise.
7031         * config/arc/arc.h: Likewise.
7032         * config/arm/arm.c: Likewise.
7033         * config/arm/arm.h: Likewise.
7034         * config/arm/arm.md: Likewise.
7035         * config/arm/pe.c: Likewise.
7036         * config/arm/unknown-elf.h: Likewise.
7037         * config/avr/avr.c: Likewise.
7038         * config/avr/avr.h: Likewise.
7039         * config/c4x/c4x.c: Likewise.
7040         * config/cris/cris.c: Likewise.
7041         * config/cris/cris.h: Likewise.
7042
7043 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
7044
7045         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
7046         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
7047         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
7048
7049 2002-09-17  Dale Johannesen  <dalej@apple.com>
7050
7051         * cfgcleanup.c (try_forward_edges):  Do not forward a
7052         branch to just after a loop exit before loop optimization;
7053         this interfered with doloop detection.
7054
7055 2002-09-17  Nick Clifton  <nickc@redhat.com>
7056
7057         * config/arm/arm.c (output_return_instruction): Do not
7058         writeback the stack pointer when it is being loaded.
7059         (arm_output_epilogue): Likewise.
7060
7061 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
7062
7063         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
7064         generate a pseudo reg that receives the result of a libcall.
7065         (prepare_float_lib_cmp): Likewise.
7066
7067 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
7068
7069         * config/ia64/elf.h: Remove CPP_PREDEFINES.
7070
7071 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7072
7073         Fix PR/7014 and related objc bugs:
7074         * c-typeck.c (comp_target_types): Added a reflexive argument.
7075         Pass it to ObjC when/if calling objc_comptypes().  Updated all
7076         callers to provide the appropriate reflexive argument.
7077         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
7078         typechecking for all cases of comparisons and assignments,
7079         particularly the obscure and less common ones involving protocols.
7080
7081 2002-09-17  Nick Clifton  <nickc@redhat.com>
7082
7083         * machmode.def (V1DImode): New mode.  A single element vector.
7084         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
7085         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
7086         * tree.c (build_common_tree_nodes_2): Build
7087         unsigned_V1DI_type_node and V1D1_type_node.
7088         * c-common.c (c_common_type_for_mode): Return
7089         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
7090         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
7091
7092 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7093
7094         * doc/objc.texi (Constant string objects): Extended documentation
7095         to make clear that the constant string class ivar layout is
7096         completely fixed.
7097
7098 2002-09-17  Roger Sayle  <roger@eyesopen.com>
7099
7100         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
7101         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
7102
7103 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7104
7105         * config/mips/mips.c (save_restore_insns): Remove unused variable.
7106         * gcc.c (make_relative_prefix): Likewise.
7107         * loop.c (check_final_value): Likewise.
7108         * jump.c (init_label_info): Remove return value.
7109         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
7110
7111 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7112
7113         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
7114         (ASM_PN_FORMAT): Define.
7115
7116 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7117
7118         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
7119         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
7120         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
7121         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
7122         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
7123         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
7124         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
7125         Delete.
7126         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
7127         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
7128         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
7129
7130         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
7131         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
7132
7133 2002-09-16  Richard Henderson  <rth@redhat.com>
7134
7135         * expr.c (emit_block_move): Set memory block size as appropriate
7136         for the copy.
7137
7138 2002-09-16  Richard Henderson  <rth@redhat.com>
7139
7140         PR fortran/3924
7141         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
7142
7143 2002-09-16  Richard Henderson  <rth@redhat.com>
7144
7145         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
7146         as well as OFFSET for BITPOS.
7147
7148 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
7149
7150         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
7151         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
7152         winchip2 and c3.
7153         * doc/invoke.texi: Mention new aliases.
7154
7155 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7156
7157         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
7158         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
7159         downward.
7160         * function.c (pad_below):  Always compile.
7161         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
7162         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
7163         Pad below when the argument is not in a register and the padding
7164         direction is downward.
7165
7166         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
7167         (PAD_VARARGS_DOWN): Define.
7168         * pa.c (function_arg_padding): Revise padding directions to make them
7169         compatible with the 32 and 64-bit runtime architecture documentation.
7170         (hppa_va_arg):  Add code to handle variable and size zero arguments
7171         passed by reference on TARGET_64BIT.  Reformat.
7172         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
7173         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
7174         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
7175         Add comments.
7176         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
7177         (RETURN_IN_MEMORY): Return size zero types in memory.
7178         (FUNCTION_VALUE): Return TFmode in general registers.
7179         (MUST_PASS_IN_STACK): Define.
7180         (FUNCTION_ARG_BOUNDARY): Simplify.
7181         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
7182         by reference.
7183         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
7184
7185 2002-09-16  Richard Henderson  <rth@redhat.com>
7186
7187         * real.c (do_fix_trunc): New.
7188         (real_arithmetic): Call it.
7189         * simplify-rtx.c (simplify_unary_operation): Handle FIX
7190         with a floating-point result mode.
7191
7192 2002-09-16  Richard Henderson  <rth@redhat.com>
7193
7194         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
7195         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
7196         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
7197         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
7198         * builtins.c (fold_builtin_nan): New.
7199         (fold_builtin): Call it.
7200         * real.c (real_nan): Parse a non-empty string.
7201         (round_for_format): Fix NaN significand truncation.
7202         * real.h (real_nan): Return bool.
7203         * doc/extend.texi: Document new builtins.
7204
7205 2002-09-16  Jason Merrill  <jason@redhat.com>
7206             Danny Smith  <dannysmith@users.sourceforge.net>
7207
7208         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
7209         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
7210         (i386_pe_mark_dllimport): Not here.
7211
7212 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
7213
7214         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
7215
7216 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
7217
7218         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
7219         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
7220         < 64.
7221         (rs6000_emit_cmove): Use real_isinf not target_isinf.
7222
7223 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7224
7225         * calls.c (emit_library_call_value_1): Don't refer to
7226         hard_libcall_value.
7227         * optabs.c (prepare_float_lib_cmp): Likewise.
7228
7229 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
7230
7231         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
7232         mangling.
7233
7234         The following changes are merged from pch-branch:
7235
7236         * doc/gty.texi (GTY Options): Document %a.
7237         * gengtype.c (do_scalar_typedef): New function.
7238         (process_gc_options): Handle `length' option.
7239         (set_gc_used_type): A pointer to an array of structures doesn't
7240         qualify as a pointer to a structure.
7241         (output_escaped_param): Add `%a' escape.
7242         (write_gc_structure_fields): Allow 'desc' on array of unions.
7243         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
7244         do_scalar_typedef.
7245
7246         * gengtype.c (enum rtx_code): Make global.
7247         (rtx_format): Make global.
7248         (rtx_next): New.
7249         (gen_rtx_next): New.
7250         (write_rtx_next): New.
7251         (adjust_field_rtx_def): Skip fields marked by chain_next.
7252         (open_base_files): Delete redundant prototype.
7253         (write_enum_defn): New.
7254         (output_mangled_typename): Correct abort call.
7255         (write_gc_marker_routine_for_structure): Handle chain_next and
7256         chain_prev options.
7257         (finish_root_table): Don't output redundant \n.
7258         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
7259         * c-tree.h (union lang_tree_node): Add chain_next option.
7260
7261         * gengtype.h (NUM_PARAM): New definition.
7262         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
7263         * gengtype.c (find_param_structure): New.
7264         (adjust_field_type): Handle param<n>_is option.
7265         (process_gc_options): Detect use_params option.  Update callers.
7266         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
7267         'use_params' option.
7268         (open_base_files): Add splay-tree.h to list of files included.
7269         (output_mangled_typename): New.
7270         (write_gc_structure_fields): Update 'param' parameter to support
7271         multiple parameters.  Change name mangling.  Allow parameterized
7272         fields to have an apparent scalar type.  Handle param<n>_is options,
7273         use_param option.
7274         (write_gc_marker_routine_for_structure): Update for change to name
7275         mangling.  Better guess the output file for parameterized types.
7276         (write_gc_types): Update for change to name mangling.
7277         (write_gc_root): Update for change to name mangling.  Handle (ignore)
7278         param<n>_is options.
7279         * doc/gty.texi (GTY Options): Add description of param<n>_is
7280         options, use_params option.
7281         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
7282         * gengtype-lex.l: Produce token for param<n>_is.
7283         * gengtype-yacc.y: Parse param<n>_is.
7284
7285         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
7286
7287         * rtl.c: Update comment describing rtx_format.
7288         * rtl.h (union rtunion): Separate definition and typedef.
7289         (struct rtx_def): Use gengtype to mark.
7290         * Makefile.in (gengtype.o): Also depend on rtl.def.
7291         * ggc.h (ggc_mark_rtx_children): Delete prototype.
7292         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
7293         * ggc-common.c (ggc_mark_rtx_children): Delete.
7294         (ggc_mark_rtx_children_1): Delete.
7295         (gt_ggc_m_rtx_def): Delete.
7296         * gengtype.c (adjust_field_rtx_def): New.
7297         (adjust_field_type): Call adjust_field_rtx_def.
7298         (write_gc_structure_fields): Add 'default' case to switch if none
7299         is specified; remove unused code.
7300
7301         * tree.h (struct tree_exp): Update for change to meaning
7302         of special.
7303         * gengtype.c (adjust_field_tree_exp): New function.
7304         (adjust_field_type): Handle `tree_exp' special here.
7305         (write_gc_structure_fields): Don't handle `tree_exp' special here.
7306         Handle new `dot' option.
7307
7308         * gengtype.h: Make `info' a pointer-to-const.
7309         * gengtype-yacc.y (yacc_ids): Use xasprintf.
7310
7311         * gengtype.c (write_gc_structure_fields): Remove implementation
7312         of `always' option, add `default' option.
7313         * doc/gty.texi (GTY Options): Remove documentation of `always',
7314         add `default'.
7315
7316 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
7317
7318         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
7319
7320 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7321
7322         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
7323
7324         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
7325         instead of the *-protos.h file directly.
7326         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
7327         * darwin.c (machopic_output_stub): Move prototype ...
7328         * darwin-protos.h (machopic_output_stub): ... here.
7329         * rs6000-protos.h (machopic_output_stub): Don't declare.
7330
7331 2002-09-16  Richard Henderson  <rth@redhat.com>
7332
7333         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
7334
7335 2002-09-16  Richard Henderson  <rth@redhat.com>
7336
7337         * real.c, real.h: Rewrite from scratch.
7338
7339         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
7340         (paranoia): New target.
7341         * builtins.c (fold_builtin_inf): Use new real.h interface.
7342         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
7343         * c-lex.c (interpret_float): Likewise.
7344         * emit-rtl.c (gen_lowpart_common): Likewise.
7345         * optabs.c (expand_float): Use real_2expN.
7346         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
7347         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
7348         (FLOAT_WORDS_BIG_ENDIAN): New.
7349         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
7350         directly to REAL_VALUE_NEGATIVE.
7351         * loop.c (canonicalize_condition): Likewise.
7352         * simplify-rtx.c: Include tree.h.
7353         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
7354         with floating-point result modes.
7355         * toplev.c (backend_init): Call init_real_once.
7356
7357         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
7358         * tree.c (build_real): Likewise.
7359         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
7360         float_values, inited_float_values, check_float_value): Remove.
7361         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
7362         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
7363         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
7364         (VAX_HALFWORD_ORDER): Remove.
7365
7366 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
7367
7368         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
7369         (s390_load_address): ... this new function.
7370         (s390_decompose_address): Allow the argument pointer and all
7371         virtual registers as 'pointer' registers.
7372         (s390_expand_plus_operand): Use s390_load_address.
7373         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
7374         ("force_la_31"): New insn pattern.
7375         config/s390/s390-protos.h (legitimize_la_operand): Remove.
7376         (s390_load_address): Add prototype.
7377
7378         * config/s390/s390.c: Include "optabs.h".
7379         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
7380         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
7381         s390_expand_cmpstr): Add prototypes.
7382         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
7383         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
7384         for operands 0 and 1 to "memory_operand".  Add type attribute.
7385         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
7386         for operands 0 and 1 to "memory_operand".  Add type attribute.
7387         ("movstrdi_long", "movstrsi_long"): Remove.
7388         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
7389         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
7390         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
7391         ("clrstrsico"): Remove, replace by ...
7392         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
7393         ("clrstrsi_64"): Rename to "clrstr_long_64".
7394         ("clrstrsi_31"): Rename to "clrstr_long_31".
7395         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
7396         ("cmpstr_const"): Remove, replace by ...
7397         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
7398         ("cmpstr_64"): Rename to "cmpstr_long_64".
7399         ("cmpstr_31"): Rename to "cmpstr_long_31".
7400
7401 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7402
7403         * ABOUT-NLS: Follow spelling conventions.
7404         * ChangeLog: Likewise.
7405         * ChangeLog.1: Likewise.
7406         * ChangeLog.2: Likewise.
7407         * ChangeLog.3: Likewise.
7408         * ChangeLog.4: Likewise.
7409         * ChangeLog.5: Likewise.
7410         * ChangeLog.6: Likewise.
7411         * FSFChangeLog.10: Likewise.
7412         * FSFChangeLog.11: Likewise.
7413         * c-common.c: Likewise.
7414         * c-lex.c: Likewise.
7415         * c-objc-common.c: Likewise.
7416         * cppexp.c: Likewise.
7417         * cppinit.c: Likewise.
7418         * cpplex.c: Likewise.
7419         * doloop.c: Likewise.
7420         * flow.c: Likewise.
7421         * function.c: Likewise.
7422         * integrate.c: Likewise.
7423         * loop.c: Likewise.
7424         * reg-stack.c: Likewise.
7425         * reload.h: Likewise.
7426         * ssa.c: Likewise.
7427
7428 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7429
7430         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
7431         * vmsdbgout.c: Include "target.h".
7432
7433 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7434
7435         * ChangeLog: Follow spelling conventions.
7436         * ChangeLog.0: Likewise.
7437         * ChangeLog.1: Likewise.
7438         * ChangeLog.2: Likewise.
7439         * ChangeLog.4: Likewise.
7440         * ChangeLog.6: Likewise.
7441         * config.gcc: Likewise.
7442         * dwarfout.c: Likewise.
7443         * reload1.c: Likewise.
7444         * simplify-rtx.c: Likewise.
7445         * unwind-sjlj.c: Likewise.
7446         * config/avr/avr.h: Likewise.
7447         * config/d30v/d30v.h: Likewise.
7448         * config/frv/frv.c: Likewise.
7449         * config/frv/frv.h: Likewise.
7450         * config/ip2k/ip2k.h: Likewise.
7451         * config/m88k/m88k-move.sh: Likewise.
7452         * config/stormy16/stormy16.c: Likewise.
7453         * config/stormy16/stormy16.h: Likewise.
7454         * doc/extend.texi: Likewise.
7455         * doc/interface.texi: Likewise.
7456         * doc/invoke.texi: Likewise.
7457         * doc/md.texi: Likewise.
7458         * doc/rtl.texi: Likewise.
7459         * doc/tm.texi: Likewise.
7460         * doc/trouble.texi: Likewise.
7461         * ginclude/float.h: Likewise.
7462         * treelang/treelang.texi: Likewise.
7463
7464 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7465
7466         * i386-protos.h (i386_pe_dllexport_name_p,
7467         i386_pe_dllimport_name_p, i386_pe_unique_section,
7468         i386_pe_declare_function_type, i386_pe_record_external_function,
7469         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
7470         prototype.
7471         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
7472         * i386/t-interix (winnt.o): Likewise.
7473
7474         * v850-protos.h (v850_output_addr_const_extra): Prototype.
7475
7476 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7477
7478         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
7479         MIPS ABI CPP macros.
7480         (TARGET_CPU_CPP_BUILTINS): Redefine.
7481         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
7482         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
7483
7484 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7485
7486         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
7487
7488 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7489
7490         * ChangeLog: Follow spelling conventions.
7491         * ChangeLog.0: Likewise.
7492         * ChangeLog.1: Likewise.
7493         * ChangeLog.2: Likewise.
7494         * ChangeLog.3: Likewise.
7495         * ChangeLog.4: Likewise.
7496         * ChangeLog.5: Likewise.
7497         * ChangeLog.6: Likewise.
7498         * FSFChangeLog.10: Likewise.
7499         * FSFChangeLog.11: Likewise.
7500         * c-common.c: Likewise.
7501         * c-common.h: Likewise.
7502         * c-format.c: Likewise.
7503         * c-opts.c: Likewise.
7504         * cpplib.c: Likewise.
7505         * langhooks.h: Likewise.
7506         * real.c: Likewise.
7507         * reg-stack.c: Likewise.
7508         * toplev.c: Likewise.
7509         * config/arm/arm.c: Likewise.
7510         * config/arm/arm.md: Likewise.
7511         * config/arm/linux-gas.h: Likewise.
7512         * config/arm/netbsd.h: Likewise.
7513         * config/c4x/c4x.c: Likewise.
7514         * config/c4x/c4x.h: Likewise.
7515         * config/c4x/c4x.md: Likewise.
7516         * config/c4x/libgcc.S: Likewise.
7517         * config/fr30/fr30.md: Likewise.
7518         * config/frv/frv.md: Likewise.
7519         * config/ia64/ia64.md: Likewise.
7520         * config/mips/mips.h: Likewise.
7521         * config/mn10300/mn10300.c: Likewise.
7522         * config/stormy16/stormy16.c: Likewise.
7523         * config/v850/v850.md: Likewise.
7524         * doc/extend.texi: Likewise.
7525         * doc/invoke.texi: Likewise.
7526         * doc/md.texi: Likewise.
7527
7528 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7529
7530         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
7531         library if -pthread is specified.
7532
7533 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7534
7535         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
7536         for --enable-threads=yes and --enable-threads=posix.
7537
7538 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7539
7540         * config/sparc/cypress.md: Replace Sparc with SPARC.
7541         * config/sparc/freebsd.h: Likewise.
7542         * config/sparc/gmon-sol2.c: Likewise.
7543         * config/sparc/hypersparc.md: Likewise.
7544         * config/sparc/lb1spc.asm: Likewise.
7545         * config/sparc/lb1spl.asm: Likewise.
7546         * config/sparc/linux.h: Likewise.
7547         * config/sparc/linux64.h: Likewise.
7548         * config/sparc/lynx.h: Likewise.
7549         * config/sparc/sol2.h: Likewise.
7550         * config/sparc/sparc-modes.def: Likewise.
7551         * config/sparc/sparc.c: Likewise.
7552         * config/sparc/sparc.h: Likewise.
7553         * config/sparc/sparc.md: Likewise.
7554         * config/sparc/sparclet.md: Likewise.
7555         * config/sparc/supersparc.md: Likewise.
7556         * config/sparc/sysv4.h: Likewise.
7557         * config/sparc/vxsim.h: Likewise.
7558         * config/sparc/vxsparc64.h: Likewise.
7559
7560 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7561
7562         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
7563         * collect2.c (ignore_library, aix_std_libs): Move into the context
7564         where it is used.
7565         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
7566         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
7567         * m88k.c (output_call): Wrap variables with macro controlling use.
7568         * rs6000.md: Likewise.  Const-ify variable.
7569         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
7570         * final.c (only_leaf_regs_used): Likewise.
7571         * regrename.c (maybe_mode_change): Mark parameter with
7572         ATTRIBUTE_UNUSED.
7573         * reload.c (find_valid_class): Likewise.  Likewise for variable.
7574         (find_reloads_address_1): Likewise.
7575         * varasm.c (weak_finish): Wrap variable with macro controlling use.
7576
7577 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7578
7579         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
7580
7581 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7582
7583         * ChangeLog: Follow spelling conventions.
7584         * ChangeLog.0: Likewise.
7585         * ChangeLog.2: Likewise.
7586         * ChangeLog.3: Likewise.
7587         * ChangeLog.4: Likewise.
7588         * ChangeLog.5: Likewise.
7589         * ChangeLog.6: Likewise.
7590         * cppfiles.c: Likewise.
7591         * cppinit.c: Likewise.
7592         * cpplib.h: Likewise.
7593         * cse.c: Likewise.
7594         * debug.h: Likewise.
7595         * df.c: Likewise.
7596         * dominance.c: Likewise.
7597         * hashtable.c: Likewise.
7598         * hashtable.h: Likewise.
7599         * loop.c: Likewise.
7600         * config/arm/README-interworking: Likewise.
7601         * config/arm/arm.c: Likewise.
7602         * config/arm/arm.h: Likewise.
7603         * config/arm/arm.md: Likewise.
7604         * config/dsp16xx/dsp16xx.h: Likewise.
7605         * config/frv/frv.c: Likewise.
7606         * config/frv/frv.h: Likewise.
7607         * config/ip2k/ip2k.h: Likewise.
7608         * config/rs6000/rs6000.c: Likewise.
7609         * config/stormy16/stormy-abi: Likewise.
7610         * config/stormy16/stormy16.h: Likewise.
7611         * config/v850/v850.c: Likewise.
7612
7613 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7614
7615         * loop.c: Fix a comment typo.
7616
7617 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7618
7619         * config/fr30/fr30.h: Fix comment typos.
7620         * config/frv/frv.c: Likewise.
7621         * config/i386/xmmintrin.h: Likewise.
7622         * config/mips/mips.c: Likewise.
7623         * config/sh/sh.c: Likewise.
7624
7625 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7626
7627         * haifa-sched.c: Follow spelling conventions.
7628         * regclass.c: Likewise.
7629         * regrename.c: Likewise.
7630         * config/fp-bit.c: Likewise.
7631         * config/frv/frv.h: Likewise.
7632         * config/m88k/m88k.c: Likewise.
7633         * config/mcore/mcore.c: Likewise.
7634         * config/rs6000/darwin.h: Likewise.
7635         * config/rs6000/gnu.h: Likewise.
7636         * config/rs6000/linux.h: Likewise.
7637         * config/rs6000/linux64.h: Likewise.
7638         * config/rs6000/rs6000.c: Likewise.
7639         * config/rs6000/rs6000.h: Likewise.
7640         * config/sh/sh.c: Likewise.
7641         * config/sparc/sparc.c: Likewise.
7642         * config/sparc/ultra1_2.md: Likewise.
7643
7644 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7645
7646         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7647         memory operand when source is 0 (K constraint).
7648         ("movsi_internal"): Likewise.
7649         ("movdf_internal"): Likewise.
7650         ("movsf_internal"): Likewise.
7651
7652 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7653
7654         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7655         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7656         (rs6000_xcoff_encode_section_info): Likewise.
7657         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7658
7659 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7660
7661         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7662
7663 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7664
7665         * stmt.c (struct nexting): Remove unused alt_end_label field.
7666         (expand_start_loop): Delete initialization of alt_end_label.
7667         (expand_start_null_loop): Likewise.
7668         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7669
7670 2002-09-13  Richard Henderson  <rth@redhat.com>
7671
7672         * Makefile.in (toplev.o): Depend on real.h.
7673         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7674
7675 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7676
7677         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7678         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7679         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7680
7681 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7682
7683         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7684
7685 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7686
7687         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7688         ia64*-*-linux*): Set extra_parts.
7689         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7690         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7691
7692 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7693
7694         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7695         * config/h8300/h8300.c: Likewise.
7696         * config/h8300/h8300.h: Likewise.
7697         * config/h8300/h8300.md: Likewise.
7698         * doc/invoke.texi: Likewise.
7699
7700 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7701
7702         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7703
7704 2002-09-13  Richard Henderson  <rth@redhat.com>
7705
7706         * config/alpha/alpha.md (attr type): Add callpal.
7707         (imb, trap, load_tp, set_tp): Use it.
7708         * config/alpha/ev4.md (ev4_callpal): New.
7709         * config/alpha/ev5.md (ev5_callpal): New.
7710         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7711         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7712         (alphaev5_insn_pipe): Likewise.
7713
7714 2002-09-13  Andreas Jaeger  <aj@suse.de>
7715
7716         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7717
7718 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7719
7720         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7721         LIB2ADDEH): New, set to NULL.
7722         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7723
7724 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7725
7726         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7727         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7728         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7729         Add declarations.
7730         (_U_Qfneg): Remove.
7731
7732 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7733
7734         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7735         for H8/300, H8S aa:8 mode.
7736         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7737         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7738         for H8/300 aa:8 mode.
7739
7740 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7741
7742         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7743         insns.
7744
7745 2002-09-12  Richard Henderson  <rth@redhat.com>
7746
7747         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7748         (print-rtl.o): Don't define GENERATOR_FILE.
7749         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7750         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7751         unless GENERATOR_FILE.
7752
7753 2002-09-12  Stan Shebs  <shebs@apple.com>
7754
7755         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7756         * config/i386/darwin.h: ... instead of here.
7757
7758         * target.h (struct gcc_target): New field
7759         terminate_dw2_eh_frame_info.
7760         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7761         (TARGET_INITIALIZER): Add it.
7762         * dwarf2out.c (output_call_frame_info): Use target hook.
7763         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7764         ASM_OUTPUT_DWARF_DELTA if defined.
7765         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7766         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7767         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7768         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7769         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7770         (powerpc-*-darwin*): Ditto.
7771         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7772         to work correctly for Darwin.
7773         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7774         (STARTFILE_SPEC): Add crtbegin.o.
7775         (ENDFILE_SPEC): Define.
7776         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7777         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7778         (ASM_OUTPUT_DWARF_DELTA): Define.
7779         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7780         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7781
7782 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7783
7784         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7785         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7786         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7787
7788 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7789
7790         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7791         * defaults.h: ... here.
7792
7793 2002-09-12  Richard Henderson  <rth@redhat.com>
7794
7795         * vax.c: Include tree.h earlier.
7796
7797 2002-09-12  Stan Shebs  <shebs@apple.com>
7798
7799         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7800         (machopic_operand_p): Ditto.
7801
7802 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7803
7804         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7805         Fix a comment typo.
7806
7807 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7808
7809         * toplev.c (do_abort): Fix a comment typo.
7810
7811 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7812
7813         * cselib.c: Fix comment formatting.
7814         * gengtype.c: Likewise.
7815
7816 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7817
7818         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7819         (udivmodhi4): Likewise.
7820
7821 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7822             Roger Sayle  <roger@eyesopen.com>
7823
7824         * i386.c (any_fp_register_operand, fp_register_operand,
7825         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7826         New predicate functions.
7827         * i386-protos.h:  Add their prototypes.
7828         * i386.h: Add them to PREDICATE_CODES.
7829         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7830         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7831         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7832         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7833         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7834         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7835         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7836         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7837         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7838         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7839         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7840         Use these new predicates to simplify and correct the use of
7841         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7842
7843 2002-09-12  Jason Merrill  <jason@redhat.com>
7844
7845         * diagnostic.c (output_add_identifier): New fn.
7846         * diagnostic.h: Declare it.
7847
7848         * calls.c (store_one_arg): Use size_in_bytes to determine the
7849         amount of space to push.
7850
7851 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7852
7853         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7854
7855 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7856
7857         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7858         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7859         (s390_select_ccmode): Likewise.
7860         (s390_branch_condition_mask): Likewise.
7861         (optimization_options): Do not set flag_branch_on_count.
7862         (s390_split_branches): Handle doloop branches.
7863         (s390_chunkify_pool): Likewise.
7864         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
7865         ("doloop_end"): New expander.
7866         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
7867         associated splitters): New.
7868
7869 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7870
7871         * genattrtab.c (simplify_cond): Remove unused variable(s).
7872         * global.c (record_conflicts): Likewise.
7873         * jump.c (rebuild_jump_labels): Likewise.
7874         * loop.c (scan_loop, check_final_value): Likewise.
7875         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
7876         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
7877         * rtlanal.c (reg_set_p): Likewise.
7878         * stmt.c (expand_asm_operands, expand_decl): Likewise.
7879         * genautomata.c (empty_reserv): Remove.
7880         * loop.c (max_luid): Likewise.
7881         * sched-rgn.c (bitlst_table_size): Likewise.
7882
7883 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
7884
7885         Reimplement gcov format.
7886         * gcov-io.h: Replace.
7887         * gcov.c: Reimplement.
7888         * gcov-iov.c: New file.
7889         * gcov-dump.c: New file.
7890         * libgcc2.c (L_bb): Replace with ...
7891         (L_gcov): ... this.
7892         (struct bb_function_info, struct bb): Remove.
7893         (inhibit_libc): Never inhibit.
7894         (gcov_list, gcov_crc): New static variables.
7895         (gcov_version_mismatch): New static function.
7896         (__bb_exit_func): Renamed to ...
7897         (__gcov_exit): ... here. Made static. Reimplement.
7898         (__gcov_init_func): Rename to ...
7899         (__gcov_init): ... here. Check version, update crc.
7900         (__bb_fork_func): Rename to ...
7901         (__gcov_flush): ... here.
7902         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
7903         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
7904         * calls.c (expand_call): Call __gcov_flush.
7905         * profile.c (bb_file, last_bb_file_name): Remove.
7906         (bbg_file_name): New global variable.
7907         (output_gcov_string): Remove.
7908         (get_exec_counts): Reimplement.
7909         (branch_prob): Reimplement gcov file writing.
7910         (init_branch_prob): Create bbg_file_name, don't create
7911         bb_file_name.
7912         (end_branch_prob): Adjust. Don't remove counter file when
7913         instrumenting ourselves.
7914         (create_profiler): Adjust.
7915         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
7916         point to gcov-io.h.
7917         * Makefile.in (LANGUAGES): Add gcov-dump.
7918         (coverageexts): Remove .bb.
7919         (STAGESTUFF): Add gcov-dump.
7920         (LIB2FUNCS_ST): Replace _bb with _gcov.
7921         (profile.o): Depend on gcov-iov.h.
7922         (final.o): Don't depend on profile.h, gcov.h.
7923         (gcov.o): Depend on gcov-iov.h.
7924         (gcov-iov.o): New target.
7925         (gcov-iov): New target.
7926         (gcov-iov.h): New target.
7927         (gcov-dump.o): New target.
7928         (GCOV_DUMP_OBJS): New variable.
7929         (gcov-dump): New target.
7930         (distclean): Remove coverageexts.
7931         (stage1): Remove coverageexts.
7932
7933 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
7934
7935         * fold-const.c (make_range): Only narrow to signed range if
7936         the signed range is smaller than the unsigned range.
7937
7938 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
7939
7940         * emit-rtl.c (set_mem_size): New function.
7941         * expr.h (set_mem_size): Declare.
7942         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
7943         (expand_block_move): Instead, use adjust_address and
7944         replace_equiv_address to generate proper aliasing info.
7945         Move common code out of conditionals.  Localize vars.
7946
7947 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7948
7949         * optabs.c (expand_binop): Minor cleanup.
7950         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
7951
7952 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
7953
7954         * print-tree.c (print_node): Print the restrict qualifier.
7955
7956 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
7957
7958         * doc/install.texi: Fix typos.
7959
7960 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
7961
7962         * Makefile.in: Remove all references to s-under and underscore.c.
7963         * collect2.c, tlink.c: Change all uses of prepends_underscore
7964         to look directly at USER_LABEL_PREFIX.
7965
7966 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
7967
7968         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
7969         alignment to csect.
7970         (rs6000_xcoff_unique_section): Only set section name for public
7971         data.
7972         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
7973         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
7974         duplicate definition.
7975
7976 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7977
7978         * pa.md (extzv): Check predicates before emitting extzv_32.
7979         (insv): Likewise.
7980
7981 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
7982
7983         * config/s390/s390.h (MOVE_MAX): Define to correct value.
7984         (MAX_MOVE_MAX): Define.
7985         (MOVE_BY_PIECES_P): Define.
7986         (CLEAR_BY_PIECES_P): Define.
7987
7988 2002-09-10  Denis Chertykov  <denisc@overta.ru>
7989
7990         * config/avr/avr.md (movstrhi): Use right operands for conversion.
7991
7992 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
7993
7994         PR c/7873
7995         * arm.md (insv): Use reg_or_int_operand for operand[3].
7996
7997 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
7998
7999         * rs6000.c (rs6000_assemble_visibility): Protect declaration
8000         inside macro.  Correct function definition typo.
8001         (rs6000_xcoff_section_type_flags): New function.
8002         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
8003         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
8004         with appropriate PIC test.
8005         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
8006         determine readonly.
8007         (rs6000_binds_local_p): Combine PIC flags.
8008         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
8009         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
8010
8011 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8012
8013         * h8300.md: Fix signed/unsigned warnings.
8014         * mcore.md: Likewise.
8015         * mn10300.c (mask_ok_for_mem_btst): Likewise.
8016
8017 2002-09-09  Per Bothner  <per@bothner.com>
8018
8019         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
8020         characters, and only print TREE_STRING_LENGTH chars.
8021
8022 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
8023
8024         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
8025         (ASM_FILE_END) New.
8026         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
8027         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
8028         * config/ia64/ia64.c (ia64_asm_output_external): Create list
8029         of external functions if TARGET_HPUX_LD is true.
8030         (ia64_hpux_add_extern_decl): New, routine to put names on
8031         list of external functions.
8032         (ia64_hpux_asm_file_end): Put out declarations for external
8033         functions if and only if they are used.
8034
8035 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8036
8037         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
8038         on TARGET_64BIT before pic register restore.
8039
8040 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
8041
8042         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
8043         (TARGET_HAVE_TLS): New description.
8044
8045 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
8046
8047         * doc/extend.texi (Statement Exprs): Fix broken link.
8048
8049 2002-09-09  Denis Chertykov  <denisc@overta.ru>
8050
8051         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
8052         right conversion of operands[1].
8053
8054 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
8055
8056         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
8057         commutative.  Use "nonimmediate_operand" instead of "register_operand"
8058         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
8059
8060         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
8061         as commutative.
8062
8063         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
8064         mark as commutative.  Use "nonimmediate_operand" instead of
8065         "register_operand" as predicate for operand 1.
8066
8067         ("movstrictsi"): Fix typo in insn name.
8068
8069 2002-09-09  Jan Hubicka  <jh@suse.cz>
8070
8071         * i386.c (index_register_operand): New.
8072         * i386.h (predicate_codes): Add new predicate.
8073         * i386.md (lea_general_*): Use index_register_operand
8074         (ashift to lea splitter): Do not produce invalid leas
8075         (ashift to mov+ashift split): New.
8076
8077 2002-09-09  Nick Clifton  <nickc@redhat.com>
8078
8079         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
8080         Fix folding marks.
8081
8082 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
8083             J"orn Rennecke <joern.rennecke@superh.com>
8084
8085         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
8086
8087 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
8088
8089         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
8090         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
8091         attributes.
8092
8093 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
8094
8095         * basic_block.h (gcov_type): Explain why it is signed.
8096         * final.c: Don't include profile.h.
8097         (struct function_list, functions_head, functions_tail,
8098         end_final): Moved to profile.c
8099         (final): Move arc chaining code to profile.c.
8100         * function.c (prepare_function_start): Remove duplicate line.
8101         * output.h (end_final): Remove prototype.
8102         * predict.c (estimate_loops_at_level): Use gcov_type.
8103         * profile.c (struct function_list, functions_head,
8104         functions_tail): Moved from final.c
8105         (need_func_profiler): Remove.
8106         (instrument_edges): Don't set need_func_profiler.
8107         (get_exec_counts): Avoid signed/unsigned warning.
8108         (compute_checksum): Use crc32.
8109         (branch_prob): Adjust. Chain onto functions_head.
8110         (init_branch_prob): Absorb init_edge_profiler.
8111         (init_edge_profiler): Remove.
8112         (create_profiler): Moved and renamed from final.c:end_final.
8113         Emit data and constructor.
8114         (output_func_start_profiler): Remove.
8115         * profile.h (struct profile_info): checksum is unsigned.
8116         * rtl.h (output_func_start_profiler): Remove prototype.
8117         (create_profiler): Declare.
8118         * toplev.c (compile_file): Call create_profiler, if instrumenting
8119         arcs. Don't call end_final.
8120
8121 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8122
8123         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
8124
8125 2002-09-08  Richard Henderson  <rth@redhat.com>
8126
8127         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
8128         (DW_OP_GNU_push_tls_address): New.
8129         (DW_OP_lo_user): Fix.
8130         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
8131         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
8132         (size_of_loc_descr): Likewise.
8133         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
8134         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
8135         (loc_descriptor_from_tree): Handle TLS variables.
8136         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
8137         (add_location_or_const_value_attribute): ... not here.  Defer
8138         to loc_descriptor_from_tree for TLS variables.
8139
8140         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
8141         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
8142         * config/i386/i386-protos.h: Update.
8143
8144 2002-09-08  Roger Sayle  <roger@eyesopen.com>
8145
8146         PR optimization/6405
8147         * unroll.c (loop_iterations): last_loop_insn should be the previous
8148         non-note instruction before loop->end.
8149         * loop.c (strength_reduce): The conditional jump is the last
8150         non-note instruction before loop->end (as above).
8151
8152 2002-09-08  Roger Sayle  <roger@eyesopen.com>
8153
8154         * combine.c (try_combine): Handle the case that undobuf.other_insn
8155         has been turned into a return or unconditional jump, by inserting
8156         a BARRIER if necessary.
8157         (simplify_set):  Test if a condition code setter has a constant
8158         comparison at compile time, if so convert this insn to a no-op move
8159         and update/simplify the condition code user (undobuf.other_insn).
8160
8161 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
8162
8163         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
8164         (CLEAR_INSN_CACHE): Define.
8165
8166 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8167
8168         * basic-block.h: Fix comment formatting.
8169         * c-common.c: Likewise.
8170         * c-common.h: Likewise.
8171         * c-lex.c: Likewise.
8172         * c-pretty-print.c: Likewise.
8173         * cfglayout.c: Likewise.
8174         * cfgloop.c: Likewise.
8175         * defaults.h: Likewise.
8176         * et-forest.c: Likewise.
8177         * explow.c: Likewise.
8178         * function.h: Likewise.
8179         * gcov.c: Likewise.
8180         * genattrtab.c: Likewise.
8181         * gengtype.c: Likewise.
8182         * ifcvt.c: Likewise.
8183         * libgcc2.c: Likewise.
8184         * loop.c: Likewise.
8185         * profile.c: Likewise.
8186         * ra-build.c: Likewise.
8187         * real.c: Likewise.
8188         * rtl.h: Likewise.
8189         * tracer.c: Likewise.
8190         * tree-inline.c: Likewise.
8191         * varasm.c: Likewise.
8192
8193 2002-09-08  Jan Hubicka  <jh@suse.cz>
8194
8195         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
8196         handling.
8197
8198         * loop.c (loop_givs_reduce):  Emit addition after.
8199
8200 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8201
8202         * varasm.c (default_assemble_visibility): Rename from
8203         assemble_visibility.
8204         * output.h: Here too.
8205         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
8206         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
8207
8208 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8209
8210         * reload.c (find_reloads <p constraint>): Pass operand_mode to
8211         find_reloads_address.
8212
8213 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8214
8215         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
8216         (anonymous pattern): Likewise.
8217
8218 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8219
8220         * machmode.def: Add modes for half-float vectors.
8221
8222 2002-09-07  Scott Snyder  <snyder@fnal.gov>
8223
8224         PR target/7374
8225         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
8226
8227 2002-09-07  Roger Sayle  <roger@eyesopen.com>
8228
8229         * basic-block.h (struct loop): Remove unused cont_dominator field.
8230
8231 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8232
8233         * varasm.c (decode_rtx_const): Don't check undefined field for
8234         CONST_VECTOR.
8235
8236 2002-09-07  Glen Nakamura  <glen@imodulo.com>
8237
8238         PR opt/7814
8239         * sched-deps.c (sched_analyze_insn): Make sure to add insn
8240         to reg_last->sets after flushing the dependency lists to guarantee
8241         that subsequent clobbers will be dependent on it.
8242
8243 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8244
8245         * combine.c (simplify_shift_const): Calculate rotate count
8246         correctly for vector operands.
8247
8248 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
8249
8250         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
8251         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
8252         tree_expr_nonnegative_p.
8253         (build_conditional_expr): Likewise.
8254         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
8255
8256 2002-09-07  Richard Henderson  <rth@redhat.com>
8257
8258         * builtins.def (inf, inff, infl): Mark const.
8259         (huge_val, huge_valf, huge_vall): Likewise.
8260         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
8261
8262         * real.c (ereal_inf): Clear E before use.
8263
8264 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8265
8266         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
8267         an expander and an anonymous pattern.  Zero out the upper half
8268         of the dividend in the expander.
8269         (udivmodqi4): Likewise.
8270
8271 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8272
8273         * config/h8300/h8300.c: Fix formatting.
8274         * config/h8300/h8300.h: Likewise.
8275         * config/h8300/h8300.md: Likewise.
8276
8277 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8278
8279         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
8280         information.
8281
8282 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
8283
8284        * rtlanal.c (dead_or_set_regno_p): Fix typo.
8285
8286 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
8287
8288         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8289
8290         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
8291         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8292         (TARGET_ASM_OUT): Add the above here.
8293         * target.h (struct gcc_target): Add "visibility" field.
8294         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
8295         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
8296         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8297         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
8298
8299 2002-09-06  Ziemowit Laski <zlaski@apple.com>
8300
8301         * c-lang.c (objc_is_id): New stub.
8302         * c-tree.h (objc_is_id): New forward declaration.
8303         * c-typeck.c (build_c_cast): Do not strip protocol
8304         qualifiers from 'id' type.
8305         * objc/objc-act.c (objc_comptypes): Correct handling
8306         of protocol qualifiers.
8307         (objc_is_id): New.
8308
8309 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
8310
8311         * pentium.md (pentium-firstvboth): Fix typo.
8312
8313 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
8314
8315         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
8316         (enum shift_type, enum h8_cpu): Likewise.
8317         (INL, ROT, LOP, SPC macros): Likewise.
8318         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
8319         const designator.
8320         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
8321         space efficient algorithms when optimize for codesize.
8322
8323 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8324
8325         Fix PR/1727 and long-standing failing testcase
8326         objc/formal-protocol-6.m.
8327         * objc-act.c (build_protocol_expr): If compiling for the GNU
8328         runtime, create a list of Protocol statically allocated instances
8329         if it doesn't exist, then add the Protocol object to this same
8330         list.
8331         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
8332         instead of TREE_CHAIN.
8333
8334 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8335
8336         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
8337         10k.  Fixed category dumping - print out category names with the
8338         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
8339         interface.
8340         (finish_objc): Fixed the -gen-decls option.  It was printing out
8341         only the last class.  Dump an interface declaration of all classes
8342         being compiled instead.
8343
8344 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
8345
8346         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
8347         prototype.
8348         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
8349         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
8350         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
8351         rather than GEN_INT.
8352         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
8353         (return_addr_mask, *check_arch2): New.
8354
8355 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
8356
8357         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
8358         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
8359         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
8360         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
8361         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
8362         "adddf3", "*adddf3", "*adddf3_ibm",
8363         "addsf3", "*addsf3", "*addsf3_ibm",
8364         "muldi3", "mulsi3", "mulsidi3",
8365         "muldf3", "*muldf3", "*muldf3_ibm",
8366         "mulsf3", "*mulsf3", "*mulsf3_ibm",
8367         "*anddi3_cc", "*anddi3_cconly", "anddi3",
8368         "*andsi3_cc", "*andsi3_cconly", "andsi3",
8369         "*iordi3_cc", "*iordi3_cconly", "iordi3",
8370         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
8371         "*xordi3_cc", "*xordi3_cconly", "xordi3",
8372         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
8373         instead of "register_operand" as predicate for "%0" operand.
8374
8375 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
8376
8377         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
8378         unconditionally when gcc_cv_as_flags64 checks are gone.
8379         * configure: Rebuilt.
8380
8381 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
8382
8383         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
8384         2002-07-26 change.  Comment.
8385
8386 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8387
8388         * frv.c (frv_unique_section, frv_select_section,
8389         frv_select_rtx_section): Delete.
8390         (frv_in_small_data_p): New.
8391         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
8392         TARGET_ASM_SELECT_RTX_SECTION): Delete.
8393         (TARGET_IN_SMALL_DATA_P): Define.
8394
8395 2002-09-05  Dale Johannesen  <dalej@apple.com>
8396
8397         * reload1.c (reload):  Retain only those memory clobbers
8398         added for variable-array handling.
8399
8400 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8401
8402         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
8403         return-in-memory rules.
8404         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
8405
8406 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8407
8408         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
8409         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
8410
8411 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8412
8413         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
8414         not a compile-time constant for the non-IBM case.
8415         * config/arm/arm-protos.h (arm_float_words_big_endian): New
8416         prototype.
8417         * config/arm/arm.c (arm_float_words_big_endian): New function.
8418         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
8419         if TARGET_VFP  and not TARGET_HARD_FLOAT.
8420         (ARM_FLAG_VFP, TARGET_VFP): Define.
8421         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
8422
8423 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8424
8425         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
8426         URLs.  Fix AIX wording.
8427
8428 2002-09-05  Stan Shebs  <shebs@apple.com>
8429
8430         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
8431         -fPIC equivalent on Darwin.
8432
8433 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8434
8435         * sh.c (sh_expand_builtin): Return early if encountering an
8436         error_mark for a type.
8437
8438 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
8439
8440         * config/s390/s390.c (s390_expand_plus_operand): Do not require
8441         double-word scratch register.
8442         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
8443
8444         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
8445         "*cli"): Replace s_operand by memory_operand.
8446         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
8447
8448 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8449
8450         * config/h8300/h8300.c (asm_file_start): Add a missing
8451         semicolon.
8452
8453 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8454
8455         * c-typeck.c (build_function_call): Remove unused variable(s).
8456         (build_c_cast): Likewise.
8457         * calls.c (rtx_for_function_call): Likewise.
8458         * cfglayout.c (duplicate_insn_chain): Likewise.
8459         * cfgloop.c (flow_loop_nodes_find): Likewise.
8460         * cfgrtl.c (split_edge): Likewise.
8461         * df.c (df_ref_create): Likewise.
8462         * except.c (expand_end_catch): Likewise.
8463         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
8464         * function.c (emit_return_into_block): Likewise.
8465         (reposition_prologue_and_epilogue_notes): Likewise.
8466         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
8467         * combine.c (subst_prev_insn, need_refresh): Remove.
8468         * dwarf2out.c (primary_filename): Remove.
8469         * final.c (new_block): Remove.
8470         * gcse.c (orig_bb_count): Remove.
8471
8472 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8473
8474         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
8475         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
8476         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
8477         directly instead of using a function pointer.
8478
8479 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
8480
8481         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
8482         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
8483         (ix86_output_addr_diff_elt) Likewise.
8484         (x86_output_mi_thunk) Likewise.
8485         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
8486
8487 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8488
8489         * frv.c (frv_encode_section_info): Fix error in last change.
8490
8491 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8492
8493         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
8494         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
8495         (TARGET_BINDS_LOCAL_P): Define.
8496         (rs6000_override_options): Save original flag_pic value.
8497         (rs6000_elf_select_section): Call default_elf_select_section_1.
8498         (rs6000_elf_unique_section): Call default_unique_section_1.
8499         (rs6000_elf_in_small_data_p): New function.
8500         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
8501         (rs6000_xcoff_select_section): Update based on defaults.
8502         (rs6000_xcoff_unique_section): Set to basic name if not common.
8503         (rs6000_binds_local_p): New function.
8504         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8505         targetm.have_srodata_section if SDATA_EABI.
8506         (TARGET_IN_SMALL_DATA_P): Define.
8507
8508 2002-09-04  Dale Johannesen  <dalej@apple.com>
8509
8510         * varasm.c (struct rtx_const, decode_rtx_const):
8511         Make veclo and vechi fields not share storage.
8512
8513 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8514
8515         * loop.c (scan_loop): Don't mark separate insns out of a libcall
8516         for moving.
8517         (move_movables): Abort if we see the first insn of a libcall.
8518
8519 2002-09-04  Richard Henderson  <rth@redhat.com>
8520
8521         * builtin-types.def (BT_FN_FLOAT): New.
8522         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
8523         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
8524         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
8525         * builtins.c (fold_builtin_inf): New.
8526         (fold_builtin): Call it.
8527         * real.c (ereal_inf): New.
8528         * real.h: Declare it.
8529         * doc/extend.texi: Document new builtins.
8530
8531 2002-09-04  Richard Henderson  <rth@redhat.com>
8532
8533         * cse.c (cse_insn): Avoid subreg games if the equivalence
8534         is already in the proper mode.
8535
8536 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
8537
8538         PR c/7102
8539         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
8540
8541 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8542
8543         * pa.md (setccfp0, setccfp1): New patterns.
8544
8545 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8546
8547         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
8548         frv_select_section, frv_select_rtx_section,
8549         frv_encode_section_info, frv_unique_section): Delete.
8550         * frv.c: Update for target hooks.
8551         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
8552         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
8553         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
8554
8555 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8556
8557         * ip2k-protos.h (function_prologue, function_epilogue,
8558         encode_section_info): Update to match target hook specification.
8559         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
8560         (function_prologue, function_epilogue, encode_section_info):
8561         Update to match target hook specification.
8562         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
8563         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
8564         (NOTICE_UPDATE_CC): Cast to void.
8565         * ip2k.md: Add defaults in switch statements.
8566
8567 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8568
8569         * doc/trouble.texi (Interoperation): Update information about C++ ABI
8570         issues.
8571
8572 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
8573
8574         * config/sparc/t-netbsd64: Disable multilib for now.
8575
8576 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8577
8578         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
8579         * target.h (gcc_target): Add have_srodata_section member.
8580         * varasm.c (section_category): Add SECCAT_SRODATA.
8581         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
8582         READONLY_SDATA_SECTION defined.
8583         (decl_readonly_section_1): True for SECCAT_SRODATA also.
8584         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
8585         (default_unique_section_1): Likewise.
8586
8587 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8588
8589         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8590         into DImode pieces.
8591
8592         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8593         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8594         for floating-point register class.
8595         * pa.c (function_arg): Fix handling of modes wider than one word for
8596         TARGET_64BIT.
8597
8598 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8599
8600         * combine.c (make_compound_operation): Don't generate zero / sign
8601         extensions in floating point modes.
8602
8603 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8604
8605         * doc/c-tree.texi: Fix overfull hboxes.
8606         * doc/cppopts.texi: Ditto.
8607         * doc/extend.texi: Ditto.
8608         * doc/gty.texi: Ditto.
8609         * doc/invoke.texi: Ditto.
8610         * doc/makefile.texi: Ditto.
8611         * doc/rtl.texi: Ditto.
8612         * doc/standards.texi: Ditto.
8613         * doc/tm.texi: Ditto.
8614
8615 2002-09-04  Richard Henderson  <rth@redhat.com>
8616
8617         * c-common.c (builtin_define_with_hex_fp_value): New.
8618         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8619
8620 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8621
8622         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8623         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8624         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8625         Warn that these options can break ABI compatibility.
8626
8627 2002-09-04  Richard Henderson  <rth@redhat.com>
8628
8629         * real.c (ereal_to_decimal): Add digits parameter.
8630         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8631         * c-pretty-print.c (pp_c_real_literal): Update call.
8632         * print-rtl.c (print_rtx): Likewise.
8633         * print-tree.c (print_node_brief, print_node): Likewise.
8634         * sched-vis.c (print_value): Likewise.
8635         * config/arc/arc.c (arc_print_operand): Likewise.
8636         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8637         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8638         * config/i386/i386.c (print_operand): Likewise.
8639         * config/i960/i960.c (i960_print_operand): Likewise.
8640         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8641         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8642         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8643         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8644         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8645         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8646         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8647         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8648         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8649         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8650         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8651         * config/mips/mips.c (print_operand): Likewise.
8652         * config/ns32k/ns32k.c (print_operand): Likewise.
8653         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8654         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8655         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8656
8657 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8658
8659         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8660         xtensa_multibss_section_type_flags.
8661         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8662
8663 2002-09-04  Richard Henderson  <rth@redhat.com>
8664
8665         * doc/install-old.texi: Don't mention enquire.
8666         * doc/sourcebuild.texi: Update float.h description.
8667
8668 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8669
8670         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8671
8672 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8673
8674         * builtins.c (build_function_call_expr): Remove prototype, export
8675         as non-static and add a comment above function definition.
8676         (builtin_mathfn_code): New function to check for math builtins.
8677         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8678         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8679         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8680         log(sqrt(x)) as log(x)/2.0.
8681
8682         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8683         in new "builtins.c" section.  Place the build_range_type prototype
8684         with the other prototypes from "tree.c".
8685
8686         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8687         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8688         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8689         x/exp(y) as x*exp(-y).
8690
8691 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8692
8693         * varasm.c (default_section_type_flags): Append _1 to name with
8694         shlib parameter.  Use original name to call new function with
8695         implicit flag_pic.
8696         (decl_readonly_section): Likewise.
8697         (default_elf_select_section): Likewise.
8698         (default_unique_section): Likewise.
8699         (default_bind_local_p): Likewise.
8700         (categorize_decl_for_section): Add shlib parameter to use in place
8701         of implicit flag_pic.
8702         * output.h: Declare new functions with _1 and shlib argument.
8703
8704 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8705
8706         * doc/install.texi: Fix typos, formatting problems, and obvious
8707         overfull/underfull boxes.
8708
8709         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8710         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8711         include its file, compat.texi.
8712         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8713
8714 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8715
8716         Debian BTS Bug #157416
8717         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8718         * cpplib.c (destringize_and_run): Kludge around getting
8719         tokens from in-progress macros.
8720         (_cpp_do__Pragma): Simplify.
8721
8722 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8723
8724         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8725         (CPP_CPU_SPEC): Remove.
8726         (TARGET_CPU_CPP_BUILTINS): New.
8727         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8728         (CPP_SPEC): Remove.
8729         (TARGET_OS_CPP_BUILTINS): New.
8730         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8731         (TARGET_OS_CPP_BUILTINS): New.
8732         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8733         TARGET_OS_CPP_BUILTINS.
8734         (CPP_PREDEFINES): Remove.
8735         (CPLUSPLUS_CPP_SPEC): Remove.
8736         (TARGET_OS_CPP_BUILTINS): New.
8737
8738 2002-09-03  Richard Henderson  <rth@redhat.com>
8739
8740         * Makefile.in (USER_H): Add ginclude/float.h.
8741         (FLOAT_H): Remove.
8742         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8743         (mostlyclean): Don't remove float.h intermediate files.
8744         (distclean): Don't remove float.h.
8745         * config.gcc: Remove all float_format references.
8746         * configure.in (float_format, float_h_file): Remove.
8747
8748         * c-common.c: Include tree-inline.h.
8749         (builtin_define_with_int_value): New.
8750         (builtin_define_type_precision): Use it.
8751         (builtin_define_float_constants): New.
8752         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8753         __FLT_EVAL_METHOD__.
8754         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8755         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8756         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8757         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8758         (TARGET_FLT_EVAL_METHOD): New.
8759
8760         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8761         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8762         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8763         * ginclude/float.h: New.
8764
8765 2002-09-03  Stan Shebs  <shebs@apple.com>
8766
8767         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8768         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8769         (PREFERRED_DEBUGGING_TYPE): Ditto.
8770         (ASM_OUTPUT_IDENT): Remove empty definition.
8771
8772 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8773
8774         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8775         cxx_target.
8776         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8777         handling routine for builtin pragma.
8778         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8779         Registered pragma handling routine.
8780         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8781         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8782         If builtin pragma seen for math routine and C89 conformance is
8783         requested use different math function in order to set errno.
8784         * t-ia64 (ia64-c.o): Add new rule for new file.
8785
8786 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8787
8788         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8789         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8790         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8791
8792         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8793         "*movsf_ss"): Remove.
8794
8795 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8796
8797         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8798         Delete macros.
8799
8800 2002-09-03   Arati Dikey  <aratid@kpit.com>
8801
8802         * h8300.c (asm_file_start): Corrected optimization comment.
8803
8804 2002-09-03  Stan Shebs  <shebs@apple.com>
8805
8806         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8807         * c-tree.h (recognize_objc_keyword): Remove decl.
8808         * c-typeck.c (comp_target_types): Update a comment.
8809
8810 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8811
8812         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8813         and register validity checks.
8814         (general_s_operand): Adapt to s390_decompose_address interface change.
8815         (q_constraint): Likewise.
8816         (s390_expand_plus_operand): Likewise.
8817         (legitimiate_address_p): Likewise.
8818         (legitimate_la_operand_p): Likewise.
8819         (legitimize_la_operand): Likewise.
8820         (print_operand_address): Likewise.
8821         (print_operand): Likewise.
8822
8823 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8824
8825         PR objc/5956:
8826         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8827         was causing the new selector never to match the existing ones
8828         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8829
8830 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8831
8832         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8833
8834 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8835
8836         * expr.c (expand_expr): Remove extraneous comment and code.
8837
8838 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8839
8840         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8841         frontend. Take chain of fields. Allow NULL alignment type.
8842         * tree.h (finish_builtin_struct): Declare.
8843
8844 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8845
8846         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8847         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8848         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8849         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8850         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8851         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8852         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8853         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8854         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8855         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8856         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8857         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8858         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8859         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8860         config/rs6000/linux64.h config/rs6000/lynx.h
8861         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
8862         config/s390/s390.c config/s390/s390.md config/sh/sh.c
8863         config/sparc/sparc.c config/sparc/sysv4.h
8864         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
8865         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
8866         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
8867
8868         * doc/tm.texi: Update docs.
8869         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
8870         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
8871
8872 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8873
8874         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
8875         * arc.c (arc_internal_label): New function.
8876         (TARGET_ASM_INTERNAL_LABEL): Set.
8877         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8878         * arm.c (arm_internal_label): New function.
8879         (TARGET_ASM_INTERNAL_LABEL): Set.
8880         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8881         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8882         * i370.c (i370_internal_label): New function.
8883         (TARGET_ASM_INTERNAL_LABEL): Set.
8884         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8885         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8886         * m68k.c (m68k_hp320_internal_label): New function.
8887         (TARGET_ASM_INTERNAL_LABEL): Set.
8888         * m88k.c (m88k_internal_label): New function.
8889         (TARGET_ASM_INTERNAL_LABEL): Set.
8890         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8891         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
8892         * genoutput.c (output_prologue): Include target.h in output file.
8893         * output.h (default_internal_label): Declare.
8894         * sdbout.c: Include target.h.
8895         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
8896         TARGET_ASM_OUT.
8897         * target.h (internal_label): Add to struct gcc_target.
8898         * varasm.c (default_internal_label): New function.
8899
8900 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8901
8902         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8903         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8904         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8905         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8906         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8907         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8908         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8909         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8910         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8911         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8912         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8913         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8914         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8915         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8916         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8917         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8918         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8919         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8920         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8921         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8922         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8923         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8924         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8925         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8926         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8927         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
8928         * mmix.c (mmix_asm_output_internal_label): Likewise.
8929         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8930         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8931         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8932         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8933         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8934         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8935         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8936         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8937         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8938         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8939         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8940         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8941         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8942         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8943         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8944         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8945         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8946         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8947         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8948
8949         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
8950
8951 2002-08-31  Richard Henderson  <rth@redhat.com>
8952
8953         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
8954
8955 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8956
8957         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
8958
8959 2002-08-30  Richard Henderson  <rth@redhat.com>
8960
8961         PR opt/7515
8962         * c-objc-common.c: Include target.h.
8963         (c_cannot_inline_tree_fn): Don't auto-inline functions that
8964         don't bind locally.  Factor setting DECL_UNINLINABLE.
8965         * Makefile.in (c-objc-common.o): Update.
8966
8967 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
8968
8969         * doc/install.texi (Configuration, Building): Fix a typo and
8970         some formatting directives.
8971
8972 2002-08-30  Paul Koning <pkoning@equallogic.com>
8973
8974         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
8975         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
8976         implemented" note.
8977         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
8978         for alphabetic order.
8979         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
8980         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
8981         (VAX_HALFWORD_ORDER): Document.
8982         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
8983         IEEE float format.
8984         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
8985         (ASM_OUTPUT_LABEL_REF): Fix font.
8986         (CASE_VECTOR_SHORTEN_MODE): Ditto.
8987
8988 2002-08-30  Denis Chertykov  <denisc@overta.ru>
8989
8990         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
8991         stuff.
8992         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
8993         CONST_DOUBLE constants.
8994
8995 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
8996
8997         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
8998         related defines to...
8999         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
9000         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
9001         as a no-op.
9002
9003 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
9004
9005         * config/arm/arm.c (arm_asm_output_labelref): New function.
9006         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
9007         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
9008
9009 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
9010
9011         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
9012         memory exhausted" workarounds.
9013
9014 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9015
9016         * diagnostic.c (fancy_abort): Don't repeat "internal error".
9017         * toplev.c (crash_signal): Likewise.
9018
9019 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9020
9021         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
9022         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
9023         Extended, updated documentation.
9024         (-Wundeclared-selector): Documented.
9025
9026 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
9027
9028         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
9029         the value 1.  Do not undef before defining.
9030         * config/darwin.h: Likewise.
9031         * config/dbx.h: Likewise.
9032         * config/dbxcoff.h: Likewise.
9033         * config/dbxelf.h: Likewise.
9034         * config/elfos.h: Likewise.
9035         * config/interix.h: Likewise.
9036         * config/lynx-ng.h: Likewise.
9037         * config/lynx.h: Likewise.
9038         * config/netware.h: Likewise.
9039         * config/psos.h: Likewise.
9040         * config/svr3.h: Likewise.
9041         * config/alpha/alpha.h: Likewise.
9042         * config/alpha/elf.h: Likewise.
9043         * config/alpha/vms.h: Likewise.
9044         * config/arc/arc.h: Likewise.
9045         * config/arm/aout.h: Likewise.
9046         * config/arm/coff.h: Likewise.
9047         * config/c4x/c4x.h: Likewise.
9048         * config/h8300/h8300.h: Likewise.
9049         * config/i386/cygwin.h: Likewise.
9050         * config/i386/djgpp.h: Likewise.
9051         * config/i386/gas.h: Likewise.
9052         * config/i386/gstabs.h: Likewise.
9053         * config/i386/i386-coff.h: Likewise.
9054         * config/i386/i386-interix.h: Likewise.
9055         * config/i386/sco5.h: Likewise.
9056         * config/i386/svr3dbx.h: Likewise.
9057         * config/i386/sysv3.h: Likewise.
9058         * config/i386/win32.h: Likewise.
9059         * config/i386/x86-64.h: Likewise.
9060         * config/i960/i960.h: Likewise.
9061         * config/ia64/ia64.h: Likewise.
9062         * config/ip2k/ip2k.h: Likewise.
9063         * config/m32r/m32r.h: Likewise.
9064         * config/m68k/3b1.h: Likewise.
9065         * config/m68k/3b1g.h: Likewise.
9066         * config/m68k/ccur-GAS.h: Likewise.
9067         * config/m68k/coff.h: Likewise.
9068         * config/m68k/hp2bsd.h: Likewise.
9069         * config/m68k/hp310g.h: Likewise.
9070         * config/m68k/hp320g.h: Likewise.
9071         * config/m68k/hp3bsd.h: Likewise.
9072         * config/m68k/hp3bsd44.h: Likewise.
9073         * config/m68k/linux-aout.h: Likewise.
9074         * config/m68k/m68k-aout.h: Likewise.
9075         * config/m68k/mot3300.h: Likewise.
9076         * config/m68k/netbsd.h: Likewise.
9077         * config/m68k/openbsd.h: Likewise.
9078         * config/m68k/pbb.h: Likewise.
9079         * config/m68k/plexus.h: Likewise.
9080         * config/m68k/sun2.h: Likewise.
9081         * config/m68k/sun3.h: Likewise.
9082         * config/m68k/tower-as.h: Likewise.
9083         * config/m68k/vxm68k.h: Likewise.
9084         * config/m88k/aout-dbx.h: Likewise.
9085         * config/m88k/m88k-aout.h: Likewise.
9086         * config/mcore/mcore-elf.h: Likewise.
9087         * config/mcore/mcore-pe.h: Likewise.
9088         * config/mips/elf.h: Likewise.
9089         * config/mips/elf64.h: Likewise.
9090         * config/mips/iris5gas.h: Likewise.
9091         * config/mips/iris6.h: Likewise.
9092         * config/mips/mips.h: Likewise.
9093         * config/mips/sni-gas.h: Likewise.
9094         * config/mmix/mmix.h: Likewise.
9095         * config/ns32k/netbsd.h: Likewise.
9096         * config/pa/pa64-hpux.h: Likewise.
9097         * config/romp/romp.h: Likewise.
9098         * config/rs6000/sysv4.h: Likewise.
9099         * config/rs6000/xcoff.h: Likewise.
9100         * config/sh/coff.h: Likewise.
9101         * config/sh/elf.h: Likewise.
9102         * config/sparc/linux64.h: Likewise.
9103         * config/sparc/liteelf.h: Likewise.
9104         * config/sparc/netbsd.h: Likewise.
9105         * config/sparc/openbsd.h: Likewise.
9106         * config/sparc/pbd.h: Likewise.
9107         * config/sparc/sp64-elf.h: Likewise.
9108         * config/sparc/sp86x-elf.h: Likewise.
9109         * config/sparc/sparc.h: Likewise.
9110         * config/vax/vax.h: Likewise.
9111         * config/vax/vaxv.h: Likewise.
9112
9113 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
9114
9115         * h8300.c (shift_alg_hi): Various tweaks to improve performance
9116         of HImode shifts.
9117         (get_shift_alg): Corresponding changes.
9118
9119 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9120
9121         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
9122
9123 2002-08-29  Richard Henderson  <rth@redhat.com>
9124
9125         * expr.h (enum block_op_methods): New.
9126         (emit_block_move): Update prototype.
9127         * expr.c (block_move_libcall_safe_for_call_parm): New.
9128         (emit_block_move_via_loop): New.
9129         (emit_block_move): Use them.  New argument METHOD.
9130         (emit_push_insn): Always respect the given alignment.
9131         (expand_assignment): Update call to emit_block_move.
9132         (store_expr, store_field, expand_expr): Likewise.
9133         * builtins.c (expand_builtin_apply): Likewise.
9134         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
9135         * function.c (expand_function_end): Likewise.
9136         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
9137         * config/sparc/sparc.c (sparc_va_arg): Likewise.
9138         * calls.c (expand_call, emit_library_call_value_1): Likewise.
9139         (save_fixed_argument_area): Use emit_block_move with
9140         BLOCK_OP_CALL_PARM instead of move_by_pieces.
9141         (restore_fixed_argument_area): Likewise.
9142         (store_one_arg): Fix alignment parameter to emit_push_insn.
9143
9144 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9145
9146         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
9147
9148 2002-08-29  Catherine Moore  <clm@redhat.com>
9149
9150         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
9151         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
9152         (PREDICATE_CODES): Include new predicates.
9153         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
9154         (TARGET_SWITCHES):  Add strict-align.
9155         (TARGET_STRICT_ALIGN): New.
9156         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
9157         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9158         Define.
9159         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
9160         v850_muldi3.
9161         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
9162         L_callt_save_r2_r31, L_return_r2_r31,
9163         L_save_all_interrupt): Change addi to add.
9164         (L_save_interrupt, L_return_interrupt): Rework.
9165         (__return_r31):  Correct .size directive.
9166         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
9167         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
9168         New routines.
9169         * config/v850/v850.c (expand_prologue): Call
9170         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
9171         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
9172         (reg_or_int9_operand): New predicate.
9173         (reg_or_const_operand): New routine.
9174         * config/v850/v850.md (return_interrupt): Changed from
9175         restore_interrupt.
9176         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
9177         (callt_save_interrupt): Change save sequence.
9178         (callt_return_interrupt): New.
9179         (save_interrupt): Don't use runtime function for LONG_CALLS
9180         and TARGET_PROLOG_FUNCTION.
9181         (save_all_interrupt): Likewise.
9182         (mulsi3): Use new predicate.
9183         (moviscc): Disallow some combination of constants.
9184         Fix define_split for sasf insns, so that it will not generate bad
9185         code if operand0 and operand5 are the same.
9186         * config/v850/v850-protos.h: Prototype new predicates.
9187
9188 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
9189
9190         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
9191         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
9192
9193 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9194
9195         * c-common.c (builtin_define_type_precision): New function.
9196         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
9197         wchar_t is unsigned in C++.
9198         * doc/cpp.texi (Common Predefined Macros): Document
9199         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
9200         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9201         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9202
9203 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
9204
9205         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
9206         section.  Mention that it is enabled by -Wall.
9207         (-Wall): Mention that there can be language-specific warnings as well.
9208         (-Wctor-dtor-privacy): Mention that it is enabled by default.
9209         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
9210
9211 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
9212
9213         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
9214         if it is ever live.
9215
9216         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
9217         attribute for SHCOMPACT.
9218
9219         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
9220         appropriately.
9221         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
9222         by the ABI.
9223
9224         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
9225
9226 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
9227
9228         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
9229         "MASK_GAS|MASK_ABICALLS".
9230         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
9231         (TARGET_DEFAULT): Remove.
9232         (MACHINE_TYPE): Undefine before defining.
9233         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
9234
9235 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
9236
9237         * c-common.c (warn_abi): New variable.
9238         * c-common.h (warn_abi): Likewise.
9239         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
9240         (c_common_decode_option): Handle it.
9241         * doc/invoke.texi: Document -Wabi.
9242
9243 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9244
9245         * c-common.c (warn_undeclared_selector): New variable.
9246         * c-common.h (warn_undeclared_selector): Idem.
9247         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
9248         to on when -Wundeclared-selector is found.
9249         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
9250         * objc/objc-act.c (build_selector_expr): If
9251         warn_undeclared_selector is set, check that the selector has
9252         already been defined, and emit a warning if not.
9253
9254 2002-08-27  Nick Clifton  <nickc@redhat.com>
9255             Catherine Moore  <clm@redhat.com>
9256             Jim Wilson  <wilson@cygnus.com>
9257
9258         * config.gcc: Add v850e-*-* target.
9259         Add --with-cpu= support for v850.
9260         * config/v850/lib1funcs.asm: Add v850e callt functions.
9261         * config/v850/v850.h: Add support for v850e target.
9262         * config/v850/v850.c: Add functions to support v850e target.
9263         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
9264         * config/v850/v850.md: Add patterns for v850e instructions.
9265         * doc/invoke.texi: Document new v850e command line switches.
9266
9267 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
9268                           Aldy Hernandez <aldyh at redhat dot com>
9269
9270         * doc/tm.texi: Applied numerous fixes to the automaton based
9271         scheduler descrition.
9272
9273 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
9274
9275         * i386.c (classify_argument): Handle variable sized objects.
9276
9277 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
9278
9279         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
9280
9281 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
9282
9283         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
9284
9285 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
9286
9287         * i386.c (classify_argument): Properly compute word size of the analyzed object.
9288
9289 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
9290
9291         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
9292         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
9293         accordingly.
9294         (attribute insn_class): Provide default definitions based on type.
9295         Remove all insn-specific settings.
9296         (various function units): Remove old SH4 scheduling.
9297         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
9298         New attributes.  Set them where appropriate.
9299         (cpu unit FS): Don't define / use.
9300         (F3, load_store): New cpu units.
9301         (F01): New reservation.
9302         (all insn_reservations): Make dependent on sh4 pipeline model.
9303         Fix latencies.
9304         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
9305         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
9306         (mt insn_reservation): Use type mt_group.
9307         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
9308         sh4_fload and sh4_store.
9309         (insn_reservation branch_zero and branch): Replace with sh4_branch.
9310         (insn_reservation branch_far): Replace with sh4_return.
9311         (insn_reservation return_from_exp): Rename to:
9312         (sh4_return_from_exp).  Change to be just d_lock*5.
9313         (insn_reservation lds_to_pr): Rename to:
9314         (sh4_lds_to_pr).  Change to be just d_lock*2.
9315         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
9316         d_lock*2.
9317         (insn_reservation prload_mem): Rename to:
9318         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
9319         (insn_reservation fpscr_store): Rename to:
9320         (fpscr_load).  Change to d_lock,nothing,F1*3.
9321         (insn_reservation fpscr_store_mem): Rename to:
9322         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
9323         (insn_reservation multi): Change to
9324         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
9325         (insn_reservation fp_arith): Change to issue,F01,F2.
9326         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
9327         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
9328         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
9329         (insn_reservation fp_double_cmp): Change to
9330         d_lock,(d_lock+F01),F1+F2,F2.
9331         (insn_reservation dp_div): Change to
9332         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
9333         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
9334         (sh_adjust_cost, SHcompact): Differentiate between different
9335         kinds of dependencies.  Drop factor of ten for superscalar.
9336         Use new instruction types.  Add new exception rules.
9337
9338         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
9339
9340         * sh.md (mperm_w): Add DONE.
9341
9342 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
9343
9344         * longlong.h: Import current PowerPC defintion from GMP-4.1.
9345
9346         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
9347
9348         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
9349
9350 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
9351
9352         * sh.h (MAX_FIXED_MODE_SIZE): Define.
9353
9354 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
9355
9356         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
9357         delimiter.
9358
9359 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9360
9361         * c-common.c (cpp_define_data_format): New function.
9362         (cb_register_builtins): Call it.
9363
9364         * doc/cpp.texi (Common Predefined Macros): Document
9365         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9366         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9367         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
9368         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
9369         __TARGET_USES_VAX_H_FLOAT__.
9370
9371 2002-08-26  Ziemowit Laski <zlaski@apple.com>
9372
9373         * objc/objc-act.c (get_super_receiver): If inside a class method
9374         of a category, cast the receiver to 'id' before accessing the 'isa'
9375         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
9376
9377 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9378
9379         * config/s390/s390-protos.h (s390_function_prologue,
9380         s390_function_epilogue): Remove.
9381         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
9382         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
9383
9384         config/s390/s390.c (s390_machine_dependent_recorg): New function.
9385         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
9386         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
9387         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
9388         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
9389
9390         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
9391         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
9392         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
9393         function is not a leaf function.  Use save_gprs and restore_gprs.
9394         (s390_emit_epilogue): Likewise.
9395         (save_gprs, restore_gprs): New functions.
9396         (struct s390_frame): Remove return_reg_saved_p member.
9397         (save_fprs_p): Remove.
9398         (s390_optimize_prolog): New function.
9399         (s390_legitimate_reload_constant): Remove now unnecessary check.
9400
9401         (s390_function_count): Remove.
9402         (s390_output_symbolic_const): Replace s390_function_count by
9403         current_function_funcdef_no.
9404         (s390_output_constant_pool): Likewise.
9405
9406         (legitimize_pic_address): Use regs_ever_live to track PIC register
9407         instead of current_function_uses_pic_offset_table.
9408         (s390_emit_prologue): Likewise.
9409         config/s390/s390.md ("call", "call_value"): Likewise.
9410
9411 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
9412
9413         * c-opts.c (find_opt): Don't complain about wrong languages
9414         here.  Return exact matches even for wrong language.
9415         (c_common_decode_option): Complain about wrong languages
9416         here.
9417
9418 2002-08-24  Stuart Hastings  <stuart@apple.com>
9419
9420         * function.h (struct function): Add flag
9421         all_throwers_are_sibcalls.
9422         * except.c (set_nothrow_function_flags): Replaces
9423         nothrow_function_p. Set new flag.
9424         * except.h (set_nothrow_function_flags): Replaces
9425         nothrow_function_p.
9426         * dwarf2out.c (struct dw_fde_struct): Add flag
9427         all_throwers_are_sibcalls.
9428         (output_call_frame_info): Test it.
9429         (dwarf2out_begin_prologue) Propagate it from cfun to
9430         dw_fde_struct.
9431         * toplev.c (rest_of_compilation): Update calls to
9432         nothrow_function_p.
9433
9434 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
9435
9436         * ggc-page.c (compute_inverse): Short circuit calculation for
9437         object sizes larger than half a page.
9438
9439 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
9440
9441         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
9442         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
9443         default.
9444         (rs6000_elf_unique_section): Likewise.
9445
9446 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9447
9448         * ns32k.c (ns32k_globalize_label): Delete.
9449         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
9450
9451 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
9452
9453         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
9454         for loading delta with num_insns_constant_wide.  Calculate
9455         delta_low, delta_high without using a conditional.
9456
9457 2002-08-22  Jason Merrill  <jason@redhat.com>
9458
9459         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
9460         * c-common.def: Adjust.
9461         * c-dump.c (c_dump_tree): Adjust.
9462         * c-semantics.c (genrtl_return_stmt): Adjust.
9463         * c-pretty-print.c (pp_c_statement): Adjust.
9464         * tree-inline.c (copy_body_r): Adjust.
9465
9466 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
9467
9468         * ggc-page.c: Avoid division in ggc_set_mark.
9469         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
9470         compute_inverse): New.
9471         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
9472         (init_ggc): Initialize inverse_table.
9473
9474 2002-08-22  Tom Tromey  <tromey@redhat.com>
9475
9476         * doc/install.texi (Configuration): Document --datadir.
9477
9478 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
9479
9480         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
9481
9482 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
9483
9484         * gengtype-lex.l (ID): Allow underscore as first character.
9485
9486 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
9487
9488         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
9489         function.
9490         (rs6000_xcoff_asm_named_section): Rename.
9491         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9492
9493 2002-08-21  Tom Tromey  <tromey@redhat.com>
9494
9495         For PR java/6005 and PR java/7611:
9496         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
9497         (fold): Likewise.
9498         * langhooks.c (lhd_can_use_bit_fields_p): New function.
9499         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
9500         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
9501         (LANG_HOOKS_INITIALIZER): Use it.
9502         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
9503         field.
9504
9505 2002-08-21  Stan Shebs  <shebs@apple.com>
9506
9507         * tree.c (finish_vector_type): Fix a typo in a comment.
9508         * Makefile.in: Fix "the the" stutters in comments.
9509         * genautomata.c: Ditto.
9510         * ifcvt.c: Ditto.
9511         * regrename.c: Ditto.
9512         * config/alpha/alpha.c: Ditto.
9513         * config/alpha/vms-crt0-64.c: Ditto.
9514         * config/alpha/vms-crt0.c: Ditto.
9515         * config/alpha/vms-psxcrt0-64.c: Ditto.
9516         * config/alpha/vms-psxcrt0.c: Ditto.
9517         * config/d30v/d30v.h: Ditto.
9518         * config/fr30/fr30.h: Ditto.
9519         * config/rs6000/rs6000.c: Ditto.
9520         * config/stormy16/stormy16.h: Ditto.
9521         * doc/md.texi: Ditto.
9522
9523 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9524
9525         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
9526
9527 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
9528
9529         * c-decl.c (grokdeclarator): Make invalid combinations with long,
9530         short, signed or unsigned into hard errors.  Fixes PR c/4319.
9531         Also make duplicate modifiers such as "short short" into hard
9532         errors.
9533
9534 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
9535             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9536
9537         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
9538         to the actual end.  Add '@end table' and '@table @code'.
9539
9540 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
9541
9542         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
9543
9544         * unroll.c (biv_total_increment): Don't try to compute the total
9545         increment for FP BIVs.
9546
9547 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9548
9549         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
9550         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
9551         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9552         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
9553         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
9554         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
9555         (GLOBAL_ASM_OP): Define.
9556         * arm.c (aof_globalize_label): New function.
9557         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
9558         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9559         * c4x.c (c4x_globalize_label): New function.
9560         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
9561         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
9562         (GLOBAL_ASM_OP): Define.
9563         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9564         * darwin-protos.h (darwin_globalize_label): Declare.
9565         * darwin.c (darwin_globalize_label): New function.
9566         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
9567         (ASM_GLOBALIZE_LABEL): Delete.
9568         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
9569         * dsp16xx.c (asm_output_common): Use target hook.
9570         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9571         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
9572         (GLOBAL_ASM_OP): Define.
9573         * i370.c (i370_globalize_label): New function.
9574         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
9575         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
9576         * i386.c (ix86_asm_file_end): Use target hook.
9577         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
9578         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9579         * ia64.c (ia64_asm_output_external): Likewise.
9580         * ia64/sysv4.h: Update comment.
9581         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9582         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9583         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
9584         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9585         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
9586         * mmix-protos.h (mmix_asm_globalize_label): Delete.
9587         * mmix.c (mmix_asm_globalize_label): Likewise.
9588         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9589         (GLOBAL_ASM_OP): Define.
9590         * ns32k.c (ns32k_globalize_label): New function.
9591         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9592         (ASM_GLOBALIZE_LABEL): Delete.
9593         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9594         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9595         * pa.c (pa_globalize_label): New function.
9596         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9597         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9598         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9599         (GLOBAL_ASM_OP): Define.
9600         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9601         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9602         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9603         (GLOBAL_ASM_OP): Define.
9604         * v850.c (v850_output_aligned_bss): Use target hook.
9605         * vax.c (vms_globalize_label): New function.
9606         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9607         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9608         (GLOBAL_ASM_OP): Define.
9609         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9610         * doc/tm.texi: Update docs.
9611         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9612         target hook.
9613         * final.c (output_alternate_entry_point): Likewise.
9614         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9615         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9616         * output.h (assemble_global): Delete.
9617         (default_globalize_label): Declare.
9618         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9619         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9620         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9621         * target.h (gcc_target): Add globalize_label member.
9622         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9623         globalize_decl): Use target hook.
9624         (assemble_global): Delete.
9625         (default_globalize_label): New function.
9626
9627 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9628
9629         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9630
9631 2002-08-20  Devang Patel  <dpatel@apple.com>
9632         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9633
9634 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9635
9636         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9637         * arm.c (thumb_output_function_prologue): Likewise.
9638         * avr.c (print_operand): Likewise.
9639         * c4x.c (c4x_print_operand): Likewise.
9640         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9641         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9642         * cris.c (cris_target_asm_function_prologue,
9643         cris_asm_output_mi_thunk): Likewise.
9644         * h8300.c (print_operand): Likewise.
9645         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9646         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9647         * m68hc11.c (asm_print_register, print_operand,
9648         print_operand_address): Use stdio instead of asm_fprintf.
9649         (print_operand_address): Fix format specifier.
9650         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9651         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9652         asm_fprintf.
9653         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9654         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9655         * m68k.c (m68k_output_function_prologue,
9656         m68k_output_function_epilogue, print_operand): Likewise.
9657         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9658         Likewise.  Fix format specifier.
9659         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9660         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9661         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9662
9663 2002-08-15  Eric Christopher  <echristo@redhat.com>
9664             Jeff Knaggs  <jknaggs@redhat.com>
9665
9666         * config.gcc (mipsisa64sr71k-elf): New target.
9667         * config/mips/sr71k.md: New file.
9668         * config/mips/mips.md: Use it.
9669         (rot*): Add sr71k specifics.
9670         * config/mips/t-sr71k: New file.
9671         * config/mips/mips.h (sr71k): New cpu.
9672         (TARGET_SR71K): Use it.
9673         (TUNE_SR71K): Ditto.
9674         (GENERATE_BRANCHLIKELY): Ditto.
9675         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9676         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9677         * config/mips/mips.c (sr71k): New cpu.
9678         (mips_use_dfa_pipeline_interface): Use.
9679
9680 2002-08-15  Eric Christopher  <echristo@redhat.com>
9681             Richard Sandiford <rsandifo@redhat.com>
9682             Aldy Hernandez  <aldyh@redhat.com>
9683             Graham Stott    <grahams@redhat.com>
9684             Michael Meissner  <meissner@redhat.com>
9685             Gavin Romig-Koch  <gavin@redhat.com>
9686             Ken Raeburn  <raeburn@cygnus.com>
9687             Alexandre Oliva <aoliva@redhat.com>
9688
9689         * config.gcc (mips64vr-elf): New target.
9690         * config/mips/5400.md: New file.
9691         * config/mips/5500.md: Ditto.
9692         * config/mips/mips.md: Use them.
9693         (frsqrt): New.
9694         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9695         cpus.
9696         (mips_issue_rate): Use them.
9697         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9698         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9699         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9700         cpus.
9701         (TARGET_MIPSx): Use them.
9702         (TUNE_MIPSx): Ditto.
9703         (GETNATE_MULT3_SI): Ditto.
9704         (ISA_HAS_BRANCHLIKELY): Ditto.
9705         (ISA_HAS_CONDMOVE): Ditto.
9706         (ISA_HAS_NMADD_NMSUB): Ditto.
9707         (ISA_HAS_MULHI): New. Ditto.
9708         (ISA_HAS_MULS): Ditto.
9709         (ISA_HAS_MSAC): Ditto.
9710         (ISA_HAS_MACC): Ditto.
9711         (ISA_HAS_ROTR_SI): Ditto.
9712         (ISA_HAS_ROTR_DI): Ditto.
9713         (RTX_COSTS): Use.
9714
9715 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9716
9717         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9718         at head.
9719         (remove_dup_nonsys_dirs): New function.
9720         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9721         (merge_include_chains): Remove non-system include directories from
9722         quote and bracket include chains when they duplicate equivalent system
9723         directories.
9724         * doc/cpp.texi (-I): Update.
9725         * doc/cppopts.texi (-I): Update.
9726         * doc/install.texi (--with-local-prefix): Further document usage of
9727         this option.
9728         * doc/invoke.texi (-I): Update.
9729
9730 2002-08-20  Richard Henderson  <rth@redhat.com>
9731
9732         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9733         (emit_block_move): Split out subroutines.
9734         (emit_block_move_via_movstr): New.
9735         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9736         (emit_block_move_libcall_fn): New.  Construct function prototype for
9737         bcopy as well.
9738         (clear_storage): Split out subroutines.
9739         (clear_storage_via_clrstr): New.
9740         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9741         (clear_storage_libcall_fn): New.  Construct function prototype for
9742         bzero as well.
9743         (emit_push_insn): Use emit_block_move.
9744         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9745         (store_constructor): Likewise.
9746
9747 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9748
9749         * objc/objc-act.c (building_objc_message_expr): Rename to
9750         current_objc_message_selector.
9751
9752 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9753
9754         * objc/objc-act.c (build_ivar_chain): Remove.
9755         (objc_copy_list): Likewise.
9756         (get_class_ivars): Inline call to removed build_ivar_chain
9757         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9758         slot; use that slot (rather than CLASS_IVARS) when accessing
9759         ivars for base classes.  Call copy_list and chainon instead of
9760         objc_copy_list.
9761         (build_private_template): Call get_class_ivars instead of
9762         build_ivar_chain.
9763         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9764         (continue_class): Call get_class_ivars instead of
9765         build_ivar_chain.
9766         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9767         of DECL_BIT_FIELD (which may have been cleared).
9768         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9769
9770 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9771
9772         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9773         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9774         in output file.
9775         (output_internal_min_issue_delay_func): Initialize variable in
9776         output file.
9777
9778 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9779
9780         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9781         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9782
9783 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9784             Steve Ellcey  <sje@cup.hp.com>
9785
9786         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9787         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9788         * explow.c (trunc_int_for_mode): Abort when the mode is not
9789         a scaler integer mode.
9790         * combine.c (expand_compound_operation): Don't expand Vector
9791         or Complex modes into shifts.
9792         (expand_field_assignment): Don't do bitwise arithmatic and
9793         shifts on Vector or Complex modes.
9794         (simplify_comparison): Don't call trunc_int_for_mode
9795         for VOIDmode.
9796         * recog.c (general_operand): Likewise.
9797         (immediate_operand): Likewise.
9798         (nonmemory_operand): Likewise.
9799
9800 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9801
9802         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9803         multi-instruction SImode constant.  Add REG_EQUAL note.
9804         * config/rs6000/rs6000.md (movsi splitter): Use
9805         rs6000_emit_set_const.
9806
9807 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9808
9809         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9810         the macro test controlling its use.
9811
9812 2002-08-18  H.J. Lu  (hjl@gnu.org)
9813
9814         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9815         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9816         gnu_ld=yes.
9817         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9818         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9819         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9820         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9821         here.
9822         (cris-*-linux*): Remove setting thread_file here.
9823
9824 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9825
9826         PR preprocessor/7602
9827         * cppinit.c (path_include): Treat the system environment
9828         variables as being cxx_aware.
9829
9830 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9831
9832         * c-decl.c (flexible_array_type_p): New function.
9833         (grokdeclarator, finish_struct): Use it.
9834         * doc/extend.texi: Document constraints on use of structures with
9835         flexible array members.
9836
9837 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9838
9839         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9840         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9841         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9842
9843 2002-08-16  Stan Shebs  <shebs@apple.com>
9844
9845         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9846         for ObjC with -fnext-runtime.
9847         * doc/cpp.texi: Document it.
9848
9849 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9850
9851         * doc/install.texi (Final installation): Replace links to individual
9852         build status pages with a link to a common page that lists them all.
9853
9854 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9855
9856         * doc/invoke.texi: Fix typo.
9857
9858 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9859
9860         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
9861
9862 2002-08-16  Andrew Haley  <aph@redhat.com>
9863
9864         * tree-inline.c: Add includes for Java inliner.
9865         (remap_decl): Don't handle anonymous types for Java.
9866         (remap_block): Add handling for Java trees.
9867         (copy_scope_stmt): Conditionalize for non-Java use only.
9868         (copy_body_r): Handle Java trees.  Add handling for
9869         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
9870         (initialize_inlined_parameters):  Handle Java trees.
9871         (declare_return_variable): Likewise.
9872         (expand_call_inline): Handle Java trees.
9873         (walk_tree): Likewise.
9874         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
9875         (add_stmt_to_compound): New function.
9876
9877 2002-08-15  Richard Henderson  <rth@redhat.com>
9878
9879         * Makefile.in (LOOSE_WARN): Remove -fno-common.
9880         (NOCOMMON_FLAG): New substitution point.
9881         (GCC_WARN_CFLAGS): Include it.
9882         * configure.in (ac_checking): Set nocommon_flag.
9883         (nocommon_flag): New substitution point.
9884
9885 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9886
9887         * c-tree.h (skip_evaluation): Move declaration...
9888         * c-common.h: ... here.
9889         * c-typeck.c (build_external_ref): Don't assemble_external nor
9890         mark a tree as used if skip_evaluation is set.
9891         * c-parse.in (typeof): New non-terminal to set skip_evaluation
9892         around TYPEOF.
9893         (typespec_nonreserved_nonattr): Use it.
9894
9895 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
9896
9897         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
9898         (xcoff_debug_hooks): Update end_prologue.
9899         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
9900         * debug.h (end_prologue): Add file arg.
9901         (end_epilogue): Add line and file args.
9902         (dwarf2out_end_epilogue): Add line and file args.
9903         (vmsdbgout_after_prologue): Remove.
9904         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
9905         (dwarf2_debug_hooks): Update end_prologue.
9906         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
9907         (dwarfout_end_prologue): Add file arg.
9908         * final.c (vmsdbgout_after_prologue): Remove
9909         (final_end_function): Update end_epilogue call.
9910         (final_scan_insn): Update end_prologue call.
9911         * sdbout.c (sdbout_end_epilogue): Add line and file args.
9912         (sdbout_end_prologue): Add file arg.
9913         (sdb_debug_hooks): Update end_prologue.
9914         (sdb_begin_prologue): Update sdbout_end_prologue call.
9915         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
9916         vmsdbgout_end_function.
9917         (vmsdbgout_end_prologue): New function renamed from
9918         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
9919         (vmsdbgout_end_function): New function.
9920         (vmsdbgout_end_epilogue): Add line and file args. Call
9921         vmsdbgout_source_line.
9922         (write_pclines): Write only valid line numbers.
9923         (write_srccorr): Don't write source correlation records if 0 lines.
9924         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
9925
9926 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
9927
9928         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
9929         (_Unwind_Internal_Ptr): 32 bit version for use in
9930         read_encoded_value_with_base.
9931         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
9932         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
9933         right size.
9934
9935 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9936
9937         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
9938         signed/unsigned warnings.
9939
9940         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
9941         record_reg_classes): Likewise.
9942
9943         * reload.c (reload_inner_reg_of_subreg, push_reload,
9944         find_reloads_address_1): Likewise.
9945
9946 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
9947
9948         * rs6000.c (output_mi_thunk): Return to function section on
9949         TARGET_ELF.
9950
9951         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
9952
9953 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9954
9955         * config/s390/s390.c (legitimize_address): Optimize loading
9956         of large displacements.
9957
9958 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
9959
9960         * config/alpha/alpha-protos.h: Update.
9961
9962         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
9963         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
9964         (alpha_linkage_symbol_p): New static function.
9965         (print_operand_address): Print linkage operand.
9966
9967         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
9968         variables.
9969         (reloc_kind): New enum.
9970         (struct alpha_funcs): New struct.
9971         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
9972
9973         (alpha_need_linkage): Rewrite.
9974         (alpha_use_linkage): New global function.
9975         (alpha_write_linkage): Rewrite and make static.
9976         (alpha_write_one_linkage): Rewrite
9977
9978         (alpha_start_function): Remove procedure descriptor output.
9979         (alpha_end_function): Write linkages at end of each function.
9980
9981         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
9982         (call_vms_1, call_value_vms_1): Rewrite.
9983
9984         * config/alpha/vms.h (ASM_FILE_END): Remove.
9985
9986 2002-08-14  Richard Henderson  <rth@redhat.com>
9987
9988         * ggc-page.c (RTL_SIZE): New.
9989         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
9990         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
9991
9992 2002-08-14  Richard Henderson  <rth@redhat.com>
9993
9994         * calls.c: Include target.h.
9995         * Makefile.in (calls.o): Update.
9996
9997         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
9998         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
9999
10000 2002-08-14  Richard Henderson  <rth@redhat.com>
10001
10002         * Makefile.in (LOOSE_WARN): Add -fno-common.
10003         * c-common.h (constant_string_class_name): Add missing extern.
10004
10005 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
10006
10007         PR preprocessor/7358
10008         * c-opts.c (check_deps_environment_vars): Ignore main file
10009         for SUNPRO_DEPENDENCIES.
10010         * cppfiles.c (stack_include_file): Ignore main file if
10011         appropriate.
10012         * cpplib.h (struct cpp_options): New member in deps.
10013         * doc/cppenv.texi: Update.
10014
10015 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10016
10017         PR preprocessor/7526
10018         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
10019
10020 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
10021
10022         * doc/invoke.texi (-a): Remove documentation.
10023         (-fprofile-arcs): Remove reference to -a, -ax options.
10024         * doc/gcov.texi (Gcov Data Files): Data might be merged.
10025
10026 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10027
10028         Fix PR/7566
10029         * c-semantics.c (genrtl_case_label): Don't (mis)use
10030         warning_with_decl.
10031
10032 2002-08-14  Dale Johannesen  <dalej@apple.com>
10033
10034         * explow.c (emit_stack_restore):  Emit memory clobbers
10035         preceding the stack pop, to prevent the scheduler from
10036         moving refs to variable arrays below this pop.
10037         * reload1.c (reload):  Preserve these clobbers for sched2.
10038         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
10039
10040 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10041
10042         * c-opts.c (c_common_post_options): Correct test.
10043
10044 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10045
10046         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
10047         order in call to fprintf.
10048
10049 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10050
10051         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
10052
10053 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
10054
10055         * reload.c (find_reloads): Handle constraint letters marked by
10056         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
10057         (alternative_allows_memconst): Likewise.
10058         * reload1.c (maybe_fix_stack_asms): Likewise.
10059         * recog.c (asm_operand_ok, preprocess_constraints,
10060         constrain_operands): Likewise.
10061         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
10062         * local-alloc.c (block_alloc, requires_inout): Likewise.
10063         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
10064
10065         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
10066         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
10067         * doc/tm.texi: Document these two new target macros.
10068
10069         * config/s390/s390.c (s390_expand_plus_operand): Accept already
10070         valid operands.
10071         (q_constraint): New function.
10072         config/s390/s390-protos.h (q_constraint): Declare it.
10073         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
10074         (EXTRA_MEMORY_CONSTRAINT): New macro.
10075
10076         * config/s390/s390.md: Throughout the machine description,
10077         replace all instances of the constraint combinations 'Qo'
10078         or 'oQ' with simply 'Q'.
10079
10080 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10081
10082         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
10083         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
10084         (LIBGCC2_CFLAGS): Compile with -mrelax.
10085
10086 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10087
10088         * doc/invoke.texi: Document -minmax for 68HC12.
10089
10090         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
10091         ("uminqi3"): Likewise.
10092         ("uminhi3", "umaxhi3"): Likewise.
10093
10094         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
10095         (TARGET_MIN_MAX): Define.
10096         (TARGET_SWITCHES): New option -minmax/-mnominmax.
10097
10098 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10099
10100         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
10101         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
10102
10103         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
10104         (ret, declare, farsym): New gas macros.
10105         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
10106         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
10107         and declare the symbol far when compiled with -mlong-calls.
10108         (__far_trampoline): New for 68HC12 trampoline code to invoke a
10109         far handler using jsr/bsr.
10110
10111         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
10112         (jsr): New macro to transform a 'jsr' into a 'call'.
10113
10114 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10115
10116         * doc/invoke.texi: Document -mlong-calls for 68HC12.
10117
10118         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
10119         -mlong-calls is specified.
10120         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
10121         assembler directives.
10122         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
10123         (TARGET_SWITCHES): Add -mlong-calls options.
10124         (current_function_far): Declare.
10125
10126         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
10127         into account the page register saved on the stack.
10128         (m68hc11_override_options): Take into account -mlong-calls option.
10129         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
10130
10131         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
10132         if the function is going to be in 68HC12 banked memory (-mlong-calls).
10133         ("*return_16bit"): Likewise.
10134         ("*return_void"): Likewise.
10135         ("call", "call_value"): Use call for a far function call.
10136
10137 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10138
10139         * toplev.c (parse_options_and_default_flags): Don't call
10140         post_options here.
10141         (general_init): Initialize GC, pools and tree hash here,
10142         instead of lang_independent_init.
10143         (lang_independent_init): Rename backend_init.
10144         (do_compile): Call post_options hook; exit early if there
10145         have been errors after switch processing.
10146         (toplev_main): Update.
10147
10148 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10149
10150         * c-pretty-print.h: Guard against multiple inclusion.
10151         Robustify macros.
10152         (pp_c_attributes): Declare.
10153         * c-pretty-print.c (pp_c_attributes): New function.
10154
10155 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10156
10157         * m68k.c (m68k_output_function_prologue,
10158         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
10159         and NEWS/MOTOROLA.
10160         * genattrtab.c: Remove dpx2 comment.
10161         * libgcc2.c (__enable_execute_stack): Delete versions for
10162         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
10163         sony_news/SYSTYPE_BSD.
10164         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
10165         __gmicro__, __i860__, __NeXT__ and __pyr__.
10166         * rtl.h: Remove convex comment.
10167         * varasm.c: Likewise.
10168
10169 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10170
10171         * c-opts.c (lang_flags): Const-ify.
10172         * ra-build.c (undef_table): Likewise.
10173         * ra.c (eliminables): Likewise.
10174
10175 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10176
10177         * tree.h: Guard against multiple inclusion.
10178
10179 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
10180
10181         * reload1.c (reload_cse_simplify): Before checking
10182         REG_FUNCTION_VALUE_P, check REG_P.
10183
10184 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
10185
10186         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
10187
10188 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10189
10190         * c-opts.c (c_common_init_options): Extra braces needed.
10191
10192 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
10193
10194         * sh.c (sh_init_builtins): Add PARAMS to declaration.
10195         (sh_media_init_builtins, sh_expand_builtin): Likewise.
10196         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
10197         (sh_expand_binop_v2sf): Likewise.
10198         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
10199         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
10200         (sh_initialize_trampoline): Likewise.
10201
10202 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
10203
10204         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
10205         new condition code modes.
10206         s390.c (s390_match_ccmode_set): Handle those new CC modes.
10207         (s390_select_ccmode): Likewise.
10208         (s390_branch_condition_mask): Likewise.
10209
10210         * s390-protos.h (s390_tm_ccmode): Declare.
10211         s390.c (s390_tm_ccmode): New function.
10212         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
10213
10214         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
10215         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
10216         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
10217
10218         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
10219         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
10220         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
10221         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
10222         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
10223
10224         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
10225         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
10226         "*cmpqi_ccs_0"): Remove, replace by ...
10227         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
10228         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
10229         "*tstqi", "*tstqi_cconly"): ... these new patterns.
10230
10231         ("*cmpsidi_ccs"): Remove, replace by ...
10232         ("*cmpsi_ccs_sign"): ... this new pattern.
10233         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
10234
10235         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
10236         ("*cli"): ... this new pattern.
10237
10238         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
10239         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
10240         New patterns.
10241         ("adddi3_64"): Rename to "*adddi3_64".
10242         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
10243         ("adddi3"): Adapt expander.
10244
10245         ("*addsi3_cc"): Allow "general_operand" for operand 2.
10246         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10247         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
10248
10249         ("addhi3", "addqi3"): Remove, replace by ...
10250         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
10251
10252         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
10253         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
10254         ("subdi3"): Replace by insn and splitter "*subdi3_31".
10255         ("subdi3"): New expander.
10256
10257         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
10258
10259         ("subhi3", "subqi3"): Remove, replace by ...
10260         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
10261
10262         ("*muldi3_sign"): New pattern.
10263         ("muldi3"): Do not clobber CC.
10264         ("mulsi3"): Likewise.
10265         ("mulsi_6432"): Likewise.
10266
10267 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10268
10269         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
10270         which can change CC0.
10271
10272 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
10273
10274         * gcse.c (adjust_libcall_notes): New function.
10275         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
10276
10277 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
10278
10279         * libgcc2.c (L_bb): Remove unneeded #includes.
10280         (__global_counters, __gthreads_active): Remove unused globals.
10281         (__bb_exit_func): Merge counts into files rather than appending.
10282         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
10283         (ALL_CFLAGS): ... to here.
10284
10285 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10286
10287         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
10288         (function_epilogue): Don't calculate function size.
10289         (ip2k_set_compare): Don't use lookup_const_double.
10290         (asm_file_start): Initialization of commands_in_file removed.
10291         (asm_file_end): Output of commands_in_file removed.
10292
10293         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
10294         __INT_MAX__.
10295
10296 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10297
10298         * c-opts.c (c_common_init_options): Check option array is
10299         sorted if checking enabled.
10300
10301 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
10302
10303         * c-pretty-print.c: #include "c-tree.h".
10304         (pp_c_simple_type_specifier): Tweak.
10305         (pp_c_storage_class_specifier): New.
10306         (pp_c_function_specifier): Likewise.
10307         (pp_c_declaration_specifiers): Likewise.
10308         (pp_c_init_declarator): Likewise.
10309         (pp_c_declaration): Likewise.
10310         (pp_c_direct_declarator): Stub.
10311         (pp_c_declarator): Likewise.
10312         (pp_c_parameter_declaration): Likewise.
10313
10314 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10315
10316         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
10317         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
10318         struct deferred_opt): New.
10319         (COMMAND_LINE_OPTIONS): Add -M*.
10320         (missing_arg): Update.
10321         (c_common_decode_option): Handle -M*.
10322         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
10323         don't call cpp_post_options.
10324         (c_common_finish, check_deps_environment_vars): Update.
10325         * cppfiles.c (stack_include_file, handle_missing_header): Update.
10326         * cpphash.h (CPP_PRINT_DEPS): Remove.
10327         * cppinit.c: Don't include version.h.
10328         (cpp_create_reader): Don't call deps_init.  Initialize
10329         warn_long_long.
10330         (cpp_read_main_file): Init deps if necessary.
10331         (cpp_destroy): Conditionally free deps.
10332         (cpp_finish): Update.
10333         (no_tgt): Remove.
10334         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
10335         (cpp_post_options): Rename post_options.
10336         * cpplib.h (struct cpp_options): Remove some dependency options;
10337         move others to a new structure.
10338         (cpp_post_options): Remove.
10339         (cpp_finish): Comment.
10340         * fix-header.c (read_scan_file): Don't call cpp_post_options.
10341
10342 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10343
10344         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
10345         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
10346         MMIX_rR_REGNUM as clobbered.
10347         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
10348
10349 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
10350
10351         * diagnostic.h (output_formatted_scalar): Rename from
10352         output_formatted_integer.
10353         * diagnostic.def: Add DK_DEBUG.
10354         * diagnostic.c (output_decimal): Adjust.
10355         (output_long_decimal): Likewise.
10356         (output_unsigned_decimal): Likewise.
10357         (output_octal): Likewise.
10358         (output_long_octal): Likewise.
10359         (output_hexadecimal): Likewise.
10360         (output_long_hexadecimal): Likewise.
10361         * c-pretty-print.c (pp_c_type_specifier): New function.
10362         (pp_c_specifier_qualifier_list): Likewise.
10363         (pp_c_abstract_declarator): Likewise.
10364         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
10365
10366 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
10367
10368         * doc/trouble.texi (Disappointments): Add static constructor and
10369         destructor dependency information for AIX.
10370
10371 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10372
10373         * cpphash.h (struct printer): New from cppmain.c.
10374         (cpp_reader): New member.
10375         * cppmain.c (struct printer): Move to cpphash.h.
10376         (options, print): Remove.
10377         (account_for_newlines, print_line, maybe_print_line,
10378         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
10379         scan_translation_unit_trad, cb_line_change, cb_ident,
10380         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
10381         cb_def_pragma): Make reentrant.
10382
10383 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10384
10385         * real.c (ieee_64): Always define.
10386         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10387         (dec_h): Not used yet, hide it.
10388         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
10389         macro controlling use.
10390         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10391
10392 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10393
10394         * i386.md (tablejump): Sign extend the operand.
10395         * i386.c (classify_argument): Fix missed case from previous patch.
10396
10397 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10398
10399         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
10400         to c-copts.c.
10401         (warn_multichar): Die.
10402         (cb_register_builtins): Export.
10403         * c-common.h (warn_multichar, preprocess_file): Remove.
10404         (cb_register_builtins): New.
10405         * c-lang.c (c_init): Remove.
10406         (LANG_HOOKS_INIT): Use c_objc_common_init.
10407         * c-lex.c (init_c_lex): Don't canonicalize filename.
10408         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
10409         (preprocess_file): Make static.  Update for cpplib.
10410         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
10411         (c_common_post_options): Set some cpp options here.
10412         (c_common_init): Move from c-common.c.
10413         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
10414         * cpplib.h (struct cpp_options): Remove in_fname.
10415         (cpp_preprocess_file): Update.
10416         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
10417
10418 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10419
10420         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
10421
10422 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10423
10424         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
10425         backslash in comment preceeding macro definition.
10426         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
10427         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
10428         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
10429
10430 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10431
10432         * expr.c (store_expr): In condition for checking if value is
10433         generated in TARGET, move call to expr_size last.
10434
10435 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10436
10437         * c-common.c (c_common_init): Call preprocess_file instead.
10438         (c_common_finish): Move to c-opts.c.
10439         * c-common.h (preprocess_file): new.
10440         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
10441         check_deps_environment_vars, c_common_finish): New.
10442         (c_common_decode_option): Update for out_fname and dependencies.
10443         * cppinit.c (init_dependency_output, output_deps): Remove.
10444         (cpp_destroy): Update prototype.
10445         (cpp_add_dependency_target): New.
10446         (cpp_read_main_file): Don't overlay a buffer.
10447         (cpp_finish): Take a deps output stream and write deps to it.
10448         Return the error count.
10449         (cpp_post_options): Don't canonicalize out_fname, or do anything
10450         with dependencies.
10451         * cpplib.h (struct cpp_options): Remove out_fname and
10452         preprocess_only.
10453         (cpp_add_dependency_target): New.
10454         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
10455         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
10456         set preprocess_only.  Don't handle the output stream directly.
10457
10458 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10459
10460         * dsp16xx.c (print_operand): Fix format specifier.
10461         * dsp16xx.md: Avoid automatic aggregate initialization.
10462         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
10463         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
10464         integer constant modifier.
10465         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
10466         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
10467         guards.
10468         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
10469         * v850.c (v850_select_section): Mark parameter with
10470         ATTRIBUTE_UNUSED.
10471         * global.c (global_alloc): Const-ify.
10472         * ra-colorize.c (hardregset_to_string): Fix format specifier.
10473
10474 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10475
10476         * darwin-c.c (darwin_pragma_options): Const-ify.
10477         * darwin.c (machopic_non_lazy_ptr_name,
10478         machopic_validate_stub_or_non_lazy_ptr): Likewise.
10479         (machopic_indirect_data_reference): Wrap variables in macros
10480         controlling their use.
10481         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
10482         (machopic_select_section): Use parentheses around && within ||.
10483         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
10484
10485 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10486
10487         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
10488         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
10489         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
10490         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
10491         mdr_try_remove_redundant_insns, track_w_reload,
10492         mdr_try_wreg_elim): Make function static to match prototype.
10493         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
10494         parameter with ATTRIBUTE_UNUSED.
10495
10496 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10497
10498         * arc.c (arc_init): Don't use ISO C style function definitions.
10499         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
10500         arm_get_strip_length, arm_strip_name_encoding): Likewise.
10501         * avr.h (progmem_section): Likewise.
10502         * h8300.c h8300_asm_insn_count): Likewise.
10503         * m32r.c (init_idents): Likewise.
10504         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
10505         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
10506         * xtensa.c (xtensa_build_va_list): Likewise.
10507
10508 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10509
10510         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
10511         * c-opts.c (parse_option): Rename find_opt.
10512         (set_std_c99): New function.
10513         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
10514         (missing_arg): Remove OPT_std_bad.  Handle -o.
10515         (c_common_decode_option): Handle input and output file names,
10516         -o and -remap.  Clean up -std= handling.
10517         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
10518         (cpp_handle_option): Similarly.  Don't handle filenames.
10519
10520 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
10521
10522         * i386.c (classify_argument): Fix computing of field's offsets.
10523
10524 2002-08-11  Andreas Jaeger  <aj@suse.de>
10525
10526         PR target/7531:
10527         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
10528
10529 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
10530
10531         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
10532         reference to clk_objective_c with flag_objc.
10533         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
10534         Likewise.
10535         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10536
10537 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
10538
10539         * c-opts.c (set_std_cxx98, set_std_c89): New.
10540         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10541         (c_common_decode_option): Handle new switches from cppinit.c.
10542         Add -std=gnu++98.
10543         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
10544         (no_arg, no_num): Remove.
10545         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
10546         switches apart from -lang-objc and lang-asm.
10547         (cpp_handle_option): Similarly.
10548         * cpplib.h (cpp_set_lang): New.
10549         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
10550         -std=gnu++98.
10551         * objc/lang-specs.h: Remove -ansi.
10552
10553 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10554                                Graham Stott
10555
10556         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
10557         errors.
10558
10559 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10560
10561         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
10562         emit_jump_insn): Fix uninitialized variable.
10563         * gcov.c (init_line_info): Likewise.
10564         * genautomata.c (transform_3): Add braces around ambiguous
10565         else.
10566         * ifcvt.c (cond_exec_process_insns): Mark parameter with
10567         ATTRIBUTE_UNUSED.
10568         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
10569         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
10570         variable.
10571
10572         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
10573         warnings in output files.
10574
10575 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
10576
10577         * c-common.c (flag_objc): New.
10578         * c-common.h (c_language_kind): Get rid of clk_objective_c
10579         enum value.
10580         (flag_objc): New extern declaration.
10581         * c-decl.c (implicitly_declare): Call objc_check_decl
10582         instead of maybe_objc_check_decl.
10583         (finish_decl): Likewise.
10584         (grokfield): Likewise.
10585         (finish_struct): Likewise.
10586         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
10587         (maybe_objc_comptypes): Rename to objc_comptypes.
10588         (maybe_building_objc_message_expr): Rename to
10589         objc_message_selector.
10590         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10591         replace with flag_objc as needed.
10592         * c-opts.c (c_common_init_options): Likewise.
10593         (c_common_decode_option): Likewise.
10594         * c-parse.in (init_reswords): Likewise.
10595         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10596         (maybe_objc_comptypes): Rename to objc_comptypes.
10597         (maybe_building_objc_message_expr): Rename to
10598         objc_message_selector.
10599         * c-typeck.c (comptypes): Call objc_comptypes instead of
10600         maybe_objc_comptypes, and/or objc_message_selector instead of
10601         maybe_building_objc_message_expr.
10602         (comp_target_types): Likewise.
10603         (convert_for_assignment): Likewise.
10604         (warn_for_assignment): Likewise.
10605         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10606         independently of those for other languages.
10607         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10608         (maybe_objc_check_decl): Delete.
10609         (maybe_building_objc_message_expr): Rename to
10610         objc_message_selector.
10611         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10612         clk_objective_c; set flag_objc flag.
10613
10614 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10615
10616         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10617
10618 2002-08-09  Dale Johannesen  <dalej@apple.com>
10619
10620         * config/rs6000/rs6000.md: Add sibcall patterns.
10621         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10622         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10623         Rewritten to handle sibcalls.
10624         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10625         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10626
10627 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10628
10629         * profile.c (da_file_name): New static var.
10630         (init_branch_prob): Initialize it.
10631         (end_branch_prob): Remove da file.
10632
10633         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10634         * configure.in (coverage_flags): Default to nothing.
10635         * configure: Rebuilt.
10636
10637 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10638
10639         * Makefile.in (c-opts.o): Update
10640         * c-opts.c: Include intl.h.
10641         (print_help): Move from cppinit.c.  Remove unused options.
10642         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10643         (missing_arg): Complain for switches without an argument.
10644         (c_common_decode_option): Reject missing joined arguments.
10645         Handle new switches from cppinit.c.
10646         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10647         (cpp_handle_option): Similarly.
10648         (print_help): Moved to c-opts.c.
10649         * cpplib.h (struct cpp_options): Remove help_only.
10650         * gcc.c (cpp_unique_options): Remove -$.
10651         * doc/cppopts.texi: Undocument -h.
10652
10653 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10654
10655         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10656         legitimate constant.
10657         (legitimate_pic_operand_p): Neither pic operand.
10658         (legitimate_address_p): But legitimate address.
10659         (get_thread_pointer): Generate MEM/u instead of CONST around
10660         UNSPEC_TP.
10661         (print_operand): Remove printing of UNSPEC_TP.
10662         (print_operand_address): And print it here.
10663
10664 2002-08-08  Devang Patel  <dpatel@apple.com>
10665
10666         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10667         when  -Wselector is used,if method for which selector is being
10668         created does not exist.
10669
10670 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10671
10672         * config/sh/sh.c (prepare_move_operands): Only call
10673         target_reg_operand if TARGET_SHMEDIA.
10674
10675 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10676
10677         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10678         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10679         two patches.
10680         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10681
10682 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10683             Richard Henderson  <rth@redhat.com>
10684
10685         * emit-rtl.c (gen_rtx_REG): After reload, only return
10686         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10687
10688 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10689
10690         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10691         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10692         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10693         macro.
10694
10695 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10696
10697         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10698         register.
10699         (thumb_expand_prologue): Likewise.
10700         (thumb_output_function_prologue): Likewise.
10701         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10702         the additional push of the PIC register.
10703
10704 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10705
10706         * configure.in (enable_coverage): New enable switch.
10707         * configure: Rebuilt.
10708         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10709         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10710         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10711         (mostlyclean): Remove coverage files.
10712         * doc/install.texi: Document enable_coverage.
10713
10714         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10715         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10716         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10717         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10718         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10719         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10720         files.
10721
10722 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10723
10724         * c-opts.c (cpp_opts): New.
10725         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10726         (c_common_decode_options): Handle cpplib switches.
10727         (c_common_init_options): Set cpp_opts.
10728         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10729         (cpp_handle_option): Similarly.
10730
10731 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10732
10733         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10734         (TARGET_ALTIVEC_ABI): Same.
10735         (TARGET_ALTIVEC_VRSAVE): Same.
10736
10737         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10738         icode not CODE_FOR_nothing.  Change switch to if.
10739
10740 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10741
10742         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10743
10744 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10745
10746         * stor-layout.c (place_union_field): For bitfields if
10747         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10748         TYPE_USER_ALIGN.
10749
10750 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10751
10752         * pa.c (struct deferred_plabel): Constify name field.
10753
10754 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10755
10756         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10757
10758 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10759
10760         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10761         local_prefix are the same.
10762         * configure: Rebuilt.
10763
10764 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10765             Richard Henderson  <rth@redhat.com>
10766
10767         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10768         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10769         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10770         (place_field): Likewise.
10771         * config/i386/i386.c (x86_field_alignment): Don't check
10772         DECL_USER_ALIGN here.
10773         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10774         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10775         prototype.
10776         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10777         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10778         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10779         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10780         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10781         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10782
10783 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10784
10785         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10786         * c-common.c: Don't include tree-inline.h.
10787         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10788         * c-common.h (c_common_decode_option): New.
10789         * c-decl.c (c_decode_option): Remove.
10790         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10791         * c-opts.c: New file.
10792         * c-tree.h (c_decode_option): Remove.
10793         * doc/passes.texi: Update.
10794         * objc/objc-act.c (objc_decode_option): Remove.
10795         * objc/objc-act.h (objc_decode_option): Remove.
10796         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10797         c_common_decode_option.
10798
10799 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10800
10801         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10802         dependency on TARGET_DOUBLE_FLOAT.
10803
10804 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10805
10806         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10807         overwrite callee-save registers.  Fix comment.
10808
10809 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10810
10811         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10812         in target_flags based on ISA, if it was not set on the command
10813         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10814         support Branch Likely instructions.
10815         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10816         (TARGET_BRANCHLIKELY): Likewise.
10817         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10818         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10819         ISA_HAS_BRANCHLIKELY.
10820         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10821         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10822         -mno-branch-likely options.
10823
10824 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10825
10826         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10827
10828         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10829         $(GCONFIG_H).
10830
10831 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10832
10833         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10834         declarations.
10835
10836         * testsuite/gcc.dg/tls/diag-3.c: New.
10837
10838 2002-08-06  Dale Johannesen  <dalej@apple.com>
10839
10840         * c-common.c (fname_decl): Use line number 0 for
10841         __func__, to avoid confusing debuggers.
10842
10843 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10844
10845         * gcov.c: Tidy.
10846         (struct line_info, struct coverage): New structures.
10847         (gcov_file_name, gcov_file): Remove globals.
10848         (output_data): Take source file parameter. Fix memory leak. Break
10849         up into ...
10850         (init_line_info, output_line_info, make_gcov_file_name,
10851         accumulate_branch_counts): ... here.
10852         (calculate_branch_probs, function_summary): Adjust.
10853         (main): Adjust.
10854         (function_*): Remove global variables.
10855
10856 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10857
10858         * dwarf2out.c: Remove unused macros.
10859
10860 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10861
10862         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
10863
10864 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10865
10866         * cppinit.c (struct lang_flags): Rename trigraphs std.
10867         (set_lang): Update.
10868         * cpplib.h (struct cpp_options): New member std.
10869         * cppmacro.c (_cpp_builtin_macro_text): Use std.
10870         (collect_args): Flag whether to swallow a possible future
10871         comma pasted with varargs.
10872         (replace_args): Use this flag.
10873         * doc/cpp.texi: Update varargs extension documentation.
10874
10875 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10876
10877         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
10878
10879 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10880
10881         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
10882         and MODE_CLASS_INT modes.
10883
10884 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10885
10886         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
10887         --{enable,disable}-threads is given to configure.
10888         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
10889         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
10890         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
10891         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
10892         Remove thread_file setting here.
10893
10894 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
10895
10896         * doc/install.texi (Binaries): Update Bull Freeware URL.
10897
10898 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10899
10900         * doc/gcc.texi (Top): Rename Index to Keyword Index.
10901
10902 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
10903
10904         * gcov.c (output_data): Round to % to nearest, tweak formatting.
10905
10906 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
10907
10908         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
10909         of the operands into MINUS_EXPR if code is PLUS_EXPR.
10910
10911 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
10912
10913         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
10914         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
10915         drectve_section): Define.
10916         * config/i386/t-interix: Replace interix.o rule with winnt.o.
10917         * config/i386/interix.c: Remove.
10918
10919 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
10920
10921         * attribs.c: Don't include obstack.h.
10922         * builtins.c: Likewise.
10923         * cfganal.c: Likewise.
10924         * cfgbuild.c: Likewise.
10925         * cfgcleanup.c: Likewise.
10926         * emit-rtl.c: Likewise.
10927         * loop.c: Likewise.
10928         * stmt.c: Likewise.
10929
10930         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
10931
10932 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
10933
10934         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
10935
10936 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
10937
10938         * doc/invoke.texi: Remove duplicated paragraph describing
10939         TARGET_SWITCHES.
10940
10941 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
10942
10943         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
10944         * collect2.h (permanent_obstack): Delete declaration.
10945         * collect2.c (permanent_obstack): Delete definition.
10946         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
10947         * expr.c: Don't include obstack.h.
10948         (permanent_obstack): Delete declaration.
10949         * function.c: Don't include obstack.h.
10950         (permanent_obstack): Delete declaration.
10951         * integrate.c: Don't include obstack.h.
10952         (function_maybepermanent_obstack): Delete declaration.
10953         * print-tree.c (debug_tree): Use x*alloc not permalloc.
10954         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
10955         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
10956         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
10957         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
10958         of permalloc, expralloc, perm_calloc.
10959         * tree.c (permanent_obstack): Delete definition.
10960         (init_ttree): Rename from init_obstacks.
10961         (permalloc): Delete.
10962         (perm_calloc): Delete.
10963         (dump_tree_statistics): Don't print information about
10964         permanent_obstack.
10965         * varasm.c (assemble_start_function): Use xstrdup instead of
10966         permalloc/strcpy.
10967         (assemble_variable): Likewise.
10968         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
10969         permalloc.
10970         (unicosmk_add_extern): Likewise.
10971         * config/c4x/c4x.c (c4x_external_ref): Likewise.
10972         (c4x_global_label): Likewise.
10973         * config/frv/frv.c (frv_encode_section_info): Likewise.
10974         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
10975         (i386_pe_record_exported_symbol): Likewise.
10976         * config/mips/mips.c (mips_output_external): Likewise.
10977         (mips_output_external_libcall): Likewise.
10978         * config/pa/pa.c: (permanent_obstack): Delete declaration.
10979         (output_call): Use ggc_strdup instead of allocating on
10980         permanent_obstack.
10981         * config/romp/romp.c: Include ggc.h.
10982         (get_symref): Don't declare permanent_obstack, use ggc_strdup
10983         intead of permanent_obstack.
10984         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
10985         instead of permalloc.
10986         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
10987         instead of permalloc
10988         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
10989         instead of permalloc.
10990         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
10991         permalloc.
10992
10993 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
10994
10995         Contribute a port developed primarily by Michael Meissner,
10996         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
10997         * config.gcc: Add frv-elf target.
10998         * config/frv/cmovd.c: New file.
10999         * config/frv/cmovh.c: New file.
11000         * config/frv/cmovw.c: New file.
11001         * config/frv/frv-abi.h: New file.
11002         * config/frv/frv-asm.h: New file.
11003         * config/frv/frv-modes.def: New file.
11004         * config/frv/frv-protos.h: New file.
11005         * config/frv/frv.c: New file.
11006         * config/frv/frv.h: New file.
11007         * config/frv/frv.md: New file.
11008         * config/frv/frvbegin.c: New file.
11009         * config/frv/frvend.c: New file.
11010         * config/frv/lib1funcs.asm: New file.
11011         * config/frv/media.h: New file.
11012         * config/frv/modi.c: New file.
11013         * config/frv/t-frv: New file.
11014         * config/frv/uitod.c: New file.
11015         * config/frv/uitof.c: New file.
11016         * config/frv/ulltod.c: New file.
11017         * config/frv/ulltof.c: New file.
11018         * config/frv/umodi.c: New file.
11019         * config/frv/xm-frv.h: New file.
11020
11021         * config/frv/media.h: Removed again.
11022
11023 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11024
11025         * gcov.c (bb_file_time): New static variable.
11026         (object_directory): May also be object file.
11027         (preserve_paths): New static variable.
11028         (print_usage): Adjust.
11029         (options): Adjust.
11030         (process_args): Adjust.
11031         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
11032         file. Find modification date on bb file.
11033         (read_profile): Don't rewind a NULL file.
11034         (format_hwint): New static function.
11035         (function_summary): Use format_hwint.
11036         (output_data): SOURCE_FILE_NAME is never relative to
11037         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
11038         mangling. Adjust output format to make it more machine readable.
11039         * doc/gcov.texi: Document & clarify semantics.
11040
11041 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
11042
11043         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
11044
11045 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11046
11047         * gcc.c (cc1_options): Pass output file as auxbase when
11048         appropriate.
11049         * profile.c (init_branch_prob): FILENAME has already had ending
11050         stripped.
11051         * final.c (end_final): Likewise.
11052         * toplev.c (aux_base_name): New global.
11053         (compile_file): Pass aux_base_name to init init_branch_prob and
11054         end_final.
11055         (independent_decode_option, case 'a'): New auxinfo options.
11056         (case 'd'): Protect against mising basename.
11057         (do_compile): Initialize aux_base_name.
11058         * toplev.h (aux_base_name): New global.
11059         * doc/invoke.texi: Adjust documentation.
11060
11061 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
11062
11063         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
11064         of TARGET_ALIGN_DOUBLE.
11065
11066 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
11067
11068         * diagnostic.c (inform): New function.
11069         * diagnostic.h (inform): Declare.
11070
11071 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
11072
11073         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
11074         (movhi_internal): Same.
11075         (movqi_internal): Same.
11076         (movdi_internal64): Same.
11077
11078         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
11079
11080         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
11081         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
11082         (COMMON_ASM_OP): Define.
11083         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
11084         Use ALIGN parameter.
11085         (LOCAL_COMMON_ASM_OP): Define.
11086         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
11087
11088 2002-08-03  Roger Sayle  <roger@eyesopen.com>
11089
11090         * builtins.def: Define new builtin functions exp, expf, expl,
11091         log, logf and logl (and their __builtin_* variants).
11092         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
11093         Define exp_optab and log_optab.
11094         * optabs.c (init_optans): Initialize exp_optab and log_optab.
11095         * genopinit.c (optabs): Implement exp_optab and log_optab
11096         using exp?f2 and log?f2 patterns.
11097         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
11098         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
11099         (expand_builtin): Ignore the new builtins (and all cos and
11100         sin variants) when not optimizing.  Expand new builtins via
11101         expand_builtin_mathfn when flag_unsafe_math_optimizations.
11102
11103         * doc/extend.texi: Document new exp and log builtins.
11104         * doc/md.texi: Document new exp?f2 and log?f2 patterns
11105         (and previously undocumented cos?f2 and sin?f2 patterns).
11106
11107 2002-08-03  Jason Merrill  <jason@redhat.com>
11108
11109         * explow.c (int_expr_size): New fn.
11110         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
11111         * expr.h: Declare it.
11112
11113 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
11114
11115         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
11116         gengtype-* dependencies.
11117
11118 2002-08-02  Eric Christopher  <echristo@redhat.com>
11119
11120         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
11121         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
11122         #ifndef to #undef.
11123         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
11124
11125 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
11126
11127         PR optimize/7067
11128         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
11129         small if optimizing for size.
11130
11131 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
11132
11133         * configure.in (FORBUILD): Use $build_alias.
11134         * configure: Regenerated.
11135
11136 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
11137
11138         * config.gcc: Don't include mips/abi64.h in $tm_file.
11139         * hard-reg-set.h (call_really_used_regs): Declare.
11140         * config/mips/abi64.h: Remove file.
11141         * config/mips/linux.h,
11142         * config/mips/iris6.h: Don't include it.
11143         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
11144         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
11145         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
11146         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
11147         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
11148         Bring across definitions from abi64.h.
11149         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
11150         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
11151         (struct mips_args): Use it.
11152         * config/mips/mips.c (mips_conditional_register_usage): Define.
11153
11154 2002-08-02  Jason Merrill  <jason@redhat.com>
11155
11156         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
11157         * langhooks.c (lhd_expr_size): Define default.
11158         * langhooks.h (struct lang_hooks): Add expr_size.
11159         * explow.c (expr_size): Call it.
11160         * expr.c (store_expr): Don't copy an expression of size zero.
11161         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
11162         to store.
11163         * Makefile.in (builtins.o): Depend on langhooks.h.
11164
11165 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11166
11167         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
11168         * ra-debug.c: Include "tm_p.h".
11169         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
11170
11171 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
11172
11173         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
11174         when not honoring signalling NaNs.
11175         (simplify_ternary_operation): a == b has a definite value
11176         when not honoring NaNs.
11177
11178 2002-08-02  Jason Merrill  <jason@redhat.com>
11179
11180         * gdbinit.in (pct): New macro.
11181
11182 2002-08-01  Stan Shebs  <shebs@apple.com>
11183             Andreas Tobler  <toa@pop.agri.ch>
11184
11185         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
11186         plays nice with Darwin headers.
11187         (_BSD_RUNE_T_DEFINED_): Likewise.
11188
11189 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11190
11191         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
11192         * cppinit.c (cpp_post_options): Likewise.
11193
11194         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
11195         warning about 'LL' suffix (but not 'ULL' etc) when
11196         -Wno-long-long is in effect.
11197
11198         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
11199         Check for failing time()/localtime(), issue a warning, and
11200         make __TIME__ and __DATE__ expand to fallback strings.
11201
11202         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
11203         and __TIME__ when the date and time cannot be determined.
11204
11205 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11206
11207         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
11208
11209 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
11210
11211         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
11212
11213 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11214
11215         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
11216         (mipsisa64sb1el-*-elf*): Likewise.
11217         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
11218         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
11219         (TARGET_SB1, TUNE_SB1): New macros.
11220         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
11221         -mtune flags.
11222
11223 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
11224
11225         * varasm.c (asm_emit_uninitialized): Return false if global BSS
11226         and ASM_EMIT_BSS not supported by target.
11227         (assemble_variable): Do not duplicate uninitialized logic.
11228         Fall through if asm_emit_uninitialized failed.
11229
11230 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11231
11232         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
11233
11234 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11235
11236         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
11237         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
11238
11239         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
11240         HOST_BITS_PER_WIDE_INT == 64.
11241
11242 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11243
11244         * df.c (df_insn_table_realloc): Change parameter to unsigned.
11245         * optabs.c (expand_binop): Make variable unsigned.
11246         * simplify-rtx.c (simplify_subreg): Likewise.
11247         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
11248
11249 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11250
11251         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
11252
11253 2002-08-01  Richard Henderson  <rth@redhat.com>
11254
11255         * toplev.c (parse_options_and_default_flags): Don't set
11256         flag_reorder_blocks for -Os.
11257
11258         * config/avr/avr.c (avr_optimization_options): Remove.
11259         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
11260         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
11261         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
11262
11263 2002-08-01  H.J. Lu <hjl@gnu.org>
11264             Richard Henderson  <rth@redhat.com>
11265
11266         * output.h (DECL_READONLY_SECTION): Remove.
11267         (decl_readonly_section): Declare.
11268         * varasm.c (decl_readonly_section): New.
11269         (default_section_type_flags, default_select_section): Use it.
11270         * config/arm/pe.c (arm_pe_unique_section): Likewise.
11271         * config/i386/interix.c (i386_pe_unique_section): Likewise.
11272         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
11273         * config/mcore/mcore.c (mcore_unique_section): Likewise.
11274         * config/mips/mips.c (mips_unique_section): Likewise.
11275
11276 2002-08-01  Richard Henderson  <rth@redhat.com>
11277
11278         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
11279         refers to a subroutine parameter.
11280
11281 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
11282
11283         * varasm.c (assemble_visibility): Strip name encoding.
11284
11285 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
11286
11287         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
11288         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
11289         when there is no frame pointer.
11290         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
11291         registers properly.
11292         * config/ns32k/__unorddf2.c: New file.
11293         * config/ns32k/__unordsf2.c: New file.
11294         * config/ns32k/t-ns32k: New file.
11295         * config.gcc (ns32k-*-netbsd*): Use it.
11296
11297 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
11298
11299         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
11300
11301 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11302
11303         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
11304
11305 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
11306
11307         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
11308
11309 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
11310
11311         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
11312
11313 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11314
11315         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
11316         n_sets): Removed.
11317         (expr_hash_table, set_hash_table): Type changed to ...
11318         (struct hash_table): New type.
11319         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
11320         insert_expr_in_table, insert_set_in_table, compute_hash_table,
11321         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
11322         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
11323         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
11324         (alloc_hash_table): New.
11325         (free_set_hash_table, free_expr_hash_table): Merged to ...
11326         (free_hash_table): New.
11327         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
11328         (compute_hash_table_work): New.
11329         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
11330         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
11331         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
11332         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
11333         hoist_code, one_code_hoisting_pass,
11334         trim_ld_motion_mems): Altered due to changed type of hash tables.
11335
11336 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11337
11338         * final.c (output_alternate_entry_point):
11339         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
11340
11341 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11342
11343         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
11344         avoid ISO C style function definition.
11345
11346         * expr.c (expand_assignment): Delete unused variable.
11347
11348 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
11349
11350         * c-common.c (cb_register_builtins): Set
11351         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
11352         is given, and to 0 otherwise.
11353         * combine.c (simplify_if_then_else): HONOR_NANS
11354         implies FLOAT_MODE_P.
11355
11356 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11357
11358         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
11359         (cpp_handle_option): Don't handle it.
11360         (print_help): Update.
11361         * doc/cppopts.texi: Update.
11362
11363 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11364
11365         * c-common.c (cb_register_builtins): If C++, define
11366         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
11367         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
11368 cp:
11369         * lang-specs.h: Simplify in accordance with new code in
11370         c-common.c.
11371
11372 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11373
11374         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
11375         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
11376         * c-decl.c: Move all warning and flag variables to c-common.c.
11377         * c-format.c: Move all warning variables to c-common.c.
11378         * c-tree.h: Move all warning and flag declarations to c-common.h.
11379         * objc/objc-act.c: Move all warning variables to c-common.c.
11380         (flag_warn_protocol): Rename warn_protocol.
11381
11382 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11383
11384         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
11385
11386 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
11387
11388         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
11389         .section prefix.
11390
11391 2002-07-31  Stan Shebs  <shebs@apple.com>
11392
11393         * config.gcc (i[34567]86-*-darwin*): New configuration.
11394         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
11395         defining.
11396         (TARGET_ENCODE_SECTION_INFO): Ditto.
11397         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
11398         * config/darwin.c (machopic_indirect_data_reference): Remove
11399         setting of RTX_UNCHANGING_P.
11400         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
11401         not to be applied to sums.
11402         * config/i386/t-darwin: New file.
11403         * config/i386/darwin.h: New file.
11404         * config/i386/i386.h (TARGET_MACHO): Add default definition.
11405         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
11406         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
11407         label and not the GOT add.
11408         (constant_address_p): For Mach-O, seeing a CONST is enough.
11409         (legitimate_pic_address_disp_p): Add a Mach-O case.
11410         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
11411         (legitimize_pic_address): Use generic Mach-O code to legitimize.
11412         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
11413         if outputting a difference.
11414         (ix86_output_addr_diff_elt): Add Mach-O case.
11415         (ix86_expand_move): Similarly.
11416         (ix86_expand_call): Similarly.
11417         (current_machopic_label_num): New global.
11418         (machopic_output_stub): New function.
11419         (ix86_value_regno): New function.
11420         (ix86_function_value): Use it instead of VALUE_REGNO.
11421         (ix86_libcall_value): Ditto.
11422         * config/i386/unix.h (VALUE_REGNO): Remove.
11423
11424 2002-07-31  Graham Stott  <grahas@btinternet.com>
11425
11426         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
11427         hash for LABEL_REF's.
11428
11429 2002-07-31  Graham Stott  <grahams@btinternet.com>
11430
11431         * config/rs6000/rs6000.c (spe_init_builtins,
11432         altivec_init_builtins, rs6000_common_init_builtins):
11433         Replace ANSI with K&R function def.
11434
11435 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
11436
11437         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
11438         for CCFPmode.
11439
11440 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11441
11442         * config/mips/crtn.asm: Don't use __mips16 to determine the
11443         return-address offset.  Define RA to a suitable temporary
11444         register for the return address.
11445
11446 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11447
11448         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
11449         constraints to 'd'.
11450
11451 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
11452
11453         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
11454         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
11455         patch on 2002-07-29.)
11456         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11457
11458 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11459
11460         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
11461         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
11462         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
11463         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
11464         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
11465         (ASM_GLOBALIZE_LABEL): Delete.
11466         (GLOBAL_ASM_OP): Define.
11467
11468         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
11469
11470         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
11471         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
11472
11473 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
11474
11475         * doc/extend.texi (Hints implementation): Document that GCC
11476         mostly ignores `register'.
11477
11478 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
11479
11480         * flags.h: Declare flag_finite_math_only.
11481         Use it in definition of HONOR_NANS and
11482         HONOR_INFINITIES.
11483         * c-common.c (cb_register_builtins): Emit
11484         __FINITE_MATH_ONLY__ when flag_finite_math_only
11485         is set.
11486         * combine.c (simplify_if_then_else): If
11487         flag_finite_math_only is set, a == b has a
11488         definite value.
11489         * toplev.c: Initialize flag_finite_math_only.
11490         (set_flags_fast_math): Set it on -ffast-math.
11491         (flag_fast_math_set_p): Test it.
11492         * doc/invoke.texi: Document -ffinite-math-only.
11493
11494 2002-07-30  Richard Henderson  <rth@redhat.com>
11495
11496         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
11497         (noce_process_if_block): Likewise.
11498
11499 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
11500
11501         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
11502         Bail out early if false_expr is NULL and we'd crash due to this.
11503         * genemit.c (gen_expand): Recognize return insns even if the return
11504         appears in a parallel.
11505         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
11506         * config/fp-bit.c: Likewise.
11507         * doc/tm.texi: Document it.
11508
11509 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
11510             Zack Weinberg  <zack@codesourcery.com>
11511
11512         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
11513         CODE_FOR_nothing.  Change switch to if.
11514         (rs6000_expand_binop_builtin): Same.
11515         (rs6000_expand_builtin): Expand builtin if target support enabled.
11516         (rs6000_init_builtins): Init builtin if target support enabled.
11517         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
11518
11519 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11520
11521         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
11522
11523 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
11524
11525         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
11526
11527 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
11528
11529         * sh.md (cond_delay_slot): New attribute.
11530         (cbranch delay): Use it for anulled-true case.
11531         (stuff_delay_slot): New pattern.
11532         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
11533         delay slot insn.
11534         (gen_far_branch): Emit stuff_delay_slot pattern.
11535
11536 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11537
11538         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
11539
11540 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
11541
11542         * fold-const.c: Fix comment typos.
11543         * gcse.c: Likewise.
11544         * reload1.c: Likewise.
11545
11546 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11547
11548         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
11549         for TARGET_SPE.
11550
11551 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11552
11553         * c-pretty-print.h (pp_c_statement): Declare.
11554         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
11555         (pp_c_statement): Define.
11556
11557 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11558
11559         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
11560         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11561         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
11562         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
11563         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
11564         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
11565
11566         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
11567         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
11568
11569 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11570
11571         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
11572         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
11573         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
11574         (pp_c_expression): Update.
11575
11576 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11577
11578         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
11579         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
11580         * alpha/vms-ld.c (main): Likewise.
11581         * dsp16xx.c (double_reg_to_memory): Likewise.
11582         * mcore.c (mcore_expand_prolog): Likewise.
11583         * cppfiles.c (read_name_map): Likewise.
11584         * gensupport.c (process_rtx, identify_predicable_attribute,
11585         alter_test_for_insn): Likewise.
11586         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
11587
11588 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11589
11590         * builtins.c (expand_builtin):  Change the default behavior to
11591         only issue an error if the builtin function doesn't have a
11592         fallback library call.  Remove several cases handled by the
11593         new default.
11594
11595 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11596
11597         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11598         floating point format of the target is IEEE.
11599         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11600         format of the target is DEC.
11601
11602 2002-07-29  Richard Henderson  <rth@redhat.com>
11603
11604         * unroll.c (verify_addresses): Remove.
11605         (find_splittable_givs): Never split DEST_ADDR givs.
11606
11607 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11608
11609         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11610         is exhaustive.
11611         (Files): Improve documentation on generated source files.
11612
11613         * doc/extend.texi (Translation implementation): Document what
11614         diagnostics look like.
11615         (Identifiers implementation): Document that there's normally no
11616         limit on identifier names.
11617         (Integers implementation): Document two's complement.
11618         (Hints implementation): Document that GCC honors 'inline', mostly.
11619         (Preprocessing directives implementation): Document that GCC
11620         requires the current time.
11621
11622 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11623
11624         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11625         (pp_initializer): New macro.
11626         (pp_c_initializer): Declare.
11627         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11628         (pp_c_initializer): Define.
11629         (pp_c_initializer_list): New function.
11630         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11631         VECTOR_CST, CONSTRUCTOR.
11632         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11633         IMAGPART_EXPR.
11634         (pp_c_cast_expression): Handle FLOAT_EXPR.
11635         (pp_c_assignment_expression): Handle INIT_EXPR.
11636         (pp_c_expression): Update.
11637
11638 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11639
11640         * objc/objc-act.c (objc_init): Return immediately if filename
11641         is NULL.
11642
11643 2002-07-29  Eric Christopher  <echristo@redhat.com>
11644
11645         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11646         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11647         (SDB_DEBUGGING_INFO): Undefine.
11648         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11649         (PUT_SDB_SIZE): Remove.
11650         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11651         (STARTFILE_SPEC): Add isa3264 define.
11652         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11653         * config/mips/ecoff.h: Remove. and here...
11654         * config/mips/iris3.h: and here...
11655         * config/mips/sni-svr4.h: and here...
11656         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11657         Add assembler -mmdebug options for non-dwarf debugging.
11658         * config/mips/r3900.h: Remove debug info defines.
11659         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11660         * config/mips/isa3264.h: Ditto.
11661         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11662         change.
11663         * config/mips/t-elf: Ditto.
11664         * config/mips/t-ecoff: Ditto.
11665         * config/mips/t-r3900: Ditto.
11666         * config/mips/t-iris5-6: Ditto.
11667         * config/mips/t-isa3264: Ditto.
11668         * config/mips/t-linux: Remove.
11669         * config/mips/t-netbsd: Remove.
11670         * config/mips/t-mips: New file.
11671         * config/mips/t-gofast: Ditto.
11672         * config/mips/netbsd.h: Remove unnecessary undefines.
11673         * config/mips/linux.h: Remove #include of mips.h.
11674         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11675         for ecoff. Add gofast configure option for mips.
11676
11677 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11678
11679         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11680         linker scripts use STARTUP directives consistently.
11681         * configure: Regenerate.
11682         * config.in: Regenerate.
11683         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11684         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11685         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11686         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11687         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11688         will be the same.
11689
11690 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11691
11692         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11693
11694 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11695
11696         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11697
11698 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11699
11700         * config/rs6000/rs6000.md: Move altivec patterns from here...
11701
11702         * config/rs6000/altivec.md: ...to here.
11703
11704 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11705
11706         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11707
11708 2002-07-29  Richard Henderson  <rth@redhat.com>
11709
11710         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11711         set_mem_attributes and add BITPOS argument.  Subtract it from
11712         OFFSET when same is adjusted.
11713         (set_mem_attributes): New wrapper function.
11714         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11715         remove offset adjustment hack.
11716         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11717
11718 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11719
11720         * Makefile.in (C_OBJS): Include c-pretty-print.o
11721         (c-pretty-print.o): Add depency rule.
11722         * pretty-print.h: Add more macros.
11723         * c-pretty-print.c: New file.
11724         * c-pretty-print.h: Likewise.
11725
11726 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11727
11728         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11729         constants to __ev64_s32__.
11730         (__internal_ev_mwhgsmian): Same.
11731         (__internal_ev_mwhgsmfan): Same.
11732         (__internal_ev_mwhgssfan): Same.
11733         (__internal_ev_mwhgumiaa): Same.
11734         (__internal_ev_mwhgsmiaa): Same.
11735         (__internal_ev_mwhgsmfaa): Same.
11736         (__internal_ev_mwhgssfaa): Same.
11737
11738 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11739
11740         * varasm.c (assemble_variable): Narrow test for uninitialized
11741         without BSS target support.
11742
11743 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11744
11745         * profile.c: Add file comment describing the overall algorithm and
11746         structures.
11747         (struct edge_info): Add comments.
11748         (struct bb_info): Add comments.
11749         * basic-block.h (EDGE_*): Add comments.
11750         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11751
11752 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11753
11754         * config/xtensa/elf.h, config/xtensa/linux.h
11755         (TARGET_OS_CPP_BUILTINS): Define.
11756         (CPP_PREDEFINES): Remove.
11757         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11758         (CPP_SPEC): Remove.
11759
11760 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11761
11762         * gensupport.c: Include hashtab.h.
11763         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11764         maybe_eval_c_test): New routines and data structures to
11765         support insn elision.
11766         (init_md_reader): Read and initialize the condition_table.
11767         (read_md_rtx): Discard insn patterns whose C test is provably
11768         always false.
11769         * gensupport.h: Declare new functions and data structures.
11770
11771         * genconditions.c, dummy-conditions.c: New files.
11772         * Makefile.in: Build genconditions; run it to construct
11773         insn-conditions.c; build that and link it into most gen*
11774         programs.
11775         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11776         (GEN): Delete, unused.
11777         (STAGESTUFF): Update.
11778
11779         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11780         CODE_FOR_nothing for all elided patterns.
11781         (main): Tweaked to support this.
11782         * genflags.c (gen_proto): Emit a static inline generator
11783         function here for all elided patterns, which simply returns
11784         NULL_RTX.
11785         (gen_insn): Do not define HAVE_xxx for elided patterns.
11786         (main): Tweaked to support this.  No need to forward-declare
11787         struct rtx_def.
11788         * genrecog.c: Do not bother emitting the C test if it's known
11789         to be true at compile time.
11790
11791 2002-07-29  Mike Stump  <mrs@apple.com>
11792
11793         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11794         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11795
11796 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11797
11798         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11799         remove clobber of LR.
11800         (sibcall_insn, sibcall_value_insn): Update accordingly.
11801         (sibcall_epilogue): Remove debugging comment from assembler stream.
11802
11803 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11804
11805         * pretty-print.h: Define more macros.
11806         * diagnostic.h (output_formatted_integer): Moved from...
11807         * diagnostic.c: ... here.
11808
11809 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11810
11811         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11812
11813 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11814
11815         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11816         arguments.  Always use ".-symbol" as expression argument.
11817         * doc/tm.texi: Update to match.  Document requirement for
11818         ".size symbol, .-symbol" to be acceptable to assembler.
11819
11820         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11821         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11822         config/i386/freebsd-aout.h, config/i386/sco5.h,
11823         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11824         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11825
11826 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11827
11828         * Makefile.in (gengtype-lex.c): Fix error in last change.
11829
11830         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11831         backslash.
11832
11833         * Makefile.in (vmsdbgout.o): Depend on function.h.
11834
11835         * vmsdbgout.c: Include function.h.
11836
11837 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11838
11839         * prefix.c (update_path): Don't strip single `.' path components
11840         unless stripping a later `..' component.  Exit loop as soon as
11841         a valid path is found.
11842
11843 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11844
11845         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11846         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11847         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11848         floating point unordered comparisons (e.g. __builtin_isgreater)
11849         as const, and leave the remaining GCC_BUILTINs unchanged.
11850
11851         * c-decl.c (builtin_function): No need to explicitly mark
11852         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11853
11854 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11855
11856         * Makefile.in: rtlanal.o now depends upon real.h.
11857
11858         * flags.h [flag_signaling_nans]: New flag.
11859         [HONOR_SNANS]: New macro.
11860
11861         * toplev.c [flag_signaling_nans]: Initialize to false.
11862         (f_options): Add processing for "-fsignaling-nans".
11863         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
11864         (process_options): flag_signaling_nans implies flag_trapping_math.
11865
11866         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
11867         when -fsignaling-nans.  First step to implementing WG14's N965.
11868
11869         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
11870         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
11871         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
11872
11873         * simplify-rtx.c (simplify_relational_operation): Conditionalize
11874         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
11875
11876         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
11877         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
11878         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
11879         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
11880         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
11881
11882         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
11883
11884 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11885
11886         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
11887         * gengtype-lex.l (YY_USE_PROTOS): Undef.
11888         (YY_DECL): Define.
11889
11890 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11891
11892         * doc/invoke.texi: Document that both -fno-builtin-foo and
11893         -fno-builtin are supported by the g++ front-end.
11894
11895 2002-07-27  Stan Shebs  <shebs@apple.com>
11896
11897         * configure.in: Rename config_gtfiles to target_gtfiles.
11898         * configure: Regenerate.
11899         * doc/gty.texi: Update reference.
11900         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
11901         instead of appending to it.
11902
11903 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
11904
11905         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
11906         vectors are split into two registers.
11907         (function_arg): Same.
11908
11909 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
11910
11911         * pa.md (extv): Check predicates before emitting extv_32.
11912
11913 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
11914
11915         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
11916         (rs6000_traceback): New var.
11917         (rs6000_override_options): Set rs6000_traceback.
11918         (rs6000_output_function_epilogue): Implement traceback options.
11919         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
11920         (rs6000_traceback_name): Declare.
11921
11922         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
11923         label reference when NO_PROFILE_COUNTERS.
11924
11925 2002-07-26  Jason Merrill  <jason@redhat.com>
11926
11927         * function.c (assign_parms): Handle frontend-directed pass by
11928         invisible reference.
11929
11930 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11931
11932         * doc/cppopts.texi: Update.
11933
11934 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11935
11936         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
11937         warnings on assertions.
11938
11939 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11940
11941         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
11942         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
11943         RID_COMPL): Remove.
11944         * c-parse.in (rid_to_yy): Similarly.
11945
11946 2002-07-26  Jason Merrill  <jason@redhat.com>
11947
11948         * c-dump.c: Resurrect.
11949         * tree-dump.c: Move C-specific stuff to c-dump.c.
11950         * c-common.h: Declare c_dump_tree.
11951         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
11952         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
11953         (c-dump.o): New rule.
11954
11955 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
11956
11957         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
11958         PowerPC64.  Replace "T" and "S" constraints with "n" when the
11959         predicate will do.  Formatting fixes.
11960         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
11961         as for extzvsi_internal1.
11962
11963 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11964
11965         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
11966         DERIV_END_LABEL_FMT): Remove.
11967         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
11968
11969 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11970
11971         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
11972         Remove.
11973
11974 2002-07-25  Stan Shebs  <shebs@apple.com>
11975
11976         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
11977         local var dwarfp.
11978         (output_compiler_stub): Remove unused locals.
11979         (output_call): Always initialize line number.
11980
11981 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11982
11983         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
11984         * sh.md (truncdiqi2, movqi_media): Likewise.
11985
11986 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11987
11988         * gcse.c (obstack_chunk_alloc): Remove.
11989         (gcse_alloc): Fix to count allocated bytes.
11990         * collect2.c (SYMBOL__MAIN): Remove.
11991
11992 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11993
11994         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
11995         HAVE_TARGET_EXECUTABLE_SUFFIX.
11996
11997 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11998
11999         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
12000         SIZE, EXPR and OFFSET.
12001
12002 2002-07-25  Richard Henderson  <rth@redhat.com>
12003
12004         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
12005         in ARRAY_REF of DECL_P case.
12006
12007 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
12008
12009         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
12010         description.  Document -mips32, -mips64, and the associated -march
12011         values.  Describe the "mipsN" arguments to -march.  Say that the
12012         -mipsN options are equivalent to -march.  Reword the description
12013         of default type sizes.
12014         * toplev.h (target_flags_explicit): Declare.
12015         * toplev.c (target_flags_explicit): New var.
12016         (set_target_switch): Update target_flags_explicit.
12017         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
12018         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
12019         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
12020         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
12021         * config/mips/mips.h (mips_cpu_info): New struct.
12022         (mips_cpu_string, mips_explicit_type_size_string): Remove.
12023         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
12024         (MIPS_CPP_SET_PROCESSOR): New macro.
12025         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
12026         Define _MIPS_ARCH and _MIPS_TUNE.
12027         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
12028         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
12029         MIPS_ISA_DEFAULT were already defined.
12030         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
12031         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
12032         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
12033         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
12034         (ABI_GAS_ASM_SPEC): Remove.
12035         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
12036         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
12037         Invoke %(asm_abi_default_spec) if no ABI was specified.
12038         (CC1_SPEC): Remove ISA -> register-size rules.
12039         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
12040         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
12041         (mips_cpu_string, mips_explicit_type_size_string): Remove.
12042         (mips_cpu_info_table): New array.
12043         (mips_set_architecture, mips_set_tune): New fns.
12044         (override_options): Rework to make -mipsN equivalent to -march.
12045         Detect more erroneous cases, including those removed from CC1_SPEC.
12046         Don't change the ABI based on architecture, or vice versa.
12047         Unify logic with GAS.
12048         (mips_asm_file_start): Get architecture name from mips_arch_info.
12049         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
12050         (mips_parse_cpu): Take the name of the option as argument.  Handle
12051         'from-abi'.  Raise an error if the option is wrong.
12052         (mips_cpu_info_from_isa): New fn.
12053
12054 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
12055
12056         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
12057         (tablejump_mips162): Likewise.
12058
12059 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
12060
12061         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
12062         int_mode_for_mode.
12063
12064 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
12065
12066         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
12067         complaining.
12068         * c-common.h (c_sizeof): Adjust definition.
12069         (c_alignof): Likewise.
12070         * c-tree.h (c_sizeof_nowarn): Now macro.
12071         * c-typeck.c (c_sizeof_nowarn): Remove definition.
12072
12073 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
12074
12075         * c-decl.c (c_decode_option): No need to handle switches
12076         cpplib handles.
12077
12078 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
12079
12080         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
12081         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
12082         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
12083         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
12084
12085         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
12086         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
12087         config/cris/aout.h, config/i386/freebsd-aout.h,
12088         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
12089         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
12090         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
12091         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
12092         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
12093         config/xtensa/elf.h, config/xtensa/linux.h:
12094         Use the new macros.
12095         Where possible, remove redundant definitions of SIZE_ASM_OP,
12096         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
12097
12098 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
12099
12100         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
12101         TARGET_ISEL, and TARGET_FPRS.
12102
12103         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
12104         -mabi=spe, -mabi=no-spe, and -misel=.
12105
12106         * config/rs6000/rs6000-protos.h: Add output_isel.
12107         Move vrsave_operation prototype here.
12108
12109         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
12110         (smaxsi3): Same.
12111         (uminsi3): Same.
12112         (umaxsi3): Same.
12113         (abssi2_nopower): Disallow when TARGET_ISEL.
12114         (*ne0): Same.
12115         (negsf2): Change to expand and rename old pattern to *negsf2.
12116         (abssf2): Change to expand and rename old pattern to *abssf2.
12117
12118         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
12119         fixunssfsi2.
12120
12121         Change patterns that check for TARGET_HARD_FLOAT or
12122         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
12123
12124         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
12125         rs6000_isel, rs6000_fprs, rs6000_isel_string.
12126         (rs6000_override_options): Add 8540 case to
12127         processor_target_table.
12128         Set rs6000_isel for the 8540.
12129         Call rs6000_parse_isel_option.
12130         (enable_mask_for_builtins): New.
12131         (rs6000_parse_isel_option): New.
12132         (rs6000_parse_abi_options): Add spe and no-spe.
12133         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
12134         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
12135         for TARGET_HARD_FLOAT.
12136         Add case for SPE_VECTOR_MODE.
12137         (rs6000_legitimize_reload_address): Handle SPE vector modes.
12138         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
12139         vector modes.
12140         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
12141         (rs6000_emit_move): Check for TARGET_FPRS.
12142         Add cases for SPE vector modes.
12143         (function_arg_boundary): Return 64 for SPE vector modes.
12144         (function_arg_advance): Check for TARGET_FPRS and
12145         Handle SPE vectors.
12146         (function_arg): Same.
12147         (setup_incoming_varargs): Check for TARGET_FPRS.
12148         (rs6000_va_arg): Same.
12149         (struct builtin_description): Un-constify mask field.  Move up in
12150         file.
12151         (bdesc_2arg): Un-constify and add SPE builtins.
12152         (bdesc_1arg): Same.
12153         (bdesc_spe_predicates): New.
12154         (bdesc_spe_evsel): New.
12155         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
12156         (rs6000_expand_binop_builtin): Same.
12157         (bdesc_2arg_spe): New.
12158         (spe_expand_builtin): New.
12159         (spe_expand_predicate_builtin): New.
12160         (spe_expand_evsel_builtin): New.
12161         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
12162         (rs6000_init_builtins): Initialize SPE builtins.  Call
12163         rs6000_common_init_builtins.
12164         (altivec_init_builtins): Move all non-altivec builtin code to...
12165         (rs6000_common_init_builtins): ...here.  New function.
12166         (branch_positive_comparison_operator): Allow NE code for SPE.
12167         (ccr_bit): Return correct ccr bit for SPE fp.
12168         (print_operand): Emit crnor in 'D' case for SPE.
12169         New case 't'.
12170         Add SPE code for 'y' case.
12171         (rs6000_generate_compare): Generate rtl for SPE fp.
12172         (output_cbranch): Handle SPE hard floats.
12173         (rs6000_emit_cmove): Handle isel.
12174         (rs6000_emit_int_cmove): New.
12175         (output_isel): New.
12176         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
12177         64-bits for SPE.
12178         (debug_stack_info): Add SPE info.
12179         (gen_frame_mem_offset): New.
12180         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
12181         Change mode of frame pointer, when saving it, to Pmode.
12182         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
12183         Misc cleanups and use gen_frame_mem_offset when appropriate.
12184
12185         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
12186         (TARGET_SPE_ABI): New.
12187         (TARGET_SPE): New.
12188         (TARGET_ISEL): New.
12189         (TARGET_FPRS): New.
12190         (FIXED_SCRATCH): New.
12191         (RTX_COSTS): Add PROCESSOR_PPC8540.
12192         (ASM_CPU_SPEC): Add case for 8540.
12193         (TARGET_OPTIONS): Add isel= case.
12194         (rs6000_spe_abi): New.
12195         (rs6000_isel): New.
12196         (rs6000_fprs): New.
12197         (rs6000_isel_string): New.
12198         (UNITS_PER_SPE_WORD): New.
12199         (LOCAL_ALIGNMENT): Adjust for SPE.
12200         (HARD_REGNO_MODE_OK): Same.
12201         (DATA_ALIGNMENT): Same.
12202         (MEMBER_TYPE_FORCES_BLK): New.
12203         (FIRST_PSEUDO_REGISTER): Set to 113.
12204         (FIXED_REGISTERS): Add SPE registers.
12205         (reg_class): Same.
12206         (REG_CLASS_NAMES): Same.
12207         (REG_CLASS_CONTENTS): Same.
12208         (REGNO_REG_CLASS): Same.
12209         (REGISTER_NAMES): Same.
12210         (DEBUG_REGISTER_NAMES): Same.
12211         (ADDITIONAL_REGISTER_NAMES): Same.
12212         (CALL_USED_REGISTERS): Same.
12213         (CALL_REALLY_USED_REGISTERS): Same.
12214         (SPE_ACC_REGNO): New.
12215         (SPEFSCR_REGNO): New.
12216         (SPE_SIMD_REGNO_P): New.
12217         (HARD_REGNO_NREGS): Adjust for SPE.
12218         (VECTOR_MODE_SUPPORTED_P): Same.
12219         (REGNO_REG_CLASS): Same.
12220         (FUNCTION_VALUE): Same.
12221         (LIBCALL_VALUE): Same.
12222         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
12223         (SPE_VECTOR_MODE): New.
12224         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
12225         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
12226         (rs6000_stack): Add spe_gp_size, spe_padding_size,
12227         spe_gp_save_offset.
12228         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
12229         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
12230         (SPE_CONST_OFFSET_OK): New.
12231         (rs6000_builtins): Add SPE builtins.
12232
12233         * testsuite/gcc.dg/ppc-spe.c: New.
12234
12235         * config/rs6000/eabispe.h: New.
12236
12237         * config/rs6000/spe.h: New.
12238
12239         * config/rs600/spe.md: New.
12240
12241         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
12242         __SIMD__ for TARGET_SPE.
12243
12244         * config.gcc: Add powerpc-*-eabispe* case.
12245         Add spe.h to user headers for powerpc.
12246
12247 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12248
12249         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
12250         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12251         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
12252
12253 2002-07-24  Richard Henderson  <rth@redhat.com>
12254
12255         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
12256         form when not optimizing.
12257
12258 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
12259
12260         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
12261         thread_pointer_rtx as unchanging.
12262
12263 2002-07-24  Michael Matz  <matz@suse.de>
12264
12265         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
12266         (free_reg): Use it.
12267
12268 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
12269
12270         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
12271         pattern.
12272         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
12273         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
12274
12275 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12276
12277         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
12278         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12279         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
12280
12281 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
12282
12283         * toplev.c (rest_of_compilation): Dump loops before clobbering
12284         the structure.
12285
12286 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12287
12288         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
12289
12290 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
12291
12292         PR optimization/7291
12293         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
12294         problem on x86_64.
12295
12296 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
12297
12298         * pretty-print.h: Add macros from cp/error.c
12299
12300 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12301
12302         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
12303         (mask64_2_operand): Declare.
12304         (build_mask64_2_operands): Declare.
12305         (and64_2_operand): Declare.
12306         (extract_MB): Declare.
12307         (extract_ME): Declare.
12308         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
12309         CONST_DOUBLE code.
12310         (mask_operand_wrap): New insn predicate.
12311         (mask64_2_operand): Likewise.
12312         (and64_2_operand): Likewise.
12313         (build_mask64_2_operands): New function.
12314         (extract_MB): New function.
12315         (extract_ME): New function.
12316         (print_operand <case m,M>): Use extract_MB and extract_ME.
12317         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
12318         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
12319         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
12320         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
12321         * config/rs6000/rs6000.md (andsi3_internal3): New
12322         (andsi3_internal3+1): Enable split for powerpc64.
12323         (andsi3_internal3+2): New split.
12324         (andsi3_internal4): Renamed old andsi3_internal3.
12325         (andsi3_internal5): New.
12326         (andsi3_internal5+1): Enable split for powerpc64.
12327         (andsi3_internal5+2): New split.
12328         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
12329         (anddi3): Handle 't' constraint.
12330         (anddi3+1): New split.
12331         (anddi3_internal2): Handle 't' constraint.
12332         (anddi3_internal2+1): New split.
12333         (anddi3_internal3): Handle 't' constraint.
12334         (anddi3_internal3+1): New split.
12335
12336 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12337
12338         * config/rs6000/rs6000.md: Remove scratch reg on insns using
12339         addze and similar (plus (comparison r1 r2) r3) insns.  Add
12340         missing scratch reg in one case.  Formatting fixes.
12341
12342 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
12343
12344         * cppexp.c (parse_defined): Mark macro used.
12345         * cpphash.h (struct cpp_macro): New member "used".
12346         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
12347         (struct cpp_reader): New member.
12348         * cppinit.c (cpp_finish_options): Set first_unused_line.
12349         (cpp_finish): Warn of unused macros if requested.
12350         (OPT_TABLE): New switches.
12351         (cpp_handle_option): Handle them.
12352         * cpplib.c (do_undef): Warn if macro unused.
12353         (do_ifdef, do_ifndef): Mark macro used.
12354         * cpplib.h (struct cpp_options): New member.
12355         * cppmacro.c (_cpp_warn_if_unused_macro): New.
12356         (enter_macro_context): Mark macro used.
12357         (_cpp_create_definition): Mark macro unused; warn if unused
12358         when redefined.
12359         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
12360         Mark macros used.
12361         * doc/cppopts.texi: Update.
12362
12363 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12364
12365         * dwarf2out.c (SECTION_ASM_OP,
12366         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12367         * system.h (SECTION_ASM_OP): Poison.
12368         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
12369         * config/alpha/alpha-interix.h, config/mips/linux.h
12370         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12371         * config/mmix/mmix-protos.h, config/mmix/mmix.c
12372         (mmix_asm_output_define_label_difference_symbol): Remove.
12373         * config/mmix/mmix.h
12374         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12375         * doc/tm.texi: Remove documentation.
12376
12377 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
12378
12379         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
12380         (constrain_operands): Likewise.
12381         * regclass.c (record_reg_classes): Likewise.
12382         * reload.c (find_reloads): Likewise.
12383         * doc/md.texi: Likewise.
12384
12385         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
12386         * simplify-rtx.c (simplify_subreg): When converting to a non-int
12387         mode, try to convert to an integer mode of matching size first.
12388
12389         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
12390         from individual subregs, check that each subreg has been generated
12391         sucessfully.
12392
12393 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12394
12395         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
12396         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
12397         FOR_EACH_BB_IN_SBITMAP): Remove.
12398         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
12399         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
12400         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
12401         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
12402         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
12403         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
12404
12405 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12406
12407         * pretty-print.h: New file.
12408
12409 2002-07-23      Paul Koning     <pkoning@equallogic.com>
12410
12411         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
12412         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
12413         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
12414         (TARGET_G_FLOAT): Default to 0 if not defined.
12415         (ieeetoe): New, common routine to convert target format floats
12416         to internal form.
12417         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
12418         vs. others.
12419         (e113toe): Change to use ieeetoe.
12420
12421 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12422
12423         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
12424         IBM.
12425         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
12426         (e64toe): Remove special cases for DEC and IBM. Remove support for
12427         ARM_EXTENDED_IEEE_FORMAT.
12428         (e24toe): Remove special cases for DEC.
12429         (significand_size): Simplify. Indent.
12430         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
12431         (etoieee, toieee): New.
12432         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
12433         etoieee and toieee for IEEE arithmetic.
12434
12435 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12436
12437         * doc/extend.texi: Say ISO C90, not ISO C89.
12438         * doc/invoke.texi: Likewise.
12439         * doc/standards.texi: Likewise.
12440
12441 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
12442
12443         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
12444         Fix permutation of conversion and plus/mult.
12445         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
12446         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
12447         (expand_builtin_strncpy) Ditto.
12448         (expand_builtin_memset) Ditto.
12449
12450 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12451
12452         Fix PR/7363:
12453         * c-common.c (c_sizeof_or_alignof_type): New function.
12454         (c_alignof): Remove definition.
12455         * c-common.h (c_sizeof, c_alignof): Define as macros.
12456         (c_sizeof_or_alignof_type): Declare.
12457         (my_friendly_assert): Moved from cp/cp-tree.h
12458         * c-typeck.c (c_sizeof): Remove definition.
12459
12460 2002-07-23  Jan Hubicka  <jh@suse.cz>
12461
12462         * gcse.c (try_replace_reg): Use num_changes_pending.
12463         * recog.c (num_changes_pending): New function.
12464         (validate_replace_src): Use validate_repalce_src_group.
12465         (validate_replace_src_group): New.
12466         * recog.h (validate_repalce_src_group): New.
12467         (num_changes_pending): Likewise.
12468
12469 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12470
12471         * calls.c (emit_library_call_value_1): If
12472         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
12473         libcall, const call nor pure call.
12474
12475 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12476
12477         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
12478
12479 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12480
12481         * vmsdbgout.c (SECTION_ASM_OP): Remove.
12482
12483 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12484
12485         * config/i386/i386.c (AT_BP): Remove.
12486
12487 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12488
12489         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
12490         Default definition.
12491         * gcse.c: Don't define obstack_chunk_free.
12492         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
12493         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
12494         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
12495         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
12496         Don't define obstack macros.
12497
12498 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12499
12500         PR target/6744
12501         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
12502         ASM_OPERANDS instructions.
12503
12504 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12505
12506         PR target/7361
12507         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
12508         constant addresses only on 68HC12.
12509
12510 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12511
12512         * cppfiles.c (stack_include_file): Correct test of whether
12513         a dependency should be output.
12514
12515 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
12516
12517         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
12518
12519 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
12520
12521         * arm.md (movqi): If optimizing and we can create pseudos, use
12522         a ZERO_EXTEND to load from memory, then copy the result into the
12523         target.
12524         (movhi): Likewise, but only for ARMv4.
12525
12526 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12527
12528         * ssa-ccp.c (PHI_PARMS): Remove.
12529
12530 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
12531
12532         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
12533         on big-endian targets.
12534
12535 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12536
12537         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
12538         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
12539         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
12540         New formatting macros.
12541
12542         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
12543
12544 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12545
12546         * rtlanal.c (subreg_regno_offset): Return correct offset for
12547         big endian paradoxical subregs.
12548
12549         * optabs.c (expand_vector_unop): Don't expand using sub_optab
12550         if we got the wrong mode.
12551
12552         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
12553         * genrecog.c (write_switch, write_cond): Use it.
12554         * genemit.c (gen_exp): Likewise.
12555
12556 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12557
12558         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
12559
12560 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12561
12562         * c-decl.c (build_compound_literal): Defer compound literal decls
12563         until until file end to emit them only if they are actually used.
12564
12565 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12566
12567         * ra-build.c (check_conflict_numbers): Hide unused function.
12568         (livethrough_conflicts_bb): Avoid automatic aggregate
12569         initialization.
12570         (parts_to_webs_1): Avoid `U' integer constant modifier.
12571         (conflicts_between_webs): Wrap a variable in the macro controlling
12572         its usage.
12573         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
12574         (dump_igraph, dump_graph_cost): Avoid string concatenation
12575         (dump_static_insn_cost): Avoid automatic aggregate
12576         initialization.
12577         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
12578         initialization.
12579         (dump_cost): Avoid string concatenation
12580
12581 2002-07-21  Richard Henderson  <rth@redhat.com>
12582
12583         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
12584         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
12585
12586 2002-07-21  Richard Henderson  <rth@redhat.com>
12587
12588         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12589         that are not unrolled completely.
12590
12591 2002-07-21  Richard Henderson  <rth@redhat.com>
12592
12593         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12594         * loop.c (strength_reduce): Update.
12595         * toplev.c (rest_of_compilation): Do unrolling in the first
12596         loop pass, not the second.
12597
12598 2002-07-21  Richard Henderson  <rth@redhat.com>
12599
12600         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12601         when flag_argument_noalias == 2.
12602         * alias.c (nonoverlapping_memrefs_p): Handle that.
12603         * print-rtl.c (print_mem_expr): Likewise.
12604
12605 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12606
12607         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12608         instead of __negdi2 directly.
12609
12610 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12611
12612         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12613         * function.c (SYMBOL__MAIN): Remove definition.
12614         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12615         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12616         * profile.c (GCOV_INDEX_TO_BB): Remove.
12617         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12618         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12619
12620 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12621
12622         * c-lex.c (GET_ENVIRONMENT): Remove.
12623         * collect2.c (GET_ENV_PATH_LIST): Remove.
12624         (prefix_from_env): Use GET_ENVIRONMENT.
12625         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12626         (init_standard_includes): Use GET_ENVIRONMENT.
12627         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12628         * gcc.c (GET_ENV_PATH_LIST): Remove.
12629         (make_relative_prefix, process_command): Update.
12630         * protoize.c (GET_ENV_PATH_LIST): Remove.
12631         (do_processing): Update.
12632
12633 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12634
12635         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12636         (grokdeclarator): Likewise.
12637         * c-format.c (C_STD_NAME): Likewise.
12638         * c-lex.c (interpret_integer): Likewise.
12639         * c-typeck.c (build_array_ref): Likewise.
12640         * cpplex.c (_cpp_lex_direct): Likewise.
12641         * toplev.c (documented_lang_options): Likewise.
12642
12643 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12644
12645         * c-format.c (T99_I, T99_UI): Remove.
12646
12647 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12648
12649         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12650
12651 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12652
12653         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12654         do_local_cprop.
12655
12656 2002-07-21  Andreas Jaeger  <aj@suse.de>
12657
12658         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12659
12660 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12661
12662         Improvements for the ifcvt pass from Michael Meissner, with patches
12663         by Richard Sandiford <rsandifo@redhat.com>
12664         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12665         * ifcvt.c (cond_exec_changed_p): New static variable.
12666         (last_active_insn): New function, renamed from last_active_insn_p
12667         and changed to return the last active insn in a basic block. All
12668         callers updated.
12669         (block_fallthru): New function.
12670         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12671         IFCVT_MODIFY_INSN.  All callers updated.
12672         Return false if START or END are NULL.
12673         Handle case where we're processing an insn that is already
12674         conditional.
12675
12676         (noce_process_if_block): CE_INFO argument rather than
12677         multiple args containing the involved basic blocks.  All callers
12678         changed.
12679         (process_if_block, merge_if_block, find_if_block,
12680         cond_exec_process_if_block): Likewise.
12681
12682         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12683         changed.
12684         Use new function last_active_insn to simplify some code.
12685         New code to handle multiple tests.
12686         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12687         cond_exec_changed_p to TRUE.
12688
12689         (process_if_block): New code to handle multiple tests.
12690         (merge_if_block): Likewise.
12691         (find_if_header): New arg PASS.  Changed to return the currently
12692         processed basic block or NULL instead of true/false. All callers
12693         changed.
12694         Call IFCVT_INIT_EXTRA_FIELDS.
12695         (block_jumps_and_fallthru_p): New function.
12696         (find_if_block): Discover opportunities to convert multiple tests.
12697         Add additional debugging output.
12698         Update the ce_info structure before returning.
12699
12700         (if_convert): Run multiple passes of if-conversion.
12701         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12702         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12703         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12704         these macros.
12705
12706 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12707
12708         * gcse.c: Include cselib.h
12709         (constptop_register): Break out from ...
12710         (cprop_insn): ... here; kill basic_block argument.
12711         (do_local_cprop, local_cprop_pass): New functions.
12712         (one_cprop_pass): Call local_cprop_pass.
12713
12714 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12715
12716         * simplify-rtx.c (simplify_relational_operation): Optimize
12717         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12718
12719 2002-07-20  Michae Matz  <matz@suse.de>
12720
12721         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12722
12723 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12724
12725         * cppexp.c (struct op): Add token pointer.
12726         (check_promotion, CHECK_PROMOTION): New.
12727         (optab): Update.
12728         (_cpp_parse_expr): Update, use token pointer of struct op.
12729         (reduce): Warn about change of sign owing to promotion.
12730         * cppinit.c (cpp_handle_option): New warning if -Wall.
12731         * cpplib.h (struct cpp_options): New member.
12732
12733 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12734
12735         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12736         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12737         Power4 fpcompare.
12738         (fix_truncdfsi2_internal): Restore FPR preference.
12739         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12740         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12741
12742 2002-07-19  Momchil Velikov <velco@fadata.bg>
12743
12744         * reload1.c (reload_as_needed): Duplicate oldpat.
12745
12746 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12747
12748         PR optimization/7130
12749         * loop.h (struct loop_info): Add "preconditioned".
12750         * unroll.c (unroll_loop): Set it.
12751         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12752
12753 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12754
12755         * rtl.def (CODE_LABEL): Remove slot 8.
12756         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12757         (LABEL_ALTERNATE_NAME): Delete.
12758         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12759         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12760
12761         * final.c (output_alternate_entry_point): New.
12762         (final_scan_insn): Use it instead of
12763         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12764         of a case label being an alternate entry point.
12765
12766         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12767         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12768         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12769         (field deleted).
12770         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12771
12772         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12773         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12774         * doc/tm.texi: Delete documentation of
12775         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12776
12777 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12778
12779         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12780         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12781         (LINK_SPEC): Define.
12782         (STARTFILE_SPEC): Define.
12783         (ENDFILE_SPEC): Define.
12784
12785         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12786         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12787
12788         * config/mips/iris6-o32-gas.h: New file.
12789         * config.gcc (mips-sgi-irix6*o32): Use it.
12790
12791         * config/mips/t-iris5-gas: New file.
12792         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12793
12794 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12795
12796         * cppexp.c (ALWAYS_EVAL): Remove.
12797         (optab, reduce): Always evaluate.
12798         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12799         only if not skipping evaluation.
12800
12801 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12802
12803         * config/avr/avr.c (debug_hard_reg_set): Remove.
12804
12805 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12806
12807         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12808
12809 2002-07-19  Richard Henderson  <rth@redhat.com>
12810
12811         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12812
12813 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12814
12815         * prefix.c (update_path): Don't zap single `.' path components
12816         unless followed by another `.' and fix typo last patch.
12817
12818 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12819
12820         * cppexp.c (cpp_num_mul): Remove unused parameter.
12821         (UNARY, BINARY, OTHER, binary_handler): Remove.
12822         (ALWAYS_EVAL): New.
12823         (optab): Update.
12824         (reduce): Refactor to a large switch, don't use a function
12825         pointer.
12826
12827 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12828
12829         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12830
12831 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12832
12833         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12834         (sh_expand_binop_v2sf): Likewise.
12835         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12836         (int_gpr_dest, trunc_hi_operand): New functions.
12837         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12838         trunc_hi_operand.
12839         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12840         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12841         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12842         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12843         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12844         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12845         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12846         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12847         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12848         (movsf_ie+1): Likewise.
12849         (loaddi_trunc): Use int_gpr_dest predicate.
12850         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12851         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12852         (casesi_worker_0+[12], casesi_worker): Likewise.
12853         (shcompact_preserve_incoming_args): Likewise.
12854         (mov_nop): Use any_register_operand predicate.
12855         (mperm_w0): Use trunc_hi_operand predicate.
12856
12857 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12858
12859         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12860         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
12861         numbering.
12862
12863 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12864
12865         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
12866
12867 2002-07-18  Richard Henderson  <rth@redhat.com>
12868
12869         PR optimization/7147
12870         * ifcvt.c (noce_get_condition): Make certain that the condition
12871         is valid at JUMP.
12872
12873 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
12874
12875         * sh.c (barrier_align, push): Shut up compiler warnings.
12876         (initial_elimination_offset,sh_media_init_builtins): Likewise.
12877         (reg_no_subreg_operand): Delete.
12878
12879 2002-07-17  Bo Thorsen  <bo@suse.de>
12880
12881         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
12882         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
12883         (STARTFILE_SPEC): Remove hardcoded library paths.
12884         (ENDFILE_SPEC): Likewise.
12885
12886 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
12887
12888         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
12889
12890         * gcse.c (try_replace_reg): Do not return false positives.
12891
12892 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12893
12894         * prefix.c: (update_path): Strip ".." components when prior dir
12895         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
12896
12897         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
12898         (ASM_OUTPUT_REG_POP): Likewise.
12899
12900 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12901
12902         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
12903         adjustments to first_reg for profiling case.
12904         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
12905         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
12906         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
12907         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
12908         (ASM_OUTPUT_REG_POP): Define.
12909         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
12910         (ASM_OUTPUT_REG_POP): Undef.
12911
12912 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12913
12914         * cpplib.c (do_sccs): Handle #sccs on all systems.
12915         * system.h (SCCS_DIRECTIVE): Poison.
12916         * config/darwin.h, config/freebsd.h, config/netbsd.h,
12917         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
12918         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
12919         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
12920         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
12921         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
12922         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
12923         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
12924         Remove all references to SCCS_DIRECTIVE.
12925         * doc/cpp.texi, doc/tm.texi: Update.
12926
12927 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
12928
12929         * regrename.c (maybe_mode_change): New function.
12930         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
12931
12932 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
12933
12934         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
12935         suppress addition when either ct or cf are zero.
12936
12937 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
12938             Glen Nakamura <glen@imodulo.com>
12939
12940         PR optimization/6713
12941         * loop.c (loop_givs_rescan): Explicitly delete the insn that
12942         sets a non-replaceable giv after issuing the new one.
12943
12944 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12945
12946         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
12947         eval_token): Clarify and correct use of "bool" variables.
12948         * cpplib.h (struct cpp_options): Similarly.
12949         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
12950         * cpptrad.c (recursive_macro): Similarly.
12951
12952 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
12953
12954         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
12955         SHmedia code.
12956
12957         * sh.md (cmpgtudi_media): Remove spurious @.
12958
12959         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
12960         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
12961
12962         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
12963         * sh-protos.h (sh_initialize_trampoline): Declare.
12964         * sh.c (sh_initialize_trampoline): New function.
12965         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
12966         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
12967         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
12968         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
12969         * sh.md (initialize_trampoline, double_shori): New patterns.
12970         (initialize_trampoline_compact): Likewise.
12971         (shmedia32_initialize_trampoline_big): Remove.
12972         (shmedia32_initialize_trampoline_little): Likewise.
12973
12974         * sh-protos.h (binary_float_operator): Remove declaration.
12975         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
12976         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
12977         (unary_float_operator, sh_expand_unop_v2sf): New functions.
12978         (sh_expand_binop_v2sf): Likewise.
12979         (zero_vec_operand): Delete.
12980         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
12981         all non-shared ones.
12982         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
12983         Enable nsb and byterev.
12984         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
12985         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
12986         in general regs.
12987         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
12988         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
12989         immediate operands.
12990         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
12991         Add DF_HI_REGS.
12992         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
12993         lowpart fp regs - only for big endian for now.
12994         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
12995         when FPU is in use.
12996         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
12997         (LOAD_EXTEND_OP): NIL for SImode.
12998         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
12999         general and fp registers is 4.
13000         PREDICATE_CODES: Amend binary_float_operator entry.
13001         Remove zero_vec_operand.  Add unary_float_operator.
13002         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
13003         subreg SET_DEST.
13004         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
13005         (truncdiqi2): Do sign extension.
13006         (movsi_media, movdi_media): Allow to use r63 to an fp register.
13007         (movdf_media, movsf_media): Likewise.
13008         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
13009         Collapse to one define_insn_and_split.  Allow immediate sources.
13010         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
13011         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
13012         (movv4sf): Allow immediate sources.
13013         (movsf_media_nofpu+1): Don't split moves to FP registers.
13014         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
13015         (movv8qi_i+3): Check against CONST0_RTX.
13016         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
13017         for input and output operands.  Fix argument 3 to gen_mextr_rl.
13018         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
13019         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
13020         (mshf0_w, fipr, ftrv): Likewise.
13021         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
13022
13023 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
13024
13025         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
13026         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
13027         * arm.c: Similarly.
13028
13029 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
13030
13031         * config/mips/mips-protos.h (mips_sign_extend): Declare.
13032         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
13033         (TARGET_SWITCHES): Remove debugh.
13034         (ISA_HAS_TRUNC_W): New macro.
13035         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
13036         (PREDICATE_CODES): Remove se_nonimmediate_operand.
13037         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
13038         any SImode move_operand.
13039         (se_nonimmediate_operand): Remove.
13040         (mips_sign_extend): New.
13041         (mips_move_2words): Use it for sign-extended source operands.
13042         (override_options): Allow integers to be put into single FPRs.
13043         (mips_secondary_reload_class): Handle integers in float registers.
13044         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
13045         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
13046         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
13047         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
13048         (fix_truncdfdi2): Provide only a single alternative, in which the
13049         integer is in a float register.  Depend on TARGET_FLOAT64 rather
13050         than TARGET_64BIT.
13051         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
13052         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
13053         (movdi_internal2): Don't allow the source operand to be sign-extended.
13054         Add alternatives for float registers.
13055         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
13056         allows sign-extension.
13057         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
13058         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
13059         float registers.  Remove TARGET_DEBUG_H_MODE test.
13060         (movhi_internal1): Rename to movhi_internal.  Don't check
13061         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
13062         (movqi_internal1): Rename to movqi_internal and remove
13063         TARGET_DEBUG_H_MODE dependency.
13064         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
13065
13066 2002-07-16  Jim Wilson  <wilson@redhat.com>
13067
13068         * toplev.c (lang_dependent_init): Create function context for
13069         init_expr_once.
13070
13071 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
13072
13073         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
13074         --gc-sections if -r.
13075         * config/cris/cris.h: Ditto.
13076
13077 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
13078
13079         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
13080         the comparison directly gives a mask suppress addition when cf is
13081         zero by complementing the mask.
13082
13083 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
13084
13085         * Makefile.in: Delete references to enquire.
13086         * enquire.c: Move to contrib.
13087
13088 2002-07-16  Stan Shebs  <shebs@apple.com>
13089
13090         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
13091         config/rs6000/darwin.h.
13092         (ASM_OUTPUT_SKIP): Ditto.
13093         (TEXT_SECTION_ASM_OP): Ditto.
13094         (DATA_SECTION_ASM_OP): Ditto.
13095         (ASM_APP_ON): Define.
13096         (ASM_APP_OFF): Define.
13097         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
13098         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
13099
13100         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
13101         (machopic_function_base_name): Declare result to be const.
13102         (machopic_non_lazy_ptr_name): Ditto.
13103         (machopic_stub_name): Ditto.
13104         * config/darwin-protos.h: Ditto for the prototypes.
13105
13106 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
13107
13108         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
13109
13110 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
13111
13112         * i386.md (prefetch): Fix for 64bit mode.
13113         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13114
13115 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13116
13117         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
13118         * i386.c (x86_machine_dependent_reorg): New function.
13119         * i386-protos.h (x86_machine_dependent_reorg): Declare.
13120
13121 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
13122
13123         * builtins.c (std_expand_builtin_va_start): Remove unused
13124         first argument.
13125         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
13126         std_expand_builtin_va_start with just two arguments.
13127         * expr.h: Update prototypes.
13128
13129         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
13130         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
13131         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
13132         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
13133         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
13134         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
13135         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
13136         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
13137         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
13138         argument from all implementations of EXPAND_BUILTIN_VA_START
13139         and all uses of std_expand_builtin_va_start.
13140
13141 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
13142
13143         * regrename.c (copy_value): Don't record high part copies.
13144
13145 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
13146
13147         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
13148         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
13149         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
13150
13151 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13152
13153         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
13154
13155         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
13156         into addsi3 using register class "x" and "y".
13157
13158         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
13159         "earlyclobber" constraint modifier for some alternative.
13160
13161         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
13162         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
13163         unordered.
13164         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
13165
13166         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
13167         (TARGET_SWITCHES): Add -mieee-compare option.
13168         (OVERRIDE_OPTIONS): 32332 is a subset of
13169         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
13170         (TARGET_SWITCHES): Fix description of bitfield option.
13171         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
13172         -mieee-compare option. Remove 32332 flag.
13173
13174 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
13175
13176         * explow.c (convert_memory_address): Remove special handling
13177         when POINTERS_EXTEND_UNSIGNED < 0.
13178         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
13179         (movedi_symbolic): Fix typo.
13180         (load_fptr): Remove mode restriction so it works for SI and DI.
13181         (load_fptr_internal1): Ditto.
13182         (load_gprel): Ditto.
13183         (load_symptr_internal1): Ditto.
13184         (call_pic): Ditto.
13185         * config/ia64.c (call_operand): Modify mode check.
13186         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
13187         (ia64_expand_move): Ditto.
13188         (ia64_assemble_integer): Handle SImode function pointers.
13189         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
13190         (ia64_expand_op_and_fetch): Ditto.
13191         (ia64_expand_compare_and_swap): Ditto.
13192         (ia64_expand_lock_test_and_set): Ditto.
13193         (ia64_expand_lock_release): Ditto.
13194
13195 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13196
13197         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
13198
13199 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13200             Richard Earnshaw  <rearnsha@arm.com>
13201
13202         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
13203         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
13204
13205 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
13206
13207         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
13208         understands to be a memory clobber.
13209         * arm.c (arm_expand_prologue): Use it.
13210
13211 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
13212
13213         * ra-rewrite.c: #include reload.h, insn-config.h
13214         * ra-build.c: #include reload.h
13215         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
13216         depend on reload.h, insn-config.h.
13217
13218 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13219
13220         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
13221         the same size as a word.
13222
13223         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
13224         BYTES_BIG_ENDIAN into account.
13225
13226 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
13227
13228         * i386.md (prefetch): Fix for 64bit mode.
13229         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13230
13231         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
13232
13233 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13234
13235         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
13236
13237 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
13238
13239         * ginclude/varargs.h: Replace with stub which issues #error.
13240         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
13241         __builtin_va_start.
13242
13243         * builtins.def (BUILT_IN_VARARGS_START): Delete.
13244         (BUILT_IN_VA_START): New.
13245         * builtins.c (expand_builtin_va_start): Eliminate first
13246         argument and code to implement pre-ISO varargs.
13247         (std_expand_builtin_va_start): Ignore first argument; it is
13248         always 1.
13249         (expand_builtin): Handle BUILT_IN_VA_START and
13250         BUILT_IN_STDARG_START identically.  Delete
13251         BUILT_IN_VARARGS_START case.
13252
13253         * function.c (assign_parms): Delete hide_last_arg and all
13254         its uses.
13255         (mark_varargs): Delete function.
13256         * function.h (struct function): Delete 'varargs' bit.
13257         (current_function_varargs): Delete macro.
13258         * tree.h: Don't declare mark_varargs.
13259
13260         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
13261         (c_expand_body): Don't call mark_varargs.
13262         * c-objc-common.c: Handle BUILT_IN_VA_START and
13263         BUILT_IN_STDARG_START identically.  Delete
13264         BUILT_IN_VARARGS_START case.
13265         * c-tree.h: Don't declare c_mark_varargs.
13266         * c-parse.in: Remove grammar rules for '&...' (which has been
13267         commented out since before 2.7.2) and for '...' in K+R
13268         argument declarations.
13269
13270         * builtins.c, function.c, integrate.c, sibcall.c,
13271         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
13272         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
13273         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
13274         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
13275         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
13276         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
13277         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
13278         config/stormy16/stormy16.c: Delete all references to
13279         current_function_varargs, and code predicated on that flag.
13280
13281         * config/alpha/alpha.c (alpha_va_start),
13282         config/arc/arc.c (arc_va_start),
13283         config/i386/i386.c (ix86_va_start),
13284         config/mips/mips.c (mips_va_start),
13285         config/mn10300/mn10300.c (mn10300_va_start),
13286         config/rs6000/rs6000.c (rs6000_va_start),
13287         config/s390/s390.c (s390_va_start),
13288         config/sh/sh.c (sh_va_start),
13289         Ignore first argument; it is always 1.
13290
13291         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
13292         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
13293         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
13294         Delete m68hc11_va_start.
13295         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
13296         No need to define EXPAND_BUILTIN_VA_START.
13297
13298         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
13299         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
13300
13301 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
13302
13303         PR optimization/7153
13304         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
13305         dies in more than one insn.
13306
13307 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
13308
13309         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
13310
13311 2002-07-15  Michael Matz  <matz@suse.de>,
13312             Daniel Berlin  <dberlin@dberlin.org>,
13313             Denis Chertykov  <denisc@overta.ru>
13314
13315         Add a new register allocator.
13316
13317         * ra.c: New file.
13318         * ra.h: New file.
13319         * ra-build.c: New file.
13320         * ra-colorize.c: New file.
13321         * ra-debug.c: New file.
13322         * ra-rewrite.c: New file.
13323
13324         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
13325         (ra-rewrite.o): New .o files for libbackend.a.
13326         (GTFILES): Add basic-block.h.
13327
13328         * toplev.c (flag_new_regalloc): New.
13329         (f_options): New option "new-ra".
13330         (rest_of_compilation): Call initialize_uninitialized_subregs()
13331         only for the old allocator.  If flag_new_regalloc is set, call
13332         new allocator, instead of local_alloc(), global_alloc() and
13333         friends.
13334
13335         * doc/invoke.texi: Document -fnew-ra.
13336         * basic-block.h (FOR_ALL_BB): New.
13337         * config/rs6000/rs6000.c (print_operand): Write small constants
13338         as @l+80.
13339
13340         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
13341         (df_reg_table_realloc): Make size at least as large as max_reg_num().
13342         (df_insn_table_realloc): Size argument now is absolute, not relative.
13343         Changed all callers.
13344
13345         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
13346         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
13347
13348         2002-06-20  Michael Matz  <matz@suse.de>
13349
13350         * df.h (struct ref.id): Make unsigned.
13351         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
13352
13353         2002-06-13  Michael Matz  <matz@suse.de>
13354
13355         * df.h (DF_REF_MODE_CHANGE): New flag.
13356         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
13357         involving subregs with invalid mode changes, when
13358         CLASS_CANNOT_CHANGE_MODE is defined.
13359
13360         2002-05-07  Michael Matz  <matz@suse.de>
13361
13362         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
13363
13364         2002-05-03  Michael Matz  <matz@suse.de>
13365
13366         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
13367
13368         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
13369
13370         * regclass.c (regclass): Work with all regs which have sets or
13371         refs.
13372         (reg_scan_mark_refs): Count regs inside (clobber ...).
13373
13374         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
13375
13376         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
13377         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
13378         add new refs.
13379         (df_bb_refs_update): Don't clear insns_modified here, ...
13380         (df_analyse): ... but here.
13381
13382         * sbitmap.c (dump_sbitmap_file): New.
13383         (debug_sbitmap): Use it.
13384
13385         * sbitmap.h (dump_sbitmap_file): Add prototype.
13386
13387         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
13388
13389         * df.c (df_insn_modify): Grow the UID table if necessary, rather
13390         than assume all emits go through df_insns_modify.
13391
13392         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
13393
13394         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
13395         increase REG_N_REFS (like flow does), so that regclass doesn't
13396         think a reg is useless, and thus, not calculate a class, when it
13397         really should have.
13398
13399         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
13400
13401         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
13402         dataflow analysis.
13403
13404 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
13405
13406         PR middle-end/7245
13407         * config/i386/i386.c (const_int_1_31_operand): New.
13408         * config/i386/i386.h (PREDICATE_CODES): Add it.
13409         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
13410         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
13411         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
13412
13413 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
13414
13415         PR target/7282
13416         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
13417         (floatunssidf2): Likewise.
13418         (floatsidf_ppc64): New insn_and_split.
13419         (floatunssidf_ppc64): Likewise.
13420
13421 2002-07-14  Andreas Jaeger  <aj@suse.de>
13422
13423         * config.gcc (sh64): Remove unused
13424         target_requires_64bit_host_wide_int.
13425
13426 2002-07-12  Roger Sayle  <roger@eyesopen.com>
13427
13428         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
13429         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
13430         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
13431         whether clear_by_pieces should be used to clear storage.
13432         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
13433
13434         * doc/tm.texi: Document these two new target macros.
13435
13436 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
13437
13438         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
13439         the scratch register.
13440         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
13441         of it, forbid reload to use it.
13442
13443 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13444
13445         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
13446         usage on 64-bit hosts, return value was truncated to 32 bits.
13447
13448 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
13449
13450         * simplify-rtx.c (simplify_subreg): Handle floating point
13451         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
13452         the element mode is requested, compute a subreg with an
13453         integer mode of the same size as the element mode first.
13454
13455 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13456
13457         * combine.c (try_combine): When converting a paradoxical subreg
13458         to an extension, take LOAD_EXTEND_OP into account.
13459
13460 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13461
13462         * config.gcc (mips-sgi-irix6*o32): New configuration.
13463
13464         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
13465         configurations.
13466         * configure: Regenerate.
13467
13468         * config/mips/iris6-o32-as.h: New file.
13469         * config/mips/iris6-o32.h: New file.
13470
13471         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
13472         (NM_FLAGS): Define.
13473         (HAVE_AS_SHF_MERGE): Undefine.
13474
13475         * config/mips/t-iris5-as: New file.
13476         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
13477
13478         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
13479         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
13480         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
13481         dp-bit.c, fp-bit.c): Move ...
13482         * config/mips/t-iris5-6: ... here.
13483         New file, shared by IRIX 5 and IRIX 6.
13484         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
13485         mips-sgi-irix5*): Use it.
13486
13487         * config/mips/iris6.h: Remove duplicate comment.
13488
13489         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
13490         !TARGET_IRIX6]: Define.
13491         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
13492
13493         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
13494
13495 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13496
13497         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
13498         and delete code to force constant to register.
13499         * pa-protos.h (adddi3_operand): Add prototype.
13500         * pa.c (adddi3_operand): New function.
13501
13502 2002-07-11  Roger Sayle  <roger@eyesopen.com>
13503
13504         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
13505         non-ANSI builtin functions.
13506
13507 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
13508
13509         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
13510         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
13511         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
13512         (gen_const_vector_0): Use it.
13513
13514 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13515
13516         * pa.md (adddi3): For 32-bit targets, force constants to a register
13517         if they don't fit in an 11-bit immediate.  Change insn predicate to
13518         arith11_operand.  Remove comment.
13519         * pa.c (cint_ok_for_move): Fix comment.
13520         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
13521         targets.
13522
13523 2002-07-11  Tim Josling  <tej@melbpc.org.au>
13524
13525         Remove front end hard coding from gengtype.c.
13526
13527         * Makefile.in
13528         (STAGESTUFF): add gtyp-gen.h
13529         (GTFILES): Remove front end specific files.
13530         (GTFILES_FILES_LANGS): New, from configure..
13531         (GTFILES_FILES_FILES): Likewise.
13532         (GTFILES_LANG_DIR_NAMES): Likewise.
13533         (GTFILES_SRCDIR): Likewise.
13534         (gtyp-gen.h): Build from configure information.
13535         (s-gtype): Remove command line parameters from gengtype.
13536         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
13537         (mostlyclean): Delete files generated by and for gengtype.
13538
13539         * c-config-lang.in: New file.
13540
13541         * configure.in (all_gtfiles_files_langs): New. Accumulate files
13542         for each language.
13543         (all_gtfiles_files_files): New. Accumulate language for each file
13544         accumulated.
13545         (gtfiles): Pick up value for C.
13546         (srcdir): AC-SUBST this variable.
13547         (all_gtfiles_files_langs): AC-SUBST this variable.
13548         (all_gtfiles_files_files): AC-SUBST this variable.
13549
13550         * configure: Regenerate.
13551
13552         * gengtype-lex.l (parse_file): Make parameter const.
13553
13554         * gengtype.c (toplevel): include gtyp-gen.h.
13555         (BASE_FILE_<language> unnamed enum): Delete.
13556         (lang_names): Delete (replaced by gtyp-gen.h)
13557         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
13558         all references.
13559         (NUM_GT_FILES): New.
13560         (NUM_LANG_FILES): New.
13561         (srcdir_len): New.
13562         (NUM_BASE_FILES): Change calculation.
13563         (open_base_files): Change prototype to avoid warning.
13564         (startswith): Delete.
13565         (get_file_basename): Iterate through generated language list not
13566         hard coded list.
13567         (get_base_file_bitmap): Use generated list of files and languages.
13568         (close_output_files): Add prototype to rmove warning.
13569         (main): Iterate through list of generated files from gtyp-gen.h
13570         rather than command line paramaters.  Ignore duplicated file
13571         names.
13572
13573         * gengtype.h (parse_file): Amend prototype for const parameter.
13574
13575         * doc/sourcebuild.texi: Document gtfiles variable.
13576
13577         * doc/gty.texi: Document changes to gtfiles variable for front
13578         ends.
13579
13580         * objc/config-lang.in (gtfiles): Add files needed for objc front
13581         end.
13582
13583 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13584
13585         PR c/2454
13586         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
13587         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
13588
13589 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13590             Zack Weinberg <zack@codesourcery.com>
13591
13592         * builtins.def: Make the argument types of abort and exit
13593         independent of the front-end.
13594
13595 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13596
13597         * config/rs6000/linux64.h (ASM_SPEC): Define.
13598
13599 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13600
13601         * config/rs6000/rs6000.c (emit_frame_save): New.
13602         (rs6000_frame_related): Replace reg2 before reg.
13603         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13604         and eh_return registers.
13605
13606 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13607
13608         Revert all patches for optimization of Complex .op. Real.
13609         * complex_part_zero_p: Remove
13610         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13611         with x.
13612         * expand_cmplxdiv_wide: Ditto.
13613         * expand_binop: Ditto.
13614
13615 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13616
13617         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13618         negative also on 64-bit hosts.
13619
13620         Default to -fno-reorder-blocks when optimizing for size.
13621         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13622         * config/avr/avr.c (avr_optimization_options): New function.
13623         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13624
13625         Optimize returning from simple functions.
13626         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13627         * config/avr/avr.c (avr_simple_epilogue): New function.
13628         * config/avr/avr.md (return): New insn.
13629
13630 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13631
13632         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13633         HAS_INIT_SECTION to protection.
13634
13635 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13636
13637         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13638         deprecated.
13639
13640 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13641
13642         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13643         Supply non-VOID mode to simplify_gen_subreg.
13644
13645 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13646
13647         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13648
13649 2002-07-10  Jeffrey A Law  <law@redhat.com>
13650
13651         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13652         as appropriate.
13653
13654         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13655         register to use.
13656
13657 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13658
13659         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13660         Get mode from dest.
13661         If simplify_gen_subreg fails, try next equivalent.
13662
13663 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13664
13665         * diagnostic.h: #include location.h
13666         (location_t): Move definition to..
13667         * location.h: ... here.  New file.
13668         * tree.h: #include location.h
13669         (DECL_SOURCE_LOCATION): New macro.
13670         (DECL_SOURCE_FILE): Use.
13671         (DECL_SOURCE_LINE): Likewise.
13672         (struct tree_decl): REplace filename and linenum with locus.
13673         * Makefile.in (TREE_H): add location.h
13674         (diagnostic.o): Depends on gt-location.h
13675         (gt-location.h): Depends on s-gtype
13676
13677 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13678
13679         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13680         TARGET_OS_CPP_BUILTINS.
13681         * config/rs6000/aix31.h: Likewise.
13682         * config/rs6000/aix41.h: Likewise.
13683         * config/rs6000/aix43.h: Likewise.
13684         * config/rs6000/aix51.h: Likewise.
13685         * config/rs6000/beos.h: Likewise.
13686         * config/rs6000/darwin.h: Likewise.
13687         * config/rs6000/eabi.h: Likewise.
13688         * config/rs6000/eabisim.h: Likewise.
13689         * config/rs6000/linux.h: Likewise.
13690         * config/rs6000/linux64.h: Likewise.
13691         * config/rs6000/lynx.h: Likewise.
13692         * config/rs6000/mach.h: Likewise.
13693         * config/rs6000/rtems.h: Likewise.
13694         * config/rs6000/sysv4.h: Likewise.
13695         * config/rs6000/vxppc.h: Likewise.
13696
13697 2002-07-09 Devang Patel <dpatel@apple.com>
13698         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13699         Do not allow ObjC objects as a parameter type for Objective-C methods.
13700         My previous patch restricted  'struct' also.
13701
13702 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13703
13704         * cpperror.c (cpp_error): Default to directive_line within
13705         directives here.
13706         * cppexp.c (cpp_interpret_integer): Only use traditional
13707         number semantics in directives.
13708         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13709         (do_include_common): Similarly.
13710         * cpptrad.c (scan_out_logical_line): Implement accurate
13711         quoting of <> in #include.
13712         * doc/cpp.texi: Update.
13713
13714 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13715                           J"orn Rennecke <joern.rennecke@superh.com>
13716
13717         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13718         * sh.md (attribute issues): Replace with:
13719         (attribute pipe_model).  All users changed.
13720         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13721         All users changed.
13722         (function units sh5issue, sh5fds): New.
13723         (attribute is_mac_media): New.
13724         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13725         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13726         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13727         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13728         (call_media, call_value_media, sibcall_media): Likewise.
13729         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13730         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13731         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13732         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13733         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13734         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13735         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13736         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13737         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13738         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13739         (truncdfsf2_media): Likewise.
13740         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13741         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13742
13743 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13744
13745         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13746         * sh.c (general_extend_operand, inqhi_operand): New functions.
13747         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13748         alternatives using 'N' modifier.  Add type.
13749         (adddi3z_media): Likewise.  Enable generator function generation.
13750         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13751         exact predicates / constraints.  Add type.
13752         (subsi3): Allow 0 for SHMEDIA.
13753         (udivsi3_i4_media): Use match_operand for input values
13754         rather than hard registers.
13755         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13756         unnecessarily through hard registers.  Keep copies of pseudo
13757         registers outside of the libcall sequence.
13758         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13759         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13760         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13761         (extendhidi2, extendqidi2): Likewise.
13762         (andsi3_compact): Name.
13763         (andcdi3): Enable generator function generation.
13764         (zero_extendhisi2, zero_extendqisi2): Rename to
13765         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13766         (extendhisi2, extendqisi2): Rename to
13767         (extendhisi2_compact, extendqisi2_compact).
13768         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13769         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13770         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13771         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13772         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13773         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13774         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13775         (shmedia32_initialize_trampoline_big): Likewise.
13776         (shmedia32_initialize_trampoline_little): Likewise.
13777         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13778         (negdi2): Remove spurious T clobber.
13779         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13780         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13781         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13782         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13783         (ic_invalidate_line_media): Write back data cache before invalidating
13784         instruction cache.  Add type.
13785         (movsf_media): Sign-extend when the destination is a general
13786         purpose register.  Add type.
13787         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13788         (casesi_worker_0+1): Only increment ref count for proper label.
13789         (casesi_worker_0+2): Likewise.
13790
13791 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13792
13793         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13794
13795 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13796
13797         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13798         from Pmode to ptr_mode.
13799         (get_exception_pointer): Ditto.
13800         (connect_post_landing_pads): Ditto.
13801         (dw2_build_landing_pads): Ditto.
13802
13803 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13804         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13805         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13806         (handle_pragma_redefine_extname): Change to use new function.
13807
13808 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13809
13810         * combine.c (combine_simplify_rtx): Add an explicit cast
13811         to avoid signed/unsigned comparison warning.
13812         (simplify_if_then_else): Likewise.
13813         (extended_count): Likewise.
13814         (simplify_shift_const): Likewise.
13815         (simplify_comparison): Likewise.
13816
13817 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13818
13819         * config/mips/mips.md: Add imadd type.  Update scheduler description
13820         to use imadd as well as imul.
13821         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13822         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13823         (*mul_sub_si): Likewise for first alternative.  Change second
13824         alternative from imul to multi.
13825
13826 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13827
13828         * c-common.c (c_common_post_options): Update prototype;
13829         don't init backends if preprocessing only.
13830         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13831         * langhooks.h (struct lang_hooks): Update post_options to
13832         return a boolean.
13833         * toplev.c (parse_options_and_default_flags, do_compile,
13834         lang_independent_init): Update prototypes.  Allow the
13835         front end to specify that there is no need to initialize
13836         the back end.
13837         (general_init): Move call to hex_init here...
13838         (toplev_main): ...from here.  Pass flag for back end init
13839         suppression.
13840
13841 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13842
13843         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13844         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13845         greater_comparison_operator and less_comparison_operator.
13846         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13847         more operators.
13848         (equality_comparison_operator): New function.
13849         (greater_comparison_operator, less_comparison_operator): Likewise.
13850         * sh.md (beq_media_i): Disable generator function generation.
13851         Use match_operator to handle a whole class of comparisons.  Add
13852         modifier in output template to provide branch prediction.  Add type.
13853         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13854         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13855         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13856         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13857
13858 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13859
13860         Emit MMIX function prologue and epilogue as rtl.
13861         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
13862         not unprototyped get_hard_reg_initial_val.
13863         ("call_value", "nonlocal_goto_receiver"): Ditto.
13864         ("return"): Make define_expand.  Move real insn to...
13865         ("*expanded_return"): New pattern.
13866         ("prologue", "epilogue"): New define_expands.
13867         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
13868         (struct machine_function): New member in_prologue.
13869         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
13870         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
13871         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
13872         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
13873         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
13874         (LOCAL_REGNO): Define.  Adjust comment.
13875         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
13876         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
13877         leaf_function_p.
13878         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
13879         the prologue.
13880         (mmix_target_asm_function_prologue): Make static.  Just mark that
13881         the prologue is being emitted.  Move guts to...
13882         (mmix_expand_prologue): New function.  Adjust for emitting
13883         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
13884         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
13885         \n.  Move guts to...
13886         (mmix_expand_epilogue): New function.  Adjust for emitting
13887         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
13888         (mmix_target_asm_function_end_prologue): Mark that the prologue
13889         has ended.
13890         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
13891         (mmix_conditional_register_usage): Improve comments.
13892         (mmix_local_regno): New function.
13893         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
13894         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
13895         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
13896         (mmix_get_hard_reg_initial_val): Ditto.
13897
13898 2002-07-06  Andreas Jaeger  <aj@suse.de>
13899
13900         * toplev.c (set_fast_math_flags): Don't use ISO C style function
13901         definitions.
13902         * gengtype.c (open_base_files): Likewise.
13903         (close_output_files): Likewise.
13904         * tracer.c (find_best_predecessor): Likewise.
13905         (find_best_successor): Likewise.
13906         (ignore_bb_p): Likewise.
13907
13908 2002-07-05  Roger Sayle  <roger@eyesopen.com>
13909
13910         PR c++/7099
13911         * builtin-attrs.def: Define new attribute lists for use in
13912         builtins.def.
13913         * builtins.def [DEF_BUILTIN]: Modify to take an additional
13914         ATTRS argument, an enumerated value defined in builtin-attrs.def
13915         that represents the attribute list for the builtins.  Modify
13916         all builtin functions to pass an appropriate attribute list.
13917         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
13918         their required noreturn attributes.
13919         * tree.h (enum_builtin_function): Ignore the additional parameter
13920         to DEF_BUILTIN.
13921         * builtins.c (built_in_names): Likewise.
13922         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
13923         argument with a tree representing the functions attribute list.
13924         Pass this "attrs" argument to builtin_function.  No longer handle
13925         the noreturn_p processing manually.
13926         (built_in_attributes): Move the definitions from builtin-attrs.def
13927         before c_common_nodes_and_builtins.
13928         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
13929         DEF_BUILTIN, passing it to both builtin_function and the changed
13930         builtin_function_2.
13931
13932         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
13933         __builtin__exit and __builtin__Exit.
13934
13935 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13936
13937         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
13938         QI mode registers in soft registers.
13939         ("zero_extendqihi2"): Do not take into account soft registers
13940         for register allocation (use '*' constraint).
13941
13942 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13943
13944         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
13945         it is dead.
13946         ("*ashrsi3"): Likewise.
13947         ("*lshrsi3"): Likewise.
13948
13949 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
13950
13951         * genautomata.c (output_max_insn_queue_index_def): Take latencies
13952         into account.
13953
13954 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13955
13956         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
13957         address computation and memory moves.
13958
13959 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
13960
13961         PR c++/6706
13962         * dwarfout.c (output_reg_number): Fix warning message.
13963         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
13964         before using it.
13965
13966 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13967
13968         * gcc/gcc.c (asm_debug): Move initialization ...
13969         (init_spec): ... here.
13970
13971 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13972
13973         * c-parse.in (extdef): Append ';'.
13974         (old_style_parm_decls): Append ';'.
13975
13976 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
13977
13978         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
13979         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
13980         to gcc_cv_as_gstabs_flag.
13981         * configure: Rebuilt.
13982
13983 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
13984
13985         * ggc.h (ggc_add_root): Document as obsolete.
13986
13987 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
13988
13989         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
13990         (mshflo_w): Likewise.
13991
13992 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
13993
13994         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
13995         vector mode subregs of constants to finding integer mode
13996         subregs of constants.
13997         * cse.c (cse_insn): Use simplify_gen_subreg.
13998         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
13999         From a vector mode expression of different size than the
14000         target mode.
14001
14002 2002-07-03  Eric Christopher  <echristo@redhat.com>
14003
14004         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
14005         * config/mips/mips.h: Remove deprecated -m<processor> options
14006         and cc1_cpu_spec associated.
14007         (CONSTANT_ADDRESS_P): Fix last patch.
14008         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
14009         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
14010         sunge_sf): Remove.
14011
14012 2002-07-03  Stan Shebs  <shebs@apple.com>
14013
14014         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
14015         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
14016         (CPP_SPEC): Remove insertion of APPLE_CC definition.
14017
14018 2002-07-03  Roger Sayle  <roger@eyesopen.com>
14019
14020         * combine.c (struct_undo): Change types of recorded substitutions
14021         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
14022         (do_SUBST_INT): Change types of the substitution from unsigned int
14023         to int, to avoid compilation warning from SUBST_INT's only caller.
14024
14025         (make_extraction): Add cast to avoid compilation warning.
14026         (force_to_mode): Remove cast to avoid compilation warning.
14027
14028 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
14029             Jeff Law  <law@redhat.com>
14030
14031         * i386.md (length_immediate attribute): Fix typo.
14032         (length_address attribute): Likewise.
14033         (modrm attribute): Set it to 0 for immediate call instructions.
14034         (jcc_1 pattern): Set modrm attribute to 0.
14035         (jcc_2 pattern ): Likewise.
14036         (jump pattern): Likewise.
14037         (doloop_end_internal pattern): Explicitly set length.
14038         (leave pattern): Fix typo.
14039         (leave_rex64 pattern): Likewise.
14040
14041 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
14042
14043         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
14044         in FPR as preference.
14045         (fctiwz): Same.
14046         (floatdidf2, fix_truncdfdi2): Same.
14047         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
14048         (floatditf2): Same.
14049         (floatsitf2, fix_trunctfsi2): SImode in GPR.
14050         (ctrdi): Remove FPR alternative and splitter.
14051
14052 2002-07-03  Will Cohen  <wcohen@redhat.com>
14053
14054         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
14055
14056 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
14057
14058         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
14059         than UNITS_PER_WORD, unless this is little endian and the first unit
14060         in this word.  Let extract_bit_field decide how to load an element.
14061         Force arguments to matching mode.
14062         (expand_vector_unop): Likewise.
14063
14064         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
14065         consist of word_mode elements.
14066         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
14067         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
14068         (build_unary_op): Allow vector types for BIT_NOT_EPR.
14069         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
14070         CONST_VECTOR.
14071         * optabs.c (expand_vector_binop): Try to perform operation in
14072         smaller vector modes with same inner size.  Add handling of AND, IOR
14073         and XOR.  Reject expansion to inner-mode sized scalars when using
14074         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
14075         (expand_vector_unop): Try to perform operation in smaller vector
14076         modes with same inner size.  Add handling of one's complement.
14077         When there is no vector negate operation, try a vector subtract
14078         operation.  Use simplify_gen_subreg on constants.
14079         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
14080         constants into smaller vectors with same inner mode, and to
14081         integer CONST_DOUBLEs.
14082
14083 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14084
14085         * c-parse.in (parsing_iso_function_signature): New variable.
14086         (extdef_1): New, copied from...
14087         (extdef): ... here.  Reset parsing_iso_function_signature.
14088         (old_style_parm_decls):  Reset parsing_iso_function_signature.
14089         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
14090         Warn about ISO C style function definitions.
14091         (nested_function, notype_nested_function): Reset
14092         parsing_iso_function_signature.
14093         (parmlist_2): Set parsing_iso_function_signature.
14094
14095         * doc/invoke.texi (-Wtraditional): Document new behavior.
14096
14097 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
14098
14099         * config.gcc (mips*el-*-*): Use tm_defines to set
14100         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
14101         * config/mips/little.h: Remove.
14102
14103 2002-07-02 Devang Patel <dpatel@apple.com>
14104
14105         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
14106         object as parameter. Prevent something like 'NSObject' to be
14107         used as the type for a method argument.
14108
14109 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
14110
14111         * cpptrad.c: Update comment.
14112
14113 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
14114
14115         * doc/cpp.texi: Update for traditional preprocessing changes.
14116         * goc/cppopts.texi: Similarly.
14117
14118 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
14119
14120         * c-parse.in (designator): Enable designated initializers if ObjC.
14121         (objcmessageexpr): Remove references to objc_receiver_context.
14122         * objc/objc-act.h (objc_receiver_context): Remove decl.
14123         * objc/objc-act.c (objc_receiver_context): Remove.
14124         (lookup_objc_ivar): Test objc_method_context instead of
14125         objc_receiver_context.
14126
14127 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
14128
14129         * sh.c (print_operand, case 'N'): Allow zero vector.
14130         (arith_reg_or_0_operand): Likewise.
14131         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
14132         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
14133         IOR, XOR, PLUS and SET and take their respective constant
14134         ranges into account.
14135         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
14136         * sh.md (subdi3, subdi3_media): Allow zero operand.
14137         (movv8qi_i+3): Only vector that is not split is the zero vector.
14138         Fix operand 3 to simplify_subreg.
14139         (movv2si_i): Split alternative 1.
14140         (mshfhi_l_di_rev+1): New splitter.
14141
14142 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
14143
14144         PR preprocessor/7029
14145         * cppinit.c (cpp_handle_option):  Suppress warnings with an
14146         implicit "-w" for "-M" and "-MM".
14147         * doc/cppopts.texi: Update.
14148
14149 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14150
14151         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
14152         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
14153         builtin_function.
14154
14155 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
14156
14157         * README.Portability: Fix typos.
14158
14159 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
14160
14161         PR target/7177
14162         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
14163         of indirections for register inside sign-extended mem part.
14164
14165 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14166
14167         * tree.h:  Modify builtin_function interface to take an extra
14168         argument ATTRS, which is a tree representing an attribute list.
14169
14170         * c-decl.c (builtin_function): Accept additional parameter.
14171         * objc/objc-act.c (builtin_function): Likewise.
14172         * f/com.c (builtin_function): Likewise.
14173         * java/decl.c (builtin_function): Likewise.
14174         * ada/utils.c (builtin_function): Likewise.
14175         * cp/decl.c (builtin_function): Likewise.
14176         (builtin_function_1): Likewise.
14177
14178         * c-common.c (c_common_nodes_and_builtins): Pass an additional
14179         NULL_TREE argument to builtin_function.  (builtin_function_2):
14180         Likewise.
14181         * cp/call.c (build_java_interface_fn_ref): Likewise.
14182         * objc/objc-act.c (synth_module_prologue): Likewise.
14183         * java/decl.c (java_init_decl_processing): Likewise.
14184         * f/com.c (ffe_com_init_0): Likewise.
14185
14186         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
14187         NULL_TREE argument to builtin_function.
14188         * config/arm/arm.c (def_builtin): Likewise.
14189         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
14190         * config/i386/i386.c (def_builtin): Likewise.
14191         * config/ia64/ia64.c (def_builtin): Likewise.
14192         * config/rs6000/rs6000.c (def_builtin): Likewise.
14193
14194 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
14195
14196         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
14197         * config/mips/t-isa3264: Likewise.
14198         * config/mmix/t-mmix: Likewise.
14199
14200 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14201
14202         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
14203
14204 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14205
14206         PR opt/4046
14207         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
14208         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
14209         B are truth values.
14210
14211 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
14212
14213         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
14214
14215 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
14216
14217         * README.Portability (Function prototypes): Give an example of
14218         declaring and defining a function with no arguments.
14219
14220         * README.Portability (Function prototypes): Document new
14221         variable-argument function macros.
14222
14223 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
14224
14225         * sh.c (langhooks.h): Include.
14226         (sh_init_builtins, sh_media_init_builtins): New functions.
14227         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
14228         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
14229         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
14230         (builtin_description): New struct tag.
14231         (signature_args, bdesc): New arrays.
14232         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
14233         (print_operand): Add 'N' modifier.
14234         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
14235         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
14236         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
14237         (CONST_COSTS): Add special case for SHmedia AND.
14238         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
14239         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
14240         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
14241         target_operand can also be const or unspec.
14242         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
14243         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
14244         (attribute type): Add new types.
14245         (anddi3): Add splitter.
14246         (movdi_const_16bit+1): Add code to handle vector constants and
14247         bitmasks efficiently.
14248         (shori_media): Have generator function made.
14249         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
14250         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
14251         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
14252         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
14253         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
14254         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
14255         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
14256         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
14257         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
14258         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
14259         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
14260         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
14261         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
14262         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
14263         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
14264         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
14265         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
14266         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
14267         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
14268         (ftrv): Likewise.
14269
14270         (fpu_switch+1, fpu_switch+2): Remove constraint.
14271
14272 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
14273
14274         * tree.c (build_function_type_list): Update function comment.
14275         Rename first argument to return_type.
14276
14277 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14278
14279         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
14280         tradcif.y and related files.
14281
14282 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14283
14284         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
14285
14286 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14287
14288         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
14289
14290 See ChangeLog.7 for earlier changes.