OSDN Git Service

* regmove.c: Fix comment typos.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * regmove.c: Fix comment typos.
4         * reload.c: Likewise.
5         * reload1.c: Likewise.
6         * resource.c: Likewise.
7         * rtl.def: Likewise.
8         * rtl.h: Likewise.
9         * rtlanal.c: Likewise.
10         * sched-deps.c: Likewise.
11         * sched-rgn.c: Likewise.
12         * sibcall.c: Likewise.
13         * simplify-rtx.c: Likewise.
14         * ssa-ccp.c: Likewise.
15         * ssa.c: Likewise.
16         * stmt.c: Likewise.
17         * stor-layout.c: Likewise.
18         * system.h: Likewise.
19         * tlink.c: Likewise.
20         * toplev.c: Likewise.
21         * tracer.c: Likewise.
22         * tree-inline.c: Likewise.
23         * tree.c: Likewise.
24         * tree.h: Likewise.
25         * unroll.c: Likewise.
26         * varasm.c: Likewise.
27
28 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
29
30         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
31         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
32         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
33         DG/UX entries.
34         * doc/md.texi: Remove AMD 29K entries.
35         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
36         1.38.1, NewsOS, RT PC, WE32K entries.
37
38 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
39
40         PR/8763
41         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
42         (altivec_vspltisw_v4sf): Name pattern.
43         (altivec_vslw_v4sf): New pattern.
44
45 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
46
47         * doc/include/gcc-common.texi: Define DEVELOPMENT.
48
49 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
50
51         * stor-layout.c (update_alignment_for_field): Correct handling of
52         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
53         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
54         bitfield does not affect alignment.
55
56 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
57
58         * expr.c (expand_assignment): Apply special treatment to
59         ARRAY_TYPE.
60
61 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
62
63         * config/h8300/h8300-protos.h: Update the prototype of
64         expand_a_shift.
65         * config/h8300/h8300.c (expand_a_shift): Change the return
66         type to void.
67         * config/h8300/h8300.md: Update all the uses of
68         expand_a_shift.
69
70 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
71
72         * tree.c (save_expr): Allow either side of a dyadic operand to be
73         constant.
74
75         * doc/portability.texi (portability): Update portability goals.
76
77 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
78
79         * config/h8300/h8300.c (output_a_shift): Remove unused code.
80
81 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
82
83         * stor-layout.c (update_alignment_for_field): Guard use of
84         ADJUST_FIELD_ALIGN with #ifdef.
85
86         * stor-layout.c (update_alignment_for_field): Use
87         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
88         bitfield when PCC_BITFIELD_TYPE_MATTERS.
89
90 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
91
92         * genautomata.c: Fix comment typos.
93
94 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
95
96         * params.def (tracer-min-branch-probability-feedback): Fix default.
97         * final.c (compute_alignments): Use profile to avoid code bloat.
98
99 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
100
101         * config/h8300/h8300.c (get_shift_alg): Make shift insn
102         sequences end with a valid cc0 whenever possible.
103
104 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
105
106         * config/h8300/h8300.md (negsf2): New.
107         (*negsf2_h8300): Likewise.
108         (*negsf2_h8300hs): Likewise.
109
110 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
111
112         * integrate.c (output_inline_function): Don't hold private
113         pointers to 'struct function' over GC calls.
114
115 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
116
117         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
118         NO_FPSCR_VALUES.
119         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
120
121 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
122
123         * config/h8300/h8300.md (zero_extendqisi2): Correct the
124         length.
125
126 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
127
128         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
129         second alternative "#".
130         (*zero_extendqihi2_h8300hs): Likewise.
131         (a define_split): New.
132
133 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
134
135         * config/h8300/h8300-protos.h: Update the prototype for
136         split_adds_subs.
137         Add prototypes for const_le_2_operand and const_le_6_operand.
138         * config/h8300/h8300.c (split_adds_subs): Add an argument to
139         specify whether inc/dec should be used when possible.
140         (const_le_2_operand): New.
141         (const_le_6_operand): Likewise.
142         * config/h8300/h8300.md (two peepholes): New.
143
144 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
145
146         * config/fr30/fr30.md: Fix a comment typo.
147         * config/i386/i386.c: Likewise.
148         * config/ip2k/ip2k.h: Likewise.
149
150 2002-12-20  Jim Wilson  <wilson@redhat.com>
151
152         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
153         (__ev_subw, __ev_subiw): New.
154         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
155         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
156
157 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
158
159         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
160         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
161         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
162         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
163
164 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
165
166         * config/h8300/h8300-protos.h: Add prototypes for
167         incdec_operand and eqne_operator.
168         * config/h8300/h8300.c (incdec_operand): New.
169         (eqne_operator): Likewise.
170         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
171         (CONST_OK_FOR_O): Likewise.
172         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
173         CONST_OK_FOR_O.
174         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
175         (addhi3_incdec): New.
176         (addsi3_incdec): Likewise.
177         (two peepholes): Likewise.
178
179 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
180
181         * config/h8300/h8300.c (dosize): Remove warnings.
182         (print_operand): Likewise.
183
184 2002-12-20  Richard Henderson  <rth@redhat.com>
185
186         * config/alpha/alpha.c (decl_has_samegp): New.
187         (samegp_function_operand): Use it.  Rename from
188         current_file_function_operand.
189         (direct_call_operand): Handle -msmall-text via symbol->jump.
190         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
191         (tls_symbolic_operand_type): Likewise.
192         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
193         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
194         (alpha_end_function): Set symbol->jump for functions defined in
195         the text section.
196         * config/alpha/alpha-protos.h: Update.
197         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
198         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
199         (PREDICATE_CODES): Update.
200         * config/alpha/alpha.md (call patterns): Update for 
201         samegp_function_operand rename; use !samegp reloc if
202         TARGET_EXPLICIT_RELOCS.
203         * doc/invoke.text: Document -msmall-text and -mlarge-text.
204
205 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
206
207         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
208         all registers capable of holding a double float.
209         (*rcond): change name of "reverse branch" insns to
210         something more meaningful.
211         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
212         comparisons properly.
213         (*ffs): Change operand 0 from write to read-modify-write.
214         (*ffsssi2): Drop constraints from define_expand.
215
216         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
217         MOVE_RATIO as default for store operations.
218
219         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
220         LONG_REGS class.
221         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
222         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
223         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
224
225         * config/ns32k/STATUS: New File
226         * config/ns32k/NOTES: New file.
227
228 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
229         
230         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
231         option for S/390 and zSeries.
232         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
233         s390_arch_string): New variables.
234         (override_options): Checking for options and setting of 
235         appropriate target_flags, cpu and arch flags.
236         * config/s390/s390.h: (processor_type): New enum.
237         (TARGET_SWITCHES): New switches -mesa/zarch.
238         * config/s390/s390.md: New attribute 'cpu'.
239
240 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
241
242         * c-pretty-print.h: Fix comment typos.
243         * integrate.c: Likewise.
244         * varasm.c: Likewise.
245         * config/c4x/c4x.h: Likewise.
246         * config/c4x/c4x.md: Likewise.
247         * config/fr30/fr30.md: Likewise.
248         * config/frv/frv.c: Likewise.
249         * config/h8300/h8300.c: Likewise.
250         * config/i386/i386.c: Likewise.
251         * config/i386/i386.h: Likewise.
252         * config/ia64/ia64.c: Likewise.
253         * config/ia64/ia64.h: Likewise.
254         * config/ip2k/ip2k.md: Likewise.
255         * config/m68hc11/m68hc11-crt0.S: Likewise.
256         * config/m68hc11/m68hc11.h: Likewise.
257         * config/m68hc11/m68hc11.md: Likewise.
258         * config/m68hc11/m68hc12.h: Likewise.
259         * config/mcore/mcore.md: Likewise.
260         * config/mips/mips.c: Likewise.
261         * config/mips/mips.md: Likewise.
262         * config/mmix/mmix-modes.def: Likewise.
263         * config/pa/pa.c: Likewise.
264         * config/rs6000/rs6000.c: Likewise.
265         * config/rs6000/rs6000.h: Likewise.
266         * config/rs6000/rs6000.md: Likewise.
267
268 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
269
270         * config/h8300/h8300.md (output_a_shift): Clean up the code to
271         output shifts using rotation.
272
273 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
274
275         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
276
277 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
278
279         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
280         pointer.
281         (pushqi_h8300hs): Likewise.
282         (pushhi_h8300): Likewise.
283         (pushhi_h8300hs): Likewise.
284
285 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
286
287         * sched-rgn.c (init_regions): Update comment.
288
289 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
290
291         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
292         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
293         attributes.
294         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
295         (get_vrsave_internal,set_vrsave_internal): Same.
296         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
297         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
298         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
299
300 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
301             Danny Smith  <dannysmith@users.sourceforge.net>
302             Eric Kohl  <ekohl@rz-online.de>
303
304         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
305         attributes incompatible with fastcall attribute.
306         (ix86_handle_regparm_attribute): Likewise.
307
308         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
309         fastcall types.
310
311         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
312         attributes.
313         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
314         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
315         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
316         i386_pe_output_labelref rather than here.
317         (gen_fastcall_suffix): New function. Decorates a label name with the
318         fastcall prefix (@) and the stdcall suffix.
319         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
320         has a fastcall attribute.
321         (i386_pe_output_labelref): New function. Outputs a label reference.
322         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
323         valid attribute.
324         (ix86_return_pops_args): Fastcall functions pop the stack.
325         (init_cumulative_args): Reserve registers ECX and EDX if function has
326         fastcall attribute.
327         (function_arg): Use registers ECX and EDX if function has fastcall
328         attribute.
329         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
330         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
331         (FASTCALL_PREFIX): Define as '@'.
332         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
333         attributes.
334         * doc/extend.texi: Add documentation of fastcall attribute.
335
336 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
337
338         * configure.in: FORBUILD when build!=host changed from 
339         ../$build-alias to ../build-$build_alias to match change made
340         in top directory.
341         * configure: Regenerated.
342
343 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
344
345         PR optimization/8988
346         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
347         the biv when eliminating.
348
349 2002-12-19  Devang Patel  <dpatel@apple.com>
350         * gcc.c (struct default_compiler): Recognizes input file name with
351         .CPP extension as C++ source files
352         * cp/lang-spec.h: Same
353         * doc/invoke.texi:  Add documentation for .CPP support.
354         
355 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
356
357         PR 8553
358         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
359         registers.
360         ("absv16qi2"): Same.
361         ("absv4si2"): Same.
362         ("absv4sf2"): Same.
363         ("altivec_abss_v16qi"): Same.
364         ("altivec_abss_v8hi"): Same.
365         ("altivec_abss_v4si"): Same.
366
367 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
368
369         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
370         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
371
372 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
373
374         PR target/8340
375         * stmt.c (expand_asm_operands): Produce an error when
376         the PIC register is clobbered.
377
378 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
379
380         * Makefile.in (OBJS): Add alloc-pool.o
381         (alloc-pool.o): New object.
382
383         * alloc-pool.c: New file.
384         * alloc-pool.h: New file.
385
386 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
387
388         * gcc.c (validate_switches): Robustify against skipping past '\0'.
389
390 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
391
392         * config.gcc: Set extra_objs in the generic Darwin rule,
393         not in the machine-specific rules.
394
395 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
396
397         * ChangeLog: Follow spelling conventions.
398         * ChangeLog.2: Likewise.
399         * ChangeLog.4: Likewise.
400         * ChangeLog.5: Likewise.
401         * cppexp.c: Likewise.
402         * df.c: Likewise.
403         * gcov.c: Likewise.
404         * gengtype.c: Likewise.
405         * reload1.c: Likewise.
406         * sched-rgn.c: Likewise.
407         * stmt.c: Likewise.
408         * stor-layout.c: Likewise.
409         * timevar.c: Likewise.
410         * toplev.c: Likewise.
411         * tree.h: Likewise.
412         * varasm.c: Likewise.
413         * config/fr30/fr30.md: Likewise.
414         * config/i386/i386.c: Likewise.
415         * config/ia64/ia64.c: Likewise.
416         * config/pa/pa.c: Likewise.
417
418 2002-12-18  Roger Sayle  <roger@eyesopen.com>
419
420         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
421
422 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
423
424         PR 8551
425         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
426         macro.
427         (vec_cmplt C++ functions): Reverse arguments.
428
429 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
430
431         * config/rs6000/t-rs6000: Move contents to t-fprules,
432         add rules for dependencies of rs6000.o and to build rs6000-c.o
433         * config/rs6000/t-fprules: New file from t-rs6000.
434         * config/rs6000/t-beos: Remove soft-fp rules.
435         * config/rs6000/t-ppccomm: Likewise.
436         * config/rs6000/t-newas: Likewise.
437         * config/rs6000/t-rs6000-c-rule: Delete.
438         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
439         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
440         Create generic Darwin rules.
441
442         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
443
444 2002-12-18  Doug Evans  <dje@sebabeach.org>
445
446         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
447         and LIT_NAME_P.
448         (move_src_operand): Remove compile-time warning.
449         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
450
451 2002-12-18  Jason Merrill  <jason@redhat.com>
452
453         * unwind-dw2-fde.c (frame_downheap): Split out from...
454         (frame_heapsort): Here.
455
456 2002-12-17  Jason Merrill  <jason@redhat.com>
457
458         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
459         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
460
461         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
462
463         * calls.c (expand_call): Don't try to be clever about expanding
464         the return slot address.
465
466 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
467
468         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
469         Define.
470
471 2002-12-17  Jason Merrill  <jason@redhat.com>
472
473         * genmultilib: Use 'cd ./foo'.
474
475 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
476
477         * doc/c-tree.texi: Restore deliberate spelling mistakes.
478
479 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
480
481         * doc/c-tree.texi: Fix typos and follow spelling conventions.
482         * doc/cpp.texi: Likewise.
483         * doc/extend.texi: Likewise.
484         * doc/gty.texi: Likewise.
485         * doc/install.texi: Likewise.
486         * doc/invoke.texi: Likewise.
487         * doc/md.texi: Likewise.
488         * doc/passes.texi: Likewise.
489         * doc/rtl.texi: Likewise.
490         * doc/sourcebuild.texi: Likewise.
491         * doc/tm.texi: Likewise.
492
493 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
494
495         * doc/invoke.texi: Minor spelling and grammar fixes.
496
497 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
498
499         * config/s390/s390.c (s390_output_constant_pool): Replace
500         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
501
502 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
503
504         * convert.c (convert_to_real): Disable function transformation for
505         now.
506
507 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
508
509         * gcc.c (handle_braces): Allow '@' as a switch name.
510
511 2002-12-16  Jason Merrill  <jason@redhat.com>
512
513         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
514         with special struct-return ABIs.
515
516         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
517         doesn't match the begin SCOPE_STMT in partialness.
518
519 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
520
521         * genmultilib: Create temporary files in unique subdirectory.
522
523         * gcc.c (validate_switches): Allow '@' as a switch name.
524
525 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
526
527         * Makefile.in (gcov-iov.h): Improve portability.
528
529 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
530
531         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
532         gas
533         * mips.md (tablejump insn): Likewise.
534
535 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
536
537         * doc/include/gcc-common.texi: Change version number to 3.4.
538
539 2002-12-16  Bruce Korb  <bkorb@gnu.org>
540
541         * fixinc/fixlib.h: add: #include <signal.h>
542         * fixinc/fixincl.c: remove: #include <signal.h>
543
544 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
545
546         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
547         (EXTRA_CONSTRAINT): Use it.
548         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
549
550 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
551
552         * config.gcc (need_64bit_hwint): New variable.
553         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
554         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
555         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
556         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
557         Set it.
558         (powerpc*-*-darwin*): Unset it.
559         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
560         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
561         deleted/nonexistent xm-*.h headers.
562         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
563         target set need_64bit_hwint in config.gcc.
564         * configure, config.in: Regenerate.
565
566         * hwint.h: Overhaul.  Don't bother trying int for
567         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
568         decision to force 64-bit HOST_WIDE_INT on
569         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
570         not visible at this point.  Don't allow prior definition of
571         any macro defined by this file.
572
573         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
574         HOST_BITS_PER_WIDE_INT.
575         * config/c4x/c4x.h: Adjust redefinition of
576         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
577         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
578         config/i386/xm-i386-interix.h: Delete file.
579
580 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
581             John David Anglin  <dave@hiauly1.hia.nrc.ca>
582
583         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
584         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
585
586 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
587
588         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
589
590 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
591
592         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
593         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
594         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
595         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
596         config/v850/t-v850:  Correct dependencies and normalize
597         compilation commands for files that include coretypes.h and tm.h.
598
599         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
600         not config.h and system.h.
601
602 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
603
604         * i386.c (flags_reg_operand):  New function.
605         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
606         * i386.md (cmov splitter, movqicc): Use new predicate.
607
608 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
609
610         * i386.md (movqicc splitter): Fix template.
611
612 2002-12-13  Jason Merrill  <jason@redhat.com>
613
614         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
615         * calls.c (expand_call): Handle it.
616         * tree-inline.c (struct inline_data): Remove target_exprs field.
617         (optimize_inline_calls): Don't initialize it.
618         (expand_call_inline): Don't modify it.  Handle
619         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
620         (declare_return_variable): Take return slot addr.
621         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
622         to return_slot_addr.
623         * langhooks-def.h, langhooks.c: Adjust.
624         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
625         a decl with no DECL_INITIAL.
626
627         * expr.c (expand_expr): Don't discard the target of a call which
628         returns in memory.
629
630 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
631
632         * cppinit.c (path_include): Take an environment variable name.
633         Tidy up.
634         (init_standard_includes): Simplify environment handling, and
635         move to ...
636         (cpp_read_main_file): ...here as -nostdinc should not affect
637         environment variable paths.
638
639 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
640
641         * pa.c (output_millicode_call): Correct typo.
642         (output_call): Likewise.
643
644 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
645
646         * config/mn10300/mn10300.c (print_operand) <case N>: Check
647         operand's range.  Print value directly, without aid from
648         output_address.
649         <case U>: New.
650         <case S>: Make sure argument to fprintf has the right type.
651         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
652         (EXTRA_CONSTRAINT): Adjust.
653         * config/mn10300/mn10300.md: Add new all-QImode pattern for
654         bclr.  Use %U for immediate operands of bset and bclr.
655         (iorqi3): New expand, with insns for AM33 and mn10300.
656
657 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
658
659         * sh.c (sh_register_operand): New function.
660         (prepare_move_operands): Use it.
661         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
662         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
663         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
664         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
665         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
666         (movv2si_i): Likewise.
667
668 2002-12-13  Jim Wilson  <wilson@redhat.com>
669
670         * doc/extend.texi (Complex Numbers): Update info on debug info.
671
672 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
673
674         * config/h8300/h8300.md (addhi3_h8300): Remove the last
675         alternative.
676
677 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
678
679         * hooks.h (hook_tree_tree_bool_false): Declare
680         hook_bool_tree_tree_false instead.
681
682 2002-12-12  Devang Patel  <dpatel@apple.com>
683
684         * doc/invoke.texi: Document Darwin linker options, -bundle
685         -bind_at_load, -all_load and -arch_errors_fatal
686
687 2002-12-12  Jim Wilson  <wilson@redhat.com>
688
689         * dbxout.c (dbxout_fptype_value): New.
690         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
691
692 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
693
694         * c-decl.c: Fix a comment typo.
695         * cfg.c: Likewise.
696         * cfgcleanup.c: Likewise.
697         * cfglayout.c: Likewise.
698         * cfgrtl.c: Likewise.
699         * c-typeck.c: Likewise.
700         * dominance.c: Likewise.
701         * dwarf2asm.c: Likewise.
702         * dwarfout.c: Likewise.
703         * expmed.c: Likewise.
704         * expr.c: Likewise.
705         * final.c: Likewise.
706         * flow.c: Likewise.
707         * function.c: Likewise.
708         * gcc.c: Likewise.
709         * genautomata.c: Likewise.
710         * integrate.c: Likewise.
711         * loop.c: Likewise.
712         * loop.h: Likewise.
713         * output.h: Likewise.
714         * profile.c: Likewise.
715         * ra.h: Likewise.
716         * reload1.c: Likewise.
717         * reload.c: Likewise.
718         * sched-rgn.c: Likewise.
719         * stmt.c: Likewise.
720         * tree.h: Likewise.
721         * vmsdbgout.c: Likewise.
722
723 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
724
725         * config/h8300/h8300.md: Add a new peephole2.
726
727 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
728
729         * config/h8300/h8300.md (a peephole2): Accept a constant
730         that's accepted by CONST_OK_FOR_J.
731
732 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
733
734         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
735         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
736         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
737         (*addhi_h8300hs): Likewise.
738
739 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
740
741         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
742         (sh_register_move_cost): Add clause for SImode fp-fp moves.
743         Increase cost for moves involving multiple general purpose registers.
744         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
745         TARGET_FMOVD.
746         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
747         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
748         (enum reg_class reg_class_from_letter): No longer const.
749         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
750         REGCLASS_HAS_GENERAL_REG.
751         Handle SImode moves from/to fp registers.
752         ! TARGET_SHMEDIA && TARGET_FMOVD.
753         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
754         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
755
756 2002-12-12  Andreas Schwab  <schwab@suse.de>
757
758         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
759         change and some warnings.
760
761 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
762
763         * doc/md.texi (pushm): Fix a typo.
764
765 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
766
767         * config/mips/mips.c (mips_output_conditional_branch): Support
768         PIC-safe out-of-range branch and branch-likely.
769         * config/mips/mips.md (attr length): PIC-safe out-of-range
770         branches are longer.
771         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
772         unused code to support indirect jumps.
773
774 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
775
776         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
777         $(tm_file_list).
778
779 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
780
781         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
782
783 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
784
785         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
786
787 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
788
789         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
790         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
791         BIGGEST_ALIGNMENT.
792         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
793         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
794
795 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
796
797         * doc/invoke.texi: Correct dump file names.
798
799 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
800
801         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
802         name to globalize_label or assemble_name.
803
804 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
805
806         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
807         if not TARGET_SHMEDIA.
808
809 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
810
811         * sh.h (REG_CLASS_HAS_FP_REG): New.
812         (REGISTER_MOVE_COST) Use it.  Put body into a function and
813         move it into:
814         * sh.c (sh_register_move_cost).
815         * sh-protos.h (sh_register_move_cost): Declare.
816
817         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
818         (sh_adjust_cost): Always return a value.
819
820 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
821
822         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
823         (REGISTER_MOVE_COST): Use it.
824
825 2002-12-11  Richard Henderson  <rth@redhat.com>
826
827         * tree.h (MODULE_LOCAL_P): Kill.
828         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
829
830 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
831
832         * config/h8300/h8300.md (two define_peephole2): New.
833
834 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
835
836         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
837         (CONST_OK_FOR_K): Likewise.
838         (CONST_OK_FOR_M): Likewise.
839         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
840
841 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
842
843         * c-common.c (builtin_define_type_max): Handle unsigned
844         types too.
845
846 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
847
848         * haifa-sched.c (rank_for_schedule): Correct style.
849
850 2002-12-10  Per Bothner  <pbothner@apple.com>
851
852         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
853         directive_index into an unsigned field and a new is_directive field.
854         * cppinit.c (mark_named_operators):  Update to set new fields.
855         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
856         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
857         No longer need to subtract 1 from directive_index.
858         (_cpp_init_directives):  No longer need to add 1 to directive_index.
859         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
860
861 2002-12-10  Roger Sayle  <roger@eyesopen.com>
862
863         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
864         check for evaluating sqrt of a constant at compile time.
865         * simplify-rtx.c (simplify_unary_operation): Likewise.
866
867 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
868
869         PR other/8882
870         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
871
872 2002-12-10  Devang Patel  <dpatel@appple.com>
873
874         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
875         * doc/invoke.texi: Add new "Darwin Options" section.
876
877 2002-12-10  Jim Wilson  <wilson@redhat.com>
878
879         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
880         memory.
881
882 2002-12-10  Andrew Haley  <aph@redhat.com>
883
884         * cse.c (cse_insn): Don't cse past a basic block boundary.
885
886 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
887
888         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
889         -shared.
890         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
891         * config/alpha/linux.h (LIB_SPEC): Likewise.
892         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
893         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
894         * config/sparc/linux.h (LIB_SPEC): Likewise.
895         * config/sparc/linux64.h (LIB_SPEC): Likewise.
896
897 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
898
899         * doc/invoke.texi: Document UltraSparc III option.
900
901 2002-12-09  Richard Henderson  <rth@redhat.com>
902
903         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
904         __tune_pentium2__ and __tune_pentium3__ as necessary.
905
906 2002-12-09  Richard Henderson  <rth@redhat.com>
907
908         * target.h (gcc_target): Add cannot_force_const_mem.
909         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
910         (TARGET_INITIALIZER): Add it.
911         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
912         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
913         * reload1.c (reload): Likewise.
914         * hooks.c (hook_bool_rtx_false): New.
915         * hooks.h: Declare it.
916
917         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
918         (TARGET_CANNOT_FORCE_CONST_MEM): New.
919         (ix86_expand_move): Remove de-const-pooling hack.
920
921 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
922
923         * toplev.c (dump_file): Fix order to match reality.
924
925 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
926
927         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
928         (store_multiple): Likewise.
929
930 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
931
932         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
933         function pointers in page 0.
934
935 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
936
937         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
938         definition
939         (MEMBER_TYPE_FORCES_BLK): Move.
940         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
941         aggregate arguments.
942         (ia64_function_value): Use PARALLEL to return aggregate values.
943
944 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
945
946         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
947         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
948         * calls.c (store_unaligned_arguments_into_pseudos) Remove
949         FUNCTION_ARG_REG_LITTLE_ENDIAN.
950         * stmt.c (expand_return): Ditto.
951         * expr.c (move_block_from_reg): Ditto.
952         (copy_blkmode_from_reg): Ditto.
953         * expmed.c (store_bit_field): Ditto.
954
955 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
956
957         * config.gcc: Added tic4x-* target as an alias to c4x-*
958
959 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
960
961         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
962         constructing insn directly.
963
964 2002-12-06  Per Bothner  <pbothner@apple.com>
965
966         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
967         char to an int bit-field, for hosts where char is unsigned.
968
969 2002-12-07  Roger Sayle  <roger@eyesopen.com>
970             Richard Henderson <rth@redhat.com>
971
972         * real.c (ieee_extended_motorola_format,
973         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
974         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
975         Provide appropriate values for new signbit field.
976
977 2002-12-07  Roger Sayle  <roger@eyesopen.com>
978
979         * real.h (real_format): Add signbit field.
980         * real.c (ieee_single_format, ieee_double_format,
981         ieee_extended_motorola_format, ieee_extended_intel_96_format,
982         ieee_extended_intel_128_format, ibm_extended_format,
983         ieee_quad_format, vax_f_format, vax_d_format,
984         vax_g_format, i370_single_format, i370_double_format,
985         c4x_single_format, c4x_extended_format, real_internal_format):
986         Provide suitable signbit value, or -1 to avoid bit twiddling.
987
988         * optabs.c (expand_unop): Try implementing negation of
989         floating point modes by flipping the sign bit.
990         (expand_abs): Try implementing abs of floating point modes
991         by clearing the sign bit.
992
993 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
994
995         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
996         of constructing insn directly.
997
998 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
999
1000         * config/h8300/h8300.md (*iorhi_shift_8): New.
1001
1002 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
1003
1004         * doc/invoke.texi: Document FRV port options.
1005         * doc/md.texi: Document FRV register classes.
1006
1007 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1008
1009         * doc/install.texi (Configuration): Improve description of cases
1010         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
1011
1012 2002-12-06  Per Bothner  <pbothner@apple.com>
1013
1014         * cpplib.h (NODE_MACRO_ARG):  New flag.
1015         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
1016         Remove value.operator field.  Move arg_index field to value union.
1017         (directive_index):  Make signed, since also used for C++ operators.
1018         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
1019         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
1020         Save node->value, and set node->value.arg_index.
1021         (_cpp_create_definition):  For each paramater, restore node->value.
1022         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
1023         * cpptrad.c (scan_out_logical_line): Likewise.
1024         (scan_out_logical_line): Check for directive > 0.
1025         * cpplib.c (cpp_handle_directive):  Likewise.
1026         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
1027         by negative of directive_index.
1028         * cppinit.c (mark_named_operators):  Likewise.
1029
1030         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
1031
1032 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
1033
1034         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
1035         FPU.
1036         (push): Generate push_fpscr.
1037         (pop): Generate pop_fpscr.
1038         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
1039         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
1040
1041 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
1042
1043         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
1044         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
1045
1046 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
1047
1048         * sh.md (movdi_i): Name.  Remove inappropriate comment.
1049
1050 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
1051         Merged from basic improvements branch (excerpt):
1052
1053         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1054         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
1055
1056 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
1057
1058         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
1059
1060 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
1061
1062         * i386.md (dimode peep2s): Re-add "&& 1".
1063
1064 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
1065
1066         * i386.c (ix86_expand_prologue):  Add comment, do not use
1067         fast prologues for cold and normal functions.
1068
1069 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1070
1071         * i386.c (x86_rep_movl_optimal): New variable.
1072         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
1073         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
1074
1075         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
1076         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
1077         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
1078         generate unnecesary subregs.
1079
1080 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1081
1082         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
1083         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
1084
1085 2002-12-05  Dale Johannesen  <dalej@apple.com>
1086
1087         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
1088
1089 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
1090
1091         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
1092         PROFILE_HOOK.
1093         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
1094
1095 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
1096
1097         * config/rs6000/spe.h (__ev_mwlufi): Remove.
1098         (__ev_mwlufia): Remove.
1099         (__ev_mwlumfaaw): Remove.
1100         (__ev_mwlusfaaw): Remove.
1101         (__ev_mwlumfanw): Remove.
1102         (__ev_mwlusfanw): Remove.
1103
1104 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
1105
1106         * config/h8300/h8300.md (*andorsi3_shift_8): New.
1107
1108 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
1109
1110         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
1111         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
1112         (get_shift_alg): Return optimal assembly instructions for the
1113         shifts mentioned above.
1114
1115 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
1116
1117         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
1118         condtiional moves.
1119
1120 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1121
1122         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
1123         implement ashiftrt:HI by 13 bits on H8S.
1124
1125 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1126
1127         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
1128         * pa.md (canonicalize_funcptr_for_compare): Output library call to
1129         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
1130         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
1131         CTOR_LIST_BEGIN): New defines.
1132         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
1133         (fptr.c): Add make rules.
1134
1135 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
1136
1137         * combine.c (combine_simplify_rtx): Add new canonicalizations.
1138         * doc/md.texi (Insn Canonicalizations): Document new
1139         canonicalizations for multiply/add combinations.
1140         * config/rs6000/rs6000.md: Add and modify floating add/multiply
1141         patterns to ensure they're used whenever they can be.
1142
1143 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1144
1145         * config/h8300/h8300.c: Update the comments related to shifts.
1146
1147 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1148
1149         * config/mips/mips.md (get_fnaddr): Correct length attribute.
1150
1151 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1152
1153         * config/h8300/h8300.md (*extzv_8_8): New.
1154         (*extzv_8_16): Likewise.
1155
1156 2002-12-04  Jason Merrill  <jason@redhat.com>
1157
1158         PR c++/8461, c++/8625
1159         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
1160         references.
1161         * tree-inline.c (initialize_inlined_parameters): Likewise.
1162
1163         * tree.c (variably_modified_type_p): Just return an error_mark_node.
1164
1165 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1166
1167         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
1168         macro instruction in a branch delay slot, to avoid assembler
1169         warnings.
1170
1171 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1172
1173         PR c/7622
1174         * c-semantics (genrtl_scope_stmt): Do not output inlined
1175         nested functions that contain no code.
1176
1177 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
1178
1179         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
1180         to be forced into nonfallthru.
1181
1182 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
1183
1184         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
1185
1186 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
1187
1188         * config/rs6000/spe.md (*movv1di_const0): New pattern.
1189
1190 2002-12-03  Richard Henderson  <rth@redhat.com>
1191
1192         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
1193
1194 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
1195
1196         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
1197         Initialize tmp.using_obstack to 0.
1198
1199 2002-12-03  Andreas Schwab  <schwab@suse.de>
1200
1201         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
1202         (EH_RETURN_STACKADJ_RTX): Define.
1203         (EH_RETURN_HANDLER_RTX): Define.
1204         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1205         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
1206         registers and don't save fixed registers.
1207         (m68k_output_function_prologue): Use it.
1208         (use_return_insn): Likewise.
1209         (m68k_output_function_epilogue): Likewise.
1210
1211 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
1212
1213         * config/h8300/h8300.c (single_one_operand): Fix a warning.
1214         (single_zero_operand): Likewise.
1215
1216 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1217
1218         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
1219         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
1220         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
1221         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
1222         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
1223         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
1224         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
1225         doc/install-old.texi: Replace hconfig.h with bconfig.h.
1226         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
1227
1228 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
1229
1230         * config/rs6000/rs6000.md (ffssi): Convert to expander.
1231         (ffsdi): Likewise.
1232         (cntlzw2, cntlzd2): New patterns.
1233
1234 2002-12-02  H.J. Lu <hjl@gnu.org>
1235
1236         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
1237         (mips*-*-linux*): Remove mips/t-linux.
1238
1239 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1240
1241         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1242
1243 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1244
1245         * config/h8300/h8300.c (dosize): Replace argument op with
1246         sign.
1247         (h8300_output_function_prologue): Update the call to dosize.
1248         (h8300_output_function_epilogue): Likewise.
1249
1250 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
1251
1252         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
1253
1254 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1255
1256         * configure.in: Use "missing" script to generate warning if
1257         flex or bison programs not found, instead of invoking "false".
1258         * configure: Rebuilt.
1259
1260 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
1261
1262         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
1263
1264 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
1265
1266         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1267
1268 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1269
1270         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
1271         (push): Likewise.
1272         (pop): Likewise.
1273         (h8300_output_function_prologue): Likewise.
1274         (h8300_output_function_epilogue): Likewise.
1275
1276 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
1277
1278         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1279         corresponding mode of non-integer mode, unless it is VOIDmode.
1280
1281 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1282
1283         * config/h8300/h8300.md (stm_h8300s_2): New.
1284         (stm_h8300s_3): Likewise.
1285         (stm_h8300s_4): Likewise.
1286         (five define_peephole2): Likewise.
1287
1288 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1289
1290         * ra-build.c: Fix a comment typo.
1291
1292 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1293
1294         * i386.c (ix86_expand_int_movcc): fix
1295         reversed BRANCH_COST test; be curefull about infinite recursion.
1296
1297 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1298
1299         * config/h8300/h8300.c (h8300_output_function_prologue):
1300         Remove variable idx.
1301         (h8300_output_function_epilogue): Likewise.
1302
1303 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
1304
1305         * config/frv/xm-frv.h: Delete, unnecessary.
1306
1307 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1308
1309         * config/h8300/h8300.md: Add comments for define_peephole2.
1310
1311 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
1312
1313         * builtin-types.def (BT_SIZE): Use size_type_node.
1314         * builtins.c (fold_builtin): Make the builtin strlen returns a
1315         size_t, not a sizetype.
1316         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
1317         c_size_type_node.
1318         (c_alignof_expr): Likewise.
1319         (c_common_nodes_and_builtins): Likewise.
1320         * c-common.h (CTI_C_SIZE_TYPE): Remove.
1321         (c_size_type_node): Likewise.
1322         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
1323         * tree.h (TI_SIZE_TYPE): New enumeral.
1324         (size_type_node): Likewise.
1325
1326 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
1327
1328         * configure.in: Don't put ${tm_file} into host_xm_file,
1329         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
1330         Take location of tm-preds.h into account when calculating
1331         tm_p_file_list.
1332         * configure: Regenerate.
1333         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
1334         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
1335         Remove special case code for tm_p.h and *config.h; add new
1336         special case code for tm.h and tconfig.h. Clean up a bit.
1337
1338         * Makefile.in (tm_file, tm_file_list): New variables set from
1339         @-substitutions.
1340         (GCONFIG_H): Deleted.
1341         (GTM_H, TM_H): New.
1342         (CONFIG_H): Is now just config.h $(host_xm_file_list).
1343         (TM_P_H): Move up with the other mkconfig.sh-generated
1344         headers; don't mention tm-preds.h explicitly.
1345         (tm.h, cs-tm.h): New rule.
1346         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
1347         invocations of mkconfig.sh for changes to that program.
1348         (mostlyclean): Delete print-rtl1.c.
1349         (clean): Delete tm.h.
1350         Update dependencies for the files listed below.
1351
1352         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
1353
1354         * coretypes.h: New file.
1355         * system.h: #define malloc to xmalloc and realloc to xrealloc
1356         when FLEX_SCANNER or YYBISON is defined, independent of the
1357         value of GCC_VERSION.
1358         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
1359         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
1360         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
1361         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
1362         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
1363         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
1364         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
1365         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
1366         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
1367         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
1368         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
1369         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
1370         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
1371         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
1372         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
1373         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
1374         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
1375         genconstants.c, genemit.c, genextract.c, genflags.c,
1376         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
1377         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
1378         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
1379         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
1380         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
1381         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
1382         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
1383         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
1384         print-tree.c, profile.c, protoize.c, ra-build.c,
1385         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
1386         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1387         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
1388         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
1389         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
1390         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
1391         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
1392         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
1393         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
1394         xcoffout.c, config/darwin-c.c, config/darwin.c,
1395         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
1396         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
1397         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
1398         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
1399         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
1400         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
1401         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
1402         config/i960/i960-c.c, config/i960/i960.c,
1403         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1404         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1405         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
1406         config/mips/irix6-libc-compat.c, config/mips/mips.c,
1407         config/mmix/mmix.c, config/mn10200/mn10200.c,
1408         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
1409         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
1410         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
1411         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
1412         config/sparc/sparc.c, config/stormy16/stormy16.c,
1413         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
1414         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
1415         Include coretypes.h and tm.h.
1416
1417         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
1418         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
1419         genrecog.c: Include coretypes.h and tm.h from the file
1420         generated by this program.
1421
1422         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
1423         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
1424         coretypes.h and tm.h, and tsystem.h when not already included.
1425         No need to include stddef.h nor stdlib.h.
1426
1427         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
1428         include auto-host.h or ansidecl.h/
1429         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
1430         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
1431         include auto-host.h, ansidecl.h, or system.h.
1432         * fixinc/server.c: Likewise.  Also, do not include signal.h,
1433         and do not redefine volatile.
1434
1435 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1436
1437         * i386.md (movdf_integer):  Always enable in 64bit.
1438         (movdf_nointeger): Always disable in 64bit.
1439
1440 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1441
1442         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
1443         pseudo register number plus 1.
1444
1445 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
1446
1447         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1448         corresponding mode of non-integer mode, unless it is VOIDmode.
1449
1450 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
1451
1452         * cpplib.c (_cpp_test_assertion): Default *value to 0.
1453
1454         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
1455
1456 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1457
1458         * config/s390/t-crtstuff: New target makefile fragment.
1459         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
1460
1461 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1462
1463         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
1464         alternatives to correct the length when the memory operand is
1465         either pre_dec or post_inc.
1466
1467 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1468
1469         * config/h8300/h8300.md (an anonymous pattern): Give an
1470         internal name *tst_extzv_bitqi_1_n.
1471         Accept bit_operand instead of bit_memory_operand.
1472         Do not accept bit tests with the MSB.
1473         (*tst_extzv_memqi_1_n): New.
1474
1475 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1476
1477         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
1478         sharing when operand is SUBREG.
1479
1480 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
1481
1482         * athlon.md (athlon-decodev): New reservation unit.
1483         (athlon-direct0): New reservation.
1484         (athlon-vector): New use athlon-decodev.
1485         (athlon-double, athlon-direct): Better model.
1486         (athlon_imul_k8): Use athlon-direct0.
1487         (athlon_movlpd_load): New insn reservation.
1488
1489 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1490
1491         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1492         Fix a comment typo.
1493         (h8300_tiny_constant_address_p): Likewise.
1494
1495 2002-11-28  Michael Matz  <matz@suse.de>
1496
1497         * doc/passes.texi: Mention the other register allocator.
1498
1499 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1500
1501         * config/h8300/h8300.md (6 new peephole2 patterns): New.
1502
1503 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
1504
1505         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
1506         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
1507         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
1508
1509 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1510
1511         * config/h8300/h8300.c (h8300_and_costs): New.
1512         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1513         * config/h8300/h8300-protos.h: Add a prototype for
1514         h8300_and_costs.
1515
1516 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1517
1518         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1519         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1520         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1521         * i386.md (truncdfsf patterns and splitters): Use
1522         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1523
1524 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1525
1526         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1527         pointer argument in the prototypes of the following builtins
1528         be (const TYPE *) rather than (TYPE *):
1529          + __builtin_altivec_ld_internal_4sf
1530          + __builtin_altivec_ld_internal_4si
1531          + __builtin_altivec_ld_internal_8hi
1532          + __builtin_altivec_ld_internal_16qi
1533          + __builtin_altivec_lvsl
1534          + __builtin_altivec_lvsr
1535          + __builtin_altivec_lvebx
1536          + __builtin_altivec_lvehx
1537          + __builtin_altivec_lvewx
1538          + __builtin_altivec_lvxl
1539          + __builtin_altivec_lvx
1540          + __builtin_altivec_dst
1541          + __builtin_altivec_dstt
1542          + __builtin_altivec_dstst
1543          + __builtin_altivec_dststt
1544
1545 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1546
1547         * except.c (default_exception_section): Move variable into the
1548         scope where it is used.
1549
1550 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1551
1552         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1553         correct version.
1554
1555 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1556
1557         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1558
1559 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1560
1561         * config/h8300/h8300.c (h8300_shift_costs): New.
1562         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1563         * config/h8300/h8300-protos.h: Add a prototype for
1564         h8300_shift_costs.
1565
1566 2002-11-27  Jim Wilson  <wilson@redhat.com>
1567
1568         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1569         in output template.
1570
1571 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1572
1573         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1574         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1575         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1576         (i386_pe_dllimport_name_p): Likewise.
1577         (i386_pe_mark_dllexport): Likewise.
1578         (i386_pe_mark_dllimport): Likewise.
1579         (i386_pe_encode_section_info): Likewise.
1580         (i386_pe_strip_name_encoding): Likewise.
1581
1582 2002-11-27  Richard Henderson  <rth@redhat.com>
1583
1584         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1585         (nm && NF == 3): Set sawsymbol true.
1586         (END): Exit if no symbols seen.
1587         (output): Fix map syntax error if no globals for the version.
1588
1589 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1590
1591         * builtins.def (DEF_C99_BUILTIN): Fix.
1592
1593 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1594
1595         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1596         (all): Add .size and .type information.
1597
1598 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1599
1600         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1601         partial_reg_stall target.
1602
1603 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1604
1605         * i386.md (movhicc): Allow general operand.
1606         (movqicc): New expander.
1607         (movqicc_noc): New pattern.
1608         * i386.c (ix86_expand_carry_flag_compare): New function.
1609         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1610         HImode conversion; support QImode conditional moves
1611
1612 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1613
1614         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1615         (ix86_expand_prologue): Multiply the count by amount of registers to be
1616         pushed.
1617
1618 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1619
1620         * i386.c (override_options): Error about wrong -mcpu on x86-64
1621         compilation.
1622
1623 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1624
1625         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1626
1627 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1628
1629         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1630         x86_extended_reg_mentioned_p): Declare.
1631         * i386.c (extended_reg_mentioned_1): New static function.
1632         (x86_extended_QIreg_mentioned_p,
1633         x86_extended_reg_mentioned_p): New global functions.
1634         * i386.h (REX_SSE_REGNO_P): New macro.
1635         * i386.md (prefix_rex): New attribute.
1636         (length attribute): Add rex.
1637
1638 2002-11-26  Andrew Haley  <aph@redhat.com>
1639
1640         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1641         from_Unwind_Find_Enclosing_Function.
1642         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1643         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1644         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1645         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1646         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1647
1648 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1649
1650         * config/s390/s390.c (390_output_constant_pool): Set alignment
1651         before label in 64 bit mode, behind otherwise.
1652
1653 2002-11-26  Richard Henderson  <rth@redhat.com>
1654
1655         * c-common.c (handle_visibility_attribute): Accept "default".
1656         * tree.h (enum symbol_visibility): New.
1657         (decl_visibility): Declare.
1658         * target.h (gcc_target.visibility): Take visibility arg as integer.
1659         * varasm.c (default_assemble_visibility): Likewise.
1660         (decl_visibility): New.
1661         (maybe_assemble_visibility): Use it.
1662         * output.h (default_assemble_visibility): Update prototype.
1663         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1664         visibility arg as integer.
1665         * doc/extend.texi: Document default visibility.
1666
1667 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1668
1669         * config/h8300/h8300.c: Adjust spacing.
1670         * config/h8300/h8300.h: Likewise.
1671
1672 2002-11-26  Richard Henderson  <rth@redhat.com>
1673
1674         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1675         hook_void_FILEptr_constcharptr): Rename so that the return
1676         type is first.
1677         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1678         hook_bool_tree_false): New.
1679         * hooks.h: Update.
1680         * langhooks-def.h: Update for renames.
1681         * target-def.h: Likewise.
1682         * tree.c (default_comp_type_attributes,
1683         default_set_default_type_attributes, default_insert_attributes,
1684         default_function_attribute_inlinable_p,
1685         default_ms_bitfield_layout_p): Remove.
1686         * tree.h: Update.
1687
1688 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1689
1690         * pa-protos.h (function_value): New prototype.
1691         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1692         TARGET_64BIT.
1693         * pa.h (FUNCTION_VALUE): Use function_value.
1694         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1695         call_value_internal_reg, sibcall_value_internal_symref,
1696         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1697         value.
1698
1699 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1700
1701         * expr.c (gen_group_rtx, emit_group_move): New functions.
1702         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1703         * function.c (expand_function_start): Use gen_group_rtx to create a
1704         PARALLEL rtx to hold the return value when the real return rtx is a
1705         PARALLEL.
1706         (expand_function_end): Use emit_group_move to move the return value
1707         from a PARALLEL to the real return registers.
1708         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1709         in PARALLELs.
1710
1711 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1712
1713         * config/t-libc-ok: Fix typo.
1714
1715 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1716
1717         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1718         before AC_PROG_CC.
1719         * configure: Rebuilt.
1720
1721 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1722
1723         * c-decl.c: (start_struct): Commonize flag setting.
1724
1725 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1726
1727         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1728         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1729         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1730         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1731
1732 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1733
1734         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1735         insns.
1736         * config/s390/s390.c (struct machine_function): Introduction of
1737         struct machine_function.
1738         (s390_output_symbolic_const): Use of cfun.
1739         (s390_optimize_prolog): Likewise.
1740         (s390_fixup_clobbered_return_reg): Likewise.
1741         (s390_frame_info): Likewise.
1742         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1743         (s390_init_machine_status): New function.
1744         (override_options): call s390_init_machine_status.
1745         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1746         prototype.
1747
1748 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1749
1750         * varasm.c (output_constant_pool): For pool constants in mergeable
1751         section ensure each constant is padded to multiple of entity size.
1752
1753 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1754
1755         * varasm.c (default_exception_section): Move to...
1756         * except.c (default_exception_section): ... here. Make
1757         .gcc_except_table read-only if it is not expected to have any
1758         dynamic relocations and linker handles it.
1759         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1760         if it is not expected to have any dynamic relocations and linker
1761         handles it.
1762         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1763         when linking read-only and read-write sections together.
1764         * configure, config.in: Rebuilt.
1765         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1766         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1767
1768 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1769
1770         * i386.md (pushsf_rex64): Fix typo.
1771
1772 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1773
1774         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1775         new function.
1776         (__ev_create_ufix32_fs): Same.
1777         (__ev_get_sfix32_fs_internal): New.
1778         (__ev_get_sfix32_fs): Define to use function.
1779         (__ev_get_ufix32_fs_internal): New.
1780         (__ev_get_ufix32_fs): Define to use function.
1781         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1782         (__ev_get_lower_ufix32_fs): Same.
1783         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1784         (__ev_get_lower_sfix32_fs): Same.
1785         (__ev_set_sfix32_fs_internal): New.
1786         (__ev_set_ufix32_fs_internal): New.
1787         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1788         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1789         (__ev_set_upper_sfix32_fs): Call function.
1790         (__ev_set_lower_sfix32_fs): Same.
1791         (__ev_set_upper_ufix32_fs): Same.
1792         (__ev_set_lower_ufix32_fs): Same.
1793
1794 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1795
1796         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1797
1798 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1799
1800         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1801         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1802         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1803         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1804         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1805         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1806         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1807         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1808         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1809         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1810         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1811         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1812         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1813         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1814         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1815         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1816         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1817         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1818         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1819         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1820         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1821         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1822         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1823         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1824         defining.
1825         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1826         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1827
1828 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1829
1830         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1831
1832 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1833
1834         * config/h8300/h8300.md (an anonymous pattern): New.
1835
1836 2002-11-25  Richard Henderson  <rth@redhat.com>
1837
1838         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1839         (copying_arguments): Make boolean.
1840
1841 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1842
1843         * gcc.c (static_spec_functions): Add if-exists-else spec
1844         function.
1845         (if_exists_else_spec_function): New function.
1846         * doc/invoke.texi: Document the if-exists-else spec function.
1847
1848         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1849         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1850
1851 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1852
1853         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1854         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1855         "${tmake_file} rs6000/t-netbsd".
1856         * config/rs6000/netbsd.h: Rewrite.
1857         * config/rs6000/t-netbsd: New file.
1858
1859 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1860
1861         * config/h8300/h8300.md (an anonymous pattern): Relax the
1862         condition for the pattern.
1863
1864 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1865
1866         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1867         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1868         evmwlssfanw, evmwlsmfanw.
1869
1870         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1871
1872         * config/rs6000/spe.md: Same for patterns.
1873
1874 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1875
1876         PR c/8639
1877         * fold-const.c (extract_muldiv): Don't propagate division unless
1878         both arguments are multiples of C.
1879
1880 2002-11-25  Andrew Haley  <aph@redhat.com>
1881
1882         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1883         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1884         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1885         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1886
1887 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1888
1889         * i386.c (x86_use_ffreep): New global variable.
1890         * i386.h (x86_use_frfeep): Declare
1891         (TARGET_USE_FFREEP): New macro
1892         * i386.md  (movs?f*): Use freep when asked for.
1893         (push?f): Remove dead code.
1894
1895 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1896
1897         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1898         target help message.
1899
1900 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1901
1902         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1903         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1904         crtbeginT.o".
1905         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1906         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1907         to "" for a.out configurations.
1908         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1909
1910 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1911
1912         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1913         NETBSD_CPP_SPEC directly.
1914         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1915         netbsd_endfile_spec.
1916         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1917
1918 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1919
1920         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1921         NETBSD_STARTFILE_SPEC.
1922         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1923         (ENDFILE_SPEC): Likewise.
1924         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1925
1926 2002-11-24  Andreas Schwab  <schwab@suse.de>
1927
1928         * Makefile.in (install-driver): Remove versioned link before
1929         trying to create it.
1930
1931         * config/m68k/m68k.c: Fix typo in last change defining
1932         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1933
1934 2002-11-23  H.J. Lu <hjl@gnu.org>
1935
1936         * aclocal.m4: Include ../config/accross.m4.
1937         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1938         (gcc_AC_C_COMPILE_ENDIAN): Removed.
1939         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1940         instead of $ac_cv_c_compile_endian.
1941
1942         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1943         AC_COMPILE_CHECK_SIZEOF.
1944         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1945         * configure: Rebuild.
1946
1947 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1948
1949         * config/h8300/h8300.c (print_operand): Update the use of
1950         h8300_tiny_constant_address_p.
1951         (h8300_adjust_insn_length): Likewise.
1952         (h8300_tiny_constant_address_p): Check if the given rtx is a
1953         variable declared with __attribute__ ((tiny_data)).
1954
1955 2002-11-22  Dale Johannesen  <dalej@apple.com>
1956
1957         * toplev.c (rest_of_compilation):  Fix comments.
1958
1959 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1960
1961         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1962         allow mmap from /dev/zero.  Don't make decisions for the host
1963         based on presence or absence of /dev/zero on the build machine.
1964         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1965         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1966         * configure: Regenerate.
1967
1968 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1969
1970         * gcc.c (make_relative_prefix, split_directories)
1971         (free_split_directories): Removed.
1972
1973 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1974
1975         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1976         * configure: Regenerated.
1977
1978 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1979
1980         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1981         length computation when xor.l is output.
1982
1983 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
1984
1985         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1986         (call_vms_1, call_value_vms_1): Cleanup syntax.
1987
1988 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1989
1990         * athlon.md (define_atuomaton): Add athlon_load.
1991         (athlon-double): New reservation.
1992         (athlon-ieu0): New CPU unit.
1993         (athlon-load?): Use athlon_load automaton.
1994         (*_k8 reservations): New.
1995         (other insn revervations): Activate for K8.
1996
1997 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
1998
1999         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
2000
2001 2002-11-21  Jim Wilson  <wilson@redhat.com>
2002
2003         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
2004         vectors to SI.
2005
2006 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
2007
2008         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
2009         * config/xtensa/xtensa.c (struct machine_function): Add
2010         incoming_a7_copied flag.
2011         (xtensa_copy_incoming_a7): Define.
2012         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
2013         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
2014
2015 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
2016
2017         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
2018         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
2019         x86_64_nonmemory_operand, x86_64_movabs_operand,
2020         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
2021         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
2022         (local_symbolic_operand): Do not care the 64bit limits.
2023         (x86_64_sign_extended_value): Remove allow_rip support.
2024         (legitimate_pic_address_disp_p): Handle all cases allowed
2025         with RIP addressing.
2026         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
2027         (legitimize_pic_address): Reorganize.
2028         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
2029
2030 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2031
2032         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
2033         * config/arm/netbsd-elf.h: New file.
2034
2035 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2036
2037         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
2038         subtarget_asm_float_spec.
2039         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
2040         defaults from...
2041         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
2042
2043 2002-11-21  Nick Clifton  <nickc@redhat.com>
2044
2045         * config/fr30/fr30.md (movsf_constant_store): Move code to
2046         detect 0.0 into fr30.c.
2047         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
2048         Prototype.
2049         * config/fr30/fr30.c (fr30_const_double_is_zero): New
2050         function.  Return true if the rtx is 0.0.
2051
2052 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
2053
2054         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
2055         if -mlittle-endian is specified.
2056
2057 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
2058
2059         PR optimization/2903
2060         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
2061         (anddi_notsesidi_di): Likewise.
2062
2063 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
2064
2065         * config/h8300/h8300.c (print_operand): Use
2066         h8300_eightbit_constant_address_p and
2067         h8300_tiny_constant_address_p.
2068         (h8300_adjust_insn_length): Likewise.
2069         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
2070         (TINY_CONSTANT_ADDRESS_P): Likewise.
2071         (OK_FOR_U): Use eightbit_constant_address_p.
2072
2073 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2074
2075         * config/s390/libgcc-libc.ver: Add multilib support.
2076         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
2077         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
2078         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
2079         EXTRA_MULTILIB_PARTS): Define.
2080
2081 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
2082
2083         * arm.c (arm_get_frame_size): A leaf function does not need its
2084         stack padding to an aligned boundary if it has no frame.
2085         (thumb_get_frame_size): Likewise.
2086
2087 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2088
2089         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
2090         (override_options): Likewise.
2091
2092 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2093
2094         * config.gcc: Add k8 target alias support
2095         * i386.c (_cost): Declare costs for various variants of divides and
2096         multiplies.
2097         (k8_cost): New.
2098         (m_K8, m_ATHLON_K8): New macros.
2099         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
2100         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
2101         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
2102         x86_integer_DFmode_moves, x86_partial_reg_dependency,
2103         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
2104         x86_prologue_using_move, x86_epilogue_using_move,
2105         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
2106         x86_sse_typeless_stores): Set for K8
2107         (override_options): Add k8 support; fix athlon alignment;
2108         complain about non-x86-64 capable CPU being used in x86-64 compilation.
2109         (ix86_issue_rate): Set for K8.
2110         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
2111         x86_machine_dependent_reorg): Handle K8 like
2112         * i386.h
2113         (x86_costs):  Change mult_init and divide into array.
2114         (TARGET_K8, TARGET_ATHLON): New macros.
2115         (MODE_INDEX): New macro.
2116         (RTX_COST): Use new costs.
2117         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
2118         (TARGET_CPU_DEFAULT_NAMES): Add k8
2119         (TARGET_CPU_DEFAULT_k8): New constant
2120         (enum processor_type): Add PROCESSOR_K8.
2121         * i386.md (cpu attribute): Add k8.
2122
2123         * invoke.texi: Document -march=k8.
2124
2125         * i386.md (type attribute): Add leave
2126         (mode attribute): Remove unknownfp.
2127         (length_immediate, modrm, memory attributes): Handle leave correctly.
2128         (fp comparison patterns): Determine FP mode.
2129         (leave, leave_rex64): Remove special cases.
2130         * ppro.md (ppro_uops, ppro_p2): Add leave
2131         * pentiun.md (pent_pop): Handle leave too.
2132         * k6.md (k6_load): Handle leave.
2133         * athlon.md (athlon_leave, athlon_pop): Fix.
2134         (athlon_decode): Handle leave.
2135
2136 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
2137
2138         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
2139         to component type using GET_MODE_INNER.
2140         * expr.c (emit_move_insn_1): Ditto.
2141         * optabs.c (expand_binop): Ditto.
2142         (expand_unop): Ditto.
2143         (expand_complex_abs): Ditto.
2144
2145 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
2146
2147         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
2148
2149 2002-11-20  DJ Delorie  <dj@redhat.com>
2150
2151         * config/stormy16/stormy16.c (s16builtins,
2152         xstormy16_init_builtins, xstormy16_expand_builtin): New.
2153         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
2154
2155 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
2156
2157         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
2158         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
2159         (executing gencheck, genconfigs, genconditions, genflags,
2160         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
2161         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
2162         gengtype, genprotos): Prepend $(RUN_GEN).
2163         * configure.in: Move host compiler tests before --enable-checking
2164         tests.
2165         (--enable-checking=valgrind): New.
2166         * config.in, configure: Regenerate.
2167         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2168         Define as empty.
2169         (read_include_file): When doing the mmap+1 trick,
2170         valgrind-annotate the byte after the mmap:ed area as readable.
2171         (purge_cache): Remove above annotation.
2172         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
2173         VALGRIND_PATH -q to each command.
2174
2175         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2176         Define as empty.
2177         (ggc_realloc): Update valgrind annotations.
2178         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2179         Define as empty.
2180         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
2181         valgrind-annotate memory.
2182
2183 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
2184
2185         * recog.c (constrain_operands): Prefer exact match over reloadable
2186         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
2187
2188         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
2189         operands in Pmode.
2190
2191 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
2192
2193         PR c/8518
2194         * c-decl.c (duplicate_decls): Outline the second definition
2195         of an extern inline function in all cases.
2196
2197 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2198
2199         * stor-layout.c (place_field): Update rli->offset as well as
2200         rli->bitpos.
2201
2202 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2203
2204         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
2205
2206 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2207
2208         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
2209         into a libcall block.
2210         (divsi3): Likewise divsi3_i4_media.
2211
2212 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2213
2214         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
2215         out another register.
2216
2217 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
2218
2219         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
2220         (not just mask) are set in C.
2221
2222 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
2223
2224         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
2225
2226 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2227
2228         * profile.c (index_counts_file): Fix obvious mistake.
2229
2230 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2231
2232         * Makefile.in (profile.o): Add hashtab.h dependency.
2233         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
2234         * profile.c: Include hashtab.h.
2235         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
2236         cleanup_counts_index, index_counts_file, struct section_reference,
2237         struct da_index_entry, counts_file_name, counts_file_index): New.
2238         (get_exec_counts, init_branch_prob): Modified.
2239
2240 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
2241
2242         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
2243         to tmake_file. Remove setting gas and gnu_ld here.
2244         * config/sh/libgcc-glibc.ver: New file.
2245         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2246         (SHLIB_MAPFILES): New.
2247         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
2248         (MD_STARTFILE_PREFIX): Likewise.
2249         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
2250         (DWARF2_UNWIND_INFO): Redefine.
2251         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2252         (LINK_EH_SPEC): Redefine.
2253         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
2254         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
2255         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
2256         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
2257         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
2258         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
2259         SH_DWARF_FRAME_FPSCR): Likewise.
2260         * config/sh/sh-protos.h (sh_set_return_address): Declare.
2261         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
2262         registers if the current function calls EH return.
2263         (sh_expand_epilogue): Handle EH stack adjustments.
2264         (sh_set_return_address): New function.
2265         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
2266         Don't abort even if the number is mapped to -1.
2267         (EH_RETURN_DATA_REGNO): Define.
2268         (EH_RETURN_STACKADJ_RTX): Define.
2269         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
2270         (eh_return): New pattern.
2271         (eh_set_ra_di, eh_set_ra_si): Likewise.
2272         Add splitter to perform EH return after reload.
2273
2274 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
2275
2276         * stor-layout.c (excess_unit_span): New function.
2277         (place_field): Use it.
2278
2279 2002-11-19  Andreas Schwab  <schwab@suse.de>
2280
2281         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
2282         not valid in C++.
2283
2284 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2285
2286         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
2287         * configure: Regenerate.
2288
2289 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2290
2291         * convert.c (strip_float_extensions): New function.
2292         (convert_to_real): Optimize some cases.
2293
2294 2002-11-19  Andreas Jaeger  <aj@suse.de>
2295
2296         * loop.c (record_giv): Initialize not_replaceable.
2297         (check_final_value): Likewise.
2298
2299 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2300
2301         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
2302         MASK_H8300S.
2303
2304 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
2305
2306         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
2307         only if -mh or -ms present.
2308         (h8300_eightbit_constant_address_p): Support the normal mode.
2309         (h8300_tiny_constant_address_p): Likewise.
2310         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
2311         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
2312         (Pmode): Evaluate to HImode for the normal mode.
2313         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
2314         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
2315         (ASM_WORD_OP): Evaluate to word for the normal mode.
2316         * config/h8300/h8300.md (tablejump_normal_mode): New.
2317         (indirect_jump_normal_mode): New.
2318         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
2319         directory.
2320         (MULTILIB_DIRNAMES): Create target dependent directory
2321         'normal'.
2322         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
2323         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
2324
2325 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
2326
2327         * i386.md (length_immediate): Do not refer to insn address.
2328         (jcc*, jmp patterns):  Compute length explicitly.
2329
2330 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2331
2332         PR c/8588
2333         * optabs.c (expand_binop): Convert CONST_INTs in shift
2334         operations too.
2335
2336 2002-11-19  Roger Sayle  <roger@eyesopen.com>
2337
2338         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
2339
2340 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2341
2342         * config/h8300/h8300.md (an anonymous pattern): Relax the
2343         condition to accept the same operands and/or subregs.
2344
2345 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
2346
2347         * config/sh/sh.c (gen_shl_and): Revert previous patch.
2348         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
2349         reload_completed.
2350
2351 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2352
2353         * config/h8300/h8300.c (print_operand): Update the use of
2354         EIGHTBIT_CONSTANT_ADDRESS_P.
2355         (h8300_adjust_insn_length): Likewise.
2356         (h8300_eightbit_constant_address_p): Check if the given rtx is
2357         a variable with __attribute__((eightbit_data)).
2358         * config/h8300/h8300.h (OK_FOR_U): Update the use of
2359         EIGHTBIT_CONSTANT_ADDRESS_P.
2360
2361 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2362
2363         * doc/contrib.texi (Contributors): Add self as second contact in
2364         addition to Jeff Law.
2365
2366 2002-11-19  Andreas Jaeger  <aj@suse.de>
2367
2368         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
2369         find_alloca_call to right place.
2370
2371 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2372
2373         * cppfiles.c: Fix formatting.
2374
2375 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2376
2377         * gcc.c (The Specs Language): Document spec functions.
2378         (static_spec_functions, lookup_spec_function)
2379         (eval_spec_function, handle_spec_function)
2380         (if_exists_spec_function, alloc_args): New.
2381         (execute): Abort if processing_spec_function is true.
2382         (do_spec_1): Hand off spec to handle_spec_function if %:
2383         is encountered.  If processing_spec_function is true,
2384         end any pending argument when the end of the string is reached.
2385         (main): Use alloc_args to allocate the initial argument vector.
2386         * gcc.h (struct spec_function): New.
2387         (lang_specific_spec_functions): New extern.
2388
2389         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
2390         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
2391         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
2392
2393         * doc/invoke.texi: Document spec functions.
2394
2395         * cppspec.c (lang_specific_spec_functions): New.
2396         * gccspec.c: Likewise.
2397
2398 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
2399
2400         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
2401         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
2402         (fixunstfsi_libfunc): Change.
2403         (fixunstfdi_libfunc): Change.
2404         (sdiv_optab): Don't zero out SImode handler.
2405         (udiv_optab): Don't zero out SImode handler.
2406         (smod_optab): Don't zero out SImode handler.
2407         (umod_optab): Don't zero out SImode handler.
2408
2409 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
2410
2411         PR preprocessor/8524
2412         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
2413         Add a new one in its place, which hopefully works.
2414         (skip_rest_of_line): Change test for bottom-of-context-stack.
2415
2416 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
2417
2418         * i386.md (addqi_1_slp): Fix output template.
2419         (subqi_1_slp): Fix type.
2420
2421 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
2422
2423         * calls.c (alloca_call_p): New global function.
2424         * tree.h (alloca_call_p): New.
2425         * tree-inline.c (inlinable_function_p):  Do not inline when
2426         function calls alloca.
2427         (find_alloca_call, find_alloca_call_1): New functions.
2428
2429 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
2430
2431         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
2432         bst.  Update the insn length.
2433         (*andorhi3): Likewise.
2434         (*andorsi3): Likewise.
2435
2436 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2437
2438         * config/sh/sh-protos.h (sh_mark_label): Declare.
2439         * config/sh/sh.c (sh_mark_label): New function, taken from
2440         movdi_const, but fixing the case when the address has an addend.
2441         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
2442
2443 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2444
2445         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
2446         (add_constant): Set it.
2447         (dump_table): Don't reorder a constant if part_of_sequence_p.
2448         (machine_dependent_reorg): Assume that float constants will
2449         stay in their original order if used as a sequence.
2450
2451 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2452
2453         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
2454         in compact code.
2455
2456 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2457
2458         * config/sh/sh.md (initialize_trampoline): Do not force the
2459         trampoline address into R0_REGS here.
2460
2461 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
2462
2463         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
2464         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
2465         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
2466         generate unnecesary subregs.
2467
2468 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2469
2470         * df.c: Fix formatting.
2471
2472 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2473
2474         * config/h8300/h8300.md (two anonymous patterns): Fix insn
2475         lengths.
2476
2477 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
2478
2479         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
2480         is not an arith_reg_operand.
2481
2482 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
2483
2484         * real.c (real_to_decimal): Fix buffer overrun when buffer size
2485         is smaller than representation.
2486
2487 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2488
2489         * builtins.c: Fix formatting.
2490
2491 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2492
2493         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
2494         floats?dff2_i387):
2495         Work around regclass stupidity.
2496         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
2497
2498 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2499
2500         * i386.md (fop_df_6): New pattern.
2501         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
2502         (fop_xf_6): Rewrite
2503         (fop_xf_7): Delete.
2504         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
2505         (fop_tf_6): Rewrite
2506         (fop_tf_7): Delete.
2507
2508 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2509
2510         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
2511
2512 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2513
2514         * config/h8300/h8300.md: Fix formatting.
2515
2516 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2517
2518         * config/h8300/h8300.md: Replace spaces with tabs.
2519         * config/h8300/t-h8300: Remove a trailing empty line.
2520
2521 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2522
2523         * tlink.c: Fix formatting.
2524
2525 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2526
2527         PR 8362
2528         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2529         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2530         when scratch register never needed.
2531         (ldmsi[3-8]): New patterns.
2532
2533 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2534
2535         * hard-reg-set.h: Follow spelling conventions.
2536         * real.c: Likewise.
2537         * target.h: Likewise.
2538
2539 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2540
2541         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2542
2543 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2544
2545         * optabs.c: Fix formatting.
2546
2547 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2548
2549         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2550         * i386.md (attribute type): Add type shift1 and rotate1.
2551         (*_slp): Rewrite to have just two operands to avoid reload problems.
2552
2553 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2554
2555         * config/h8300/h8300.md (4 anonymous patterns): New.
2556
2557 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2558
2559         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2560         * doc/invoke.texi: Correct description of what needs to be done to
2561         force collection at every ggc_collect call.
2562
2563 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2564
2565         * config/s390/s390.c (optimization_options): Set
2566         flag_asynchronous_unwind_tables to 1 by default.
2567
2568 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2569
2570         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2571
2572 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2573
2574         * i386-protos.h (x86_function_profiler): New function
2575         * i386.h (MCOUNT_NAME): New.
2576         (PROFILE_COUNT_REGISTER): New.
2577         (FUNCTION_PROFILER): Move offline to ...
2578         * i386.c (x86_function_profiler) ... here; fix 64bit support
2579         * beos-elf.h (FUNCTION_PROFILER): Kill.
2580         (MCOUNT_NAME): New.
2581         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2582         (MCOUNT_NAME): New.
2583         (PROFILE_COUNT_REGISTER): New.
2584         * linux.h (FUNCTION_PROFILER): Kill.
2585         (MCOUNT_NAME): New.
2586         * x86-64.h (FUNCTION_PROFILER): Kill.
2587         (MCOUNT_NAME): New.
2588         * freebsd.h (FUNCTION_PROFILER): Kill.
2589         (MCOUNT_NAME): New.
2590
2591 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2592
2593         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2594         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2595         * config/arm/arm.c (arm_va_arg,
2596         arm_function_arg_pass_by_reference): New.
2597         * config/arm/arm-protos.h: Add prototypes.
2598
2599 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2600
2601         * gthr-single.h: Fix formatting.
2602
2603 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2604
2605         * tree.c (tree_vec_elt_check_failed): New function.
2606         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2607         (TREE_VEC_ELT): Use it.
2608
2609         * tree-inline.c (optimize_inline_calls): Don't copy a
2610         zero-length vector.
2611
2612 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2613
2614         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2615
2616 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2617
2618         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2619         both operands contain local relocations.
2620         (categorize_decl_for_section): Don't use mergeable sections if
2621         initializer has any relocations.
2622
2623 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2624
2625         * gthr-vxworks.h: Fix formatting.
2626
2627 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2628
2629         * doc/install.texi (Testing): Document extra Java testing.
2630         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2631
2632 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2633
2634         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2635         beginning of the spec.
2636         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2637         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2638         regarding problems with global constructors when using GNU ld.
2639
2640 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2641
2642         * gthr-solaris.h: Fix formatting.
2643
2644 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2645
2646         * gthr-posix.h: Fix formatting.
2647
2648 2002-11-12  Devang Patel <dpatel@apple.com>
2649         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2650         (process_command): Same.
2651         * doc/invoke.texi: Info about these two new options.
2652
2653 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2654
2655         * config/h8300/h8300.md (*andorsi3): New.
2656
2657 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2658
2659         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2660
2661 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2662
2663         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2664         expressions appropriately.
2665
2666 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2667
2668         * gthr-win32.h: Fix formatting.
2669
2670 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2671
2672         * config/h8300/h8300.c (single_one_operand): Correctly compute
2673         mask when mode is SImode.
2674         (single_zero_operand): Likewise.
2675         * config/h8300/h8300.md (two new anonymous insns): New.
2676
2677 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2678
2679         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2680         to that entire project.
2681
2682 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2683
2684         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2685         directories.
2686
2687 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2688
2689         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2690         * doc/invoke.texi: Document them.
2691
2692         * ggc-page.c: Include params.h.  Remove definitions of
2693         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2694         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2695         (init_gcc): Don't set G.allocated_last_gc here.
2696         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2697         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2698         perform collection.
2699         * ggc-simple.c: Similarly.
2700         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2701         dependencies.
2702
2703 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2704
2705         * gthr-dce.h: Fix formatting.
2706
2707 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2708
2709         PR c/8467
2710         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2711         mode of DECL_RTL case.
2712
2713 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2714
2715         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2716
2717 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2718
2719         * i386.c (construct_container): Fix handling of SSE_CLASS.
2720
2721 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2722
2723         * config/m68k/t-crtstuff (crti.o): Use this...
2724         ($(T)crti.o): ... instead.
2725         (crtn.o): Use this...
2726         ($(T)crtn.o): ... instead.
2727
2728 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2729
2730         PR c/8439
2731         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2732         if there is something new to be simplified.
2733
2734 2002-11-10  H.J. Lu <hjl@gnu.org>
2735
2736         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2737         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2738
2739         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2740
2741 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2742
2743         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2744         * config/rs6000/linux.h, config/rs6000/linux64.h,
2745         config/rs6000/windiss.h: ... not here.
2746
2747 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2748
2749         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2750         __ABICALLS__ if TARGET_ABICALLS.
2751
2752 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2753
2754         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2755
2756 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2757
2758         * c-decl.c (grokdeclarator): Make error for duplicate type
2759         qualifiers into a pedwarn, disabled for C99.
2760
2761 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2762
2763         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2764         as FUNCTION_ARG_PASS_BY_REFERENCE.
2765
2766 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2767
2768         * doc/install.texi: Add *-*-vxworks* specific installation
2769         instructions.
2770
2771         * config/vxlib.c: Rewrite using generation numbers to identify
2772         valid TSD keys.
2773
2774 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2775
2776         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2777
2778 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2779
2780         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2781
2782         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2783         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2784         * pa.c (output_millicode_call): Use symbol difference rather than
2785         $PIC_pcrel$0 when using HP assembler.
2786         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2787         not elfos.h (i.e., gas) is being used.
2788         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2789         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2790         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2791         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2792         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2793         using elfos.h.
2794         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2795         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2796         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2797         using elfos.h.
2798         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2799         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2800         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2801         Don't define when not using elfos.h.
2802         (ASM_DECLARE_RESULT): Don't define.
2803         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2804         doesn't work on hppa64-hp-hpux11.
2805         (hppa*-hp-hpux11): Update.
2806
2807 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2808
2809         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2810         to the assembler if -mno-abicalls was specified.
2811
2812 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2813
2814         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2815         ASM_OUTPUT_DEF): Delete.
2816
2817 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2818
2819         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2820
2821 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2822
2823         * real.c (real_sqrt): Update comment with bibliographic reference.
2824
2825 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2826
2827         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2828
2829 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2830
2831         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2832
2833 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2834
2835         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2836         (expand_builtin): Likewise.
2837         * builtins.def: Add
2838         __builtin_floor, __builtin_floorf, __builtin_floorl
2839         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2840         __builtin_round, __builtin_roundf, __builtin_roundl
2841         __builtin_trunc, __builtin_truncf, __builtin_truncl
2842         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2843         * genopinit.c (optabs): Initialize the new optabs.
2844         * optab.c (init_optabs): Likewise.
2845         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2846         OTI_round, OTI_nearbyint.
2847         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2848         * doc/md.texi: Document new named patterns.
2849         * doc/extend.texi (builtin functions)  Document
2850         floor, floorf, floorl, ceil, ceilf,
2851         ceill, round, roundf, roundl, trunc,
2852         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2853
2854 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2855
2856         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2857
2858 2002-11-08  Dale Johannesen  <dalej@apple.com>
2859
2860         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2861
2862 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2863
2864         PR preprocessor/8497
2865         PR preprocessor/8501
2866         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2867         start a directive.  In assembler, #NUM is not a line directive.
2868
2869 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2870
2871         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2872         buffers.
2873
2874 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2875
2876         * config/h8300/h8300.md (two anonymous test insns): New.
2877
2878 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2879
2880         * jump.c (mark_jump_label): Handle subregs of label_refs.
2881
2882 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2883
2884         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2885         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2886
2887 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2888
2889         * config/ia64/crtend.asm: Include "auto-host.h".
2890         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2891         * config/ia64/crtbegin.asm: Similarly.
2892         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2893         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2894
2895         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2896         * configure.in: Use it if --enable-initfini-array not specified.
2897         * doc/install.texi (Configuration): Document --enable-initfini-array.
2898         * configure, config.in: Rebuild.
2899
2900 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2901
2902         * config/arm/arm-protos.h (arm_get_frame_size)
2903         (thumb_get_frame_size): New prototypes.
2904         * config/arm/arm.c (arm_get_frame_size)
2905         (thumb_get_frame_size): New functions.
2906         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2907         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2908         arm_get_frame_size.
2909         (thumb_expand_prologue, thumb_expand_epilogue): Use
2910         thumb_get_frame_size.
2911         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2912         (machine_function): Add frame_size member.
2913         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2914
2915 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2916
2917         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2918         Adjust code to use portable unsigned bit manipulation.
2919         (insn_flags, tune_flags): Change type to unsigned.
2920         (struct processors): Make flags unsigned long.
2921         (arm_override_options): Change type of count and current_bit_count
2922         to unsigned.
2923
2924 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2925
2926         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2927
2928 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
2929
2930         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2931
2932 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
2933
2934         * reg-stack.c (compensate_edge): Fix sanity check.
2935
2936 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
2937
2938         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2939         crt2.o.  Rearrange t-darwin makefiles.
2940         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2941         * unwind-dw2-fde-darwin.c: New.
2942         * unwind-dw2-fde-glibc.c: Correct comment.
2943         * unwind-dw2-fde.c (__register_frame_info_bases)
2944         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2945         (classify_object_over_fdes): Use last_fde.
2946         (add_fdes): Likewise.
2947         (linear_search_fdes): Likewise.
2948         * unwind-dw2-fde.h (struct object)
2949         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2950         (last_fde): New.
2951         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2952         (ENDFILE_SPEC): No crtend.o.
2953         * config/t-darwin: New.
2954         * config/i386/t-darwin: Delete.
2955         * config/darwin-crt2.c: New.
2956         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2957         or config/t-darwin.
2958
2959 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
2960
2961         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2962         MASK_MS_BITFIELD_LAYOUT
2963         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2964         MS bitfields for Objective-C.
2965         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2966         defines.
2967
2968         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2969         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2970         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2971
2972         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2973         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2974         (TARGET_SWITCHES): Add above mask.
2975
2976         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2977         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2978         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2979         flags for interix.
2980
2981 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
2982
2983         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2984         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2985         assembler.
2986         * config/mips/mips.md (tablejump_internal3): Output .cpadd
2987         before jump on ABI_N32 too.
2988         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
2989         length to match.
2990
2991 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
2992
2993         * i386.md (negsf splitter): Accept memory operand in second register.
2994         (abssf/absdf splitters): Simplify
2995         (sse_loadss, sse_loadsd): Turn into expander.
2996
2997 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
2998
2999         PR target/8480
3000         * config/rs6000/rs6000.md (movdi_internal64): Discourage
3001         FPR to FPR moves.
3002
3003 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
3004
3005         * doc/contrib.texi: Merge in the list from the Java web pages.
3006
3007 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
3008
3009         * config/sparc/freebsd: Fix typo.
3010
3011 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3012
3013         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
3014
3015 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
3016
3017         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
3018         non-SImode addresses.
3019
3020 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
3021
3022         * i386.md (float_truncate SSE splitter): Ensure that operand is not
3023         stack register.
3024         (float SSE splitters): Reorder conditional.
3025
3026 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
3027
3028         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
3029
3030 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
3031
3032         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
3033         (STARTFILE_SPEC): Remove p and pg options.
3034
3035 2002-11-05  Andrew Haley  <aph@redhat.com>
3036
3037         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
3038         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
3039
3040 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
3041
3042         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
3043         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
3044
3045 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
3046
3047         * gthr-vxworks.h: Rewritten from scratch.
3048         * config/vxlib.c: New file.
3049         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
3050         * config/rs6000/t-vxworks: Add config/vxlib.c to
3051         LIB2FUNCS_EXTRA here too, because of clash with
3052         config/rs6000/t-ppccomm.
3053
3054 2002-11-04  Dale Johannesen  <dalej@apple.com>
3055
3056         * doloop.c (doloop_modify_runtime):  Fix loop count computation
3057         for unrolled loops.
3058         * loop.c (loop_invariant_p):  Support calling from unroller.
3059
3060 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
3061
3062         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
3063         for comparison.
3064
3065 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
3066
3067         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
3068
3069         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
3070         (CLASS_CANNOT_CHANGE_MODE): Remove.
3071         (CANNOT_CHANGE_MODE_CLASS): New.
3072
3073         * config/alpha/alpha.h: Same.
3074
3075         * config/ia64/ia64.h: Same.
3076
3077         * config/mips/mips.h: Same.
3078
3079         * config/s390/s390.h: Same.
3080
3081         * config/sh/sh.h: Same.
3082
3083         * config/pa/pa64-regs.h: Same.
3084
3085         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
3086
3087         * config/sh/sh.c (sh_cannot_change_mode_class): New.
3088
3089         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
3090         prototype.
3091
3092         * config/mips/mips.c (mips_cannot_change_mode_class): New.
3093
3094         * doc/tm.texi (Register Classes): Remove
3095         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
3096         Document CANNOT_CHANGE_MODE_CLASS.
3097
3098         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
3099         (push_reload): Same.
3100
3101         * simplify-rtx.c (simplify_subreg): Same.
3102
3103         * reload1.c (choose_reload_regs): Same.
3104
3105         * recog.c (register_operand): Same.
3106
3107         * regrename.c (mode_change_ok): Change to use new
3108         CANNOT_CHANGE_MODE_CLASS infrastructure.
3109
3110         * regclass.c (cannot_change_mode_set_regs): New.
3111         Declare subregs_of_mode.
3112         (regclass): Use subregs_of_mode.
3113         Remove references to reg_changes_mode.
3114         (init_reg_sets_1): Remove class_can_change_mode and
3115         reg_changes_mode code.
3116         (invalid_mode_change_p): New.
3117         (dump_regclass): Use invalid_mode_change_p instead of
3118         class_can_change_mode.
3119         (regclass): Same.
3120         (record_operand_costs): Do not set reg_changes_mode.
3121
3122         * local-alloc.c (struct qty): Remove changes_mode field.
3123         (alloc_qty): Remove changes_mode initialization.
3124         (update_qty_class): Remove set of changes_mode.
3125         (find_free_reg): Use subregs_of_mode.
3126
3127         * global.c (find_reg): Use subregs_of_mode info.
3128
3129         * rtl.h (cannot_change_mode_set_regs): New prototype.
3130         (invalid_mode_change_p): Same.
3131         (REG_CANNOT_CHANGE_MODE_P): New macro.
3132
3133         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
3134         REG_CHANGES_MODE.
3135         (life_analysis): Clear subregs_of_mode.
3136
3137         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
3138         Remove use of CLASS_CANNOT_CHANGE_MODE.
3139         (simplify_set): Same.
3140         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
3141         REG_CHANGES_MODE.
3142
3143         * regs.h: Add extern for subregs_of_mode;
3144         Include hard-reg-set and basic-block.
3145         (REG_CHANGES_MODE): Delete.
3146
3147 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3148
3149         * real.c (real_sqrt): New function to calculate square roots.
3150         * real.h (real_sqrt): Add function prototype.
3151         * builtins.c (fold_builtin): Fold sqrt of constant argument.
3152         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
3153         of constant argument.
3154
3155 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3156
3157         * jump.c (never_reached_warning): Don't set contains_insn until the
3158         first line note is seen.
3159
3160 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
3161
3162         * config/rs6000/rs6000.md (movti_string): Use string instructions.
3163
3164 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3165
3166         PR c/7128
3167         * c-typeck.c (c_expand_asm_operands): Defend against
3168         error_mark_nodes in the output argument to avoid ICE.
3169
3170 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3171
3172         PR middle-end/8408
3173         * genrecog.c (preds): Handle ADDRESSOF.
3174         (validate_pattern): Mark it as an lvalue.
3175
3176 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
3177
3178         * config/rs6000/rs6000.c (rs6000_override_options): Use string
3179         instructions when optimizing for size.
3180
3181 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
3182
3183         * config/h8300/h8300.h: Fix comment typos.
3184         * config/h8300/h8300.md: Likewise.
3185         * config/h8300/lib1funcs.asm: Likewise.
3186
3187 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3188
3189         Revert this change:
3190
3191         *doc/install.texi (Installing GCC: Configuration): Clarify
3192         the only supported ways to configure gcc.
3193
3194 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3195
3196         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
3197         instead of 'O' for the constraint for the second operand.
3198
3199 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
3200
3201         PR c++/8391
3202         * toplev.c (rest_of_compilation): Do not refuse to output code for
3203         an inline function in a local class.
3204
3205 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
3206
3207         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
3208         (TRANSFER_FROM_TRAMPOLINE): Reformat.
3209         Add comment.
3210
3211 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3212
3213         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
3214
3215 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
3216
3217         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
3218
3219 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
3220
3221         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
3222         (MASK_INLINE_DIV_THR): Remove.
3223         (TARGET_INLINE_DIV_LAT): Remove.
3224         (TARGET_INLINE_DIV_THR): Remove.
3225         (TARGET_INLINE_DIV): Remove.
3226         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
3227         (MASK_INLINE_FLOAT_DIV_THR): New macro.
3228         (MASK_INLINE_INT_DIV_LAT): New macro.
3229         (MASK_INLINE_INT_DIV_THR): New macro.
3230         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
3231         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
3232         (TARGET_INLINE_INT_DIV_LAT): New macro.
3233         (TARGET_INLINE_INT_DIV_THR): New macro.
3234         (TARGET_INLINE_FLOAT_DIV): New macro.
3235         (TARGET_INLINE_INT_DIV): New macro.
3236         * config/ia64/ia64.md (divsi3): Change to use new macros.
3237         (modsi3): Ditto.
3238         (udivsi3): Ditto.
3239         (umodsi3): Ditto.
3240         (divsi3_internal): Ditto.
3241         (divdi3): Ditto.
3242         (moddi3): Ditto.
3243         (udivdi3): Ditto.
3244         (umoddi3): Ditto.
3245         (divdi3_internal_lat): Ditto.
3246         (divdi3_internal_thr): Ditto.
3247         (divsf3): Ditto.
3248         (divsf3_internal_lat): Ditto.
3249         (divsf3_internal_thr): Ditto.
3250         (divdf3): Ditto.
3251         (divdf3_internal_lat): Ditto.
3252         (divdf3_internal_thr): Ditto.
3253         (divtf3): Ditto.
3254         (divtf3_internal_lat): Ditto.
3255         (divtf3_internal_thr): Ditto.
3256         * config/ia64/ia64.c (ia64_override_options): Change
3257         to check new macros for conflicts in settings.
3258         * doc/invoke.texi (-minline-divide-min-latency): Remove.
3259         (-minline-divide-max-throughput): Remove.
3260         (-minline-float-divide-min-latency): New.
3261         (-minline-float-divide-max-throughput): New.
3262         (-minline-int-divide-min-latency): New.
3263         (-minline-int-divide-max-throughput): New.
3264
3265 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
3266
3267         PR target/7856
3268         * arm.c (use_return_insn): Don't use a return insn if there are
3269         saved integer regs, but LR is not one of them.
3270
3271 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3272
3273         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
3274         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
3275
3276 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3277
3278         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
3279         (movps, movpd splitters): Use canonical form.
3280         (movv2di): Fix merge problem.
3281
3282 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
3283
3284         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3285
3286 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3287
3288         PR optimization/6162
3289         * doc/md.texi: Document restriction on commutative operand
3290         specification.
3291
3292 2002-10-31  Eric Christopher  <echristo@redhat.com>
3293
3294         * explow.c (convert_memory_address): Use shallow_copy_rtx.
3295
3296 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3297
3298         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
3299
3300 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3301
3302         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
3303
3304 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3305
3306         * config/rs6000/darwin.h:  Correct formatting in previous.
3307
3308 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3309
3310         * config/rs6000/darwin.h:  Enable -falign-xxx options.
3311
3312 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
3313
3314         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
3315         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
3316         * i386.c (optimization_options): Set flag_omit_frame_pointer,
3317         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
3318         Do not clear -momit-leaf-frame-pointer when profiling.
3319         (ix86_frame_pointer_required): Frame pointer is always required when
3320         profiling.
3321
3322 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3323
3324         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3325
3326 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
3327
3328         * sh.h (binary_logical_operator): Declare.
3329         * sh.c (binary_logical_operator): New function.
3330         * sh.md (xordi3+1): New combiner splitter pattern.
3331
3332 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
3333
3334         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3335         __enable_execute_stack function.
3336
3337 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
3338
3339         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
3340         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
3341         * unwind-sjlj.c (fc_key_dtor): Delete.
3342         (fc_key_init): Adjust __gthread_key_create call to match.
3343
3344 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
3345
3346         * c-common.c: Add GTY to vector_type_node_list.
3347
3348 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
3349
3350         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
3351         * pa-protos.h (attr_length_millicode_call, attr_length_call,
3352         pa_init_machine_status): Declare new global functions.
3353         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
3354         implement new functions.
3355         (attr_length_millicode_call, attr_length_call): Implement.
3356         (total_code_bytes): Change type to long.
3357         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
3358         Reset counter if flag_function_sections.
3359         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
3360         (output_cbranch): Move call to gen_label_rtx.
3361         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
3362         delay slot in all variants, shorten pc-relative calls.
3363         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
3364         slot usage and exposure, various new call variants, and shortened
3365         sequences for some variants on TARGET_PA_20.
3366         Miscellaneous format changes.
3367         * pa.h (total_code_bytes): Change type to long.
3368         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
3369         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
3370         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
3371         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
3372         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
3373         stores on TARGET_ELF32.
3374         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
3375         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
3376         canonicalize_funcptr_for_compare expanders): Calculate attribute length
3377         attr_length_millicode_call().
3378         (call_internal_symref, call_value_internal_symref): Clobber register 1.
3379         Calculate attribute length using attr_length_call().
3380         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
3381         to delay slot.
3382         (sibcall, sibcall_value): Rewrite.
3383         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
3384         register 1.  Use attr_length_call().
3385         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
3386         New patterns.
3387         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
3388         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
3389         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
3390         * doc/invoke.texi (mlong-calls): Document.
3391
3392 2002-10-30  Roger Sayle  <roger@eyesopen.com>
3393
3394         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
3395         handling of cases where one or both branches of the conditional
3396         have void type, i.e. throw an exception or don't return.
3397         (fold): Only apply (and undo) type conversion to the non-void
3398         branches of a COND_EXPR.
3399
3400 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
3401
3402         PR c++/8333
3403         * varasm.c (asm_output_aligned_bss): Do not call
3404         ASM_GLOBALIZE_LABEL.
3405
3406 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
3407             Torbjorn Granlund  <tege@swox.com>
3408
3409         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
3410         for addressibility.
3411         (load_toc_v4_PIC_1b): Same.
3412
3413 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
3414
3415         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3416         Truncate the addresses for H8/300 using HImode.
3417
3418 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
3419
3420         * i386.md (negdf splitter): Fix construction of the constant.
3421
3422 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
3423
3424         * i386.md (negsf, negdf): Reorganize to use vector modes
3425         for SSE variants.
3426         (abssf, absdf): Use force_reg.
3427         (movv4sf, movv2df): New splitters.
3428         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
3429         * i386.c (zero_extended_scalar_load_operand
3430
3431         * i386-protos.h (ix86_expand_call): Update prototype.
3432         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
3433         (ix86_expand_call): Use r11 for indirect sibcalls.
3434         * i386.md (call, call_value, untyped_call, call_value_pop):
3435         update x86_expand_call call.
3436         (sibcall, sibcall_value): new patterns
3437         (call_rex64, call_value_rex64): Do not accept sibcalls.
3438         (sibcall_rex64, sibcall_value_rex64,
3439         sibcall_rex64_v, sibcall_value_rex64_v): New.
3440
3441 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3442
3443         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3444         before final pass.
3445
3446 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
3447
3448         * toplev.c (rest_of_type_compilation): Return early in case of
3449         errors.
3450         (check_global_declarations): Don't call debug_hooks->global_decl
3451         in case of errors.
3452
3453 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
3454
3455         * doc/c-tree.texi (Tree overview): Fix typos.
3456
3457 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
3458
3459         * Makefile.in (gnucompare*):  Only record bad comparisons
3460         if there really was a bad comparison.
3461
3462 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
3463
3464         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
3465         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
3466         * md.texi (machine dependent constraints): Document 'C'
3467
3468         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
3469
3470         * i386.c (ix86_expand_vector_move): Fix.
3471
3472         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
3473         * i386.md (sse2_maskmovdqu_rex64): New pattern
3474
3475         PR target/8322
3476         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
3477         (ix86_init_mmx_sse_builtins): Fix type.
3478
3479 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
3480
3481         * gthr-posix.h: Include <unistd.h> for feature tests.
3482         (sched_get_priority_max, sched_get_priority_min)
3483         (pthread_getschedparam, pthread_setschedparam): Only use
3484         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
3485         (__gthread_objc_thread_set_priority): Don't treat all nonzero
3486         returns from sched_get_priority_max and sched_get_priority_min
3487         as an error.
3488
3489 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3490
3491         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
3492         MASK_QUICKCALL.
3493
3494 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3495
3496         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
3497         (h8300_tiny_constant_address_p): Likewise.
3498         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
3499         h8300_eightbit_constant_address_p.
3500         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
3501         * config/h8300/h8300-protos.h: Add the prototypes for the two
3502         new functions.
3503
3504 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3505
3506         * reload1.c (update_eliminables): Unconditionally check if
3507         frame_pointer_needed has changed.
3508
3509 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3510
3511         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3512         before final pass.
3513
3514 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3515
3516         PR optimization/8334
3517         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3518         check for zero operands explicitly.
3519
3520 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3521
3522         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3523         memory after adjusting to BLKmode.
3524
3525 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3526
3527         * config/h8300/h8300.h (MASK_*): New.
3528         (TARGET_*): Use MASK_*.
3529
3530 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3531
3532         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3533         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3534         config/rs6000/vxworks.h: New files.
3535         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3536
3537         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3538         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3539         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3540         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3541         sparc-*-vxsim*): Delete stanzas.
3542         * gthr-vxworks.h: Rip out all substantive code and just
3543         include gthr-single.h.
3544
3545         * config/alpha/vxworks.h, config/arm/vxarm.h,
3546         config/i386/vxi386.h, config/i960/t-vxworks960,
3547         config/i960/vx960-coff.h, config/i960/vx960.h,
3548         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3549         config/mips/vxworks.h, config/rs6000/vxppc.h,
3550         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3551         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3552         config/sparc/vxsparc64.h: Delete files.
3553
3554 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3555
3556         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3557         tm_defines if pthreads are enabled.
3558         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3559         if NETBSD_ENABLE_PTHREADS is defined.
3560
3561 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3562
3563         * ChangeLog.1: Fix typos.
3564         * cse.c: Fix a comment typo.
3565         * reload1.c: Likewise.
3566
3567 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3568
3569         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3570         * fixinc/tests/base/_G_config.h: New file.
3571
3572 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3573
3574         * combine.c: Fix comment formatting.
3575         * loop.c: Likewise.
3576         * real.c: Likewise.
3577         * regclass.c: Likewise.
3578         * regmove.c: Likewise.
3579         * regrename.c: Likewise.
3580         * reg-stack.c: Likewise.
3581         * reload1.c: Likewise.
3582         * reload.c: Likewise.
3583         * reload.h: Likewise.
3584         * unroll.c: Likewise.
3585
3586 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3587
3588         * reload1.c (reload): Fix a comment typo.
3589
3590 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3591
3592         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3593
3594 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3595
3596         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3597         * dwarf2out.c: Include hashtab.h.
3598         (is_main_source): New static variable.
3599         (attr_checksum, die_checksum): Modified to handle die references.
3600         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3601         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3602         record_comdat_symbol_number): New static functions.
3603         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3604         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3605         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3606         declarations added.
3607
3608 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3609
3610         * config/h8300/h8300.c (initial_offset): Change to
3611         h8300_initial_elimination_offset.
3612         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3613         h8300_initial_elimination_offset.
3614         * config/h8300/h8300-protos.h: Update the prototype.
3615
3616 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3617
3618         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3619         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3620         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3621         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3622         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3623         and RTX_CODE.
3624         (mmix_function_value_regno_p): Declare.
3625
3626         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3627         invalid for floating point mode result, with fix.
3628
3629 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3630
3631         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3632         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3633         (stage1_build): Likewise.
3634
3635 2002-10-25  Mike Stump  <mrs@apple.com>
3636
3637         Fixes gcc.dg/warn-1.c.
3638         * c-typeck.c (warn_for_assignment): Don't print argument number,
3639         if zero.
3640
3641 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3642
3643         * toplev.c (dump_file_index): Add DFI_ce3.
3644         (dump_file_info): Likewise.
3645         (rest_of_compilation): Run first ifcvt pass before tracer.
3646
3647 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3648
3649         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3650
3651 2002-10-25  Richard Henderson  <rth@redhat.com>
3652
3653         * real.c (real_to_decimal): If the >1 tens reduction loop results
3654         in a negative exponent, fall into the <1 pten computation.
3655
3656 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3657
3658         PR middle-end/6994
3659         * c-objc-common.c (inline_forbidden_p): Can not inline
3660         functions containing structures or unions containing VLAs.
3661         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3662         TYPE_SIZE and TYPE_SIZE_UNIT.
3663         (copy_tree_r): Copy types if they are variably modified.
3664
3665 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3666
3667         * config/s390/s390.md: Remove old-style peepholes.
3668
3669 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3670
3671         * config/s390/s390.c (s390_decompose_address): Do not range check the
3672         displacement if base or index is the argument pointer register.
3673
3674 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3675
3676         PR other/3337
3677         PR bootstrap/6763
3678         PR bootstrap/8122
3679         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3680         * fixinc/fixincl.x: Regenerate.
3681         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3682         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3683         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3684         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3685         * config.in, configure: Regenerate.
3686
3687 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3688
3689         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3690
3691 2002-10-24  Richard Henderson  <rth@redhat.com>
3692
3693         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3694
3695 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3696
3697         * config/h8300/h8300.c (initial_offset): Simplify by using
3698         round_frame_size.
3699
3700 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3701
3702         * doc/install.texi (avr): Update required binutils version.
3703
3704 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3705
3706         * doc/install.texi: Point avr users at more up-to-date information.
3707
3708 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3709
3710         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3711         to pull operands out of the literal pool where possible.
3712
3713 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3714
3715         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3716
3717 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3718
3719         * expr.c (convert_move): If unsignedp is less then zero there
3720         is no equivalent code.
3721
3722 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3723
3724         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3725
3726 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3727
3728         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3729         according to the sequence they are defined in the manual.
3730         (POINTER_BOUNDARY): Remove.
3731
3732 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3733
3734         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3735         BITS_PER_UNIT.
3736
3737 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3738
3739         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3740         64-bit safe.
3741         (TINY_CONSTANT_ADDRESS_P): Likewise.
3742
3743 2002-10-24  Richard Henderson  <rth@redhat.com>
3744
3745         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3746         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3747         vcall offset.
3748
3749 2002-10-24  Richard Henderson  <rth@redhat.com>
3750
3751         PR opt/7944
3752         * reload.c (find_reloads_toplev): Mode of X is not important
3753         when simplifying subregs of constants.
3754
3755 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3756
3757         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3758         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3759         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3760         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3761         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3762
3763 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3764
3765         * optabs.c (expand_binop): Don't reuse the shift target in the
3766         middle of shift sequences.
3767
3768 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3769
3770         * i386.md (abs splitters): Do not produce nested subregs.
3771
3772 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3773
3774         * i386.md (movti_rex64): Fix constraints.
3775
3776 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3777
3778         * i386.md (abssf,absdf): Use vector operands for SSE
3779         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3780         vector operand.
3781
3782 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3783
3784         * objc/objc-act.c (get_static_reference): Remove unneeded
3785         TYPE_BINFO initialization.
3786         (get_object-reference): Likewise.
3787         (build_constructor): Tighten precondition check.
3788         (finish_message_expr): Likewise.
3789
3790 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3791
3792         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3793         after CONST test.
3794
3795 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3796
3797         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3798         in HFAs.
3799
3800 2002-10-23  Richard Henderson  <rth@redhat.com>
3801
3802         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3803         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3804
3805 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3806
3807         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3808         var_mod_type_p.
3809         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3810         hook_tree_bool_false.
3811
3812         * tree.c (variably_modified_type_p): Moved here from
3813         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3814         language-specific cases.  Due to this, must weaken some 'if
3815         and only if' checks to merely 'if'.
3816         * tree.h: Prototype variably_modified_type_p.
3817
3818         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3819
3820 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3821
3822         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3823         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3824
3825         * config/s390/s390-protos.h (fp_operand): Remove.
3826         * config/s390/s390.c (fp_operand): Remove.
3827         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3828         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3829         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3830         (movdi_31, movdf_31 splitters): Likewise.
3831
3832         * config/s390/s390.h (IEEE_FLOAT): Remove.
3833         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3834         (INT_REGNO_P): Rename to ...
3835         (GENERAL_REGNO_P): ... this.
3836         (FLOAT_REGNO_P): Rename to ...
3837         (FP_REGNO_P): ... this.
3838         (ADDR_REGNO_P): New macro.
3839         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3840         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3841         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3842         (HARD_REGNO_NREGS): Adapt to macro renaming.
3843         (HARD_REGNO_MODE_OK): Likewise.
3844
3845 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3846             Geoff Keating  <geoffk@apple.com>
3847
3848         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3849         (rs6000_memory_move_cost): New function.
3850         * config/rs6000/rs6000-protos.h: Declare them.
3851         * config/rs6000/rs6000.h: Use them.
3852
3853 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3854
3855         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3856         inlining it into other libgcc2 routines.
3857         (__udivmoddi4): Likewise.
3858
3859 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3860
3861         * doc/sourcebuild.texi (Test Suites): Improve.
3862
3863 2002-10-22  Stan Shebs  <shebs@apple.com>
3864
3865         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3866         case for Darwin.
3867
3868 2002-10-22  Jim Wilson  <wilson@redhat.com>
3869
3870         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3871
3872 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3873
3874         PR other/8289
3875         * xmmintrin.h: Add const to the argument of loads.
3876
3877         * i386.md (pushv2di): New pattern.
3878         PR target/6890
3879         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3880
3881 2002-10-22  Richard Henderson  <rth@redhat.com>
3882
3883         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3884         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3885         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3886         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3887         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3888         (TARGET_ASM_OUT): Update.
3889         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3890         (hook_bool_tree_hwi_hwi_tree_true): New.
3891         (default_can_output_mi_thunk_no_vcall): New.
3892         * hooks.h: Declare them.
3893         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3894
3895         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3896         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3897         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3898         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3899         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3900         config/stormy16/stormy16.c: Similarly.
3901
3902         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3903         Handle 64-bit properly.  Streamline.
3904         (x86_output_mi_vcall_thunk): Remove.
3905         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3906         (x86_can_output_mi_thunk): New.
3907         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3908         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3909         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3910
3911         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3912         output_mi_thunk; make static; always use function_section.
3913         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3914         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3915         (rs6000_ra_ever_killed): Test no_new_pseudos not
3916         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3917         * config/rs6000/rs6000-protos.h: Update.
3918         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3919         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3920         xcoffout_declare_function when using rs6000_output_mi_thunk.
3921
3922         * config/s390/s390.c (s390_output_mi_thunk): Rename from
3923         s390_output_mi_vcall_thunk.
3924         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3925         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3926
3927         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3928         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3929         * config/vax/vax-protos.h: Update.
3930         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3931
3932 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
3933
3934         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3935         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3936         * i386.md (movti_internal): Use 'C'
3937
3938         * xmmintrin.h (_mm_cmplt_epi*): New.
3939
3940 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3941
3942         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3943         ("*movdf_64"): Likewise.
3944         ("*lshrdi3_64"): Likewise.
3945         ("blockage"): Add length attribute.
3946         ("lit"): Likewise.
3947
3948 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
3949
3950         * i386.md: FIx typo.
3951         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3952         (sse2_umulv2siv2di3): Fix predicate.
3953         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3954         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3955         * xmmintrin.h (_mm_mul_epu16): Rename to...
3956         (_mm_mul_epu32): This one.
3957         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3958
3959         (contains_128bit_aligned_vector_p): Undo accidental checkin.
3960
3961 2002-10-22  Eric Christopher  <echristo@redhat.com>
3962
3963         * config/sparc/sparc.h: Add #error.
3964
3965 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3966
3967         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3968         [s390x-*-linux*]: Likewise.
3969         * config/s390/t-linux: Remove.
3970         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3971
3972 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
3973
3974         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3975         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3976         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3977         * i386.md (mmx_punpck?dq): Simplify.
3978         (sse2_pubpcklqdq): Fix.
3979         (sse2_pubpckhqdq): New.
3980         * xmmintrin.h (_mm_unpackhi_epi32): New.
3981
3982         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3983         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3984
3985 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
3986
3987         PR c++/7209
3988         * fold_const.c (fold_binary_op_with_conditional_arg): Always
3989         build compound_expr if we used save_expr.
3990
3991 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
3992
3993         * output.h (SECTION_NOTYPE): Define.
3994         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3995         init array sections.
3996         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3997         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
3998         merge TLS support.
3999
4000 2002-10-21  Richard Henderson  <rth@redhat.com>
4001
4002         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
4003         the function type, not the return type.
4004
4005 2002-10-21  Richard Henderson  <rth@redhat.com>
4006
4007         * real.c (sticky_rshift_significand): Return inexact, don't
4008         or it in immediately.
4009         (sub_significands): Accept incomming carry.
4010         (div_significands, rtd_divmod): Update for sub_significands change.
4011         (round_for_format): Update for sticky_rshift_significand change.
4012         (do_add): Don't involve the inexact bit in addition, do give the
4013         inexact bit as the subtraction carry-in.
4014         (encode_internal, decode_internal, real_internal_format): New.
4015         * real.h (real_internal_format): Declare.
4016
4017 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4018
4019         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
4020         don't define sdiv_qrnnd.
4021
4022 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4023
4024         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
4025         using IN_RANGE.
4026         (TINY_CONSTANT_ADDRESS_P): Likewise.
4027
4028 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
4029
4030         * i386.c (builtin_description): Add punpcklqdq and movdq2q
4031         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
4032         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
4033         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
4034         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
4035         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
4036         __builtin_ia32_setzero128.
4037         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
4038         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
4039         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
4040         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
4041         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
4042         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
4043         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
4044         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
4045         sse2_movq): New patterns.
4046         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
4047         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
4048         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
4049         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
4050         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
4051         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
4052         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
4053         (_mm_insert_epi16): Fix.
4054
4055 2002-10-21  Dale Johannesen  <dalej@apple.com>
4056
4057         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
4058             unsafe math reversals correctly for RTL generation.
4059           (output_cbranch):  Replace rs6000_reverse_condition call
4060             by its former definition.
4061
4062 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
4063
4064         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
4065         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
4066         from constant pool or LABEL_REFs as sign extended if allow_rip.
4067         Change all +-1GB limits to +-16MB.
4068         (x86_64_general_operand, x86_64_szext_general_operand,
4069         x86_64_nonmemory_operand, x86_64_movabs_operand,
4070         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4071         legitimate_address_p, ix86_expand_int_movcc): Update callers.
4072         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
4073         in CM_SMALL_PIC model.
4074         (legitimate_pic_address_disp_p): Don't check offsets before
4075         calling local_symbolic_operand.
4076         (legitimize_pic_address): Force offsets bigger than +-16MB into
4077         register.
4078         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
4079         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
4080         prototype.
4081
4082         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
4083         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
4084         * configure: Rebuilt.
4085         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
4086         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
4087         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
4088         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
4089         -fpic.
4090         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
4091         non-pic code if TARGET_64BIT.
4092         (legitimize_address): Generate 64-bit TLS sequences.
4093         (output_pic_addr_const): Support x86-64 TLS operators.
4094         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
4095         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
4096         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
4097         (output_addr_const_extra): Support x86-64 TLS operators.
4098         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
4099         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
4100         unconditionally.
4101         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
4102         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
4103         (*tls_global_dynamic_sun): Renamed to...
4104         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
4105         (tls_global_dynamic): Renamed to...
4106         (tls_global_dynamic_32): ... this.
4107         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
4108         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
4109         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
4110         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
4111         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
4112         (tls_local_dynamic_base_dynamic): Renamed to...
4113         (tls_local_dynamic_base_dynamic_32): ... this.
4114         (tls_local_dynamic_base_dynamic_64,
4115         *tls_local_dynamic_base_dynamic_64): New.
4116         (*tls_local_dynamic_once): Renamed to...
4117         (*tls_local_dynamic_32_once): ... this.
4118
4119 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4120
4121         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
4122         __divdi3, __umoddi3, or __moddi3.
4123
4124 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4125
4126         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
4127         instead of just opt_index as switch expression.
4128
4129         * calls.c (store_one_arg): Change type of 'excess_align'
4130         to unsigned int.
4131
4132         * profile.c (output_gcov_string): Change type of 'temp'
4133         to size_t.
4134
4135 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4136
4137         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
4138         (__fixunssfdi, __fixsfdi): Likewise.
4139         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
4140         (s390_single_qi): Likewise.
4141         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
4142         unsigned comparison warning.
4143         (s390_return_addr_rtx): New function.
4144         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
4145         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
4146         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
4147
4148 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4149
4150         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
4151         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
4152         (s390_output_mi_thunk): Remove.
4153         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4154
4155 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4156
4157         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
4158
4159 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
4160
4161         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
4162         inverted test in the conditional determining the possibility
4163         of sibcalls in PIC mode.
4164
4165 2002-10-20  Richard Henderson  <rth@redhat.com>
4166
4167         * target.h (struct gcc_target): Line wrap.
4168
4169         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
4170         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
4171         * config/alpha/alpha.h: ... not here.
4172         * config/alpha/alpha-protos.h: Update.
4173
4174         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
4175         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
4176         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
4177         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
4178         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
4179         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
4180         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
4181         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
4182         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
4183         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
4184         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
4185         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
4186         config/sparc/sparc.c, config/sparc/sparc.h,
4187         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4188         config/stormy16/stormy16.h: Similarly.
4189
4190         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
4191         selection logic from call patterns.
4192
4193 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
4194
4195         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
4196
4197 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4198
4199         PR other/8202
4200         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
4201         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
4202         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
4203         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
4204
4205 2002-10-20  Roger Sayle  <roger@eyesopen.com>
4206
4207         PR c/761
4208         * toplev.c (flag_unsafe_profile_arcs): Remove.
4209         (flag_bounded_pointers): Remove.
4210         (flag_bounds_check): Correct comments.
4211         (lang_independent_options): Remove -funsafe-profile-arcs and
4212         -fbounded-pointers.  Correct -fbounds-check comments.
4213
4214         * flags.h: Correct flag_schedule_interblock comments.
4215         (flag_bounded_pointers): Remove prototype.
4216         (flag_bounds_check): Correct comments.
4217
4218         * c-opts.c (c_common_init_options): No need to mark
4219         flag_bounds_check as unspecified.
4220         (c_common_post_options): And no need to set it from
4221         flag_bounded_pointers if its still unspecified.
4222
4223         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
4224         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
4225         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
4226         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
4227
4228 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
4229         Angela Marie Thomas  <angela@releasedominatrix.com>
4230         Brendan Kehoe  <brendan@zen.org>
4231         Nick Clifton  <nickc@redhat.com>
4232         Andrew Haley  <aph@redhat.com>
4233
4234         * configure.in (--with-sysroot): New.  Don't inhibit libc if
4235         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
4236         and CROSS_SYSTEM_HEADER_DIR.
4237         * configure: Rebuilt.
4238         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
4239         (TARGET_SYSTEM_ROOT): New.
4240         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
4241         CROSS_SYSTEM_HEADER_DIR.
4242         (install-gcc-tooldir): New target.
4243         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
4244         if SYSTEM_HEADER_DIR does not exist and it's not the default
4245         sys-include directory.
4246         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
4247         (install-mkheaders): Likewise.
4248         * gcc.c (target_system_root): New variable.
4249         (add_sysrooted_prefix): New function.
4250         (process_command): Recompute run-time target_system_root from
4251         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
4252         does not exist.
4253         (do_spec_1): Process 'R' spec.
4254         (main): Add md_exec_prefix to exec_prefixes regardless of
4255         startfile_prefix_spec.  Use add_sysrooted_prefix for
4256         startfile_prefixes, and don't skip the default ones when cross
4257         compiling with sysroot enabled.  Removed unused case of
4258         non-absolute standard_startfile_prefix.
4259         * config/interix.h: Remove the only potential, yet disabled,
4260         occurrence of non-absolute (empty) standard_startfile_prefix.
4261         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
4262         linking.
4263         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
4264         * doc/install.texi (--with-sysroot): Document.
4265         (--with-headers, --with-libs): Deprecate.
4266
4267 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4268             Mark Mitchell  <mark@codesourcery.com>
4269
4270         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
4271         match target.h.
4272         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
4273         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
4274         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
4275         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
4276         x86_output_mi_thunk): Likewise.
4277         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
4278         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
4279         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
4280         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
4281         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
4282         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
4283         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
4284         Likewise.
4285         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
4286
4287         * target.h (gcc_target): Update output_mi_thunk and
4288         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
4289         vcall_index.
4290
4291         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
4292         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4293         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
4294         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
4295         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
4296         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
4297         signature.
4298         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
4299         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4300         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4301         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
4302         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
4303         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4304         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4305         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
4306         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
4307
4308         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
4309         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
4310
4311 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
4312
4313         * real.c (do_add): Fix 0+0 sign corner case.
4314         (do_divide): Fix Inf/0 corner case.
4315
4316 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
4317
4318         * i386.c (classify_argument): Pass MMX arguments in memory
4319         (ix86_expand_builtin): Expand proper address mode for cflush.
4320         * i386.md (movdqa): Fix typo.
4321         (sse2_cflush): Accept DImode addresses.
4322
4323         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
4324         (_mm_max_sd): Fix pasto.
4325         (_mm_storeh_pd, _mm_storel_pd): Fix.
4326
4327         * i386.c (bdesc_comi): Fix to match specification.
4328         (ix86_expand_sse_comi): Emit the comparison properly.
4329         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
4330         Do not use comparison operator.
4331         (vnmaskcmp): Fix template.
4332
4333         * xmmintrin.h (_mm_cvtps_pi16): Fix.
4334
4335 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
4336
4337         * dependence.c : Removed.
4338         * Makefile.in : Remove dependence.o.
4339
4340 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
4341
4342         * mmintrin.h (__m64): typedef it to v2si.
4343         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
4344         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
4345         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
4346         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
4347         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
4348         * xmmintrin.h (_mm_setzero_si64): Likewise.
4349
4350         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
4351         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
4352
4353         PR target/7693
4354         Patch by Shawn Wagner
4355         * mmintrin.h: Replace pi64 by si64.
4356
4357 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
4358
4359         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
4360         Use length of 4 not *.
4361         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
4362         (movdf_softfloat64): Likewise.
4363         (movdi_internal32): Use length of 4 not *.
4364         (movti_power): Same.
4365         (ctrsi, ctrdi): Same.
4366
4367 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
4368
4369         * c-decl.c (start_decl): Point users of the old initialized-
4370         typedef extension at __typeof__.
4371
4372 2002-10-18  Richard Henderson  <rth@redhat.com>
4373
4374         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
4375         (real_to_decimal): Re-implement using the logic from the
4376         gcc 3.2 etoasc.  Comment heavily.
4377         (div_significands): Simplify loop startup and comparison logic.
4378
4379 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
4380
4381         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
4382         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
4383         (TARGET_ASM_OUT): Add them.
4384         * target.h (asm_out): Add output_mi_thunk and
4385         output_mi_vcall_thunk.
4386         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4387         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4388         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
4389         * config/arm/arm.c (arm_output_mi_thunk): Define.
4390         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4391         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4392         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4393         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4394         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4395         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4396         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
4397         prototype.
4398         (x86_output_mi_vcall_thunk): Declare.
4399         * config/i386/i386.c (override_options): Clear
4400         output_mi_vcall_thunk in 64-bit mode.
4401         (ix86_fntype_regparm): New function.
4402         (ix86_return_pops_args): Use it.
4403         (ia32_this_parameter): New function.
4404         (x86_output_mi_vcall_thunk): New function.
4405         (x86_output_mi_thunk): Use it
4406         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
4407         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
4408         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
4409         * config/i960/i960.c (i960_output_mi_thunk): New function.
4410         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
4411         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
4412         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
4413         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4414         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4415         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
4416         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4417         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4418         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4419         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4420         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4421         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4422         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4423         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4424         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4425         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4426         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
4427         * config/s390/s390.c (s390_output_mi_thunk): Define.
4428         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4429         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4430         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4431         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4432         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4433         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4434         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
4435         * config/vax/vax.c (vax_output_mi_thunk): Define.
4436         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4437         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4438         * doc/tm.texi: Adjust documentation.
4439
4440 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4441
4442         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
4443         __enable_execute_stack function.
4444         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
4445         as NETBSD_ENABLE_EXECUTE_STACK.
4446         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4447         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4448         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4449         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4450         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4451
4452 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4453
4454         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
4455         to __enable_execute_stack with the address of the trampoline
4456         if TRANSFER_FROM_TRAMPOLINE is defined.
4457         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
4458         constant if building libgcc2.
4459
4460 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
4461
4462         * i386.c (pentium4_cost): Fix according to Intel recommendations.
4463         (ix86_memory_move_cost): Fix for 64bit compilation.
4464
4465 2002-10-17  Roger Sayle  <roger@eyesopen.com>
4466
4467         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
4468
4469 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
4470
4471         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
4472         in CTR/LR/MQ.
4473         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
4474         to/from CTR/LR/MQ.
4475         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
4476         (movsf_softfloat): Likewise.
4477
4478 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
4479
4480         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
4481
4482 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
4483
4484         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
4485         tramp, not addr, to pass the trampoline address to
4486         __enable_execute_stack.
4487
4488 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
4489
4490         * mmintrin.h: Guard by __MMX__
4491         * xmmintrin.h: Guard by __SSE__
4492
4493         PR other/8062
4494         * xmmintrin.h (_MM_SHUFFLE2): New macro.
4495         (_mm_load*_?d): New functions.
4496         (_mm_set*_?d): New functions.
4497         (_mm_store*_?d): New functions.
4498
4499 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
4500
4501         Really commit patch announced at Oct 14
4502         PR c/7344
4503         * predict.c (can_predict_insn_p): New function.
4504         (estimate_probability): Avoid unnecesary work.
4505         (process_note_prediction): Likewise.
4506         * toplev.c (rest_of_compilation): Account early branch prediction pass
4507         as TV_BRANCH_PROB.
4508
4509         PR other/8048
4510         Found by Ian Ollmann
4511         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4512         (_mm_load?_pd): Likewise.
4513         (_mm_store?_pd): Likewise.
4514
4515         PR target/7386
4516         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4517         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4518         swapped alternative.
4519
4520         PR opt/7630
4521         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4522         (push_reload): Update call.
4523
4524 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4525
4526         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4527         if using mips/elf.h or mips/elf64.h.
4528         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4529         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4530
4531 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4532
4533         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4534         SI.
4535
4536 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4537
4538         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4539         (LPREFIX): Likewise.
4540         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4541         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4542         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4543         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4544         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4545
4546         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4547         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4548         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4549         BSS_SECTION_ASM_OP): Move from linux.h.
4550         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4551         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4552
4553         * config/s390/s390.c (s390_function_profiler): Use
4554         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4555
4556 2002-10-15  Eric Christopher  <echristo@redhat.com>
4557
4558         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4559         * java/parse.y (obtain_incomplete_type): Make pointer
4560         ptr_mode.
4561
4562 2002-10-15  Richard Henderson  <rth@redhat.com>
4563
4564         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4565         as arguments.  Bound DIGITS by the available buffer size.
4566         (real_to_hexadecimal): Likewise.
4567         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4568         (REAL_VALUE_TO_DECIMAL): Remove.
4569         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4570         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4571         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4572         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4573         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4574         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4575         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4576         use real_to_decimal directly, and with the proper arguments.
4577         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4578
4579 2002-10-15  Jim Wilson  <wilson@redhat.com>
4580
4581         * reload1.c (merge_assigned_reloads): After converting overlapping
4582         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4583
4584         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4585
4586 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4587
4588         * expr.c (do_tablejump): Fix typo in my previous commit.
4589
4590 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4591
4592         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4593
4594 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4595
4596         * config/s390/s390.c (s390_split_branches): Add return
4597         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4598
4599         (find_base_register_in_addr): New function.
4600         (find_base_register_ref): New function.
4601         (replace_base_register_ref): New function.
4602
4603         (struct constant_pool): Add members pool_insn, insns, and anchor.
4604         Remove member last_insn.
4605         (s390_start_pool): Initialize them.
4606         (s390_end_pool): Emit pool placeholder insn.
4607         (s390_add_pool_insn): New function.
4608         (s390_find_pool): Use insns bitmap instead of addresses.
4609         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4610         Replace unspec 104 by local-pool-relative references.
4611         (s390_output_constant_pool): Output anchor label if required.
4612         (s390_output_symbolic_const): Handle unspec 104 and 105.
4613         (s390_add_pool): Remove, replace by ...
4614         (s390_add_constant, s390_find_constant): ... these new functions.
4615         (s390_add_anchor): New function.
4616
4617         (s390_chunkify_pool): Delete, replace by ...
4618         (s390_chunkify_start, s390_chunkify_finish,
4619         s390_chunkify_cancel): ... these new functions.
4620         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4621         Recompute register live data for special registers.
4622         (s390_fixup_clobbered_return_reg): New function.
4623         (s390_machine_dependent_reorg): Rewrite to use new
4624         s390_chunkify_... routines.
4625
4626         config/s390/s390.md ("reload_base"): Rename to ...
4627         ("reload_base_31"): ... this.
4628         ("reload_base_64"): New insn.
4629         ("reload_base2"): Remove.
4630         ("reload_anchor"): New insn.
4631         ("pool"): New insn.
4632
4633         s390.c (s390_pool_overflow): Remove.
4634         s390.h (s390_pool_overflow): Likewise.
4635         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4636
4637 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4638
4639         * sh.md (movv8qi_i+2): Don't split if source is -1.
4640
4641 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4642
4643         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4644
4645 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4646
4647         PR opt/7409
4648         * loop.c (loop_regs_scan): Mark registers used for function
4649         argument passing as MAY_NOT_OPTIMIZE.
4650
4651 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4652
4653         * gcov-io.h (gcov_info): Fix type.
4654         * profile.c (create_profiler): Fix type mismatch.
4655
4656 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4657
4658         * i386.md (movv2di_internal): New pattern.
4659         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4660         (movv2di): New expander.
4661         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4662
4663         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4664         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4665         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4666         (ix86_expand_builtin): Likewise.
4667         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4668         sse_andti3,
4669         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4670         sse_andnti3,
4671         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4672         sse_orti3,
4673         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4674         sse_xorti3): Kill.
4675         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4676          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4677         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4678          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4679         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4680          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4681
4682         * xmmintrin.h (__m128i): Define as __v2di.
4683
4684         PR c++/6419
4685         (expand_expr): Use DECL_RTL_SET_P.
4686
4687 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4688
4689         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4690
4691 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4692             Zack Weinberg <zack@codesourcery.com>
4693
4694         * config/i386/i386.c (k6_cost): Correct typo.
4695
4696 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4697
4698         PR optimization/6631
4699         * alias.c (objects_must_conflict_p): Check honor_readonly when
4700         examining TYPE_READONLY.
4701         * function.c (assign_stack_temp_for_type): Likewise.
4702
4703 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4704
4705         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4706         Swap zero extension arguments.
4707         (umaxhi3): Fix instruction class.
4708         PR target/7211
4709         (prefetch): Fix prefetch instructions.
4710         PR target/7238
4711         (pkwb): Fix output constraint.
4712
4713 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4714
4715         * config/mips/mips.c (print_operand): Increase buffer size for
4716         real numbers.
4717
4718 2002-10-14  Richard Henderson  <rth@redhat.com>
4719
4720         PR opt/8165
4721         * gcse.c (adjust_libcall_notes): Revert last change.
4722         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4723
4724 2002-10-14  Andrew Haley  <aph@redhat.com>
4725
4726         * tree-inline.c (remap_block): All local class initialization
4727         flags go in the outermost scope.
4728         (expand_call_inline): Call java_inlining_map_static_initializers.
4729         (expand_call_inline): Call java_inlining_merge_static_initializers.
4730         * java/lang.c (merge_init_test_initialization): New.
4731         (java_inlining_merge_static_initializers): New.
4732         (inline_init_test_initialization): New.
4733         (java_inlining_map_static_initializers): New.
4734
4735         * tree-inline.c (expand_call_inline): Convert retvar to expected
4736         type.
4737
4738 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4739
4740         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4741
4742 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4743
4744         * stmt.c: Fix typo in comment.
4745
4746 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4747
4748         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4749         * tree.c (build_common_tree_nodes_2): Initialize
4750         unsigned_V2HI_type_node and V2HI_type_node.
4751         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4752         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4753
4754 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4755
4756         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4757         Handle TARGET_64BIT.
4758
4759 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4760
4761         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4762         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4763         (MULTILIB_DIRNAMES): Remove long32.
4764         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4765         (MULTILIB_REDUNDANT_DIRS): Remove.
4766
4767 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4768
4769         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4770         * gcc.c (driver_self_specs): New variable.
4771         (do_self_spec): New function.
4772         (main): Use it to process driver_self_specs.
4773
4774 2002-10-13  Richard Henderson  <rth@redhat.com>
4775
4776         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4777         indirect sibcalls when regparm >= 3.
4778
4779         * config/i386/i386.c (sibcall_insn_operand): New.
4780         * config/i386/i386.h (PREDICATE_CODES): Update.
4781         * config/i386/i386-protos.h: Update.
4782         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4783
4784         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
4785
4786 2002-10-12  Roger Sayle  <roger@eyesopen.com>
4787
4788         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
4789         arithmetic right shifts of ~0 during RTL simplifications.
4790
4791 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
4792
4793         PR preprocessor/7862
4794         PR preprocessor/8190
4795         * gcc.c (cpp_unique_options): Don't delete .d files.
4796         Remove stray whitespace.
4797
4798 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
4799
4800         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
4801         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4802         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
4803         (pdp11_output_function_epilogue, output_ascii): Likewise.
4804         (output_addr_const_pdp11): Likewise.
4805         * pdp11.md (movdi): Use offsetable memory for floating store.
4806         (lshrsi3, negsi2): Delete irrelevant comment.
4807
4808 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
4809
4810         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
4811         indirect calls to be sibcall optimized.
4812         * config/i386/i386.md (sibcall_1): New.
4813         (call_1): Add no-sibcalls condition.
4814         (sibcall_value_1): New.
4815         (call_value_1): Add no-sibcalls condition.
4816
4817 2002-10-11  Eric Christopher  <echristo@redhat.com>
4818
4819        * output.h (default_valid_pointer_mode): Declare.
4820        * varasm.c (default_valid_pointer_mode): Define.
4821        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
4822        * target.h: Ditto.
4823        * tree.c (build_pointer_type_for_mode): New function.
4824        (build_pointer_type): Use.
4825        (build_reference_type_for_mode): New function.
4826        (build_reference_type): Use.
4827        * tree.h: Declare new functions.
4828        * c-common.c (handle_mode_attribute): Use new functions, check
4829        for type.
4830        * stor-layout.c (layout_type): Depend on machine mode for
4831        REFERENCE_TYPE and POINTER_TYPE.
4832        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
4833        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
4834        and REFERENCE_TYPE.
4835        * config/mips/mips.c (mips_valid_pointer_mode): New function.
4836        (TARGET_VALID_POINTER_MODE): Use and define.
4837        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
4838
4839 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
4840
4841         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
4842         not the address of the REG.
4843         (struct cse_reg_info): Make subreg_ticked unsigned.
4844
4845 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
4846
4847         * doc/compat.texi: Add info about C++ libraries.
4848
4849 2002-10-11  Richard Henderson  <rth@redhat.com>
4850
4851         PR opt/8165
4852         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
4853
4854 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4855
4856         * cfganal.c (dfs_enumerate_from): Use PARAMS.
4857         * genautomata.c (output_insn_code_cases): Likewise.
4858         * real.c (real_format): Likewise.
4859         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
4860         ensure value is promoted before doing subtraction.
4861
4862 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4863
4864         * calls.c (expand_call): Simplify noreturn call.
4865
4866         PR c/7344
4867         * cfgbuild.c (make_edges): Create edge cache when we do have
4868         large jumptable.
4869         * expr.c (do_tablejump): Note size of maximal jumptable.
4870         * function.c (prepare_function_start): Zero out size.
4871         * function.h (function): Add max_jumptable_ents.
4872
4873         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4874
4875 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
4876
4877         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
4878         register for mperm_w operation.
4879
4880 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
4881
4882         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
4883         an integer, use simplify_gen_subreg.
4884
4885 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
4886
4887         * calls.c (flags_from_decl_or_type): Make extern.
4888         (ECF_*): Move ...
4889         * rtl.h (ECF_*): ... here.
4890         (flags_from_decl_or_type): Declare.
4891
4892 2002-10-10  Roger Sayle  <roger@eyesopen.com>
4893             Nathan Sidwell <nathan@codesourcery.com>
4894
4895         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
4896         shifts of the form -1 >> x.
4897
4898 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
4899
4900         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4901
4902 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
4903
4904         * extend.texi (Vector Extensions): Remove comment about single
4905         element vectors.
4906
4907 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4908
4909         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
4910         * function.c (insns_for_mem_hash): Likewise.
4911         * varasm.c (STRHASH): Likewise.
4912
4913 2002-10-10  Stuart Hastings  <stuart@apple.com>
4914
4915         * cse.c (struct cse_reg_info): Add subreg_ticked.
4916         (SUBREG_TICKED): New.
4917         (get_cse_reg_info): Initialize SUBREG_TICKED.
4918         (mention_regs): Use it.
4919         (invalidate): Set SUBREG_TICKED.
4920         (invalidate_for_call): Likewise.
4921         (addr_affects_sp_p): Likewise.
4922
4923 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
4924
4925         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
4926         into proper operand.
4927
4928 2002-10-10  Denis Chertykov  <denisc@overta.ru>
4929
4930         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
4931         deallocation.
4932         * config/ip2k/libgcc.S: Combine routines used by function
4933         epilogue.
4934
4935 2002-10-10  Jim Wilson  <wilson@redhat.com>
4936
4937         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
4938         UDIV.
4939
4940 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
4941
4942         * config/rs6000/aix52.h: New file.
4943         * config/rs6000/t-aix52: New File.
4944         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
4945         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
4946
4947 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
4948
4949         PR target/5610
4950         * invoke.texi (-msse-math): Kill
4951         (-msse): Add note to mfpmath=sse.
4952
4953 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
4954
4955         PR target/7723
4956         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
4957
4958 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
4959
4960         PR preprocessor/8179
4961         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
4962         as cc1_options.
4963         (default_compilers): Pass debug options when preprocessing
4964         stdin.
4965
4966 2002-10-06  Richard Henderson  <rth@redhat.com>
4967
4968         * toplev.c (rest_of_compilation): Revert opt/2960 change.
4969
4970 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
4971
4972         * i386.c (*_cost): Add branch costs.
4973         (override_options): set ix86_branch_cost.
4974         (ix86_expand_int_movcc): Use BRANCH_COST.
4975         * i386.h (costs): Add branch_cost.
4976
4977 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
4978
4979         PR c/7353
4980         * c-decl.c (start_decl): Unconditionally issue error for
4981         'typedef foo = bar'.
4982         (finish_decl): Remove special case for TYPE_DECL with initializer.
4983
4984         * doc/extend.texi: Delete "Naming Types" section.  Change all
4985         cross-references to that section to refer to "Typeof" instead.
4986         Add the useful safe-max()-macro example from "Naming Types" to
4987         "Typeof", rewritten using that extension.  Add some compatibility
4988         notes to "Typeof."
4989
4990 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4991
4992         * loop.c: Revert 2002-08-15 change.
4993         (LOOP_REGNO_NREGS): Ensure type is int.
4994
4995 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4996
4997         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
4998         which copies first FPR and clears second.
4999         (extendsftf2): Same.
5000         (floatditf2): Fix typo.
5001         (floatsitf2): Same.
5002         (fix_trunctfdi2): Same.
5003         (fix_trunctfsi2): Same.
5004
5005 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5006
5007         * conflict.c (arc_hash): Change return type to hashval_t.
5008         * cselib.c (get_value_hash): Likewise.
5009         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
5010         state_hash, automata_list_hash): Likewise.
5011         * read-rtl.c (def_hash): Likewise.
5012         * tree.c (type_hash_hash): Likewise.
5013
5014 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
5015
5016         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
5017         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
5018
5019 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
5020
5021         * sh.md (ffssi2): Fix emitted code.
5022
5023 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
5024
5025         * cse.c (insn_live_p): Pass insn pattern, not full insn
5026         to may_trap_p.
5027
5028 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
5029
5030         * cppmacro.c (paste_tokens): Only allow / to paste with =.
5031
5032 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
5033
5034         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
5035         64-bit hosts.
5036         (movtf_internal): Reference correct displacement for second value
5037         in memory.
5038         (movtf splitter): Correct generation of constants in 64-bit mode.
5039
5040 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
5041
5042         * libgcc2.c (__floatdisf): Properly cure double rounding.
5043
5044 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5045
5046         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
5047         * doc/cpp.texi (Common Predefined Macros): Document.
5048
5049 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5050
5051         PR doc/7484
5052         * doc/invoke.texi (Option Summary): List
5053         -Wmissing-declarations as a C only option.
5054
5055 2002-10-08  Roger Sayle  <roger@eyesopen.com>
5056
5057         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
5058         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
5059         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
5060
5061 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
5062
5063         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
5064         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
5065         variables.
5066         (safe_vector_operand): Update sse_clrv4sf call.
5067         (ix86_expand_buildin): Likewise
5068         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
5069         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
5070         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
5071         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
5072         macros.
5073         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
5074         movv4si):  Obey the new flags.
5075         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
5076         reformating penalty.
5077         (anddf, cmov patterns): Avoid reformating by first converting.
5078         (sse_cvtsd2ss): Fix predicate.
5079         (sse2_clrti): Fix mode,
5080         (sse_clrv4sf): Avoid unspec.
5081
5082 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
5083
5084         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
5085         mno-app-regs|mcmodel=medany.
5086         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
5087         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
5088         (CRTSTUFF_T_CFLAGS): Define.
5089
5090 2002-10-08  Roger Sayle  <roger@eyesopen.com>
5091
5092         PR target/8087
5093         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
5094         pool references that are constructed using LO_SUM.
5095
5096 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
5097
5098         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
5099         -Wall.
5100         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
5101         message.
5102         * flags.h (warn_strict_aliasing): Declare.
5103         * toplev.c (warn_strict_aliasing): Define.
5104         (lang_independent_options): Add it.
5105         * doc/invoke.texi (-Wstrict-aliasing): Document it.
5106
5107 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
5108
5109         * system.h (GCCBUGURL): Delete.
5110         * version.c (bug_report_url): New.  Add commentary about
5111         modifying both these strings in modified distributions.
5112         * version.h: Declare bug_report_url.
5113
5114         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
5115         bug_report_url.
5116
5117 2002-10-08  Nick Clifton  <nickc@redhat.com>
5118
5119         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
5120         convert uint64_t into __ev64_opaque__.
5121         (__ev_set_acc_s64): Likewise, but using signed types.
5122
5123 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
5124
5125         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
5126         ("*doloop_di_long"): Likewise.
5127
5128 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
5129
5130         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
5131
5132 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
5133
5134         * config/mips/mips.md (define_attr cpu): Add r4111.
5135
5136 2002-10-08  Anthony Green  <green@redhat.com>
5137
5138         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
5139
5140 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5141
5142         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
5143         for REAL_VALUE_TO_DECIMAL output.
5144
5145 2002-10-07  Richard Henderson  <rth@redhat.com>
5146
5147         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
5148         function; cleanup PLUS case by using recursion.  Update all users.
5149         (NONZERO_BASE_PLUS_P): Remove.
5150         (find_comparison_args): Use rtx_addr_can_trap_p instead.
5151         (fold_rtx): Use nonzero_address_p.
5152         * rtl.h (nonzero_address_p): Declare.
5153         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
5154         (rtx_addr_can_trap_p): Likewise.
5155         (nonzero_address_p): New.
5156         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
5157         (simplify_relational_operation): Use nonzero_address_p.
5158
5159 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
5160
5161         * config/rs6000/rs6000.c (rs6000_override_options): Set
5162         real_format_for_mode for IBM extended format, if enabled.
5163         (easy_fp_constant): Add TFmode.
5164         (rs6000_legitimize_address): Add TFmode.
5165         (rs6000_legitimate_address): Same.
5166         (function_arg_advance): TFmode uses two FPRs.
5167         (rs6000_emit_prologue): Fix warning.
5168         (rs6000_output_function_epilogue): Add TFmode.
5169         (output_toc): Add TFmode.
5170         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
5171         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
5172         * rs6000.md (movtf splitter): Load TFmode constant.
5173
5174 2002-10-07  Dale Johannesen  <dalej@apple.com>
5175
5176         * rtl.h:  Add NOTE_PRECONDITIONED.
5177         * unroll.c:  Set it.
5178         * loop.c:  Set loop_info->preconditioned from it.
5179         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
5180
5181 2002-10-07  Richard Henderson  <rth@redhat.com>
5182
5183         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
5184         new rtx for comparing the argument pointer against zero.
5185         (i960_va_start): Similarly.
5186
5187 2002-10-07  Richard Henderson  <rth@redhat.com>
5188
5189         * config/i960/i960.md (*): Use TFmode, not XFmode.
5190         * config/i960/i960.c (*): Likewise.
5191         (i960_arg_size_and_align): Remove XFmode alignment hack.
5192         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
5193         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
5194         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
5195         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
5196
5197 2002-10-07  Richard Henderson  <rth@redhat.com>
5198
5199         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
5200         entry points; use void return value and argument list.
5201
5202 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
5203
5204         * calls.c (expand_call): Fix function-is-volatile check.
5205
5206 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
5207
5208         * t-pdp11: Add MULTILIB support for msoft-float.
5209         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
5210
5211         * t-pdp11: Add LIB2FUNCS_EXTRA.
5212         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
5213         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
5214         'fldd' to 'ldd', rename 'fstd' to 'std'.
5215         (pdp11_output_function_epilogue): Likewise.
5216         (output_move_quad): Make the comment gas compatible.
5217         (output_ascii): Add preceding 0 to the octal constant.
5218         (print_operand_address): Add pre_modify, post_modify.
5219         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
5220         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
5221         with the indication of Paul Koning.
5222         (PRINT_OPERAND): Fix floating constant.
5223         * pdp11.md (movdi): Restrict matching pattern.
5224         (movqi): Generalize the matching pattern.
5225         (movdf): Restrict matching pattern.
5226         (zero_extendqihi2): Change constant representation.
5227         (floatsidf2): Fix wrong operands.
5228         (addqi3): Fix wrong instruction name.
5229         (subqi3): Fix wrong instruction name.
5230         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
5231         (xorsi3): Fix wrong insn.
5232         (one_cmplqi2): Add two operand pattern.
5233         (lsrsi3): New.
5234         (negsi2): New.
5235         (call): Add register indirect case.
5236         (mod): Fix wrong subreg.
5237
5238 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5239             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5240
5241         PR c/7411
5242         * expr.c (expand_expr) [PLUS]: Simplify after the operands
5243         have been expanded in EXPAND_NORMAL mode.
5244
5245 2002-10-06  Richard Henderson  <rth@redhat.com>
5246
5247         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
5248
5249 2002-10-06  Richard Henderson  <rth@redhat.com>
5250
5251         PR optimization/2960
5252         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
5253         optimize_size.
5254
5255 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
5256
5257         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
5258         previously definitions.
5259
5260 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
5261
5262         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
5263         * c-opts.c (find_opt): Similarly.
5264
5265 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
5266
5267         * athlon.md: rewrite to DFA.
5268         * i386 (ix86_adjust_cost): Drop memory latency code.
5269         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
5270
5271 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
5272
5273         * gcc.c (set_multilib_dir): Don't access *end.
5274         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
5275         (print_multilib_info): Don't show paths starting with ".:".
5276         * genmultilib: Add new option, "yes" if multilibs are enabled.
5277         Update comments.  If multilibs not enabled, print .:${osdirout}
5278         for each directory.  If multilibs are enabled, always print
5279         ${dirout}:${osdirout}, even if the two are the same.
5280         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
5281         Pass all MULTILIB_* variables to genmultilib even if
5282         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
5283
5284 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
5285
5286         * gcc.c (process_command): Set .validated for -pipe.  Correct
5287         grammar in comment.
5288
5289 2002-10-04  Bruce Korb  <bkorb@gnu.org>
5290
5291         * fixinc/inclhack.def(hpux11_abs):  use format fix
5292         * fixinc/fixincl.x: regenerate
5293         * fixinc/tests/base/stdlib.h: accommodate new fix test
5294
5295 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
5296
5297         * c-common.c (cb_register_builtins):  Use really_no_inline.
5298
5299 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
5300
5301         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
5302         copied instruction if the note is not loop invariant.
5303
5304 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
5305
5306         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
5307
5308 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5309
5310         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
5311         and -mhp-ld options to list of options.  Add -mgnu-ld
5312         and -mhp-ld option descriptions.
5313
5314 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5315
5316         * fixinc/inclhack.def (hpux11_abs):  New.
5317         (stdio_va_list): change __va_list__ to __gnuc_va_list.
5318         * fixinc/fixincl.x: Rebuild.
5319
5320 2002-10-04  Roger Sayle  <roger@eyesopen.com>
5321
5322         * config/i386/i386.h (processor_costs): Add new fields fadd,
5323         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
5324         (RTX_COSTS): Use these fields to determine the RTX costs
5325         of floating point addition/subtraction, multiplication,
5326         division, fabs, negation and square root respectively.
5327         * config/i386/i386.c (size_cost): Provide instruction sizes
5328         for these new fields.
5329         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
5330         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
5331         counts for these new fields for all x86 processor variants.
5332
5333 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5334
5335         * mips.c (mips_const_double_ok): Delete unused variable.
5336
5337         * gengtype.c (rtx_next): Change type to int.
5338
5339 2002-10-04  Andreas Jaeger  <aj@suse.de>
5340
5341         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
5342
5343 2002-10-04  Richard Henderson  <rth@redhat.com>
5344
5345         * real.h (SIGNIFICAND_BITS): Add one more word.
5346         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
5347         * real.c (times_pten): New.
5348         (real_to_decimal, real_from_string): Use it.
5349         (sticky_rshift_significand): Use & to find modulus.
5350         (rshift_significand, lshift_significand): Likewise.
5351         (do_divide): Apply sticky bit after normalization.
5352         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
5353
5354 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
5355
5356         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
5357         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5358
5359 2002-10-03  Andreas Jaeger  <aj@suse.de>
5360
5361         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
5362         to unsigned long, adjust printf format string.
5363         (output_mangled_typename): Likewise.
5364
5365 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
5366
5367         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
5368         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
5369         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
5370         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
5371         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
5372         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
5373         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
5374         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
5375
5376 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
5377
5378         * doc/invoke.texi (-Wabi): Document mangling bug.
5379
5380 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
5381
5382         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
5383         name for the tbtab label that depends on the function asm name.
5384         Don't output tbtab label unless optional_tbtab.
5385         (output_mi_thunk): Formatting.
5386
5387 2002-10-03  Richard Henderson  <rth@redhat.com>
5388
5389         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
5390         * config/m68k/m68k.c (override_options): ... here.
5391         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
5392         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
5393         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5394         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5395
5396 2002-10-03  Richard Henderson  <rth@redhat.com>
5397
5398         * real.h (struct real_value): Use ENUM_BITFIELD.
5399
5400 2002-10-03  Richard Henderson  <rth@redhat.com>
5401
5402         * config/i960/i960.md (call, call_value): Use emit_call_insn.
5403
5404 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5405
5406         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
5407
5408 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5409
5410         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
5411         * config/pa/pa.h (MASK_GNU_LD): New.
5412         (TARGET_GNU_LD): New.
5413         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
5414         on gnu-ld and MASK_GNU_LD.
5415         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
5416
5417 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
5418
5419         * i386.c (athlon_cost): Fix the move costs.
5420
5421 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
5422
5423         * final.c (final): Use symbol name as function name for profiling.
5424         * profile.c (get_exec_counts): Likewise.
5425         (branch_prob): Likewise.
5426
5427 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5428
5429         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
5430
5431 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5432
5433         * gcc.c (print_multi_os_directory): New variable.
5434         (option_map): Support --print-multi-os-directory.
5435         (struct prefix_list): Add os_multilib field.
5436         (multilib_os_dir): New variable.
5437         (static_specs): Add multilib_options.
5438         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
5439         subdirs if nonzero.
5440         (read_specs, execute): Update callers.
5441         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
5442         pass 1 as multilib option.
5443         (display_help): Include --print-multi-os-directory.
5444         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
5445         (process_command): Update callers.  Handle --print-multi-os-directory.
5446         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
5447         set.
5448         (main): Update find_a_file and add_prefix callers.
5449         Handle print_multi_os_directory.
5450         (struct mdswitchstr): New.
5451         (mdswitches, n_mdswitches): New variables.
5452         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
5453         present on the command line nor their mutually incompatible
5454         switches.
5455         (default_arg): Optimize.
5456         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
5457         array.
5458         (print_multilib_info): Only print GCC multilib dir name, not OS
5459         multilib dirname.
5460         * genmultilib: Add osdirnames parameter.  Output multilib_options
5461         variable.  If osdirnames is specified, output dirnames as
5462         dirname:osdirname.
5463         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
5464         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
5465         to compute libgcc_s soname and install path.
5466         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
5467         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5468         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
5469         argument.
5470
5471         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5472         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5473         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
5474         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
5475         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
5476         and -m64.
5477         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
5478         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5479         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
5480         (STARTFILE_ARCH_SPEC): Remove.
5481         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5482         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5483         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5484         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
5485         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5486
5487 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
5488
5489         * predict.c (choose_function_section): Avoid choice for linkonce functions.
5490
5491 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
5492
5493         * i386.md (lea to mul peep2): Fix condition.
5494
5495 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5496
5497         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
5498         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
5499
5500 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
5501
5502         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
5503         attribute "unused".
5504
5505         * config/t-libunwind: Mention unwind-sjlj.c.
5506         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
5507         to #ifndef __USING_SJLJ_EXCEPTIONS__.
5508
5509         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
5510         before inclusion of config.gcc, but after configuring the compiler etc.
5511         Determine default value for --enable-libunwind-exceptions based on
5512         whether the host has a libunwind library (not guaranteed to be correct,
5513         but it's a reasonable first guess and can always be overridden with an
5514         explicit --enable/disable-libunwind-exceptions.
5515         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5516         tmake_file when $use_libunwind_exceptions is enabled.
5517         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5518         ia64 (e.g., config/t-linux also updates it).
5519         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5520         along with the shared version of libgcc since the latter requires
5521         the former.
5522         * unwind-libunwind.c: New file.
5523         * config/t-libunwind: Ditto.
5524
5525 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5526
5527         * config.gcc: Remove support for vax-*-vms*.
5528         * config/vax/vms.h: Remove.
5529         * config/vax/xm-vms.h: Remove.
5530         * config/vax/vax-protos.h: Remove VMS-specific code.
5531         * config/vax/vax.c: Remove VMS-specific code.
5532
5533 2002-10-02  Richard Henderson  <rth@redhat.com>
5534
5535         PR opt/7124
5536         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5537         for secondary_memory_needed pairs.
5538
5539 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5540
5541         * doc/vms.texi: Blow away false include file section.
5542
5543 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5544
5545         PR optimization/6627
5546         * toplev.c (force_align_functions_log): New global variable.
5547         * flags.h (force_align_functions_log): Add extern prototype.
5548         * varasm.c (assemble_start_function): Use it to force minimum
5549         function alignment.
5550         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5551         minimum function alignment to one byte.
5552         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5553         the least significant bit of vtable member function pointers.
5554         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5555         here from cp/cp-tree.h.
5556
5557 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5558
5559         * i386.c (print_operand_address): Use RIP addressing for offsetted
5560         label refs too.
5561
5562 2002-09-30  David S. Miller  <davem@redhat.com>
5563
5564         PR middle-end/7151
5565         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5566         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5567
5568 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5569
5570         * calls.c (expand_call): Remove the `no indirect check'
5571         for sibcall optimization; use function_ok_for_sibcall
5572         target hook; refine check for `function is volatile'.
5573         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5574         * hooks.c (hook_tree_tree_bool_false): New.
5575         * hooks.h (hook_tree_tree_bool_false): Declare.
5576         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5577         (TARGET_INITIALIZER): Add it.
5578         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5579         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5580         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5581         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5582         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5583         Remove function declaration.
5584         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5585         function static and accept another argument of type `tree'.
5586         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5587         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5588         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5589         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5590         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5591         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5592         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5593         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5594         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5595         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5596         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5597         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5598         Remove function declaration.
5599         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5600         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5601         rename first argument to `decl'; accept another argument
5602         of type `tree'; make static.
5603         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5604         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5605         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5606         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5607         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5608         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5609         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5610         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5611         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5612
5613 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5614
5615         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5616
5617 2002-10-01  Richard Henderson  <rth@redhat.com>
5618
5619         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5620         (real_to_hexadecimal): Likewise.
5621         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5622         dump the XWINT fields of a floating point CONST_DOUBLE.
5623
5624 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5625
5626         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5627
5628 2002-10-01  Richard Henderson  <rth@redhat.com>
5629
5630         * calls.c (precompute_register_parameters): Force non-legitimate
5631         constants into pseudos.
5632
5633 2002-10-01  Nick Clifton  <nickc@redhat.com>
5634
5635         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5636         to assembler template.
5637
5638 2002-10-01  Richard Henderson  <rth@redhat.com>
5639
5640         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5641         for TLS debug info to !DECL_EXTERNAL.
5642
5643 2002-10-01  Matt Thomas  <matt@3am-software.com>
5644             Jason Thorpe  <thorpej@wasabisystems.com>
5645
5646         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5647         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5648         if not already defined.
5649         * config/vax/elf.h: New file.
5650         * config/vax/netbsd-elf.h: New file.
5651         * config/vax/vax.c: Include "debug.h".
5652         (vax_output_function_prologue): Add dwarf2 support.  Use
5653         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5654         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5655         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5656         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5657         (VAX_ISTREAM_SYNC): Remove.
5658         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5659         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5660         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5661         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5662         and assemble_name.
5663         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5664         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5665         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5666         (INCOMING_RETURN_ADDR_RTX): Define.
5667         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5668         (VUNSPEC_SYNC_ISTREAM): Define.
5669         (blockage): Use VUNSPEC_BLOCKAGE.
5670         (sync_istream): New insn.
5671
5672 2002-10-01  Richard Henderson  <rth@redhat.com>
5673
5674         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5675         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5676         (*call): New insn.
5677
5678 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5679
5680         PR c/8083
5681         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5682         type based aliasing.
5683
5684 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5685
5686         * stor-layout.c (update_alignment_for_field): New function.
5687         (place_union_field): Use it.
5688         (place_field): Likewise.
5689
5690 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5691
5692         PR other/8077
5693         * gcc.c (cc1_options): Add space on -auxbase-strip.
5694
5695 2002-10-01  Jim Wilson  <wilson@redhat.com>
5696
5697         * config/v850/v850.h (EPILOGUE_USES): Define.
5698
5699 2002-09-30  Andrew Haley  <aph@redhat.com>
5700
5701         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5702         eliminate insns that may trap.
5703         * cse.c (insn_live_p): Likewise.
5704
5705 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5706
5707         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5708         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5709         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5710         * config/mips/mips.md: Apply same renaming here.
5711
5712 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5713
5714         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5715         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5716         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5717         * config/mips/mips.md (define_attr cpu): Remove r4320.
5718         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5719
5720 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5721
5722         * config/mips/mips.c (mips16_strings): New variable.
5723         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5724         symbol in mips16_strings.  Free the list.
5725         (mips_encode_section_info): Keep track of local strings.
5726
5727 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5728
5729         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5730         (sordered_df, sordered_sf): Remove.
5731         * config/mips/mips.c (get_float_compare_codes): New fn.
5732         (gen_int_relational, gen_conditional_move): Use it.
5733
5734 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5735
5736         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5737         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5738         * config/mips/mips.c (fcc_register_operand): New function.
5739         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5740         (override_options): Allow TFmode values in float registers
5741         if ISA_HAS_8CC.
5742         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5743         to fcc_register_operand.  Remove misleading source constraint.
5744         Use mips_emit_fcc_reload.
5745         (reload_outcc): Duplicate reload_incc.
5746
5747 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5748
5749         * gcc.c (validate_switches): Handle all new forms of spec
5750         syntax introduced recently.  Now returns a char *.
5751         (validate_all_switches): Repetitive logic broken out to...
5752         (validate_switches_from_spec): ...here.
5753         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5754
5755 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5756
5757         * longlong.h: Partially synchronize with GMP-4.1 version:
5758         Use i370 definitions also for s390.
5759         Add generic definition of umul_ppmm in terms of smul_ppmm.
5760         [s390] (umul_ppmm): Remove.
5761         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5762         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5763
5764 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5765
5766         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5767         Add new RL_REGS register class.
5768         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5769         Call xtensa_preferred_reload_class for both input and output reloads.
5770         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5771         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5772         instead of either AR_REGS or GR_REGS classes.
5773         (xtensa_secondary_reload_class): Use new RL_REGS class.
5774         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5775
5776 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5777
5778         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5779         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5780         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5781         there is a '*' prefix in NAME.
5782
5783 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
5784
5785         * reload.c (push_reload): Handle subregs and secondary memory.
5786         * reload1.c (gen_reload): Likewise.
5787
5788         * jump.c (reg_or_subregno): New function.
5789         * rtl.h (reg_or_subregno): Declare
5790         * unroll.c (find_splittable_givs): Handle subregs.
5791
5792 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
5793
5794         * store-layout.c (finish_record_layout): Add free_p parameter.
5795         (layout_type): Pass it.
5796         * tree.h (finish_record_layout): Update prototype.
5797
5798 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
5799
5800         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
5801
5802         * gcse.c (cprop_jump): Check that the register has not
5803         been modified
5804         (cprop_jump): Likewise.
5805
5806 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
5807
5808         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
5809         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
5810         that we have a SImode access, and only then if reload hasn't completed;
5811         for all other cases, use LO_REGS.
5812
5813 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5814
5815         * openbsd.h: Fix typo in last change.
5816
5817 2002-09-29  Richard Henderson  <rth@redhat.com>
5818
5819         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
5820
5821 2002-09-29  Richard Henderson  <rth@redhat.com>
5822
5823         PR c/8002
5824         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
5825         for CONST_INT.
5826
5827 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
5828
5829         * real.h (ibm_extended_format): Declare.
5830         * real.c (encode_ibm_extended, decode_ibm_extended): New
5831         functions.
5832
5833 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5834
5835         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
5836
5837         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
5838
5839 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5840
5841         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
5842
5843 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
5844
5845         * builtins.def: Fix comment formatting.
5846         * c-common.def: Likewise.
5847         * cfgcleanup.c: Likewise.
5848         * combine.c: Likewise.
5849         * gengtype.c: Likewise.
5850         * params.def: Likewise.
5851         * predict.def: Likewise.
5852         * rtl.def: Likewise.
5853         * stab.def: Likewise.
5854         * stor-layout.c: Likewise.
5855         * tree.def: Likewise.
5856         * config/darwin.c: Likewise.
5857         * config/darwin.h: Likewise.
5858         * config/dbxcoff.h: Likewise.
5859         * config/elfos.h: Likewise.
5860         * config/fp-bit.c: Likewise.
5861         * config/freebsd-spec.h: Likewise.
5862         * config/interix.h: Likewise.
5863         * config/libgloss.h: Likewise.
5864         * config/linux-aout.h: Likewise.
5865         * config/linux.h: Likewise.
5866         * config/lynx-ng.h: Likewise.
5867         * config/lynx.h: Likewise.
5868         * config/netbsd-aout.h: Likewise.
5869         * config/netbsd.h: Likewise.
5870         * config/netware.h: Likewise.
5871         * config/psos.h: Likewise.
5872         * config/ptx4.h: Likewise.
5873
5874 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
5875
5876         * ChangeLog.4: Fix typos.
5877         * ChangeLog.6: Likewise.
5878         * FSFChangeLog.10: Likewise.
5879         * genattrtab.c: Fix comment typos.
5880         * haifa-sched.c: Likewise.
5881         * real.c: Likewise.
5882         * tree.h: Likewise.
5883         * config/arm/arm.c: Likewise.
5884         * config/arm/crti.asm: Likewise.
5885         * config/arm/crtn.asm: Likewise.
5886         * config/frv/frv.c: Likewise.
5887         * config/frv/frv.md: Likewise.
5888         * config/h8300/h8300.md: Likewise.
5889         * config/i386/rtemself.h: Likewise.
5890         * config/ia64/unwind-ia64.c: Likewise.
5891         * config/ip2k/ip2k.h: Likewise.
5892         * config/m88k/m88k.c: Likewise.
5893         * config/m88k/m88k.md: Likewise.
5894         * config/mips/sr71k.md: Likewise.
5895         * config/mmix/mmix.c: Likewise.
5896         * config/rs6000/rs6000.c: Likewise.
5897         * config/sh/sh.md: Likewise.
5898
5899 2002-09-26  Theodore A. Roth  <troth@verinet.com>
5900
5901         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
5902         * config/avr/avr.md: Ditto.
5903
5904 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
5905
5906         PR preprocessor/8055
5907         * cppmacro.c (stringify_arg): Do not overflow the buffer
5908         with the terminating NUL when the argument to be stringified
5909         has no tokens.
5910
5911 2002-09-27  Richard Henderson  <rth@redhat.com>
5912
5913         * unroll.c (simplify_cmp_and_jump_insns): New.
5914         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
5915         instead of expand_simple_foo.
5916
5917 2002-09-27  Richard Henderson  <rth@redhat.com>
5918
5919         PR optimization/7520
5920         * cfganal.c (flow_active_insn_p): New.
5921         (forwarder_block_p): Use it.
5922
5923 2002-09-27  Richard Henderson  <rth@redhat.com>
5924
5925         * emit-rtl.c (active_insn_p): Revert last change.
5926
5927 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
5928
5929         * doc/extend.texi (tls_model): Document.
5930         * varasm.c (decl_tls_model): New.
5931         * c-common.c (handle_tls_model_attribute): New.
5932         (c_common_attribute_table): Add tls_model.
5933         * config/alpha/alpha.c (alpha_encode_section_info): Use
5934         decl_tls_model.
5935         * flags.h (enum tls_model, flag_tls_default): Move...
5936         * tree.h (enum tls_model, flag_tls_default): ...here.
5937         (decl_tls_model): New prototype.
5938         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5939         * config/i386/i386.c (ix86_encode_section_info): Likewise.
5940         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
5941         Allow !flag_pic.
5942
5943 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5944
5945         * LANGUAGES: Follow spelling conventions.
5946         * rtl.def: Likewise.
5947         * sbitmap.c: Likewise.
5948         * sched-int.h: Likewise.
5949         * sched-rgn.c: Likewise.
5950         * sibcall.c: Likewise.
5951         * simplify-rtx.c: Likewise.
5952         * ssa.c: Likewise.
5953         * stab.def: Likewise.
5954         * stmt.c: Likewise.
5955         * stor-layout.c: Likewise.
5956         * target.h: Likewise.
5957         * timevar.c: Likewise.
5958         * toplev.c: Likewise.
5959         * tree-dump.c: Likewise.
5960         * tree-inline.c: Likewise.
5961         * tree.c: Likewise.
5962         * tree.def: Likewise.
5963         * tree.h: Likewise.
5964         * unroll.c: Likewise.
5965         * varasm.c: Likewise.
5966         * vmsdbgout.c: Likewise.
5967         * treelang/treelang.texi: Likewise.
5968         * treelang/treetree.c: Likewise.
5969
5970 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5971
5972         * config/h8300/h8300.c (compute_saved_regs): Use a macro
5973         instead of a hard register number.
5974         (get_shift_alg): Use an enumerated type instead of numbers.
5975         (h8300_shift_needs_scratch_p): Likewise.
5976
5977 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5978
5979         * varasm.c (force_data_section): Remove.
5980         (assemble_constant_align): Likewise.
5981         * output.h: Remove corresponding prototypes.
5982
5983 2002-09-26  Roger Sayle  <roger@eyesopen.com>
5984
5985         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
5986         jump, if the loop to exit is the top of the current nesting stack.
5987
5988 2002-09-26  Torbjorn Granlund  <tege@swox.com>
5989
5990         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
5991         arithmetic.
5992
5993 2002-09-26  David S. Miller  <davem@redhat.com>
5994
5995         PR optimization/7335
5996         * calls.c (emit_library_call_value_1): Passing args by reference
5997         converts a CONST function into a PURE one.
5998
5999 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
6000
6001         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
6002         text_section.
6003         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
6004         text section.
6005         * config/rs6000/rs6000.c (rs6000_override_options): Allow
6006         function-sections and data-sections functionality on AIX.
6007
6008 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
6009             Dale Johannesen  <dalej@apple.com>
6010
6011         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
6012         in RTL for sub-word loads from memory.
6013
6014 2002-09-26  Richard Henderson  <rth@redhat.com>
6015
6016         PR c/7160
6017         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
6018         on call insns.
6019
6020 2002-09-26  Richard Henderson  <rth@redhat.com>
6021
6022         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
6023
6024 2002-09-26  Chris Lattner  <sabre@nondot.org>
6025
6026         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
6027         handling undefined values.
6028
6029 2002-09-26  Richard Henderson  <rth@redhat.com>
6030
6031         PR opt/7520
6032         * emit-rtl.c (active_insn_p): Consider a clobber of the
6033         function return value to be active even after reload.
6034
6035 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
6036
6037         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
6038         by absolute loop increment, not loop increment.
6039
6040 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6041
6042         * c-common.h: Follow spelling conventions.
6043         * cpplex.c: Likewise.
6044         * cpplib.h: Likewise.
6045         * gthr-dce.h: Likewise.
6046         * gthr-posix.h: Likewise.
6047         * optabs.c: Likewise.
6048         * output.h: Likewise.
6049         * profile.c: Likewise.
6050         * protoize.c: Likewise.
6051         * ra-rewrite.c: Likewise.
6052         * real.c: Likewise.
6053         * recog.c: Likewise.
6054         * reg-stack.c: Likewise.
6055         * regclass.c: Likewise.
6056         * regmove.c: Likewise.
6057         * reload.c: Likewise.
6058         * reload.h: Likewise.
6059         * reload1.c: Likewise.
6060         * reorg.c: Likewise.
6061         * resource.c: Likewise.
6062         * rtl.h: Likewise.
6063         * rtlanal.c: Likewise.
6064
6065 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6066
6067         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
6068         for symbol address.
6069
6070 2002-09-24  Eric Christopher  <echristo@redhat.com>
6071
6072         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
6073         * config/mips/elf64.h: Ditto.
6074
6075 2002-09-24  Eric Christopher  <echristo@redhat.com>
6076
6077         * except.c (expand_builtin_extract_return_address): Handle case
6078         where Pmode != ptr_mode.
6079
6080 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6081
6082         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
6083
6084 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
6085
6086         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
6087
6088 2002-09-26  Igor Shevlyakov <igor@microunity.com>
6089
6090         * combine.c (simplify_set): Don't call to force_to_mode if size
6091         of integer type is larger than HOST_BITS_PER_WIDE_INT.
6092
6093 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
6094
6095         * Makefile.in (qmtest-g++): Fix file path.
6096
6097 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
6098
6099         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
6100         A + (-const) on RTX level, even for unsigned types.
6101
6102 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
6103
6104         * reload.c (dup_replacements): New function.
6105         (find_reloads): Use it to duplicate replacements at the top level
6106         of match_dup operands.
6107
6108 2002-09-26  Miles Bader  <miles@gnu.org>
6109
6110         * v850.md ("length"): Change default value to 4.
6111
6112 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
6113
6114         * ChangeLog.1: Follow spelling conventions.
6115         * ChangeLog.4: Likewise.
6116         * ChangeLog.6: Likewise.
6117         * FSFChangeLog.11: Likewise.
6118         * doc/cpp.texi: Likewise.
6119         * doc/invoke.texi: Likewise.
6120         * doc/tm.texi: Likewise.
6121
6122 2002-09-26  Nick Clifton  <nickc@redhat.com>
6123
6124         * config.gcc: Add x prefix to v850e case for handling
6125         --with-cpu=v850e.
6126
6127 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
6128
6129         * gcc.c (input_suffix_matches, switch_matches,
6130         mark_matching_switches, process_marked_switches,
6131         process_brace_body): New functions - split from handle_braces.
6132         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
6133         and ignore whitespace in more places.
6134         (specs documentation comment): Document %{S:X;T:Y;:D}.
6135         Clarify other %{...} docs.
6136         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
6137         %{...} docs.
6138
6139         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
6140         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
6141
6142 2002-09-25  David S. Miller  <davem@redhat.com>
6143
6144         PR target/7842
6145         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
6146         extend.
6147
6148 2002-09-25  Richard Henderson  <rth@redhat.com>
6149
6150         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
6151         fp CONST_DOUBLE; use real_identical.
6152
6153 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
6154
6155         * doc/invoke.texi: Add more -Wabi examples.
6156
6157 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
6158
6159         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
6160
6161 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
6162
6163         * profile.c (end_branch_prob): Only look for __gcov_init on
6164         weak-enabled native compilers.
6165
6166 2002-09-24  Denis Chertykov  <denisc@overta.ru>
6167
6168         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
6169         cases of optimizing "add sp,w" to "inc sp".
6170
6171 2002-09-24  Adam Nemet  <anemet@lnxw.com>
6172
6173         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
6174         epilogue for naked functions.
6175
6176 2002-09-24  Adam Nemet  <anemet@lnxw.com>
6177             Nick Clifton  <nickc@redhat.com>
6178
6179         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
6180         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
6181         is defined.
6182
6183 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
6184
6185         * config/s390/s390.c (preferred_la_operand_p): New function.
6186         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
6187         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
6188         ("*la_64_cc", "*la_31_cc", splitters): ... these.
6189         ("*la_31"): Deactivate for TARGET_64BIT.
6190         ("*la_31_and", "*la_31_and_cc"): New.
6191
6192 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6193
6194         * real.h (real_value): Make `exp' explicitly signed.
6195
6196 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
6197
6198         * config/elfos.h: Follow spelling conventions.
6199         * config/alpha/alpha.h: Likewise.
6200         * config/arc/arc.h: Likewise.
6201         * config/arm/arm.md: Likewise.
6202         * config/avr/avr.h: Likewise.
6203         * config/cris/cris.md: Likewise.
6204         * config/d30v/d30v.h: Likewise.
6205         * config/frv/frv.c: Likewise.
6206         * config/frv/frv.h: Likewise.
6207         * config/h8300/h8300.c: Likewise.
6208         * config/h8300/h8300.h: Likewise.
6209         * config/h8300/h8300.md: Likewise.
6210         * config/i386/cygwin.h: Likewise.
6211         * config/i386/i386.h: Likewise.
6212         * config/i386/sysv3.h: Likewise.
6213         * config/i960/i960.h: Likewise.
6214         * config/ia64/ia64.h: Likewise.
6215         * config/ia64/ia64.md: Likewise.
6216         * config/ip2k/ip2k.h: Likewise.
6217         * config/m32r/m32r.h: Likewise.
6218         * config/m68k/m68k.h: Likewise.
6219         * config/m88k/m88k.h: Likewise.
6220         * config/mcore/mcore.c: Likewise.
6221         * config/mcore/mcore.h: Likewise.
6222         * config/mcore/mcore.md: Likewise.
6223         * config/mips/mips.h: Likewise.
6224         * config/mmix/mmix.h: Likewise.
6225         * config/mmix/mmix.md: Likewise.
6226         * config/ns32k/netbsd.h: Likewise.
6227         * config/ns32k/ns32k.h: Likewise.
6228         * config/ns32k/ns32k.md: Likewise.
6229         * config/pa/pa.h: Likewise.
6230         * config/romp/romp.h: Likewise.
6231         * config/rs6000/rs6000.h: Likewise.
6232         * config/rs6000/rs6000.md: Likewise.
6233         * config/sparc/sparc.h: Likewise.
6234         * config/stormy16/stormy-abi: Likewise.
6235         * config/stormy16/stormy16.h: Likewise.
6236         * config/vax/vax.h: Likewise.
6237
6238 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6239
6240         * config/alpha/alpha.h: Remove commented-out macro
6241         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
6242         * config/avr/avr.h: Likewise.
6243         * config/d30v/d30v.h: Likewise.
6244         * config/dsp16xx/dsp16xx.h: Likewise.
6245         * config/i370/i370.h: Likewise.
6246         * config/i386/i386.h: Likewise.
6247         * config/i960/i960.h: Likewise.
6248         * config/m68k/m68k.h: Likewise.
6249         * config/m88k/m88k.h: Likewise.
6250         * config/mips/mips.h: Likewise.
6251         * config/ns32k/ns32k.h: Likewise.
6252         * config/pdp11/pdp11.h: Likewise.
6253         * config/romp/romp.h: Likewise.
6254         * config/rs6000/rs6000.h: Likewise.
6255         * config/s390/s390.h: Likewise.
6256         * config/sh/sh.h: Likewise.
6257         * config/sparc/sparc.h: Likewise.
6258         * config/stormy16/stormy16.h: Likewise.
6259         * config/vax/vax.h: Likewise.
6260
6261 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6262
6263         * function.c (push_temp_slots_for_block): Remove.
6264         (push_temp_slots_for_target): Likewise.
6265         (get_target_temp_slot_level): Likewise.
6266         (set_target_temp_slot_level): Likewise.
6267         (get_first_block_beg): Likewise.
6268         * function.h: Remove corresponding prototypes.
6269
6270 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
6271
6272         * version.c (version_string): Now const char[].
6273         * version.h: Update to match.
6274
6275 2002-09-23  Richard Henderson  <rth@redhat.com>
6276
6277         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
6278         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
6279         (TARGET_SWITCHES): Don't reference them.
6280         * config/i386/i386.c (override_options): Use target_flags_explicit
6281         to examine bits set by the user.
6282
6283 2002-09-23  Dale Johannesen  <dalej@apple.com>
6284
6285         * dbxout.c (dbxout_parms):  Set current_sym_code for params
6286         passed on stack by invisible reference.
6287
6288 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
6289
6290         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
6291         at least one byte of space.
6292
6293 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6294
6295         * c-common.h (flag_abi_version): Fix typo in comment.
6296         * doc/invoke.texi (flag_abi_version): Document default value.
6297
6298 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
6299
6300         * doc/extend.texi (Extended Asm): Clarify that overlap between
6301         asm-declared register variables used in an asm and the asm clobber
6302         list is not allowed.
6303         * stmt.c (decl_conflicts_with_clobbers_p): New function.
6304         (expand_asm_operands): Keep track of clobbered registers.  Call
6305         decl_conflicts_with_clobbers_p for each input and output operand.
6306         If no conflicts found before, also do conflict sanity check when
6307         emitting clobbers.
6308
6309 2002-09-23  Richard Henderson  <rth@redhat.com>
6310
6311         * c-common.c (cpp_define_data_format): Remove.
6312         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
6313         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
6314         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
6315         * doc/cpp.texi: Don't document them either.
6316         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
6317         __LONG_LONG_MAX__): Document.
6318         (__TARGET_FLOAT_FORMAT__): Remove.
6319
6320 2002-09-23  Richard Henderson  <rth@redhat.com>
6321
6322         * real.c (do_multiply): Normalize U before addition.
6323
6324 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6325
6326         * c-common.c (flag_abi_version): New variable.
6327         * c-common.h (flag_abi_version): Declare it.
6328         * c-opts.c (missing_arg): Add -fabi-version.
6329         (c_common_decode_option): Process -fabi-version.
6330         * doc/invoke.texi (-fabi-version): Document it.
6331         (-Wabi): Add information about bit-fields in unions.
6332
6333 2002-09-22  Roger Sayle  <roger@eyesopen.com>
6334
6335         * expr.c (STORE_BY_PIECES_P): New target macro.
6336         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
6337         instead of MOVE_BY_PIECES_P.
6338         * doc/tm.texi: Document this new macro.
6339
6340 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6341
6342         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
6343         unless -fno-pic or -fno-PIC is specified.
6344
6345 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6346
6347         * c-common.c (preprocessing_trad_p): Define.
6348         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
6349         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
6350         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6351         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
6352         * pa-linux.h (CPP_PREDEFINES): Delete.
6353         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6354         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
6355         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
6356         (TARGET_OS_CPP_BUILTINS): Define.
6357         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
6358         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
6359         (SUBTARGET_SWITCHES): Provide default definition.
6360         (TARGET_OPTIONS): Reformat.  Use N_() macro.
6361         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
6362         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
6363         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
6364         (TARGET_CPU_CPP_BUILTINS): Define.
6365         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
6366         * doc/invoke.texi (msio, mwsio): Document new hppa options.
6367         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
6368         preprocessing_trad_p().
6369
6370 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6371
6372         * doc/install.texi: Document behavior of --with-headers and
6373         --with-libs when arguments are omitted.
6374
6375 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
6376
6377         * dbxout.c: Follow spelling conventions.
6378         * defaults.h: Likewise.
6379         * df.c: Likewise.
6380         * diagnostic.h: Likewise.
6381         * doloop.c: Likewise.
6382         * dwarf2out.c: Likewise.
6383         * dwarfout.c: Likewise.
6384         * emit-rtl.c: Likewise.
6385         * except.c: Likewise.
6386         * explow.c: Likewise.
6387         * expmed.c: Likewise.
6388         * expr.c: Likewise.
6389         * expr.h: Likewise.
6390         * flags.h: Likewise.
6391         * flow.c: Likewise.
6392         * fold-const.c: Likewise.
6393         * function.c: Likewise.
6394         * function.h: Likewise.
6395         * gcc.c: Likewise.
6396         * gcov-io.h: Likewise.
6397         * gcov.c: Likewise.
6398         * gcse.c: Likewise.
6399         * genattrtab.c: Likewise.
6400         * genconfig.c: Likewise.
6401         * genrecog.c: Likewise.
6402         * ggc-page.c: Likewise.
6403         * ggc.h: Likewise.
6404         * global.c: Likewise.
6405         * gthr-win32.h: Likewise.
6406         * integrate.c: Likewise.
6407         * jump.c: Likewise.
6408         * langhooks.c: Likewise.
6409         * langhooks.h: Likewise.
6410         * line-map.h: Likewise.
6411         * local-alloc.c: Likewise.
6412         * longlong.h: Likewise.
6413         * loop.c: Likewise.
6414         * loop.h: Likewise.
6415
6416 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6417
6418         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
6419
6420 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
6421
6422         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
6423         for -Os/TARGET_64BIT too.
6424
6425 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
6426
6427         * ChangeLog: Follow spelling conventions.
6428         * ChangeLog.0: Likewise.
6429         * ChangeLog.1: Likewise.
6430         * ChangeLog.2: Likewise.
6431         * ChangeLog.3: Likewise.
6432         * ChangeLog.4: Likewise.
6433         * ChangeLog.5: Likewise.
6434         * ChangeLog.6: Likewise.
6435         * FSFChangeLog.10: Likewise.
6436         * FSFChangeLog.11: Likewise.
6437         * alias.c: Likewise.
6438         * basic-block.h: Likewise.
6439         * c-aux-info.c: Likewise.
6440         * c-common.c: Likewise.
6441         * c-common.h: Likewise.
6442         * c-decl.c: Likewise.
6443         * c-format.c: Likewise.
6444         * c-semantics.c: Likewise.
6445         * c-typeck.c: Likewise.
6446         * calls.c: Likewise.
6447         * cfganal.c: Likewise.
6448         * cfgloop.c: Likewise.
6449         * collect2.c: Likewise.
6450         * combine.c: Likewise.
6451         * conflict.c: Likewise.
6452         * cppexp.c: Likewise.
6453         * cppfiles.c: Likewise.
6454         * cpphash.h: Likewise.
6455         * cppinit.c: Likewise.
6456         * cpplex.c: Likewise.
6457         * cpplib.c: Likewise.
6458         * cpplib.h: Likewise.
6459         * cppmacro.c: Likewise.
6460         * cse.c: Likewise.
6461
6462 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6463
6464         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
6465         LINK_SPEC.
6466         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
6467         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
6468         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
6469
6470 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6471
6472         PR opt/7930
6473         * cse.c (fold_rtx): Calculate old_cost before we fold each
6474         operand.
6475
6476 2002-09-21  Richard Henderson  <rth@redhat.com>
6477
6478         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
6479         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
6480         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
6481         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
6482         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
6483         * doc/cpp.texi: Don't document them.
6484
6485 2002-09-21  Richard Henderson  <rth@redhat.com>
6486
6487         * c-common.c (builtin_define_float_constants): Use real_format
6488         to get the floating-point parameters.
6489
6490 2002-09-21  Richard Henderson  <rth@redhat.com>
6491
6492         * real.c (struct real_format): Move to real.h.
6493         (real_format_for_mode): Rename from fmt_for_mode; update all users;
6494         initialize with ieee defaults.
6495         (real_to_target_fmt, real_from_target_fmt): New.
6496         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6497         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6498         ieee_quad_format, i370_single_format, i370_double_format,
6499         c4x_single_format, c4x_extended_format): Rename from s/_format//.
6500         (ieee_quad_format): Fix emin.
6501         (format_for_size, init_real_once): Remove.
6502         * real.h (struct real_format): Move from real.c.
6503         (real_format_for_mode): Declare.
6504         (real_to_target_fmt, real_from_target_fmt): Declare.
6505         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6506         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6507         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
6508         i370_single_format, i370_double_format, c4x_single_format,
6509         c4x_extended_format): Declare.
6510         * toplev.c (do_compile): Don't call init_real_once.
6511
6512         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6513         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6514
6515         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6516         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6517         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6518         for VAX, if enabled.
6519
6520         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6521         for C4X.
6522
6523         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6524         * config/i370/i370.c (override_options): New.
6525         * config/i370/i370-protos.h: Update.
6526
6527         * config/i386/i386.c (override_options): Set real_format_for_mode
6528         for Intel 80-bit extended.
6529         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6530
6531         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6532         (OVERRIDE_OPTIONS): Move code...
6533         * config/i960/i960.c (i960_initialize): ... here.  Set
6534         real_format_for_mode for Intel 80-bit extended.
6535
6536         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6537         for Intel 80-bit extended, if enabled.
6538
6539         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6540         for Motorola 96-bit extended.
6541
6542         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6543         * config/vax/vax.c (override_options): New.
6544         * config/vax/vax-protos.h: Update.
6545
6546 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6547
6548         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6549         #if TARGET_MACHO.
6550
6551         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6552         insns.  Supply missing clobber of scratch reg.
6553
6554 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6555
6556         * config/m32r/m32r.c: Follow spelling conventions.
6557         * config/m32r/m32r.h: Likewise.
6558         * config/m32r/m32r.md: Likewise.
6559         * config/m68k/m68k.c: Likewise.
6560         * config/m88k/m88k.c: Likewise.
6561         * config/mcore/mcore.c: Likewise.
6562         * config/mips/mips.c: Likewise.
6563         * config/mips/mips.h: Likewise.
6564         * config/mmix/mmix.c: Likewise.
6565         * config/mn10200/mn10200.c: Likewise.
6566         * config/ns32k/ns32k.h: Likewise.
6567         * config/pa/pa.c: Likewise.
6568         * config/pa/pa64-linux.h: Likewise.
6569         * config/pdp11/pdp11.h: Likewise.
6570         * config/romp/romp.c: Likewise.
6571         * config/romp/romp.h: Likewise.
6572         * config/rs6000/eabi.asm: Likewise.
6573         * config/rs6000/linux64.h: Likewise.
6574         * config/rs6000/rs6000.c: Likewise.
6575         * config/rs6000/rs6000.h: Likewise.
6576         * config/rs6000/rs6000.md: Likewise.
6577         * config/rs6000/sysv4.h: Likewise.
6578         * config/rs6000/xcoff.h: Likewise.
6579
6580 2002-09-20  Jim Wilson  <wilson@redhat.com>
6581
6582         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6583
6584 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6585
6586         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6587         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6588         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6589         (legitimate_address_p): Likewise.
6590         (legitimize_address): Use @gotntpoff and @indntpoff.
6591         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6592         (output_addr_const_extra): Likewise.
6593
6594 2002-09-20  Jim Wilson  <wilson@redhat.com>
6595
6596         * combine.c (try_combine): When split an instruction pair, where the
6597         first has a sign_extend src, verify that the src and dest modes match.
6598
6599 2002-09-20  Richard Henderson  <rth@redhat.com>
6600
6601         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6602         (override_options): Do not initialize them.
6603         (mips_const_double_ok): Allow no fp constants except zero,
6604         and not even that for mips16.
6605         (const_float_1_operand): Use dconst1.
6606         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6607         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6608         Don't allow arbitrary constants; fix predicates and C constraint.
6609
6610 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6611
6612         * cppmacro.c: Don't warn about function-like macros without
6613         '(' during pre-expansion.
6614
6615 2002-09-20  Jim Wilson  <wilson@redhat.com>
6616
6617         * config/v850/v850.c (current_function_anonymous_args): Delete.
6618         (expand_prologue): Use current_function_args_info.anonymous_args.
6619         (expand_epilogue): Delete use of current_function_anonymous_args.
6620         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6621         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6622         (current_function_anonymous_args): Delete extern declaration.
6623         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6624
6625 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6626
6627         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6628         to load_macho_picbase.
6629         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6630         (load_macho_picbase): Take the symbol to use as a parameter.
6631         (macho_correct_pic): New insn.
6632         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6633
6634         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6635         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6636         (CAN_ELIMINATE): Likewise.
6637         (INITIAL_ELIMINATION_OFFSET): Likewise.
6638         (TOC_REGISTER): Likewise.
6639
6640 2002-09-20  Richard Henderson  <rth@redhat.com>
6641
6642         * real.c (real_hash): New.
6643         * real.h: Declare it.
6644         * cse.c (canon_hash): Use it.
6645         * cselib.c (hash_rtx): Likewise.
6646         * emit-rtl.c (const_double_htab_hash): Likewise.
6647         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6648         * varasm.c (struct rtx_const): Reduce vector size; separate
6649         integer and fp vectors.
6650         (HASHBITS): Remove.
6651         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6652         take modulus MAX_HASH_TABLE.
6653         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6654         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6655         (SYMHASH): Don't use HASHBITS.
6656         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6657         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6658         (simplify_subtraction): Fix kind comparison.
6659         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6660         Use a union to pun integer array.
6661         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6662         only hash two words of integral CONST_DOUBLE.
6663
6664 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6665
6666         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6667         (STARTFILE_PREFIX_SPEC): New.
6668         (LINK_SPEC): Modify.
6669         (LIB_SPEC): Modify.
6670         (LIBGCC_SPEC): New.
6671
6672 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6673
6674         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6675         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6676
6677 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6678
6679         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6680         Add clobber of the condition code register.
6681
6682 2002-09-20  Richard Henderson  <rth@redhat.com>
6683
6684         * real.c (do_fix_trunc): Static.
6685         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6686         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6687         encode_i370_single, encode_i370_double, encode_c4x_single,
6688         encode_c4x_extended): Add default abort case.
6689
6690 2002-09-20  Richard Henderson  <rth@redhat.com>
6691
6692         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6693         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6694         (struct realvaluetype): Remove.
6695         (REAL_VALUE_TYPE): Use struct real_value.
6696         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6697         (test_real_width): New.
6698         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6699         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6700         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6701         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6702         real_to_integer, real_to_integer2, real_to_decimal,
6703         real_to_hexadecimal, real_from_string, real_from_integer,
6704         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6705         real_from_target): Likewise.
6706         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6707         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6708
6709 2002-09-20  Richard Henderson  <rth@redhat.com>
6710
6711         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6712         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6713         * defaults.h: ... here.
6714         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6715         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6716         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6717         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6718
6719 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6720
6721         * config/mmix/mmix.md ("negdf2"): Rewrite.
6722         ("*expanded_negdf2"): New.
6723
6724 2002-09-19  Jim Wilson  <wilson@redhat.com>
6725
6726         * combine.c (simplify_set): When optimizing a subreg src with a
6727         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6728
6729 2002-09-19  Dale Johannesen <dalej@apple.com>
6730         * combine.c (make_extraction): Don't create
6731         invalid subreg.
6732
6733 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6734
6735         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6736         * tree.h (integer_nonzerop): Add function prototype.
6737         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6738         are no instructions in the test, i.e. the loop is unconditional.
6739         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6740         tests when the condition is always true or always false.
6741         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6742         do-loops when the condition is always true.
6743         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6744         the for-expression is empty.
6745
6746 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6747
6748         * gcc.c (use_pipes): New flag.
6749         (process_command): Set it.  Adjust check for -pipe conflicting
6750         with -time or -save-temps.
6751         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6752         %<SWITCH.  Drop %| (without a SUFFIX).
6753         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6754         (give_switch): Third argument eliminated.
6755         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6756         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6757         (specs documentation comment): Update.
6758
6759         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6760         config/svr4.h, config/i386/freebsd-aout.h,
6761         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6762         config/m68k/openbsd.h, config/mips/openbsd.h,
6763         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6764         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6765         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6766         * config/cris/cris.h: Update comment.
6767
6768         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6769         error messages.  Don't use %{^SWITCH}.
6770         * ada/misc.c (gnat_decode_option): Handle -I with a
6771         separate argument.
6772
6773         * f/lang-specs.h: Use %| and %m.
6774         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6775         uses of %{<SWITCH} to %<SWITCH.
6776
6777         * doc/invoke.texi: Update documentation of specs.
6778         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6779
6780 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6781
6782         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6783         and STRICT_LOW_PART within SET_DEST.
6784         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
6785         splitters, replacing pre-reload splitters.
6786         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
6787         "*zero_extendqihi2_31"): New insns.
6788         ("*zero_extendqihi2_64"): Do not clobber CC.
6789
6790 2002-09-18  Devang Patel  <dpatel@apple.com>
6791
6792         * cp/cp-tree.h: New prototype for walk_vtables().
6793         * cp/decl.c (walk_vtables_r): New function.
6794         (struct cp_binding_level): Add new members, namespaces,
6795         names_size and vtables.
6796         (add_decl_to_level): Add decl in namespaces or vtables
6797         chain, if conditions match.
6798         (walk_vtables): New function.
6799         (walk_namespaces_r): Travers separate namespace chain
6800         for namespace decls.
6801         (wrapup_globals_for_namespace): Use names_size instead
6802         of list_length().
6803         * cp/decl2.c (finish_file): Use walk_vtables() instead of
6804         walk_globals() to walk vtable decls.
6805
6806 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
6807
6808         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
6809         (DTORS_SECTION_ASM_OP): Ditto.
6810         (READONLY_DATA_SECTION_ASM_OP): Moved.
6811         (DATA_SECTION_ASM_OP): New.
6812         (SDATA_SECTION_ASM_OP): New.
6813         (BSS_SECTION_ASM_OP): New.
6814         (SBSS_SECTION_ASM_OP): New.
6815         (TEXT_SECTION_ASM_OP): New.
6816
6817 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
6818
6819         * config/fp-bit.c: Follow spelling conventions.
6820         * config/d30v/d30v.c: Likewise.
6821         * config/d30v/d30v.h: Likewise.
6822         * config/fr30/fr30.c: Likewise.
6823         * config/fr30/fr30.h: Likewise.
6824         * config/fr30/fr30.md: Likewise.
6825         * config/frv/frv.c: Likewise.
6826         * config/frv/frv.h: Likewise.
6827         * config/h8300/h8300.c: Likewise.
6828         * config/h8300/lib1funcs.asm: Likewise.
6829         * config/i370/i370.c: Likewise.
6830         * config/i386/i386.h: Likewise.
6831         * config/i386/i386.md: Likewise.
6832         * config/i386/pentium.md: Likewise.
6833         * config/i386/winnt.c: Likewise.
6834         * config/i960/i960.c: Likewise.
6835         * config/ia64/ia64.h: Likewise.
6836         * config/ip2k/ip2k.c: Likewise.
6837         * config/ip2k/ip2k.h: Likewise.
6838         * config/ip2k/ip2k.md: Likewise.
6839         * config/ip2k/libgcc.S: Likewise.
6840
6841 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
6842
6843         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
6844         (GOTOFF_P): Extend to allow gotoff plus constant.
6845
6846 2002-09-18  Richard Henderson  <rth@redhat.com>
6847
6848         * ifcvt.c (noce_process_if_block): Correctly detect X modified
6849         with INSN_B before COND_EARLIEST.  Don't check A and B for
6850         modification in condition range.  Reorder INSN_B for A==B properly.
6851         (if_convert): Iterate until no matches for a block.
6852
6853 2002-09-18  Richard Henderson  <rth@redhat.com>
6854
6855         * calls.c (store_one_arg): Rename default_align to parm_align;
6856         always adjust parm_align for downward padding.
6857
6858 2002-09-18  Richard Henderson  <rth@redhat.com>
6859
6860         * toplev.c (backend_init): Move init_real_once invocation ...
6861         (do_compile): ... here.
6862
6863 2002-09-18  Richard Henderson  <rth@redhat.com>
6864
6865         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
6866         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
6867
6868 2002-09-18  Richard Henderson  <rth@redhat.com>
6869
6870         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
6871
6872 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
6873
6874         * config/rs6000/rs6000.md: (floatdisf2): Rename to
6875         floatdisf2_internal1.
6876         (floatdisf2): New define_expand.
6877         (floatdisf2_internal2): Likewise.
6878
6879 2002-09-18  Richard Henderson  <rth@redhat.com>
6880
6881         * real.c (sticky_rshift_significand): Collect sticky as
6882         unsigned long, not bool.
6883
6884 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
6885
6886         * config/s390/s390.c (s390_address_cost): New function.
6887         config/s390/s390-protos.h (s390_address_cost): Add prototype.
6888         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
6889         (RTX_COST): Use COSTS_N_INSNS.
6890
6891 2002-09-18  Douglas Rupp  <rupp@gnat.com>
6892             Donn Terry  <donnte@microsoft.com>
6893
6894         * stor-layout.c (place_field): Handle alignment of whole
6895         structures when MSVC compatible bitfields are involved.
6896         Change method of computing location of MS bitfields to
6897         be compatible with #pragma pack(n).
6898
6899         * tree.h (record_layout_info): Add new field
6900         remaining_in_alignment.
6901
6902         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
6903         (pragma pack): Add paragraph on MSVC bitfield packing.
6904
6905 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
6906
6907         PR optimization/7967
6908         * arm.md (ne_zeroextractsi): Add clobber of the condition code
6909         register.
6910
6911 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
6912
6913         * config/s390/s390.c: Follow spelling conventions.
6914         * config/sh/lib1funcs.asm: Likewise.
6915         * config/sh/sh.c: Likewise.
6916         * config/sh/sh.h: Likewise.
6917         * config/sparc/sparc.c: Likewise.
6918         * config/sparc/sparc.h: Likewise.
6919         * config/sparc/sparc.md: Likewise.
6920         * config/stormy16/stormy16.c: Likewise.
6921         * config/stormy16/stormy16.h: Likewise.
6922         * config/v850/v850.c: Likewise.
6923         * config/v850/v850.h: Likewise.
6924         * config/vax/vax.c: Likewise.
6925         * config/vax/vax.h: Likewise.
6926
6927 2002-09-18  Nick Clifton  <nickc@redhat.com>
6928
6929         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
6930         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
6931         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
6932
6933 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6934
6935         * function.c (max_parm_reg_num): Remove.
6936         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
6937         drop_through_at_end_p, move_cleanups_up,
6938         expand_end_case_dummy, case_index_expr_type): Likewise.
6939         * stor-layout.c (pos_from_byte): Likewise.
6940         * tree.c (chain_member_value, chain_member_purpose, listify,
6941         tree_int_cst_msb, index_type_equal): Likewise.
6942         * tree.h: Remove prototypes for unused functions.
6943
6944 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
6945
6946         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
6947         statement that the only translation is to en_UK.
6948
6949 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6950
6951         * config/alpha/alpha.c: Follow spelling conventions.
6952         * config/alpha/alpha.h: Likewise.
6953         * config/alpha/alpha.md: Likewise.
6954         * config/arc/arc.h: Likewise.
6955         * config/arm/arm.c: Likewise.
6956         * config/arm/arm.h: Likewise.
6957         * config/arm/arm.md: Likewise.
6958         * config/arm/pe.c: Likewise.
6959         * config/arm/unknown-elf.h: Likewise.
6960         * config/avr/avr.c: Likewise.
6961         * config/avr/avr.h: Likewise.
6962         * config/c4x/c4x.c: Likewise.
6963         * config/cris/cris.c: Likewise.
6964         * config/cris/cris.h: Likewise.
6965
6966 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
6967
6968         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
6969         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
6970         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
6971
6972 2002-09-17  Dale Johannesen  <dalej@apple.com>
6973
6974         * cfgcleanup.c (try_forward_edges):  Do not forward a
6975         branch to just after a loop exit before loop optimization;
6976         this interfered with doloop detection.
6977
6978 2002-09-17  Nick Clifton  <nickc@redhat.com>
6979
6980         * config/arm/arm.c (output_return_instruction): Do not
6981         writeback the stack pointer when it is being loaded.
6982         (arm_output_epilogue): Likewise.
6983
6984 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6985
6986         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
6987         generate a pseudo reg that receives the result of a libcall.
6988         (prepare_float_lib_cmp): Likewise.
6989
6990 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
6991
6992         * config/ia64/elf.h: Remove CPP_PREDEFINES.
6993
6994 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6995
6996         Fix PR/7014 and related objc bugs:
6997         * c-typeck.c (comp_target_types): Added a reflexive argument.
6998         Pass it to ObjC when/if calling objc_comptypes().  Updated all
6999         callers to provide the appropriate reflexive argument.
7000         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
7001         typechecking for all cases of comparisons and assignments,
7002         particularly the obscure and less common ones involving protocols.
7003
7004 2002-09-17  Nick Clifton  <nickc@redhat.com>
7005
7006         * machmode.def (V1DImode): New mode.  A single element vector.
7007         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
7008         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
7009         * tree.c (build_common_tree_nodes_2): Build
7010         unsigned_V1DI_type_node and V1D1_type_node.
7011         * c-common.c (c_common_type_for_mode): Return
7012         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
7013         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
7014
7015 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
7016
7017         * doc/objc.texi (Constant string objects): Extended documentation
7018         to make clear that the constant string class ivar layout is
7019         completely fixed.
7020
7021 2002-09-17  Roger Sayle  <roger@eyesopen.com>
7022
7023         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
7024         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
7025
7026 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7027
7028         * config/mips/mips.c (save_restore_insns): Remove unused variable.
7029         * gcc.c (make_relative_prefix): Likewise.
7030         * loop.c (check_final_value): Likewise.
7031         * jump.c (init_label_info): Remove return value.
7032         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
7033
7034 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7035
7036         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
7037         (ASM_PN_FORMAT): Define.
7038
7039 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7040
7041         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
7042         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
7043         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
7044         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
7045         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
7046         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
7047         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
7048         Delete.
7049         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
7050         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
7051         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
7052
7053         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
7054         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
7055
7056 2002-09-16  Richard Henderson  <rth@redhat.com>
7057
7058         * expr.c (emit_block_move): Set memory block size as appropriate
7059         for the copy.
7060
7061 2002-09-16  Richard Henderson  <rth@redhat.com>
7062
7063         PR fortran/3924
7064         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
7065
7066 2002-09-16  Richard Henderson  <rth@redhat.com>
7067
7068         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
7069         as well as OFFSET for BITPOS.
7070
7071 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
7072
7073         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
7074         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
7075         winchip2 and c3.
7076         * doc/invoke.texi: Mention new aliases.
7077
7078 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7079
7080         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
7081         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
7082         downward.
7083         * function.c (pad_below):  Always compile.
7084         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
7085         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
7086         Pad below when the argument is not in a register and the padding
7087         direction is downward.
7088
7089         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
7090         (PAD_VARARGS_DOWN): Define.
7091         * pa.c (function_arg_padding): Revise padding directions to make them
7092         compatible with the 32 and 64-bit runtime architecture documentation.
7093         (hppa_va_arg):  Add code to handle variable and size zero arguments
7094         passed by reference on TARGET_64BIT.  Reformat.
7095         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
7096         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
7097         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
7098         Add comments.
7099         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
7100         (RETURN_IN_MEMORY): Return size zero types in memory.
7101         (FUNCTION_VALUE): Return TFmode in general registers.
7102         (MUST_PASS_IN_STACK): Define.
7103         (FUNCTION_ARG_BOUNDARY): Simplify.
7104         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
7105         by reference.
7106         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
7107
7108 2002-09-16  Richard Henderson  <rth@redhat.com>
7109
7110         * real.c (do_fix_trunc): New.
7111         (real_arithmetic): Call it.
7112         * simplify-rtx.c (simplify_unary_operation): Handle FIX
7113         with a floating-point result mode.
7114
7115 2002-09-16  Richard Henderson  <rth@redhat.com>
7116
7117         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
7118         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
7119         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
7120         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
7121         * builtins.c (fold_builtin_nan): New.
7122         (fold_builtin): Call it.
7123         * real.c (real_nan): Parse a non-empty string.
7124         (round_for_format): Fix NaN significand truncation.
7125         * real.h (real_nan): Return bool.
7126         * doc/extend.texi: Document new builtins.
7127
7128 2002-09-16  Jason Merrill  <jason@redhat.com>
7129             Danny Smith  <dannysmith@users.sourceforge.net>
7130
7131         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
7132         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
7133         (i386_pe_mark_dllimport): Not here.
7134
7135 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
7136
7137         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
7138
7139 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
7140
7141         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
7142         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
7143         < 64.
7144         (rs6000_emit_cmove): Use real_isinf not target_isinf.
7145
7146 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7147
7148         * calls.c (emit_library_call_value_1): Don't refer to
7149         hard_libcall_value.
7150         * optabs.c (prepare_float_lib_cmp): Likewise.
7151
7152 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
7153
7154         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
7155         mangling.
7156
7157         The following changes are merged from pch-branch:
7158
7159         * doc/gty.texi (GTY Options): Document %a.
7160         * gengtype.c (do_scalar_typedef): New function.
7161         (process_gc_options): Handle `length' option.
7162         (set_gc_used_type): A pointer to an array of structures doesn't
7163         qualify as a pointer to a structure.
7164         (output_escaped_param): Add `%a' escape.
7165         (write_gc_structure_fields): Allow 'desc' on array of unions.
7166         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
7167         do_scalar_typedef.
7168
7169         * gengtype.c (enum rtx_code): Make global.
7170         (rtx_format): Make global.
7171         (rtx_next): New.
7172         (gen_rtx_next): New.
7173         (write_rtx_next): New.
7174         (adjust_field_rtx_def): Skip fields marked by chain_next.
7175         (open_base_files): Delete redundant prototype.
7176         (write_enum_defn): New.
7177         (output_mangled_typename): Correct abort call.
7178         (write_gc_marker_routine_for_structure): Handle chain_next and
7179         chain_prev options.
7180         (finish_root_table): Don't output redundant \n.
7181         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
7182         * c-tree.h (union lang_tree_node): Add chain_next option.
7183
7184         * gengtype.h (NUM_PARAM): New definition.
7185         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
7186         * gengtype.c (find_param_structure): New.
7187         (adjust_field_type): Handle param<n>_is option.
7188         (process_gc_options): Detect use_params option.  Update callers.
7189         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
7190         'use_params' option.
7191         (open_base_files): Add splay-tree.h to list of files included.
7192         (output_mangled_typename): New.
7193         (write_gc_structure_fields): Update 'param' parameter to support
7194         multiple parameters.  Change name mangling.  Allow parameterized
7195         fields to have an apparent scalar type.  Handle param<n>_is options,
7196         use_param option.
7197         (write_gc_marker_routine_for_structure): Update for change to name
7198         mangling.  Better guess the output file for parameterized types.
7199         (write_gc_types): Update for change to name mangling.
7200         (write_gc_root): Update for change to name mangling.  Handle (ignore)
7201         param<n>_is options.
7202         * doc/gty.texi (GTY Options): Add description of param<n>_is
7203         options, use_params option.
7204         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
7205         * gengtype-lex.l: Produce token for param<n>_is.
7206         * gengtype-yacc.y: Parse param<n>_is.
7207
7208         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
7209
7210         * rtl.c: Update comment describing rtx_format.
7211         * rtl.h (union rtunion): Separate definition and typedef.
7212         (struct rtx_def): Use gengtype to mark.
7213         * Makefile.in (gengtype.o): Also depend on rtl.def.
7214         * ggc.h (ggc_mark_rtx_children): Delete prototype.
7215         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
7216         * ggc-common.c (ggc_mark_rtx_children): Delete.
7217         (ggc_mark_rtx_children_1): Delete.
7218         (gt_ggc_m_rtx_def): Delete.
7219         * gengtype.c (adjust_field_rtx_def): New.
7220         (adjust_field_type): Call adjust_field_rtx_def.
7221         (write_gc_structure_fields): Add 'default' case to switch if none
7222         is specified; remove unused code.
7223
7224         * tree.h (struct tree_exp): Update for change to meaning
7225         of special.
7226         * gengtype.c (adjust_field_tree_exp): New function.
7227         (adjust_field_type): Handle `tree_exp' special here.
7228         (write_gc_structure_fields): Don't handle `tree_exp' special here.
7229         Handle new `dot' option.
7230
7231         * gengtype.h: Make `info' a pointer-to-const.
7232         * gengtype-yacc.y (yacc_ids): Use xasprintf.
7233
7234         * gengtype.c (write_gc_structure_fields): Remove implementation
7235         of `always' option, add `default' option.
7236         * doc/gty.texi (GTY Options): Remove documentation of `always',
7237         add `default'.
7238
7239 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
7240
7241         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
7242
7243 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7244
7245         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
7246
7247         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
7248         instead of the *-protos.h file directly.
7249         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
7250         * darwin.c (machopic_output_stub): Move prototype ...
7251         * darwin-protos.h (machopic_output_stub): ... here.
7252         * rs6000-protos.h (machopic_output_stub): Don't declare.
7253
7254 2002-09-16  Richard Henderson  <rth@redhat.com>
7255
7256         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
7257
7258 2002-09-16  Richard Henderson  <rth@redhat.com>
7259
7260         * real.c, real.h: Rewrite from scratch.
7261
7262         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
7263         (paranoia): New target.
7264         * builtins.c (fold_builtin_inf): Use new real.h interface.
7265         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
7266         * c-lex.c (interpret_float): Likewise.
7267         * emit-rtl.c (gen_lowpart_common): Likewise.
7268         * optabs.c (expand_float): Use real_2expN.
7269         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
7270         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
7271         (FLOAT_WORDS_BIG_ENDIAN): New.
7272         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
7273         directly to REAL_VALUE_NEGATIVE.
7274         * loop.c (canonicalize_condition): Likewise.
7275         * simplify-rtx.c: Include tree.h.
7276         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
7277         with floating-point result modes.
7278         * toplev.c (backend_init): Call init_real_once.
7279
7280         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
7281         * tree.c (build_real): Likewise.
7282         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
7283         float_values, inited_float_values, check_float_value): Remove.
7284         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
7285         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
7286         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
7287         (VAX_HALFWORD_ORDER): Remove.
7288
7289 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
7290
7291         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
7292         (s390_load_address): ... this new function.
7293         (s390_decompose_address): Allow the argument pointer and all
7294         virtual registers as 'pointer' registers.
7295         (s390_expand_plus_operand): Use s390_load_address.
7296         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
7297         ("force_la_31"): New insn pattern.
7298         config/s390/s390-protos.h (legitimize_la_operand): Remove.
7299         (s390_load_address): Add prototype.
7300
7301         * config/s390/s390.c: Include "optabs.h".
7302         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
7303         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
7304         s390_expand_cmpstr): Add prototypes.
7305         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
7306         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
7307         for operands 0 and 1 to "memory_operand".  Add type attribute.
7308         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
7309         for operands 0 and 1 to "memory_operand".  Add type attribute.
7310         ("movstrdi_long", "movstrsi_long"): Remove.
7311         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
7312         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
7313         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
7314         ("clrstrsico"): Remove, replace by ...
7315         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
7316         ("clrstrsi_64"): Rename to "clrstr_long_64".
7317         ("clrstrsi_31"): Rename to "clrstr_long_31".
7318         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
7319         ("cmpstr_const"): Remove, replace by ...
7320         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
7321         ("cmpstr_64"): Rename to "cmpstr_long_64".
7322         ("cmpstr_31"): Rename to "cmpstr_long_31".
7323
7324 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7325
7326         * ABOUT-NLS: Follow spelling conventions.
7327         * ChangeLog: Likewise.
7328         * ChangeLog.1: Likewise.
7329         * ChangeLog.2: Likewise.
7330         * ChangeLog.3: Likewise.
7331         * ChangeLog.4: Likewise.
7332         * ChangeLog.5: Likewise.
7333         * ChangeLog.6: Likewise.
7334         * FSFChangeLog.10: Likewise.
7335         * FSFChangeLog.11: Likewise.
7336         * c-common.c: Likewise.
7337         * c-lex.c: Likewise.
7338         * c-objc-common.c: Likewise.
7339         * cppexp.c: Likewise.
7340         * cppinit.c: Likewise.
7341         * cpplex.c: Likewise.
7342         * doloop.c: Likewise.
7343         * flow.c: Likewise.
7344         * function.c: Likewise.
7345         * integrate.c: Likewise.
7346         * loop.c: Likewise.
7347         * reg-stack.c: Likewise.
7348         * reload.h: Likewise.
7349         * ssa.c: Likewise.
7350
7351 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7352
7353         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
7354         * vmsdbgout.c: Include "target.h".
7355
7356 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7357
7358         * ChangeLog: Follow spelling conventions.
7359         * ChangeLog.0: Likewise.
7360         * ChangeLog.1: Likewise.
7361         * ChangeLog.2: Likewise.
7362         * ChangeLog.4: Likewise.
7363         * ChangeLog.6: Likewise.
7364         * config.gcc: Likewise.
7365         * dwarfout.c: Likewise.
7366         * reload1.c: Likewise.
7367         * simplify-rtx.c: Likewise.
7368         * unwind-sjlj.c: Likewise.
7369         * config/avr/avr.h: Likewise.
7370         * config/d30v/d30v.h: Likewise.
7371         * config/frv/frv.c: Likewise.
7372         * config/frv/frv.h: Likewise.
7373         * config/ip2k/ip2k.h: Likewise.
7374         * config/m88k/m88k-move.sh: Likewise.
7375         * config/stormy16/stormy16.c: Likewise.
7376         * config/stormy16/stormy16.h: Likewise.
7377         * doc/extend.texi: Likewise.
7378         * doc/interface.texi: Likewise.
7379         * doc/invoke.texi: Likewise.
7380         * doc/md.texi: Likewise.
7381         * doc/rtl.texi: Likewise.
7382         * doc/tm.texi: Likewise.
7383         * doc/trouble.texi: Likewise.
7384         * ginclude/float.h: Likewise.
7385         * treelang/treelang.texi: Likewise.
7386
7387 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7388
7389         * i386-protos.h (i386_pe_dllexport_name_p,
7390         i386_pe_dllimport_name_p, i386_pe_unique_section,
7391         i386_pe_declare_function_type, i386_pe_record_external_function,
7392         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
7393         prototype.
7394         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
7395         * i386/t-interix (winnt.o): Likewise.
7396
7397         * v850-protos.h (v850_output_addr_const_extra): Prototype.
7398
7399 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7400
7401         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
7402         MIPS ABI CPP macros.
7403         (TARGET_CPU_CPP_BUILTINS): Redefine.
7404         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
7405         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
7406
7407 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7408
7409         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
7410
7411 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7412
7413         * ChangeLog: Follow spelling conventions.
7414         * ChangeLog.0: Likewise.
7415         * ChangeLog.1: Likewise.
7416         * ChangeLog.2: Likewise.
7417         * ChangeLog.3: Likewise.
7418         * ChangeLog.4: Likewise.
7419         * ChangeLog.5: Likewise.
7420         * ChangeLog.6: Likewise.
7421         * FSFChangeLog.10: Likewise.
7422         * FSFChangeLog.11: Likewise.
7423         * c-common.c: Likewise.
7424         * c-common.h: Likewise.
7425         * c-format.c: Likewise.
7426         * c-opts.c: Likewise.
7427         * cpplib.c: Likewise.
7428         * langhooks.h: Likewise.
7429         * real.c: Likewise.
7430         * reg-stack.c: Likewise.
7431         * toplev.c: Likewise.
7432         * config/arm/arm.c: Likewise.
7433         * config/arm/arm.md: Likewise.
7434         * config/arm/linux-gas.h: Likewise.
7435         * config/arm/netbsd.h: Likewise.
7436         * config/c4x/c4x.c: Likewise.
7437         * config/c4x/c4x.h: Likewise.
7438         * config/c4x/c4x.md: Likewise.
7439         * config/c4x/libgcc.S: Likewise.
7440         * config/fr30/fr30.md: Likewise.
7441         * config/frv/frv.md: Likewise.
7442         * config/ia64/ia64.md: Likewise.
7443         * config/mips/mips.h: Likewise.
7444         * config/mn10300/mn10300.c: Likewise.
7445         * config/stormy16/stormy16.c: Likewise.
7446         * config/v850/v850.md: Likewise.
7447         * doc/extend.texi: Likewise.
7448         * doc/invoke.texi: Likewise.
7449         * doc/md.texi: Likewise.
7450
7451 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7452
7453         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
7454         library if -pthread is specified.
7455
7456 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7457
7458         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
7459         for --enable-threads=yes and --enable-threads=posix.
7460
7461 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7462
7463         * config/sparc/cypress.md: Replace Sparc with SPARC.
7464         * config/sparc/freebsd.h: Likewise.
7465         * config/sparc/gmon-sol2.c: Likewise.
7466         * config/sparc/hypersparc.md: Likewise.
7467         * config/sparc/lb1spc.asm: Likewise.
7468         * config/sparc/lb1spl.asm: Likewise.
7469         * config/sparc/linux.h: Likewise.
7470         * config/sparc/linux64.h: Likewise.
7471         * config/sparc/lynx.h: Likewise.
7472         * config/sparc/sol2.h: Likewise.
7473         * config/sparc/sparc-modes.def: Likewise.
7474         * config/sparc/sparc.c: Likewise.
7475         * config/sparc/sparc.h: Likewise.
7476         * config/sparc/sparc.md: Likewise.
7477         * config/sparc/sparclet.md: Likewise.
7478         * config/sparc/supersparc.md: Likewise.
7479         * config/sparc/sysv4.h: Likewise.
7480         * config/sparc/vxsim.h: Likewise.
7481         * config/sparc/vxsparc64.h: Likewise.
7482
7483 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7484
7485         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
7486         * collect2.c (ignore_library, aix_std_libs): Move into the context
7487         where it is used.
7488         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
7489         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
7490         * m88k.c (output_call): Wrap variables with macro controlling use.
7491         * rs6000.md: Likewise.  Const-ify variable.
7492         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
7493         * final.c (only_leaf_regs_used): Likewise.
7494         * regrename.c (maybe_mode_change): Mark parameter with
7495         ATTRIBUTE_UNUSED.
7496         * reload.c (find_valid_class): Likewise.  Likewise for variable.
7497         (find_reloads_address_1): Likewise.
7498         * varasm.c (weak_finish): Wrap variable with macro controlling use.
7499
7500 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7501
7502         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
7503
7504 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7505
7506         * ChangeLog: Follow spelling conventions.
7507         * ChangeLog.0: Likewise.
7508         * ChangeLog.2: Likewise.
7509         * ChangeLog.3: Likewise.
7510         * ChangeLog.4: Likewise.
7511         * ChangeLog.5: Likewise.
7512         * ChangeLog.6: Likewise.
7513         * cppfiles.c: Likewise.
7514         * cppinit.c: Likewise.
7515         * cpplib.h: Likewise.
7516         * cse.c: Likewise.
7517         * debug.h: Likewise.
7518         * df.c: Likewise.
7519         * dominance.c: Likewise.
7520         * hashtable.c: Likewise.
7521         * hashtable.h: Likewise.
7522         * loop.c: Likewise.
7523         * config/arm/README-interworking: Likewise.
7524         * config/arm/arm.c: Likewise.
7525         * config/arm/arm.h: Likewise.
7526         * config/arm/arm.md: Likewise.
7527         * config/dsp16xx/dsp16xx.h: Likewise.
7528         * config/frv/frv.c: Likewise.
7529         * config/frv/frv.h: Likewise.
7530         * config/ip2k/ip2k.h: Likewise.
7531         * config/rs6000/rs6000.c: Likewise.
7532         * config/stormy16/stormy-abi: Likewise.
7533         * config/stormy16/stormy16.h: Likewise.
7534         * config/v850/v850.c: Likewise.
7535
7536 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7537
7538         * loop.c: Fix a comment typo.
7539
7540 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7541
7542         * config/fr30/fr30.h: Fix comment typos.
7543         * config/frv/frv.c: Likewise.
7544         * config/i386/xmmintrin.h: Likewise.
7545         * config/mips/mips.c: Likewise.
7546         * config/sh/sh.c: Likewise.
7547
7548 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7549
7550         * haifa-sched.c: Follow spelling conventions.
7551         * regclass.c: Likewise.
7552         * regrename.c: Likewise.
7553         * config/fp-bit.c: Likewise.
7554         * config/frv/frv.h: Likewise.
7555         * config/m88k/m88k.c: Likewise.
7556         * config/mcore/mcore.c: Likewise.
7557         * config/rs6000/darwin.h: Likewise.
7558         * config/rs6000/gnu.h: Likewise.
7559         * config/rs6000/linux.h: Likewise.
7560         * config/rs6000/linux64.h: Likewise.
7561         * config/rs6000/rs6000.c: Likewise.
7562         * config/rs6000/rs6000.h: Likewise.
7563         * config/sh/sh.c: Likewise.
7564         * config/sparc/sparc.c: Likewise.
7565         * config/sparc/ultra1_2.md: Likewise.
7566
7567 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7568
7569         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7570         memory operand when source is 0 (K constraint).
7571         ("movsi_internal"): Likewise.
7572         ("movdf_internal"): Likewise.
7573         ("movsf_internal"): Likewise.
7574
7575 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7576
7577         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7578         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7579         (rs6000_xcoff_encode_section_info): Likewise.
7580         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7581
7582 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7583
7584         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7585
7586 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7587
7588         * stmt.c (struct nexting): Remove unused alt_end_label field.
7589         (expand_start_loop): Delete initialization of alt_end_label.
7590         (expand_start_null_loop): Likewise.
7591         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7592
7593 2002-09-13  Richard Henderson  <rth@redhat.com>
7594
7595         * Makefile.in (toplev.o): Depend on real.h.
7596         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7597
7598 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7599
7600         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7601         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7602         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7603
7604 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7605
7606         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7607
7608 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7609
7610         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7611         ia64*-*-linux*): Set extra_parts.
7612         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7613         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7614
7615 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7616
7617         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7618         * config/h8300/h8300.c: Likewise.
7619         * config/h8300/h8300.h: Likewise.
7620         * config/h8300/h8300.md: Likewise.
7621         * doc/invoke.texi: Likewise.
7622
7623 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7624
7625         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7626
7627 2002-09-13  Richard Henderson  <rth@redhat.com>
7628
7629         * config/alpha/alpha.md (attr type): Add callpal.
7630         (imb, trap, load_tp, set_tp): Use it.
7631         * config/alpha/ev4.md (ev4_callpal): New.
7632         * config/alpha/ev5.md (ev5_callpal): New.
7633         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7634         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7635         (alphaev5_insn_pipe): Likewise.
7636
7637 2002-09-13  Andreas Jaeger  <aj@suse.de>
7638
7639         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7640
7641 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7642
7643         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7644         LIB2ADDEH): New, set to NULL.
7645         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7646
7647 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7648
7649         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7650         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7651         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7652         Add declarations.
7653         (_U_Qfneg): Remove.
7654
7655 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7656
7657         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7658         for H8/300, H8S aa:8 mode.
7659         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7660         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7661         for H8/300 aa:8 mode.
7662
7663 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7664
7665         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7666         insns.
7667
7668 2002-09-12  Richard Henderson  <rth@redhat.com>
7669
7670         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7671         (print-rtl.o): Don't define GENERATOR_FILE.
7672         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7673         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7674         unless GENERATOR_FILE.
7675
7676 2002-09-12  Stan Shebs  <shebs@apple.com>
7677
7678         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7679         * config/i386/darwin.h: ... instead of here.
7680
7681         * target.h (struct gcc_target): New field
7682         terminate_dw2_eh_frame_info.
7683         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7684         (TARGET_INITIALIZER): Add it.
7685         * dwarf2out.c (output_call_frame_info): Use target hook.
7686         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7687         ASM_OUTPUT_DWARF_DELTA if defined.
7688         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7689         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7690         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7691         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7692         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7693         (powerpc-*-darwin*): Ditto.
7694         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7695         to work correctly for Darwin.
7696         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7697         (STARTFILE_SPEC): Add crtbegin.o.
7698         (ENDFILE_SPEC): Define.
7699         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7700         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7701         (ASM_OUTPUT_DWARF_DELTA): Define.
7702         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7703         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7704
7705 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7706
7707         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7708         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7709         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7710
7711 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7712
7713         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7714         * defaults.h: ... here.
7715
7716 2002-09-12  Richard Henderson  <rth@redhat.com>
7717
7718         * vax.c: Include tree.h earlier.
7719
7720 2002-09-12  Stan Shebs  <shebs@apple.com>
7721
7722         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7723         (machopic_operand_p): Ditto.
7724
7725 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7726
7727         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7728         Fix a comment typo.
7729
7730 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7731
7732         * toplev.c (do_abort): Fix a comment typo.
7733
7734 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7735
7736         * cselib.c: Fix comment formatting.
7737         * gengtype.c: Likewise.
7738
7739 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7740
7741         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7742         (udivmodhi4): Likewise.
7743
7744 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7745             Roger Sayle  <roger@eyesopen.com>
7746
7747         * i386.c (any_fp_register_operand, fp_register_operand,
7748         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7749         New predicate functions.
7750         * i386-protos.h:  Add their prototypes.
7751         * i386.h: Add them to PREDICATE_CODES.
7752         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7753         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7754         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7755         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7756         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7757         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7758         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7759         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7760         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7761         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7762         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7763         Use these new predicates to simplify and correct the use of
7764         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7765
7766 2002-09-12  Jason Merrill  <jason@redhat.com>
7767
7768         * diagnostic.c (output_add_identifier): New fn.
7769         * diagnostic.h: Declare it.
7770
7771         * calls.c (store_one_arg): Use size_in_bytes to determine the
7772         amount of space to push.
7773
7774 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7775
7776         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7777
7778 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7779
7780         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7781         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7782         (s390_select_ccmode): Likewise.
7783         (s390_branch_condition_mask): Likewise.
7784         (optimization_options): Do not set flag_branch_on_count.
7785         (s390_split_branches): Handle doloop branches.
7786         (s390_chunkify_pool): Likewise.
7787         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
7788         ("doloop_end"): New expander.
7789         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
7790         associated splitters): New.
7791
7792 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7793
7794         * genattrtab.c (simplify_cond): Remove unused variable(s).
7795         * global.c (record_conflicts): Likewise.
7796         * jump.c (rebuild_jump_labels): Likewise.
7797         * loop.c (scan_loop, check_final_value): Likewise.
7798         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
7799         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
7800         * rtlanal.c (reg_set_p): Likewise.
7801         * stmt.c (expand_asm_operands, expand_decl): Likewise.
7802         * genautomata.c (empty_reserv): Remove.
7803         * loop.c (max_luid): Likewise.
7804         * sched-rgn.c (bitlst_table_size): Likewise.
7805
7806 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
7807
7808         Reimplement gcov format.
7809         * gcov-io.h: Replace.
7810         * gcov.c: Reimplement.
7811         * gcov-iov.c: New file.
7812         * gcov-dump.c: New file.
7813         * libgcc2.c (L_bb): Replace with ...
7814         (L_gcov): ... this.
7815         (struct bb_function_info, struct bb): Remove.
7816         (inhibit_libc): Never inhibit.
7817         (gcov_list, gcov_crc): New static variables.
7818         (gcov_version_mismatch): New static function.
7819         (__bb_exit_func): Renamed to ...
7820         (__gcov_exit): ... here. Made static. Reimplement.
7821         (__gcov_init_func): Rename to ...
7822         (__gcov_init): ... here. Check version, update crc.
7823         (__bb_fork_func): Rename to ...
7824         (__gcov_flush): ... here.
7825         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
7826         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
7827         * calls.c (expand_call): Call __gcov_flush.
7828         * profile.c (bb_file, last_bb_file_name): Remove.
7829         (bbg_file_name): New global variable.
7830         (output_gcov_string): Remove.
7831         (get_exec_counts): Reimplement.
7832         (branch_prob): Reimplement gcov file writing.
7833         (init_branch_prob): Create bbg_file_name, don't create
7834         bb_file_name.
7835         (end_branch_prob): Adjust. Don't remove counter file when
7836         instrumenting ourselves.
7837         (create_profiler): Adjust.
7838         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
7839         point to gcov-io.h.
7840         * Makefile.in (LANGUAGES): Add gcov-dump.
7841         (coverageexts): Remove .bb.
7842         (STAGESTUFF): Add gcov-dump.
7843         (LIB2FUNCS_ST): Replace _bb with _gcov.
7844         (profile.o): Depend on gcov-iov.h.
7845         (final.o): Don't depend on profile.h, gcov.h.
7846         (gcov.o): Depend on gcov-iov.h.
7847         (gcov-iov.o): New target.
7848         (gcov-iov): New target.
7849         (gcov-iov.h): New target.
7850         (gcov-dump.o): New target.
7851         (GCOV_DUMP_OBJS): New variable.
7852         (gcov-dump): New target.
7853         (distclean): Remove coverageexts.
7854         (stage1): Remove coverageexts.
7855
7856 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
7857
7858         * fold-const.c (make_range): Only narrow to signed range if
7859         the signed range is smaller than the unsigned range.
7860
7861 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
7862
7863         * emit-rtl.c (set_mem_size): New function.
7864         * expr.h (set_mem_size): Declare.
7865         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
7866         (expand_block_move): Instead, use adjust_address and
7867         replace_equiv_address to generate proper aliasing info.
7868         Move common code out of conditionals.  Localize vars.
7869
7870 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7871
7872         * optabs.c (expand_binop): Minor cleanup.
7873         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
7874
7875 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
7876
7877         * print-tree.c (print_node): Print the restrict qualifier.
7878
7879 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
7880
7881         * doc/install.texi: Fix typos.
7882
7883 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
7884
7885         * Makefile.in: Remove all references to s-under and underscore.c.
7886         * collect2.c, tlink.c: Change all uses of prepends_underscore
7887         to look directly at USER_LABEL_PREFIX.
7888
7889 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
7890
7891         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
7892         alignment to csect.
7893         (rs6000_xcoff_unique_section): Only set section name for public
7894         data.
7895         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
7896         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
7897         duplicate definition.
7898
7899 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7900
7901         * pa.md (extzv): Check predicates before emitting extzv_32.
7902         (insv): Likewise.
7903
7904 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
7905
7906         * config/s390/s390.h (MOVE_MAX): Define to correct value.
7907         (MAX_MOVE_MAX): Define.
7908         (MOVE_BY_PIECES_P): Define.
7909         (CLEAR_BY_PIECES_P): Define.
7910
7911 2002-09-10  Denis Chertykov  <denisc@overta.ru>
7912
7913         * config/avr/avr.md (movstrhi): Use right operands for conversion.
7914
7915 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
7916
7917         PR c/7873
7918         * arm.md (insv): Use reg_or_int_operand for operand[3].
7919
7920 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
7921
7922         * rs6000.c (rs6000_assemble_visibility): Protect declaration
7923         inside macro.  Correct function definition typo.
7924         (rs6000_xcoff_section_type_flags): New function.
7925         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
7926         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
7927         with appropriate PIC test.
7928         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
7929         determine readonly.
7930         (rs6000_binds_local_p): Combine PIC flags.
7931         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
7932         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
7933
7934 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7935
7936         * h8300.md: Fix signed/unsigned warnings.
7937         * mcore.md: Likewise.
7938         * mn10300.c (mask_ok_for_mem_btst): Likewise.
7939
7940 2002-09-09  Per Bothner  <per@bothner.com>
7941
7942         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
7943         characters, and only print TREE_STRING_LENGTH chars.
7944
7945 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
7946
7947         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
7948         (ASM_FILE_END) New.
7949         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
7950         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
7951         * config/ia64/ia64.c (ia64_asm_output_external): Create list
7952         of external functions if TARGET_HPUX_LD is true.
7953         (ia64_hpux_add_extern_decl): New, routine to put names on
7954         list of external functions.
7955         (ia64_hpux_asm_file_end): Put out declarations for external
7956         functions if and only if they are used.
7957
7958 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7959
7960         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
7961         on TARGET_64BIT before pic register restore.
7962
7963 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
7964
7965         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
7966         (TARGET_HAVE_TLS): New description.
7967
7968 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
7969
7970         * doc/extend.texi (Statement Exprs): Fix broken link.
7971
7972 2002-09-09  Denis Chertykov  <denisc@overta.ru>
7973
7974         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
7975         right conversion of operands[1].
7976
7977 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
7978
7979         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
7980         commutative.  Use "nonimmediate_operand" instead of "register_operand"
7981         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
7982
7983         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
7984         as commutative.
7985
7986         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
7987         mark as commutative.  Use "nonimmediate_operand" instead of
7988         "register_operand" as predicate for operand 1.
7989
7990         ("movstrictsi"): Fix typo in insn name.
7991
7992 2002-09-09  Jan Hubicka  <jh@suse.cz>
7993
7994         * i386.c (index_register_operand): New.
7995         * i386.h (predicate_codes): Add new predicate.
7996         * i386.md (lea_general_*): Use index_register_operand
7997         (ashift to lea splitter): Do not produce invalid leas
7998         (ashift to mov+ashift split): New.
7999
8000 2002-09-09  Nick Clifton  <nickc@redhat.com>
8001
8002         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
8003         Fix folding marks.
8004
8005 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
8006             J"orn Rennecke <joern.rennecke@superh.com>
8007
8008         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
8009
8010 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
8011
8012         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
8013         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
8014         attributes.
8015
8016 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
8017
8018         * basic_block.h (gcov_type): Explain why it is signed.
8019         * final.c: Don't include profile.h.
8020         (struct function_list, functions_head, functions_tail,
8021         end_final): Moved to profile.c
8022         (final): Move arc chaining code to profile.c.
8023         * function.c (prepare_function_start): Remove duplicate line.
8024         * output.h (end_final): Remove prototype.
8025         * predict.c (estimate_loops_at_level): Use gcov_type.
8026         * profile.c (struct function_list, functions_head,
8027         functions_tail): Moved from final.c
8028         (need_func_profiler): Remove.
8029         (instrument_edges): Don't set need_func_profiler.
8030         (get_exec_counts): Avoid signed/unsigned warning.
8031         (compute_checksum): Use crc32.
8032         (branch_prob): Adjust. Chain onto functions_head.
8033         (init_branch_prob): Absorb init_edge_profiler.
8034         (init_edge_profiler): Remove.
8035         (create_profiler): Moved and renamed from final.c:end_final.
8036         Emit data and constructor.
8037         (output_func_start_profiler): Remove.
8038         * profile.h (struct profile_info): checksum is unsigned.
8039         * rtl.h (output_func_start_profiler): Remove prototype.
8040         (create_profiler): Declare.
8041         * toplev.c (compile_file): Call create_profiler, if instrumenting
8042         arcs. Don't call end_final.
8043
8044 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8045
8046         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
8047
8048 2002-09-08  Richard Henderson  <rth@redhat.com>
8049
8050         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
8051         (DW_OP_GNU_push_tls_address): New.
8052         (DW_OP_lo_user): Fix.
8053         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
8054         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
8055         (size_of_loc_descr): Likewise.
8056         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
8057         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
8058         (loc_descriptor_from_tree): Handle TLS variables.
8059         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
8060         (add_location_or_const_value_attribute): ... not here.  Defer
8061         to loc_descriptor_from_tree for TLS variables.
8062
8063         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
8064         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
8065         * config/i386/i386-protos.h: Update.
8066
8067 2002-09-08  Roger Sayle  <roger@eyesopen.com>
8068
8069         PR optimization/6405
8070         * unroll.c (loop_iterations): last_loop_insn should be the previous
8071         non-note instruction before loop->end.
8072         * loop.c (strength_reduce): The conditional jump is the last
8073         non-note instruction before loop->end (as above).
8074
8075 2002-09-08  Roger Sayle  <roger@eyesopen.com>
8076
8077         * combine.c (try_combine): Handle the case that undobuf.other_insn
8078         has been turned into a return or unconditional jump, by inserting
8079         a BARRIER if necessary.
8080         (simplify_set):  Test if a condition code setter has a constant
8081         comparison at compile time, if so convert this insn to a no-op move
8082         and update/simplify the condition code user (undobuf.other_insn).
8083
8084 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
8085
8086         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
8087         (CLEAR_INSN_CACHE): Define.
8088
8089 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8090
8091         * basic-block.h: Fix comment formatting.
8092         * c-common.c: Likewise.
8093         * c-common.h: Likewise.
8094         * c-lex.c: Likewise.
8095         * c-pretty-print.c: Likewise.
8096         * cfglayout.c: Likewise.
8097         * cfgloop.c: Likewise.
8098         * defaults.h: Likewise.
8099         * et-forest.c: Likewise.
8100         * explow.c: Likewise.
8101         * function.h: Likewise.
8102         * gcov.c: Likewise.
8103         * genattrtab.c: Likewise.
8104         * gengtype.c: Likewise.
8105         * ifcvt.c: Likewise.
8106         * libgcc2.c: Likewise.
8107         * loop.c: Likewise.
8108         * profile.c: Likewise.
8109         * ra-build.c: Likewise.
8110         * real.c: Likewise.
8111         * rtl.h: Likewise.
8112         * tracer.c: Likewise.
8113         * tree-inline.c: Likewise.
8114         * varasm.c: Likewise.
8115
8116 2002-09-08  Jan Hubicka  <jh@suse.cz>
8117
8118         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
8119         handling.
8120
8121         * loop.c (loop_givs_reduce):  Emit addition after.
8122
8123 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8124
8125         * varasm.c (default_assemble_visibility): Rename from
8126         assemble_visibility.
8127         * output.h: Here too.
8128         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
8129         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
8130
8131 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8132
8133         * reload.c (find_reloads <p constraint>): Pass operand_mode to
8134         find_reloads_address.
8135
8136 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8137
8138         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
8139         (anonymous pattern): Likewise.
8140
8141 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8142
8143         * machmode.def: Add modes for half-float vectors.
8144
8145 2002-09-07  Scott Snyder  <snyder@fnal.gov>
8146
8147         PR target/7374
8148         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
8149
8150 2002-09-07  Roger Sayle  <roger@eyesopen.com>
8151
8152         * basic-block.h (struct loop): Remove unused cont_dominator field.
8153
8154 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8155
8156         * varasm.c (decode_rtx_const): Don't check undefined field for
8157         CONST_VECTOR.
8158
8159 2002-09-07  Glen Nakamura  <glen@imodulo.com>
8160
8161         PR opt/7814
8162         * sched-deps.c (sched_analyze_insn): Make sure to add insn
8163         to reg_last->sets after flushing the dependency lists to guarantee
8164         that subsequent clobbers will be dependent on it.
8165
8166 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8167
8168         * combine.c (simplify_shift_const): Calculate rotate count
8169         correctly for vector operands.
8170
8171 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
8172
8173         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
8174         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
8175         tree_expr_nonnegative_p.
8176         (build_conditional_expr): Likewise.
8177         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
8178
8179 2002-09-07  Richard Henderson  <rth@redhat.com>
8180
8181         * builtins.def (inf, inff, infl): Mark const.
8182         (huge_val, huge_valf, huge_vall): Likewise.
8183         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
8184
8185         * real.c (ereal_inf): Clear E before use.
8186
8187 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8188
8189         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
8190         an expander and an anonymous pattern.  Zero out the upper half
8191         of the dividend in the expander.
8192         (udivmodqi4): Likewise.
8193
8194 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8195
8196         * config/h8300/h8300.c: Fix formatting.
8197         * config/h8300/h8300.h: Likewise.
8198         * config/h8300/h8300.md: Likewise.
8199
8200 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8201
8202         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
8203         information.
8204
8205 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
8206
8207        * rtlanal.c (dead_or_set_regno_p): Fix typo.
8208
8209 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
8210
8211         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8212
8213         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
8214         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8215         (TARGET_ASM_OUT): Add the above here.
8216         * target.h (struct gcc_target): Add "visibility" field.
8217         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
8218         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
8219         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8220         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
8221
8222 2002-09-06  Ziemowit Laski <zlaski@apple.com>
8223
8224         * c-lang.c (objc_is_id): New stub.
8225         * c-tree.h (objc_is_id): New forward declaration.
8226         * c-typeck.c (build_c_cast): Do not strip protocol
8227         qualifiers from 'id' type.
8228         * objc/objc-act.c (objc_comptypes): Correct handling
8229         of protocol qualifiers.
8230         (objc_is_id): New.
8231
8232 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
8233
8234         * pentium.md (pentium-firstvboth): Fix typo.
8235
8236 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
8237
8238         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
8239         (enum shift_type, enum h8_cpu): Likewise.
8240         (INL, ROT, LOP, SPC macros): Likewise.
8241         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
8242         const designator.
8243         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
8244         space efficient algorithms when optimize for codesize.
8245
8246 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8247
8248         Fix PR/1727 and long-standing failing testcase
8249         objc/formal-protocol-6.m.
8250         * objc-act.c (build_protocol_expr): If compiling for the GNU
8251         runtime, create a list of Protocol statically allocated instances
8252         if it doesn't exist, then add the Protocol object to this same
8253         list.
8254         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
8255         instead of TREE_CHAIN.
8256
8257 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8258
8259         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
8260         10k.  Fixed category dumping - print out category names with the
8261         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
8262         interface.
8263         (finish_objc): Fixed the -gen-decls option.  It was printing out
8264         only the last class.  Dump an interface declaration of all classes
8265         being compiled instead.
8266
8267 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
8268
8269         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
8270         prototype.
8271         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
8272         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
8273         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
8274         rather than GEN_INT.
8275         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
8276         (return_addr_mask, *check_arch2): New.
8277
8278 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
8279
8280         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
8281         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
8282         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
8283         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
8284         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
8285         "adddf3", "*adddf3", "*adddf3_ibm",
8286         "addsf3", "*addsf3", "*addsf3_ibm",
8287         "muldi3", "mulsi3", "mulsidi3",
8288         "muldf3", "*muldf3", "*muldf3_ibm",
8289         "mulsf3", "*mulsf3", "*mulsf3_ibm",
8290         "*anddi3_cc", "*anddi3_cconly", "anddi3",
8291         "*andsi3_cc", "*andsi3_cconly", "andsi3",
8292         "*iordi3_cc", "*iordi3_cconly", "iordi3",
8293         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
8294         "*xordi3_cc", "*xordi3_cconly", "xordi3",
8295         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
8296         instead of "register_operand" as predicate for "%0" operand.
8297
8298 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
8299
8300         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
8301         unconditionally when gcc_cv_as_flags64 checks are gone.
8302         * configure: Rebuilt.
8303
8304 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
8305
8306         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
8307         2002-07-26 change.  Comment.
8308
8309 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8310
8311         * frv.c (frv_unique_section, frv_select_section,
8312         frv_select_rtx_section): Delete.
8313         (frv_in_small_data_p): New.
8314         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
8315         TARGET_ASM_SELECT_RTX_SECTION): Delete.
8316         (TARGET_IN_SMALL_DATA_P): Define.
8317
8318 2002-09-05  Dale Johannesen  <dalej@apple.com>
8319
8320         * reload1.c (reload):  Retain only those memory clobbers
8321         added for variable-array handling.
8322
8323 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8324
8325         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
8326         return-in-memory rules.
8327         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
8328
8329 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8330
8331         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
8332         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
8333
8334 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8335
8336         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
8337         not a compile-time constant for the non-IBM case.
8338         * config/arm/arm-protos.h (arm_float_words_big_endian): New
8339         prototype.
8340         * config/arm/arm.c (arm_float_words_big_endian): New function.
8341         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
8342         if TARGET_VFP  and not TARGET_HARD_FLOAT.
8343         (ARM_FLAG_VFP, TARGET_VFP): Define.
8344         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
8345
8346 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8347
8348         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
8349         URLs.  Fix AIX wording.
8350
8351 2002-09-05  Stan Shebs  <shebs@apple.com>
8352
8353         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
8354         -fPIC equivalent on Darwin.
8355
8356 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8357
8358         * sh.c (sh_expand_builtin): Return early if encountering an
8359         error_mark for a type.
8360
8361 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
8362
8363         * config/s390/s390.c (s390_expand_plus_operand): Do not require
8364         double-word scratch register.
8365         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
8366
8367         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
8368         "*cli"): Replace s_operand by memory_operand.
8369         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
8370
8371 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8372
8373         * config/h8300/h8300.c (asm_file_start): Add a missing
8374         semicolon.
8375
8376 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8377
8378         * c-typeck.c (build_function_call): Remove unused variable(s).
8379         (build_c_cast): Likewise.
8380         * calls.c (rtx_for_function_call): Likewise.
8381         * cfglayout.c (duplicate_insn_chain): Likewise.
8382         * cfgloop.c (flow_loop_nodes_find): Likewise.
8383         * cfgrtl.c (split_edge): Likewise.
8384         * df.c (df_ref_create): Likewise.
8385         * except.c (expand_end_catch): Likewise.
8386         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
8387         * function.c (emit_return_into_block): Likewise.
8388         (reposition_prologue_and_epilogue_notes): Likewise.
8389         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
8390         * combine.c (subst_prev_insn, need_refresh): Remove.
8391         * dwarf2out.c (primary_filename): Remove.
8392         * final.c (new_block): Remove.
8393         * gcse.c (orig_bb_count): Remove.
8394
8395 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8396
8397         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
8398         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
8399         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
8400         directly instead of using a function pointer.
8401
8402 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
8403
8404         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
8405         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
8406         (ix86_output_addr_diff_elt) Likewise.
8407         (x86_output_mi_thunk) Likewise.
8408         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
8409
8410 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8411
8412         * frv.c (frv_encode_section_info): Fix error in last change.
8413
8414 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8415
8416         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
8417         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
8418         (TARGET_BINDS_LOCAL_P): Define.
8419         (rs6000_override_options): Save original flag_pic value.
8420         (rs6000_elf_select_section): Call default_elf_select_section_1.
8421         (rs6000_elf_unique_section): Call default_unique_section_1.
8422         (rs6000_elf_in_small_data_p): New function.
8423         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
8424         (rs6000_xcoff_select_section): Update based on defaults.
8425         (rs6000_xcoff_unique_section): Set to basic name if not common.
8426         (rs6000_binds_local_p): New function.
8427         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8428         targetm.have_srodata_section if SDATA_EABI.
8429         (TARGET_IN_SMALL_DATA_P): Define.
8430
8431 2002-09-04  Dale Johannesen  <dalej@apple.com>
8432
8433         * varasm.c (struct rtx_const, decode_rtx_const):
8434         Make veclo and vechi fields not share storage.
8435
8436 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8437
8438         * loop.c (scan_loop): Don't mark separate insns out of a libcall
8439         for moving.
8440         (move_movables): Abort if we see the first insn of a libcall.
8441
8442 2002-09-04  Richard Henderson  <rth@redhat.com>
8443
8444         * builtin-types.def (BT_FN_FLOAT): New.
8445         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
8446         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
8447         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
8448         * builtins.c (fold_builtin_inf): New.
8449         (fold_builtin): Call it.
8450         * real.c (ereal_inf): New.
8451         * real.h: Declare it.
8452         * doc/extend.texi: Document new builtins.
8453
8454 2002-09-04  Richard Henderson  <rth@redhat.com>
8455
8456         * cse.c (cse_insn): Avoid subreg games if the equivalence
8457         is already in the proper mode.
8458
8459 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
8460
8461         PR c/7102
8462         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
8463
8464 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8465
8466         * pa.md (setccfp0, setccfp1): New patterns.
8467
8468 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8469
8470         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
8471         frv_select_section, frv_select_rtx_section,
8472         frv_encode_section_info, frv_unique_section): Delete.
8473         * frv.c: Update for target hooks.
8474         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
8475         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
8476         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
8477
8478 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8479
8480         * ip2k-protos.h (function_prologue, function_epilogue,
8481         encode_section_info): Update to match target hook specification.
8482         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
8483         (function_prologue, function_epilogue, encode_section_info):
8484         Update to match target hook specification.
8485         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
8486         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
8487         (NOTICE_UPDATE_CC): Cast to void.
8488         * ip2k.md: Add defaults in switch statements.
8489
8490 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8491
8492         * doc/trouble.texi (Interoperation): Update information about C++ ABI
8493         issues.
8494
8495 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
8496
8497         * config/sparc/t-netbsd64: Disable multilib for now.
8498
8499 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8500
8501         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
8502         * target.h (gcc_target): Add have_srodata_section member.
8503         * varasm.c (section_category): Add SECCAT_SRODATA.
8504         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
8505         READONLY_SDATA_SECTION defined.
8506         (decl_readonly_section_1): True for SECCAT_SRODATA also.
8507         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
8508         (default_unique_section_1): Likewise.
8509
8510 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8511
8512         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8513         into DImode pieces.
8514
8515         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8516         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8517         for floating-point register class.
8518         * pa.c (function_arg): Fix handling of modes wider than one word for
8519         TARGET_64BIT.
8520
8521 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8522
8523         * combine.c (make_compound_operation): Don't generate zero / sign
8524         extensions in floating point modes.
8525
8526 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8527
8528         * doc/c-tree.texi: Fix overfull hboxes.
8529         * doc/cppopts.texi: Ditto.
8530         * doc/extend.texi: Ditto.
8531         * doc/gty.texi: Ditto.
8532         * doc/invoke.texi: Ditto.
8533         * doc/makefile.texi: Ditto.
8534         * doc/rtl.texi: Ditto.
8535         * doc/standards.texi: Ditto.
8536         * doc/tm.texi: Ditto.
8537
8538 2002-09-04  Richard Henderson  <rth@redhat.com>
8539
8540         * c-common.c (builtin_define_with_hex_fp_value): New.
8541         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8542
8543 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8544
8545         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8546         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8547         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8548         Warn that these options can break ABI compatibility.
8549
8550 2002-09-04  Richard Henderson  <rth@redhat.com>
8551
8552         * real.c (ereal_to_decimal): Add digits parameter.
8553         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8554         * c-pretty-print.c (pp_c_real_literal): Update call.
8555         * print-rtl.c (print_rtx): Likewise.
8556         * print-tree.c (print_node_brief, print_node): Likewise.
8557         * sched-vis.c (print_value): Likewise.
8558         * config/arc/arc.c (arc_print_operand): Likewise.
8559         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8560         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8561         * config/i386/i386.c (print_operand): Likewise.
8562         * config/i960/i960.c (i960_print_operand): Likewise.
8563         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8564         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8565         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8566         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8567         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8568         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8569         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8570         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8571         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8572         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8573         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8574         * config/mips/mips.c (print_operand): Likewise.
8575         * config/ns32k/ns32k.c (print_operand): Likewise.
8576         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8577         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8578         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8579
8580 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8581
8582         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8583         xtensa_multibss_section_type_flags.
8584         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8585
8586 2002-09-04  Richard Henderson  <rth@redhat.com>
8587
8588         * doc/install-old.texi: Don't mention enquire.
8589         * doc/sourcebuild.texi: Update float.h description.
8590
8591 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8592
8593         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8594
8595 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8596
8597         * builtins.c (build_function_call_expr): Remove prototype, export
8598         as non-static and add a comment above function definition.
8599         (builtin_mathfn_code): New function to check for math builtins.
8600         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8601         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8602         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8603         log(sqrt(x)) as log(x)/2.0.
8604
8605         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8606         in new "builtins.c" section.  Place the build_range_type prototype
8607         with the other prototypes from "tree.c".
8608
8609         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8610         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8611         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8612         x/exp(y) as x*exp(-y).
8613
8614 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8615
8616         * varasm.c (default_section_type_flags): Append _1 to name with
8617         shlib parameter.  Use original name to call new function with
8618         implicit flag_pic.
8619         (decl_readonly_section): Likewise.
8620         (default_elf_select_section): Likewise.
8621         (default_unique_section): Likewise.
8622         (default_bind_local_p): Likewise.
8623         (categorize_decl_for_section): Add shlib parameter to use in place
8624         of implicit flag_pic.
8625         * output.h: Declare new functions with _1 and shlib argument.
8626
8627 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8628
8629         * doc/install.texi: Fix typos, formatting problems, and obvious
8630         overfull/underfull boxes.
8631
8632         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8633         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8634         include its file, compat.texi.
8635         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8636
8637 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8638
8639         Debian BTS Bug #157416
8640         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8641         * cpplib.c (destringize_and_run): Kludge around getting
8642         tokens from in-progress macros.
8643         (_cpp_do__Pragma): Simplify.
8644
8645 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8646
8647         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8648         (CPP_CPU_SPEC): Remove.
8649         (TARGET_CPU_CPP_BUILTINS): New.
8650         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8651         (CPP_SPEC): Remove.
8652         (TARGET_OS_CPP_BUILTINS): New.
8653         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8654         (TARGET_OS_CPP_BUILTINS): New.
8655         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8656         TARGET_OS_CPP_BUILTINS.
8657         (CPP_PREDEFINES): Remove.
8658         (CPLUSPLUS_CPP_SPEC): Remove.
8659         (TARGET_OS_CPP_BUILTINS): New.
8660
8661 2002-09-03  Richard Henderson  <rth@redhat.com>
8662
8663         * Makefile.in (USER_H): Add ginclude/float.h.
8664         (FLOAT_H): Remove.
8665         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8666         (mostlyclean): Don't remove float.h intermediate files.
8667         (distclean): Don't remove float.h.
8668         * config.gcc: Remove all float_format references.
8669         * configure.in (float_format, float_h_file): Remove.
8670
8671         * c-common.c: Include tree-inline.h.
8672         (builtin_define_with_int_value): New.
8673         (builtin_define_type_precision): Use it.
8674         (builtin_define_float_constants): New.
8675         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8676         __FLT_EVAL_METHOD__.
8677         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8678         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8679         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8680         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8681         (TARGET_FLT_EVAL_METHOD): New.
8682
8683         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8684         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8685         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8686         * ginclude/float.h: New.
8687
8688 2002-09-03  Stan Shebs  <shebs@apple.com>
8689
8690         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8691         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8692         (PREFERRED_DEBUGGING_TYPE): Ditto.
8693         (ASM_OUTPUT_IDENT): Remove empty definition.
8694
8695 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8696
8697         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8698         cxx_target.
8699         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8700         handling routine for builtin pragma.
8701         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8702         Registered pragma handling routine.
8703         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8704         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8705         If builtin pragma seen for math routine and C89 conformance is
8706         requested use different math function in order to set errno.
8707         * t-ia64 (ia64-c.o): Add new rule for new file.
8708
8709 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8710
8711         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8712         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8713         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8714
8715         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8716         "*movsf_ss"): Remove.
8717
8718 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8719
8720         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8721         Delete macros.
8722
8723 2002-09-03   Arati Dikey  <aratid@kpit.com>
8724
8725         * h8300.c (asm_file_start): Corrected optimization comment.
8726
8727 2002-09-03  Stan Shebs  <shebs@apple.com>
8728
8729         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8730         * c-tree.h (recognize_objc_keyword): Remove decl.
8731         * c-typeck.c (comp_target_types): Update a comment.
8732
8733 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8734
8735         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8736         and register validity checks.
8737         (general_s_operand): Adapt to s390_decompose_address interface change.
8738         (q_constraint): Likewise.
8739         (s390_expand_plus_operand): Likewise.
8740         (legitimiate_address_p): Likewise.
8741         (legitimate_la_operand_p): Likewise.
8742         (legitimize_la_operand): Likewise.
8743         (print_operand_address): Likewise.
8744         (print_operand): Likewise.
8745
8746 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8747
8748         PR objc/5956:
8749         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8750         was causing the new selector never to match the existing ones
8751         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8752
8753 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8754
8755         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8756
8757 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8758
8759         * expr.c (expand_expr): Remove extraneous comment and code.
8760
8761 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8762
8763         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8764         frontend. Take chain of fields. Allow NULL alignment type.
8765         * tree.h (finish_builtin_struct): Declare.
8766
8767 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8768
8769         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8770         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8771         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8772         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8773         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8774         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8775         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8776         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8777         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8778         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8779         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8780         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8781         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8782         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8783         config/rs6000/linux64.h config/rs6000/lynx.h
8784         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
8785         config/s390/s390.c config/s390/s390.md config/sh/sh.c
8786         config/sparc/sparc.c config/sparc/sysv4.h
8787         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
8788         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
8789         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
8790
8791         * doc/tm.texi: Update docs.
8792         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
8793         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
8794
8795 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8796
8797         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
8798         * arc.c (arc_internal_label): New function.
8799         (TARGET_ASM_INTERNAL_LABEL): Set.
8800         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8801         * arm.c (arm_internal_label): New function.
8802         (TARGET_ASM_INTERNAL_LABEL): Set.
8803         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8804         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8805         * i370.c (i370_internal_label): New function.
8806         (TARGET_ASM_INTERNAL_LABEL): Set.
8807         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8808         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8809         * m68k.c (m68k_hp320_internal_label): New function.
8810         (TARGET_ASM_INTERNAL_LABEL): Set.
8811         * m88k.c (m88k_internal_label): New function.
8812         (TARGET_ASM_INTERNAL_LABEL): Set.
8813         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8814         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
8815         * genoutput.c (output_prologue): Include target.h in output file.
8816         * output.h (default_internal_label): Declare.
8817         * sdbout.c: Include target.h.
8818         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
8819         TARGET_ASM_OUT.
8820         * target.h (internal_label): Add to struct gcc_target.
8821         * varasm.c (default_internal_label): New function.
8822
8823 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8824
8825         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8826         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8827         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8828         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8829         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8830         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8831         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8832         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8833         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8834         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8835         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8836         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8837         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8838         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8839         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8840         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8841         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8842         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8843         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8844         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8845         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8846         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8847         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8848         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8849         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8850         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
8851         * mmix.c (mmix_asm_output_internal_label): Likewise.
8852         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8853         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8854         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8855         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8856         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8857         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8858         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8859         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8860         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8861         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8862         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8863         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8864         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8865         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8866         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8867         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8868         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8869         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8870         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8871
8872         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
8873
8874 2002-08-31  Richard Henderson  <rth@redhat.com>
8875
8876         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
8877
8878 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8879
8880         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
8881
8882 2002-08-30  Richard Henderson  <rth@redhat.com>
8883
8884         PR opt/7515
8885         * c-objc-common.c: Include target.h.
8886         (c_cannot_inline_tree_fn): Don't auto-inline functions that
8887         don't bind locally.  Factor setting DECL_UNINLINABLE.
8888         * Makefile.in (c-objc-common.o): Update.
8889
8890 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
8891
8892         * doc/install.texi (Configuration, Building): Fix a typo and
8893         some formatting directives.
8894
8895 2002-08-30  Paul Koning <pkoning@equallogic.com>
8896
8897         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
8898         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
8899         implemented" note.
8900         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
8901         for alphabetic order.
8902         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
8903         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
8904         (VAX_HALFWORD_ORDER): Document.
8905         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
8906         IEEE float format.
8907         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
8908         (ASM_OUTPUT_LABEL_REF): Fix font.
8909         (CASE_VECTOR_SHORTEN_MODE): Ditto.
8910
8911 2002-08-30  Denis Chertykov  <denisc@overta.ru>
8912
8913         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
8914         stuff.
8915         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
8916         CONST_DOUBLE constants.
8917
8918 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
8919
8920         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
8921         related defines to...
8922         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
8923         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
8924         as a no-op.
8925
8926 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
8927
8928         * config/arm/arm.c (arm_asm_output_labelref): New function.
8929         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
8930         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
8931
8932 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
8933
8934         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
8935         memory exhausted" workarounds.
8936
8937 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8938
8939         * diagnostic.c (fancy_abort): Don't repeat "internal error".
8940         * toplev.c (crash_signal): Likewise.
8941
8942 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8943
8944         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
8945         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
8946         Extended, updated documentation.
8947         (-Wundeclared-selector): Documented.
8948
8949 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
8950
8951         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
8952         the value 1.  Do not undef before defining.
8953         * config/darwin.h: Likewise.
8954         * config/dbx.h: Likewise.
8955         * config/dbxcoff.h: Likewise.
8956         * config/dbxelf.h: Likewise.
8957         * config/elfos.h: Likewise.
8958         * config/interix.h: Likewise.
8959         * config/lynx-ng.h: Likewise.
8960         * config/lynx.h: Likewise.
8961         * config/netware.h: Likewise.
8962         * config/psos.h: Likewise.
8963         * config/svr3.h: Likewise.
8964         * config/alpha/alpha.h: Likewise.
8965         * config/alpha/elf.h: Likewise.
8966         * config/alpha/vms.h: Likewise.
8967         * config/arc/arc.h: Likewise.
8968         * config/arm/aout.h: Likewise.
8969         * config/arm/coff.h: Likewise.
8970         * config/c4x/c4x.h: Likewise.
8971         * config/h8300/h8300.h: Likewise.
8972         * config/i386/cygwin.h: Likewise.
8973         * config/i386/djgpp.h: Likewise.
8974         * config/i386/gas.h: Likewise.
8975         * config/i386/gstabs.h: Likewise.
8976         * config/i386/i386-coff.h: Likewise.
8977         * config/i386/i386-interix.h: Likewise.
8978         * config/i386/sco5.h: Likewise.
8979         * config/i386/svr3dbx.h: Likewise.
8980         * config/i386/sysv3.h: Likewise.
8981         * config/i386/win32.h: Likewise.
8982         * config/i386/x86-64.h: Likewise.
8983         * config/i960/i960.h: Likewise.
8984         * config/ia64/ia64.h: Likewise.
8985         * config/ip2k/ip2k.h: Likewise.
8986         * config/m32r/m32r.h: Likewise.
8987         * config/m68k/3b1.h: Likewise.
8988         * config/m68k/3b1g.h: Likewise.
8989         * config/m68k/ccur-GAS.h: Likewise.
8990         * config/m68k/coff.h: Likewise.
8991         * config/m68k/hp2bsd.h: Likewise.
8992         * config/m68k/hp310g.h: Likewise.
8993         * config/m68k/hp320g.h: Likewise.
8994         * config/m68k/hp3bsd.h: Likewise.
8995         * config/m68k/hp3bsd44.h: Likewise.
8996         * config/m68k/linux-aout.h: Likewise.
8997         * config/m68k/m68k-aout.h: Likewise.
8998         * config/m68k/mot3300.h: Likewise.
8999         * config/m68k/netbsd.h: Likewise.
9000         * config/m68k/openbsd.h: Likewise.
9001         * config/m68k/pbb.h: Likewise.
9002         * config/m68k/plexus.h: Likewise.
9003         * config/m68k/sun2.h: Likewise.
9004         * config/m68k/sun3.h: Likewise.
9005         * config/m68k/tower-as.h: Likewise.
9006         * config/m68k/vxm68k.h: Likewise.
9007         * config/m88k/aout-dbx.h: Likewise.
9008         * config/m88k/m88k-aout.h: Likewise.
9009         * config/mcore/mcore-elf.h: Likewise.
9010         * config/mcore/mcore-pe.h: Likewise.
9011         * config/mips/elf.h: Likewise.
9012         * config/mips/elf64.h: Likewise.
9013         * config/mips/iris5gas.h: Likewise.
9014         * config/mips/iris6.h: Likewise.
9015         * config/mips/mips.h: Likewise.
9016         * config/mips/sni-gas.h: Likewise.
9017         * config/mmix/mmix.h: Likewise.
9018         * config/ns32k/netbsd.h: Likewise.
9019         * config/pa/pa64-hpux.h: Likewise.
9020         * config/romp/romp.h: Likewise.
9021         * config/rs6000/sysv4.h: Likewise.
9022         * config/rs6000/xcoff.h: Likewise.
9023         * config/sh/coff.h: Likewise.
9024         * config/sh/elf.h: Likewise.
9025         * config/sparc/linux64.h: Likewise.
9026         * config/sparc/liteelf.h: Likewise.
9027         * config/sparc/netbsd.h: Likewise.
9028         * config/sparc/openbsd.h: Likewise.
9029         * config/sparc/pbd.h: Likewise.
9030         * config/sparc/sp64-elf.h: Likewise.
9031         * config/sparc/sp86x-elf.h: Likewise.
9032         * config/sparc/sparc.h: Likewise.
9033         * config/vax/vax.h: Likewise.
9034         * config/vax/vaxv.h: Likewise.
9035
9036 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
9037
9038         * h8300.c (shift_alg_hi): Various tweaks to improve performance
9039         of HImode shifts.
9040         (get_shift_alg): Corresponding changes.
9041
9042 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9043
9044         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
9045
9046 2002-08-29  Richard Henderson  <rth@redhat.com>
9047
9048         * expr.h (enum block_op_methods): New.
9049         (emit_block_move): Update prototype.
9050         * expr.c (block_move_libcall_safe_for_call_parm): New.
9051         (emit_block_move_via_loop): New.
9052         (emit_block_move): Use them.  New argument METHOD.
9053         (emit_push_insn): Always respect the given alignment.
9054         (expand_assignment): Update call to emit_block_move.
9055         (store_expr, store_field, expand_expr): Likewise.
9056         * builtins.c (expand_builtin_apply): Likewise.
9057         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
9058         * function.c (expand_function_end): Likewise.
9059         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
9060         * config/sparc/sparc.c (sparc_va_arg): Likewise.
9061         * calls.c (expand_call, emit_library_call_value_1): Likewise.
9062         (save_fixed_argument_area): Use emit_block_move with
9063         BLOCK_OP_CALL_PARM instead of move_by_pieces.
9064         (restore_fixed_argument_area): Likewise.
9065         (store_one_arg): Fix alignment parameter to emit_push_insn.
9066
9067 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9068
9069         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
9070
9071 2002-08-29  Catherine Moore  <clm@redhat.com>
9072
9073         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
9074         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
9075         (PREDICATE_CODES): Include new predicates.
9076         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
9077         (TARGET_SWITCHES):  Add strict-align.
9078         (TARGET_STRICT_ALIGN): New.
9079         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
9080         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9081         Define.
9082         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
9083         v850_muldi3.
9084         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
9085         L_callt_save_r2_r31, L_return_r2_r31,
9086         L_save_all_interrupt): Change addi to add.
9087         (L_save_interrupt, L_return_interrupt): Rework.
9088         (__return_r31):  Correct .size directive.
9089         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
9090         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
9091         New routines.
9092         * config/v850/v850.c (expand_prologue): Call
9093         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
9094         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
9095         (reg_or_int9_operand): New predicate.
9096         (reg_or_const_operand): New routine.
9097         * config/v850/v850.md (return_interrupt): Changed from
9098         restore_interrupt.
9099         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
9100         (callt_save_interrupt): Change save sequence.
9101         (callt_return_interrupt): New.
9102         (save_interrupt): Don't use runtime function for LONG_CALLS
9103         and TARGET_PROLOG_FUNCTION.
9104         (save_all_interrupt): Likewise.
9105         (mulsi3): Use new predicate.
9106         (moviscc): Disallow some combination of constants.
9107         Fix define_split for sasf insns, so that it will not generate bad
9108         code if operand0 and operand5 are the same.
9109         * config/v850/v850-protos.h: Prototype new predicates.
9110
9111 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
9112
9113         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
9114         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
9115
9116 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9117
9118         * c-common.c (builtin_define_type_precision): New function.
9119         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
9120         wchar_t is unsigned in C++.
9121         * doc/cpp.texi (Common Predefined Macros): Document
9122         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
9123         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9124         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9125
9126 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
9127
9128         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
9129         section.  Mention that it is enabled by -Wall.
9130         (-Wall): Mention that there can be language-specific warnings as well.
9131         (-Wctor-dtor-privacy): Mention that it is enabled by default.
9132         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
9133
9134 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
9135
9136         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
9137         if it is ever live.
9138
9139         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
9140         attribute for SHCOMPACT.
9141
9142         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
9143         appropriately.
9144         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
9145         by the ABI.
9146
9147         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
9148
9149 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
9150
9151         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
9152         "MASK_GAS|MASK_ABICALLS".
9153         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
9154         (TARGET_DEFAULT): Remove.
9155         (MACHINE_TYPE): Undefine before defining.
9156         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
9157
9158 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
9159
9160         * c-common.c (warn_abi): New variable.
9161         * c-common.h (warn_abi): Likewise.
9162         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
9163         (c_common_decode_option): Handle it.
9164         * doc/invoke.texi: Document -Wabi.
9165
9166 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9167
9168         * c-common.c (warn_undeclared_selector): New variable.
9169         * c-common.h (warn_undeclared_selector): Idem.
9170         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
9171         to on when -Wundeclared-selector is found.
9172         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
9173         * objc/objc-act.c (build_selector_expr): If
9174         warn_undeclared_selector is set, check that the selector has
9175         already been defined, and emit a warning if not.
9176
9177 2002-08-27  Nick Clifton  <nickc@redhat.com>
9178             Catherine Moore  <clm@redhat.com>
9179             Jim Wilson  <wilson@cygnus.com>
9180
9181         * config.gcc: Add v850e-*-* target.
9182         Add --with-cpu= support for v850.
9183         * config/v850/lib1funcs.asm: Add v850e callt functions.
9184         * config/v850/v850.h: Add support for v850e target.
9185         * config/v850/v850.c: Add functions to support v850e target.
9186         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
9187         * config/v850/v850.md: Add patterns for v850e instructions.
9188         * doc/invoke.texi: Document new v850e command line switches.
9189
9190 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
9191                           Aldy Hernandez <aldyh at redhat dot com>
9192
9193         * doc/tm.texi: Applied numerous fixes to the automaton based
9194         scheduler descrition.
9195
9196 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
9197
9198         * i386.c (classify_argument): Handle variable sized objects.
9199
9200 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
9201
9202         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
9203
9204 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
9205
9206         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
9207
9208 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
9209
9210         * i386.c (classify_argument): Properly compute word size of the analyzed object.
9211
9212 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
9213
9214         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
9215         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
9216         accordingly.
9217         (attribute insn_class): Provide default definitions based on type.
9218         Remove all insn-specific settings.
9219         (various function units): Remove old SH4 scheduling.
9220         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
9221         New attributes.  Set them where appropriate.
9222         (cpu unit FS): Don't define / use.
9223         (F3, load_store): New cpu units.
9224         (F01): New reservation.
9225         (all insn_reservations): Make dependent on sh4 pipeline model.
9226         Fix latencies.
9227         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
9228         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
9229         (mt insn_reservation): Use type mt_group.
9230         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
9231         sh4_fload and sh4_store.
9232         (insn_reservation branch_zero and branch): Replace with sh4_branch.
9233         (insn_reservation branch_far): Replace with sh4_return.
9234         (insn_reservation return_from_exp): Rename to:
9235         (sh4_return_from_exp).  Change to be just d_lock*5.
9236         (insn_reservation lds_to_pr): Rename to:
9237         (sh4_lds_to_pr).  Change to be just d_lock*2.
9238         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
9239         d_lock*2.
9240         (insn_reservation prload_mem): Rename to:
9241         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
9242         (insn_reservation fpscr_store): Rename to:
9243         (fpscr_load).  Change to d_lock,nothing,F1*3.
9244         (insn_reservation fpscr_store_mem): Rename to:
9245         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
9246         (insn_reservation multi): Change to
9247         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
9248         (insn_reservation fp_arith): Change to issue,F01,F2.
9249         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
9250         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
9251         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
9252         (insn_reservation fp_double_cmp): Change to
9253         d_lock,(d_lock+F01),F1+F2,F2.
9254         (insn_reservation dp_div): Change to
9255         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
9256         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
9257         (sh_adjust_cost, SHcompact): Differentiate between different
9258         kinds of dependencies.  Drop factor of ten for superscalar.
9259         Use new instruction types.  Add new exception rules.
9260
9261         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
9262
9263         * sh.md (mperm_w): Add DONE.
9264
9265 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
9266
9267         * longlong.h: Import current PowerPC defintion from GMP-4.1.
9268
9269         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
9270
9271         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
9272
9273 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
9274
9275         * sh.h (MAX_FIXED_MODE_SIZE): Define.
9276
9277 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
9278
9279         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
9280         delimiter.
9281
9282 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9283
9284         * c-common.c (cpp_define_data_format): New function.
9285         (cb_register_builtins): Call it.
9286
9287         * doc/cpp.texi (Common Predefined Macros): Document
9288         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9289         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9290         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
9291         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
9292         __TARGET_USES_VAX_H_FLOAT__.
9293
9294 2002-08-26  Ziemowit Laski <zlaski@apple.com>
9295
9296         * objc/objc-act.c (get_super_receiver): If inside a class method
9297         of a category, cast the receiver to 'id' before accessing the 'isa'
9298         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
9299
9300 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9301
9302         * config/s390/s390-protos.h (s390_function_prologue,
9303         s390_function_epilogue): Remove.
9304         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
9305         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
9306
9307         config/s390/s390.c (s390_machine_dependent_recorg): New function.
9308         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
9309         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
9310         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
9311         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
9312
9313         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
9314         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
9315         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
9316         function is not a leaf function.  Use save_gprs and restore_gprs.
9317         (s390_emit_epilogue): Likewise.
9318         (save_gprs, restore_gprs): New functions.
9319         (struct s390_frame): Remove return_reg_saved_p member.
9320         (save_fprs_p): Remove.
9321         (s390_optimize_prolog): New function.
9322         (s390_legitimate_reload_constant): Remove now unnecessary check.
9323
9324         (s390_function_count): Remove.
9325         (s390_output_symbolic_const): Replace s390_function_count by
9326         current_function_funcdef_no.
9327         (s390_output_constant_pool): Likewise.
9328
9329         (legitimize_pic_address): Use regs_ever_live to track PIC register
9330         instead of current_function_uses_pic_offset_table.
9331         (s390_emit_prologue): Likewise.
9332         config/s390/s390.md ("call", "call_value"): Likewise.
9333
9334 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
9335
9336         * c-opts.c (find_opt): Don't complain about wrong languages
9337         here.  Return exact matches even for wrong language.
9338         (c_common_decode_option): Complain about wrong languages
9339         here.
9340
9341 2002-08-24  Stuart Hastings  <stuart@apple.com>
9342
9343         * function.h (struct function): Add flag
9344         all_throwers_are_sibcalls.
9345         * except.c (set_nothrow_function_flags): Replaces
9346         nothrow_function_p. Set new flag.
9347         * except.h (set_nothrow_function_flags): Replaces
9348         nothrow_function_p.
9349         * dwarf2out.c (struct dw_fde_struct): Add flag
9350         all_throwers_are_sibcalls.
9351         (output_call_frame_info): Test it.
9352         (dwarf2out_begin_prologue) Propagate it from cfun to
9353         dw_fde_struct.
9354         * toplev.c (rest_of_compilation): Update calls to
9355         nothrow_function_p.
9356
9357 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
9358
9359         * ggc-page.c (compute_inverse): Short circuit calculation for
9360         object sizes larger than half a page.
9361
9362 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
9363
9364         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
9365         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
9366         default.
9367         (rs6000_elf_unique_section): Likewise.
9368
9369 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9370
9371         * ns32k.c (ns32k_globalize_label): Delete.
9372         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
9373
9374 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
9375
9376         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
9377         for loading delta with num_insns_constant_wide.  Calculate
9378         delta_low, delta_high without using a conditional.
9379
9380 2002-08-22  Jason Merrill  <jason@redhat.com>
9381
9382         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
9383         * c-common.def: Adjust.
9384         * c-dump.c (c_dump_tree): Adjust.
9385         * c-semantics.c (genrtl_return_stmt): Adjust.
9386         * c-pretty-print.c (pp_c_statement): Adjust.
9387         * tree-inline.c (copy_body_r): Adjust.
9388
9389 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
9390
9391         * ggc-page.c: Avoid division in ggc_set_mark.
9392         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
9393         compute_inverse): New.
9394         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
9395         (init_ggc): Initialize inverse_table.
9396
9397 2002-08-22  Tom Tromey  <tromey@redhat.com>
9398
9399         * doc/install.texi (Configuration): Document --datadir.
9400
9401 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
9402
9403         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
9404
9405 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
9406
9407         * gengtype-lex.l (ID): Allow underscore as first character.
9408
9409 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
9410
9411         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
9412         function.
9413         (rs6000_xcoff_asm_named_section): Rename.
9414         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9415
9416 2002-08-21  Tom Tromey  <tromey@redhat.com>
9417
9418         For PR java/6005 and PR java/7611:
9419         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
9420         (fold): Likewise.
9421         * langhooks.c (lhd_can_use_bit_fields_p): New function.
9422         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
9423         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
9424         (LANG_HOOKS_INITIALIZER): Use it.
9425         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
9426         field.
9427
9428 2002-08-21  Stan Shebs  <shebs@apple.com>
9429
9430         * tree.c (finish_vector_type): Fix a typo in a comment.
9431         * Makefile.in: Fix "the the" stutters in comments.
9432         * genautomata.c: Ditto.
9433         * ifcvt.c: Ditto.
9434         * regrename.c: Ditto.
9435         * config/alpha/alpha.c: Ditto.
9436         * config/alpha/vms-crt0-64.c: Ditto.
9437         * config/alpha/vms-crt0.c: Ditto.
9438         * config/alpha/vms-psxcrt0-64.c: Ditto.
9439         * config/alpha/vms-psxcrt0.c: Ditto.
9440         * config/d30v/d30v.h: Ditto.
9441         * config/fr30/fr30.h: Ditto.
9442         * config/rs6000/rs6000.c: Ditto.
9443         * config/stormy16/stormy16.h: Ditto.
9444         * doc/md.texi: Ditto.
9445
9446 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9447
9448         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
9449
9450 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
9451
9452         * c-decl.c (grokdeclarator): Make invalid combinations with long,
9453         short, signed or unsigned into hard errors.  Fixes PR c/4319.
9454         Also make duplicate modifiers such as "short short" into hard
9455         errors.
9456
9457 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
9458             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9459
9460         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
9461         to the actual end.  Add '@end table' and '@table @code'.
9462
9463 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
9464
9465         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
9466
9467         * unroll.c (biv_total_increment): Don't try to compute the total
9468         increment for FP BIVs.
9469
9470 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9471
9472         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
9473         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
9474         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9475         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
9476         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
9477         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
9478         (GLOBAL_ASM_OP): Define.
9479         * arm.c (aof_globalize_label): New function.
9480         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
9481         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9482         * c4x.c (c4x_globalize_label): New function.
9483         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
9484         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
9485         (GLOBAL_ASM_OP): Define.
9486         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9487         * darwin-protos.h (darwin_globalize_label): Declare.
9488         * darwin.c (darwin_globalize_label): New function.
9489         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
9490         (ASM_GLOBALIZE_LABEL): Delete.
9491         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
9492         * dsp16xx.c (asm_output_common): Use target hook.
9493         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9494         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
9495         (GLOBAL_ASM_OP): Define.
9496         * i370.c (i370_globalize_label): New function.
9497         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
9498         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
9499         * i386.c (ix86_asm_file_end): Use target hook.
9500         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
9501         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9502         * ia64.c (ia64_asm_output_external): Likewise.
9503         * ia64/sysv4.h: Update comment.
9504         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9505         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9506         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
9507         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9508         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
9509         * mmix-protos.h (mmix_asm_globalize_label): Delete.
9510         * mmix.c (mmix_asm_globalize_label): Likewise.
9511         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9512         (GLOBAL_ASM_OP): Define.
9513         * ns32k.c (ns32k_globalize_label): New function.
9514         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9515         (ASM_GLOBALIZE_LABEL): Delete.
9516         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9517         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9518         * pa.c (pa_globalize_label): New function.
9519         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9520         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9521         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9522         (GLOBAL_ASM_OP): Define.
9523         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9524         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9525         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9526         (GLOBAL_ASM_OP): Define.
9527         * v850.c (v850_output_aligned_bss): Use target hook.
9528         * vax.c (vms_globalize_label): New function.
9529         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9530         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9531         (GLOBAL_ASM_OP): Define.
9532         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9533         * doc/tm.texi: Update docs.
9534         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9535         target hook.
9536         * final.c (output_alternate_entry_point): Likewise.
9537         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9538         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9539         * output.h (assemble_global): Delete.
9540         (default_globalize_label): Declare.
9541         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9542         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9543         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9544         * target.h (gcc_target): Add globalize_label member.
9545         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9546         globalize_decl): Use target hook.
9547         (assemble_global): Delete.
9548         (default_globalize_label): New function.
9549
9550 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9551
9552         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9553
9554 2002-08-20  Devang Patel  <dpatel@apple.com>
9555         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9556
9557 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9558
9559         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9560         * arm.c (thumb_output_function_prologue): Likewise.
9561         * avr.c (print_operand): Likewise.
9562         * c4x.c (c4x_print_operand): Likewise.
9563         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9564         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9565         * cris.c (cris_target_asm_function_prologue,
9566         cris_asm_output_mi_thunk): Likewise.
9567         * h8300.c (print_operand): Likewise.
9568         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9569         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9570         * m68hc11.c (asm_print_register, print_operand,
9571         print_operand_address): Use stdio instead of asm_fprintf.
9572         (print_operand_address): Fix format specifier.
9573         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9574         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9575         asm_fprintf.
9576         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9577         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9578         * m68k.c (m68k_output_function_prologue,
9579         m68k_output_function_epilogue, print_operand): Likewise.
9580         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9581         Likewise.  Fix format specifier.
9582         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9583         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9584         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9585
9586 2002-08-15  Eric Christopher  <echristo@redhat.com>
9587             Jeff Knaggs  <jknaggs@redhat.com>
9588
9589         * config.gcc (mipsisa64sr71k-elf): New target.
9590         * config/mips/sr71k.md: New file.
9591         * config/mips/mips.md: Use it.
9592         (rot*): Add sr71k specifics.
9593         * config/mips/t-sr71k: New file.
9594         * config/mips/mips.h (sr71k): New cpu.
9595         (TARGET_SR71K): Use it.
9596         (TUNE_SR71K): Ditto.
9597         (GENERATE_BRANCHLIKELY): Ditto.
9598         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9599         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9600         * config/mips/mips.c (sr71k): New cpu.
9601         (mips_use_dfa_pipeline_interface): Use.
9602
9603 2002-08-15  Eric Christopher  <echristo@redhat.com>
9604             Richard Sandiford <rsandifo@redhat.com>
9605             Aldy Hernandez  <aldyh@redhat.com>
9606             Graham Stott    <grahams@redhat.com>
9607             Michael Meissner  <meissner@redhat.com>
9608             Gavin Romig-Koch  <gavin@redhat.com>
9609             Ken Raeburn  <raeburn@cygnus.com>
9610             Alexandre Oliva <aoliva@redhat.com>
9611
9612         * config.gcc (mips64vr-elf): New target.
9613         * config/mips/5400.md: New file.
9614         * config/mips/5500.md: Ditto.
9615         * config/mips/mips.md: Use them.
9616         (frsqrt): New.
9617         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9618         cpus.
9619         (mips_issue_rate): Use them.
9620         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9621         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9622         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9623         cpus.
9624         (TARGET_MIPSx): Use them.
9625         (TUNE_MIPSx): Ditto.
9626         (GETNATE_MULT3_SI): Ditto.
9627         (ISA_HAS_BRANCHLIKELY): Ditto.
9628         (ISA_HAS_CONDMOVE): Ditto.
9629         (ISA_HAS_NMADD_NMSUB): Ditto.
9630         (ISA_HAS_MULHI): New. Ditto.
9631         (ISA_HAS_MULS): Ditto.
9632         (ISA_HAS_MSAC): Ditto.
9633         (ISA_HAS_MACC): Ditto.
9634         (ISA_HAS_ROTR_SI): Ditto.
9635         (ISA_HAS_ROTR_DI): Ditto.
9636         (RTX_COSTS): Use.
9637
9638 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9639
9640         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9641         at head.
9642         (remove_dup_nonsys_dirs): New function.
9643         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9644         (merge_include_chains): Remove non-system include directories from
9645         quote and bracket include chains when they duplicate equivalent system
9646         directories.
9647         * doc/cpp.texi (-I): Update.
9648         * doc/cppopts.texi (-I): Update.
9649         * doc/install.texi (--with-local-prefix): Further document usage of
9650         this option.
9651         * doc/invoke.texi (-I): Update.
9652
9653 2002-08-20  Richard Henderson  <rth@redhat.com>
9654
9655         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9656         (emit_block_move): Split out subroutines.
9657         (emit_block_move_via_movstr): New.
9658         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9659         (emit_block_move_libcall_fn): New.  Construct function prototype for
9660         bcopy as well.
9661         (clear_storage): Split out subroutines.
9662         (clear_storage_via_clrstr): New.
9663         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9664         (clear_storage_libcall_fn): New.  Construct function prototype for
9665         bzero as well.
9666         (emit_push_insn): Use emit_block_move.
9667         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9668         (store_constructor): Likewise.
9669
9670 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9671
9672         * objc/objc-act.c (building_objc_message_expr): Rename to
9673         current_objc_message_selector.
9674
9675 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9676
9677         * objc/objc-act.c (build_ivar_chain): Remove.
9678         (objc_copy_list): Likewise.
9679         (get_class_ivars): Inline call to removed build_ivar_chain
9680         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9681         slot; use that slot (rather than CLASS_IVARS) when accessing
9682         ivars for base classes.  Call copy_list and chainon instead of
9683         objc_copy_list.
9684         (build_private_template): Call get_class_ivars instead of
9685         build_ivar_chain.
9686         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9687         (continue_class): Call get_class_ivars instead of
9688         build_ivar_chain.
9689         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9690         of DECL_BIT_FIELD (which may have been cleared).
9691         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9692
9693 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9694
9695         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9696         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9697         in output file.
9698         (output_internal_min_issue_delay_func): Initialize variable in
9699         output file.
9700
9701 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9702
9703         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9704         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9705
9706 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9707             Steve Ellcey  <sje@cup.hp.com>
9708
9709         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9710         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9711         * explow.c (trunc_int_for_mode): Abort when the mode is not
9712         a scaler integer mode.
9713         * combine.c (expand_compound_operation): Don't expand Vector
9714         or Complex modes into shifts.
9715         (expand_field_assignment): Don't do bitwise arithmatic and
9716         shifts on Vector or Complex modes.
9717         (simplify_comparison): Don't call trunc_int_for_mode
9718         for VOIDmode.
9719         * recog.c (general_operand): Likewise.
9720         (immediate_operand): Likewise.
9721         (nonmemory_operand): Likewise.
9722
9723 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9724
9725         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9726         multi-instruction SImode constant.  Add REG_EQUAL note.
9727         * config/rs6000/rs6000.md (movsi splitter): Use
9728         rs6000_emit_set_const.
9729
9730 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9731
9732         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9733         the macro test controlling its use.
9734
9735 2002-08-18  H.J. Lu  (hjl@gnu.org)
9736
9737         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9738         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9739         gnu_ld=yes.
9740         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9741         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9742         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9743         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9744         here.
9745         (cris-*-linux*): Remove setting thread_file here.
9746
9747 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9748
9749         PR preprocessor/7602
9750         * cppinit.c (path_include): Treat the system environment
9751         variables as being cxx_aware.
9752
9753 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9754
9755         * c-decl.c (flexible_array_type_p): New function.
9756         (grokdeclarator, finish_struct): Use it.
9757         * doc/extend.texi: Document constraints on use of structures with
9758         flexible array members.
9759
9760 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9761
9762         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9763         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9764         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9765
9766 2002-08-16  Stan Shebs  <shebs@apple.com>
9767
9768         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9769         for ObjC with -fnext-runtime.
9770         * doc/cpp.texi: Document it.
9771
9772 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9773
9774         * doc/install.texi (Final installation): Replace links to individual
9775         build status pages with a link to a common page that lists them all.
9776
9777 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9778
9779         * doc/invoke.texi: Fix typo.
9780
9781 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9782
9783         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
9784
9785 2002-08-16  Andrew Haley  <aph@redhat.com>
9786
9787         * tree-inline.c: Add includes for Java inliner.
9788         (remap_decl): Don't handle anonymous types for Java.
9789         (remap_block): Add handling for Java trees.
9790         (copy_scope_stmt): Conditionalize for non-Java use only.
9791         (copy_body_r): Handle Java trees.  Add handling for
9792         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
9793         (initialize_inlined_parameters):  Handle Java trees.
9794         (declare_return_variable): Likewise.
9795         (expand_call_inline): Handle Java trees.
9796         (walk_tree): Likewise.
9797         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
9798         (add_stmt_to_compound): New function.
9799
9800 2002-08-15  Richard Henderson  <rth@redhat.com>
9801
9802         * Makefile.in (LOOSE_WARN): Remove -fno-common.
9803         (NOCOMMON_FLAG): New substitution point.
9804         (GCC_WARN_CFLAGS): Include it.
9805         * configure.in (ac_checking): Set nocommon_flag.
9806         (nocommon_flag): New substitution point.
9807
9808 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9809
9810         * c-tree.h (skip_evaluation): Move declaration...
9811         * c-common.h: ... here.
9812         * c-typeck.c (build_external_ref): Don't assemble_external nor
9813         mark a tree as used if skip_evaluation is set.
9814         * c-parse.in (typeof): New non-terminal to set skip_evaluation
9815         around TYPEOF.
9816         (typespec_nonreserved_nonattr): Use it.
9817
9818 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
9819
9820         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
9821         (xcoff_debug_hooks): Update end_prologue.
9822         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
9823         * debug.h (end_prologue): Add file arg.
9824         (end_epilogue): Add line and file args.
9825         (dwarf2out_end_epilogue): Add line and file args.
9826         (vmsdbgout_after_prologue): Remove.
9827         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
9828         (dwarf2_debug_hooks): Update end_prologue.
9829         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
9830         (dwarfout_end_prologue): Add file arg.
9831         * final.c (vmsdbgout_after_prologue): Remove
9832         (final_end_function): Update end_epilogue call.
9833         (final_scan_insn): Update end_prologue call.
9834         * sdbout.c (sdbout_end_epilogue): Add line and file args.
9835         (sdbout_end_prologue): Add file arg.
9836         (sdb_debug_hooks): Update end_prologue.
9837         (sdb_begin_prologue): Update sdbout_end_prologue call.
9838         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
9839         vmsdbgout_end_function.
9840         (vmsdbgout_end_prologue): New function renamed from
9841         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
9842         (vmsdbgout_end_function): New function.
9843         (vmsdbgout_end_epilogue): Add line and file args. Call
9844         vmsdbgout_source_line.
9845         (write_pclines): Write only valid line numbers.
9846         (write_srccorr): Don't write source correlation records if 0 lines.
9847         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
9848
9849 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
9850
9851         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
9852         (_Unwind_Internal_Ptr): 32 bit version for use in
9853         read_encoded_value_with_base.
9854         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
9855         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
9856         right size.
9857
9858 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9859
9860         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
9861         signed/unsigned warnings.
9862
9863         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
9864         record_reg_classes): Likewise.
9865
9866         * reload.c (reload_inner_reg_of_subreg, push_reload,
9867         find_reloads_address_1): Likewise.
9868
9869 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
9870
9871         * rs6000.c (output_mi_thunk): Return to function section on
9872         TARGET_ELF.
9873
9874         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
9875
9876 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9877
9878         * config/s390/s390.c (legitimize_address): Optimize loading
9879         of large displacements.
9880
9881 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
9882
9883         * config/alpha/alpha-protos.h: Update.
9884
9885         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
9886         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
9887         (alpha_linkage_symbol_p): New static function.
9888         (print_operand_address): Print linkage operand.
9889
9890         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
9891         variables.
9892         (reloc_kind): New enum.
9893         (struct alpha_funcs): New struct.
9894         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
9895
9896         (alpha_need_linkage): Rewrite.
9897         (alpha_use_linkage): New global function.
9898         (alpha_write_linkage): Rewrite and make static.
9899         (alpha_write_one_linkage): Rewrite
9900
9901         (alpha_start_function): Remove procedure descriptor output.
9902         (alpha_end_function): Write linkages at end of each function.
9903
9904         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
9905         (call_vms_1, call_value_vms_1): Rewrite.
9906
9907         * config/alpha/vms.h (ASM_FILE_END): Remove.
9908
9909 2002-08-14  Richard Henderson  <rth@redhat.com>
9910
9911         * ggc-page.c (RTL_SIZE): New.
9912         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
9913         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
9914
9915 2002-08-14  Richard Henderson  <rth@redhat.com>
9916
9917         * calls.c: Include target.h.
9918         * Makefile.in (calls.o): Update.
9919
9920         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
9921         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
9922
9923 2002-08-14  Richard Henderson  <rth@redhat.com>
9924
9925         * Makefile.in (LOOSE_WARN): Add -fno-common.
9926         * c-common.h (constant_string_class_name): Add missing extern.
9927
9928 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
9929
9930         PR preprocessor/7358
9931         * c-opts.c (check_deps_environment_vars): Ignore main file
9932         for SUNPRO_DEPENDENCIES.
9933         * cppfiles.c (stack_include_file): Ignore main file if
9934         appropriate.
9935         * cpplib.h (struct cpp_options): New member in deps.
9936         * doc/cppenv.texi: Update.
9937
9938 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9939
9940         PR preprocessor/7526
9941         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
9942
9943 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
9944
9945         * doc/invoke.texi (-a): Remove documentation.
9946         (-fprofile-arcs): Remove reference to -a, -ax options.
9947         * doc/gcov.texi (Gcov Data Files): Data might be merged.
9948
9949 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9950
9951         Fix PR/7566
9952         * c-semantics.c (genrtl_case_label): Don't (mis)use
9953         warning_with_decl.
9954
9955 2002-08-14  Dale Johannesen  <dalej@apple.com>
9956
9957         * explow.c (emit_stack_restore):  Emit memory clobbers
9958         preceding the stack pop, to prevent the scheduler from
9959         moving refs to variable arrays below this pop.
9960         * reload1.c (reload):  Preserve these clobbers for sched2.
9961         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
9962
9963 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9964
9965         * c-opts.c (c_common_post_options): Correct test.
9966
9967 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9968
9969         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
9970         order in call to fprintf.
9971
9972 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9973
9974         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
9975
9976 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9977
9978         * reload.c (find_reloads): Handle constraint letters marked by
9979         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
9980         (alternative_allows_memconst): Likewise.
9981         * reload1.c (maybe_fix_stack_asms): Likewise.
9982         * recog.c (asm_operand_ok, preprocess_constraints,
9983         constrain_operands): Likewise.
9984         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
9985         * local-alloc.c (block_alloc, requires_inout): Likewise.
9986         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
9987
9988         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
9989         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
9990         * doc/tm.texi: Document these two new target macros.
9991
9992         * config/s390/s390.c (s390_expand_plus_operand): Accept already
9993         valid operands.
9994         (q_constraint): New function.
9995         config/s390/s390-protos.h (q_constraint): Declare it.
9996         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
9997         (EXTRA_MEMORY_CONSTRAINT): New macro.
9998
9999         * config/s390/s390.md: Throughout the machine description,
10000         replace all instances of the constraint combinations 'Qo'
10001         or 'oQ' with simply 'Q'.
10002
10003 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10004
10005         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
10006         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
10007         (LIBGCC2_CFLAGS): Compile with -mrelax.
10008
10009 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10010
10011         * doc/invoke.texi: Document -minmax for 68HC12.
10012
10013         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
10014         ("uminqi3"): Likewise.
10015         ("uminhi3", "umaxhi3"): Likewise.
10016
10017         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
10018         (TARGET_MIN_MAX): Define.
10019         (TARGET_SWITCHES): New option -minmax/-mnominmax.
10020
10021 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10022
10023         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
10024         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
10025
10026         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
10027         (ret, declare, farsym): New gas macros.
10028         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
10029         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
10030         and declare the symbol far when compiled with -mlong-calls.
10031         (__far_trampoline): New for 68HC12 trampoline code to invoke a
10032         far handler using jsr/bsr.
10033
10034         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
10035         (jsr): New macro to transform a 'jsr' into a 'call'.
10036
10037 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
10038
10039         * doc/invoke.texi: Document -mlong-calls for 68HC12.
10040
10041         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
10042         -mlong-calls is specified.
10043         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
10044         assembler directives.
10045         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
10046         (TARGET_SWITCHES): Add -mlong-calls options.
10047         (current_function_far): Declare.
10048
10049         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
10050         into account the page register saved on the stack.
10051         (m68hc11_override_options): Take into account -mlong-calls option.
10052         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
10053
10054         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
10055         if the function is going to be in 68HC12 banked memory (-mlong-calls).
10056         ("*return_16bit"): Likewise.
10057         ("*return_void"): Likewise.
10058         ("call", "call_value"): Use call for a far function call.
10059
10060 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
10061
10062         * toplev.c (parse_options_and_default_flags): Don't call
10063         post_options here.
10064         (general_init): Initialize GC, pools and tree hash here,
10065         instead of lang_independent_init.
10066         (lang_independent_init): Rename backend_init.
10067         (do_compile): Call post_options hook; exit early if there
10068         have been errors after switch processing.
10069         (toplev_main): Update.
10070
10071 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10072
10073         * c-pretty-print.h: Guard against multiple inclusion.
10074         Robustify macros.
10075         (pp_c_attributes): Declare.
10076         * c-pretty-print.c (pp_c_attributes): New function.
10077
10078 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10079
10080         * m68k.c (m68k_output_function_prologue,
10081         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
10082         and NEWS/MOTOROLA.
10083         * genattrtab.c: Remove dpx2 comment.
10084         * libgcc2.c (__enable_execute_stack): Delete versions for
10085         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
10086         sony_news/SYSTYPE_BSD.
10087         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
10088         __gmicro__, __i860__, __NeXT__ and __pyr__.
10089         * rtl.h: Remove convex comment.
10090         * varasm.c: Likewise.
10091
10092 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10093
10094         * c-opts.c (lang_flags): Const-ify.
10095         * ra-build.c (undef_table): Likewise.
10096         * ra.c (eliminables): Likewise.
10097
10098 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
10099
10100         * tree.h: Guard against multiple inclusion.
10101
10102 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
10103
10104         * reload1.c (reload_cse_simplify): Before checking
10105         REG_FUNCTION_VALUE_P, check REG_P.
10106
10107 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
10108
10109         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
10110
10111 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10112
10113         * c-opts.c (c_common_init_options): Extra braces needed.
10114
10115 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
10116
10117         * sh.c (sh_init_builtins): Add PARAMS to declaration.
10118         (sh_media_init_builtins, sh_expand_builtin): Likewise.
10119         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
10120         (sh_expand_binop_v2sf): Likewise.
10121         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
10122         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
10123         (sh_initialize_trampoline): Likewise.
10124
10125 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
10126
10127         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
10128         new condition code modes.
10129         s390.c (s390_match_ccmode_set): Handle those new CC modes.
10130         (s390_select_ccmode): Likewise.
10131         (s390_branch_condition_mask): Likewise.
10132
10133         * s390-protos.h (s390_tm_ccmode): Declare.
10134         s390.c (s390_tm_ccmode): New function.
10135         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
10136
10137         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
10138         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
10139         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
10140
10141         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
10142         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
10143         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
10144         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
10145         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
10146
10147         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
10148         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
10149         "*cmpqi_ccs_0"): Remove, replace by ...
10150         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
10151         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
10152         "*tstqi", "*tstqi_cconly"): ... these new patterns.
10153
10154         ("*cmpsidi_ccs"): Remove, replace by ...
10155         ("*cmpsi_ccs_sign"): ... this new pattern.
10156         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
10157
10158         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
10159         ("*cli"): ... this new pattern.
10160
10161         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
10162         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
10163         New patterns.
10164         ("adddi3_64"): Rename to "*adddi3_64".
10165         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
10166         ("adddi3"): Adapt expander.
10167
10168         ("*addsi3_cc"): Allow "general_operand" for operand 2.
10169         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10170         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
10171
10172         ("addhi3", "addqi3"): Remove, replace by ...
10173         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
10174
10175         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
10176         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
10177         ("subdi3"): Replace by insn and splitter "*subdi3_31".
10178         ("subdi3"): New expander.
10179
10180         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
10181
10182         ("subhi3", "subqi3"): Remove, replace by ...
10183         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
10184
10185         ("*muldi3_sign"): New pattern.
10186         ("muldi3"): Do not clobber CC.
10187         ("mulsi3"): Likewise.
10188         ("mulsi_6432"): Likewise.
10189
10190 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10191
10192         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
10193         which can change CC0.
10194
10195 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
10196
10197         * gcse.c (adjust_libcall_notes): New function.
10198         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
10199
10200 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
10201
10202         * libgcc2.c (L_bb): Remove unneeded #includes.
10203         (__global_counters, __gthreads_active): Remove unused globals.
10204         (__bb_exit_func): Merge counts into files rather than appending.
10205         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
10206         (ALL_CFLAGS): ... to here.
10207
10208 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10209
10210         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
10211         (function_epilogue): Don't calculate function size.
10212         (ip2k_set_compare): Don't use lookup_const_double.
10213         (asm_file_start): Initialization of commands_in_file removed.
10214         (asm_file_end): Output of commands_in_file removed.
10215
10216         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
10217         __INT_MAX__.
10218
10219 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10220
10221         * c-opts.c (c_common_init_options): Check option array is
10222         sorted if checking enabled.
10223
10224 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
10225
10226         * c-pretty-print.c: #include "c-tree.h".
10227         (pp_c_simple_type_specifier): Tweak.
10228         (pp_c_storage_class_specifier): New.
10229         (pp_c_function_specifier): Likewise.
10230         (pp_c_declaration_specifiers): Likewise.
10231         (pp_c_init_declarator): Likewise.
10232         (pp_c_declaration): Likewise.
10233         (pp_c_direct_declarator): Stub.
10234         (pp_c_declarator): Likewise.
10235         (pp_c_parameter_declaration): Likewise.
10236
10237 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10238
10239         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
10240         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
10241         struct deferred_opt): New.
10242         (COMMAND_LINE_OPTIONS): Add -M*.
10243         (missing_arg): Update.
10244         (c_common_decode_option): Handle -M*.
10245         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
10246         don't call cpp_post_options.
10247         (c_common_finish, check_deps_environment_vars): Update.
10248         * cppfiles.c (stack_include_file, handle_missing_header): Update.
10249         * cpphash.h (CPP_PRINT_DEPS): Remove.
10250         * cppinit.c: Don't include version.h.
10251         (cpp_create_reader): Don't call deps_init.  Initialize
10252         warn_long_long.
10253         (cpp_read_main_file): Init deps if necessary.
10254         (cpp_destroy): Conditionally free deps.
10255         (cpp_finish): Update.
10256         (no_tgt): Remove.
10257         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
10258         (cpp_post_options): Rename post_options.
10259         * cpplib.h (struct cpp_options): Remove some dependency options;
10260         move others to a new structure.
10261         (cpp_post_options): Remove.
10262         (cpp_finish): Comment.
10263         * fix-header.c (read_scan_file): Don't call cpp_post_options.
10264
10265 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10266
10267         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
10268         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
10269         MMIX_rR_REGNUM as clobbered.
10270         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
10271
10272 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
10273
10274         * diagnostic.h (output_formatted_scalar): Rename from
10275         output_formatted_integer.
10276         * diagnostic.def: Add DK_DEBUG.
10277         * diagnostic.c (output_decimal): Adjust.
10278         (output_long_decimal): Likewise.
10279         (output_unsigned_decimal): Likewise.
10280         (output_octal): Likewise.
10281         (output_long_octal): Likewise.
10282         (output_hexadecimal): Likewise.
10283         (output_long_hexadecimal): Likewise.
10284         * c-pretty-print.c (pp_c_type_specifier): New function.
10285         (pp_c_specifier_qualifier_list): Likewise.
10286         (pp_c_abstract_declarator): Likewise.
10287         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
10288
10289 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
10290
10291         * doc/trouble.texi (Disappointments): Add static constructor and
10292         destructor dependency information for AIX.
10293
10294 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10295
10296         * cpphash.h (struct printer): New from cppmain.c.
10297         (cpp_reader): New member.
10298         * cppmain.c (struct printer): Move to cpphash.h.
10299         (options, print): Remove.
10300         (account_for_newlines, print_line, maybe_print_line,
10301         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
10302         scan_translation_unit_trad, cb_line_change, cb_ident,
10303         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
10304         cb_def_pragma): Make reentrant.
10305
10306 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10307
10308         * real.c (ieee_64): Always define.
10309         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10310         (dec_h): Not used yet, hide it.
10311         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
10312         macro controlling use.
10313         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10314
10315 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10316
10317         * i386.md (tablejump): Sign extend the operand.
10318         * i386.c (classify_argument): Fix missed case from previous patch.
10319
10320 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10321
10322         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
10323         to c-copts.c.
10324         (warn_multichar): Die.
10325         (cb_register_builtins): Export.
10326         * c-common.h (warn_multichar, preprocess_file): Remove.
10327         (cb_register_builtins): New.
10328         * c-lang.c (c_init): Remove.
10329         (LANG_HOOKS_INIT): Use c_objc_common_init.
10330         * c-lex.c (init_c_lex): Don't canonicalize filename.
10331         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
10332         (preprocess_file): Make static.  Update for cpplib.
10333         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
10334         (c_common_post_options): Set some cpp options here.
10335         (c_common_init): Move from c-common.c.
10336         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
10337         * cpplib.h (struct cpp_options): Remove in_fname.
10338         (cpp_preprocess_file): Update.
10339         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
10340
10341 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10342
10343         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
10344
10345 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10346
10347         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
10348         backslash in comment preceeding macro definition.
10349         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
10350         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
10351         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
10352
10353 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10354
10355         * expr.c (store_expr): In condition for checking if value is
10356         generated in TARGET, move call to expr_size last.
10357
10358 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10359
10360         * c-common.c (c_common_init): Call preprocess_file instead.
10361         (c_common_finish): Move to c-opts.c.
10362         * c-common.h (preprocess_file): new.
10363         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
10364         check_deps_environment_vars, c_common_finish): New.
10365         (c_common_decode_option): Update for out_fname and dependencies.
10366         * cppinit.c (init_dependency_output, output_deps): Remove.
10367         (cpp_destroy): Update prototype.
10368         (cpp_add_dependency_target): New.
10369         (cpp_read_main_file): Don't overlay a buffer.
10370         (cpp_finish): Take a deps output stream and write deps to it.
10371         Return the error count.
10372         (cpp_post_options): Don't canonicalize out_fname, or do anything
10373         with dependencies.
10374         * cpplib.h (struct cpp_options): Remove out_fname and
10375         preprocess_only.
10376         (cpp_add_dependency_target): New.
10377         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
10378         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
10379         set preprocess_only.  Don't handle the output stream directly.
10380
10381 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10382
10383         * dsp16xx.c (print_operand): Fix format specifier.
10384         * dsp16xx.md: Avoid automatic aggregate initialization.
10385         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
10386         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
10387         integer constant modifier.
10388         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
10389         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
10390         guards.
10391         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
10392         * v850.c (v850_select_section): Mark parameter with
10393         ATTRIBUTE_UNUSED.
10394         * global.c (global_alloc): Const-ify.
10395         * ra-colorize.c (hardregset_to_string): Fix format specifier.
10396
10397 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10398
10399         * darwin-c.c (darwin_pragma_options): Const-ify.
10400         * darwin.c (machopic_non_lazy_ptr_name,
10401         machopic_validate_stub_or_non_lazy_ptr): Likewise.
10402         (machopic_indirect_data_reference): Wrap variables in macros
10403         controlling their use.
10404         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
10405         (machopic_select_section): Use parentheses around && within ||.
10406         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
10407
10408 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10409
10410         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
10411         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
10412         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
10413         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
10414         mdr_try_remove_redundant_insns, track_w_reload,
10415         mdr_try_wreg_elim): Make function static to match prototype.
10416         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
10417         parameter with ATTRIBUTE_UNUSED.
10418
10419 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10420
10421         * arc.c (arc_init): Don't use ISO C style function definitions.
10422         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
10423         arm_get_strip_length, arm_strip_name_encoding): Likewise.
10424         * avr.h (progmem_section): Likewise.
10425         * h8300.c h8300_asm_insn_count): Likewise.
10426         * m32r.c (init_idents): Likewise.
10427         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
10428         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
10429         * xtensa.c (xtensa_build_va_list): Likewise.
10430
10431 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10432
10433         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
10434         * c-opts.c (parse_option): Rename find_opt.
10435         (set_std_c99): New function.
10436         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
10437         (missing_arg): Remove OPT_std_bad.  Handle -o.
10438         (c_common_decode_option): Handle input and output file names,
10439         -o and -remap.  Clean up -std= handling.
10440         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
10441         (cpp_handle_option): Similarly.  Don't handle filenames.
10442
10443 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
10444
10445         * i386.c (classify_argument): Fix computing of field's offsets.
10446
10447 2002-08-11  Andreas Jaeger  <aj@suse.de>
10448
10449         PR target/7531:
10450         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
10451
10452 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
10453
10454         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
10455         reference to clk_objective_c with flag_objc.
10456         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
10457         Likewise.
10458         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10459
10460 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
10461
10462         * c-opts.c (set_std_cxx98, set_std_c89): New.
10463         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10464         (c_common_decode_option): Handle new switches from cppinit.c.
10465         Add -std=gnu++98.
10466         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
10467         (no_arg, no_num): Remove.
10468         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
10469         switches apart from -lang-objc and lang-asm.
10470         (cpp_handle_option): Similarly.
10471         * cpplib.h (cpp_set_lang): New.
10472         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
10473         -std=gnu++98.
10474         * objc/lang-specs.h: Remove -ansi.
10475
10476 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10477                                Graham Stott
10478
10479         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
10480         errors.
10481
10482 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10483
10484         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
10485         emit_jump_insn): Fix uninitialized variable.
10486         * gcov.c (init_line_info): Likewise.
10487         * genautomata.c (transform_3): Add braces around ambiguous
10488         else.
10489         * ifcvt.c (cond_exec_process_insns): Mark parameter with
10490         ATTRIBUTE_UNUSED.
10491         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
10492         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
10493         variable.
10494
10495         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
10496         warnings in output files.
10497
10498 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
10499
10500         * c-common.c (flag_objc): New.
10501         * c-common.h (c_language_kind): Get rid of clk_objective_c
10502         enum value.
10503         (flag_objc): New extern declaration.
10504         * c-decl.c (implicitly_declare): Call objc_check_decl
10505         instead of maybe_objc_check_decl.
10506         (finish_decl): Likewise.
10507         (grokfield): Likewise.
10508         (finish_struct): Likewise.
10509         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
10510         (maybe_objc_comptypes): Rename to objc_comptypes.
10511         (maybe_building_objc_message_expr): Rename to
10512         objc_message_selector.
10513         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10514         replace with flag_objc as needed.
10515         * c-opts.c (c_common_init_options): Likewise.
10516         (c_common_decode_option): Likewise.
10517         * c-parse.in (init_reswords): Likewise.
10518         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10519         (maybe_objc_comptypes): Rename to objc_comptypes.
10520         (maybe_building_objc_message_expr): Rename to
10521         objc_message_selector.
10522         * c-typeck.c (comptypes): Call objc_comptypes instead of
10523         maybe_objc_comptypes, and/or objc_message_selector instead of
10524         maybe_building_objc_message_expr.
10525         (comp_target_types): Likewise.
10526         (convert_for_assignment): Likewise.
10527         (warn_for_assignment): Likewise.
10528         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10529         independently of those for other languages.
10530         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10531         (maybe_objc_check_decl): Delete.
10532         (maybe_building_objc_message_expr): Rename to
10533         objc_message_selector.
10534         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10535         clk_objective_c; set flag_objc flag.
10536
10537 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10538
10539         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10540
10541 2002-08-09  Dale Johannesen  <dalej@apple.com>
10542
10543         * config/rs6000/rs6000.md: Add sibcall patterns.
10544         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10545         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10546         Rewritten to handle sibcalls.
10547         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10548         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10549
10550 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10551
10552         * profile.c (da_file_name): New static var.
10553         (init_branch_prob): Initialize it.
10554         (end_branch_prob): Remove da file.
10555
10556         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10557         * configure.in (coverage_flags): Default to nothing.
10558         * configure: Rebuilt.
10559
10560 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10561
10562         * Makefile.in (c-opts.o): Update
10563         * c-opts.c: Include intl.h.
10564         (print_help): Move from cppinit.c.  Remove unused options.
10565         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10566         (missing_arg): Complain for switches without an argument.
10567         (c_common_decode_option): Reject missing joined arguments.
10568         Handle new switches from cppinit.c.
10569         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10570         (cpp_handle_option): Similarly.
10571         (print_help): Moved to c-opts.c.
10572         * cpplib.h (struct cpp_options): Remove help_only.
10573         * gcc.c (cpp_unique_options): Remove -$.
10574         * doc/cppopts.texi: Undocument -h.
10575
10576 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10577
10578         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10579         legitimate constant.
10580         (legitimate_pic_operand_p): Neither pic operand.
10581         (legitimate_address_p): But legitimate address.
10582         (get_thread_pointer): Generate MEM/u instead of CONST around
10583         UNSPEC_TP.
10584         (print_operand): Remove printing of UNSPEC_TP.
10585         (print_operand_address): And print it here.
10586
10587 2002-08-08  Devang Patel  <dpatel@apple.com>
10588
10589         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10590         when  -Wselector is used,if method for which selector is being
10591         created does not exist.
10592
10593 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10594
10595         * config/sh/sh.c (prepare_move_operands): Only call
10596         target_reg_operand if TARGET_SHMEDIA.
10597
10598 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10599
10600         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10601         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10602         two patches.
10603         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10604
10605 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10606             Richard Henderson  <rth@redhat.com>
10607
10608         * emit-rtl.c (gen_rtx_REG): After reload, only return
10609         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10610
10611 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10612
10613         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10614         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10615         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10616         macro.
10617
10618 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10619
10620         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10621         register.
10622         (thumb_expand_prologue): Likewise.
10623         (thumb_output_function_prologue): Likewise.
10624         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10625         the additional push of the PIC register.
10626
10627 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10628
10629         * configure.in (enable_coverage): New enable switch.
10630         * configure: Rebuilt.
10631         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10632         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10633         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10634         (mostlyclean): Remove coverage files.
10635         * doc/install.texi: Document enable_coverage.
10636
10637         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10638         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10639         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10640         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10641         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10642         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10643         files.
10644
10645 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10646
10647         * c-opts.c (cpp_opts): New.
10648         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10649         (c_common_decode_options): Handle cpplib switches.
10650         (c_common_init_options): Set cpp_opts.
10651         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10652         (cpp_handle_option): Similarly.
10653
10654 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10655
10656         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10657         (TARGET_ALTIVEC_ABI): Same.
10658         (TARGET_ALTIVEC_VRSAVE): Same.
10659
10660         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10661         icode not CODE_FOR_nothing.  Change switch to if.
10662
10663 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10664
10665         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10666
10667 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10668
10669         * stor-layout.c (place_union_field): For bitfields if
10670         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10671         TYPE_USER_ALIGN.
10672
10673 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10674
10675         * pa.c (struct deferred_plabel): Constify name field.
10676
10677 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10678
10679         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10680
10681 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10682
10683         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10684         local_prefix are the same.
10685         * configure: Rebuilt.
10686
10687 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10688             Richard Henderson  <rth@redhat.com>
10689
10690         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10691         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10692         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10693         (place_field): Likewise.
10694         * config/i386/i386.c (x86_field_alignment): Don't check
10695         DECL_USER_ALIGN here.
10696         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10697         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10698         prototype.
10699         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10700         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10701         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10702         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10703         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10704         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10705
10706 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10707
10708         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10709         * c-common.c: Don't include tree-inline.h.
10710         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10711         * c-common.h (c_common_decode_option): New.
10712         * c-decl.c (c_decode_option): Remove.
10713         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10714         * c-opts.c: New file.
10715         * c-tree.h (c_decode_option): Remove.
10716         * doc/passes.texi: Update.
10717         * objc/objc-act.c (objc_decode_option): Remove.
10718         * objc/objc-act.h (objc_decode_option): Remove.
10719         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10720         c_common_decode_option.
10721
10722 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10723
10724         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10725         dependency on TARGET_DOUBLE_FLOAT.
10726
10727 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10728
10729         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10730         overwrite callee-save registers.  Fix comment.
10731
10732 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10733
10734         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10735         in target_flags based on ISA, if it was not set on the command
10736         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10737         support Branch Likely instructions.
10738         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10739         (TARGET_BRANCHLIKELY): Likewise.
10740         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10741         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10742         ISA_HAS_BRANCHLIKELY.
10743         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10744         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10745         -mno-branch-likely options.
10746
10747 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10748
10749         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10750
10751         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10752         $(GCONFIG_H).
10753
10754 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10755
10756         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10757         declarations.
10758
10759         * testsuite/gcc.dg/tls/diag-3.c: New.
10760
10761 2002-08-06  Dale Johannesen  <dalej@apple.com>
10762
10763         * c-common.c (fname_decl): Use line number 0 for
10764         __func__, to avoid confusing debuggers.
10765
10766 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10767
10768         * gcov.c: Tidy.
10769         (struct line_info, struct coverage): New structures.
10770         (gcov_file_name, gcov_file): Remove globals.
10771         (output_data): Take source file parameter. Fix memory leak. Break
10772         up into ...
10773         (init_line_info, output_line_info, make_gcov_file_name,
10774         accumulate_branch_counts): ... here.
10775         (calculate_branch_probs, function_summary): Adjust.
10776         (main): Adjust.
10777         (function_*): Remove global variables.
10778
10779 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10780
10781         * dwarf2out.c: Remove unused macros.
10782
10783 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10784
10785         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
10786
10787 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10788
10789         * cppinit.c (struct lang_flags): Rename trigraphs std.
10790         (set_lang): Update.
10791         * cpplib.h (struct cpp_options): New member std.
10792         * cppmacro.c (_cpp_builtin_macro_text): Use std.
10793         (collect_args): Flag whether to swallow a possible future
10794         comma pasted with varargs.
10795         (replace_args): Use this flag.
10796         * doc/cpp.texi: Update varargs extension documentation.
10797
10798 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10799
10800         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
10801
10802 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10803
10804         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
10805         and MODE_CLASS_INT modes.
10806
10807 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10808
10809         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
10810         --{enable,disable}-threads is given to configure.
10811         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
10812         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
10813         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
10814         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
10815         Remove thread_file setting here.
10816
10817 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
10818
10819         * doc/install.texi (Binaries): Update Bull Freeware URL.
10820
10821 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10822
10823         * doc/gcc.texi (Top): Rename Index to Keyword Index.
10824
10825 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
10826
10827         * gcov.c (output_data): Round to % to nearest, tweak formatting.
10828
10829 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
10830
10831         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
10832         of the operands into MINUS_EXPR if code is PLUS_EXPR.
10833
10834 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
10835
10836         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
10837         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
10838         drectve_section): Define.
10839         * config/i386/t-interix: Replace interix.o rule with winnt.o.
10840         * config/i386/interix.c: Remove.
10841
10842 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
10843
10844         * attribs.c: Don't include obstack.h.
10845         * builtins.c: Likewise.
10846         * cfganal.c: Likewise.
10847         * cfgbuild.c: Likewise.
10848         * cfgcleanup.c: Likewise.
10849         * emit-rtl.c: Likewise.
10850         * loop.c: Likewise.
10851         * stmt.c: Likewise.
10852
10853         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
10854
10855 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
10856
10857         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
10858
10859 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
10860
10861         * doc/invoke.texi: Remove duplicated paragraph describing
10862         TARGET_SWITCHES.
10863
10864 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
10865
10866         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
10867         * collect2.h (permanent_obstack): Delete declaration.
10868         * collect2.c (permanent_obstack): Delete definition.
10869         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
10870         * expr.c: Don't include obstack.h.
10871         (permanent_obstack): Delete declaration.
10872         * function.c: Don't include obstack.h.
10873         (permanent_obstack): Delete declaration.
10874         * integrate.c: Don't include obstack.h.
10875         (function_maybepermanent_obstack): Delete declaration.
10876         * print-tree.c (debug_tree): Use x*alloc not permalloc.
10877         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
10878         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
10879         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
10880         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
10881         of permalloc, expralloc, perm_calloc.
10882         * tree.c (permanent_obstack): Delete definition.
10883         (init_ttree): Rename from init_obstacks.
10884         (permalloc): Delete.
10885         (perm_calloc): Delete.
10886         (dump_tree_statistics): Don't print information about
10887         permanent_obstack.
10888         * varasm.c (assemble_start_function): Use xstrdup instead of
10889         permalloc/strcpy.
10890         (assemble_variable): Likewise.
10891         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
10892         permalloc.
10893         (unicosmk_add_extern): Likewise.
10894         * config/c4x/c4x.c (c4x_external_ref): Likewise.
10895         (c4x_global_label): Likewise.
10896         * config/frv/frv.c (frv_encode_section_info): Likewise.
10897         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
10898         (i386_pe_record_exported_symbol): Likewise.
10899         * config/mips/mips.c (mips_output_external): Likewise.
10900         (mips_output_external_libcall): Likewise.
10901         * config/pa/pa.c: (permanent_obstack): Delete declaration.
10902         (output_call): Use ggc_strdup instead of allocating on
10903         permanent_obstack.
10904         * config/romp/romp.c: Include ggc.h.
10905         (get_symref): Don't declare permanent_obstack, use ggc_strdup
10906         intead of permanent_obstack.
10907         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
10908         instead of permalloc.
10909         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
10910         instead of permalloc
10911         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
10912         instead of permalloc.
10913         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
10914         permalloc.
10915
10916 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
10917
10918         Contribute a port developed primarily by Michael Meissner,
10919         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
10920         * config.gcc: Add frv-elf target.
10921         * config/frv/cmovd.c: New file.
10922         * config/frv/cmovh.c: New file.
10923         * config/frv/cmovw.c: New file.
10924         * config/frv/frv-abi.h: New file.
10925         * config/frv/frv-asm.h: New file.
10926         * config/frv/frv-modes.def: New file.
10927         * config/frv/frv-protos.h: New file.
10928         * config/frv/frv.c: New file.
10929         * config/frv/frv.h: New file.
10930         * config/frv/frv.md: New file.
10931         * config/frv/frvbegin.c: New file.
10932         * config/frv/frvend.c: New file.
10933         * config/frv/lib1funcs.asm: New file.
10934         * config/frv/media.h: New file.
10935         * config/frv/modi.c: New file.
10936         * config/frv/t-frv: New file.
10937         * config/frv/uitod.c: New file.
10938         * config/frv/uitof.c: New file.
10939         * config/frv/ulltod.c: New file.
10940         * config/frv/ulltof.c: New file.
10941         * config/frv/umodi.c: New file.
10942         * config/frv/xm-frv.h: New file.
10943
10944         * config/frv/media.h: Removed again.
10945
10946 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10947
10948         * gcov.c (bb_file_time): New static variable.
10949         (object_directory): May also be object file.
10950         (preserve_paths): New static variable.
10951         (print_usage): Adjust.
10952         (options): Adjust.
10953         (process_args): Adjust.
10954         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
10955         file. Find modification date on bb file.
10956         (read_profile): Don't rewind a NULL file.
10957         (format_hwint): New static function.
10958         (function_summary): Use format_hwint.
10959         (output_data): SOURCE_FILE_NAME is never relative to
10960         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
10961         mangling. Adjust output format to make it more machine readable.
10962         * doc/gcov.texi: Document & clarify semantics.
10963
10964 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10965
10966         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
10967
10968 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10969
10970         * gcc.c (cc1_options): Pass output file as auxbase when
10971         appropriate.
10972         * profile.c (init_branch_prob): FILENAME has already had ending
10973         stripped.
10974         * final.c (end_final): Likewise.
10975         * toplev.c (aux_base_name): New global.
10976         (compile_file): Pass aux_base_name to init init_branch_prob and
10977         end_final.
10978         (independent_decode_option, case 'a'): New auxinfo options.
10979         (case 'd'): Protect against mising basename.
10980         (do_compile): Initialize aux_base_name.
10981         * toplev.h (aux_base_name): New global.
10982         * doc/invoke.texi: Adjust documentation.
10983
10984 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10985
10986         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
10987         of TARGET_ALIGN_DOUBLE.
10988
10989 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
10990
10991         * diagnostic.c (inform): New function.
10992         * diagnostic.h (inform): Declare.
10993
10994 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
10995
10996         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
10997         (movhi_internal): Same.
10998         (movqi_internal): Same.
10999         (movdi_internal64): Same.
11000
11001         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
11002
11003         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
11004         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
11005         (COMMON_ASM_OP): Define.
11006         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
11007         Use ALIGN parameter.
11008         (LOCAL_COMMON_ASM_OP): Define.
11009         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
11010
11011 2002-08-03  Roger Sayle  <roger@eyesopen.com>
11012
11013         * builtins.def: Define new builtin functions exp, expf, expl,
11014         log, logf and logl (and their __builtin_* variants).
11015         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
11016         Define exp_optab and log_optab.
11017         * optabs.c (init_optans): Initialize exp_optab and log_optab.
11018         * genopinit.c (optabs): Implement exp_optab and log_optab
11019         using exp?f2 and log?f2 patterns.
11020         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
11021         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
11022         (expand_builtin): Ignore the new builtins (and all cos and
11023         sin variants) when not optimizing.  Expand new builtins via
11024         expand_builtin_mathfn when flag_unsafe_math_optimizations.
11025
11026         * doc/extend.texi: Document new exp and log builtins.
11027         * doc/md.texi: Document new exp?f2 and log?f2 patterns
11028         (and previously undocumented cos?f2 and sin?f2 patterns).
11029
11030 2002-08-03  Jason Merrill  <jason@redhat.com>
11031
11032         * explow.c (int_expr_size): New fn.
11033         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
11034         * expr.h: Declare it.
11035
11036 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
11037
11038         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
11039         gengtype-* dependencies.
11040
11041 2002-08-02  Eric Christopher  <echristo@redhat.com>
11042
11043         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
11044         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
11045         #ifndef to #undef.
11046         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
11047
11048 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
11049
11050         PR optimize/7067
11051         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
11052         small if optimizing for size.
11053
11054 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
11055
11056         * configure.in (FORBUILD): Use $build_alias.
11057         * configure: Regenerated.
11058
11059 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
11060
11061         * config.gcc: Don't include mips/abi64.h in $tm_file.
11062         * hard-reg-set.h (call_really_used_regs): Declare.
11063         * config/mips/abi64.h: Remove file.
11064         * config/mips/linux.h,
11065         * config/mips/iris6.h: Don't include it.
11066         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
11067         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
11068         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
11069         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
11070         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
11071         Bring across definitions from abi64.h.
11072         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
11073         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
11074         (struct mips_args): Use it.
11075         * config/mips/mips.c (mips_conditional_register_usage): Define.
11076
11077 2002-08-02  Jason Merrill  <jason@redhat.com>
11078
11079         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
11080         * langhooks.c (lhd_expr_size): Define default.
11081         * langhooks.h (struct lang_hooks): Add expr_size.
11082         * explow.c (expr_size): Call it.
11083         * expr.c (store_expr): Don't copy an expression of size zero.
11084         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
11085         to store.
11086         * Makefile.in (builtins.o): Depend on langhooks.h.
11087
11088 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11089
11090         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
11091         * ra-debug.c: Include "tm_p.h".
11092         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
11093
11094 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
11095
11096         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
11097         when not honoring signalling NaNs.
11098         (simplify_ternary_operation): a == b has a definite value
11099         when not honoring NaNs.
11100
11101 2002-08-02  Jason Merrill  <jason@redhat.com>
11102
11103         * gdbinit.in (pct): New macro.
11104
11105 2002-08-01  Stan Shebs  <shebs@apple.com>
11106             Andreas Tobler  <toa@pop.agri.ch>
11107
11108         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
11109         plays nice with Darwin headers.
11110         (_BSD_RUNE_T_DEFINED_): Likewise.
11111
11112 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11113
11114         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
11115         * cppinit.c (cpp_post_options): Likewise.
11116
11117         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
11118         warning about 'LL' suffix (but not 'ULL' etc) when
11119         -Wno-long-long is in effect.
11120
11121         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
11122         Check for failing time()/localtime(), issue a warning, and
11123         make __TIME__ and __DATE__ expand to fallback strings.
11124
11125         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
11126         and __TIME__ when the date and time cannot be determined.
11127
11128 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11129
11130         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
11131
11132 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
11133
11134         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
11135
11136 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11137
11138         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
11139         (mipsisa64sb1el-*-elf*): Likewise.
11140         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
11141         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
11142         (TARGET_SB1, TUNE_SB1): New macros.
11143         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
11144         -mtune flags.
11145
11146 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
11147
11148         * varasm.c (asm_emit_uninitialized): Return false if global BSS
11149         and ASM_EMIT_BSS not supported by target.
11150         (assemble_variable): Do not duplicate uninitialized logic.
11151         Fall through if asm_emit_uninitialized failed.
11152
11153 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11154
11155         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
11156
11157 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11158
11159         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
11160         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
11161
11162         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
11163         HOST_BITS_PER_WIDE_INT == 64.
11164
11165 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11166
11167         * df.c (df_insn_table_realloc): Change parameter to unsigned.
11168         * optabs.c (expand_binop): Make variable unsigned.
11169         * simplify-rtx.c (simplify_subreg): Likewise.
11170         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
11171
11172 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11173
11174         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
11175
11176 2002-08-01  Richard Henderson  <rth@redhat.com>
11177
11178         * toplev.c (parse_options_and_default_flags): Don't set
11179         flag_reorder_blocks for -Os.
11180
11181         * config/avr/avr.c (avr_optimization_options): Remove.
11182         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
11183         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
11184         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
11185
11186 2002-08-01  H.J. Lu <hjl@gnu.org>
11187             Richard Henderson  <rth@redhat.com>
11188
11189         * output.h (DECL_READONLY_SECTION): Remove.
11190         (decl_readonly_section): Declare.
11191         * varasm.c (decl_readonly_section): New.
11192         (default_section_type_flags, default_select_section): Use it.
11193         * config/arm/pe.c (arm_pe_unique_section): Likewise.
11194         * config/i386/interix.c (i386_pe_unique_section): Likewise.
11195         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
11196         * config/mcore/mcore.c (mcore_unique_section): Likewise.
11197         * config/mips/mips.c (mips_unique_section): Likewise.
11198
11199 2002-08-01  Richard Henderson  <rth@redhat.com>
11200
11201         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
11202         refers to a subroutine parameter.
11203
11204 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
11205
11206         * varasm.c (assemble_visibility): Strip name encoding.
11207
11208 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
11209
11210         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
11211         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
11212         when there is no frame pointer.
11213         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
11214         registers properly.
11215         * config/ns32k/__unorddf2.c: New file.
11216         * config/ns32k/__unordsf2.c: New file.
11217         * config/ns32k/t-ns32k: New file.
11218         * config.gcc (ns32k-*-netbsd*): Use it.
11219
11220 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
11221
11222         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
11223
11224 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11225
11226         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
11227
11228 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
11229
11230         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
11231
11232 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
11233
11234         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
11235
11236 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11237
11238         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
11239         n_sets): Removed.
11240         (expr_hash_table, set_hash_table): Type changed to ...
11241         (struct hash_table): New type.
11242         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
11243         insert_expr_in_table, insert_set_in_table, compute_hash_table,
11244         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
11245         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
11246         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
11247         (alloc_hash_table): New.
11248         (free_set_hash_table, free_expr_hash_table): Merged to ...
11249         (free_hash_table): New.
11250         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
11251         (compute_hash_table_work): New.
11252         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
11253         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
11254         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
11255         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
11256         hoist_code, one_code_hoisting_pass,
11257         trim_ld_motion_mems): Altered due to changed type of hash tables.
11258
11259 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11260
11261         * final.c (output_alternate_entry_point):
11262         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
11263
11264 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11265
11266         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
11267         avoid ISO C style function definition.
11268
11269         * expr.c (expand_assignment): Delete unused variable.
11270
11271 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
11272
11273         * c-common.c (cb_register_builtins): Set
11274         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
11275         is given, and to 0 otherwise.
11276         * combine.c (simplify_if_then_else): HONOR_NANS
11277         implies FLOAT_MODE_P.
11278
11279 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11280
11281         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
11282         (cpp_handle_option): Don't handle it.
11283         (print_help): Update.
11284         * doc/cppopts.texi: Update.
11285
11286 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11287
11288         * c-common.c (cb_register_builtins): If C++, define
11289         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
11290         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
11291 cp:
11292         * lang-specs.h: Simplify in accordance with new code in
11293         c-common.c.
11294
11295 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11296
11297         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
11298         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
11299         * c-decl.c: Move all warning and flag variables to c-common.c.
11300         * c-format.c: Move all warning variables to c-common.c.
11301         * c-tree.h: Move all warning and flag declarations to c-common.h.
11302         * objc/objc-act.c: Move all warning variables to c-common.c.
11303         (flag_warn_protocol): Rename warn_protocol.
11304
11305 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11306
11307         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
11308
11309 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
11310
11311         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
11312         .section prefix.
11313
11314 2002-07-31  Stan Shebs  <shebs@apple.com>
11315
11316         * config.gcc (i[34567]86-*-darwin*): New configuration.
11317         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
11318         defining.
11319         (TARGET_ENCODE_SECTION_INFO): Ditto.
11320         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
11321         * config/darwin.c (machopic_indirect_data_reference): Remove
11322         setting of RTX_UNCHANGING_P.
11323         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
11324         not to be applied to sums.
11325         * config/i386/t-darwin: New file.
11326         * config/i386/darwin.h: New file.
11327         * config/i386/i386.h (TARGET_MACHO): Add default definition.
11328         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
11329         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
11330         label and not the GOT add.
11331         (constant_address_p): For Mach-O, seeing a CONST is enough.
11332         (legitimate_pic_address_disp_p): Add a Mach-O case.
11333         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
11334         (legitimize_pic_address): Use generic Mach-O code to legitimize.
11335         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
11336         if outputting a difference.
11337         (ix86_output_addr_diff_elt): Add Mach-O case.
11338         (ix86_expand_move): Similarly.
11339         (ix86_expand_call): Similarly.
11340         (current_machopic_label_num): New global.
11341         (machopic_output_stub): New function.
11342         (ix86_value_regno): New function.
11343         (ix86_function_value): Use it instead of VALUE_REGNO.
11344         (ix86_libcall_value): Ditto.
11345         * config/i386/unix.h (VALUE_REGNO): Remove.
11346
11347 2002-07-31  Graham Stott  <grahas@btinternet.com>
11348
11349         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
11350         hash for LABEL_REF's.
11351
11352 2002-07-31  Graham Stott  <grahams@btinternet.com>
11353
11354         * config/rs6000/rs6000.c (spe_init_builtins,
11355         altivec_init_builtins, rs6000_common_init_builtins):
11356         Replace ANSI with K&R function def.
11357
11358 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
11359
11360         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
11361         for CCFPmode.
11362
11363 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11364
11365         * config/mips/crtn.asm: Don't use __mips16 to determine the
11366         return-address offset.  Define RA to a suitable temporary
11367         register for the return address.
11368
11369 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11370
11371         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
11372         constraints to 'd'.
11373
11374 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
11375
11376         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
11377         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
11378         patch on 2002-07-29.)
11379         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11380
11381 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11382
11383         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
11384         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
11385         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
11386         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
11387         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
11388         (ASM_GLOBALIZE_LABEL): Delete.
11389         (GLOBAL_ASM_OP): Define.
11390
11391         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
11392
11393         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
11394         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
11395
11396 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
11397
11398         * doc/extend.texi (Hints implementation): Document that GCC
11399         mostly ignores `register'.
11400
11401 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
11402
11403         * flags.h: Declare flag_finite_math_only.
11404         Use it in definition of HONOR_NANS and
11405         HONOR_INFINITIES.
11406         * c-common.c (cb_register_builtins): Emit
11407         __FINITE_MATH_ONLY__ when flag_finite_math_only
11408         is set.
11409         * combine.c (simplify_if_then_else): If
11410         flag_finite_math_only is set, a == b has a
11411         definite value.
11412         * toplev.c: Initialize flag_finite_math_only.
11413         (set_flags_fast_math): Set it on -ffast-math.
11414         (flag_fast_math_set_p): Test it.
11415         * doc/invoke.texi: Document -ffinite-math-only.
11416
11417 2002-07-30  Richard Henderson  <rth@redhat.com>
11418
11419         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
11420         (noce_process_if_block): Likewise.
11421
11422 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
11423
11424         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
11425         Bail out early if false_expr is NULL and we'd crash due to this.
11426         * genemit.c (gen_expand): Recognize return insns even if the return
11427         appears in a parallel.
11428         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
11429         * config/fp-bit.c: Likewise.
11430         * doc/tm.texi: Document it.
11431
11432 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
11433             Zack Weinberg  <zack@codesourcery.com>
11434
11435         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
11436         CODE_FOR_nothing.  Change switch to if.
11437         (rs6000_expand_binop_builtin): Same.
11438         (rs6000_expand_builtin): Expand builtin if target support enabled.
11439         (rs6000_init_builtins): Init builtin if target support enabled.
11440         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
11441
11442 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11443
11444         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
11445
11446 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
11447
11448         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
11449
11450 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
11451
11452         * sh.md (cond_delay_slot): New attribute.
11453         (cbranch delay): Use it for anulled-true case.
11454         (stuff_delay_slot): New pattern.
11455         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
11456         delay slot insn.
11457         (gen_far_branch): Emit stuff_delay_slot pattern.
11458
11459 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11460
11461         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
11462
11463 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
11464
11465         * fold-const.c: Fix comment typos.
11466         * gcse.c: Likewise.
11467         * reload1.c: Likewise.
11468
11469 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11470
11471         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
11472         for TARGET_SPE.
11473
11474 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11475
11476         * c-pretty-print.h (pp_c_statement): Declare.
11477         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
11478         (pp_c_statement): Define.
11479
11480 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11481
11482         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
11483         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11484         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
11485         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
11486         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
11487         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
11488
11489         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
11490         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
11491
11492 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11493
11494         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
11495         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
11496         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
11497         (pp_c_expression): Update.
11498
11499 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11500
11501         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
11502         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
11503         * alpha/vms-ld.c (main): Likewise.
11504         * dsp16xx.c (double_reg_to_memory): Likewise.
11505         * mcore.c (mcore_expand_prolog): Likewise.
11506         * cppfiles.c (read_name_map): Likewise.
11507         * gensupport.c (process_rtx, identify_predicable_attribute,
11508         alter_test_for_insn): Likewise.
11509         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
11510
11511 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11512
11513         * builtins.c (expand_builtin):  Change the default behavior to
11514         only issue an error if the builtin function doesn't have a
11515         fallback library call.  Remove several cases handled by the
11516         new default.
11517
11518 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11519
11520         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11521         floating point format of the target is IEEE.
11522         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11523         format of the target is DEC.
11524
11525 2002-07-29  Richard Henderson  <rth@redhat.com>
11526
11527         * unroll.c (verify_addresses): Remove.
11528         (find_splittable_givs): Never split DEST_ADDR givs.
11529
11530 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11531
11532         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11533         is exhaustive.
11534         (Files): Improve documentation on generated source files.
11535
11536         * doc/extend.texi (Translation implementation): Document what
11537         diagnostics look like.
11538         (Identifiers implementation): Document that there's normally no
11539         limit on identifier names.
11540         (Integers implementation): Document two's complement.
11541         (Hints implementation): Document that GCC honors 'inline', mostly.
11542         (Preprocessing directives implementation): Document that GCC
11543         requires the current time.
11544
11545 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11546
11547         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11548         (pp_initializer): New macro.
11549         (pp_c_initializer): Declare.
11550         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11551         (pp_c_initializer): Define.
11552         (pp_c_initializer_list): New function.
11553         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11554         VECTOR_CST, CONSTRUCTOR.
11555         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11556         IMAGPART_EXPR.
11557         (pp_c_cast_expression): Handle FLOAT_EXPR.
11558         (pp_c_assignment_expression): Handle INIT_EXPR.
11559         (pp_c_expression): Update.
11560
11561 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11562
11563         * objc/objc-act.c (objc_init): Return immediately if filename
11564         is NULL.
11565
11566 2002-07-29  Eric Christopher  <echristo@redhat.com>
11567
11568         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11569         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11570         (SDB_DEBUGGING_INFO): Undefine.
11571         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11572         (PUT_SDB_SIZE): Remove.
11573         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11574         (STARTFILE_SPEC): Add isa3264 define.
11575         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11576         * config/mips/ecoff.h: Remove. and here...
11577         * config/mips/iris3.h: and here...
11578         * config/mips/sni-svr4.h: and here...
11579         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11580         Add assembler -mmdebug options for non-dwarf debugging.
11581         * config/mips/r3900.h: Remove debug info defines.
11582         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11583         * config/mips/isa3264.h: Ditto.
11584         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11585         change.
11586         * config/mips/t-elf: Ditto.
11587         * config/mips/t-ecoff: Ditto.
11588         * config/mips/t-r3900: Ditto.
11589         * config/mips/t-iris5-6: Ditto.
11590         * config/mips/t-isa3264: Ditto.
11591         * config/mips/t-linux: Remove.
11592         * config/mips/t-netbsd: Remove.
11593         * config/mips/t-mips: New file.
11594         * config/mips/t-gofast: Ditto.
11595         * config/mips/netbsd.h: Remove unnecessary undefines.
11596         * config/mips/linux.h: Remove #include of mips.h.
11597         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11598         for ecoff. Add gofast configure option for mips.
11599
11600 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11601
11602         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11603         linker scripts use STARTUP directives consistently.
11604         * configure: Regenerate.
11605         * config.in: Regenerate.
11606         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11607         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11608         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11609         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11610         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11611         will be the same.
11612
11613 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11614
11615         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11616
11617 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11618
11619         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11620
11621 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11622
11623         * config/rs6000/rs6000.md: Move altivec patterns from here...
11624
11625         * config/rs6000/altivec.md: ...to here.
11626
11627 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11628
11629         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11630
11631 2002-07-29  Richard Henderson  <rth@redhat.com>
11632
11633         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11634         set_mem_attributes and add BITPOS argument.  Subtract it from
11635         OFFSET when same is adjusted.
11636         (set_mem_attributes): New wrapper function.
11637         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11638         remove offset adjustment hack.
11639         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11640
11641 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11642
11643         * Makefile.in (C_OBJS): Include c-pretty-print.o
11644         (c-pretty-print.o): Add depency rule.
11645         * pretty-print.h: Add more macros.
11646         * c-pretty-print.c: New file.
11647         * c-pretty-print.h: Likewise.
11648
11649 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11650
11651         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11652         constants to __ev64_s32__.
11653         (__internal_ev_mwhgsmian): Same.
11654         (__internal_ev_mwhgsmfan): Same.
11655         (__internal_ev_mwhgssfan): Same.
11656         (__internal_ev_mwhgumiaa): Same.
11657         (__internal_ev_mwhgsmiaa): Same.
11658         (__internal_ev_mwhgsmfaa): Same.
11659         (__internal_ev_mwhgssfaa): Same.
11660
11661 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11662
11663         * varasm.c (assemble_variable): Narrow test for uninitialized
11664         without BSS target support.
11665
11666 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11667
11668         * profile.c: Add file comment describing the overall algorithm and
11669         structures.
11670         (struct edge_info): Add comments.
11671         (struct bb_info): Add comments.
11672         * basic-block.h (EDGE_*): Add comments.
11673         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11674
11675 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11676
11677         * config/xtensa/elf.h, config/xtensa/linux.h
11678         (TARGET_OS_CPP_BUILTINS): Define.
11679         (CPP_PREDEFINES): Remove.
11680         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11681         (CPP_SPEC): Remove.
11682
11683 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11684
11685         * gensupport.c: Include hashtab.h.
11686         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11687         maybe_eval_c_test): New routines and data structures to
11688         support insn elision.
11689         (init_md_reader): Read and initialize the condition_table.
11690         (read_md_rtx): Discard insn patterns whose C test is provably
11691         always false.
11692         * gensupport.h: Declare new functions and data structures.
11693
11694         * genconditions.c, dummy-conditions.c: New files.
11695         * Makefile.in: Build genconditions; run it to construct
11696         insn-conditions.c; build that and link it into most gen*
11697         programs.
11698         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11699         (GEN): Delete, unused.
11700         (STAGESTUFF): Update.
11701
11702         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11703         CODE_FOR_nothing for all elided patterns.
11704         (main): Tweaked to support this.
11705         * genflags.c (gen_proto): Emit a static inline generator
11706         function here for all elided patterns, which simply returns
11707         NULL_RTX.
11708         (gen_insn): Do not define HAVE_xxx for elided patterns.
11709         (main): Tweaked to support this.  No need to forward-declare
11710         struct rtx_def.
11711         * genrecog.c: Do not bother emitting the C test if it's known
11712         to be true at compile time.
11713
11714 2002-07-29  Mike Stump  <mrs@apple.com>
11715
11716         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11717         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11718
11719 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11720
11721         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11722         remove clobber of LR.
11723         (sibcall_insn, sibcall_value_insn): Update accordingly.
11724         (sibcall_epilogue): Remove debugging comment from assembler stream.
11725
11726 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11727
11728         * pretty-print.h: Define more macros.
11729         * diagnostic.h (output_formatted_integer): Moved from...
11730         * diagnostic.c: ... here.
11731
11732 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11733
11734         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11735
11736 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11737
11738         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11739         arguments.  Always use ".-symbol" as expression argument.
11740         * doc/tm.texi: Update to match.  Document requirement for
11741         ".size symbol, .-symbol" to be acceptable to assembler.
11742
11743         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11744         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11745         config/i386/freebsd-aout.h, config/i386/sco5.h,
11746         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11747         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11748
11749 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11750
11751         * Makefile.in (gengtype-lex.c): Fix error in last change.
11752
11753         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11754         backslash.
11755
11756         * Makefile.in (vmsdbgout.o): Depend on function.h.
11757
11758         * vmsdbgout.c: Include function.h.
11759
11760 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11761
11762         * prefix.c (update_path): Don't strip single `.' path components
11763         unless stripping a later `..' component.  Exit loop as soon as
11764         a valid path is found.
11765
11766 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11767
11768         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11769         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11770         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11771         floating point unordered comparisons (e.g. __builtin_isgreater)
11772         as const, and leave the remaining GCC_BUILTINs unchanged.
11773
11774         * c-decl.c (builtin_function): No need to explicitly mark
11775         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11776
11777 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11778
11779         * Makefile.in: rtlanal.o now depends upon real.h.
11780
11781         * flags.h [flag_signaling_nans]: New flag.
11782         [HONOR_SNANS]: New macro.
11783
11784         * toplev.c [flag_signaling_nans]: Initialize to false.
11785         (f_options): Add processing for "-fsignaling-nans".
11786         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
11787         (process_options): flag_signaling_nans implies flag_trapping_math.
11788
11789         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
11790         when -fsignaling-nans.  First step to implementing WG14's N965.
11791
11792         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
11793         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
11794         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
11795
11796         * simplify-rtx.c (simplify_relational_operation): Conditionalize
11797         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
11798
11799         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
11800         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
11801         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
11802         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
11803         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
11804
11805         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
11806
11807 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11808
11809         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
11810         * gengtype-lex.l (YY_USE_PROTOS): Undef.
11811         (YY_DECL): Define.
11812
11813 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11814
11815         * doc/invoke.texi: Document that both -fno-builtin-foo and
11816         -fno-builtin are supported by the g++ front-end.
11817
11818 2002-07-27  Stan Shebs  <shebs@apple.com>
11819
11820         * configure.in: Rename config_gtfiles to target_gtfiles.
11821         * configure: Regenerate.
11822         * doc/gty.texi: Update reference.
11823         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
11824         instead of appending to it.
11825
11826 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
11827
11828         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
11829         vectors are split into two registers.
11830         (function_arg): Same.
11831
11832 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
11833
11834         * pa.md (extv): Check predicates before emitting extv_32.
11835
11836 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
11837
11838         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
11839         (rs6000_traceback): New var.
11840         (rs6000_override_options): Set rs6000_traceback.
11841         (rs6000_output_function_epilogue): Implement traceback options.
11842         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
11843         (rs6000_traceback_name): Declare.
11844
11845         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
11846         label reference when NO_PROFILE_COUNTERS.
11847
11848 2002-07-26  Jason Merrill  <jason@redhat.com>
11849
11850         * function.c (assign_parms): Handle frontend-directed pass by
11851         invisible reference.
11852
11853 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11854
11855         * doc/cppopts.texi: Update.
11856
11857 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11858
11859         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
11860         warnings on assertions.
11861
11862 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11863
11864         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
11865         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
11866         RID_COMPL): Remove.
11867         * c-parse.in (rid_to_yy): Similarly.
11868
11869 2002-07-26  Jason Merrill  <jason@redhat.com>
11870
11871         * c-dump.c: Resurrect.
11872         * tree-dump.c: Move C-specific stuff to c-dump.c.
11873         * c-common.h: Declare c_dump_tree.
11874         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
11875         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
11876         (c-dump.o): New rule.
11877
11878 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
11879
11880         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
11881         PowerPC64.  Replace "T" and "S" constraints with "n" when the
11882         predicate will do.  Formatting fixes.
11883         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
11884         as for extzvsi_internal1.
11885
11886 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11887
11888         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
11889         DERIV_END_LABEL_FMT): Remove.
11890         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
11891
11892 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11893
11894         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
11895         Remove.
11896
11897 2002-07-25  Stan Shebs  <shebs@apple.com>
11898
11899         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
11900         local var dwarfp.
11901         (output_compiler_stub): Remove unused locals.
11902         (output_call): Always initialize line number.
11903
11904 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11905
11906         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
11907         * sh.md (truncdiqi2, movqi_media): Likewise.
11908
11909 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11910
11911         * gcse.c (obstack_chunk_alloc): Remove.
11912         (gcse_alloc): Fix to count allocated bytes.
11913         * collect2.c (SYMBOL__MAIN): Remove.
11914
11915 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11916
11917         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
11918         HAVE_TARGET_EXECUTABLE_SUFFIX.
11919
11920 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11921
11922         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
11923         SIZE, EXPR and OFFSET.
11924
11925 2002-07-25  Richard Henderson  <rth@redhat.com>
11926
11927         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
11928         in ARRAY_REF of DECL_P case.
11929
11930 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11931
11932         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
11933         description.  Document -mips32, -mips64, and the associated -march
11934         values.  Describe the "mipsN" arguments to -march.  Say that the
11935         -mipsN options are equivalent to -march.  Reword the description
11936         of default type sizes.
11937         * toplev.h (target_flags_explicit): Declare.
11938         * toplev.c (target_flags_explicit): New var.
11939         (set_target_switch): Update target_flags_explicit.
11940         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
11941         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
11942         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
11943         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
11944         * config/mips/mips.h (mips_cpu_info): New struct.
11945         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11946         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
11947         (MIPS_CPP_SET_PROCESSOR): New macro.
11948         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
11949         Define _MIPS_ARCH and _MIPS_TUNE.
11950         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
11951         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
11952         MIPS_ISA_DEFAULT were already defined.
11953         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
11954         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
11955         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
11956         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
11957         (ABI_GAS_ASM_SPEC): Remove.
11958         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
11959         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
11960         Invoke %(asm_abi_default_spec) if no ABI was specified.
11961         (CC1_SPEC): Remove ISA -> register-size rules.
11962         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
11963         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
11964         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11965         (mips_cpu_info_table): New array.
11966         (mips_set_architecture, mips_set_tune): New fns.
11967         (override_options): Rework to make -mipsN equivalent to -march.
11968         Detect more erroneous cases, including those removed from CC1_SPEC.
11969         Don't change the ABI based on architecture, or vice versa.
11970         Unify logic with GAS.
11971         (mips_asm_file_start): Get architecture name from mips_arch_info.
11972         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
11973         (mips_parse_cpu): Take the name of the option as argument.  Handle
11974         'from-abi'.  Raise an error if the option is wrong.
11975         (mips_cpu_info_from_isa): New fn.
11976
11977 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11978
11979         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
11980         (tablejump_mips162): Likewise.
11981
11982 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
11983
11984         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
11985         int_mode_for_mode.
11986
11987 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
11988
11989         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
11990         complaining.
11991         * c-common.h (c_sizeof): Adjust definition.
11992         (c_alignof): Likewise.
11993         * c-tree.h (c_sizeof_nowarn): Now macro.
11994         * c-typeck.c (c_sizeof_nowarn): Remove definition.
11995
11996 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11997
11998         * c-decl.c (c_decode_option): No need to handle switches
11999         cpplib handles.
12000
12001 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
12002
12003         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
12004         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
12005         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
12006         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
12007
12008         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
12009         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
12010         config/cris/aout.h, config/i386/freebsd-aout.h,
12011         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
12012         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
12013         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
12014         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
12015         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
12016         config/xtensa/elf.h, config/xtensa/linux.h:
12017         Use the new macros.
12018         Where possible, remove redundant definitions of SIZE_ASM_OP,
12019         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
12020
12021 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
12022
12023         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
12024         TARGET_ISEL, and TARGET_FPRS.
12025
12026         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
12027         -mabi=spe, -mabi=no-spe, and -misel=.
12028
12029         * config/rs6000/rs6000-protos.h: Add output_isel.
12030         Move vrsave_operation prototype here.
12031
12032         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
12033         (smaxsi3): Same.
12034         (uminsi3): Same.
12035         (umaxsi3): Same.
12036         (abssi2_nopower): Disallow when TARGET_ISEL.
12037         (*ne0): Same.
12038         (negsf2): Change to expand and rename old pattern to *negsf2.
12039         (abssf2): Change to expand and rename old pattern to *abssf2.
12040
12041         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
12042         fixunssfsi2.
12043
12044         Change patterns that check for TARGET_HARD_FLOAT or
12045         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
12046
12047         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
12048         rs6000_isel, rs6000_fprs, rs6000_isel_string.
12049         (rs6000_override_options): Add 8540 case to
12050         processor_target_table.
12051         Set rs6000_isel for the 8540.
12052         Call rs6000_parse_isel_option.
12053         (enable_mask_for_builtins): New.
12054         (rs6000_parse_isel_option): New.
12055         (rs6000_parse_abi_options): Add spe and no-spe.
12056         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
12057         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
12058         for TARGET_HARD_FLOAT.
12059         Add case for SPE_VECTOR_MODE.
12060         (rs6000_legitimize_reload_address): Handle SPE vector modes.
12061         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
12062         vector modes.
12063         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
12064         (rs6000_emit_move): Check for TARGET_FPRS.
12065         Add cases for SPE vector modes.
12066         (function_arg_boundary): Return 64 for SPE vector modes.
12067         (function_arg_advance): Check for TARGET_FPRS and
12068         Handle SPE vectors.
12069         (function_arg): Same.
12070         (setup_incoming_varargs): Check for TARGET_FPRS.
12071         (rs6000_va_arg): Same.
12072         (struct builtin_description): Un-constify mask field.  Move up in
12073         file.
12074         (bdesc_2arg): Un-constify and add SPE builtins.
12075         (bdesc_1arg): Same.
12076         (bdesc_spe_predicates): New.
12077         (bdesc_spe_evsel): New.
12078         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
12079         (rs6000_expand_binop_builtin): Same.
12080         (bdesc_2arg_spe): New.
12081         (spe_expand_builtin): New.
12082         (spe_expand_predicate_builtin): New.
12083         (spe_expand_evsel_builtin): New.
12084         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
12085         (rs6000_init_builtins): Initialize SPE builtins.  Call
12086         rs6000_common_init_builtins.
12087         (altivec_init_builtins): Move all non-altivec builtin code to...
12088         (rs6000_common_init_builtins): ...here.  New function.
12089         (branch_positive_comparison_operator): Allow NE code for SPE.
12090         (ccr_bit): Return correct ccr bit for SPE fp.
12091         (print_operand): Emit crnor in 'D' case for SPE.
12092         New case 't'.
12093         Add SPE code for 'y' case.
12094         (rs6000_generate_compare): Generate rtl for SPE fp.
12095         (output_cbranch): Handle SPE hard floats.
12096         (rs6000_emit_cmove): Handle isel.
12097         (rs6000_emit_int_cmove): New.
12098         (output_isel): New.
12099         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
12100         64-bits for SPE.
12101         (debug_stack_info): Add SPE info.
12102         (gen_frame_mem_offset): New.
12103         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
12104         Change mode of frame pointer, when saving it, to Pmode.
12105         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
12106         Misc cleanups and use gen_frame_mem_offset when appropriate.
12107
12108         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
12109         (TARGET_SPE_ABI): New.
12110         (TARGET_SPE): New.
12111         (TARGET_ISEL): New.
12112         (TARGET_FPRS): New.
12113         (FIXED_SCRATCH): New.
12114         (RTX_COSTS): Add PROCESSOR_PPC8540.
12115         (ASM_CPU_SPEC): Add case for 8540.
12116         (TARGET_OPTIONS): Add isel= case.
12117         (rs6000_spe_abi): New.
12118         (rs6000_isel): New.
12119         (rs6000_fprs): New.
12120         (rs6000_isel_string): New.
12121         (UNITS_PER_SPE_WORD): New.
12122         (LOCAL_ALIGNMENT): Adjust for SPE.
12123         (HARD_REGNO_MODE_OK): Same.
12124         (DATA_ALIGNMENT): Same.
12125         (MEMBER_TYPE_FORCES_BLK): New.
12126         (FIRST_PSEUDO_REGISTER): Set to 113.
12127         (FIXED_REGISTERS): Add SPE registers.
12128         (reg_class): Same.
12129         (REG_CLASS_NAMES): Same.
12130         (REG_CLASS_CONTENTS): Same.
12131         (REGNO_REG_CLASS): Same.
12132         (REGISTER_NAMES): Same.
12133         (DEBUG_REGISTER_NAMES): Same.
12134         (ADDITIONAL_REGISTER_NAMES): Same.
12135         (CALL_USED_REGISTERS): Same.
12136         (CALL_REALLY_USED_REGISTERS): Same.
12137         (SPE_ACC_REGNO): New.
12138         (SPEFSCR_REGNO): New.
12139         (SPE_SIMD_REGNO_P): New.
12140         (HARD_REGNO_NREGS): Adjust for SPE.
12141         (VECTOR_MODE_SUPPORTED_P): Same.
12142         (REGNO_REG_CLASS): Same.
12143         (FUNCTION_VALUE): Same.
12144         (LIBCALL_VALUE): Same.
12145         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
12146         (SPE_VECTOR_MODE): New.
12147         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
12148         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
12149         (rs6000_stack): Add spe_gp_size, spe_padding_size,
12150         spe_gp_save_offset.
12151         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
12152         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
12153         (SPE_CONST_OFFSET_OK): New.
12154         (rs6000_builtins): Add SPE builtins.
12155
12156         * testsuite/gcc.dg/ppc-spe.c: New.
12157
12158         * config/rs6000/eabispe.h: New.
12159
12160         * config/rs6000/spe.h: New.
12161
12162         * config/rs600/spe.md: New.
12163
12164         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
12165         __SIMD__ for TARGET_SPE.
12166
12167         * config.gcc: Add powerpc-*-eabispe* case.
12168         Add spe.h to user headers for powerpc.
12169
12170 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12171
12172         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
12173         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12174         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
12175
12176 2002-07-24  Richard Henderson  <rth@redhat.com>
12177
12178         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
12179         form when not optimizing.
12180
12181 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
12182
12183         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
12184         thread_pointer_rtx as unchanging.
12185
12186 2002-07-24  Michael Matz  <matz@suse.de>
12187
12188         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
12189         (free_reg): Use it.
12190
12191 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
12192
12193         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
12194         pattern.
12195         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
12196         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
12197
12198 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12199
12200         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
12201         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12202         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
12203
12204 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
12205
12206         * toplev.c (rest_of_compilation): Dump loops before clobbering
12207         the structure.
12208
12209 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12210
12211         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
12212
12213 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
12214
12215         PR optimization/7291
12216         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
12217         problem on x86_64.
12218
12219 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
12220
12221         * pretty-print.h: Add macros from cp/error.c
12222
12223 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12224
12225         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
12226         (mask64_2_operand): Declare.
12227         (build_mask64_2_operands): Declare.
12228         (and64_2_operand): Declare.
12229         (extract_MB): Declare.
12230         (extract_ME): Declare.
12231         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
12232         CONST_DOUBLE code.
12233         (mask_operand_wrap): New insn predicate.
12234         (mask64_2_operand): Likewise.
12235         (and64_2_operand): Likewise.
12236         (build_mask64_2_operands): New function.
12237         (extract_MB): New function.
12238         (extract_ME): New function.
12239         (print_operand <case m,M>): Use extract_MB and extract_ME.
12240         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
12241         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
12242         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
12243         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
12244         * config/rs6000/rs6000.md (andsi3_internal3): New
12245         (andsi3_internal3+1): Enable split for powerpc64.
12246         (andsi3_internal3+2): New split.
12247         (andsi3_internal4): Renamed old andsi3_internal3.
12248         (andsi3_internal5): New.
12249         (andsi3_internal5+1): Enable split for powerpc64.
12250         (andsi3_internal5+2): New split.
12251         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
12252         (anddi3): Handle 't' constraint.
12253         (anddi3+1): New split.
12254         (anddi3_internal2): Handle 't' constraint.
12255         (anddi3_internal2+1): New split.
12256         (anddi3_internal3): Handle 't' constraint.
12257         (anddi3_internal3+1): New split.
12258
12259 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12260
12261         * config/rs6000/rs6000.md: Remove scratch reg on insns using
12262         addze and similar (plus (comparison r1 r2) r3) insns.  Add
12263         missing scratch reg in one case.  Formatting fixes.
12264
12265 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
12266
12267         * cppexp.c (parse_defined): Mark macro used.
12268         * cpphash.h (struct cpp_macro): New member "used".
12269         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
12270         (struct cpp_reader): New member.
12271         * cppinit.c (cpp_finish_options): Set first_unused_line.
12272         (cpp_finish): Warn of unused macros if requested.
12273         (OPT_TABLE): New switches.
12274         (cpp_handle_option): Handle them.
12275         * cpplib.c (do_undef): Warn if macro unused.
12276         (do_ifdef, do_ifndef): Mark macro used.
12277         * cpplib.h (struct cpp_options): New member.
12278         * cppmacro.c (_cpp_warn_if_unused_macro): New.
12279         (enter_macro_context): Mark macro used.
12280         (_cpp_create_definition): Mark macro unused; warn if unused
12281         when redefined.
12282         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
12283         Mark macros used.
12284         * doc/cppopts.texi: Update.
12285
12286 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12287
12288         * dwarf2out.c (SECTION_ASM_OP,
12289         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12290         * system.h (SECTION_ASM_OP): Poison.
12291         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
12292         * config/alpha/alpha-interix.h, config/mips/linux.h
12293         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12294         * config/mmix/mmix-protos.h, config/mmix/mmix.c
12295         (mmix_asm_output_define_label_difference_symbol): Remove.
12296         * config/mmix/mmix.h
12297         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12298         * doc/tm.texi: Remove documentation.
12299
12300 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
12301
12302         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
12303         (constrain_operands): Likewise.
12304         * regclass.c (record_reg_classes): Likewise.
12305         * reload.c (find_reloads): Likewise.
12306         * doc/md.texi: Likewise.
12307
12308         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
12309         * simplify-rtx.c (simplify_subreg): When converting to a non-int
12310         mode, try to convert to an integer mode of matching size first.
12311
12312         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
12313         from individual subregs, check that each subreg has been generated
12314         sucessfully.
12315
12316 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12317
12318         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
12319         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
12320         FOR_EACH_BB_IN_SBITMAP): Remove.
12321         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
12322         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
12323         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
12324         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
12325         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
12326         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
12327
12328 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12329
12330         * pretty-print.h: New file.
12331
12332 2002-07-23      Paul Koning     <pkoning@equallogic.com>
12333
12334         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
12335         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
12336         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
12337         (TARGET_G_FLOAT): Default to 0 if not defined.
12338         (ieeetoe): New, common routine to convert target format floats
12339         to internal form.
12340         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
12341         vs. others.
12342         (e113toe): Change to use ieeetoe.
12343
12344 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12345
12346         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
12347         IBM.
12348         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
12349         (e64toe): Remove special cases for DEC and IBM. Remove support for
12350         ARM_EXTENDED_IEEE_FORMAT.
12351         (e24toe): Remove special cases for DEC.
12352         (significand_size): Simplify. Indent.
12353         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
12354         (etoieee, toieee): New.
12355         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
12356         etoieee and toieee for IEEE arithmetic.
12357
12358 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12359
12360         * doc/extend.texi: Say ISO C90, not ISO C89.
12361         * doc/invoke.texi: Likewise.
12362         * doc/standards.texi: Likewise.
12363
12364 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
12365
12366         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
12367         Fix permutation of conversion and plus/mult.
12368         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
12369         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
12370         (expand_builtin_strncpy) Ditto.
12371         (expand_builtin_memset) Ditto.
12372
12373 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12374
12375         Fix PR/7363:
12376         * c-common.c (c_sizeof_or_alignof_type): New function.
12377         (c_alignof): Remove definition.
12378         * c-common.h (c_sizeof, c_alignof): Define as macros.
12379         (c_sizeof_or_alignof_type): Declare.
12380         (my_friendly_assert): Moved from cp/cp-tree.h
12381         * c-typeck.c (c_sizeof): Remove definition.
12382
12383 2002-07-23  Jan Hubicka  <jh@suse.cz>
12384
12385         * gcse.c (try_replace_reg): Use num_changes_pending.
12386         * recog.c (num_changes_pending): New function.
12387         (validate_replace_src): Use validate_repalce_src_group.
12388         (validate_replace_src_group): New.
12389         * recog.h (validate_repalce_src_group): New.
12390         (num_changes_pending): Likewise.
12391
12392 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12393
12394         * calls.c (emit_library_call_value_1): If
12395         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
12396         libcall, const call nor pure call.
12397
12398 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12399
12400         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
12401
12402 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12403
12404         * vmsdbgout.c (SECTION_ASM_OP): Remove.
12405
12406 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12407
12408         * config/i386/i386.c (AT_BP): Remove.
12409
12410 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12411
12412         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
12413         Default definition.
12414         * gcse.c: Don't define obstack_chunk_free.
12415         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
12416         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
12417         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
12418         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
12419         Don't define obstack macros.
12420
12421 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12422
12423         PR target/6744
12424         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
12425         ASM_OPERANDS instructions.
12426
12427 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12428
12429         PR target/7361
12430         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
12431         constant addresses only on 68HC12.
12432
12433 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12434
12435         * cppfiles.c (stack_include_file): Correct test of whether
12436         a dependency should be output.
12437
12438 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
12439
12440         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
12441
12442 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
12443
12444         * arm.md (movqi): If optimizing and we can create pseudos, use
12445         a ZERO_EXTEND to load from memory, then copy the result into the
12446         target.
12447         (movhi): Likewise, but only for ARMv4.
12448
12449 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12450
12451         * ssa-ccp.c (PHI_PARMS): Remove.
12452
12453 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
12454
12455         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
12456         on big-endian targets.
12457
12458 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12459
12460         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
12461         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
12462         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
12463         New formatting macros.
12464
12465         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
12466
12467 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12468
12469         * rtlanal.c (subreg_regno_offset): Return correct offset for
12470         big endian paradoxical subregs.
12471
12472         * optabs.c (expand_vector_unop): Don't expand using sub_optab
12473         if we got the wrong mode.
12474
12475         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
12476         * genrecog.c (write_switch, write_cond): Use it.
12477         * genemit.c (gen_exp): Likewise.
12478
12479 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12480
12481         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
12482
12483 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12484
12485         * c-decl.c (build_compound_literal): Defer compound literal decls
12486         until until file end to emit them only if they are actually used.
12487
12488 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12489
12490         * ra-build.c (check_conflict_numbers): Hide unused function.
12491         (livethrough_conflicts_bb): Avoid automatic aggregate
12492         initialization.
12493         (parts_to_webs_1): Avoid `U' integer constant modifier.
12494         (conflicts_between_webs): Wrap a variable in the macro controlling
12495         its usage.
12496         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
12497         (dump_igraph, dump_graph_cost): Avoid string concatenation
12498         (dump_static_insn_cost): Avoid automatic aggregate
12499         initialization.
12500         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
12501         initialization.
12502         (dump_cost): Avoid string concatenation
12503
12504 2002-07-21  Richard Henderson  <rth@redhat.com>
12505
12506         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
12507         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
12508
12509 2002-07-21  Richard Henderson  <rth@redhat.com>
12510
12511         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12512         that are not unrolled completely.
12513
12514 2002-07-21  Richard Henderson  <rth@redhat.com>
12515
12516         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12517         * loop.c (strength_reduce): Update.
12518         * toplev.c (rest_of_compilation): Do unrolling in the first
12519         loop pass, not the second.
12520
12521 2002-07-21  Richard Henderson  <rth@redhat.com>
12522
12523         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12524         when flag_argument_noalias == 2.
12525         * alias.c (nonoverlapping_memrefs_p): Handle that.
12526         * print-rtl.c (print_mem_expr): Likewise.
12527
12528 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12529
12530         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12531         instead of __negdi2 directly.
12532
12533 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12534
12535         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12536         * function.c (SYMBOL__MAIN): Remove definition.
12537         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12538         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12539         * profile.c (GCOV_INDEX_TO_BB): Remove.
12540         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12541         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12542
12543 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12544
12545         * c-lex.c (GET_ENVIRONMENT): Remove.
12546         * collect2.c (GET_ENV_PATH_LIST): Remove.
12547         (prefix_from_env): Use GET_ENVIRONMENT.
12548         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12549         (init_standard_includes): Use GET_ENVIRONMENT.
12550         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12551         * gcc.c (GET_ENV_PATH_LIST): Remove.
12552         (make_relative_prefix, process_command): Update.
12553         * protoize.c (GET_ENV_PATH_LIST): Remove.
12554         (do_processing): Update.
12555
12556 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12557
12558         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12559         (grokdeclarator): Likewise.
12560         * c-format.c (C_STD_NAME): Likewise.
12561         * c-lex.c (interpret_integer): Likewise.
12562         * c-typeck.c (build_array_ref): Likewise.
12563         * cpplex.c (_cpp_lex_direct): Likewise.
12564         * toplev.c (documented_lang_options): Likewise.
12565
12566 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12567
12568         * c-format.c (T99_I, T99_UI): Remove.
12569
12570 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12571
12572         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12573
12574 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12575
12576         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12577         do_local_cprop.
12578
12579 2002-07-21  Andreas Jaeger  <aj@suse.de>
12580
12581         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12582
12583 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12584
12585         Improvements for the ifcvt pass from Michael Meissner, with patches
12586         by Richard Sandiford <rsandifo@redhat.com>
12587         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12588         * ifcvt.c (cond_exec_changed_p): New static variable.
12589         (last_active_insn): New function, renamed from last_active_insn_p
12590         and changed to return the last active insn in a basic block. All
12591         callers updated.
12592         (block_fallthru): New function.
12593         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12594         IFCVT_MODIFY_INSN.  All callers updated.
12595         Return false if START or END are NULL.
12596         Handle case where we're processing an insn that is already
12597         conditional.
12598
12599         (noce_process_if_block): CE_INFO argument rather than
12600         multiple args containing the involved basic blocks.  All callers
12601         changed.
12602         (process_if_block, merge_if_block, find_if_block,
12603         cond_exec_process_if_block): Likewise.
12604
12605         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12606         changed.
12607         Use new function last_active_insn to simplify some code.
12608         New code to handle multiple tests.
12609         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12610         cond_exec_changed_p to TRUE.
12611
12612         (process_if_block): New code to handle multiple tests.
12613         (merge_if_block): Likewise.
12614         (find_if_header): New arg PASS.  Changed to return the currently
12615         processed basic block or NULL instead of true/false. All callers
12616         changed.
12617         Call IFCVT_INIT_EXTRA_FIELDS.
12618         (block_jumps_and_fallthru_p): New function.
12619         (find_if_block): Discover opportunities to convert multiple tests.
12620         Add additional debugging output.
12621         Update the ce_info structure before returning.
12622
12623         (if_convert): Run multiple passes of if-conversion.
12624         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12625         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12626         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12627         these macros.
12628
12629 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12630
12631         * gcse.c: Include cselib.h
12632         (constptop_register): Break out from ...
12633         (cprop_insn): ... here; kill basic_block argument.
12634         (do_local_cprop, local_cprop_pass): New functions.
12635         (one_cprop_pass): Call local_cprop_pass.
12636
12637 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12638
12639         * simplify-rtx.c (simplify_relational_operation): Optimize
12640         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12641
12642 2002-07-20  Michae Matz  <matz@suse.de>
12643
12644         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12645
12646 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12647
12648         * cppexp.c (struct op): Add token pointer.
12649         (check_promotion, CHECK_PROMOTION): New.
12650         (optab): Update.
12651         (_cpp_parse_expr): Update, use token pointer of struct op.
12652         (reduce): Warn about change of sign owing to promotion.
12653         * cppinit.c (cpp_handle_option): New warning if -Wall.
12654         * cpplib.h (struct cpp_options): New member.
12655
12656 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12657
12658         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12659         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12660         Power4 fpcompare.
12661         (fix_truncdfsi2_internal): Restore FPR preference.
12662         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12663         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12664
12665 2002-07-19  Momchil Velikov <velco@fadata.bg>
12666
12667         * reload1.c (reload_as_needed): Duplicate oldpat.
12668
12669 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12670
12671         PR optimization/7130
12672         * loop.h (struct loop_info): Add "preconditioned".
12673         * unroll.c (unroll_loop): Set it.
12674         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12675
12676 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12677
12678         * rtl.def (CODE_LABEL): Remove slot 8.
12679         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12680         (LABEL_ALTERNATE_NAME): Delete.
12681         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12682         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12683
12684         * final.c (output_alternate_entry_point): New.
12685         (final_scan_insn): Use it instead of
12686         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12687         of a case label being an alternate entry point.
12688
12689         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12690         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12691         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12692         (field deleted).
12693         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12694
12695         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12696         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12697         * doc/tm.texi: Delete documentation of
12698         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12699
12700 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12701
12702         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12703         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12704         (LINK_SPEC): Define.
12705         (STARTFILE_SPEC): Define.
12706         (ENDFILE_SPEC): Define.
12707
12708         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12709         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12710
12711         * config/mips/iris6-o32-gas.h: New file.
12712         * config.gcc (mips-sgi-irix6*o32): Use it.
12713
12714         * config/mips/t-iris5-gas: New file.
12715         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12716
12717 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12718
12719         * cppexp.c (ALWAYS_EVAL): Remove.
12720         (optab, reduce): Always evaluate.
12721         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12722         only if not skipping evaluation.
12723
12724 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12725
12726         * config/avr/avr.c (debug_hard_reg_set): Remove.
12727
12728 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12729
12730         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12731
12732 2002-07-19  Richard Henderson  <rth@redhat.com>
12733
12734         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12735
12736 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12737
12738         * prefix.c (update_path): Don't zap single `.' path components
12739         unless followed by another `.' and fix typo last patch.
12740
12741 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12742
12743         * cppexp.c (cpp_num_mul): Remove unused parameter.
12744         (UNARY, BINARY, OTHER, binary_handler): Remove.
12745         (ALWAYS_EVAL): New.
12746         (optab): Update.
12747         (reduce): Refactor to a large switch, don't use a function
12748         pointer.
12749
12750 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12751
12752         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12753
12754 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12755
12756         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12757         (sh_expand_binop_v2sf): Likewise.
12758         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12759         (int_gpr_dest, trunc_hi_operand): New functions.
12760         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12761         trunc_hi_operand.
12762         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12763         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12764         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12765         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12766         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12767         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12768         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12769         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12770         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12771         (movsf_ie+1): Likewise.
12772         (loaddi_trunc): Use int_gpr_dest predicate.
12773         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12774         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12775         (casesi_worker_0+[12], casesi_worker): Likewise.
12776         (shcompact_preserve_incoming_args): Likewise.
12777         (mov_nop): Use any_register_operand predicate.
12778         (mperm_w0): Use trunc_hi_operand predicate.
12779
12780 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12781
12782         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12783         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
12784         numbering.
12785
12786 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12787
12788         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
12789
12790 2002-07-18  Richard Henderson  <rth@redhat.com>
12791
12792         PR optimization/7147
12793         * ifcvt.c (noce_get_condition): Make certain that the condition
12794         is valid at JUMP.
12795
12796 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
12797
12798         * sh.c (barrier_align, push): Shut up compiler warnings.
12799         (initial_elimination_offset,sh_media_init_builtins): Likewise.
12800         (reg_no_subreg_operand): Delete.
12801
12802 2002-07-17  Bo Thorsen  <bo@suse.de>
12803
12804         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
12805         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
12806         (STARTFILE_SPEC): Remove hardcoded library paths.
12807         (ENDFILE_SPEC): Likewise.
12808
12809 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
12810
12811         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
12812
12813         * gcse.c (try_replace_reg): Do not return false positives.
12814
12815 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12816
12817         * prefix.c: (update_path): Strip ".." components when prior dir
12818         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
12819
12820         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
12821         (ASM_OUTPUT_REG_POP): Likewise.
12822
12823 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12824
12825         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
12826         adjustments to first_reg for profiling case.
12827         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
12828         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
12829         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
12830         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
12831         (ASM_OUTPUT_REG_POP): Define.
12832         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
12833         (ASM_OUTPUT_REG_POP): Undef.
12834
12835 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12836
12837         * cpplib.c (do_sccs): Handle #sccs on all systems.
12838         * system.h (SCCS_DIRECTIVE): Poison.
12839         * config/darwin.h, config/freebsd.h, config/netbsd.h,
12840         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
12841         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
12842         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
12843         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
12844         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
12845         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
12846         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
12847         Remove all references to SCCS_DIRECTIVE.
12848         * doc/cpp.texi, doc/tm.texi: Update.
12849
12850 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
12851
12852         * regrename.c (maybe_mode_change): New function.
12853         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
12854
12855 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
12856
12857         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
12858         suppress addition when either ct or cf are zero.
12859
12860 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
12861             Glen Nakamura <glen@imodulo.com>
12862
12863         PR optimization/6713
12864         * loop.c (loop_givs_rescan): Explicitly delete the insn that
12865         sets a non-replaceable giv after issuing the new one.
12866
12867 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12868
12869         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
12870         eval_token): Clarify and correct use of "bool" variables.
12871         * cpplib.h (struct cpp_options): Similarly.
12872         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
12873         * cpptrad.c (recursive_macro): Similarly.
12874
12875 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
12876
12877         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
12878         SHmedia code.
12879
12880         * sh.md (cmpgtudi_media): Remove spurious @.
12881
12882         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
12883         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
12884
12885         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
12886         * sh-protos.h (sh_initialize_trampoline): Declare.
12887         * sh.c (sh_initialize_trampoline): New function.
12888         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
12889         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
12890         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
12891         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
12892         * sh.md (initialize_trampoline, double_shori): New patterns.
12893         (initialize_trampoline_compact): Likewise.
12894         (shmedia32_initialize_trampoline_big): Remove.
12895         (shmedia32_initialize_trampoline_little): Likewise.
12896
12897         * sh-protos.h (binary_float_operator): Remove declaration.
12898         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
12899         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
12900         (unary_float_operator, sh_expand_unop_v2sf): New functions.
12901         (sh_expand_binop_v2sf): Likewise.
12902         (zero_vec_operand): Delete.
12903         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
12904         all non-shared ones.
12905         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
12906         Enable nsb and byterev.
12907         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
12908         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
12909         in general regs.
12910         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
12911         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
12912         immediate operands.
12913         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
12914         Add DF_HI_REGS.
12915         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
12916         lowpart fp regs - only for big endian for now.
12917         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
12918         when FPU is in use.
12919         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
12920         (LOAD_EXTEND_OP): NIL for SImode.
12921         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
12922         general and fp registers is 4.
12923         PREDICATE_CODES: Amend binary_float_operator entry.
12924         Remove zero_vec_operand.  Add unary_float_operator.
12925         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
12926         subreg SET_DEST.
12927         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
12928         (truncdiqi2): Do sign extension.
12929         (movsi_media, movdi_media): Allow to use r63 to an fp register.
12930         (movdf_media, movsf_media): Likewise.
12931         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
12932         Collapse to one define_insn_and_split.  Allow immediate sources.
12933         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
12934         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
12935         (movv4sf): Allow immediate sources.
12936         (movsf_media_nofpu+1): Don't split moves to FP registers.
12937         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
12938         (movv8qi_i+3): Check against CONST0_RTX.
12939         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
12940         for input and output operands.  Fix argument 3 to gen_mextr_rl.
12941         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
12942         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
12943         (mshf0_w, fipr, ftrv): Likewise.
12944         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
12945
12946 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12947
12948         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
12949         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
12950         * arm.c: Similarly.
12951
12952 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
12953
12954         * config/mips/mips-protos.h (mips_sign_extend): Declare.
12955         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
12956         (TARGET_SWITCHES): Remove debugh.
12957         (ISA_HAS_TRUNC_W): New macro.
12958         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
12959         (PREDICATE_CODES): Remove se_nonimmediate_operand.
12960         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
12961         any SImode move_operand.
12962         (se_nonimmediate_operand): Remove.
12963         (mips_sign_extend): New.
12964         (mips_move_2words): Use it for sign-extended source operands.
12965         (override_options): Allow integers to be put into single FPRs.
12966         (mips_secondary_reload_class): Handle integers in float registers.
12967         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
12968         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
12969         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
12970         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
12971         (fix_truncdfdi2): Provide only a single alternative, in which the
12972         integer is in a float register.  Depend on TARGET_FLOAT64 rather
12973         than TARGET_64BIT.
12974         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
12975         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
12976         (movdi_internal2): Don't allow the source operand to be sign-extended.
12977         Add alternatives for float registers.
12978         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
12979         allows sign-extension.
12980         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
12981         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
12982         float registers.  Remove TARGET_DEBUG_H_MODE test.
12983         (movhi_internal1): Rename to movhi_internal.  Don't check
12984         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
12985         (movqi_internal1): Rename to movqi_internal and remove
12986         TARGET_DEBUG_H_MODE dependency.
12987         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
12988
12989 2002-07-16  Jim Wilson  <wilson@redhat.com>
12990
12991         * toplev.c (lang_dependent_init): Create function context for
12992         init_expr_once.
12993
12994 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
12995
12996         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
12997         --gc-sections if -r.
12998         * config/cris/cris.h: Ditto.
12999
13000 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
13001
13002         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
13003         the comparison directly gives a mask suppress addition when cf is
13004         zero by complementing the mask.
13005
13006 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
13007
13008         * Makefile.in: Delete references to enquire.
13009         * enquire.c: Move to contrib.
13010
13011 2002-07-16  Stan Shebs  <shebs@apple.com>
13012
13013         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
13014         config/rs6000/darwin.h.
13015         (ASM_OUTPUT_SKIP): Ditto.
13016         (TEXT_SECTION_ASM_OP): Ditto.
13017         (DATA_SECTION_ASM_OP): Ditto.
13018         (ASM_APP_ON): Define.
13019         (ASM_APP_OFF): Define.
13020         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
13021         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
13022
13023         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
13024         (machopic_function_base_name): Declare result to be const.
13025         (machopic_non_lazy_ptr_name): Ditto.
13026         (machopic_stub_name): Ditto.
13027         * config/darwin-protos.h: Ditto for the prototypes.
13028
13029 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
13030
13031         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
13032
13033 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
13034
13035         * i386.md (prefetch): Fix for 64bit mode.
13036         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13037
13038 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13039
13040         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
13041         * i386.c (x86_machine_dependent_reorg): New function.
13042         * i386-protos.h (x86_machine_dependent_reorg): Declare.
13043
13044 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
13045
13046         * builtins.c (std_expand_builtin_va_start): Remove unused
13047         first argument.
13048         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
13049         std_expand_builtin_va_start with just two arguments.
13050         * expr.h: Update prototypes.
13051
13052         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
13053         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
13054         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
13055         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
13056         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
13057         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
13058         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
13059         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
13060         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
13061         argument from all implementations of EXPAND_BUILTIN_VA_START
13062         and all uses of std_expand_builtin_va_start.
13063
13064 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
13065
13066         * regrename.c (copy_value): Don't record high part copies.
13067
13068 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
13069
13070         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
13071         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
13072         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
13073
13074 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13075
13076         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
13077
13078         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
13079         into addsi3 using register class "x" and "y".
13080
13081         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
13082         "earlyclobber" constraint modifier for some alternative.
13083
13084         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
13085         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
13086         unordered.
13087         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
13088
13089         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
13090         (TARGET_SWITCHES): Add -mieee-compare option.
13091         (OVERRIDE_OPTIONS): 32332 is a subset of
13092         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
13093         (TARGET_SWITCHES): Fix description of bitfield option.
13094         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
13095         -mieee-compare option. Remove 32332 flag.
13096
13097 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
13098
13099         * explow.c (convert_memory_address): Remove special handling
13100         when POINTERS_EXTEND_UNSIGNED < 0.
13101         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
13102         (movedi_symbolic): Fix typo.
13103         (load_fptr): Remove mode restriction so it works for SI and DI.
13104         (load_fptr_internal1): Ditto.
13105         (load_gprel): Ditto.
13106         (load_symptr_internal1): Ditto.
13107         (call_pic): Ditto.
13108         * config/ia64.c (call_operand): Modify mode check.
13109         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
13110         (ia64_expand_move): Ditto.
13111         (ia64_assemble_integer): Handle SImode function pointers.
13112         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
13113         (ia64_expand_op_and_fetch): Ditto.
13114         (ia64_expand_compare_and_swap): Ditto.
13115         (ia64_expand_lock_test_and_set): Ditto.
13116         (ia64_expand_lock_release): Ditto.
13117
13118 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13119
13120         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
13121
13122 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13123             Richard Earnshaw  <rearnsha@arm.com>
13124
13125         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
13126         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
13127
13128 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
13129
13130         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
13131         understands to be a memory clobber.
13132         * arm.c (arm_expand_prologue): Use it.
13133
13134 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
13135
13136         * ra-rewrite.c: #include reload.h, insn-config.h
13137         * ra-build.c: #include reload.h
13138         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
13139         depend on reload.h, insn-config.h.
13140
13141 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13142
13143         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
13144         the same size as a word.
13145
13146         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
13147         BYTES_BIG_ENDIAN into account.
13148
13149 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
13150
13151         * i386.md (prefetch): Fix for 64bit mode.
13152         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13153
13154         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
13155
13156 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13157
13158         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
13159
13160 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
13161
13162         * ginclude/varargs.h: Replace with stub which issues #error.
13163         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
13164         __builtin_va_start.
13165
13166         * builtins.def (BUILT_IN_VARARGS_START): Delete.
13167         (BUILT_IN_VA_START): New.
13168         * builtins.c (expand_builtin_va_start): Eliminate first
13169         argument and code to implement pre-ISO varargs.
13170         (std_expand_builtin_va_start): Ignore first argument; it is
13171         always 1.
13172         (expand_builtin): Handle BUILT_IN_VA_START and
13173         BUILT_IN_STDARG_START identically.  Delete
13174         BUILT_IN_VARARGS_START case.
13175
13176         * function.c (assign_parms): Delete hide_last_arg and all
13177         its uses.
13178         (mark_varargs): Delete function.
13179         * function.h (struct function): Delete 'varargs' bit.
13180         (current_function_varargs): Delete macro.
13181         * tree.h: Don't declare mark_varargs.
13182
13183         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
13184         (c_expand_body): Don't call mark_varargs.
13185         * c-objc-common.c: Handle BUILT_IN_VA_START and
13186         BUILT_IN_STDARG_START identically.  Delete
13187         BUILT_IN_VARARGS_START case.
13188         * c-tree.h: Don't declare c_mark_varargs.
13189         * c-parse.in: Remove grammar rules for '&...' (which has been
13190         commented out since before 2.7.2) and for '...' in K+R
13191         argument declarations.
13192
13193         * builtins.c, function.c, integrate.c, sibcall.c,
13194         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
13195         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
13196         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
13197         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
13198         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
13199         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
13200         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
13201         config/stormy16/stormy16.c: Delete all references to
13202         current_function_varargs, and code predicated on that flag.
13203
13204         * config/alpha/alpha.c (alpha_va_start),
13205         config/arc/arc.c (arc_va_start),
13206         config/i386/i386.c (ix86_va_start),
13207         config/mips/mips.c (mips_va_start),
13208         config/mn10300/mn10300.c (mn10300_va_start),
13209         config/rs6000/rs6000.c (rs6000_va_start),
13210         config/s390/s390.c (s390_va_start),
13211         config/sh/sh.c (sh_va_start),
13212         Ignore first argument; it is always 1.
13213
13214         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
13215         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
13216         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
13217         Delete m68hc11_va_start.
13218         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
13219         No need to define EXPAND_BUILTIN_VA_START.
13220
13221         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
13222         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
13223
13224 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
13225
13226         PR optimization/7153
13227         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
13228         dies in more than one insn.
13229
13230 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
13231
13232         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
13233
13234 2002-07-15  Michael Matz  <matz@suse.de>,
13235             Daniel Berlin  <dberlin@dberlin.org>,
13236             Denis Chertykov  <denisc@overta.ru>
13237
13238         Add a new register allocator.
13239
13240         * ra.c: New file.
13241         * ra.h: New file.
13242         * ra-build.c: New file.
13243         * ra-colorize.c: New file.
13244         * ra-debug.c: New file.
13245         * ra-rewrite.c: New file.
13246
13247         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
13248         (ra-rewrite.o): New .o files for libbackend.a.
13249         (GTFILES): Add basic-block.h.
13250
13251         * toplev.c (flag_new_regalloc): New.
13252         (f_options): New option "new-ra".
13253         (rest_of_compilation): Call initialize_uninitialized_subregs()
13254         only for the old allocator.  If flag_new_regalloc is set, call
13255         new allocator, instead of local_alloc(), global_alloc() and
13256         friends.
13257
13258         * doc/invoke.texi: Document -fnew-ra.
13259         * basic-block.h (FOR_ALL_BB): New.
13260         * config/rs6000/rs6000.c (print_operand): Write small constants
13261         as @l+80.
13262
13263         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
13264         (df_reg_table_realloc): Make size at least as large as max_reg_num().
13265         (df_insn_table_realloc): Size argument now is absolute, not relative.
13266         Changed all callers.
13267
13268         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
13269         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
13270
13271         2002-06-20  Michael Matz  <matz@suse.de>
13272
13273         * df.h (struct ref.id): Make unsigned.
13274         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
13275
13276         2002-06-13  Michael Matz  <matz@suse.de>
13277
13278         * df.h (DF_REF_MODE_CHANGE): New flag.
13279         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
13280         involving subregs with invalid mode changes, when
13281         CLASS_CANNOT_CHANGE_MODE is defined.
13282
13283         2002-05-07  Michael Matz  <matz@suse.de>
13284
13285         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
13286
13287         2002-05-03  Michael Matz  <matz@suse.de>
13288
13289         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
13290
13291         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
13292
13293         * regclass.c (regclass): Work with all regs which have sets or
13294         refs.
13295         (reg_scan_mark_refs): Count regs inside (clobber ...).
13296
13297         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
13298
13299         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
13300         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
13301         add new refs.
13302         (df_bb_refs_update): Don't clear insns_modified here, ...
13303         (df_analyse): ... but here.
13304
13305         * sbitmap.c (dump_sbitmap_file): New.
13306         (debug_sbitmap): Use it.
13307
13308         * sbitmap.h (dump_sbitmap_file): Add prototype.
13309
13310         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
13311
13312         * df.c (df_insn_modify): Grow the UID table if necessary, rather
13313         than assume all emits go through df_insns_modify.
13314
13315         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
13316
13317         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
13318         increase REG_N_REFS (like flow does), so that regclass doesn't
13319         think a reg is useless, and thus, not calculate a class, when it
13320         really should have.
13321
13322         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
13323
13324         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
13325         dataflow analysis.
13326
13327 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
13328
13329         PR middle-end/7245
13330         * config/i386/i386.c (const_int_1_31_operand): New.
13331         * config/i386/i386.h (PREDICATE_CODES): Add it.
13332         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
13333         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
13334         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
13335
13336 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
13337
13338         PR target/7282
13339         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
13340         (floatunssidf2): Likewise.
13341         (floatsidf_ppc64): New insn_and_split.
13342         (floatunssidf_ppc64): Likewise.
13343
13344 2002-07-14  Andreas Jaeger  <aj@suse.de>
13345
13346         * config.gcc (sh64): Remove unused
13347         target_requires_64bit_host_wide_int.
13348
13349 2002-07-12  Roger Sayle  <roger@eyesopen.com>
13350
13351         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
13352         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
13353         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
13354         whether clear_by_pieces should be used to clear storage.
13355         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
13356
13357         * doc/tm.texi: Document these two new target macros.
13358
13359 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
13360
13361         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
13362         the scratch register.
13363         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
13364         of it, forbid reload to use it.
13365
13366 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13367
13368         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
13369         usage on 64-bit hosts, return value was truncated to 32 bits.
13370
13371 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
13372
13373         * simplify-rtx.c (simplify_subreg): Handle floating point
13374         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
13375         the element mode is requested, compute a subreg with an
13376         integer mode of the same size as the element mode first.
13377
13378 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13379
13380         * combine.c (try_combine): When converting a paradoxical subreg
13381         to an extension, take LOAD_EXTEND_OP into account.
13382
13383 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13384
13385         * config.gcc (mips-sgi-irix6*o32): New configuration.
13386
13387         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
13388         configurations.
13389         * configure: Regenerate.
13390
13391         * config/mips/iris6-o32-as.h: New file.
13392         * config/mips/iris6-o32.h: New file.
13393
13394         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
13395         (NM_FLAGS): Define.
13396         (HAVE_AS_SHF_MERGE): Undefine.
13397
13398         * config/mips/t-iris5-as: New file.
13399         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
13400
13401         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
13402         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
13403         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
13404         dp-bit.c, fp-bit.c): Move ...
13405         * config/mips/t-iris5-6: ... here.
13406         New file, shared by IRIX 5 and IRIX 6.
13407         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
13408         mips-sgi-irix5*): Use it.
13409
13410         * config/mips/iris6.h: Remove duplicate comment.
13411
13412         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
13413         !TARGET_IRIX6]: Define.
13414         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
13415
13416         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
13417
13418 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13419
13420         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
13421         and delete code to force constant to register.
13422         * pa-protos.h (adddi3_operand): Add prototype.
13423         * pa.c (adddi3_operand): New function.
13424
13425 2002-07-11  Roger Sayle  <roger@eyesopen.com>
13426
13427         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
13428         non-ANSI builtin functions.
13429
13430 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
13431
13432         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
13433         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
13434         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
13435         (gen_const_vector_0): Use it.
13436
13437 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13438
13439         * pa.md (adddi3): For 32-bit targets, force constants to a register
13440         if they don't fit in an 11-bit immediate.  Change insn predicate to
13441         arith11_operand.  Remove comment.
13442         * pa.c (cint_ok_for_move): Fix comment.
13443         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
13444         targets.
13445
13446 2002-07-11  Tim Josling  <tej@melbpc.org.au>
13447
13448         Remove front end hard coding from gengtype.c.
13449
13450         * Makefile.in
13451         (STAGESTUFF): add gtyp-gen.h
13452         (GTFILES): Remove front end specific files.
13453         (GTFILES_FILES_LANGS): New, from configure..
13454         (GTFILES_FILES_FILES): Likewise.
13455         (GTFILES_LANG_DIR_NAMES): Likewise.
13456         (GTFILES_SRCDIR): Likewise.
13457         (gtyp-gen.h): Build from configure information.
13458         (s-gtype): Remove command line parameters from gengtype.
13459         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
13460         (mostlyclean): Delete files generated by and for gengtype.
13461
13462         * c-config-lang.in: New file.
13463
13464         * configure.in (all_gtfiles_files_langs): New. Accumulate files
13465         for each language.
13466         (all_gtfiles_files_files): New. Accumulate language for each file
13467         accumulated.
13468         (gtfiles): Pick up value for C.
13469         (srcdir): AC-SUBST this variable.
13470         (all_gtfiles_files_langs): AC-SUBST this variable.
13471         (all_gtfiles_files_files): AC-SUBST this variable.
13472
13473         * configure: Regenerate.
13474
13475         * gengtype-lex.l (parse_file): Make parameter const.
13476
13477         * gengtype.c (toplevel): include gtyp-gen.h.
13478         (BASE_FILE_<language> unnamed enum): Delete.
13479         (lang_names): Delete (replaced by gtyp-gen.h)
13480         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
13481         all references.
13482         (NUM_GT_FILES): New.
13483         (NUM_LANG_FILES): New.
13484         (srcdir_len): New.
13485         (NUM_BASE_FILES): Change calculation.
13486         (open_base_files): Change prototype to avoid warning.
13487         (startswith): Delete.
13488         (get_file_basename): Iterate through generated language list not
13489         hard coded list.
13490         (get_base_file_bitmap): Use generated list of files and languages.
13491         (close_output_files): Add prototype to rmove warning.
13492         (main): Iterate through list of generated files from gtyp-gen.h
13493         rather than command line paramaters.  Ignore duplicated file
13494         names.
13495
13496         * gengtype.h (parse_file): Amend prototype for const parameter.
13497
13498         * doc/sourcebuild.texi: Document gtfiles variable.
13499
13500         * doc/gty.texi: Document changes to gtfiles variable for front
13501         ends.
13502
13503         * objc/config-lang.in (gtfiles): Add files needed for objc front
13504         end.
13505
13506 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13507
13508         PR c/2454
13509         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
13510         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
13511
13512 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13513             Zack Weinberg <zack@codesourcery.com>
13514
13515         * builtins.def: Make the argument types of abort and exit
13516         independent of the front-end.
13517
13518 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13519
13520         * config/rs6000/linux64.h (ASM_SPEC): Define.
13521
13522 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13523
13524         * config/rs6000/rs6000.c (emit_frame_save): New.
13525         (rs6000_frame_related): Replace reg2 before reg.
13526         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13527         and eh_return registers.
13528
13529 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13530
13531         Revert all patches for optimization of Complex .op. Real.
13532         * complex_part_zero_p: Remove
13533         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13534         with x.
13535         * expand_cmplxdiv_wide: Ditto.
13536         * expand_binop: Ditto.
13537
13538 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13539
13540         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13541         negative also on 64-bit hosts.
13542
13543         Default to -fno-reorder-blocks when optimizing for size.
13544         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13545         * config/avr/avr.c (avr_optimization_options): New function.
13546         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13547
13548         Optimize returning from simple functions.
13549         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13550         * config/avr/avr.c (avr_simple_epilogue): New function.
13551         * config/avr/avr.md (return): New insn.
13552
13553 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13554
13555         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13556         HAS_INIT_SECTION to protection.
13557
13558 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13559
13560         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13561         deprecated.
13562
13563 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13564
13565         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13566         Supply non-VOID mode to simplify_gen_subreg.
13567
13568 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13569
13570         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13571
13572 2002-07-10  Jeffrey A Law  <law@redhat.com>
13573
13574         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13575         as appropriate.
13576
13577         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13578         register to use.
13579
13580 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13581
13582         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13583         Get mode from dest.
13584         If simplify_gen_subreg fails, try next equivalent.
13585
13586 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13587
13588         * diagnostic.h: #include location.h
13589         (location_t): Move definition to..
13590         * location.h: ... here.  New file.
13591         * tree.h: #include location.h
13592         (DECL_SOURCE_LOCATION): New macro.
13593         (DECL_SOURCE_FILE): Use.
13594         (DECL_SOURCE_LINE): Likewise.
13595         (struct tree_decl): REplace filename and linenum with locus.
13596         * Makefile.in (TREE_H): add location.h
13597         (diagnostic.o): Depends on gt-location.h
13598         (gt-location.h): Depends on s-gtype
13599
13600 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13601
13602         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13603         TARGET_OS_CPP_BUILTINS.
13604         * config/rs6000/aix31.h: Likewise.
13605         * config/rs6000/aix41.h: Likewise.
13606         * config/rs6000/aix43.h: Likewise.
13607         * config/rs6000/aix51.h: Likewise.
13608         * config/rs6000/beos.h: Likewise.
13609         * config/rs6000/darwin.h: Likewise.
13610         * config/rs6000/eabi.h: Likewise.
13611         * config/rs6000/eabisim.h: Likewise.
13612         * config/rs6000/linux.h: Likewise.
13613         * config/rs6000/linux64.h: Likewise.
13614         * config/rs6000/lynx.h: Likewise.
13615         * config/rs6000/mach.h: Likewise.
13616         * config/rs6000/rtems.h: Likewise.
13617         * config/rs6000/sysv4.h: Likewise.
13618         * config/rs6000/vxppc.h: Likewise.
13619
13620 2002-07-09 Devang Patel <dpatel@apple.com>
13621         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13622         Do not allow ObjC objects as a parameter type for Objective-C methods.
13623         My previous patch restricted  'struct' also.
13624
13625 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13626
13627         * cpperror.c (cpp_error): Default to directive_line within
13628         directives here.
13629         * cppexp.c (cpp_interpret_integer): Only use traditional
13630         number semantics in directives.
13631         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13632         (do_include_common): Similarly.
13633         * cpptrad.c (scan_out_logical_line): Implement accurate
13634         quoting of <> in #include.
13635         * doc/cpp.texi: Update.
13636
13637 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13638                           J"orn Rennecke <joern.rennecke@superh.com>
13639
13640         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13641         * sh.md (attribute issues): Replace with:
13642         (attribute pipe_model).  All users changed.
13643         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13644         All users changed.
13645         (function units sh5issue, sh5fds): New.
13646         (attribute is_mac_media): New.
13647         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13648         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13649         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13650         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13651         (call_media, call_value_media, sibcall_media): Likewise.
13652         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13653         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13654         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13655         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13656         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13657         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13658         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13659         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13660         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13661         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13662         (truncdfsf2_media): Likewise.
13663         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13664         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13665
13666 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13667
13668         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13669         * sh.c (general_extend_operand, inqhi_operand): New functions.
13670         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13671         alternatives using 'N' modifier.  Add type.
13672         (adddi3z_media): Likewise.  Enable generator function generation.
13673         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13674         exact predicates / constraints.  Add type.
13675         (subsi3): Allow 0 for SHMEDIA.
13676         (udivsi3_i4_media): Use match_operand for input values
13677         rather than hard registers.
13678         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13679         unnecessarily through hard registers.  Keep copies of pseudo
13680         registers outside of the libcall sequence.
13681         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13682         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13683         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13684         (extendhidi2, extendqidi2): Likewise.
13685         (andsi3_compact): Name.
13686         (andcdi3): Enable generator function generation.
13687         (zero_extendhisi2, zero_extendqisi2): Rename to
13688         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13689         (extendhisi2, extendqisi2): Rename to
13690         (extendhisi2_compact, extendqisi2_compact).
13691         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13692         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13693         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13694         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13695         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13696         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13697         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13698         (shmedia32_initialize_trampoline_big): Likewise.
13699         (shmedia32_initialize_trampoline_little): Likewise.
13700         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13701         (negdi2): Remove spurious T clobber.
13702         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13703         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13704         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13705         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13706         (ic_invalidate_line_media): Write back data cache before invalidating
13707         instruction cache.  Add type.
13708         (movsf_media): Sign-extend when the destination is a general
13709         purpose register.  Add type.
13710         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13711         (casesi_worker_0+1): Only increment ref count for proper label.
13712         (casesi_worker_0+2): Likewise.
13713
13714 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13715
13716         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13717
13718 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13719
13720         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13721         from Pmode to ptr_mode.
13722         (get_exception_pointer): Ditto.
13723         (connect_post_landing_pads): Ditto.
13724         (dw2_build_landing_pads): Ditto.
13725
13726 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13727         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13728         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13729         (handle_pragma_redefine_extname): Change to use new function.
13730
13731 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13732
13733         * combine.c (combine_simplify_rtx): Add an explicit cast
13734         to avoid signed/unsigned comparison warning.
13735         (simplify_if_then_else): Likewise.
13736         (extended_count): Likewise.
13737         (simplify_shift_const): Likewise.
13738         (simplify_comparison): Likewise.
13739
13740 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13741
13742         * config/mips/mips.md: Add imadd type.  Update scheduler description
13743         to use imadd as well as imul.
13744         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13745         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13746         (*mul_sub_si): Likewise for first alternative.  Change second
13747         alternative from imul to multi.
13748
13749 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13750
13751         * c-common.c (c_common_post_options): Update prototype;
13752         don't init backends if preprocessing only.
13753         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13754         * langhooks.h (struct lang_hooks): Update post_options to
13755         return a boolean.
13756         * toplev.c (parse_options_and_default_flags, do_compile,
13757         lang_independent_init): Update prototypes.  Allow the
13758         front end to specify that there is no need to initialize
13759         the back end.
13760         (general_init): Move call to hex_init here...
13761         (toplev_main): ...from here.  Pass flag for back end init
13762         suppression.
13763
13764 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13765
13766         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13767         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13768         greater_comparison_operator and less_comparison_operator.
13769         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13770         more operators.
13771         (equality_comparison_operator): New function.
13772         (greater_comparison_operator, less_comparison_operator): Likewise.
13773         * sh.md (beq_media_i): Disable generator function generation.
13774         Use match_operator to handle a whole class of comparisons.  Add
13775         modifier in output template to provide branch prediction.  Add type.
13776         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13777         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13778         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13779         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13780
13781 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13782
13783         Emit MMIX function prologue and epilogue as rtl.
13784         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
13785         not unprototyped get_hard_reg_initial_val.
13786         ("call_value", "nonlocal_goto_receiver"): Ditto.
13787         ("return"): Make define_expand.  Move real insn to...
13788         ("*expanded_return"): New pattern.
13789         ("prologue", "epilogue"): New define_expands.
13790         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
13791         (struct machine_function): New member in_prologue.
13792         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
13793         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
13794         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
13795         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
13796         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
13797         (LOCAL_REGNO): Define.  Adjust comment.
13798         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
13799         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
13800         leaf_function_p.
13801         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
13802         the prologue.
13803         (mmix_target_asm_function_prologue): Make static.  Just mark that
13804         the prologue is being emitted.  Move guts to...
13805         (mmix_expand_prologue): New function.  Adjust for emitting
13806         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
13807         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
13808         \n.  Move guts to...
13809         (mmix_expand_epilogue): New function.  Adjust for emitting
13810         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
13811         (mmix_target_asm_function_end_prologue): Mark that the prologue
13812         has ended.
13813         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
13814         (mmix_conditional_register_usage): Improve comments.
13815         (mmix_local_regno): New function.
13816         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
13817         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
13818         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
13819         (mmix_get_hard_reg_initial_val): Ditto.
13820
13821 2002-07-06  Andreas Jaeger  <aj@suse.de>
13822
13823         * toplev.c (set_fast_math_flags): Don't use ISO C style function
13824         definitions.
13825         * gengtype.c (open_base_files): Likewise.
13826         (close_output_files): Likewise.
13827         * tracer.c (find_best_predecessor): Likewise.
13828         (find_best_successor): Likewise.
13829         (ignore_bb_p): Likewise.
13830
13831 2002-07-05  Roger Sayle  <roger@eyesopen.com>
13832
13833         PR c++/7099
13834         * builtin-attrs.def: Define new attribute lists for use in
13835         builtins.def.
13836         * builtins.def [DEF_BUILTIN]: Modify to take an additional
13837         ATTRS argument, an enumerated value defined in builtin-attrs.def
13838         that represents the attribute list for the builtins.  Modify
13839         all builtin functions to pass an appropriate attribute list.
13840         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
13841         their required noreturn attributes.
13842         * tree.h (enum_builtin_function): Ignore the additional parameter
13843         to DEF_BUILTIN.
13844         * builtins.c (built_in_names): Likewise.
13845         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
13846         argument with a tree representing the functions attribute list.
13847         Pass this "attrs" argument to builtin_function.  No longer handle
13848         the noreturn_p processing manually.
13849         (built_in_attributes): Move the definitions from builtin-attrs.def
13850         before c_common_nodes_and_builtins.
13851         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
13852         DEF_BUILTIN, passing it to both builtin_function and the changed
13853         builtin_function_2.
13854
13855         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
13856         __builtin__exit and __builtin__Exit.
13857
13858 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13859
13860         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
13861         QI mode registers in soft registers.
13862         ("zero_extendqihi2"): Do not take into account soft registers
13863         for register allocation (use '*' constraint).
13864
13865 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13866
13867         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
13868         it is dead.
13869         ("*ashrsi3"): Likewise.
13870         ("*lshrsi3"): Likewise.
13871
13872 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
13873
13874         * genautomata.c (output_max_insn_queue_index_def): Take latencies
13875         into account.
13876
13877 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13878
13879         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
13880         address computation and memory moves.
13881
13882 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
13883
13884         PR c++/6706
13885         * dwarfout.c (output_reg_number): Fix warning message.
13886         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
13887         before using it.
13888
13889 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13890
13891         * gcc/gcc.c (asm_debug): Move initialization ...
13892         (init_spec): ... here.
13893
13894 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13895
13896         * c-parse.in (extdef): Append ';'.
13897         (old_style_parm_decls): Append ';'.
13898
13899 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
13900
13901         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
13902         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
13903         to gcc_cv_as_gstabs_flag.
13904         * configure: Rebuilt.
13905
13906 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
13907
13908         * ggc.h (ggc_add_root): Document as obsolete.
13909
13910 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
13911
13912         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
13913         (mshflo_w): Likewise.
13914
13915 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
13916
13917         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
13918         vector mode subregs of constants to finding integer mode
13919         subregs of constants.
13920         * cse.c (cse_insn): Use simplify_gen_subreg.
13921         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
13922         From a vector mode expression of different size than the
13923         target mode.
13924
13925 2002-07-03  Eric Christopher  <echristo@redhat.com>
13926
13927         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
13928         * config/mips/mips.h: Remove deprecated -m<processor> options
13929         and cc1_cpu_spec associated.
13930         (CONSTANT_ADDRESS_P): Fix last patch.
13931         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
13932         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
13933         sunge_sf): Remove.
13934
13935 2002-07-03  Stan Shebs  <shebs@apple.com>
13936
13937         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
13938         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
13939         (CPP_SPEC): Remove insertion of APPLE_CC definition.
13940
13941 2002-07-03  Roger Sayle  <roger@eyesopen.com>
13942
13943         * combine.c (struct_undo): Change types of recorded substitutions
13944         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
13945         (do_SUBST_INT): Change types of the substitution from unsigned int
13946         to int, to avoid compilation warning from SUBST_INT's only caller.
13947
13948         (make_extraction): Add cast to avoid compilation warning.
13949         (force_to_mode): Remove cast to avoid compilation warning.
13950
13951 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
13952             Jeff Law  <law@redhat.com>
13953
13954         * i386.md (length_immediate attribute): Fix typo.
13955         (length_address attribute): Likewise.
13956         (modrm attribute): Set it to 0 for immediate call instructions.
13957         (jcc_1 pattern): Set modrm attribute to 0.
13958         (jcc_2 pattern ): Likewise.
13959         (jump pattern): Likewise.
13960         (doloop_end_internal pattern): Explicitly set length.
13961         (leave pattern): Fix typo.
13962         (leave_rex64 pattern): Likewise.
13963
13964 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
13965
13966         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
13967         in FPR as preference.
13968         (fctiwz): Same.
13969         (floatdidf2, fix_truncdfdi2): Same.
13970         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
13971         (floatditf2): Same.
13972         (floatsitf2, fix_trunctfsi2): SImode in GPR.
13973         (ctrdi): Remove FPR alternative and splitter.
13974
13975 2002-07-03  Will Cohen  <wcohen@redhat.com>
13976
13977         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
13978
13979 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
13980
13981         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
13982         than UNITS_PER_WORD, unless this is little endian and the first unit
13983         in this word.  Let extract_bit_field decide how to load an element.
13984         Force arguments to matching mode.
13985         (expand_vector_unop): Likewise.
13986
13987         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
13988         consist of word_mode elements.
13989         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
13990         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
13991         (build_unary_op): Allow vector types for BIT_NOT_EPR.
13992         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
13993         CONST_VECTOR.
13994         * optabs.c (expand_vector_binop): Try to perform operation in
13995         smaller vector modes with same inner size.  Add handling of AND, IOR
13996         and XOR.  Reject expansion to inner-mode sized scalars when using
13997         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
13998         (expand_vector_unop): Try to perform operation in smaller vector
13999         modes with same inner size.  Add handling of one's complement.
14000         When there is no vector negate operation, try a vector subtract
14001         operation.  Use simplify_gen_subreg on constants.
14002         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
14003         constants into smaller vectors with same inner mode, and to
14004         integer CONST_DOUBLEs.
14005
14006 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14007
14008         * c-parse.in (parsing_iso_function_signature): New variable.
14009         (extdef_1): New, copied from...
14010         (extdef): ... here.  Reset parsing_iso_function_signature.
14011         (old_style_parm_decls):  Reset parsing_iso_function_signature.
14012         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
14013         Warn about ISO C style function definitions.
14014         (nested_function, notype_nested_function): Reset
14015         parsing_iso_function_signature.
14016         (parmlist_2): Set parsing_iso_function_signature.
14017
14018         * doc/invoke.texi (-Wtraditional): Document new behavior.
14019
14020 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
14021
14022         * config.gcc (mips*el-*-*): Use tm_defines to set
14023         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
14024         * config/mips/little.h: Remove.
14025
14026 2002-07-02 Devang Patel <dpatel@apple.com>
14027
14028         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
14029         object as parameter. Prevent something like 'NSObject' to be
14030         used as the type for a method argument.
14031
14032 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
14033
14034         * cpptrad.c: Update comment.
14035
14036 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
14037
14038         * doc/cpp.texi: Update for traditional preprocessing changes.
14039         * goc/cppopts.texi: Similarly.
14040
14041 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
14042
14043         * c-parse.in (designator): Enable designated initializers if ObjC.
14044         (objcmessageexpr): Remove references to objc_receiver_context.
14045         * objc/objc-act.h (objc_receiver_context): Remove decl.
14046         * objc/objc-act.c (objc_receiver_context): Remove.
14047         (lookup_objc_ivar): Test objc_method_context instead of
14048         objc_receiver_context.
14049
14050 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
14051
14052         * sh.c (print_operand, case 'N'): Allow zero vector.
14053         (arith_reg_or_0_operand): Likewise.
14054         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
14055         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
14056         IOR, XOR, PLUS and SET and take their respective constant
14057         ranges into account.
14058         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
14059         * sh.md (subdi3, subdi3_media): Allow zero operand.
14060         (movv8qi_i+3): Only vector that is not split is the zero vector.
14061         Fix operand 3 to simplify_subreg.
14062         (movv2si_i): Split alternative 1.
14063         (mshfhi_l_di_rev+1): New splitter.
14064
14065 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
14066
14067         PR preprocessor/7029
14068         * cppinit.c (cpp_handle_option):  Suppress warnings with an
14069         implicit "-w" for "-M" and "-MM".
14070         * doc/cppopts.texi: Update.
14071
14072 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14073
14074         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
14075         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
14076         builtin_function.
14077
14078 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
14079
14080         * README.Portability: Fix typos.
14081
14082 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
14083
14084         PR target/7177
14085         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
14086         of indirections for register inside sign-extended mem part.
14087
14088 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14089
14090         * tree.h:  Modify builtin_function interface to take an extra
14091         argument ATTRS, which is a tree representing an attribute list.
14092
14093         * c-decl.c (builtin_function): Accept additional parameter.
14094         * objc/objc-act.c (builtin_function): Likewise.
14095         * f/com.c (builtin_function): Likewise.
14096         * java/decl.c (builtin_function): Likewise.
14097         * ada/utils.c (builtin_function): Likewise.
14098         * cp/decl.c (builtin_function): Likewise.
14099         (builtin_function_1): Likewise.
14100
14101         * c-common.c (c_common_nodes_and_builtins): Pass an additional
14102         NULL_TREE argument to builtin_function.  (builtin_function_2):
14103         Likewise.
14104         * cp/call.c (build_java_interface_fn_ref): Likewise.
14105         * objc/objc-act.c (synth_module_prologue): Likewise.
14106         * java/decl.c (java_init_decl_processing): Likewise.
14107         * f/com.c (ffe_com_init_0): Likewise.
14108
14109         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
14110         NULL_TREE argument to builtin_function.
14111         * config/arm/arm.c (def_builtin): Likewise.
14112         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
14113         * config/i386/i386.c (def_builtin): Likewise.
14114         * config/ia64/ia64.c (def_builtin): Likewise.
14115         * config/rs6000/rs6000.c (def_builtin): Likewise.
14116
14117 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
14118
14119         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
14120         * config/mips/t-isa3264: Likewise.
14121         * config/mmix/t-mmix: Likewise.
14122
14123 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14124
14125         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
14126
14127 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14128
14129         PR opt/4046
14130         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
14131         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
14132         B are truth values.
14133
14134 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
14135
14136         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
14137
14138 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
14139
14140         * README.Portability (Function prototypes): Give an example of
14141         declaring and defining a function with no arguments.
14142
14143         * README.Portability (Function prototypes): Document new
14144         variable-argument function macros.
14145
14146 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
14147
14148         * sh.c (langhooks.h): Include.
14149         (sh_init_builtins, sh_media_init_builtins): New functions.
14150         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
14151         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
14152         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
14153         (builtin_description): New struct tag.
14154         (signature_args, bdesc): New arrays.
14155         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
14156         (print_operand): Add 'N' modifier.
14157         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
14158         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
14159         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
14160         (CONST_COSTS): Add special case for SHmedia AND.
14161         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
14162         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
14163         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
14164         target_operand can also be const or unspec.
14165         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
14166         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
14167         (attribute type): Add new types.
14168         (anddi3): Add splitter.
14169         (movdi_const_16bit+1): Add code to handle vector constants and
14170         bitmasks efficiently.
14171         (shori_media): Have generator function made.
14172         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
14173         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
14174         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
14175         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
14176         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
14177         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
14178         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
14179         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
14180         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
14181         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
14182         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
14183         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
14184         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
14185         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
14186         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
14187         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
14188         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
14189         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
14190         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
14191         (ftrv): Likewise.
14192
14193         (fpu_switch+1, fpu_switch+2): Remove constraint.
14194
14195 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
14196
14197         * tree.c (build_function_type_list): Update function comment.
14198         Rename first argument to return_type.
14199
14200 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14201
14202         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
14203         tradcif.y and related files.
14204
14205 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14206
14207         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
14208
14209 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14210
14211         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
14212
14213 See ChangeLog.7 for earlier changes.