OSDN Git Service

* config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
4         second alternative "#".
5         (*zero_extendqihi2_h8300hs): Likewise.
6         (a define_split): New.
7
8 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
9
10         * config/h8300/h8300-protos.h: Update the prototype for
11         split_adds_subs.
12         Add prototypes for const_le_2_operand and const_le_6_operand.
13         * config/h8300/h8300.c (split_adds_subs): Add an argument to
14         specify whether inc/dec should be used when possible.
15         (const_le_2_operand): New.
16         (const_le_6_operand): Likewise.
17         * config/h8300/h8300.md (two peepholes): New.
18
19 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
20
21         * config/fr30/fr30.md: Fix a comment typo.
22         * config/i386/i386.c: Likewise.
23         * config/ip2k/ip2k.h: Likewise.
24
25 2002-12-20  Jim Wilson  <wilson@redhat.com>
26
27         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
28         (__ev_subw, __ev_subiw): New.
29         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
30         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
31
32 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
33
34         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
35         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
36         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
37         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
38
39 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
40
41         * config/h8300/h8300-protos.h: Add prototypes for
42         incdec_operand and eqne_operator.
43         * config/h8300/h8300.c (incdec_operand): New.
44         (eqne_operator): Likewise.
45         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
46         (CONST_OK_FOR_O): Likewise.
47         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
48         CONST_OK_FOR_O.
49         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
50         (addhi3_incdec): New.
51         (addsi3_incdec): Likewise.
52         (two peepholes): Likewise.
53
54 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
55
56         * config/h8300/h8300.c (dosize): Remove warnings.
57         (print_operand): Likewise.
58
59 2002-12-20  Richard Henderson  <rth@redhat.com>
60
61         * config/alpha/alpha.c (decl_has_samegp): New.
62         (samegp_function_operand): Use it.  Rename from
63         current_file_function_operand.
64         (direct_call_operand): Handle -msmall-text via symbol->jump.
65         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
66         (tls_symbolic_operand_type): Likewise.
67         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
68         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
69         (alpha_end_function): Set symbol->jump for functions defined in
70         the text section.
71         * config/alpha/alpha-protos.h: Update.
72         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
73         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
74         (PREDICATE_CODES): Update.
75         * config/alpha/alpha.md (call patterns): Update for 
76         samegp_function_operand rename; use !samegp reloc if
77         TARGET_EXPLICIT_RELOCS.
78         * doc/invoke.text: Document -msmall-text and -mlarge-text.
79
80 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
81
82         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
83         all registers capable of holding a double float.
84         (*rcond): change name of "reverse branch" insns to
85         something more meaningful.
86         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
87         comparisons properly.
88         (*ffs): Change operand 0 from write to read-modify-write.
89         (*ffsssi2): Drop constraints from define_expand.
90
91         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
92         MOVE_RATIO as default for store operations.
93
94         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
95         LONG_REGS class.
96         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
97         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
98         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
99
100         * config/ns32k/STATUS: New File
101         * config/ns32k/NOTES: New file.
102
103 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
104         
105         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
106         option for S/390 and zSeries.
107         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
108         s390_arch_string): New variables.
109         (override_options): Checking for options and setting of 
110         appropriate target_flags, cpu and arch flags.
111         * config/s390/s390.h: (processor_type): New enum.
112         (TARGET_SWITCHES): New switches -mesa/zarch.
113         * config/s390/s390.md: New attribute 'cpu'.
114
115 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
116
117         * c-pretty-print.h: Fix comment typos.
118         * integrate.c: Likewise.
119         * varasm.c: Likewise.
120         * config/c4x/c4x.h: Likewise.
121         * config/c4x/c4x.md: Likewise.
122         * config/fr30/fr30.md: Likewise.
123         * config/frv/frv.c: Likewise.
124         * config/h8300/h8300.c: Likewise.
125         * config/i386/i386.c: Likewise.
126         * config/i386/i386.h: Likewise.
127         * config/ia64/ia64.c: Likewise.
128         * config/ia64/ia64.h: Likewise.
129         * config/ip2k/ip2k.md: Likewise.
130         * config/m68hc11/m68hc11-crt0.S: Likewise.
131         * config/m68hc11/m68hc11.h: Likewise.
132         * config/m68hc11/m68hc11.md: Likewise.
133         * config/m68hc11/m68hc12.h: Likewise.
134         * config/mcore/mcore.md: Likewise.
135         * config/mips/mips.c: Likewise.
136         * config/mips/mips.md: Likewise.
137         * config/mmix/mmix-modes.def: Likewise.
138         * config/pa/pa.c: Likewise.
139         * config/rs6000/rs6000.c: Likewise.
140         * config/rs6000/rs6000.h: Likewise.
141         * config/rs6000/rs6000.md: Likewise.
142
143 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
144
145         * config/h8300/h8300.md (output_a_shift): Clean up the code to
146         output shifts using rotation.
147
148 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
149
150         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
151
152 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
153
154         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
155         pointer.
156         (pushqi_h8300hs): Likewise.
157         (pushhi_h8300): Likewise.
158         (pushhi_h8300hs): Likewise.
159
160 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
161
162         * sched-rgn.c (init_regions): Update comment.
163
164 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
165
166         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
167         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
168         attributes.
169         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
170         (get_vrsave_internal,set_vrsave_internal): Same.
171         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
172         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
173         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
174
175 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
176             Danny Smith  <dannysmith@users.sourceforge.net>
177             Eric Kohl  <ekohl@rz-online.de>
178
179         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
180         attributes incompatible with fastcall attribute.
181         (ix86_handle_regparm_attribute): Likewise.
182
183         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
184         fastcall types.
185
186         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
187         attributes.
188         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
189         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
190         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
191         i386_pe_output_labelref rather than here.
192         (gen_fastcall_suffix): New function. Decorates a label name with the
193         fastcall prefix (@) and the stdcall suffix.
194         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
195         has a fastcall attribute.
196         (i386_pe_output_labelref): New function. Outputs a label reference.
197         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
198         valid attribute.
199         (ix86_return_pops_args): Fastcall functions pop the stack.
200         (init_cumulative_args): Reserve registers ECX and EDX if function has
201         fastcall attribute.
202         (function_arg): Use registers ECX and EDX if function has fastcall
203         attribute.
204         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
205         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
206         (FASTCALL_PREFIX): Define as '@'.
207         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
208         attributes.
209         * doc/extend.texi: Add documentation of fastcall attribute.
210
211 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
212
213         * configure.in: FORBUILD when build!=host changed from 
214         ../$build-alias to ../build-$build_alias to match change made
215         in top directory.
216         * configure: Regenerated.
217
218 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
219
220         PR optimization/8988
221         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
222         the biv when eliminating.
223
224 2002-12-19  Devang Patel  <dpatel@apple.com>
225         * gcc.c (struct default_compiler): Recognizes input file name with
226         .CPP extension as C++ source files
227         * cp/lang-spec.h: Same
228         * doc/invoke.texi:  Add documentation for .CPP support.
229         
230 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
231
232         PR 8553
233         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
234         registers.
235         ("absv16qi2"): Same.
236         ("absv4si2"): Same.
237         ("absv4sf2"): Same.
238         ("altivec_abss_v16qi"): Same.
239         ("altivec_abss_v8hi"): Same.
240         ("altivec_abss_v4si"): Same.
241
242 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
243
244         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
245         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
246
247 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
248
249         PR target/8340
250         * stmt.c (expand_asm_operands): Produce an error when
251         the PIC register is clobbered.
252
253 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
254
255         * Makefile.in (OBJS): Add alloc-pool.o
256         (alloc-pool.o): New object.
257
258         * alloc-pool.c: New file.
259         * alloc-pool.h: New file.
260
261 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
262
263         * gcc.c (validate_switches): Robustify against skipping past '\0'.
264
265 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
266
267         * config.gcc: Set extra_objs in the generic Darwin rule,
268         not in the machine-specific rules.
269
270 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
271
272         * ChangeLog: Follow spelling conventions.
273         * ChangeLog.2: Likewise.
274         * ChangeLog.4: Likewise.
275         * ChangeLog.5: Likewise.
276         * cppexp.c: Likewise.
277         * df.c: Likewise.
278         * gcov.c: Likewise.
279         * gengtype.c: Likewise.
280         * reload1.c: Likewise.
281         * sched-rgn.c: Likewise.
282         * stmt.c: Likewise.
283         * stor-layout.c: Likewise.
284         * timevar.c: Likewise.
285         * toplev.c: Likewise.
286         * tree.h: Likewise.
287         * varasm.c: Likewise.
288         * config/fr30/fr30.md: Likewise.
289         * config/i386/i386.c: Likewise.
290         * config/ia64/ia64.c: Likewise.
291         * config/pa/pa.c: Likewise.
292
293 2002-12-18  Roger Sayle  <roger@eyesopen.com>
294
295         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
296
297 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
298
299         PR 8551
300         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
301         macro.
302         (vec_cmplt C++ functions): Reverse arguments.
303
304 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
305
306         * config/rs6000/t-rs6000: Move contents to t-fprules,
307         add rules for dependencies of rs6000.o and to build rs6000-c.o
308         * config/rs6000/t-fprules: New file from t-rs6000.
309         * config/rs6000/t-beos: Remove soft-fp rules.
310         * config/rs6000/t-ppccomm: Likewise.
311         * config/rs6000/t-newas: Likewise.
312         * config/rs6000/t-rs6000-c-rule: Delete.
313         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
314         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
315         Create generic Darwin rules.
316
317         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
318
319 2002-12-18  Doug Evans  <dje@sebabeach.org>
320
321         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
322         and LIT_NAME_P.
323         (move_src_operand): Remove compile-time warning.
324         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
325
326 2002-12-18  Jason Merrill  <jason@redhat.com>
327
328         * unwind-dw2-fde.c (frame_downheap): Split out from...
329         (frame_heapsort): Here.
330
331 2002-12-17  Jason Merrill  <jason@redhat.com>
332
333         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
334         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
335
336         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
337
338         * calls.c (expand_call): Don't try to be clever about expanding
339         the return slot address.
340
341 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
342
343         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
344         Define.
345
346 2002-12-17  Jason Merrill  <jason@redhat.com>
347
348         * genmultilib: Use 'cd ./foo'.
349
350 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
351
352         * doc/c-tree.texi: Restore deliberate spelling mistakes.
353
354 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
355
356         * doc/c-tree.texi: Fix typos and follow spelling conventions.
357         * doc/cpp.texi: Likewise.
358         * doc/extend.texi: Likewise.
359         * doc/gty.texi: Likewise.
360         * doc/install.texi: Likewise.
361         * doc/invoke.texi: Likewise.
362         * doc/md.texi: Likewise.
363         * doc/passes.texi: Likewise.
364         * doc/rtl.texi: Likewise.
365         * doc/sourcebuild.texi: Likewise.
366         * doc/tm.texi: Likewise.
367
368 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
369
370         * doc/invoke.texi: Minor spelling and grammar fixes.
371
372 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
373
374         * config/s390/s390.c (s390_output_constant_pool): Replace
375         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
376
377 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
378
379         * convert.c (convert_to_real): Disable function transformation for
380         now.
381
382 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
383
384         * gcc.c (handle_braces): Allow '@' as a switch name.
385
386 2002-12-16  Jason Merrill  <jason@redhat.com>
387
388         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
389         with special struct-return ABIs.
390
391         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
392         doesn't match the begin SCOPE_STMT in partialness.
393
394 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
395
396         * genmultilib: Create temporary files in unique subdirectory.
397
398         * gcc.c (validate_switches): Allow '@' as a switch name.
399
400 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
401
402         * Makefile.in (gcov-iov.h): Improve portability.
403
404 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
405
406         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
407         gas
408         * mips.md (tablejump insn): Likewise.
409
410 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
411
412         * doc/include/gcc-common.texi: Change version number to 3.4.
413
414 2002-12-16  Bruce Korb  <bkorb@gnu.org>
415
416         * fixinc/fixlib.h: add: #include <signal.h>
417         * fixinc/fixincl.c: remove: #include <signal.h>
418
419 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
420
421         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
422         (EXTRA_CONSTRAINT): Use it.
423         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
424
425 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
426
427         * config.gcc (need_64bit_hwint): New variable.
428         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
429         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
430         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
431         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
432         Set it.
433         (powerpc*-*-darwin*): Unset it.
434         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
435         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
436         deleted/nonexistent xm-*.h headers.
437         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
438         target set need_64bit_hwint in config.gcc.
439         * configure, config.in: Regenerate.
440
441         * hwint.h: Overhaul.  Don't bother trying int for
442         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
443         decision to force 64-bit HOST_WIDE_INT on
444         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
445         not visible at this point.  Don't allow prior definition of
446         any macro defined by this file.
447
448         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
449         HOST_BITS_PER_WIDE_INT.
450         * config/c4x/c4x.h: Adjust redefinition of
451         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
452         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
453         config/i386/xm-i386-interix.h: Delete file.
454
455 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
456             John David Anglin  <dave@hiauly1.hia.nrc.ca>
457
458         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
459         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
460
461 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
462
463         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
464
465 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
466
467         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
468         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
469         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
470         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
471         config/v850/t-v850:  Correct dependencies and normalize
472         compilation commands for files that include coretypes.h and tm.h.
473
474         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
475         not config.h and system.h.
476
477 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
478
479         * i386.c (flags_reg_operand):  New function.
480         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
481         * i386.md (cmov splitter, movqicc): Use new predicate.
482
483 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
484
485         * i386.md (movqicc splitter): Fix template.
486
487 2002-12-13  Jason Merrill  <jason@redhat.com>
488
489         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
490         * calls.c (expand_call): Handle it.
491         * tree-inline.c (struct inline_data): Remove target_exprs field.
492         (optimize_inline_calls): Don't initialize it.
493         (expand_call_inline): Don't modify it.  Handle
494         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
495         (declare_return_variable): Take return slot addr.
496         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
497         to return_slot_addr.
498         * langhooks-def.h, langhooks.c: Adjust.
499         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
500         a decl with no DECL_INITIAL.
501
502         * expr.c (expand_expr): Don't discard the target of a call which
503         returns in memory.
504
505 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
506
507         * cppinit.c (path_include): Take an environment variable name.
508         Tidy up.
509         (init_standard_includes): Simplify environment handling, and
510         move to ...
511         (cpp_read_main_file): ...here as -nostdinc should not affect
512         environment variable paths.
513
514 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
515
516         * pa.c (output_millicode_call): Correct typo.
517         (output_call): Likewise.
518
519 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
520
521         * config/mn10300/mn10300.c (print_operand) <case N>: Check
522         operand's range.  Print value directly, without aid from
523         output_address.
524         <case U>: New.
525         <case S>: Make sure argument to fprintf has the right type.
526         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
527         (EXTRA_CONSTRAINT): Adjust.
528         * config/mn10300/mn10300.md: Add new all-QImode pattern for
529         bclr.  Use %U for immediate operands of bset and bclr.
530         (iorqi3): New expand, with insns for AM33 and mn10300.
531
532 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
533
534         * sh.c (sh_register_operand): New function.
535         (prepare_move_operands): Use it.
536         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
537         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
538         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
539         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
540         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
541         (movv2si_i): Likewise.
542
543 2002-12-13  Jim Wilson  <wilson@redhat.com>
544
545         * doc/extend.texi (Complex Numbers): Update info on debug info.
546
547 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
548
549         * config/h8300/h8300.md (addhi3_h8300): Remove the last
550         alternative.
551
552 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
553
554         * hooks.h (hook_tree_tree_bool_false): Declare
555         hook_bool_tree_tree_false instead.
556
557 2002-12-12  Devang Patel  <dpatel@apple.com>
558
559         * doc/invoke.texi: Document Darwin linker options, -bundle
560         -bind_at_load, -all_load and -arch_errors_fatal
561
562 2002-12-12  Jim Wilson  <wilson@redhat.com>
563
564         * dbxout.c (dbxout_fptype_value): New.
565         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
566
567 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
568
569         * c-decl.c: Fix a comment typo.
570         * cfg.c: Likewise.
571         * cfgcleanup.c: Likewise.
572         * cfglayout.c: Likewise.
573         * cfgrtl.c: Likewise.
574         * c-typeck.c: Likewise.
575         * dominance.c: Likewise.
576         * dwarf2asm.c: Likewise.
577         * dwarfout.c: Likewise.
578         * expmed.c: Likewise.
579         * expr.c: Likewise.
580         * final.c: Likewise.
581         * flow.c: Likewise.
582         * function.c: Likewise.
583         * gcc.c: Likewise.
584         * genautomata.c: Likewise.
585         * integrate.c: Likewise.
586         * loop.c: Likewise.
587         * loop.h: Likewise.
588         * output.h: Likewise.
589         * profile.c: Likewise.
590         * ra.h: Likewise.
591         * reload1.c: Likewise.
592         * reload.c: Likewise.
593         * sched-rgn.c: Likewise.
594         * stmt.c: Likewise.
595         * tree.h: Likewise.
596         * vmsdbgout.c: Likewise.
597
598 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
599
600         * config/h8300/h8300.md: Add a new peephole2.
601
602 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
603
604         * config/h8300/h8300.md (a peephole2): Accept a constant
605         that's accepted by CONST_OK_FOR_J.
606
607 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
608
609         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
610         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
611         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
612         (*addhi_h8300hs): Likewise.
613
614 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
615
616         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
617         (sh_register_move_cost): Add clause for SImode fp-fp moves.
618         Increase cost for moves involving multiple general purpose registers.
619         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
620         TARGET_FMOVD.
621         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
622         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
623         (enum reg_class reg_class_from_letter): No longer const.
624         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
625         REGCLASS_HAS_GENERAL_REG.
626         Handle SImode moves from/to fp registers.
627         ! TARGET_SHMEDIA && TARGET_FMOVD.
628         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
629         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
630
631 2002-12-12  Andreas Schwab  <schwab@suse.de>
632
633         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
634         change and some warnings.
635
636 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
637
638         * doc/md.texi (pushm): Fix a typo.
639
640 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
641
642         * config/mips/mips.c (mips_output_conditional_branch): Support
643         PIC-safe out-of-range branch and branch-likely.
644         * config/mips/mips.md (attr length): PIC-safe out-of-range
645         branches are longer.
646         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
647         unused code to support indirect jumps.
648
649 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
650
651         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
652         $(tm_file_list).
653
654 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
655
656         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
657
658 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
659
660         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
661
662 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
663
664         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
665         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
666         BIGGEST_ALIGNMENT.
667         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
668         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
669
670 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
671
672         * doc/invoke.texi: Correct dump file names.
673
674 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
675
676         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
677         name to globalize_label or assemble_name.
678
679 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
680
681         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
682         if not TARGET_SHMEDIA.
683
684 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
685
686         * sh.h (REG_CLASS_HAS_FP_REG): New.
687         (REGISTER_MOVE_COST) Use it.  Put body into a function and
688         move it into:
689         * sh.c (sh_register_move_cost).
690         * sh-protos.h (sh_register_move_cost): Declare.
691
692         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
693         (sh_adjust_cost): Always return a value.
694
695 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
696
697         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
698         (REGISTER_MOVE_COST): Use it.
699
700 2002-12-11  Richard Henderson  <rth@redhat.com>
701
702         * tree.h (MODULE_LOCAL_P): Kill.
703         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
704
705 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
706
707         * config/h8300/h8300.md (two define_peephole2): New.
708
709 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
710
711         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
712         (CONST_OK_FOR_K): Likewise.
713         (CONST_OK_FOR_M): Likewise.
714         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
715
716 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
717
718         * c-common.c (builtin_define_type_max): Handle unsigned
719         types too.
720
721 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
722
723         * haifa-sched.c (rank_for_schedule): Correct style.
724
725 2002-12-10  Per Bothner  <pbothner@apple.com>
726
727         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
728         directive_index into an unsigned field and a new is_directive field.
729         * cppinit.c (mark_named_operators):  Update to set new fields.
730         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
731         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
732         No longer need to subtract 1 from directive_index.
733         (_cpp_init_directives):  No longer need to add 1 to directive_index.
734         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
735
736 2002-12-10  Roger Sayle  <roger@eyesopen.com>
737
738         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
739         check for evaluating sqrt of a constant at compile time.
740         * simplify-rtx.c (simplify_unary_operation): Likewise.
741
742 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
743
744         PR other/8882
745         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
746
747 2002-12-10  Devang Patel  <dpatel@appple.com>
748
749         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
750         * doc/invoke.texi: Add new "Darwin Options" section.
751
752 2002-12-10  Jim Wilson  <wilson@redhat.com>
753
754         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
755         memory.
756
757 2002-12-10  Andrew Haley  <aph@redhat.com>
758
759         * cse.c (cse_insn): Don't cse past a basic block boundary.
760
761 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
762
763         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
764         -shared.
765         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
766         * config/alpha/linux.h (LIB_SPEC): Likewise.
767         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
768         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
769         * config/sparc/linux.h (LIB_SPEC): Likewise.
770         * config/sparc/linux64.h (LIB_SPEC): Likewise.
771
772 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
773
774         * doc/invoke.texi: Document UltraSparc III option.
775
776 2002-12-09  Richard Henderson  <rth@redhat.com>
777
778         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
779         __tune_pentium2__ and __tune_pentium3__ as necessary.
780
781 2002-12-09  Richard Henderson  <rth@redhat.com>
782
783         * target.h (gcc_target): Add cannot_force_const_mem.
784         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
785         (TARGET_INITIALIZER): Add it.
786         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
787         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
788         * reload1.c (reload): Likewise.
789         * hooks.c (hook_bool_rtx_false): New.
790         * hooks.h: Declare it.
791
792         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
793         (TARGET_CANNOT_FORCE_CONST_MEM): New.
794         (ix86_expand_move): Remove de-const-pooling hack.
795
796 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
797
798         * toplev.c (dump_file): Fix order to match reality.
799
800 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
801
802         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
803         (store_multiple): Likewise.
804
805 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
806
807         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
808         function pointers in page 0.
809
810 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
811
812         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
813         definition
814         (MEMBER_TYPE_FORCES_BLK): Move.
815         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
816         aggregate arguments.
817         (ia64_function_value): Use PARALLEL to return aggregate values.
818
819 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
820
821         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
822         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
823         * calls.c (store_unaligned_arguments_into_pseudos) Remove
824         FUNCTION_ARG_REG_LITTLE_ENDIAN.
825         * stmt.c (expand_return): Ditto.
826         * expr.c (move_block_from_reg): Ditto.
827         (copy_blkmode_from_reg): Ditto.
828         * expmed.c (store_bit_field): Ditto.
829
830 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
831
832         * config.gcc: Added tic4x-* target as an alias to c4x-*
833
834 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
835
836         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
837         constructing insn directly.
838
839 2002-12-06  Per Bothner  <pbothner@apple.com>
840
841         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
842         char to an int bit-field, for hosts where char is unsigned.
843
844 2002-12-07  Roger Sayle  <roger@eyesopen.com>
845             Richard Henderson <rth@redhat.com>
846
847         * real.c (ieee_extended_motorola_format,
848         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
849         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
850         Provide appropriate values for new signbit field.
851
852 2002-12-07  Roger Sayle  <roger@eyesopen.com>
853
854         * real.h (real_format): Add signbit field.
855         * real.c (ieee_single_format, ieee_double_format,
856         ieee_extended_motorola_format, ieee_extended_intel_96_format,
857         ieee_extended_intel_128_format, ibm_extended_format,
858         ieee_quad_format, vax_f_format, vax_d_format,
859         vax_g_format, i370_single_format, i370_double_format,
860         c4x_single_format, c4x_extended_format, real_internal_format):
861         Provide suitable signbit value, or -1 to avoid bit twiddling.
862
863         * optabs.c (expand_unop): Try implementing negation of
864         floating point modes by flipping the sign bit.
865         (expand_abs): Try implementing abs of floating point modes
866         by clearing the sign bit.
867
868 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
869
870         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
871         of constructing insn directly.
872
873 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
874
875         * config/h8300/h8300.md (*iorhi_shift_8): New.
876
877 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
878
879         * doc/invoke.texi: Document FRV port options.
880         * doc/md.texi: Document FRV register classes.
881
882 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
883
884         * doc/install.texi (Configuration): Improve description of cases
885         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
886
887 2002-12-06  Per Bothner  <pbothner@apple.com>
888
889         * cpplib.h (NODE_MACRO_ARG):  New flag.
890         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
891         Remove value.operator field.  Move arg_index field to value union.
892         (directive_index):  Make signed, since also used for C++ operators.
893         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
894         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
895         Save node->value, and set node->value.arg_index.
896         (_cpp_create_definition):  For each paramater, restore node->value.
897         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
898         * cpptrad.c (scan_out_logical_line): Likewise.
899         (scan_out_logical_line): Check for directive > 0.
900         * cpplib.c (cpp_handle_directive):  Likewise.
901         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
902         by negative of directive_index.
903         * cppinit.c (mark_named_operators):  Likewise.
904
905         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
906
907 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
908
909         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
910         FPU.
911         (push): Generate push_fpscr.
912         (pop): Generate pop_fpscr.
913         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
914         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
915
916 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
917
918         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
919         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
920
921 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
922
923         * sh.md (movdi_i): Name.  Remove inappropriate comment.
924
925 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
926         Merged from basic improvements branch (excerpt):
927
928         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
929         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
930
931 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
932
933         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
934
935 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
936
937         * i386.md (dimode peep2s): Re-add "&& 1".
938
939 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
940
941         * i386.c (ix86_expand_prologue):  Add comment, do not use
942         fast prologues for cold and normal functions.
943
944 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
945
946         * i386.c (x86_rep_movl_optimal): New variable.
947         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
948         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
949
950         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
951         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
952         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
953         generate unnecesary subregs.
954
955 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
956
957         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
958         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
959
960 2002-12-05  Dale Johannesen  <dalej@apple.com>
961
962         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
963
964 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
965
966         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
967         PROFILE_HOOK.
968         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
969
970 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
971
972         * config/rs6000/spe.h (__ev_mwlufi): Remove.
973         (__ev_mwlufia): Remove.
974         (__ev_mwlumfaaw): Remove.
975         (__ev_mwlusfaaw): Remove.
976         (__ev_mwlumfanw): Remove.
977         (__ev_mwlusfanw): Remove.
978
979 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
980
981         * config/h8300/h8300.md (*andorsi3_shift_8): New.
982
983 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
984
985         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
986         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
987         (get_shift_alg): Return optimal assembly instructions for the
988         shifts mentioned above.
989
990 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
991
992         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
993         condtiional moves.
994
995 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
996
997         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
998         implement ashiftrt:HI by 13 bits on H8S.
999
1000 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1001
1002         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
1003         * pa.md (canonicalize_funcptr_for_compare): Output library call to
1004         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
1005         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
1006         CTOR_LIST_BEGIN): New defines.
1007         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
1008         (fptr.c): Add make rules.
1009
1010 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
1011
1012         * combine.c (combine_simplify_rtx): Add new canonicalizations.
1013         * doc/md.texi (Insn Canonicalizations): Document new
1014         canonicalizations for multiply/add combinations.
1015         * config/rs6000/rs6000.md: Add and modify floating add/multiply
1016         patterns to ensure they're used whenever they can be.
1017
1018 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1019
1020         * config/h8300/h8300.c: Update the comments related to shifts.
1021
1022 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1023
1024         * config/mips/mips.md (get_fnaddr): Correct length attribute.
1025
1026 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
1027
1028         * config/h8300/h8300.md (*extzv_8_8): New.
1029         (*extzv_8_16): Likewise.
1030
1031 2002-12-04  Jason Merrill  <jason@redhat.com>
1032
1033         PR c++/8461, c++/8625
1034         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
1035         references.
1036         * tree-inline.c (initialize_inlined_parameters): Likewise.
1037
1038         * tree.c (variably_modified_type_p): Just return an error_mark_node.
1039
1040 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
1041
1042         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
1043         macro instruction in a branch delay slot, to avoid assembler
1044         warnings.
1045
1046 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1047
1048         PR c/7622
1049         * c-semantics (genrtl_scope_stmt): Do not output inlined
1050         nested functions that contain no code.
1051
1052 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
1053
1054         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
1055         to be forced into nonfallthru.
1056
1057 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
1058
1059         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
1060
1061 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
1062
1063         * config/rs6000/spe.md (*movv1di_const0): New pattern.
1064
1065 2002-12-03  Richard Henderson  <rth@redhat.com>
1066
1067         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
1068
1069 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
1070
1071         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
1072         Initialize tmp.using_obstack to 0.
1073
1074 2002-12-03  Andreas Schwab  <schwab@suse.de>
1075
1076         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
1077         (EH_RETURN_STACKADJ_RTX): Define.
1078         (EH_RETURN_HANDLER_RTX): Define.
1079         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1080         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
1081         registers and don't save fixed registers.
1082         (m68k_output_function_prologue): Use it.
1083         (use_return_insn): Likewise.
1084         (m68k_output_function_epilogue): Likewise.
1085
1086 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
1087
1088         * config/h8300/h8300.c (single_one_operand): Fix a warning.
1089         (single_zero_operand): Likewise.
1090
1091 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
1092
1093         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
1094         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
1095         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
1096         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
1097         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
1098         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
1099         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
1100         doc/install-old.texi: Replace hconfig.h with bconfig.h.
1101         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
1102
1103 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
1104
1105         * config/rs6000/rs6000.md (ffssi): Convert to expander.
1106         (ffsdi): Likewise.
1107         (cntlzw2, cntlzd2): New patterns.
1108
1109 2002-12-02  H.J. Lu <hjl@gnu.org>
1110
1111         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
1112         (mips*-*-linux*): Remove mips/t-linux.
1113
1114 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1115
1116         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1117
1118 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1119
1120         * config/h8300/h8300.c (dosize): Replace argument op with
1121         sign.
1122         (h8300_output_function_prologue): Update the call to dosize.
1123         (h8300_output_function_epilogue): Likewise.
1124
1125 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
1126
1127         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
1128
1129 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
1130
1131         * configure.in: Use "missing" script to generate warning if
1132         flex or bison programs not found, instead of invoking "false".
1133         * configure: Rebuilt.
1134
1135 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
1136
1137         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
1138
1139 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
1140
1141         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
1142
1143 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1144
1145         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
1146         (push): Likewise.
1147         (pop): Likewise.
1148         (h8300_output_function_prologue): Likewise.
1149         (h8300_output_function_epilogue): Likewise.
1150
1151 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
1152
1153         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1154         corresponding mode of non-integer mode, unless it is VOIDmode.
1155
1156 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1157
1158         * config/h8300/h8300.md (stm_h8300s_2): New.
1159         (stm_h8300s_3): Likewise.
1160         (stm_h8300s_4): Likewise.
1161         (five define_peephole2): Likewise.
1162
1163 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
1164
1165         * ra-build.c: Fix a comment typo.
1166
1167 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1168
1169         * i386.c (ix86_expand_int_movcc): fix
1170         reversed BRANCH_COST test; be curefull about infinite recursion.
1171
1172 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1173
1174         * config/h8300/h8300.c (h8300_output_function_prologue):
1175         Remove variable idx.
1176         (h8300_output_function_epilogue): Likewise.
1177
1178 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
1179
1180         * config/frv/xm-frv.h: Delete, unnecessary.
1181
1182 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
1183
1184         * config/h8300/h8300.md: Add comments for define_peephole2.
1185
1186 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
1187
1188         * builtin-types.def (BT_SIZE): Use size_type_node.
1189         * builtins.c (fold_builtin): Make the builtin strlen returns a
1190         size_t, not a sizetype.
1191         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
1192         c_size_type_node.
1193         (c_alignof_expr): Likewise.
1194         (c_common_nodes_and_builtins): Likewise.
1195         * c-common.h (CTI_C_SIZE_TYPE): Remove.
1196         (c_size_type_node): Likewise.
1197         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
1198         * tree.h (TI_SIZE_TYPE): New enumeral.
1199         (size_type_node): Likewise.
1200
1201 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
1202
1203         * configure.in: Don't put ${tm_file} into host_xm_file,
1204         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
1205         Take location of tm-preds.h into account when calculating
1206         tm_p_file_list.
1207         * configure: Regenerate.
1208         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
1209         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
1210         Remove special case code for tm_p.h and *config.h; add new
1211         special case code for tm.h and tconfig.h. Clean up a bit.
1212
1213         * Makefile.in (tm_file, tm_file_list): New variables set from
1214         @-substitutions.
1215         (GCONFIG_H): Deleted.
1216         (GTM_H, TM_H): New.
1217         (CONFIG_H): Is now just config.h $(host_xm_file_list).
1218         (TM_P_H): Move up with the other mkconfig.sh-generated
1219         headers; don't mention tm-preds.h explicitly.
1220         (tm.h, cs-tm.h): New rule.
1221         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
1222         invocations of mkconfig.sh for changes to that program.
1223         (mostlyclean): Delete print-rtl1.c.
1224         (clean): Delete tm.h.
1225         Update dependencies for the files listed below.
1226
1227         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
1228
1229         * coretypes.h: New file.
1230         * system.h: #define malloc to xmalloc and realloc to xrealloc
1231         when FLEX_SCANNER or YYBISON is defined, independent of the
1232         value of GCC_VERSION.
1233         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
1234         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
1235         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
1236         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
1237         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
1238         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
1239         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
1240         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
1241         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
1242         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
1243         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
1244         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
1245         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
1246         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
1247         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
1248         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
1249         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
1250         genconstants.c, genemit.c, genextract.c, genflags.c,
1251         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
1252         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
1253         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
1254         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
1255         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
1256         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
1257         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
1258         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
1259         print-tree.c, profile.c, protoize.c, ra-build.c,
1260         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
1261         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
1262         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
1263         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
1264         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
1265         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
1266         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
1267         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
1268         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
1269         xcoffout.c, config/darwin-c.c, config/darwin.c,
1270         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
1271         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
1272         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
1273         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
1274         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
1275         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
1276         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
1277         config/i960/i960-c.c, config/i960/i960.c,
1278         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1279         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1280         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
1281         config/mips/irix6-libc-compat.c, config/mips/mips.c,
1282         config/mmix/mmix.c, config/mn10200/mn10200.c,
1283         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
1284         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
1285         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
1286         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
1287         config/sparc/sparc.c, config/stormy16/stormy16.c,
1288         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
1289         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
1290         Include coretypes.h and tm.h.
1291
1292         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
1293         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
1294         genrecog.c: Include coretypes.h and tm.h from the file
1295         generated by this program.
1296
1297         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
1298         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
1299         coretypes.h and tm.h, and tsystem.h when not already included.
1300         No need to include stddef.h nor stdlib.h.
1301
1302         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
1303         include auto-host.h or ansidecl.h/
1304         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
1305         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
1306         include auto-host.h, ansidecl.h, or system.h.
1307         * fixinc/server.c: Likewise.  Also, do not include signal.h,
1308         and do not redefine volatile.
1309
1310 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1311
1312         * i386.md (movdf_integer):  Always enable in 64bit.
1313         (movdf_nointeger): Always disable in 64bit.
1314
1315 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1316
1317         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
1318         pseudo register number plus 1.
1319
1320 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
1321
1322         * expmed.c (store_bit_field): Use int_mode_for_mode to find
1323         corresponding mode of non-integer mode, unless it is VOIDmode.
1324
1325 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
1326
1327         * cpplib.c (_cpp_test_assertion): Default *value to 0.
1328
1329         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
1330
1331 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1332
1333         * config/s390/t-crtstuff: New target makefile fragment.
1334         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
1335
1336 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1337
1338         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
1339         alternatives to correct the length when the memory operand is
1340         either pre_dec or post_inc.
1341
1342 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1343
1344         * config/h8300/h8300.md (an anonymous pattern): Give an
1345         internal name *tst_extzv_bitqi_1_n.
1346         Accept bit_operand instead of bit_memory_operand.
1347         Do not accept bit tests with the MSB.
1348         (*tst_extzv_memqi_1_n): New.
1349
1350 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
1351
1352         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
1353         sharing when operand is SUBREG.
1354
1355 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
1356
1357         * athlon.md (athlon-decodev): New reservation unit.
1358         (athlon-direct0): New reservation.
1359         (athlon-vector): New use athlon-decodev.
1360         (athlon-double, athlon-direct): Better model.
1361         (athlon_imul_k8): Use athlon-direct0.
1362         (athlon_movlpd_load): New insn reservation.
1363
1364 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1365
1366         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
1367         Fix a comment typo.
1368         (h8300_tiny_constant_address_p): Likewise.
1369
1370 2002-11-28  Michael Matz  <matz@suse.de>
1371
1372         * doc/passes.texi: Mention the other register allocator.
1373
1374 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1375
1376         * config/h8300/h8300.md (6 new peephole2 patterns): New.
1377
1378 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
1379
1380         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
1381         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
1382         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
1383
1384 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1385
1386         * config/h8300/h8300.c (h8300_and_costs): New.
1387         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
1388         * config/h8300/h8300-protos.h: Add a prototype for
1389         h8300_and_costs.
1390
1391 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
1392
1393         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
1394         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
1395         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
1396         * i386.md (truncdfsf patterns and splitters): Use
1397         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
1398
1399 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
1400
1401         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
1402         pointer argument in the prototypes of the following builtins
1403         be (const TYPE *) rather than (TYPE *):
1404          + __builtin_altivec_ld_internal_4sf
1405          + __builtin_altivec_ld_internal_4si
1406          + __builtin_altivec_ld_internal_8hi
1407          + __builtin_altivec_ld_internal_16qi
1408          + __builtin_altivec_lvsl
1409          + __builtin_altivec_lvsr
1410          + __builtin_altivec_lvebx
1411          + __builtin_altivec_lvehx
1412          + __builtin_altivec_lvewx
1413          + __builtin_altivec_lvxl
1414          + __builtin_altivec_lvx
1415          + __builtin_altivec_dst
1416          + __builtin_altivec_dstt
1417          + __builtin_altivec_dstst
1418          + __builtin_altivec_dststt
1419
1420 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1421
1422         * except.c (default_exception_section): Move variable into the
1423         scope where it is used.
1424
1425 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
1426
1427         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
1428         correct version.
1429
1430 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1431
1432         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
1433
1434 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1435
1436         * config/h8300/h8300.c (h8300_shift_costs): New.
1437         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
1438         * config/h8300/h8300-protos.h: Add a prototype for
1439         h8300_shift_costs.
1440
1441 2002-11-27  Jim Wilson  <wilson@redhat.com>
1442
1443         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
1444         in output template.
1445
1446 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
1447
1448         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
1449         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
1450         DLL_IMPORT_EXPORT_PREFIX, not '@'.
1451         (i386_pe_dllimport_name_p): Likewise.
1452         (i386_pe_mark_dllexport): Likewise.
1453         (i386_pe_mark_dllimport): Likewise.
1454         (i386_pe_encode_section_info): Likewise.
1455         (i386_pe_strip_name_encoding): Likewise.
1456
1457 2002-11-27  Richard Henderson  <rth@redhat.com>
1458
1459         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
1460         (nm && NF == 3): Set sawsymbol true.
1461         (END): Exit if no symbols seen.
1462         (output): Fix map syntax error if no globals for the version.
1463
1464 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
1465
1466         * builtins.def (DEF_C99_BUILTIN): Fix.
1467
1468 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
1469
1470         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
1471         (all): Add .size and .type information.
1472
1473 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
1474
1475         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
1476         partial_reg_stall target.
1477
1478 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
1479
1480         * i386.md (movhicc): Allow general operand.
1481         (movqicc): New expander.
1482         (movqicc_noc): New pattern.
1483         * i386.c (ix86_expand_carry_flag_compare): New function.
1484         (ix86_expand_int_movcc): Optimize harder using sbb; support more
1485         HImode conversion; support QImode conditional moves
1486
1487 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
1488
1489         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
1490         (ix86_expand_prologue): Multiply the count by amount of registers to be
1491         pushed.
1492
1493 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1494
1495         * i386.c (override_options): Error about wrong -mcpu on x86-64
1496         compilation.
1497
1498 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
1499
1500         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
1501
1502 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1503
1504         * i386-protos.h (x86_extended_QIreg_mentioned_p,
1505         x86_extended_reg_mentioned_p): Declare.
1506         * i386.c (extended_reg_mentioned_1): New static function.
1507         (x86_extended_QIreg_mentioned_p,
1508         x86_extended_reg_mentioned_p): New global functions.
1509         * i386.h (REX_SSE_REGNO_P): New macro.
1510         * i386.md (prefix_rex): New attribute.
1511         (length attribute): Add rex.
1512
1513 2002-11-26  Andrew Haley  <aph@redhat.com>
1514
1515         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
1516         from_Unwind_Find_Enclosing_Function.
1517         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
1518         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
1519         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
1520         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
1521         * unwind.h (_Unwind_FindEnclosingFunction): Add.
1522
1523 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1524
1525         * config/s390/s390.c (390_output_constant_pool): Set alignment
1526         before label in 64 bit mode, behind otherwise.
1527
1528 2002-11-26  Richard Henderson  <rth@redhat.com>
1529
1530         * c-common.c (handle_visibility_attribute): Accept "default".
1531         * tree.h (enum symbol_visibility): New.
1532         (decl_visibility): Declare.
1533         * target.h (gcc_target.visibility): Take visibility arg as integer.
1534         * varasm.c (default_assemble_visibility): Likewise.
1535         (decl_visibility): New.
1536         (maybe_assemble_visibility): Use it.
1537         * output.h (default_assemble_visibility): Update prototype.
1538         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
1539         visibility arg as integer.
1540         * doc/extend.texi: Document default visibility.
1541
1542 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
1543
1544         * config/h8300/h8300.c: Adjust spacing.
1545         * config/h8300/h8300.h: Likewise.
1546
1547 2002-11-26  Richard Henderson  <rth@redhat.com>
1548
1549         * hooks.c (hook_bool_void_false, hook_void_tree_int,
1550         hook_void_FILEptr_constcharptr): Rename so that the return
1551         type is first.
1552         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
1553         hook_bool_tree_false): New.
1554         * hooks.h: Update.
1555         * langhooks-def.h: Update for renames.
1556         * target-def.h: Likewise.
1557         * tree.c (default_comp_type_attributes,
1558         default_set_default_type_attributes, default_insert_attributes,
1559         default_function_attribute_inlinable_p,
1560         default_ms_bitfield_layout_p): Remove.
1561         * tree.h: Update.
1562
1563 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1564
1565         * pa-protos.h (function_value): New prototype.
1566         * pa.c (function_value): Use a PARALLEL to return small aggregates on
1567         TARGET_64BIT.
1568         * pa.h (FUNCTION_VALUE): Use function_value.
1569         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
1570         call_value_internal_reg, sibcall_value_internal_symref,
1571         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
1572         value.
1573
1574 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1575
1576         * expr.c (gen_group_rtx, emit_group_move): New functions.
1577         * expr.h (gen_group_rtx, emit_group_move): Prototype.
1578         * function.c (expand_function_start): Use gen_group_rtx to create a
1579         PARALLEL rtx to hold the return value when the real return rtx is a
1580         PARALLEL.
1581         (expand_function_end): Use emit_group_move to move the return value
1582         from a PARALLEL to the real return registers.
1583         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
1584         in PARALLELs.
1585
1586 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1587
1588         * config/t-libc-ok: Fix typo.
1589
1590 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1591
1592         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
1593         before AC_PROG_CC.
1594         * configure: Rebuilt.
1595
1596 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
1597
1598         * c-decl.c: (start_struct): Commonize flag setting.
1599
1600 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
1601
1602         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
1603         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
1604         RS6000_CPU_CPP_ENDIAN_BUILTINS.
1605         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
1606
1607 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
1608
1609         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
1610         insns.
1611         * config/s390/s390.c (struct machine_function): Introduction of
1612         struct machine_function.
1613         (s390_output_symbolic_const): Use of cfun.
1614         (s390_optimize_prolog): Likewise.
1615         (s390_fixup_clobbered_return_reg): Likewise.
1616         (s390_frame_info): Likewise.
1617         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1618         (s390_init_machine_status): New function.
1619         (override_options): call s390_init_machine_status.
1620         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
1621         prototype.
1622
1623 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1624
1625         * varasm.c (output_constant_pool): For pool constants in mergeable
1626         section ensure each constant is padded to multiple of entity size.
1627
1628 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
1629
1630         * varasm.c (default_exception_section): Move to...
1631         * except.c (default_exception_section): ... here. Make
1632         .gcc_except_table read-only if it is not expected to have any
1633         dynamic relocations and linker handles it.
1634         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
1635         if it is not expected to have any dynamic relocations and linker
1636         handles it.
1637         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
1638         when linking read-only and read-write sections together.
1639         * configure, config.in: Rebuilt.
1640         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
1641         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
1642
1643 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
1644
1645         * i386.md (pushsf_rex64): Fix typo.
1646
1647 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1648
1649         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
1650         new function.
1651         (__ev_create_ufix32_fs): Same.
1652         (__ev_get_sfix32_fs_internal): New.
1653         (__ev_get_sfix32_fs): Define to use function.
1654         (__ev_get_ufix32_fs_internal): New.
1655         (__ev_get_ufix32_fs): Define to use function.
1656         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
1657         (__ev_get_lower_ufix32_fs): Same.
1658         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
1659         (__ev_get_lower_sfix32_fs): Same.
1660         (__ev_set_sfix32_fs_internal): New.
1661         (__ev_set_ufix32_fs_internal): New.
1662         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
1663         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
1664         (__ev_set_upper_sfix32_fs): Call function.
1665         (__ev_set_lower_sfix32_fs): Same.
1666         (__ev_set_upper_ufix32_fs): Same.
1667         (__ev_set_lower_ufix32_fs): Same.
1668
1669 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
1670
1671         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
1672
1673 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1674
1675         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
1676         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1677         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1678         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
1679         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
1680         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1681         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
1682         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
1683         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
1684         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1685         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
1686         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
1687         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
1688         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
1689         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
1690         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
1691         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
1692         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
1693         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
1694         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
1695         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
1696         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
1697         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
1698         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
1699         defining.
1700         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
1701         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
1702
1703 2002-11-25  Dave Pitts  <dpitts@cozx.com>
1704
1705         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
1706
1707 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1708
1709         * config/h8300/h8300.md (an anonymous pattern): New.
1710
1711 2002-11-25  Richard Henderson  <rth@redhat.com>
1712
1713         * alias.c (find_base_value): Use new_reg_base_value if it's live.
1714         (copying_arguments): Make boolean.
1715
1716 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1717
1718         * gcc.c (static_spec_functions): Add if-exists-else spec
1719         function.
1720         (if_exists_else_spec_function): New function.
1721         * doc/invoke.texi: Document the if-exists-else spec function.
1722
1723         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
1724         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
1725
1726 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
1727
1728         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
1729         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
1730         "${tmake_file} rs6000/t-netbsd".
1731         * config/rs6000/netbsd.h: Rewrite.
1732         * config/rs6000/t-netbsd: New file.
1733
1734 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
1735
1736         * config/h8300/h8300.md (an anonymous pattern): Relax the
1737         condition for the pattern.
1738
1739 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
1740
1741         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
1742         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
1743         evmwlssfanw, evmwlsmfanw.
1744
1745         * config/rs6000/rs6000.c (bdesc_2arg): Same.
1746
1747         * config/rs6000/spe.md: Same for patterns.
1748
1749 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1750
1751         PR c/8639
1752         * fold-const.c (extract_muldiv): Don't propagate division unless
1753         both arguments are multiples of C.
1754
1755 2002-11-25  Andrew Haley  <aph@redhat.com>
1756
1757         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
1758         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
1759         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
1760         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
1761
1762 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
1763
1764         * i386.c (x86_use_ffreep): New global variable.
1765         * i386.h (x86_use_frfeep): Declare
1766         (TARGET_USE_FFREEP): New macro
1767         * i386.md  (movs?f*): Use freep when asked for.
1768         (push?f): Remove dead code.
1769
1770 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1771
1772         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
1773         target help message.
1774
1775 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1776
1777         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
1778         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
1779         crtbeginT.o".
1780         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
1781         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
1782         to "" for a.out configurations.
1783         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
1784
1785 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1786
1787         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
1788         NETBSD_CPP_SPEC directly.
1789         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
1790         netbsd_endfile_spec.
1791         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
1792
1793 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
1794
1795         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
1796         NETBSD_STARTFILE_SPEC.
1797         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
1798         (ENDFILE_SPEC): Likewise.
1799         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
1800
1801 2002-11-24  Andreas Schwab  <schwab@suse.de>
1802
1803         * Makefile.in (install-driver): Remove versioned link before
1804         trying to create it.
1805
1806         * config/m68k/m68k.c: Fix typo in last change defining
1807         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1808
1809 2002-11-23  H.J. Lu <hjl@gnu.org>
1810
1811         * aclocal.m4: Include ../config/accross.m4.
1812         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
1813         (gcc_AC_C_COMPILE_ENDIAN): Removed.
1814         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
1815         instead of $ac_cv_c_compile_endian.
1816
1817         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
1818         AC_COMPILE_CHECK_SIZEOF.
1819         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
1820         * configure: Rebuild.
1821
1822 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1823
1824         * config/h8300/h8300.c (print_operand): Update the use of
1825         h8300_tiny_constant_address_p.
1826         (h8300_adjust_insn_length): Likewise.
1827         (h8300_tiny_constant_address_p): Check if the given rtx is a
1828         variable declared with __attribute__ ((tiny_data)).
1829
1830 2002-11-22  Dale Johannesen  <dalej@apple.com>
1831
1832         * toplev.c (rest_of_compilation):  Fix comments.
1833
1834 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
1835
1836         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
1837         allow mmap from /dev/zero.  Don't make decisions for the host
1838         based on presence or absence of /dev/zero on the build machine.
1839         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
1840         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
1841         * configure: Regenerate.
1842
1843 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1844
1845         * gcc.c (make_relative_prefix, split_directories)
1846         (free_split_directories): Removed.
1847
1848 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
1849
1850         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
1851         * configure: Regenerated.
1852
1853 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1854
1855         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
1856         length computation when xor.l is output.
1857
1858 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
1859
1860         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
1861         (call_vms_1, call_value_vms_1): Cleanup syntax.
1862
1863 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
1864
1865         * athlon.md (define_atuomaton): Add athlon_load.
1866         (athlon-double): New reservation.
1867         (athlon-ieu0): New CPU unit.
1868         (athlon-load?): Use athlon_load automaton.
1869         (*_k8 reservations): New.
1870         (other insn revervations): Activate for K8.
1871
1872 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
1873
1874         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
1875
1876 2002-11-21  Jim Wilson  <wilson@redhat.com>
1877
1878         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
1879         vectors to SI.
1880
1881 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
1882
1883         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
1884         * config/xtensa/xtensa.c (struct machine_function): Add
1885         incoming_a7_copied flag.
1886         (xtensa_copy_incoming_a7): Define.
1887         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
1888         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
1889
1890 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
1891
1892         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
1893         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
1894         x86_64_nonmemory_operand, x86_64_movabs_operand,
1895         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1896         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
1897         (local_symbolic_operand): Do not care the 64bit limits.
1898         (x86_64_sign_extended_value): Remove allow_rip support.
1899         (legitimate_pic_address_disp_p): Handle all cases allowed
1900         with RIP addressing.
1901         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
1902         (legitimize_pic_address): Reorganize.
1903         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
1904
1905 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1906
1907         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
1908         * config/arm/netbsd-elf.h: New file.
1909
1910 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1911
1912         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
1913         subtarget_asm_float_spec.
1914         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
1915         defaults from...
1916         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
1917
1918 2002-11-21  Nick Clifton  <nickc@redhat.com>
1919
1920         * config/fr30/fr30.md (movsf_constant_store): Move code to
1921         detect 0.0 into fr30.c.
1922         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
1923         Prototype.
1924         * config/fr30/fr30.c (fr30_const_double_is_zero): New
1925         function.  Return true if the rtx is 0.0.
1926
1927 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
1928
1929         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
1930         if -mlittle-endian is specified.
1931
1932 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1933
1934         PR optimization/2903
1935         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
1936         (anddi_notsesidi_di): Likewise.
1937
1938 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1939
1940         * config/h8300/h8300.c (print_operand): Use
1941         h8300_eightbit_constant_address_p and
1942         h8300_tiny_constant_address_p.
1943         (h8300_adjust_insn_length): Likewise.
1944         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
1945         (TINY_CONSTANT_ADDRESS_P): Likewise.
1946         (OK_FOR_U): Use eightbit_constant_address_p.
1947
1948 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
1949
1950         * config/s390/libgcc-libc.ver: Add multilib support.
1951         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
1952         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1953         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
1954         EXTRA_MULTILIB_PARTS): Define.
1955
1956 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
1957
1958         * arm.c (arm_get_frame_size): A leaf function does not need its
1959         stack padding to an aligned boundary if it has no frame.
1960         (thumb_get_frame_size): Likewise.
1961
1962 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
1963
1964         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
1965         (override_options): Likewise.
1966
1967 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
1968
1969         * config.gcc: Add k8 target alias support
1970         * i386.c (_cost): Declare costs for various variants of divides and
1971         multiplies.
1972         (k8_cost): New.
1973         (m_K8, m_ATHLON_K8): New macros.
1974         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
1975         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
1976         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
1977         x86_integer_DFmode_moves, x86_partial_reg_dependency,
1978         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1979         x86_prologue_using_move, x86_epilogue_using_move,
1980         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
1981         x86_sse_typeless_stores): Set for K8
1982         (override_options): Add k8 support; fix athlon alignment;
1983         complain about non-x86-64 capable CPU being used in x86-64 compilation.
1984         (ix86_issue_rate): Set for K8.
1985         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
1986         x86_machine_dependent_reorg): Handle K8 like
1987         * i386.h
1988         (x86_costs):  Change mult_init and divide into array.
1989         (TARGET_K8, TARGET_ATHLON): New macros.
1990         (MODE_INDEX): New macro.
1991         (RTX_COST): Use new costs.
1992         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
1993         (TARGET_CPU_DEFAULT_NAMES): Add k8
1994         (TARGET_CPU_DEFAULT_k8): New constant
1995         (enum processor_type): Add PROCESSOR_K8.
1996         * i386.md (cpu attribute): Add k8.
1997
1998         * invoke.texi: Document -march=k8.
1999
2000         * i386.md (type attribute): Add leave
2001         (mode attribute): Remove unknownfp.
2002         (length_immediate, modrm, memory attributes): Handle leave correctly.
2003         (fp comparison patterns): Determine FP mode.
2004         (leave, leave_rex64): Remove special cases.
2005         * ppro.md (ppro_uops, ppro_p2): Add leave
2006         * pentiun.md (pent_pop): Handle leave too.
2007         * k6.md (k6_load): Handle leave.
2008         * athlon.md (athlon_leave, athlon_pop): Fix.
2009         (athlon_decode): Handle leave.
2010
2011 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
2012
2013         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
2014         to component type using GET_MODE_INNER.
2015         * expr.c (emit_move_insn_1): Ditto.
2016         * optabs.c (expand_binop): Ditto.
2017         (expand_unop): Ditto.
2018         (expand_complex_abs): Ditto.
2019
2020 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
2021
2022         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
2023
2024 2002-11-20  DJ Delorie  <dj@redhat.com>
2025
2026         * config/stormy16/stormy16.c (s16builtins,
2027         xstormy16_init_builtins, xstormy16_expand_builtin): New.
2028         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
2029
2030 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
2031
2032         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
2033         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
2034         (executing gencheck, genconfigs, genconditions, genflags,
2035         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
2036         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
2037         gengtype, genprotos): Prepend $(RUN_GEN).
2038         * configure.in: Move host compiler tests before --enable-checking
2039         tests.
2040         (--enable-checking=valgrind): New.
2041         * config.in, configure: Regenerate.
2042         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2043         Define as empty.
2044         (read_include_file): When doing the mmap+1 trick,
2045         valgrind-annotate the byte after the mmap:ed area as readable.
2046         (purge_cache): Remove above annotation.
2047         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
2048         VALGRIND_PATH -q to each command.
2049
2050         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2051         Define as empty.
2052         (ggc_realloc): Update valgrind annotations.
2053         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
2054         Define as empty.
2055         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
2056         valgrind-annotate memory.
2057
2058 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
2059
2060         * recog.c (constrain_operands): Prefer exact match over reloadable
2061         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
2062
2063         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
2064         operands in Pmode.
2065
2066 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
2067
2068         PR c/8518
2069         * c-decl.c (duplicate_decls): Outline the second definition
2070         of an extern inline function in all cases.
2071
2072 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2073
2074         * stor-layout.c (place_field): Update rli->offset as well as
2075         rli->bitpos.
2076
2077 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2078
2079         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
2080
2081 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2082
2083         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
2084         into a libcall block.
2085         (divsi3): Likewise divsi3_i4_media.
2086
2087 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
2088
2089         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
2090         out another register.
2091
2092 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
2093
2094         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
2095         (not just mask) are set in C.
2096
2097 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
2098
2099         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
2100
2101 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2102
2103         * profile.c (index_counts_file): Fix obvious mistake.
2104
2105 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2106
2107         * Makefile.in (profile.o): Add hashtab.h dependency.
2108         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
2109         * profile.c: Include hashtab.h.
2110         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
2111         cleanup_counts_index, index_counts_file, struct section_reference,
2112         struct da_index_entry, counts_file_name, counts_file_index): New.
2113         (get_exec_counts, init_branch_prob): Modified.
2114
2115 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
2116
2117         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
2118         to tmake_file. Remove setting gas and gnu_ld here.
2119         * config/sh/libgcc-glibc.ver: New file.
2120         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2121         (SHLIB_MAPFILES): New.
2122         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
2123         (MD_STARTFILE_PREFIX): Likewise.
2124         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
2125         (DWARF2_UNWIND_INFO): Redefine.
2126         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2127         (LINK_EH_SPEC): Redefine.
2128         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
2129         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
2130         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
2131         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
2132         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
2133         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
2134         SH_DWARF_FRAME_FPSCR): Likewise.
2135         * config/sh/sh-protos.h (sh_set_return_address): Declare.
2136         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
2137         registers if the current function calls EH return.
2138         (sh_expand_epilogue): Handle EH stack adjustments.
2139         (sh_set_return_address): New function.
2140         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
2141         Don't abort even if the number is mapped to -1.
2142         (EH_RETURN_DATA_REGNO): Define.
2143         (EH_RETURN_STACKADJ_RTX): Define.
2144         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
2145         (eh_return): New pattern.
2146         (eh_set_ra_di, eh_set_ra_si): Likewise.
2147         Add splitter to perform EH return after reload.
2148
2149 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
2150
2151         * stor-layout.c (excess_unit_span): New function.
2152         (place_field): Use it.
2153
2154 2002-11-19  Andreas Schwab  <schwab@suse.de>
2155
2156         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
2157         not valid in C++.
2158
2159 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2160
2161         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
2162         * configure: Regenerate.
2163
2164 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2165
2166         * convert.c (strip_float_extensions): New function.
2167         (convert_to_real): Optimize some cases.
2168
2169 2002-11-19  Andreas Jaeger  <aj@suse.de>
2170
2171         * loop.c (record_giv): Initialize not_replaceable.
2172         (check_final_value): Likewise.
2173
2174 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2175
2176         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
2177         MASK_H8300S.
2178
2179 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
2180
2181         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
2182         only if -mh or -ms present.
2183         (h8300_eightbit_constant_address_p): Support the normal mode.
2184         (h8300_tiny_constant_address_p): Likewise.
2185         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
2186         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
2187         (Pmode): Evaluate to HImode for the normal mode.
2188         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
2189         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
2190         (ASM_WORD_OP): Evaluate to word for the normal mode.
2191         * config/h8300/h8300.md (tablejump_normal_mode): New.
2192         (indirect_jump_normal_mode): New.
2193         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
2194         directory.
2195         (MULTILIB_DIRNAMES): Create target dependent directory
2196         'normal'.
2197         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
2198         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
2199
2200 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
2201
2202         * i386.md (length_immediate): Do not refer to insn address.
2203         (jcc*, jmp patterns):  Compute length explicitly.
2204
2205 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2206
2207         PR c/8588
2208         * optabs.c (expand_binop): Convert CONST_INTs in shift
2209         operations too.
2210
2211 2002-11-19  Roger Sayle  <roger@eyesopen.com>
2212
2213         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
2214
2215 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2216
2217         * config/h8300/h8300.md (an anonymous pattern): Relax the
2218         condition to accept the same operands and/or subregs.
2219
2220 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
2221
2222         * config/sh/sh.c (gen_shl_and): Revert previous patch.
2223         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
2224         reload_completed.
2225
2226 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2227
2228         * config/h8300/h8300.c (print_operand): Update the use of
2229         EIGHTBIT_CONSTANT_ADDRESS_P.
2230         (h8300_adjust_insn_length): Likewise.
2231         (h8300_eightbit_constant_address_p): Check if the given rtx is
2232         a variable with __attribute__((eightbit_data)).
2233         * config/h8300/h8300.h (OK_FOR_U): Update the use of
2234         EIGHTBIT_CONSTANT_ADDRESS_P.
2235
2236 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2237
2238         * doc/contrib.texi (Contributors): Add self as second contact in
2239         addition to Jeff Law.
2240
2241 2002-11-19  Andreas Jaeger  <aj@suse.de>
2242
2243         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
2244         find_alloca_call to right place.
2245
2246 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
2247
2248         * cppfiles.c: Fix formatting.
2249
2250 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
2251
2252         * gcc.c (The Specs Language): Document spec functions.
2253         (static_spec_functions, lookup_spec_function)
2254         (eval_spec_function, handle_spec_function)
2255         (if_exists_spec_function, alloc_args): New.
2256         (execute): Abort if processing_spec_function is true.
2257         (do_spec_1): Hand off spec to handle_spec_function if %:
2258         is encountered.  If processing_spec_function is true,
2259         end any pending argument when the end of the string is reached.
2260         (main): Use alloc_args to allocate the initial argument vector.
2261         * gcc.h (struct spec_function): New.
2262         (lang_specific_spec_functions): New extern.
2263
2264         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
2265         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
2266         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
2267
2268         * doc/invoke.texi: Document spec functions.
2269
2270         * cppspec.c (lang_specific_spec_functions): New.
2271         * gccspec.c: Likewise.
2272
2273 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
2274
2275         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
2276         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
2277         (fixunstfsi_libfunc): Change.
2278         (fixunstfdi_libfunc): Change.
2279         (sdiv_optab): Don't zero out SImode handler.
2280         (udiv_optab): Don't zero out SImode handler.
2281         (smod_optab): Don't zero out SImode handler.
2282         (umod_optab): Don't zero out SImode handler.
2283
2284 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
2285
2286         PR preprocessor/8524
2287         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
2288         Add a new one in its place, which hopefully works.
2289         (skip_rest_of_line): Change test for bottom-of-context-stack.
2290
2291 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
2292
2293         * i386.md (addqi_1_slp): Fix output template.
2294         (subqi_1_slp): Fix type.
2295
2296 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
2297
2298         * calls.c (alloca_call_p): New global function.
2299         * tree.h (alloca_call_p): New.
2300         * tree-inline.c (inlinable_function_p):  Do not inline when
2301         function calls alloca.
2302         (find_alloca_call, find_alloca_call_1): New functions.
2303
2304 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
2305
2306         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
2307         bst.  Update the insn length.
2308         (*andorhi3): Likewise.
2309         (*andorsi3): Likewise.
2310
2311 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2312
2313         * config/sh/sh-protos.h (sh_mark_label): Declare.
2314         * config/sh/sh.c (sh_mark_label): New function, taken from
2315         movdi_const, but fixing the case when the address has an addend.
2316         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
2317
2318 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2319
2320         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
2321         (add_constant): Set it.
2322         (dump_table): Don't reorder a constant if part_of_sequence_p.
2323         (machine_dependent_reorg): Assume that float constants will
2324         stay in their original order if used as a sequence.
2325
2326 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2327
2328         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
2329         in compact code.
2330
2331 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
2332
2333         * config/sh/sh.md (initialize_trampoline): Do not force the
2334         trampoline address into R0_REGS here.
2335
2336 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
2337
2338         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
2339         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
2340         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
2341         generate unnecesary subregs.
2342
2343 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2344
2345         * df.c: Fix formatting.
2346
2347 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2348
2349         * config/h8300/h8300.md (two anonymous patterns): Fix insn
2350         lengths.
2351
2352 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
2353
2354         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
2355         is not an arith_reg_operand.
2356
2357 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
2358
2359         * real.c (real_to_decimal): Fix buffer overrun when buffer size
2360         is smaller than representation.
2361
2362 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
2363
2364         * builtins.c: Fix formatting.
2365
2366 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2367
2368         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
2369         floats?dff2_i387):
2370         Work around regclass stupidity.
2371         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
2372
2373 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
2374
2375         * i386.md (fop_df_6): New pattern.
2376         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
2377         (fop_xf_6): Rewrite
2378         (fop_xf_7): Delete.
2379         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
2380         (fop_tf_6): Rewrite
2381         (fop_tf_7): Delete.
2382
2383 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2384
2385         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
2386
2387 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2388
2389         * config/h8300/h8300.md: Fix formatting.
2390
2391 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2392
2393         * config/h8300/h8300.md: Replace spaces with tabs.
2394         * config/h8300/t-h8300: Remove a trailing empty line.
2395
2396 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2397
2398         * tlink.c: Fix formatting.
2399
2400 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
2401
2402         PR 8362
2403         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
2404         * config/rs6000/rs6000.md (movti_string): Remove output modifier
2405         when scratch register never needed.
2406         (ldmsi[3-8]): New patterns.
2407
2408 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2409
2410         * hard-reg-set.h: Follow spelling conventions.
2411         * real.c: Likewise.
2412         * target.h: Likewise.
2413
2414 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
2415
2416         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
2417
2418 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2419
2420         * optabs.c: Fix formatting.
2421
2422 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2423
2424         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
2425         * i386.md (attribute type): Add type shift1 and rotate1.
2426         (*_slp): Rewrite to have just two operands to avoid reload problems.
2427
2428 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
2429
2430         * config/h8300/h8300.md (4 anonymous patterns): New.
2431
2432 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2433
2434         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
2435         * doc/invoke.texi: Correct description of what needs to be done to
2436         force collection at every ggc_collect call.
2437
2438 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2439
2440         * config/s390/s390.c (optimization_options): Set
2441         flag_asynchronous_unwind_tables to 1 by default.
2442
2443 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
2444
2445         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2446
2447 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2448
2449         * i386-protos.h (x86_function_profiler): New function
2450         * i386.h (MCOUNT_NAME): New.
2451         (PROFILE_COUNT_REGISTER): New.
2452         (FUNCTION_PROFILER): Move offline to ...
2453         * i386.c (x86_function_profiler) ... here; fix 64bit support
2454         * beos-elf.h (FUNCTION_PROFILER): Kill.
2455         (MCOUNT_NAME): New.
2456         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
2457         (MCOUNT_NAME): New.
2458         (PROFILE_COUNT_REGISTER): New.
2459         * linux.h (FUNCTION_PROFILER): Kill.
2460         (MCOUNT_NAME): New.
2461         * x86-64.h (FUNCTION_PROFILER): Kill.
2462         (MCOUNT_NAME): New.
2463         * freebsd.h (FUNCTION_PROFILER): Kill.
2464         (MCOUNT_NAME): New.
2465
2466 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2467
2468         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
2469         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
2470         * config/arm/arm.c (arm_va_arg,
2471         arm_function_arg_pass_by_reference): New.
2472         * config/arm/arm-protos.h: Add prototypes.
2473
2474 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2475
2476         * gthr-single.h: Fix formatting.
2477
2478 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
2479
2480         * tree.c (tree_vec_elt_check_failed): New function.
2481         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
2482         (TREE_VEC_ELT): Use it.
2483
2484         * tree-inline.c (optimize_inline_calls): Don't copy a
2485         zero-length vector.
2486
2487 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2488
2489         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
2490
2491 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
2492
2493         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
2494         both operands contain local relocations.
2495         (categorize_decl_for_section): Don't use mergeable sections if
2496         initializer has any relocations.
2497
2498 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
2499
2500         * gthr-vxworks.h: Fix formatting.
2501
2502 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
2503
2504         * doc/install.texi (Testing): Document extra Java testing.
2505         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
2506
2507 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2508
2509         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
2510         beginning of the spec.
2511         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
2512         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
2513         regarding problems with global constructors when using GNU ld.
2514
2515 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2516
2517         * gthr-solaris.h: Fix formatting.
2518
2519 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
2520
2521         * gthr-posix.h: Fix formatting.
2522
2523 2002-11-12  Devang Patel <dpatel@apple.com>
2524         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
2525         (process_command): Same.
2526         * doc/invoke.texi: Info about these two new options.
2527
2528 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2529
2530         * config/h8300/h8300.md (*andorsi3): New.
2531
2532 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2533
2534         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
2535
2536 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2537
2538         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
2539         expressions appropriately.
2540
2541 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2542
2543         * gthr-win32.h: Fix formatting.
2544
2545 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2546
2547         * config/h8300/h8300.c (single_one_operand): Correctly compute
2548         mask when mode is SImode.
2549         (single_zero_operand): Likewise.
2550         * config/h8300/h8300.md (two new anonymous insns): New.
2551
2552 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2553
2554         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
2555         to that entire project.
2556
2557 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2558
2559         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
2560         directories.
2561
2562 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
2563
2564         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
2565         * doc/invoke.texi: Document them.
2566
2567         * ggc-page.c: Include params.h.  Remove definitions of
2568         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
2569         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
2570         (init_gcc): Don't set G.allocated_last_gc here.
2571         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
2572         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
2573         perform collection.
2574         * ggc-simple.c: Similarly.
2575         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
2576         dependencies.
2577
2578 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2579
2580         * gthr-dce.h: Fix formatting.
2581
2582 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2583
2584         PR c/8467
2585         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
2586         mode of DECL_RTL case.
2587
2588 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
2589
2590         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
2591
2592 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
2593
2594         * i386.c (construct_container): Fix handling of SSE_CLASS.
2595
2596 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
2597
2598         * config/m68k/t-crtstuff (crti.o): Use this...
2599         ($(T)crti.o): ... instead.
2600         (crtn.o): Use this...
2601         ($(T)crtn.o): ... instead.
2602
2603 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2604
2605         PR c/8439
2606         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
2607         if there is something new to be simplified.
2608
2609 2002-11-10  H.J. Lu <hjl@gnu.org>
2610
2611         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
2612         * expr.c (PUSH_ARGS_REVERSED): Likewise.
2613
2614         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
2615
2616 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
2617
2618         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
2619         * config/rs6000/linux.h, config/rs6000/linux64.h,
2620         config/rs6000/windiss.h: ... not here.
2621
2622 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
2623
2624         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
2625         __ABICALLS__ if TARGET_ABICALLS.
2626
2627 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
2628
2629         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
2630
2631 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2632
2633         * c-decl.c (grokdeclarator): Make error for duplicate type
2634         qualifiers into a pedwarn, disabled for C99.
2635
2636 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
2637
2638         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
2639         as FUNCTION_ARG_PASS_BY_REFERENCE.
2640
2641 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
2642
2643         * doc/install.texi: Add *-*-vxworks* specific installation
2644         instructions.
2645
2646         * config/vxlib.c: Rewrite using generation numbers to identify
2647         valid TSD keys.
2648
2649 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
2650
2651         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
2652
2653 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2654
2655         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
2656
2657         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
2658         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
2659         * pa.c (output_millicode_call): Use symbol difference rather than
2660         $PIC_pcrel$0 when using HP assembler.
2661         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
2662         not elfos.h (i.e., gas) is being used.
2663         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2664         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
2665         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
2666         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
2667         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
2668         using elfos.h.
2669         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
2670         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
2671         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
2672         using elfos.h.
2673         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
2674         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
2675         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
2676         Don't define when not using elfos.h.
2677         (ASM_DECLARE_RESULT): Don't define.
2678         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
2679         doesn't work on hppa64-hp-hpux11.
2680         (hppa*-hp-hpux11): Update.
2681
2682 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
2683
2684         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
2685         to the assembler if -mno-abicalls was specified.
2686
2687 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2688
2689         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2690         ASM_OUTPUT_DEF): Delete.
2691
2692 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
2693
2694         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
2695
2696 2002-11-08  Roger Sayle  <roger@eyesopen.com>
2697
2698         * real.c (real_sqrt): Update comment with bibliographic reference.
2699
2700 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
2701
2702         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
2703
2704 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2705
2706         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
2707
2708 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2709
2710         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
2711         (expand_builtin): Likewise.
2712         * builtins.def: Add
2713         __builtin_floor, __builtin_floorf, __builtin_floorl
2714         __builtin_ceil, __builtin_ceilf, __builtin_ceill
2715         __builtin_round, __builtin_roundf, __builtin_roundl
2716         __builtin_trunc, __builtin_truncf, __builtin_truncl
2717         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
2718         * genopinit.c (optabs): Initialize the new optabs.
2719         * optab.c (init_optabs): Likewise.
2720         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
2721         OTI_round, OTI_nearbyint.
2722         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
2723         * doc/md.texi: Document new named patterns.
2724         * doc/extend.texi (builtin functions)  Document
2725         floor, floorf, floorl, ceil, ceilf,
2726         ceill, round, roundf, roundl, trunc,
2727         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
2728
2729 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
2730
2731         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
2732
2733 2002-11-08  Dale Johannesen  <dalej@apple.com>
2734
2735         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
2736
2737 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2738
2739         PR preprocessor/8497
2740         PR preprocessor/8501
2741         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
2742         start a directive.  In assembler, #NUM is not a line directive.
2743
2744 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
2745
2746         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
2747         buffers.
2748
2749 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
2750
2751         * config/h8300/h8300.md (two anonymous test insns): New.
2752
2753 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2754
2755         * jump.c (mark_jump_label): Handle subregs of label_refs.
2756
2757 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
2758
2759         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
2760         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
2761
2762 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
2763
2764         * config/ia64/crtend.asm: Include "auto-host.h".
2765         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
2766         * config/ia64/crtbegin.asm: Similarly.
2767         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
2768         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
2769
2770         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
2771         * configure.in: Use it if --enable-initfini-array not specified.
2772         * doc/install.texi (Configuration): Document --enable-initfini-array.
2773         * configure, config.in: Rebuild.
2774
2775 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
2776
2777         * config/arm/arm-protos.h (arm_get_frame_size)
2778         (thumb_get_frame_size): New prototypes.
2779         * config/arm/arm.c (arm_get_frame_size)
2780         (thumb_get_frame_size): New functions.
2781         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
2782         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
2783         arm_get_frame_size.
2784         (thumb_expand_prologue, thumb_expand_epilogue): Use
2785         thumb_get_frame_size.
2786         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
2787         (machine_function): Add frame_size member.
2788         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
2789
2790 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2791
2792         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
2793         Adjust code to use portable unsigned bit manipulation.
2794         (insn_flags, tune_flags): Change type to unsigned.
2795         (struct processors): Make flags unsigned long.
2796         (arm_override_options): Change type of count and current_bit_count
2797         to unsigned.
2798
2799 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
2800
2801         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
2802
2803 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
2804
2805         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
2806
2807 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
2808
2809         * reg-stack.c (compensate_edge): Fix sanity check.
2810
2811 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
2812
2813         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
2814         crt2.o.  Rearrange t-darwin makefiles.
2815         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
2816         * unwind-dw2-fde-darwin.c: New.
2817         * unwind-dw2-fde-glibc.c: Correct comment.
2818         * unwind-dw2-fde.c (__register_frame_info_bases)
2819         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
2820         (classify_object_over_fdes): Use last_fde.
2821         (add_fdes): Likewise.
2822         (linear_search_fdes): Likewise.
2823         * unwind-dw2-fde.h (struct object)
2824         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
2825         (last_fde): New.
2826         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
2827         (ENDFILE_SPEC): No crtend.o.
2828         * config/t-darwin: New.
2829         * config/i386/t-darwin: Delete.
2830         * config/darwin-crt2.c: New.
2831         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
2832         or config/t-darwin.
2833
2834 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
2835
2836         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
2837         MASK_MS_BITFIELD_LAYOUT
2838         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
2839         MS bitfields for Objective-C.
2840         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
2841         defines.
2842
2843         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
2844         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
2845         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
2846
2847         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
2848         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
2849         (TARGET_SWITCHES): Add above mask.
2850
2851         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
2852         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
2853         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
2854         flags for interix.
2855
2856 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
2857
2858         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
2859         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
2860         assembler.
2861         * config/mips/mips.md (tablejump_internal3): Output .cpadd
2862         before jump on ABI_N32 too.
2863         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
2864         length to match.
2865
2866 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
2867
2868         * i386.md (negsf splitter): Accept memory operand in second register.
2869         (abssf/absdf splitters): Simplify
2870         (sse_loadss, sse_loadsd): Turn into expander.
2871
2872 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
2873
2874         PR target/8480
2875         * config/rs6000/rs6000.md (movdi_internal64): Discourage
2876         FPR to FPR moves.
2877
2878 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
2879
2880         * doc/contrib.texi: Merge in the list from the Java web pages.
2881
2882 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
2883
2884         * config/sparc/freebsd: Fix typo.
2885
2886 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2887
2888         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
2889
2890 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
2891
2892         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
2893         non-SImode addresses.
2894
2895 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
2896
2897         * i386.md (float_truncate SSE splitter): Ensure that operand is not
2898         stack register.
2899         (float SSE splitters): Reorder conditional.
2900
2901 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
2902
2903         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
2904
2905 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
2906
2907         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
2908         (STARTFILE_SPEC): Remove p and pg options.
2909
2910 2002-11-05  Andrew Haley  <aph@redhat.com>
2911
2912         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
2913         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
2914
2915 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
2916
2917         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
2918         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
2919
2920 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
2921
2922         * gthr-vxworks.h: Rewritten from scratch.
2923         * config/vxlib.c: New file.
2924         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
2925         * config/rs6000/t-vxworks: Add config/vxlib.c to
2926         LIB2FUNCS_EXTRA here too, because of clash with
2927         config/rs6000/t-ppccomm.
2928
2929 2002-11-04  Dale Johannesen  <dalej@apple.com>
2930
2931         * doloop.c (doloop_modify_runtime):  Fix loop count computation
2932         for unrolled loops.
2933         * loop.c (loop_invariant_p):  Support calling from unroller.
2934
2935 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
2936
2937         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
2938         for comparison.
2939
2940 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
2941
2942         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
2943
2944         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
2945         (CLASS_CANNOT_CHANGE_MODE): Remove.
2946         (CANNOT_CHANGE_MODE_CLASS): New.
2947
2948         * config/alpha/alpha.h: Same.
2949
2950         * config/ia64/ia64.h: Same.
2951
2952         * config/mips/mips.h: Same.
2953
2954         * config/s390/s390.h: Same.
2955
2956         * config/sh/sh.h: Same.
2957
2958         * config/pa/pa64-regs.h: Same.
2959
2960         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
2961
2962         * config/sh/sh.c (sh_cannot_change_mode_class): New.
2963
2964         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
2965         prototype.
2966
2967         * config/mips/mips.c (mips_cannot_change_mode_class): New.
2968
2969         * doc/tm.texi (Register Classes): Remove
2970         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
2971         Document CANNOT_CHANGE_MODE_CLASS.
2972
2973         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
2974         (push_reload): Same.
2975
2976         * simplify-rtx.c (simplify_subreg): Same.
2977
2978         * reload1.c (choose_reload_regs): Same.
2979
2980         * recog.c (register_operand): Same.
2981
2982         * regrename.c (mode_change_ok): Change to use new
2983         CANNOT_CHANGE_MODE_CLASS infrastructure.
2984
2985         * regclass.c (cannot_change_mode_set_regs): New.
2986         Declare subregs_of_mode.
2987         (regclass): Use subregs_of_mode.
2988         Remove references to reg_changes_mode.
2989         (init_reg_sets_1): Remove class_can_change_mode and
2990         reg_changes_mode code.
2991         (invalid_mode_change_p): New.
2992         (dump_regclass): Use invalid_mode_change_p instead of
2993         class_can_change_mode.
2994         (regclass): Same.
2995         (record_operand_costs): Do not set reg_changes_mode.
2996
2997         * local-alloc.c (struct qty): Remove changes_mode field.
2998         (alloc_qty): Remove changes_mode initialization.
2999         (update_qty_class): Remove set of changes_mode.
3000         (find_free_reg): Use subregs_of_mode.
3001
3002         * global.c (find_reg): Use subregs_of_mode info.
3003
3004         * rtl.h (cannot_change_mode_set_regs): New prototype.
3005         (invalid_mode_change_p): Same.
3006         (REG_CANNOT_CHANGE_MODE_P): New macro.
3007
3008         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
3009         REG_CHANGES_MODE.
3010         (life_analysis): Clear subregs_of_mode.
3011
3012         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
3013         Remove use of CLASS_CANNOT_CHANGE_MODE.
3014         (simplify_set): Same.
3015         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
3016         REG_CHANGES_MODE.
3017
3018         * regs.h: Add extern for subregs_of_mode;
3019         Include hard-reg-set and basic-block.
3020         (REG_CHANGES_MODE): Delete.
3021
3022 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3023
3024         * real.c (real_sqrt): New function to calculate square roots.
3025         * real.h (real_sqrt): Add function prototype.
3026         * builtins.c (fold_builtin): Fold sqrt of constant argument.
3027         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
3028         of constant argument.
3029
3030 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3031
3032         * jump.c (never_reached_warning): Don't set contains_insn until the
3033         first line note is seen.
3034
3035 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
3036
3037         * config/rs6000/rs6000.md (movti_string): Use string instructions.
3038
3039 2002-11-03  Roger Sayle  <roger@eyesopen.com>
3040
3041         PR c/7128
3042         * c-typeck.c (c_expand_asm_operands): Defend against
3043         error_mark_nodes in the output argument to avoid ICE.
3044
3045 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3046
3047         PR middle-end/8408
3048         * genrecog.c (preds): Handle ADDRESSOF.
3049         (validate_pattern): Mark it as an lvalue.
3050
3051 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
3052
3053         * config/rs6000/rs6000.c (rs6000_override_options): Use string
3054         instructions when optimizing for size.
3055
3056 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
3057
3058         * config/h8300/h8300.h: Fix comment typos.
3059         * config/h8300/h8300.md: Likewise.
3060         * config/h8300/lib1funcs.asm: Likewise.
3061
3062 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3063
3064         Revert this change:
3065
3066         *doc/install.texi (Installing GCC: Configuration): Clarify
3067         the only supported ways to configure gcc.
3068
3069 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3070
3071         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
3072         instead of 'O' for the constraint for the second operand.
3073
3074 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
3075
3076         PR c++/8391
3077         * toplev.c (rest_of_compilation): Do not refuse to output code for
3078         an inline function in a local class.
3079
3080 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
3081
3082         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
3083         (TRANSFER_FROM_TRAMPOLINE): Reformat.
3084         Add comment.
3085
3086 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
3087
3088         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
3089
3090 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
3091
3092         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
3093
3094 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
3095
3096         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
3097         (MASK_INLINE_DIV_THR): Remove.
3098         (TARGET_INLINE_DIV_LAT): Remove.
3099         (TARGET_INLINE_DIV_THR): Remove.
3100         (TARGET_INLINE_DIV): Remove.
3101         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
3102         (MASK_INLINE_FLOAT_DIV_THR): New macro.
3103         (MASK_INLINE_INT_DIV_LAT): New macro.
3104         (MASK_INLINE_INT_DIV_THR): New macro.
3105         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
3106         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
3107         (TARGET_INLINE_INT_DIV_LAT): New macro.
3108         (TARGET_INLINE_INT_DIV_THR): New macro.
3109         (TARGET_INLINE_FLOAT_DIV): New macro.
3110         (TARGET_INLINE_INT_DIV): New macro.
3111         * config/ia64/ia64.md (divsi3): Change to use new macros.
3112         (modsi3): Ditto.
3113         (udivsi3): Ditto.
3114         (umodsi3): Ditto.
3115         (divsi3_internal): Ditto.
3116         (divdi3): Ditto.
3117         (moddi3): Ditto.
3118         (udivdi3): Ditto.
3119         (umoddi3): Ditto.
3120         (divdi3_internal_lat): Ditto.
3121         (divdi3_internal_thr): Ditto.
3122         (divsf3): Ditto.
3123         (divsf3_internal_lat): Ditto.
3124         (divsf3_internal_thr): Ditto.
3125         (divdf3): Ditto.
3126         (divdf3_internal_lat): Ditto.
3127         (divdf3_internal_thr): Ditto.
3128         (divtf3): Ditto.
3129         (divtf3_internal_lat): Ditto.
3130         (divtf3_internal_thr): Ditto.
3131         * config/ia64/ia64.c (ia64_override_options): Change
3132         to check new macros for conflicts in settings.
3133         * doc/invoke.texi (-minline-divide-min-latency): Remove.
3134         (-minline-divide-max-throughput): Remove.
3135         (-minline-float-divide-min-latency): New.
3136         (-minline-float-divide-max-throughput): New.
3137         (-minline-int-divide-min-latency): New.
3138         (-minline-int-divide-max-throughput): New.
3139
3140 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
3141
3142         PR target/7856
3143         * arm.c (use_return_insn): Don't use a return insn if there are
3144         saved integer regs, but LR is not one of them.
3145
3146 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3147
3148         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
3149         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
3150
3151 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3152
3153         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
3154         (movps, movpd splitters): Use canonical form.
3155         (movv2di): Fix merge problem.
3156
3157 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
3158
3159         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3160
3161 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
3162
3163         PR optimization/6162
3164         * doc/md.texi: Document restriction on commutative operand
3165         specification.
3166
3167 2002-10-31  Eric Christopher  <echristo@redhat.com>
3168
3169         * explow.c (convert_memory_address): Use shallow_copy_rtx.
3170
3171 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3172
3173         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
3174
3175 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
3176
3177         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
3178
3179 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3180
3181         * config/rs6000/darwin.h:  Correct formatting in previous.
3182
3183 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
3184
3185         * config/rs6000/darwin.h:  Enable -falign-xxx options.
3186
3187 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
3188
3189         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
3190         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
3191         * i386.c (optimization_options): Set flag_omit_frame_pointer,
3192         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
3193         Do not clear -momit-leaf-frame-pointer when profiling.
3194         (ix86_frame_pointer_required): Frame pointer is always required when
3195         profiling.
3196
3197 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
3198
3199         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
3200
3201 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
3202
3203         * sh.h (binary_logical_operator): Declare.
3204         * sh.c (binary_logical_operator): New function.
3205         * sh.md (xordi3+1): New combiner splitter pattern.
3206
3207 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
3208
3209         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
3210         __enable_execute_stack function.
3211
3212 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
3213
3214         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
3215         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
3216         * unwind-sjlj.c (fc_key_dtor): Delete.
3217         (fc_key_init): Adjust __gthread_key_create call to match.
3218
3219 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
3220
3221         * c-common.c: Add GTY to vector_type_node_list.
3222
3223 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
3224
3225         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
3226         * pa-protos.h (attr_length_millicode_call, attr_length_call,
3227         pa_init_machine_status): Declare new global functions.
3228         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
3229         implement new functions.
3230         (attr_length_millicode_call, attr_length_call): Implement.
3231         (total_code_bytes): Change type to long.
3232         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
3233         Reset counter if flag_function_sections.
3234         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
3235         (output_cbranch): Move call to gen_label_rtx.
3236         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
3237         delay slot in all variants, shorten pc-relative calls.
3238         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
3239         slot usage and exposure, various new call variants, and shortened
3240         sequences for some variants on TARGET_PA_20.
3241         Miscellaneous format changes.
3242         * pa.h (total_code_bytes): Change type to long.
3243         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
3244         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
3245         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
3246         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
3247         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
3248         stores on TARGET_ELF32.
3249         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
3250         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
3251         canonicalize_funcptr_for_compare expanders): Calculate attribute length
3252         attr_length_millicode_call().
3253         (call_internal_symref, call_value_internal_symref): Clobber register 1.
3254         Calculate attribute length using attr_length_call().
3255         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
3256         to delay slot.
3257         (sibcall, sibcall_value): Rewrite.
3258         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
3259         register 1.  Use attr_length_call().
3260         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
3261         New patterns.
3262         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
3263         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
3264         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
3265         * doc/invoke.texi (mlong-calls): Document.
3266
3267 2002-10-30  Roger Sayle  <roger@eyesopen.com>
3268
3269         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
3270         handling of cases where one or both branches of the conditional
3271         have void type, i.e. throw an exception or don't return.
3272         (fold): Only apply (and undo) type conversion to the non-void
3273         branches of a COND_EXPR.
3274
3275 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
3276
3277         PR c++/8333
3278         * varasm.c (asm_output_aligned_bss): Do not call
3279         ASM_GLOBALIZE_LABEL.
3280
3281 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
3282             Torbjorn Granlund  <tege@swox.com>
3283
3284         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
3285         for addressibility.
3286         (load_toc_v4_PIC_1b): Same.
3287
3288 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
3289
3290         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3291         Truncate the addresses for H8/300 using HImode.
3292
3293 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
3294
3295         * i386.md (negdf splitter): Fix construction of the constant.
3296
3297 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
3298
3299         * i386.md (negsf, negdf): Reorganize to use vector modes
3300         for SSE variants.
3301         (abssf, absdf): Use force_reg.
3302         (movv4sf, movv2df): New splitters.
3303         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
3304         * i386.c (zero_extended_scalar_load_operand
3305
3306         * i386-protos.h (ix86_expand_call): Update prototype.
3307         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
3308         (ix86_expand_call): Use r11 for indirect sibcalls.
3309         * i386.md (call, call_value, untyped_call, call_value_pop):
3310         update x86_expand_call call.
3311         (sibcall, sibcall_value): new patterns
3312         (call_rex64, call_value_rex64): Do not accept sibcalls.
3313         (sibcall_rex64, sibcall_value_rex64,
3314         sibcall_rex64_v, sibcall_value_rex64_v): New.
3315
3316 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3317
3318         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3319         before final pass.
3320
3321 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
3322
3323         * toplev.c (rest_of_type_compilation): Return early in case of
3324         errors.
3325         (check_global_declarations): Don't call debug_hooks->global_decl
3326         in case of errors.
3327
3328 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
3329
3330         * doc/c-tree.texi (Tree overview): Fix typos.
3331
3332 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
3333
3334         * Makefile.in (gnucompare*):  Only record bad comparisons
3335         if there really was a bad comparison.
3336
3337 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
3338
3339         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
3340         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
3341         * md.texi (machine dependent constraints): Document 'C'
3342
3343         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
3344
3345         * i386.c (ix86_expand_vector_move): Fix.
3346
3347         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
3348         * i386.md (sse2_maskmovdqu_rex64): New pattern
3349
3350         PR target/8322
3351         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
3352         (ix86_init_mmx_sse_builtins): Fix type.
3353
3354 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
3355
3356         * gthr-posix.h: Include <unistd.h> for feature tests.
3357         (sched_get_priority_max, sched_get_priority_min)
3358         (pthread_getschedparam, pthread_setschedparam): Only use
3359         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
3360         (__gthread_objc_thread_set_priority): Don't treat all nonzero
3361         returns from sched_get_priority_max and sched_get_priority_min
3362         as an error.
3363
3364 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3365
3366         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
3367         MASK_QUICKCALL.
3368
3369 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3370
3371         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
3372         (h8300_tiny_constant_address_p): Likewise.
3373         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
3374         h8300_eightbit_constant_address_p.
3375         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
3376         * config/h8300/h8300-protos.h: Add the prototypes for the two
3377         new functions.
3378
3379 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3380
3381         * reload1.c (update_eliminables): Unconditionally check if
3382         frame_pointer_needed has changed.
3383
3384 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3385
3386         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
3387         before final pass.
3388
3389 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3390
3391         PR optimization/8334
3392         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
3393         check for zero operands explicitly.
3394
3395 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
3396
3397         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
3398         memory after adjusting to BLKmode.
3399
3400 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
3401
3402         * config/h8300/h8300.h (MASK_*): New.
3403         (TARGET_*): Use MASK_*.
3404
3405 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
3406
3407         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
3408         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
3409         config/rs6000/vxworks.h: New files.
3410         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
3411
3412         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
3413         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
3414         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
3415         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
3416         sparc-*-vxsim*): Delete stanzas.
3417         * gthr-vxworks.h: Rip out all substantive code and just
3418         include gthr-single.h.
3419
3420         * config/alpha/vxworks.h, config/arm/vxarm.h,
3421         config/i386/vxi386.h, config/i960/t-vxworks960,
3422         config/i960/vx960-coff.h, config/i960/vx960.h,
3423         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
3424         config/mips/vxworks.h, config/rs6000/vxppc.h,
3425         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
3426         config/sparc/vxsim.h, config/sparc/vxsparc.h,
3427         config/sparc/vxsparc64.h: Delete files.
3428
3429 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
3430
3431         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
3432         tm_defines if pthreads are enabled.
3433         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
3434         if NETBSD_ENABLE_PTHREADS is defined.
3435
3436 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
3437
3438         * ChangeLog.1: Fix typos.
3439         * cse.c: Fix a comment typo.
3440         * reload1.c: Likewise.
3441
3442 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
3443
3444         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
3445         * fixinc/tests/base/_G_config.h: New file.
3446
3447 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3448
3449         * combine.c: Fix comment formatting.
3450         * loop.c: Likewise.
3451         * real.c: Likewise.
3452         * regclass.c: Likewise.
3453         * regmove.c: Likewise.
3454         * regrename.c: Likewise.
3455         * reg-stack.c: Likewise.
3456         * reload1.c: Likewise.
3457         * reload.c: Likewise.
3458         * reload.h: Likewise.
3459         * unroll.c: Likewise.
3460
3461 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
3462
3463         * reload1.c (reload): Fix a comment typo.
3464
3465 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3466
3467         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
3468
3469 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3470
3471         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
3472         * dwarf2out.c: Include hashtab.h.
3473         (is_main_source): New static variable.
3474         (attr_checksum, die_checksum): Modified to handle die references.
3475         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
3476         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
3477         record_comdat_symbol_number): New static functions.
3478         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
3479         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
3480         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
3481         declarations added.
3482
3483 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3484
3485         * config/h8300/h8300.c (initial_offset): Change to
3486         h8300_initial_elimination_offset.
3487         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
3488         h8300_initial_elimination_offset.
3489         * config/h8300/h8300-protos.h: Update the prototype.
3490
3491 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
3492
3493         * config/mmix/mmix.h (LIBCALL_VALUE): Use
3494         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
3495         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
3496         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
3497         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
3498         and RTX_CODE.
3499         (mmix_function_value_regno_p): Declare.
3500
3501         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
3502         invalid for floating point mode result, with fix.
3503
3504 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
3505
3506         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
3507         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
3508         (stage1_build): Likewise.
3509
3510 2002-10-25  Mike Stump  <mrs@apple.com>
3511
3512         Fixes gcc.dg/warn-1.c.
3513         * c-typeck.c (warn_for_assignment): Don't print argument number,
3514         if zero.
3515
3516 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3517
3518         * toplev.c (dump_file_index): Add DFI_ce3.
3519         (dump_file_info): Likewise.
3520         (rest_of_compilation): Run first ifcvt pass before tracer.
3521
3522 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
3523
3524         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
3525
3526 2002-10-25  Richard Henderson  <rth@redhat.com>
3527
3528         * real.c (real_to_decimal): If the >1 tens reduction loop results
3529         in a negative exponent, fall into the <1 pten computation.
3530
3531 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
3532
3533         PR middle-end/6994
3534         * c-objc-common.c (inline_forbidden_p): Can not inline
3535         functions containing structures or unions containing VLAs.
3536         * tree-inline.c (walk_tree): For all class 't' nodes, walk
3537         TYPE_SIZE and TYPE_SIZE_UNIT.
3538         (copy_tree_r): Copy types if they are variably modified.
3539
3540 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3541
3542         * config/s390/s390.md: Remove old-style peepholes.
3543
3544 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
3545
3546         * config/s390/s390.c (s390_decompose_address): Do not range check the
3547         displacement if base or index is the argument pointer register.
3548
3549 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
3550
3551         PR other/3337
3552         PR bootstrap/6763
3553         PR bootstrap/8122
3554         * fixinc/inclhack.def (libc1_G_va_list): New fix.
3555         * fixinc/fixincl.x: Regenerate.
3556         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
3557         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
3558         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
3559         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
3560         * config.in, configure: Regenerate.
3561
3562 2002-10-24  Igor Shevlyakov <igor@microunity.com>
3563
3564         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
3565
3566 2002-10-24  Richard Henderson  <rth@redhat.com>
3567
3568         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
3569
3570 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3571
3572         * config/h8300/h8300.c (initial_offset): Simplify by using
3573         round_frame_size.
3574
3575 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3576
3577         * doc/install.texi (avr): Update required binutils version.
3578
3579 2002-10-24  Theodore A. Roth  <troth@openavr.org>
3580
3581         * doc/install.texi: Point avr users at more up-to-date information.
3582
3583 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3584
3585         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
3586         to pull operands out of the literal pool where possible.
3587
3588 2002-10-24  Denis Chertykov  <denisc@overta.ru>
3589
3590         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
3591
3592 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
3593
3594         * expr.c (convert_move): If unsignedp is less then zero there
3595         is no equivalent code.
3596
3597 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
3598
3599         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
3600
3601 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3602
3603         * config/s390/s390.h: Rework comments; re-sort target macro definitions
3604         according to the sequence they are defined in the manual.
3605         (POINTER_BOUNDARY): Remove.
3606
3607 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3608
3609         * config/h8300/h8300.c (round_frame_size): Replace 8 with
3610         BITS_PER_UNIT.
3611
3612 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
3613
3614         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
3615         64-bit safe.
3616         (TINY_CONSTANT_ADDRESS_P): Likewise.
3617
3618 2002-10-24  Richard Henderson  <rth@redhat.com>
3619
3620         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3621         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
3622         vcall offset.
3623
3624 2002-10-24  Richard Henderson  <rth@redhat.com>
3625
3626         PR opt/7944
3627         * reload.c (find_reloads_toplev): Mode of X is not important
3628         when simplifying subregs of constants.
3629
3630 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3631
3632         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
3633         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
3634         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
3635         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
3636         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
3637
3638 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
3639
3640         * optabs.c (expand_binop): Don't reuse the shift target in the
3641         middle of shift sequences.
3642
3643 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
3644
3645         * i386.md (abs splitters): Do not produce nested subregs.
3646
3647 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
3648
3649         * i386.md (movti_rex64): Fix constraints.
3650
3651 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
3652
3653         * i386.md (abssf,absdf): Use vector operands for SSE
3654         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
3655         vector operand.
3656
3657 2002-10-23  Ziemowit Laski <zlaski@apple.com>
3658
3659         * objc/objc-act.c (get_static_reference): Remove unneeded
3660         TYPE_BINFO initialization.
3661         (get_object-reference): Likewise.
3662         (build_constructor): Tighten precondition check.
3663         (finish_message_expr): Likewise.
3664
3665 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
3666
3667         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
3668         after CONST test.
3669
3670 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
3671
3672         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
3673         in HFAs.
3674
3675 2002-10-23  Richard Henderson  <rth@redhat.com>
3676
3677         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
3678         (alpha_output_mi_thunk_osf): Handle vcall_offset.
3679
3680 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
3681
3682         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3683         var_mod_type_p.
3684         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
3685         hook_tree_bool_false.
3686
3687         * tree.c (variably_modified_type_p): Moved here from
3688         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
3689         language-specific cases.  Due to this, must weaken some 'if
3690         and only if' checks to merely 'if'.
3691         * tree.h: Prototype variably_modified_type_p.
3692
3693         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
3694
3695 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3696
3697         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
3698         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
3699
3700         * config/s390/s390-protos.h (fp_operand): Remove.
3701         * config/s390/s390.c (fp_operand): Remove.
3702         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
3703         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
3704         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
3705         (movdi_31, movdf_31 splitters): Likewise.
3706
3707         * config/s390/s390.h (IEEE_FLOAT): Remove.
3708         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
3709         (INT_REGNO_P): Rename to ...
3710         (GENERAL_REGNO_P): ... this.
3711         (FLOAT_REGNO_P): Rename to ...
3712         (FP_REGNO_P): ... this.
3713         (ADDR_REGNO_P): New macro.
3714         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
3715         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
3716         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
3717         (HARD_REGNO_NREGS): Adapt to macro renaming.
3718         (HARD_REGNO_MODE_OK): Likewise.
3719
3720 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
3721             Geoff Keating  <geoffk@apple.com>
3722
3723         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
3724         (rs6000_memory_move_cost): New function.
3725         * config/rs6000/rs6000-protos.h: Declare them.
3726         * config/rs6000/rs6000.h: Use them.
3727
3728 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
3729
3730         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
3731         inlining it into other libgcc2 routines.
3732         (__udivmoddi4): Likewise.
3733
3734 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3735
3736         * doc/sourcebuild.texi (Test Suites): Improve.
3737
3738 2002-10-22  Stan Shebs  <shebs@apple.com>
3739
3740         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
3741         case for Darwin.
3742
3743 2002-10-22  Jim Wilson  <wilson@redhat.com>
3744
3745         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
3746
3747 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
3748
3749         PR other/8289
3750         * xmmintrin.h: Add const to the argument of loads.
3751
3752         * i386.md (pushv2di): New pattern.
3753         PR target/6890
3754         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
3755
3756 2002-10-22  Richard Henderson  <rth@redhat.com>
3757
3758         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
3759         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
3760         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
3761         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3762         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3763         (TARGET_ASM_OUT): Update.
3764         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
3765         (hook_bool_tree_hwi_hwi_tree_true): New.
3766         (default_can_output_mi_thunk_no_vcall): New.
3767         * hooks.h: Declare them.
3768         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
3769
3770         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3771         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
3772         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
3773         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
3774         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
3775         config/stormy16/stormy16.c: Similarly.
3776
3777         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
3778         Handle 64-bit properly.  Streamline.
3779         (x86_output_mi_vcall_thunk): Remove.
3780         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
3781         (x86_can_output_mi_thunk): New.
3782         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
3783         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3784         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
3785
3786         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
3787         output_mi_thunk; make static; always use function_section.
3788         (TARGET_ASM_OUTPUT_MI_THUNK): New.
3789         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3790         (rs6000_ra_ever_killed): Test no_new_pseudos not
3791         targetm.asm_out.output_mi_thunk in conjunction with thunks.
3792         * config/rs6000/rs6000-protos.h: Update.
3793         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3794         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
3795         xcoffout_declare_function when using rs6000_output_mi_thunk.
3796
3797         * config/s390/s390.c (s390_output_mi_thunk): Rename from
3798         s390_output_mi_vcall_thunk.
3799         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
3800         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3801
3802         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
3803         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
3804         * config/vax/vax-protos.h: Update.
3805         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
3806
3807 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
3808
3809         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
3810         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
3811         * i386.md (movti_internal): Use 'C'
3812
3813         * xmmintrin.h (_mm_cmplt_epi*): New.
3814
3815 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3816
3817         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
3818         ("*movdf_64"): Likewise.
3819         ("*lshrdi3_64"): Likewise.
3820         ("blockage"): Add length attribute.
3821         ("lit"): Likewise.
3822
3823 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
3824
3825         * i386.md: FIx typo.
3826         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
3827         (sse2_umulv2siv2di3): Fix predicate.
3828         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
3829         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
3830         * xmmintrin.h (_mm_mul_epu16): Rename to...
3831         (_mm_mul_epu32): This one.
3832         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
3833
3834         (contains_128bit_aligned_vector_p): Undo accidental checkin.
3835
3836 2002-10-22  Eric Christopher  <echristo@redhat.com>
3837
3838         * config/sparc/sparc.h: Add #error.
3839
3840 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3841
3842         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
3843         [s390x-*-linux*]: Likewise.
3844         * config/s390/t-linux: Remove.
3845         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
3846
3847 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
3848
3849         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
3850         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
3851         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
3852         * i386.md (mmx_punpck?dq): Simplify.
3853         (sse2_pubpcklqdq): Fix.
3854         (sse2_pubpckhqdq): New.
3855         * xmmintrin.h (_mm_unpackhi_epi32): New.
3856
3857         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
3858         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
3859
3860 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
3861
3862         PR c++/7209
3863         * fold_const.c (fold_binary_op_with_conditional_arg): Always
3864         build compound_expr if we used save_expr.
3865
3866 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
3867
3868         * output.h (SECTION_NOTYPE): Define.
3869         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
3870         init array sections.
3871         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
3872         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
3873         merge TLS support.
3874
3875 2002-10-21  Richard Henderson  <rth@redhat.com>
3876
3877         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
3878         the function type, not the return type.
3879
3880 2002-10-21  Richard Henderson  <rth@redhat.com>
3881
3882         * real.c (sticky_rshift_significand): Return inexact, don't
3883         or it in immediately.
3884         (sub_significands): Accept incomming carry.
3885         (div_significands, rtd_divmod): Update for sub_significands change.
3886         (round_for_format): Update for sticky_rshift_significand change.
3887         (do_add): Don't involve the inexact bit in addition, do give the
3888         inexact bit as the subtraction carry-in.
3889         (encode_internal, decode_internal, real_internal_format): New.
3890         * real.h (real_internal_format): Declare.
3891
3892 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3893
3894         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
3895         don't define sdiv_qrnnd.
3896
3897 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
3898
3899         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
3900         using IN_RANGE.
3901         (TINY_CONSTANT_ADDRESS_P): Likewise.
3902
3903 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
3904
3905         * i386.c (builtin_description): Add punpcklqdq and movdq2q
3906         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
3907         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
3908         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
3909         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
3910         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
3911         __builtin_ia32_setzero128.
3912         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
3913         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
3914         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
3915         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
3916         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
3917         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
3918         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
3919         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
3920         sse2_movq): New patterns.
3921         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
3922         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
3923         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
3924         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
3925         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
3926         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3927         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
3928         (_mm_insert_epi16): Fix.
3929
3930 2002-10-21  Dale Johannesen  <dalej@apple.com>
3931
3932         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
3933             unsafe math reversals correctly for RTL generation.
3934           (output_cbranch):  Replace rs6000_reverse_condition call
3935             by its former definition.
3936
3937 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
3938
3939         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
3940         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
3941         from constant pool or LABEL_REFs as sign extended if allow_rip.
3942         Change all +-1GB limits to +-16MB.
3943         (x86_64_general_operand, x86_64_szext_general_operand,
3944         x86_64_nonmemory_operand, x86_64_movabs_operand,
3945         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
3946         legitimate_address_p, ix86_expand_int_movcc): Update callers.
3947         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
3948         in CM_SMALL_PIC model.
3949         (legitimate_pic_address_disp_p): Don't check offsets before
3950         calling local_symbolic_operand.
3951         (legitimize_pic_address): Force offsets bigger than +-16MB into
3952         register.
3953         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
3954         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
3955         prototype.
3956
3957         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
3958         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
3959         * configure: Rebuilt.
3960         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
3961         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
3962         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
3963         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
3964         -fpic.
3965         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
3966         non-pic code if TARGET_64BIT.
3967         (legitimize_address): Generate 64-bit TLS sequences.
3968         (output_pic_addr_const): Support x86-64 TLS operators.
3969         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
3970         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
3971         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
3972         (output_addr_const_extra): Support x86-64 TLS operators.
3973         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
3974         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
3975         unconditionally.
3976         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
3977         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
3978         (*tls_global_dynamic_sun): Renamed to...
3979         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
3980         (tls_global_dynamic): Renamed to...
3981         (tls_global_dynamic_32): ... this.
3982         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
3983         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
3984         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
3985         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
3986         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
3987         (tls_local_dynamic_base_dynamic): Renamed to...
3988         (tls_local_dynamic_base_dynamic_32): ... this.
3989         (tls_local_dynamic_base_dynamic_64,
3990         *tls_local_dynamic_base_dynamic_64): New.
3991         (*tls_local_dynamic_once): Renamed to...
3992         (*tls_local_dynamic_32_once): ... this.
3993
3994 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
3995
3996         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
3997         __divdi3, __umoddi3, or __moddi3.
3998
3999 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4000
4001         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
4002         instead of just opt_index as switch expression.
4003
4004         * calls.c (store_one_arg): Change type of 'excess_align'
4005         to unsigned int.
4006
4007         * profile.c (output_gcov_string): Change type of 'temp'
4008         to size_t.
4009
4010 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4011
4012         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
4013         (__fixunssfdi, __fixsfdi): Likewise.
4014         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
4015         (s390_single_qi): Likewise.
4016         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
4017         unsigned comparison warning.
4018         (s390_return_addr_rtx): New function.
4019         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
4020         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
4021         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
4022
4023 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
4024
4025         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
4026         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
4027         (s390_output_mi_thunk): Remove.
4028         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
4029
4030 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
4031
4032         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
4033
4034 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
4035
4036         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
4037         inverted test in the conditional determining the possibility
4038         of sibcalls in PIC mode.
4039
4040 2002-10-20  Richard Henderson  <rth@redhat.com>
4041
4042         * target.h (struct gcc_target): Line wrap.
4043
4044         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
4045         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
4046         * config/alpha/alpha.h: ... not here.
4047         * config/alpha/alpha-protos.h: Update.
4048
4049         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
4050         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
4051         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
4052         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
4053         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
4054         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
4055         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
4056         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
4057         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
4058         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
4059         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
4060         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
4061         config/sparc/sparc.c, config/sparc/sparc.h,
4062         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
4063         config/stormy16/stormy16.h: Similarly.
4064
4065         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
4066         selection logic from call patterns.
4067
4068 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
4069
4070         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
4071
4072 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4073
4074         PR other/8202
4075         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
4076         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
4077         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
4078         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
4079
4080 2002-10-20  Roger Sayle  <roger@eyesopen.com>
4081
4082         PR c/761
4083         * toplev.c (flag_unsafe_profile_arcs): Remove.
4084         (flag_bounded_pointers): Remove.
4085         (flag_bounds_check): Correct comments.
4086         (lang_independent_options): Remove -funsafe-profile-arcs and
4087         -fbounded-pointers.  Correct -fbounds-check comments.
4088
4089         * flags.h: Correct flag_schedule_interblock comments.
4090         (flag_bounded_pointers): Remove prototype.
4091         (flag_bounds_check): Correct comments.
4092
4093         * c-opts.c (c_common_init_options): No need to mark
4094         flag_bounds_check as unspecified.
4095         (c_common_post_options): And no need to set it from
4096         flag_bounded_pointers if its still unspecified.
4097
4098         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
4099         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
4100         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
4101         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
4102
4103 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
4104         Angela Marie Thomas  <angela@releasedominatrix.com>
4105         Brendan Kehoe  <brendan@zen.org>
4106         Nick Clifton  <nickc@redhat.com>
4107         Andrew Haley  <aph@redhat.com>
4108
4109         * configure.in (--with-sysroot): New.  Don't inhibit libc if
4110         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
4111         and CROSS_SYSTEM_HEADER_DIR.
4112         * configure: Rebuilt.
4113         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
4114         (TARGET_SYSTEM_ROOT): New.
4115         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
4116         CROSS_SYSTEM_HEADER_DIR.
4117         (install-gcc-tooldir): New target.
4118         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
4119         if SYSTEM_HEADER_DIR does not exist and it's not the default
4120         sys-include directory.
4121         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
4122         (install-mkheaders): Likewise.
4123         * gcc.c (target_system_root): New variable.
4124         (add_sysrooted_prefix): New function.
4125         (process_command): Recompute run-time target_system_root from
4126         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
4127         does not exist.
4128         (do_spec_1): Process 'R' spec.
4129         (main): Add md_exec_prefix to exec_prefixes regardless of
4130         startfile_prefix_spec.  Use add_sysrooted_prefix for
4131         startfile_prefixes, and don't skip the default ones when cross
4132         compiling with sysroot enabled.  Removed unused case of
4133         non-absolute standard_startfile_prefix.
4134         * config/interix.h: Remove the only potential, yet disabled,
4135         occurrence of non-absolute (empty) standard_startfile_prefix.
4136         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
4137         linking.
4138         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
4139         * doc/install.texi (--with-sysroot): Document.
4140         (--with-headers, --with-libs): Deprecate.
4141
4142 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4143             Mark Mitchell  <mark@codesourcery.com>
4144
4145         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
4146         match target.h.
4147         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
4148         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
4149         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
4150         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
4151         x86_output_mi_thunk): Likewise.
4152         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
4153         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
4154         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
4155         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
4156         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
4157         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
4158         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
4159         Likewise.
4160         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
4161
4162         * target.h (gcc_target): Update output_mi_thunk and
4163         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
4164         vcall_index.
4165
4166         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
4167         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4168         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
4169         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
4170         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
4171         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
4172         signature.
4173         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
4174         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4175         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4176         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
4177         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
4178         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
4179         TARGET_ASM_OUTPUT_MI_THUNK in comments.
4180         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
4181         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
4182
4183         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
4184         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
4185
4186 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
4187
4188         * real.c (do_add): Fix 0+0 sign corner case.
4189         (do_divide): Fix Inf/0 corner case.
4190
4191 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
4192
4193         * i386.c (classify_argument): Pass MMX arguments in memory
4194         (ix86_expand_builtin): Expand proper address mode for cflush.
4195         * i386.md (movdqa): Fix typo.
4196         (sse2_cflush): Accept DImode addresses.
4197
4198         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
4199         (_mm_max_sd): Fix pasto.
4200         (_mm_storeh_pd, _mm_storel_pd): Fix.
4201
4202         * i386.c (bdesc_comi): Fix to match specification.
4203         (ix86_expand_sse_comi): Emit the comparison properly.
4204         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
4205         Do not use comparison operator.
4206         (vnmaskcmp): Fix template.
4207
4208         * xmmintrin.h (_mm_cvtps_pi16): Fix.
4209
4210 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
4211
4212         * dependence.c : Removed.
4213         * Makefile.in : Remove dependence.o.
4214
4215 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
4216
4217         * mmintrin.h (__m64): typedef it to v2si.
4218         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
4219         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
4220         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
4221         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
4222         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
4223         * xmmintrin.h (_mm_setzero_si64): Likewise.
4224
4225         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
4226         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
4227
4228         PR target/7693
4229         Patch by Shawn Wagner
4230         * mmintrin.h: Replace pi64 by si64.
4231
4232 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
4233
4234         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
4235         Use length of 4 not *.
4236         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
4237         (movdf_softfloat64): Likewise.
4238         (movdi_internal32): Use length of 4 not *.
4239         (movti_power): Same.
4240         (ctrsi, ctrdi): Same.
4241
4242 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
4243
4244         * c-decl.c (start_decl): Point users of the old initialized-
4245         typedef extension at __typeof__.
4246
4247 2002-10-18  Richard Henderson  <rth@redhat.com>
4248
4249         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
4250         (real_to_decimal): Re-implement using the logic from the
4251         gcc 3.2 etoasc.  Comment heavily.
4252         (div_significands): Simplify loop startup and comparison logic.
4253
4254 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
4255
4256         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
4257         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
4258         (TARGET_ASM_OUT): Add them.
4259         * target.h (asm_out): Add output_mi_thunk and
4260         output_mi_vcall_thunk.
4261         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4262         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4263         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
4264         * config/arm/arm.c (arm_output_mi_thunk): Define.
4265         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4266         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4267         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4268         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4269         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4270         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4271         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
4272         prototype.
4273         (x86_output_mi_vcall_thunk): Declare.
4274         * config/i386/i386.c (override_options): Clear
4275         output_mi_vcall_thunk in 64-bit mode.
4276         (ix86_fntype_regparm): New function.
4277         (ix86_return_pops_args): Use it.
4278         (ia32_this_parameter): New function.
4279         (x86_output_mi_vcall_thunk): New function.
4280         (x86_output_mi_thunk): Use it
4281         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
4282         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
4283         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
4284         * config/i960/i960.c (i960_output_mi_thunk): New function.
4285         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
4286         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
4287         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
4288         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4289         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4290         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
4291         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4292         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4293         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4294         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4295         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4296         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4297         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4298         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4299         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4300         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4301         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
4302         * config/s390/s390.c (s390_output_mi_thunk): Define.
4303         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4304         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4305         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4306         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4307         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4308         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4309         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
4310         * config/vax/vax.c (vax_output_mi_thunk): Define.
4311         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
4312         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
4313         * doc/tm.texi: Adjust documentation.
4314
4315 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4316
4317         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
4318         __enable_execute_stack function.
4319         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
4320         as NETBSD_ENABLE_EXECUTE_STACK.
4321         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4322         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4323         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4324         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4325         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
4326
4327 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
4328
4329         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
4330         to __enable_execute_stack with the address of the trampoline
4331         if TRANSFER_FROM_TRAMPOLINE is defined.
4332         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
4333         constant if building libgcc2.
4334
4335 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
4336
4337         * i386.c (pentium4_cost): Fix according to Intel recommendations.
4338         (ix86_memory_move_cost): Fix for 64bit compilation.
4339
4340 2002-10-17  Roger Sayle  <roger@eyesopen.com>
4341
4342         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
4343
4344 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
4345
4346         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
4347         in CTR/LR/MQ.
4348         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
4349         to/from CTR/LR/MQ.
4350         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
4351         (movsf_softfloat): Likewise.
4352
4353 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
4354
4355         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
4356
4357 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
4358
4359         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
4360         tramp, not addr, to pass the trampoline address to
4361         __enable_execute_stack.
4362
4363 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
4364
4365         * mmintrin.h: Guard by __MMX__
4366         * xmmintrin.h: Guard by __SSE__
4367
4368         PR other/8062
4369         * xmmintrin.h (_MM_SHUFFLE2): New macro.
4370         (_mm_load*_?d): New functions.
4371         (_mm_set*_?d): New functions.
4372         (_mm_store*_?d): New functions.
4373
4374 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
4375
4376         Really commit patch announced at Oct 14
4377         PR c/7344
4378         * predict.c (can_predict_insn_p): New function.
4379         (estimate_probability): Avoid unnecesary work.
4380         (process_note_prediction): Likewise.
4381         * toplev.c (rest_of_compilation): Account early branch prediction pass
4382         as TV_BRANCH_PROB.
4383
4384         PR other/8048
4385         Found by Ian Ollmann
4386         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
4387         (_mm_load?_pd): Likewise.
4388         (_mm_store?_pd): Likewise.
4389
4390         PR target/7386
4391         * i386.c (builtin_description):Drop cmpg[te]s[sd].
4392         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
4393         swapped alternative.
4394
4395         PR opt/7630
4396         * reload1.c (reload_inner_reg_of_subreg): New argument output;
4397         (push_reload): Update call.
4398
4399 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
4400
4401         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
4402         if using mips/elf.h or mips/elf64.h.
4403         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
4404         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
4405
4406 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
4407
4408         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
4409         SI.
4410
4411 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
4412
4413         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
4414         (LPREFIX): Likewise.
4415         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
4416         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4417         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
4418         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4419         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
4420
4421         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
4422         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
4423         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4424         BSS_SECTION_ASM_OP): Move from linux.h.
4425         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4426         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4427
4428         * config/s390/s390.c (s390_function_profiler): Use
4429         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
4430
4431 2002-10-15  Eric Christopher  <echristo@redhat.com>
4432
4433         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
4434         * java/parse.y (obtain_incomplete_type): Make pointer
4435         ptr_mode.
4436
4437 2002-10-15  Richard Henderson  <rth@redhat.com>
4438
4439         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
4440         as arguments.  Bound DIGITS by the available buffer size.
4441         (real_to_hexadecimal): Likewise.
4442         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
4443         (REAL_VALUE_TO_DECIMAL): Remove.
4444         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
4445         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4446         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
4447         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4448         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4449         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
4450         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
4451         use real_to_decimal directly, and with the proper arguments.
4452         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
4453
4454 2002-10-15  Jim Wilson  <wilson@redhat.com>
4455
4456         * reload1.c (merge_assigned_reloads): After converting overlapping
4457         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
4458
4459         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
4460
4461 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
4462
4463         * expr.c (do_tablejump): Fix typo in my previous commit.
4464
4465 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
4466
4467         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
4468
4469 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4470
4471         * config/s390/s390.c (s390_split_branches): Add return
4472         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
4473
4474         (find_base_register_in_addr): New function.
4475         (find_base_register_ref): New function.
4476         (replace_base_register_ref): New function.
4477
4478         (struct constant_pool): Add members pool_insn, insns, and anchor.
4479         Remove member last_insn.
4480         (s390_start_pool): Initialize them.
4481         (s390_end_pool): Emit pool placeholder insn.
4482         (s390_add_pool_insn): New function.
4483         (s390_find_pool): Use insns bitmap instead of addresses.
4484         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
4485         Replace unspec 104 by local-pool-relative references.
4486         (s390_output_constant_pool): Output anchor label if required.
4487         (s390_output_symbolic_const): Handle unspec 104 and 105.
4488         (s390_add_pool): Remove, replace by ...
4489         (s390_add_constant, s390_find_constant): ... these new functions.
4490         (s390_add_anchor): New function.
4491
4492         (s390_chunkify_pool): Delete, replace by ...
4493         (s390_chunkify_start, s390_chunkify_finish,
4494         s390_chunkify_cancel): ... these new functions.
4495         (s390_optimize_prolog): Add parameter TEMP_REGNO.
4496         Recompute register live data for special registers.
4497         (s390_fixup_clobbered_return_reg): New function.
4498         (s390_machine_dependent_reorg): Rewrite to use new
4499         s390_chunkify_... routines.
4500
4501         config/s390/s390.md ("reload_base"): Rename to ...
4502         ("reload_base_31"): ... this.
4503         ("reload_base_64"): New insn.
4504         ("reload_base2"): Remove.
4505         ("reload_anchor"): New insn.
4506         ("pool"): New insn.
4507
4508         s390.c (s390_pool_overflow): Remove.
4509         s390.h (s390_pool_overflow): Likewise.
4510         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
4511
4512 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
4513
4514         * sh.md (movv8qi_i+2): Don't split if source is -1.
4515
4516 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
4517
4518         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
4519
4520 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4521
4522         PR opt/7409
4523         * loop.c (loop_regs_scan): Mark registers used for function
4524         argument passing as MAY_NOT_OPTIMIZE.
4525
4526 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4527
4528         * gcov-io.h (gcov_info): Fix type.
4529         * profile.c (create_profiler): Fix type mismatch.
4530
4531 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
4532
4533         * i386.md (movv2di_internal): New pattern.
4534         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
4535         (movv2di): New expander.
4536         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
4537
4538         * i386.c (ix86_expand_timode_binop_builtin): Delete.
4539         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
4540         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
4541         (ix86_expand_builtin): Likewise.
4542         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4543         sse_andti3,
4544         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4545         sse_andnti3,
4546         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4547         sse_orti3,
4548         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4549         sse_xorti3): Kill.
4550         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
4551          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
4552         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
4553          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4554         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
4555          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
4556
4557         * xmmintrin.h (__m128i): Define as __v2di.
4558
4559         PR c++/6419
4560         (expand_expr): Use DECL_RTL_SET_P.
4561
4562 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4563
4564         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
4565
4566 2002-10-14  Roger Sayle  <roger@eyesopen.com>
4567             Zack Weinberg <zack@codesourcery.com>
4568
4569         * config/i386/i386.c (k6_cost): Correct typo.
4570
4571 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
4572
4573         PR optimization/6631
4574         * alias.c (objects_must_conflict_p): Check honor_readonly when
4575         examining TYPE_READONLY.
4576         * function.c (assign_stack_temp_for_type): Likewise.
4577
4578 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4579
4580         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
4581         Swap zero extension arguments.
4582         (umaxhi3): Fix instruction class.
4583         PR target/7211
4584         (prefetch): Fix prefetch instructions.
4585         PR target/7238
4586         (pkwb): Fix output constraint.
4587
4588 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
4589
4590         * config/mips/mips.c (print_operand): Increase buffer size for
4591         real numbers.
4592
4593 2002-10-14  Richard Henderson  <rth@redhat.com>
4594
4595         PR opt/8165
4596         * gcse.c (adjust_libcall_notes): Revert last change.
4597         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
4598
4599 2002-10-14  Andrew Haley  <aph@redhat.com>
4600
4601         * tree-inline.c (remap_block): All local class initialization
4602         flags go in the outermost scope.
4603         (expand_call_inline): Call java_inlining_map_static_initializers.
4604         (expand_call_inline): Call java_inlining_merge_static_initializers.
4605         * java/lang.c (merge_init_test_initialization): New.
4606         (java_inlining_merge_static_initializers): New.
4607         (inline_init_test_initialization): New.
4608         (java_inlining_map_static_initializers): New.
4609
4610         * tree-inline.c (expand_call_inline): Convert retvar to expected
4611         type.
4612
4613 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
4614
4615         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
4616
4617 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
4618
4619         * stmt.c: Fix typo in comment.
4620
4621 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4622
4623         * c-common.c (c_common_type_for_mode): Add V2HImode case.
4624         * tree.c (build_common_tree_nodes_2): Initialize
4625         unsigned_V2HI_type_node and V2HI_type_node.
4626         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
4627         (unsigned_V2HI_type_node, V2HI_type_node): Define.
4628
4629 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4630
4631         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
4632         Handle TARGET_64BIT.
4633
4634 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4635
4636         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
4637         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
4638         (MULTILIB_DIRNAMES): Remove long32.
4639         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
4640         (MULTILIB_REDUNDANT_DIRS): Remove.
4641
4642 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
4643
4644         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
4645         * gcc.c (driver_self_specs): New variable.
4646         (do_self_spec): New function.
4647         (main): Use it to process driver_self_specs.
4648
4649 2002-10-13  Richard Henderson  <rth@redhat.com>
4650
4651         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
4652         indirect sibcalls when regparm >= 3.
4653
4654         * config/i386/i386.c (sibcall_insn_operand): New.
4655         * config/i386/i386.h (PREDICATE_CODES): Update.
4656         * config/i386/i386-protos.h: Update.
4657         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
4658
4659         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
4660
4661 2002-10-12  Roger Sayle  <roger@eyesopen.com>
4662
4663         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
4664         arithmetic right shifts of ~0 during RTL simplifications.
4665
4666 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
4667
4668         PR preprocessor/7862
4669         PR preprocessor/8190
4670         * gcc.c (cpp_unique_options): Don't delete .d files.
4671         Remove stray whitespace.
4672
4673 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
4674
4675         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
4676         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4677         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
4678         (pdp11_output_function_epilogue, output_ascii): Likewise.
4679         (output_addr_const_pdp11): Likewise.
4680         * pdp11.md (movdi): Use offsetable memory for floating store.
4681         (lshrsi3, negsi2): Delete irrelevant comment.
4682
4683 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
4684
4685         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
4686         indirect calls to be sibcall optimized.
4687         * config/i386/i386.md (sibcall_1): New.
4688         (call_1): Add no-sibcalls condition.
4689         (sibcall_value_1): New.
4690         (call_value_1): Add no-sibcalls condition.
4691
4692 2002-10-11  Eric Christopher  <echristo@redhat.com>
4693
4694        * output.h (default_valid_pointer_mode): Declare.
4695        * varasm.c (default_valid_pointer_mode): Define.
4696        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
4697        * target.h: Ditto.
4698        * tree.c (build_pointer_type_for_mode): New function.
4699        (build_pointer_type): Use.
4700        (build_reference_type_for_mode): New function.
4701        (build_reference_type): Use.
4702        * tree.h: Declare new functions.
4703        * c-common.c (handle_mode_attribute): Use new functions, check
4704        for type.
4705        * stor-layout.c (layout_type): Depend on machine mode for
4706        REFERENCE_TYPE and POINTER_TYPE.
4707        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
4708        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
4709        and REFERENCE_TYPE.
4710        * config/mips/mips.c (mips_valid_pointer_mode): New function.
4711        (TARGET_VALID_POINTER_MODE): Use and define.
4712        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
4713
4714 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
4715
4716         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
4717         not the address of the REG.
4718         (struct cse_reg_info): Make subreg_ticked unsigned.
4719
4720 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
4721
4722         * doc/compat.texi: Add info about C++ libraries.
4723
4724 2002-10-11  Richard Henderson  <rth@redhat.com>
4725
4726         PR opt/8165
4727         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
4728
4729 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4730
4731         * cfganal.c (dfs_enumerate_from): Use PARAMS.
4732         * genautomata.c (output_insn_code_cases): Likewise.
4733         * real.c (real_format): Likewise.
4734         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
4735         ensure value is promoted before doing subtraction.
4736
4737 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4738
4739         * calls.c (expand_call): Simplify noreturn call.
4740
4741         PR c/7344
4742         * cfgbuild.c (make_edges): Create edge cache when we do have
4743         large jumptable.
4744         * expr.c (do_tablejump): Note size of maximal jumptable.
4745         * function.c (prepare_function_start): Zero out size.
4746         * function.h (function): Add max_jumptable_ents.
4747
4748         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4749
4750 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
4751
4752         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
4753         register for mperm_w operation.
4754
4755 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
4756
4757         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
4758         an integer, use simplify_gen_subreg.
4759
4760 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
4761
4762         * calls.c (flags_from_decl_or_type): Make extern.
4763         (ECF_*): Move ...
4764         * rtl.h (ECF_*): ... here.
4765         (flags_from_decl_or_type): Declare.
4766
4767 2002-10-10  Roger Sayle  <roger@eyesopen.com>
4768             Nathan Sidwell <nathan@codesourcery.com>
4769
4770         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
4771         shifts of the form -1 >> x.
4772
4773 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
4774
4775         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
4776
4777 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
4778
4779         * extend.texi (Vector Extensions): Remove comment about single
4780         element vectors.
4781
4782 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4783
4784         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
4785         * function.c (insns_for_mem_hash): Likewise.
4786         * varasm.c (STRHASH): Likewise.
4787
4788 2002-10-10  Stuart Hastings  <stuart@apple.com>
4789
4790         * cse.c (struct cse_reg_info): Add subreg_ticked.
4791         (SUBREG_TICKED): New.
4792         (get_cse_reg_info): Initialize SUBREG_TICKED.
4793         (mention_regs): Use it.
4794         (invalidate): Set SUBREG_TICKED.
4795         (invalidate_for_call): Likewise.
4796         (addr_affects_sp_p): Likewise.
4797
4798 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
4799
4800         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
4801         into proper operand.
4802
4803 2002-10-10  Denis Chertykov  <denisc@overta.ru>
4804
4805         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
4806         deallocation.
4807         * config/ip2k/libgcc.S: Combine routines used by function
4808         epilogue.
4809
4810 2002-10-10  Jim Wilson  <wilson@redhat.com>
4811
4812         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
4813         UDIV.
4814
4815 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
4816
4817         * config/rs6000/aix52.h: New file.
4818         * config/rs6000/t-aix52: New File.
4819         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
4820         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
4821
4822 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
4823
4824         PR target/5610
4825         * invoke.texi (-msse-math): Kill
4826         (-msse): Add note to mfpmath=sse.
4827
4828 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
4829
4830         PR target/7723
4831         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
4832
4833 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
4834
4835         PR preprocessor/8179
4836         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
4837         as cc1_options.
4838         (default_compilers): Pass debug options when preprocessing
4839         stdin.
4840
4841 2002-10-06  Richard Henderson  <rth@redhat.com>
4842
4843         * toplev.c (rest_of_compilation): Revert opt/2960 change.
4844
4845 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
4846
4847         * i386.c (*_cost): Add branch costs.
4848         (override_options): set ix86_branch_cost.
4849         (ix86_expand_int_movcc): Use BRANCH_COST.
4850         * i386.h (costs): Add branch_cost.
4851
4852 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
4853
4854         PR c/7353
4855         * c-decl.c (start_decl): Unconditionally issue error for
4856         'typedef foo = bar'.
4857         (finish_decl): Remove special case for TYPE_DECL with initializer.
4858
4859         * doc/extend.texi: Delete "Naming Types" section.  Change all
4860         cross-references to that section to refer to "Typeof" instead.
4861         Add the useful safe-max()-macro example from "Naming Types" to
4862         "Typeof", rewritten using that extension.  Add some compatibility
4863         notes to "Typeof."
4864
4865 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4866
4867         * loop.c: Revert 2002-08-15 change.
4868         (LOOP_REGNO_NREGS): Ensure type is int.
4869
4870 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4871
4872         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
4873         which copies first FPR and clears second.
4874         (extendsftf2): Same.
4875         (floatditf2): Fix typo.
4876         (floatsitf2): Same.
4877         (fix_trunctfdi2): Same.
4878         (fix_trunctfsi2): Same.
4879
4880 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4881
4882         * conflict.c (arc_hash): Change return type to hashval_t.
4883         * cselib.c (get_value_hash): Likewise.
4884         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
4885         state_hash, automata_list_hash): Likewise.
4886         * read-rtl.c (def_hash): Likewise.
4887         * tree.c (type_hash_hash): Likewise.
4888
4889 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
4890
4891         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
4892         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
4893
4894 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
4895
4896         * sh.md (ffssi2): Fix emitted code.
4897
4898 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
4899
4900         * cse.c (insn_live_p): Pass insn pattern, not full insn
4901         to may_trap_p.
4902
4903 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
4904
4905         * cppmacro.c (paste_tokens): Only allow / to paste with =.
4906
4907 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
4908
4909         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
4910         64-bit hosts.
4911         (movtf_internal): Reference correct displacement for second value
4912         in memory.
4913         (movtf splitter): Correct generation of constants in 64-bit mode.
4914
4915 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
4916
4917         * libgcc2.c (__floatdisf): Properly cure double rounding.
4918
4919 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4920
4921         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
4922         * doc/cpp.texi (Common Predefined Macros): Document.
4923
4924 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4925
4926         PR doc/7484
4927         * doc/invoke.texi (Option Summary): List
4928         -Wmissing-declarations as a C only option.
4929
4930 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4931
4932         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
4933         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
4934         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
4935
4936 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
4937
4938         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4939         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
4940         variables.
4941         (safe_vector_operand): Update sse_clrv4sf call.
4942         (ix86_expand_buildin): Likewise
4943         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
4944         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
4945         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
4946         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
4947         macros.
4948         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
4949         movv4si):  Obey the new flags.
4950         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
4951         reformating penalty.
4952         (anddf, cmov patterns): Avoid reformating by first converting.
4953         (sse_cvtsd2ss): Fix predicate.
4954         (sse2_clrti): Fix mode,
4955         (sse_clrv4sf): Avoid unspec.
4956
4957 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
4958
4959         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
4960         mno-app-regs|mcmodel=medany.
4961         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
4962         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
4963         (CRTSTUFF_T_CFLAGS): Define.
4964
4965 2002-10-08  Roger Sayle  <roger@eyesopen.com>
4966
4967         PR target/8087
4968         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
4969         pool references that are constructed using LO_SUM.
4970
4971 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
4972
4973         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
4974         -Wall.
4975         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
4976         message.
4977         * flags.h (warn_strict_aliasing): Declare.
4978         * toplev.c (warn_strict_aliasing): Define.
4979         (lang_independent_options): Add it.
4980         * doc/invoke.texi (-Wstrict-aliasing): Document it.
4981
4982 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
4983
4984         * system.h (GCCBUGURL): Delete.
4985         * version.c (bug_report_url): New.  Add commentary about
4986         modifying both these strings in modified distributions.
4987         * version.h: Declare bug_report_url.
4988
4989         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
4990         bug_report_url.
4991
4992 2002-10-08  Nick Clifton  <nickc@redhat.com>
4993
4994         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
4995         convert uint64_t into __ev64_opaque__.
4996         (__ev_set_acc_s64): Likewise, but using signed types.
4997
4998 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
4999
5000         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
5001         ("*doloop_di_long"): Likewise.
5002
5003 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
5004
5005         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
5006
5007 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
5008
5009         * config/mips/mips.md (define_attr cpu): Add r4111.
5010
5011 2002-10-08  Anthony Green  <green@redhat.com>
5012
5013         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
5014
5015 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5016
5017         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
5018         for REAL_VALUE_TO_DECIMAL output.
5019
5020 2002-10-07  Richard Henderson  <rth@redhat.com>
5021
5022         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
5023         function; cleanup PLUS case by using recursion.  Update all users.
5024         (NONZERO_BASE_PLUS_P): Remove.
5025         (find_comparison_args): Use rtx_addr_can_trap_p instead.
5026         (fold_rtx): Use nonzero_address_p.
5027         * rtl.h (nonzero_address_p): Declare.
5028         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
5029         (rtx_addr_can_trap_p): Likewise.
5030         (nonzero_address_p): New.
5031         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
5032         (simplify_relational_operation): Use nonzero_address_p.
5033
5034 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
5035
5036         * config/rs6000/rs6000.c (rs6000_override_options): Set
5037         real_format_for_mode for IBM extended format, if enabled.
5038         (easy_fp_constant): Add TFmode.
5039         (rs6000_legitimize_address): Add TFmode.
5040         (rs6000_legitimate_address): Same.
5041         (function_arg_advance): TFmode uses two FPRs.
5042         (rs6000_emit_prologue): Fix warning.
5043         (rs6000_output_function_epilogue): Add TFmode.
5044         (output_toc): Add TFmode.
5045         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
5046         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
5047         * rs6000.md (movtf splitter): Load TFmode constant.
5048
5049 2002-10-07  Dale Johannesen  <dalej@apple.com>
5050
5051         * rtl.h:  Add NOTE_PRECONDITIONED.
5052         * unroll.c:  Set it.
5053         * loop.c:  Set loop_info->preconditioned from it.
5054         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
5055
5056 2002-10-07  Richard Henderson  <rth@redhat.com>
5057
5058         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
5059         new rtx for comparing the argument pointer against zero.
5060         (i960_va_start): Similarly.
5061
5062 2002-10-07  Richard Henderson  <rth@redhat.com>
5063
5064         * config/i960/i960.md (*): Use TFmode, not XFmode.
5065         * config/i960/i960.c (*): Likewise.
5066         (i960_arg_size_and_align): Remove XFmode alignment hack.
5067         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
5068         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
5069         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
5070         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
5071
5072 2002-10-07  Richard Henderson  <rth@redhat.com>
5073
5074         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
5075         entry points; use void return value and argument list.
5076
5077 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
5078
5079         * calls.c (expand_call): Fix function-is-volatile check.
5080
5081 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
5082
5083         * t-pdp11: Add MULTILIB support for msoft-float.
5084         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
5085
5086         * t-pdp11: Add LIB2FUNCS_EXTRA.
5087         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
5088         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
5089         'fldd' to 'ldd', rename 'fstd' to 'std'.
5090         (pdp11_output_function_epilogue): Likewise.
5091         (output_move_quad): Make the comment gas compatible.
5092         (output_ascii): Add preceding 0 to the octal constant.
5093         (print_operand_address): Add pre_modify, post_modify.
5094         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
5095         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
5096         with the indication of Paul Koning.
5097         (PRINT_OPERAND): Fix floating constant.
5098         * pdp11.md (movdi): Restrict matching pattern.
5099         (movqi): Generalize the matching pattern.
5100         (movdf): Restrict matching pattern.
5101         (zero_extendqihi2): Change constant representation.
5102         (floatsidf2): Fix wrong operands.
5103         (addqi3): Fix wrong instruction name.
5104         (subqi3): Fix wrong instruction name.
5105         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
5106         (xorsi3): Fix wrong insn.
5107         (one_cmplqi2): Add two operand pattern.
5108         (lsrsi3): New.
5109         (negsi2): New.
5110         (call): Add register indirect case.
5111         (mod): Fix wrong subreg.
5112
5113 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5114             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5115
5116         PR c/7411
5117         * expr.c (expand_expr) [PLUS]: Simplify after the operands
5118         have been expanded in EXPAND_NORMAL mode.
5119
5120 2002-10-06  Richard Henderson  <rth@redhat.com>
5121
5122         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
5123
5124 2002-10-06  Richard Henderson  <rth@redhat.com>
5125
5126         PR optimization/2960
5127         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
5128         optimize_size.
5129
5130 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
5131
5132         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
5133         previously definitions.
5134
5135 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
5136
5137         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
5138         * c-opts.c (find_opt): Similarly.
5139
5140 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
5141
5142         * athlon.md: rewrite to DFA.
5143         * i386 (ix86_adjust_cost): Drop memory latency code.
5144         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
5145
5146 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
5147
5148         * gcc.c (set_multilib_dir): Don't access *end.
5149         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
5150         (print_multilib_info): Don't show paths starting with ".:".
5151         * genmultilib: Add new option, "yes" if multilibs are enabled.
5152         Update comments.  If multilibs not enabled, print .:${osdirout}
5153         for each directory.  If multilibs are enabled, always print
5154         ${dirout}:${osdirout}, even if the two are the same.
5155         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
5156         Pass all MULTILIB_* variables to genmultilib even if
5157         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
5158
5159 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
5160
5161         * gcc.c (process_command): Set .validated for -pipe.  Correct
5162         grammar in comment.
5163
5164 2002-10-04  Bruce Korb  <bkorb@gnu.org>
5165
5166         * fixinc/inclhack.def(hpux11_abs):  use format fix
5167         * fixinc/fixincl.x: regenerate
5168         * fixinc/tests/base/stdlib.h: accommodate new fix test
5169
5170 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
5171
5172         * c-common.c (cb_register_builtins):  Use really_no_inline.
5173
5174 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
5175
5176         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
5177         copied instruction if the note is not loop invariant.
5178
5179 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
5180
5181         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
5182
5183 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5184
5185         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
5186         and -mhp-ld options to list of options.  Add -mgnu-ld
5187         and -mhp-ld option descriptions.
5188
5189 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
5190
5191         * fixinc/inclhack.def (hpux11_abs):  New.
5192         (stdio_va_list): change __va_list__ to __gnuc_va_list.
5193         * fixinc/fixincl.x: Rebuild.
5194
5195 2002-10-04  Roger Sayle  <roger@eyesopen.com>
5196
5197         * config/i386/i386.h (processor_costs): Add new fields fadd,
5198         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
5199         (RTX_COSTS): Use these fields to determine the RTX costs
5200         of floating point addition/subtraction, multiplication,
5201         division, fabs, negation and square root respectively.
5202         * config/i386/i386.c (size_cost): Provide instruction sizes
5203         for these new fields.
5204         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
5205         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
5206         counts for these new fields for all x86 processor variants.
5207
5208 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5209
5210         * mips.c (mips_const_double_ok): Delete unused variable.
5211
5212         * gengtype.c (rtx_next): Change type to int.
5213
5214 2002-10-04  Andreas Jaeger  <aj@suse.de>
5215
5216         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
5217
5218 2002-10-04  Richard Henderson  <rth@redhat.com>
5219
5220         * real.h (SIGNIFICAND_BITS): Add one more word.
5221         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
5222         * real.c (times_pten): New.
5223         (real_to_decimal, real_from_string): Use it.
5224         (sticky_rshift_significand): Use & to find modulus.
5225         (rshift_significand, lshift_significand): Likewise.
5226         (do_divide): Apply sticky bit after normalization.
5227         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
5228
5229 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
5230
5231         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
5232         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5233
5234 2002-10-03  Andreas Jaeger  <aj@suse.de>
5235
5236         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
5237         to unsigned long, adjust printf format string.
5238         (output_mangled_typename): Likewise.
5239
5240 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
5241
5242         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
5243         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
5244         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
5245         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
5246         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
5247         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
5248         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
5249         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
5250
5251 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
5252
5253         * doc/invoke.texi (-Wabi): Document mangling bug.
5254
5255 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
5256
5257         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
5258         name for the tbtab label that depends on the function asm name.
5259         Don't output tbtab label unless optional_tbtab.
5260         (output_mi_thunk): Formatting.
5261
5262 2002-10-03  Richard Henderson  <rth@redhat.com>
5263
5264         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
5265         * config/m68k/m68k.c (override_options): ... here.
5266         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
5267         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
5268         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5269         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
5270
5271 2002-10-03  Richard Henderson  <rth@redhat.com>
5272
5273         * real.h (struct real_value): Use ENUM_BITFIELD.
5274
5275 2002-10-03  Richard Henderson  <rth@redhat.com>
5276
5277         * config/i960/i960.md (call, call_value): Use emit_call_insn.
5278
5279 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5280
5281         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
5282
5283 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
5284
5285         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
5286         * config/pa/pa.h (MASK_GNU_LD): New.
5287         (TARGET_GNU_LD): New.
5288         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
5289         on gnu-ld and MASK_GNU_LD.
5290         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
5291
5292 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
5293
5294         * i386.c (athlon_cost): Fix the move costs.
5295
5296 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
5297
5298         * final.c (final): Use symbol name as function name for profiling.
5299         * profile.c (get_exec_counts): Likewise.
5300         (branch_prob): Likewise.
5301
5302 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5303
5304         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
5305
5306 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5307
5308         * gcc.c (print_multi_os_directory): New variable.
5309         (option_map): Support --print-multi-os-directory.
5310         (struct prefix_list): Add os_multilib field.
5311         (multilib_os_dir): New variable.
5312         (static_specs): Add multilib_options.
5313         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
5314         subdirs if nonzero.
5315         (read_specs, execute): Update callers.
5316         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
5317         pass 1 as multilib option.
5318         (display_help): Include --print-multi-os-directory.
5319         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
5320         (process_command): Update callers.  Handle --print-multi-os-directory.
5321         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
5322         set.
5323         (main): Update find_a_file and add_prefix callers.
5324         Handle print_multi_os_directory.
5325         (struct mdswitchstr): New.
5326         (mdswitches, n_mdswitches): New variables.
5327         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
5328         present on the command line nor their mutually incompatible
5329         switches.
5330         (default_arg): Optimize.
5331         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
5332         array.
5333         (print_multilib_info): Only print GCC multilib dir name, not OS
5334         multilib dirname.
5335         * genmultilib: Add osdirnames parameter.  Output multilib_options
5336         variable.  If osdirnames is specified, output dirnames as
5337         dirname:osdirname.
5338         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
5339         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
5340         to compute libgcc_s soname and install path.
5341         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
5342         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5343         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
5344         argument.
5345
5346         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5347         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5348         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
5349         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
5350         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
5351         and -m64.
5352         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
5353         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5354         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
5355         (STARTFILE_ARCH_SPEC): Remove.
5356         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
5357         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5358         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5359         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
5360         (SHLIB_SLIBDIR_SUFFIXES): Remove.
5361
5362 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
5363
5364         * predict.c (choose_function_section): Avoid choice for linkonce functions.
5365
5366 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
5367
5368         * i386.md (lea to mul peep2): Fix condition.
5369
5370 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5371
5372         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
5373         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
5374
5375 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
5376
5377         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
5378         attribute "unused".
5379
5380         * config/t-libunwind: Mention unwind-sjlj.c.
5381         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
5382         to #ifndef __USING_SJLJ_EXCEPTIONS__.
5383
5384         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
5385         before inclusion of config.gcc, but after configuring the compiler etc.
5386         Determine default value for --enable-libunwind-exceptions based on
5387         whether the host has a libunwind library (not guaranteed to be correct,
5388         but it's a reasonable first guess and can always be overridden with an
5389         explicit --enable/disable-libunwind-exceptions.
5390         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
5391         tmake_file when $use_libunwind_exceptions is enabled.
5392         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
5393         ia64 (e.g., config/t-linux also updates it).
5394         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
5395         along with the shared version of libgcc since the latter requires
5396         the former.
5397         * unwind-libunwind.c: New file.
5398         * config/t-libunwind: Ditto.
5399
5400 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5401
5402         * config.gcc: Remove support for vax-*-vms*.
5403         * config/vax/vms.h: Remove.
5404         * config/vax/xm-vms.h: Remove.
5405         * config/vax/vax-protos.h: Remove VMS-specific code.
5406         * config/vax/vax.c: Remove VMS-specific code.
5407
5408 2002-10-02  Richard Henderson  <rth@redhat.com>
5409
5410         PR opt/7124
5411         * config/i386/i386.c (ix86_register_move_cost): Increase cost
5412         for secondary_memory_needed pairs.
5413
5414 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5415
5416         * doc/vms.texi: Blow away false include file section.
5417
5418 2002-10-02  Roger Sayle  <roger@eyesopen.com>
5419
5420         PR optimization/6627
5421         * toplev.c (force_align_functions_log): New global variable.
5422         * flags.h (force_align_functions_log): Add extern prototype.
5423         * varasm.c (assemble_start_function): Use it to force minimum
5424         function alignment.
5425         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
5426         minimum function alignment to one byte.
5427         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
5428         the least significant bit of vtable member function pointers.
5429         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
5430         here from cp/cp-tree.h.
5431
5432 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
5433
5434         * i386.c (print_operand_address): Use RIP addressing for offsetted
5435         label refs too.
5436
5437 2002-09-30  David S. Miller  <davem@redhat.com>
5438
5439         PR middle-end/7151
5440         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
5441         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
5442
5443 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
5444
5445         * calls.c (expand_call): Remove the `no indirect check'
5446         for sibcall optimization; use function_ok_for_sibcall
5447         target hook; refine check for `function is volatile'.
5448         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
5449         * hooks.c (hook_tree_tree_bool_false): New.
5450         * hooks.h (hook_tree_tree_bool_false): Declare.
5451         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
5452         (TARGET_INITIALIZER): Add it.
5453         * target.h (struct gcc_target): Add function_ok_for_sibcall.
5454         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
5455         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5456         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5457         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
5458         Remove function declaration.
5459         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
5460         function static and accept another argument of type `tree'.
5461         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5462         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5463         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5464         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
5465         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5466         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5467         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5468         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
5469         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
5470         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5471         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5472         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
5473         Remove function declaration.
5474         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
5475         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
5476         rename first argument to `decl'; accept another argument
5477         of type `tree'; make static.
5478         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5479         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5480         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
5481         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5482         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5483         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
5484         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
5485         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5486         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
5487
5488 2002-10-01  Roger Sayle  <roger@eyesopen.com>
5489
5490         * unroll.c (loop_iterations): Revert 2002-09-08 change.
5491
5492 2002-10-01  Richard Henderson  <rth@redhat.com>
5493
5494         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
5495         (real_to_hexadecimal): Likewise.
5496         * print-rtl.c (print_rtx): If we are linked with real.c, don't
5497         dump the XWINT fields of a floating point CONST_DOUBLE.
5498
5499 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
5500
5501         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
5502
5503 2002-10-01  Richard Henderson  <rth@redhat.com>
5504
5505         * calls.c (precompute_register_parameters): Force non-legitimate
5506         constants into pseudos.
5507
5508 2002-10-01  Nick Clifton  <nickc@redhat.com>
5509
5510         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
5511         to assembler template.
5512
5513 2002-10-01  Richard Henderson  <rth@redhat.com>
5514
5515         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
5516         for TLS debug info to !DECL_EXTERNAL.
5517
5518 2002-10-01  Matt Thomas  <matt@3am-software.com>
5519             Jason Thorpe  <thorpej@wasabisystems.com>
5520
5521         * config.gcc (vax-*-netbsdelf*): Enable configuration.
5522         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
5523         if not already defined.
5524         * config/vax/elf.h: New file.
5525         * config/vax/netbsd-elf.h: New file.
5526         * config/vax/vax.c: Include "debug.h".
5527         (vax_output_function_prologue): Add dwarf2 support.  Use
5528         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
5529         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
5530         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
5531         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
5532         (VAX_ISTREAM_SYNC): Remove.
5533         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
5534         (JUMP_TABLES_IN_TEXT_SECTION): Define.
5535         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
5536         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
5537         and assemble_name.
5538         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5539         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
5540         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
5541         (INCOMING_RETURN_ADDR_RTX): Define.
5542         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
5543         (VUNSPEC_SYNC_ISTREAM): Define.
5544         (blockage): Use VUNSPEC_BLOCKAGE.
5545         (sync_istream): New insn.
5546
5547 2002-10-01  Richard Henderson  <rth@redhat.com>
5548
5549         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
5550         (*call_value_pop, call, call_value): Add dwarf2 EH support.
5551         (*call): New insn.
5552
5553 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5554
5555         PR c/8083
5556         * c-typeck.c (build_c_cast): Warn about type punning which breaks
5557         type based aliasing.
5558
5559 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
5560
5561         * stor-layout.c (update_alignment_for_field): New function.
5562         (place_union_field): Use it.
5563         (place_field): Likewise.
5564
5565 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
5566
5567         PR other/8077
5568         * gcc.c (cc1_options): Add space on -auxbase-strip.
5569
5570 2002-10-01  Jim Wilson  <wilson@redhat.com>
5571
5572         * config/v850/v850.h (EPILOGUE_USES): Define.
5573
5574 2002-09-30  Andrew Haley  <aph@redhat.com>
5575
5576         * flow.c (insn_dead_p): When using non-call-exceptions, don't
5577         eliminate insns that may trap.
5578         * cse.c (insn_live_p): Likewise.
5579
5580 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5581
5582         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5583         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5584         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5585         * config/mips/mips.md: Apply same renaming here.
5586
5587 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5588
5589         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5590         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5591         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5592         * config/mips/mips.md (define_attr cpu): Remove r4320.
5593         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5594
5595 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5596
5597         * config/mips/mips.c (mips16_strings): New variable.
5598         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5599         symbol in mips16_strings.  Free the list.
5600         (mips_encode_section_info): Keep track of local strings.
5601
5602 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5603
5604         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5605         (sordered_df, sordered_sf): Remove.
5606         * config/mips/mips.c (get_float_compare_codes): New fn.
5607         (gen_int_relational, gen_conditional_move): Use it.
5608
5609 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
5610
5611         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5612         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5613         * config/mips/mips.c (fcc_register_operand): New function.
5614         (mips_emit_fcc_reload): New function, extracted from reload_incc.
5615         (override_options): Allow TFmode values in float registers
5616         if ISA_HAS_8CC.
5617         * cnfig/mips/mips.md (reload_incc): Change destination prediate
5618         to fcc_register_operand.  Remove misleading source constraint.
5619         Use mips_emit_fcc_reload.
5620         (reload_outcc): Duplicate reload_incc.
5621
5622 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
5623
5624         * gcc.c (validate_switches): Handle all new forms of spec
5625         syntax introduced recently.  Now returns a char *.
5626         (validate_all_switches): Repetitive logic broken out to...
5627         (validate_switches_from_spec): ...here.
5628         * mklibgcc.in: Don't @-flag commands to generate .oS files.
5629
5630 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
5631
5632         * longlong.h: Partially synchronize with GMP-4.1 version:
5633         Use i370 definitions also for s390.
5634         Add generic definition of umul_ppmm in terms of smul_ppmm.
5635         [s390] (umul_ppmm): Remove.
5636         [s390] (smul_ppmm): Fix incorrect assembler constraints.
5637         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
5638
5639 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
5640
5641         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
5642         Add new RL_REGS register class.
5643         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
5644         Call xtensa_preferred_reload_class for both input and output reloads.
5645         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
5646         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
5647         instead of either AR_REGS or GR_REGS classes.
5648         (xtensa_secondary_reload_class): Use new RL_REGS class.
5649         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
5650
5651 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5652
5653         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
5654         (pa_strip_name_encoding): Strip '@' and '*', in that order.
5655         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
5656         there is a '*' prefix in NAME.
5657
5658 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
5659
5660         * reload.c (push_reload): Handle subregs and secondary memory.
5661         * reload1.c (gen_reload): Likewise.
5662
5663         * jump.c (reg_or_subregno): New function.
5664         * rtl.h (reg_or_subregno): Declare
5665         * unroll.c (find_splittable_givs): Handle subregs.
5666
5667 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
5668
5669         * store-layout.c (finish_record_layout): Add free_p parameter.
5670         (layout_type): Pass it.
5671         * tree.h (finish_record_layout): Update prototype.
5672
5673 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
5674
5675         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
5676
5677         * gcse.c (cprop_jump): Check that the register has not
5678         been modified
5679         (cprop_jump): Likewise.
5680
5681 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
5682
5683         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
5684         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
5685         that we have a SImode access, and only then if reload hasn't completed;
5686         for all other cases, use LO_REGS.
5687
5688 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5689
5690         * openbsd.h: Fix typo in last change.
5691
5692 2002-09-29  Richard Henderson  <rth@redhat.com>
5693
5694         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
5695
5696 2002-09-29  Richard Henderson  <rth@redhat.com>
5697
5698         PR c/8002
5699         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
5700         for CONST_INT.
5701
5702 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
5703
5704         * real.h (ibm_extended_format): Declare.
5705         * real.c (encode_ibm_extended, decode_ibm_extended): New
5706         functions.
5707
5708 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5709
5710         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
5711
5712         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
5713
5714 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5715
5716         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
5717
5718 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
5719
5720         * builtins.def: Fix comment formatting.
5721         * c-common.def: Likewise.
5722         * cfgcleanup.c: Likewise.
5723         * combine.c: Likewise.
5724         * gengtype.c: Likewise.
5725         * params.def: Likewise.
5726         * predict.def: Likewise.
5727         * rtl.def: Likewise.
5728         * stab.def: Likewise.
5729         * stor-layout.c: Likewise.
5730         * tree.def: Likewise.
5731         * config/darwin.c: Likewise.
5732         * config/darwin.h: Likewise.
5733         * config/dbxcoff.h: Likewise.
5734         * config/elfos.h: Likewise.
5735         * config/fp-bit.c: Likewise.
5736         * config/freebsd-spec.h: Likewise.
5737         * config/interix.h: Likewise.
5738         * config/libgloss.h: Likewise.
5739         * config/linux-aout.h: Likewise.
5740         * config/linux.h: Likewise.
5741         * config/lynx-ng.h: Likewise.
5742         * config/lynx.h: Likewise.
5743         * config/netbsd-aout.h: Likewise.
5744         * config/netbsd.h: Likewise.
5745         * config/netware.h: Likewise.
5746         * config/psos.h: Likewise.
5747         * config/ptx4.h: Likewise.
5748
5749 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
5750
5751         * ChangeLog.4: Fix typos.
5752         * ChangeLog.6: Likewise.
5753         * FSFChangeLog.10: Likewise.
5754         * genattrtab.c: Fix comment typos.
5755         * haifa-sched.c: Likewise.
5756         * real.c: Likewise.
5757         * tree.h: Likewise.
5758         * config/arm/arm.c: Likewise.
5759         * config/arm/crti.asm: Likewise.
5760         * config/arm/crtn.asm: Likewise.
5761         * config/frv/frv.c: Likewise.
5762         * config/frv/frv.md: Likewise.
5763         * config/h8300/h8300.md: Likewise.
5764         * config/i386/rtemself.h: Likewise.
5765         * config/ia64/unwind-ia64.c: Likewise.
5766         * config/ip2k/ip2k.h: Likewise.
5767         * config/m88k/m88k.c: Likewise.
5768         * config/m88k/m88k.md: Likewise.
5769         * config/mips/sr71k.md: Likewise.
5770         * config/mmix/mmix.c: Likewise.
5771         * config/rs6000/rs6000.c: Likewise.
5772         * config/sh/sh.md: Likewise.
5773
5774 2002-09-26  Theodore A. Roth  <troth@verinet.com>
5775
5776         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
5777         * config/avr/avr.md: Ditto.
5778
5779 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
5780
5781         PR preprocessor/8055
5782         * cppmacro.c (stringify_arg): Do not overflow the buffer
5783         with the terminating NUL when the argument to be stringified
5784         has no tokens.
5785
5786 2002-09-27  Richard Henderson  <rth@redhat.com>
5787
5788         * unroll.c (simplify_cmp_and_jump_insns): New.
5789         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
5790         instead of expand_simple_foo.
5791
5792 2002-09-27  Richard Henderson  <rth@redhat.com>
5793
5794         PR optimization/7520
5795         * cfganal.c (flow_active_insn_p): New.
5796         (forwarder_block_p): Use it.
5797
5798 2002-09-27  Richard Henderson  <rth@redhat.com>
5799
5800         * emit-rtl.c (active_insn_p): Revert last change.
5801
5802 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
5803
5804         * doc/extend.texi (tls_model): Document.
5805         * varasm.c (decl_tls_model): New.
5806         * c-common.c (handle_tls_model_attribute): New.
5807         (c_common_attribute_table): Add tls_model.
5808         * config/alpha/alpha.c (alpha_encode_section_info): Use
5809         decl_tls_model.
5810         * flags.h (enum tls_model, flag_tls_default): Move...
5811         * tree.h (enum tls_model, flag_tls_default): ...here.
5812         (decl_tls_model): New prototype.
5813         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5814         * config/i386/i386.c (ix86_encode_section_info): Likewise.
5815         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
5816         Allow !flag_pic.
5817
5818 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5819
5820         * LANGUAGES: Follow spelling conventions.
5821         * rtl.def: Likewise.
5822         * sbitmap.c: Likewise.
5823         * sched-int.h: Likewise.
5824         * sched-rgn.c: Likewise.
5825         * sibcall.c: Likewise.
5826         * simplify-rtx.c: Likewise.
5827         * ssa.c: Likewise.
5828         * stab.def: Likewise.
5829         * stmt.c: Likewise.
5830         * stor-layout.c: Likewise.
5831         * target.h: Likewise.
5832         * timevar.c: Likewise.
5833         * toplev.c: Likewise.
5834         * tree-dump.c: Likewise.
5835         * tree-inline.c: Likewise.
5836         * tree.c: Likewise.
5837         * tree.def: Likewise.
5838         * tree.h: Likewise.
5839         * unroll.c: Likewise.
5840         * varasm.c: Likewise.
5841         * vmsdbgout.c: Likewise.
5842         * treelang/treelang.texi: Likewise.
5843         * treelang/treetree.c: Likewise.
5844
5845 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
5846
5847         * config/h8300/h8300.c (compute_saved_regs): Use a macro
5848         instead of a hard register number.
5849         (get_shift_alg): Use an enumerated type instead of numbers.
5850         (h8300_shift_needs_scratch_p): Likewise.
5851
5852 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5853
5854         * varasm.c (force_data_section): Remove.
5855         (assemble_constant_align): Likewise.
5856         * output.h: Remove corresponding prototypes.
5857
5858 2002-09-26  Roger Sayle  <roger@eyesopen.com>
5859
5860         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
5861         jump, if the loop to exit is the top of the current nesting stack.
5862
5863 2002-09-26  Torbjorn Granlund  <tege@swox.com>
5864
5865         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
5866         arithmetic.
5867
5868 2002-09-26  David S. Miller  <davem@redhat.com>
5869
5870         PR optimization/7335
5871         * calls.c (emit_library_call_value_1): Passing args by reference
5872         converts a CONST function into a PURE one.
5873
5874 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5875
5876         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
5877         text_section.
5878         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
5879         text section.
5880         * config/rs6000/rs6000.c (rs6000_override_options): Allow
5881         function-sections and data-sections functionality on AIX.
5882
5883 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
5884             Dale Johannesen  <dalej@apple.com>
5885
5886         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
5887         in RTL for sub-word loads from memory.
5888
5889 2002-09-26  Richard Henderson  <rth@redhat.com>
5890
5891         PR c/7160
5892         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
5893         on call insns.
5894
5895 2002-09-26  Richard Henderson  <rth@redhat.com>
5896
5897         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
5898
5899 2002-09-26  Chris Lattner  <sabre@nondot.org>
5900
5901         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
5902         handling undefined values.
5903
5904 2002-09-26  Richard Henderson  <rth@redhat.com>
5905
5906         PR opt/7520
5907         * emit-rtl.c (active_insn_p): Consider a clobber of the
5908         function return value to be active even after reload.
5909
5910 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
5911
5912         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
5913         by absolute loop increment, not loop increment.
5914
5915 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5916
5917         * c-common.h: Follow spelling conventions.
5918         * cpplex.c: Likewise.
5919         * cpplib.h: Likewise.
5920         * gthr-dce.h: Likewise.
5921         * gthr-posix.h: Likewise.
5922         * optabs.c: Likewise.
5923         * output.h: Likewise.
5924         * profile.c: Likewise.
5925         * protoize.c: Likewise.
5926         * ra-rewrite.c: Likewise.
5927         * real.c: Likewise.
5928         * recog.c: Likewise.
5929         * reg-stack.c: Likewise.
5930         * regclass.c: Likewise.
5931         * regmove.c: Likewise.
5932         * reload.c: Likewise.
5933         * reload.h: Likewise.
5934         * reload1.c: Likewise.
5935         * reorg.c: Likewise.
5936         * resource.c: Likewise.
5937         * rtl.h: Likewise.
5938         * rtlanal.c: Likewise.
5939
5940 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5941
5942         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
5943         for symbol address.
5944
5945 2002-09-24  Eric Christopher  <echristo@redhat.com>
5946
5947         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
5948         * config/mips/elf64.h: Ditto.
5949
5950 2002-09-24  Eric Christopher  <echristo@redhat.com>
5951
5952         * except.c (expand_builtin_extract_return_address): Handle case
5953         where Pmode != ptr_mode.
5954
5955 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5956
5957         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
5958
5959 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
5960
5961         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
5962
5963 2002-09-26  Igor Shevlyakov <igor@microunity.com>
5964
5965         * combine.c (simplify_set): Don't call to force_to_mode if size
5966         of integer type is larger than HOST_BITS_PER_WIDE_INT.
5967
5968 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
5969
5970         * Makefile.in (qmtest-g++): Fix file path.
5971
5972 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5973
5974         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
5975         A + (-const) on RTX level, even for unsigned types.
5976
5977 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
5978
5979         * reload.c (dup_replacements): New function.
5980         (find_reloads): Use it to duplicate replacements at the top level
5981         of match_dup operands.
5982
5983 2002-09-26  Miles Bader  <miles@gnu.org>
5984
5985         * v850.md ("length"): Change default value to 4.
5986
5987 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
5988
5989         * ChangeLog.1: Follow spelling conventions.
5990         * ChangeLog.4: Likewise.
5991         * ChangeLog.6: Likewise.
5992         * FSFChangeLog.11: Likewise.
5993         * doc/cpp.texi: Likewise.
5994         * doc/invoke.texi: Likewise.
5995         * doc/tm.texi: Likewise.
5996
5997 2002-09-26  Nick Clifton  <nickc@redhat.com>
5998
5999         * config.gcc: Add x prefix to v850e case for handling
6000         --with-cpu=v850e.
6001
6002 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
6003
6004         * gcc.c (input_suffix_matches, switch_matches,
6005         mark_matching_switches, process_marked_switches,
6006         process_brace_body): New functions - split from handle_braces.
6007         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
6008         and ignore whitespace in more places.
6009         (specs documentation comment): Document %{S:X;T:Y;:D}.
6010         Clarify other %{...} docs.
6011         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
6012         %{...} docs.
6013
6014         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
6015         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
6016
6017 2002-09-25  David S. Miller  <davem@redhat.com>
6018
6019         PR target/7842
6020         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
6021         extend.
6022
6023 2002-09-25  Richard Henderson  <rth@redhat.com>
6024
6025         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
6026         fp CONST_DOUBLE; use real_identical.
6027
6028 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
6029
6030         * doc/invoke.texi: Add more -Wabi examples.
6031
6032 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
6033
6034         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
6035
6036 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
6037
6038         * profile.c (end_branch_prob): Only look for __gcov_init on
6039         weak-enabled native compilers.
6040
6041 2002-09-24  Denis Chertykov  <denisc@overta.ru>
6042
6043         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
6044         cases of optimizing "add sp,w" to "inc sp".
6045
6046 2002-09-24  Adam Nemet  <anemet@lnxw.com>
6047
6048         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
6049         epilogue for naked functions.
6050
6051 2002-09-24  Adam Nemet  <anemet@lnxw.com>
6052             Nick Clifton  <nickc@redhat.com>
6053
6054         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
6055         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
6056         is defined.
6057
6058 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
6059
6060         * config/s390/s390.c (preferred_la_operand_p): New function.
6061         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
6062         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
6063         ("*la_64_cc", "*la_31_cc", splitters): ... these.
6064         ("*la_31"): Deactivate for TARGET_64BIT.
6065         ("*la_31_and", "*la_31_and_cc"): New.
6066
6067 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6068
6069         * real.h (real_value): Make `exp' explicitly signed.
6070
6071 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
6072
6073         * config/elfos.h: Follow spelling conventions.
6074         * config/alpha/alpha.h: Likewise.
6075         * config/arc/arc.h: Likewise.
6076         * config/arm/arm.md: Likewise.
6077         * config/avr/avr.h: Likewise.
6078         * config/cris/cris.md: Likewise.
6079         * config/d30v/d30v.h: Likewise.
6080         * config/frv/frv.c: Likewise.
6081         * config/frv/frv.h: Likewise.
6082         * config/h8300/h8300.c: Likewise.
6083         * config/h8300/h8300.h: Likewise.
6084         * config/h8300/h8300.md: Likewise.
6085         * config/i386/cygwin.h: Likewise.
6086         * config/i386/i386.h: Likewise.
6087         * config/i386/sysv3.h: Likewise.
6088         * config/i960/i960.h: Likewise.
6089         * config/ia64/ia64.h: Likewise.
6090         * config/ia64/ia64.md: Likewise.
6091         * config/ip2k/ip2k.h: Likewise.
6092         * config/m32r/m32r.h: Likewise.
6093         * config/m68k/m68k.h: Likewise.
6094         * config/m88k/m88k.h: Likewise.
6095         * config/mcore/mcore.c: Likewise.
6096         * config/mcore/mcore.h: Likewise.
6097         * config/mcore/mcore.md: Likewise.
6098         * config/mips/mips.h: Likewise.
6099         * config/mmix/mmix.h: Likewise.
6100         * config/mmix/mmix.md: Likewise.
6101         * config/ns32k/netbsd.h: Likewise.
6102         * config/ns32k/ns32k.h: Likewise.
6103         * config/ns32k/ns32k.md: Likewise.
6104         * config/pa/pa.h: Likewise.
6105         * config/romp/romp.h: Likewise.
6106         * config/rs6000/rs6000.h: Likewise.
6107         * config/rs6000/rs6000.md: Likewise.
6108         * config/sparc/sparc.h: Likewise.
6109         * config/stormy16/stormy-abi: Likewise.
6110         * config/stormy16/stormy16.h: Likewise.
6111         * config/vax/vax.h: Likewise.
6112
6113 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6114
6115         * config/alpha/alpha.h: Remove commented-out macro
6116         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
6117         * config/avr/avr.h: Likewise.
6118         * config/d30v/d30v.h: Likewise.
6119         * config/dsp16xx/dsp16xx.h: Likewise.
6120         * config/i370/i370.h: Likewise.
6121         * config/i386/i386.h: Likewise.
6122         * config/i960/i960.h: Likewise.
6123         * config/m68k/m68k.h: Likewise.
6124         * config/m88k/m88k.h: Likewise.
6125         * config/mips/mips.h: Likewise.
6126         * config/ns32k/ns32k.h: Likewise.
6127         * config/pdp11/pdp11.h: Likewise.
6128         * config/romp/romp.h: Likewise.
6129         * config/rs6000/rs6000.h: Likewise.
6130         * config/s390/s390.h: Likewise.
6131         * config/sh/sh.h: Likewise.
6132         * config/sparc/sparc.h: Likewise.
6133         * config/stormy16/stormy16.h: Likewise.
6134         * config/vax/vax.h: Likewise.
6135
6136 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
6137
6138         * function.c (push_temp_slots_for_block): Remove.
6139         (push_temp_slots_for_target): Likewise.
6140         (get_target_temp_slot_level): Likewise.
6141         (set_target_temp_slot_level): Likewise.
6142         (get_first_block_beg): Likewise.
6143         * function.h: Remove corresponding prototypes.
6144
6145 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
6146
6147         * version.c (version_string): Now const char[].
6148         * version.h: Update to match.
6149
6150 2002-09-23  Richard Henderson  <rth@redhat.com>
6151
6152         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
6153         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
6154         (TARGET_SWITCHES): Don't reference them.
6155         * config/i386/i386.c (override_options): Use target_flags_explicit
6156         to examine bits set by the user.
6157
6158 2002-09-23  Dale Johannesen  <dalej@apple.com>
6159
6160         * dbxout.c (dbxout_parms):  Set current_sym_code for params
6161         passed on stack by invisible reference.
6162
6163 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
6164
6165         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
6166         at least one byte of space.
6167
6168 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6169
6170         * c-common.h (flag_abi_version): Fix typo in comment.
6171         * doc/invoke.texi (flag_abi_version): Document default value.
6172
6173 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
6174
6175         * doc/extend.texi (Extended Asm): Clarify that overlap between
6176         asm-declared register variables used in an asm and the asm clobber
6177         list is not allowed.
6178         * stmt.c (decl_conflicts_with_clobbers_p): New function.
6179         (expand_asm_operands): Keep track of clobbered registers.  Call
6180         decl_conflicts_with_clobbers_p for each input and output operand.
6181         If no conflicts found before, also do conflict sanity check when
6182         emitting clobbers.
6183
6184 2002-09-23  Richard Henderson  <rth@redhat.com>
6185
6186         * c-common.c (cpp_define_data_format): Remove.
6187         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
6188         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
6189         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
6190         * doc/cpp.texi: Don't document them either.
6191         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
6192         __LONG_LONG_MAX__): Document.
6193         (__TARGET_FLOAT_FORMAT__): Remove.
6194
6195 2002-09-23  Richard Henderson  <rth@redhat.com>
6196
6197         * real.c (do_multiply): Normalize U before addition.
6198
6199 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
6200
6201         * c-common.c (flag_abi_version): New variable.
6202         * c-common.h (flag_abi_version): Declare it.
6203         * c-opts.c (missing_arg): Add -fabi-version.
6204         (c_common_decode_option): Process -fabi-version.
6205         * doc/invoke.texi (-fabi-version): Document it.
6206         (-Wabi): Add information about bit-fields in unions.
6207
6208 2002-09-22  Roger Sayle  <roger@eyesopen.com>
6209
6210         * expr.c (STORE_BY_PIECES_P): New target macro.
6211         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
6212         instead of MOVE_BY_PIECES_P.
6213         * doc/tm.texi: Document this new macro.
6214
6215 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6216
6217         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
6218         unless -fno-pic or -fno-PIC is specified.
6219
6220 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6221
6222         * c-common.c (preprocessing_trad_p): Define.
6223         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
6224         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
6225         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6226         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
6227         * pa-linux.h (CPP_PREDEFINES): Delete.
6228         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
6229         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
6230         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
6231         (TARGET_OS_CPP_BUILTINS): Define.
6232         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
6233         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
6234         (SUBTARGET_SWITCHES): Provide default definition.
6235         (TARGET_OPTIONS): Reformat.  Use N_() macro.
6236         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
6237         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
6238         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
6239         (TARGET_CPU_CPP_BUILTINS): Define.
6240         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
6241         * doc/invoke.texi (msio, mwsio): Document new hppa options.
6242         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
6243         preprocessing_trad_p().
6244
6245 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
6246
6247         * doc/install.texi: Document behavior of --with-headers and
6248         --with-libs when arguments are omitted.
6249
6250 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
6251
6252         * dbxout.c: Follow spelling conventions.
6253         * defaults.h: Likewise.
6254         * df.c: Likewise.
6255         * diagnostic.h: Likewise.
6256         * doloop.c: Likewise.
6257         * dwarf2out.c: Likewise.
6258         * dwarfout.c: Likewise.
6259         * emit-rtl.c: Likewise.
6260         * except.c: Likewise.
6261         * explow.c: Likewise.
6262         * expmed.c: Likewise.
6263         * expr.c: Likewise.
6264         * expr.h: Likewise.
6265         * flags.h: Likewise.
6266         * flow.c: Likewise.
6267         * fold-const.c: Likewise.
6268         * function.c: Likewise.
6269         * function.h: Likewise.
6270         * gcc.c: Likewise.
6271         * gcov-io.h: Likewise.
6272         * gcov.c: Likewise.
6273         * gcse.c: Likewise.
6274         * genattrtab.c: Likewise.
6275         * genconfig.c: Likewise.
6276         * genrecog.c: Likewise.
6277         * ggc-page.c: Likewise.
6278         * ggc.h: Likewise.
6279         * global.c: Likewise.
6280         * gthr-win32.h: Likewise.
6281         * integrate.c: Likewise.
6282         * jump.c: Likewise.
6283         * langhooks.c: Likewise.
6284         * langhooks.h: Likewise.
6285         * line-map.h: Likewise.
6286         * local-alloc.c: Likewise.
6287         * longlong.h: Likewise.
6288         * loop.c: Likewise.
6289         * loop.h: Likewise.
6290
6291 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
6292
6293         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
6294
6295 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
6296
6297         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
6298         for -Os/TARGET_64BIT too.
6299
6300 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
6301
6302         * ChangeLog: Follow spelling conventions.
6303         * ChangeLog.0: Likewise.
6304         * ChangeLog.1: Likewise.
6305         * ChangeLog.2: Likewise.
6306         * ChangeLog.3: Likewise.
6307         * ChangeLog.4: Likewise.
6308         * ChangeLog.5: Likewise.
6309         * ChangeLog.6: Likewise.
6310         * FSFChangeLog.10: Likewise.
6311         * FSFChangeLog.11: Likewise.
6312         * alias.c: Likewise.
6313         * basic-block.h: Likewise.
6314         * c-aux-info.c: Likewise.
6315         * c-common.c: Likewise.
6316         * c-common.h: Likewise.
6317         * c-decl.c: Likewise.
6318         * c-format.c: Likewise.
6319         * c-semantics.c: Likewise.
6320         * c-typeck.c: Likewise.
6321         * calls.c: Likewise.
6322         * cfganal.c: Likewise.
6323         * cfgloop.c: Likewise.
6324         * collect2.c: Likewise.
6325         * combine.c: Likewise.
6326         * conflict.c: Likewise.
6327         * cppexp.c: Likewise.
6328         * cppfiles.c: Likewise.
6329         * cpphash.h: Likewise.
6330         * cppinit.c: Likewise.
6331         * cpplex.c: Likewise.
6332         * cpplib.c: Likewise.
6333         * cpplib.h: Likewise.
6334         * cppmacro.c: Likewise.
6335         * cse.c: Likewise.
6336
6337 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6338
6339         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
6340         LINK_SPEC.
6341         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
6342         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
6343         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
6344
6345 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
6346
6347         PR opt/7930
6348         * cse.c (fold_rtx): Calculate old_cost before we fold each
6349         operand.
6350
6351 2002-09-21  Richard Henderson  <rth@redhat.com>
6352
6353         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
6354         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
6355         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
6356         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
6357         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
6358         * doc/cpp.texi: Don't document them.
6359
6360 2002-09-21  Richard Henderson  <rth@redhat.com>
6361
6362         * c-common.c (builtin_define_float_constants): Use real_format
6363         to get the floating-point parameters.
6364
6365 2002-09-21  Richard Henderson  <rth@redhat.com>
6366
6367         * real.c (struct real_format): Move to real.h.
6368         (real_format_for_mode): Rename from fmt_for_mode; update all users;
6369         initialize with ieee defaults.
6370         (real_to_target_fmt, real_from_target_fmt): New.
6371         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6372         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6373         ieee_quad_format, i370_single_format, i370_double_format,
6374         c4x_single_format, c4x_extended_format): Rename from s/_format//.
6375         (ieee_quad_format): Fix emin.
6376         (format_for_size, init_real_once): Remove.
6377         * real.h (struct real_format): Move from real.c.
6378         (real_format_for_mode): Declare.
6379         (real_to_target_fmt, real_from_target_fmt): Declare.
6380         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
6381         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6382         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
6383         i370_single_format, i370_double_format, c4x_single_format,
6384         c4x_extended_format): Declare.
6385         * toplev.c (do_compile): Don't call init_real_once.
6386
6387         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6388         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6389
6390         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
6391         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
6392         * config/alpha/alpha.c (override_options): Set real_format_for_mode
6393         for VAX, if enabled.
6394
6395         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
6396         for C4X.
6397
6398         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
6399         * config/i370/i370.c (override_options): New.
6400         * config/i370/i370-protos.h: Update.
6401
6402         * config/i386/i386.c (override_options): Set real_format_for_mode
6403         for Intel 80-bit extended.
6404         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
6405
6406         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
6407         (OVERRIDE_OPTIONS): Move code...
6408         * config/i960/i960.c (i960_initialize): ... here.  Set
6409         real_format_for_mode for Intel 80-bit extended.
6410
6411         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
6412         for Intel 80-bit extended, if enabled.
6413
6414         * config/m68k/m68k.c (override_options): Set real_format_for_mode
6415         for Motorola 96-bit extended.
6416
6417         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
6418         * config/vax/vax.c (override_options): New.
6419         * config/vax/vax-protos.h: Update.
6420
6421 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
6422
6423         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
6424         #if TARGET_MACHO.
6425
6426         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
6427         insns.  Supply missing clobber of scratch reg.
6428
6429 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
6430
6431         * config/m32r/m32r.c: Follow spelling conventions.
6432         * config/m32r/m32r.h: Likewise.
6433         * config/m32r/m32r.md: Likewise.
6434         * config/m68k/m68k.c: Likewise.
6435         * config/m88k/m88k.c: Likewise.
6436         * config/mcore/mcore.c: Likewise.
6437         * config/mips/mips.c: Likewise.
6438         * config/mips/mips.h: Likewise.
6439         * config/mmix/mmix.c: Likewise.
6440         * config/mn10200/mn10200.c: Likewise.
6441         * config/ns32k/ns32k.h: Likewise.
6442         * config/pa/pa.c: Likewise.
6443         * config/pa/pa64-linux.h: Likewise.
6444         * config/pdp11/pdp11.h: Likewise.
6445         * config/romp/romp.c: Likewise.
6446         * config/romp/romp.h: Likewise.
6447         * config/rs6000/eabi.asm: Likewise.
6448         * config/rs6000/linux64.h: Likewise.
6449         * config/rs6000/rs6000.c: Likewise.
6450         * config/rs6000/rs6000.h: Likewise.
6451         * config/rs6000/rs6000.md: Likewise.
6452         * config/rs6000/sysv4.h: Likewise.
6453         * config/rs6000/xcoff.h: Likewise.
6454
6455 2002-09-20  Jim Wilson  <wilson@redhat.com>
6456
6457         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
6458
6459 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6460
6461         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
6462         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
6463         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
6464         (legitimate_address_p): Likewise.
6465         (legitimize_address): Use @gotntpoff and @indntpoff.
6466         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
6467         (output_addr_const_extra): Likewise.
6468
6469 2002-09-20  Jim Wilson  <wilson@redhat.com>
6470
6471         * combine.c (try_combine): When split an instruction pair, where the
6472         first has a sign_extend src, verify that the src and dest modes match.
6473
6474 2002-09-20  Richard Henderson  <rth@redhat.com>
6475
6476         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
6477         (override_options): Do not initialize them.
6478         (mips_const_double_ok): Allow no fp constants except zero,
6479         and not even that for mips16.
6480         (const_float_1_operand): Use dconst1.
6481         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
6482         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6483         Don't allow arbitrary constants; fix predicates and C constraint.
6484
6485 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
6486
6487         * cppmacro.c: Don't warn about function-like macros without
6488         '(' during pre-expansion.
6489
6490 2002-09-20  Jim Wilson  <wilson@redhat.com>
6491
6492         * config/v850/v850.c (current_function_anonymous_args): Delete.
6493         (expand_prologue): Use current_function_args_info.anonymous_args.
6494         (expand_epilogue): Delete use of current_function_anonymous_args.
6495         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
6496         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
6497         (current_function_anonymous_args): Delete extern declaration.
6498         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
6499
6500 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
6501
6502         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
6503         to load_macho_picbase.
6504         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
6505         (load_macho_picbase): Take the symbol to use as a parameter.
6506         (macho_correct_pic): New insn.
6507         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
6508
6509         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
6510         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
6511         (CAN_ELIMINATE): Likewise.
6512         (INITIAL_ELIMINATION_OFFSET): Likewise.
6513         (TOC_REGISTER): Likewise.
6514
6515 2002-09-20  Richard Henderson  <rth@redhat.com>
6516
6517         * real.c (real_hash): New.
6518         * real.h: Declare it.
6519         * cse.c (canon_hash): Use it.
6520         * cselib.c (hash_rtx): Likewise.
6521         * emit-rtl.c (const_double_htab_hash): Likewise.
6522         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
6523         * varasm.c (struct rtx_const): Reduce vector size; separate
6524         integer and fp vectors.
6525         (HASHBITS): Remove.
6526         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
6527         take modulus MAX_HASH_TABLE.
6528         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
6529         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
6530         (SYMHASH): Don't use HASHBITS.
6531         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
6532         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
6533         (simplify_subtraction): Fix kind comparison.
6534         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
6535         Use a union to pun integer array.
6536         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
6537         only hash two words of integral CONST_DOUBLE.
6538
6539 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
6540
6541         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
6542         (STARTFILE_PREFIX_SPEC): New.
6543         (LINK_SPEC): Modify.
6544         (LIB_SPEC): Modify.
6545         (LIBGCC_SPEC): New.
6546
6547 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
6548
6549         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
6550         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
6551
6552 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6553
6554         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
6555         Add clobber of the condition code register.
6556
6557 2002-09-20  Richard Henderson  <rth@redhat.com>
6558
6559         * real.c (do_fix_trunc): Static.
6560         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
6561         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
6562         encode_i370_single, encode_i370_double, encode_c4x_single,
6563         encode_c4x_extended): Add default abort case.
6564
6565 2002-09-20  Richard Henderson  <rth@redhat.com>
6566
6567         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
6568         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
6569         (struct realvaluetype): Remove.
6570         (REAL_VALUE_TYPE): Use struct real_value.
6571         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
6572         (test_real_width): New.
6573         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
6574         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
6575         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
6576         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
6577         real_to_integer, real_to_integer2, real_to_decimal,
6578         real_to_hexadecimal, real_from_string, real_from_integer,
6579         real_inf, real_nan, real_2expN, real_convert, real_to_target,
6580         real_from_target): Likewise.
6581         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
6582         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
6583
6584 2002-09-20  Richard Henderson  <rth@redhat.com>
6585
6586         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
6587         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
6588         * defaults.h: ... here.
6589         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
6590         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
6591         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
6592         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
6593
6594 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
6595
6596         * config/mmix/mmix.md ("negdf2"): Rewrite.
6597         ("*expanded_negdf2"): New.
6598
6599 2002-09-19  Jim Wilson  <wilson@redhat.com>
6600
6601         * combine.c (simplify_set): When optimizing a subreg src with a
6602         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
6603
6604 2002-09-19  Dale Johannesen <dalej@apple.com>
6605         * combine.c (make_extraction): Don't create
6606         invalid subreg.
6607
6608 2002-09-19  Roger Sayle  <roger@eyesopen.com>
6609
6610         * tree.c (integer_nonzerop): New predicate for nonzero integers.
6611         * tree.h (integer_nonzerop): Add function prototype.
6612         * stmt.c (expand_end_loop):  Don't rotate the loop when there
6613         are no instructions in the test, i.e. the loop is unconditional.
6614         (expand_exit_loop_if_false):  Optimize RTL generation of loop
6615         tests when the condition is always true or always false.
6616         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
6617         do-loops when the condition is always true.
6618         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
6619         the for-expression is empty.
6620
6621 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
6622
6623         * gcc.c (use_pipes): New flag.
6624         (process_command): Set it.  Adjust check for -pipe conflicting
6625         with -time or -save-temps.
6626         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
6627         %<SWITCH.  Drop %| (without a SUFFIX).
6628         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
6629         (give_switch): Third argument eliminated.
6630         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
6631         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
6632         (specs documentation comment): Update.
6633
6634         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
6635         config/svr4.h, config/i386/freebsd-aout.h,
6636         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
6637         config/m68k/openbsd.h, config/mips/openbsd.h,
6638         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
6639         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
6640         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
6641         * config/cris/cris.h: Update comment.
6642
6643         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
6644         error messages.  Don't use %{^SWITCH}.
6645         * ada/misc.c (gnat_decode_option): Handle -I with a
6646         separate argument.
6647
6648         * f/lang-specs.h: Use %| and %m.
6649         * java/jvspec.c: Use %m and %(invoke_as).  Change all
6650         uses of %{<SWITCH} to %<SWITCH.
6651
6652         * doc/invoke.texi: Update documentation of specs.
6653         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
6654
6655 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
6656
6657         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
6658         and STRICT_LOW_PART within SET_DEST.
6659         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
6660         splitters, replacing pre-reload splitters.
6661         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
6662         "*zero_extendqihi2_31"): New insns.
6663         ("*zero_extendqihi2_64"): Do not clobber CC.
6664
6665 2002-09-18  Devang Patel  <dpatel@apple.com>
6666
6667         * cp/cp-tree.h: New prototype for walk_vtables().
6668         * cp/decl.c (walk_vtables_r): New function.
6669         (struct cp_binding_level): Add new members, namespaces,
6670         names_size and vtables.
6671         (add_decl_to_level): Add decl in namespaces or vtables
6672         chain, if conditions match.
6673         (walk_vtables): New function.
6674         (walk_namespaces_r): Travers separate namespace chain
6675         for namespace decls.
6676         (wrapup_globals_for_namespace): Use names_size instead
6677         of list_length().
6678         * cp/decl2.c (finish_file): Use walk_vtables() instead of
6679         walk_globals() to walk vtable decls.
6680
6681 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
6682
6683         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
6684         (DTORS_SECTION_ASM_OP): Ditto.
6685         (READONLY_DATA_SECTION_ASM_OP): Moved.
6686         (DATA_SECTION_ASM_OP): New.
6687         (SDATA_SECTION_ASM_OP): New.
6688         (BSS_SECTION_ASM_OP): New.
6689         (SBSS_SECTION_ASM_OP): New.
6690         (TEXT_SECTION_ASM_OP): New.
6691
6692 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
6693
6694         * config/fp-bit.c: Follow spelling conventions.
6695         * config/d30v/d30v.c: Likewise.
6696         * config/d30v/d30v.h: Likewise.
6697         * config/fr30/fr30.c: Likewise.
6698         * config/fr30/fr30.h: Likewise.
6699         * config/fr30/fr30.md: Likewise.
6700         * config/frv/frv.c: Likewise.
6701         * config/frv/frv.h: Likewise.
6702         * config/h8300/h8300.c: Likewise.
6703         * config/h8300/lib1funcs.asm: Likewise.
6704         * config/i370/i370.c: Likewise.
6705         * config/i386/i386.h: Likewise.
6706         * config/i386/i386.md: Likewise.
6707         * config/i386/pentium.md: Likewise.
6708         * config/i386/winnt.c: Likewise.
6709         * config/i960/i960.c: Likewise.
6710         * config/ia64/ia64.h: Likewise.
6711         * config/ip2k/ip2k.c: Likewise.
6712         * config/ip2k/ip2k.h: Likewise.
6713         * config/ip2k/ip2k.md: Likewise.
6714         * config/ip2k/libgcc.S: Likewise.
6715
6716 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
6717
6718         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
6719         (GOTOFF_P): Extend to allow gotoff plus constant.
6720
6721 2002-09-18  Richard Henderson  <rth@redhat.com>
6722
6723         * ifcvt.c (noce_process_if_block): Correctly detect X modified
6724         with INSN_B before COND_EARLIEST.  Don't check A and B for
6725         modification in condition range.  Reorder INSN_B for A==B properly.
6726         (if_convert): Iterate until no matches for a block.
6727
6728 2002-09-18  Richard Henderson  <rth@redhat.com>
6729
6730         * calls.c (store_one_arg): Rename default_align to parm_align;
6731         always adjust parm_align for downward padding.
6732
6733 2002-09-18  Richard Henderson  <rth@redhat.com>
6734
6735         * toplev.c (backend_init): Move init_real_once invocation ...
6736         (do_compile): ... here.
6737
6738 2002-09-18  Richard Henderson  <rth@redhat.com>
6739
6740         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
6741         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
6742
6743 2002-09-18  Richard Henderson  <rth@redhat.com>
6744
6745         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
6746
6747 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
6748
6749         * config/rs6000/rs6000.md: (floatdisf2): Rename to
6750         floatdisf2_internal1.
6751         (floatdisf2): New define_expand.
6752         (floatdisf2_internal2): Likewise.
6753
6754 2002-09-18  Richard Henderson  <rth@redhat.com>
6755
6756         * real.c (sticky_rshift_significand): Collect sticky as
6757         unsigned long, not bool.
6758
6759 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
6760
6761         * config/s390/s390.c (s390_address_cost): New function.
6762         config/s390/s390-protos.h (s390_address_cost): Add prototype.
6763         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
6764         (RTX_COST): Use COSTS_N_INSNS.
6765
6766 2002-09-18  Douglas Rupp  <rupp@gnat.com>
6767             Donn Terry  <donnte@microsoft.com>
6768
6769         * stor-layout.c (place_field): Handle alignment of whole
6770         structures when MSVC compatible bitfields are involved.
6771         Change method of computing location of MS bitfields to
6772         be compatible with #pragma pack(n).
6773
6774         * tree.h (record_layout_info): Add new field
6775         remaining_in_alignment.
6776
6777         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
6778         (pragma pack): Add paragraph on MSVC bitfield packing.
6779
6780 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
6781
6782         PR optimization/7967
6783         * arm.md (ne_zeroextractsi): Add clobber of the condition code
6784         register.
6785
6786 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
6787
6788         * config/s390/s390.c: Follow spelling conventions.
6789         * config/sh/lib1funcs.asm: Likewise.
6790         * config/sh/sh.c: Likewise.
6791         * config/sh/sh.h: Likewise.
6792         * config/sparc/sparc.c: Likewise.
6793         * config/sparc/sparc.h: Likewise.
6794         * config/sparc/sparc.md: Likewise.
6795         * config/stormy16/stormy16.c: Likewise.
6796         * config/stormy16/stormy16.h: Likewise.
6797         * config/v850/v850.c: Likewise.
6798         * config/v850/v850.h: Likewise.
6799         * config/vax/vax.c: Likewise.
6800         * config/vax/vax.h: Likewise.
6801
6802 2002-09-18  Nick Clifton  <nickc@redhat.com>
6803
6804         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
6805         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
6806         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
6807
6808 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6809
6810         * function.c (max_parm_reg_num): Remove.
6811         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
6812         drop_through_at_end_p, move_cleanups_up,
6813         expand_end_case_dummy, case_index_expr_type): Likewise.
6814         * stor-layout.c (pos_from_byte): Likewise.
6815         * tree.c (chain_member_value, chain_member_purpose, listify,
6816         tree_int_cst_msb, index_type_equal): Likewise.
6817         * tree.h: Remove prototypes for unused functions.
6818
6819 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
6820
6821         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
6822         statement that the only translation is to en_UK.
6823
6824 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6825
6826         * config/alpha/alpha.c: Follow spelling conventions.
6827         * config/alpha/alpha.h: Likewise.
6828         * config/alpha/alpha.md: Likewise.
6829         * config/arc/arc.h: Likewise.
6830         * config/arm/arm.c: Likewise.
6831         * config/arm/arm.h: Likewise.
6832         * config/arm/arm.md: Likewise.
6833         * config/arm/pe.c: Likewise.
6834         * config/arm/unknown-elf.h: Likewise.
6835         * config/avr/avr.c: Likewise.
6836         * config/avr/avr.h: Likewise.
6837         * config/c4x/c4x.c: Likewise.
6838         * config/cris/cris.c: Likewise.
6839         * config/cris/cris.h: Likewise.
6840
6841 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
6842
6843         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
6844         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
6845         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
6846
6847 2002-09-17  Dale Johannesen  <dalej@apple.com>
6848
6849         * cfgcleanup.c (try_forward_edges):  Do not forward a
6850         branch to just after a loop exit before loop optimization;
6851         this interfered with doloop detection.
6852
6853 2002-09-17  Nick Clifton  <nickc@redhat.com>
6854
6855         * config/arm/arm.c (output_return_instruction): Do not
6856         writeback the stack pointer when it is being loaded.
6857         (arm_output_epilogue): Likewise.
6858
6859 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
6860
6861         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
6862         generate a pseudo reg that receives the result of a libcall.
6863         (prepare_float_lib_cmp): Likewise.
6864
6865 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
6866
6867         * config/ia64/elf.h: Remove CPP_PREDEFINES.
6868
6869 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6870
6871         Fix PR/7014 and related objc bugs:
6872         * c-typeck.c (comp_target_types): Added a reflexive argument.
6873         Pass it to ObjC when/if calling objc_comptypes().  Updated all
6874         callers to provide the appropriate reflexive argument.
6875         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
6876         typechecking for all cases of comparisons and assignments,
6877         particularly the obscure and less common ones involving protocols.
6878
6879 2002-09-17  Nick Clifton  <nickc@redhat.com>
6880
6881         * machmode.def (V1DImode): New mode.  A single element vector.
6882         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
6883         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
6884         * tree.c (build_common_tree_nodes_2): Build
6885         unsigned_V1DI_type_node and V1D1_type_node.
6886         * c-common.c (c_common_type_for_mode): Return
6887         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
6888         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
6889
6890 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6891
6892         * doc/objc.texi (Constant string objects): Extended documentation
6893         to make clear that the constant string class ivar layout is
6894         completely fixed.
6895
6896 2002-09-17  Roger Sayle  <roger@eyesopen.com>
6897
6898         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
6899         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
6900
6901 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6902
6903         * config/mips/mips.c (save_restore_insns): Remove unused variable.
6904         * gcc.c (make_relative_prefix): Likewise.
6905         * loop.c (check_final_value): Likewise.
6906         * jump.c (init_label_info): Remove return value.
6907         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
6908
6909 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6910
6911         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
6912         (ASM_PN_FORMAT): Define.
6913
6914 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6915
6916         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
6917         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
6918         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
6919         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
6920         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
6921         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
6922         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
6923         Delete.
6924         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
6925         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
6926         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
6927
6928         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
6929         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
6930
6931 2002-09-16  Richard Henderson  <rth@redhat.com>
6932
6933         * expr.c (emit_block_move): Set memory block size as appropriate
6934         for the copy.
6935
6936 2002-09-16  Richard Henderson  <rth@redhat.com>
6937
6938         PR fortran/3924
6939         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
6940
6941 2002-09-16  Richard Henderson  <rth@redhat.com>
6942
6943         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
6944         as well as OFFSET for BITPOS.
6945
6946 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
6947
6948         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
6949         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
6950         winchip2 and c3.
6951         * doc/invoke.texi: Mention new aliases.
6952
6953 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6954
6955         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
6956         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
6957         downward.
6958         * function.c (pad_below):  Always compile.
6959         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
6960         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
6961         Pad below when the argument is not in a register and the padding
6962         direction is downward.
6963
6964         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
6965         (PAD_VARARGS_DOWN): Define.
6966         * pa.c (function_arg_padding): Revise padding directions to make them
6967         compatible with the 32 and 64-bit runtime architecture documentation.
6968         (hppa_va_arg):  Add code to handle variable and size zero arguments
6969         passed by reference on TARGET_64BIT.  Reformat.
6970         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
6971         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
6972         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
6973         Add comments.
6974         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
6975         (RETURN_IN_MEMORY): Return size zero types in memory.
6976         (FUNCTION_VALUE): Return TFmode in general registers.
6977         (MUST_PASS_IN_STACK): Define.
6978         (FUNCTION_ARG_BOUNDARY): Simplify.
6979         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
6980         by reference.
6981         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
6982
6983 2002-09-16  Richard Henderson  <rth@redhat.com>
6984
6985         * real.c (do_fix_trunc): New.
6986         (real_arithmetic): Call it.
6987         * simplify-rtx.c (simplify_unary_operation): Handle FIX
6988         with a floating-point result mode.
6989
6990 2002-09-16  Richard Henderson  <rth@redhat.com>
6991
6992         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
6993         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
6994         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
6995         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
6996         * builtins.c (fold_builtin_nan): New.
6997         (fold_builtin): Call it.
6998         * real.c (real_nan): Parse a non-empty string.
6999         (round_for_format): Fix NaN significand truncation.
7000         * real.h (real_nan): Return bool.
7001         * doc/extend.texi: Document new builtins.
7002
7003 2002-09-16  Jason Merrill  <jason@redhat.com>
7004             Danny Smith  <dannysmith@users.sourceforge.net>
7005
7006         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
7007         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
7008         (i386_pe_mark_dllimport): Not here.
7009
7010 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
7011
7012         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
7013
7014 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
7015
7016         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
7017         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
7018         < 64.
7019         (rs6000_emit_cmove): Use real_isinf not target_isinf.
7020
7021 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7022
7023         * calls.c (emit_library_call_value_1): Don't refer to
7024         hard_libcall_value.
7025         * optabs.c (prepare_float_lib_cmp): Likewise.
7026
7027 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
7028
7029         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
7030         mangling.
7031
7032         The following changes are merged from pch-branch:
7033
7034         * doc/gty.texi (GTY Options): Document %a.
7035         * gengtype.c (do_scalar_typedef): New function.
7036         (process_gc_options): Handle `length' option.
7037         (set_gc_used_type): A pointer to an array of structures doesn't
7038         qualify as a pointer to a structure.
7039         (output_escaped_param): Add `%a' escape.
7040         (write_gc_structure_fields): Allow 'desc' on array of unions.
7041         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
7042         do_scalar_typedef.
7043
7044         * gengtype.c (enum rtx_code): Make global.
7045         (rtx_format): Make global.
7046         (rtx_next): New.
7047         (gen_rtx_next): New.
7048         (write_rtx_next): New.
7049         (adjust_field_rtx_def): Skip fields marked by chain_next.
7050         (open_base_files): Delete redundant prototype.
7051         (write_enum_defn): New.
7052         (output_mangled_typename): Correct abort call.
7053         (write_gc_marker_routine_for_structure): Handle chain_next and
7054         chain_prev options.
7055         (finish_root_table): Don't output redundant \n.
7056         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
7057         * c-tree.h (union lang_tree_node): Add chain_next option.
7058
7059         * gengtype.h (NUM_PARAM): New definition.
7060         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
7061         * gengtype.c (find_param_structure): New.
7062         (adjust_field_type): Handle param<n>_is option.
7063         (process_gc_options): Detect use_params option.  Update callers.
7064         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
7065         'use_params' option.
7066         (open_base_files): Add splay-tree.h to list of files included.
7067         (output_mangled_typename): New.
7068         (write_gc_structure_fields): Update 'param' parameter to support
7069         multiple parameters.  Change name mangling.  Allow parameterized
7070         fields to have an apparent scalar type.  Handle param<n>_is options,
7071         use_param option.
7072         (write_gc_marker_routine_for_structure): Update for change to name
7073         mangling.  Better guess the output file for parameterized types.
7074         (write_gc_types): Update for change to name mangling.
7075         (write_gc_root): Update for change to name mangling.  Handle (ignore)
7076         param<n>_is options.
7077         * doc/gty.texi (GTY Options): Add description of param<n>_is
7078         options, use_params option.
7079         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
7080         * gengtype-lex.l: Produce token for param<n>_is.
7081         * gengtype-yacc.y: Parse param<n>_is.
7082
7083         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
7084
7085         * rtl.c: Update comment describing rtx_format.
7086         * rtl.h (union rtunion): Separate definition and typedef.
7087         (struct rtx_def): Use gengtype to mark.
7088         * Makefile.in (gengtype.o): Also depend on rtl.def.
7089         * ggc.h (ggc_mark_rtx_children): Delete prototype.
7090         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
7091         * ggc-common.c (ggc_mark_rtx_children): Delete.
7092         (ggc_mark_rtx_children_1): Delete.
7093         (gt_ggc_m_rtx_def): Delete.
7094         * gengtype.c (adjust_field_rtx_def): New.
7095         (adjust_field_type): Call adjust_field_rtx_def.
7096         (write_gc_structure_fields): Add 'default' case to switch if none
7097         is specified; remove unused code.
7098
7099         * tree.h (struct tree_exp): Update for change to meaning
7100         of special.
7101         * gengtype.c (adjust_field_tree_exp): New function.
7102         (adjust_field_type): Handle `tree_exp' special here.
7103         (write_gc_structure_fields): Don't handle `tree_exp' special here.
7104         Handle new `dot' option.
7105
7106         * gengtype.h: Make `info' a pointer-to-const.
7107         * gengtype-yacc.y (yacc_ids): Use xasprintf.
7108
7109         * gengtype.c (write_gc_structure_fields): Remove implementation
7110         of `always' option, add `default' option.
7111         * doc/gty.texi (GTY Options): Remove documentation of `always',
7112         add `default'.
7113
7114 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
7115
7116         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
7117
7118 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7119
7120         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
7121
7122         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
7123         instead of the *-protos.h file directly.
7124         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
7125         * darwin.c (machopic_output_stub): Move prototype ...
7126         * darwin-protos.h (machopic_output_stub): ... here.
7127         * rs6000-protos.h (machopic_output_stub): Don't declare.
7128
7129 2002-09-16  Richard Henderson  <rth@redhat.com>
7130
7131         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
7132
7133 2002-09-16  Richard Henderson  <rth@redhat.com>
7134
7135         * real.c, real.h: Rewrite from scratch.
7136
7137         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
7138         (paranoia): New target.
7139         * builtins.c (fold_builtin_inf): Use new real.h interface.
7140         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
7141         * c-lex.c (interpret_float): Likewise.
7142         * emit-rtl.c (gen_lowpart_common): Likewise.
7143         * optabs.c (expand_float): Use real_2expN.
7144         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
7145         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
7146         (FLOAT_WORDS_BIG_ENDIAN): New.
7147         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
7148         directly to REAL_VALUE_NEGATIVE.
7149         * loop.c (canonicalize_condition): Likewise.
7150         * simplify-rtx.c: Include tree.h.
7151         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
7152         with floating-point result modes.
7153         * toplev.c (backend_init): Call init_real_once.
7154
7155         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
7156         * tree.c (build_real): Likewise.
7157         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
7158         float_values, inited_float_values, check_float_value): Remove.
7159         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
7160         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
7161         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
7162         (VAX_HALFWORD_ORDER): Remove.
7163
7164 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
7165
7166         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
7167         (s390_load_address): ... this new function.
7168         (s390_decompose_address): Allow the argument pointer and all
7169         virtual registers as 'pointer' registers.
7170         (s390_expand_plus_operand): Use s390_load_address.
7171         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
7172         ("force_la_31"): New insn pattern.
7173         config/s390/s390-protos.h (legitimize_la_operand): Remove.
7174         (s390_load_address): Add prototype.
7175
7176         * config/s390/s390.c: Include "optabs.h".
7177         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
7178         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
7179         s390_expand_cmpstr): Add prototypes.
7180         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
7181         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
7182         for operands 0 and 1 to "memory_operand".  Add type attribute.
7183         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
7184         for operands 0 and 1 to "memory_operand".  Add type attribute.
7185         ("movstrdi_long", "movstrsi_long"): Remove.
7186         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
7187         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
7188         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
7189         ("clrstrsico"): Remove, replace by ...
7190         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
7191         ("clrstrsi_64"): Rename to "clrstr_long_64".
7192         ("clrstrsi_31"): Rename to "clrstr_long_31".
7193         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
7194         ("cmpstr_const"): Remove, replace by ...
7195         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
7196         ("cmpstr_64"): Rename to "cmpstr_long_64".
7197         ("cmpstr_31"): Rename to "cmpstr_long_31".
7198
7199 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
7200
7201         * ABOUT-NLS: Follow spelling conventions.
7202         * ChangeLog: Likewise.
7203         * ChangeLog.1: Likewise.
7204         * ChangeLog.2: Likewise.
7205         * ChangeLog.3: Likewise.
7206         * ChangeLog.4: Likewise.
7207         * ChangeLog.5: Likewise.
7208         * ChangeLog.6: Likewise.
7209         * FSFChangeLog.10: Likewise.
7210         * FSFChangeLog.11: Likewise.
7211         * c-common.c: Likewise.
7212         * c-lex.c: Likewise.
7213         * c-objc-common.c: Likewise.
7214         * cppexp.c: Likewise.
7215         * cppinit.c: Likewise.
7216         * cpplex.c: Likewise.
7217         * doloop.c: Likewise.
7218         * flow.c: Likewise.
7219         * function.c: Likewise.
7220         * integrate.c: Likewise.
7221         * loop.c: Likewise.
7222         * reg-stack.c: Likewise.
7223         * reload.h: Likewise.
7224         * ssa.c: Likewise.
7225
7226 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7227
7228         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
7229         * vmsdbgout.c: Include "target.h".
7230
7231 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7232
7233         * ChangeLog: Follow spelling conventions.
7234         * ChangeLog.0: Likewise.
7235         * ChangeLog.1: Likewise.
7236         * ChangeLog.2: Likewise.
7237         * ChangeLog.4: Likewise.
7238         * ChangeLog.6: Likewise.
7239         * config.gcc: Likewise.
7240         * dwarfout.c: Likewise.
7241         * reload1.c: Likewise.
7242         * simplify-rtx.c: Likewise.
7243         * unwind-sjlj.c: Likewise.
7244         * config/avr/avr.h: Likewise.
7245         * config/d30v/d30v.h: Likewise.
7246         * config/frv/frv.c: Likewise.
7247         * config/frv/frv.h: Likewise.
7248         * config/ip2k/ip2k.h: Likewise.
7249         * config/m88k/m88k-move.sh: Likewise.
7250         * config/stormy16/stormy16.c: Likewise.
7251         * config/stormy16/stormy16.h: Likewise.
7252         * doc/extend.texi: Likewise.
7253         * doc/interface.texi: Likewise.
7254         * doc/invoke.texi: Likewise.
7255         * doc/md.texi: Likewise.
7256         * doc/rtl.texi: Likewise.
7257         * doc/tm.texi: Likewise.
7258         * doc/trouble.texi: Likewise.
7259         * ginclude/float.h: Likewise.
7260         * treelang/treelang.texi: Likewise.
7261
7262 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7263
7264         * i386-protos.h (i386_pe_dllexport_name_p,
7265         i386_pe_dllimport_name_p, i386_pe_unique_section,
7266         i386_pe_declare_function_type, i386_pe_record_external_function,
7267         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
7268         prototype.
7269         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
7270         * i386/t-interix (winnt.o): Likewise.
7271
7272         * v850-protos.h (v850_output_addr_const_extra): Prototype.
7273
7274 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7275
7276         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
7277         MIPS ABI CPP macros.
7278         (TARGET_CPU_CPP_BUILTINS): Redefine.
7279         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
7280         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
7281
7282 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7283
7284         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
7285
7286 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7287
7288         * ChangeLog: Follow spelling conventions.
7289         * ChangeLog.0: Likewise.
7290         * ChangeLog.1: Likewise.
7291         * ChangeLog.2: Likewise.
7292         * ChangeLog.3: Likewise.
7293         * ChangeLog.4: Likewise.
7294         * ChangeLog.5: Likewise.
7295         * ChangeLog.6: Likewise.
7296         * FSFChangeLog.10: Likewise.
7297         * FSFChangeLog.11: Likewise.
7298         * c-common.c: Likewise.
7299         * c-common.h: Likewise.
7300         * c-format.c: Likewise.
7301         * c-opts.c: Likewise.
7302         * cpplib.c: Likewise.
7303         * langhooks.h: Likewise.
7304         * real.c: Likewise.
7305         * reg-stack.c: Likewise.
7306         * toplev.c: Likewise.
7307         * config/arm/arm.c: Likewise.
7308         * config/arm/arm.md: Likewise.
7309         * config/arm/linux-gas.h: Likewise.
7310         * config/arm/netbsd.h: Likewise.
7311         * config/c4x/c4x.c: Likewise.
7312         * config/c4x/c4x.h: Likewise.
7313         * config/c4x/c4x.md: Likewise.
7314         * config/c4x/libgcc.S: Likewise.
7315         * config/fr30/fr30.md: Likewise.
7316         * config/frv/frv.md: Likewise.
7317         * config/ia64/ia64.md: Likewise.
7318         * config/mips/mips.h: Likewise.
7319         * config/mn10300/mn10300.c: Likewise.
7320         * config/stormy16/stormy16.c: Likewise.
7321         * config/v850/v850.md: Likewise.
7322         * doc/extend.texi: Likewise.
7323         * doc/invoke.texi: Likewise.
7324         * doc/md.texi: Likewise.
7325
7326 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7327
7328         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
7329         library if -pthread is specified.
7330
7331 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
7332
7333         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
7334         for --enable-threads=yes and --enable-threads=posix.
7335
7336 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7337
7338         * config/sparc/cypress.md: Replace Sparc with SPARC.
7339         * config/sparc/freebsd.h: Likewise.
7340         * config/sparc/gmon-sol2.c: Likewise.
7341         * config/sparc/hypersparc.md: Likewise.
7342         * config/sparc/lb1spc.asm: Likewise.
7343         * config/sparc/lb1spl.asm: Likewise.
7344         * config/sparc/linux.h: Likewise.
7345         * config/sparc/linux64.h: Likewise.
7346         * config/sparc/lynx.h: Likewise.
7347         * config/sparc/sol2.h: Likewise.
7348         * config/sparc/sparc-modes.def: Likewise.
7349         * config/sparc/sparc.c: Likewise.
7350         * config/sparc/sparc.h: Likewise.
7351         * config/sparc/sparc.md: Likewise.
7352         * config/sparc/sparclet.md: Likewise.
7353         * config/sparc/supersparc.md: Likewise.
7354         * config/sparc/sysv4.h: Likewise.
7355         * config/sparc/vxsim.h: Likewise.
7356         * config/sparc/vxsparc64.h: Likewise.
7357
7358 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7359
7360         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
7361         * collect2.c (ignore_library, aix_std_libs): Move into the context
7362         where it is used.
7363         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
7364         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
7365         * m88k.c (output_call): Wrap variables with macro controlling use.
7366         * rs6000.md: Likewise.  Const-ify variable.
7367         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
7368         * final.c (only_leaf_regs_used): Likewise.
7369         * regrename.c (maybe_mode_change): Mark parameter with
7370         ATTRIBUTE_UNUSED.
7371         * reload.c (find_valid_class): Likewise.  Likewise for variable.
7372         (find_reloads_address_1): Likewise.
7373         * varasm.c (weak_finish): Wrap variable with macro controlling use.
7374
7375 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7376
7377         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
7378
7379 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7380
7381         * ChangeLog: Follow spelling conventions.
7382         * ChangeLog.0: Likewise.
7383         * ChangeLog.2: Likewise.
7384         * ChangeLog.3: Likewise.
7385         * ChangeLog.4: Likewise.
7386         * ChangeLog.5: Likewise.
7387         * ChangeLog.6: Likewise.
7388         * cppfiles.c: Likewise.
7389         * cppinit.c: Likewise.
7390         * cpplib.h: Likewise.
7391         * cse.c: Likewise.
7392         * debug.h: Likewise.
7393         * df.c: Likewise.
7394         * dominance.c: Likewise.
7395         * hashtable.c: Likewise.
7396         * hashtable.h: Likewise.
7397         * loop.c: Likewise.
7398         * config/arm/README-interworking: Likewise.
7399         * config/arm/arm.c: Likewise.
7400         * config/arm/arm.h: Likewise.
7401         * config/arm/arm.md: Likewise.
7402         * config/dsp16xx/dsp16xx.h: Likewise.
7403         * config/frv/frv.c: Likewise.
7404         * config/frv/frv.h: Likewise.
7405         * config/ip2k/ip2k.h: Likewise.
7406         * config/rs6000/rs6000.c: Likewise.
7407         * config/stormy16/stormy-abi: Likewise.
7408         * config/stormy16/stormy16.h: Likewise.
7409         * config/v850/v850.c: Likewise.
7410
7411 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7412
7413         * loop.c: Fix a comment typo.
7414
7415 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7416
7417         * config/fr30/fr30.h: Fix comment typos.
7418         * config/frv/frv.c: Likewise.
7419         * config/i386/xmmintrin.h: Likewise.
7420         * config/mips/mips.c: Likewise.
7421         * config/sh/sh.c: Likewise.
7422
7423 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7424
7425         * haifa-sched.c: Follow spelling conventions.
7426         * regclass.c: Likewise.
7427         * regrename.c: Likewise.
7428         * config/fp-bit.c: Likewise.
7429         * config/frv/frv.h: Likewise.
7430         * config/m88k/m88k.c: Likewise.
7431         * config/mcore/mcore.c: Likewise.
7432         * config/rs6000/darwin.h: Likewise.
7433         * config/rs6000/gnu.h: Likewise.
7434         * config/rs6000/linux.h: Likewise.
7435         * config/rs6000/linux64.h: Likewise.
7436         * config/rs6000/rs6000.c: Likewise.
7437         * config/rs6000/rs6000.h: Likewise.
7438         * config/sh/sh.c: Likewise.
7439         * config/sparc/sparc.c: Likewise.
7440         * config/sparc/ultra1_2.md: Likewise.
7441
7442 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
7443
7444         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
7445         memory operand when source is 0 (K constraint).
7446         ("movsi_internal"): Likewise.
7447         ("movdf_internal"): Likewise.
7448         ("movsf_internal"): Likewise.
7449
7450 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7451
7452         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
7453         targetm.binds_local_p to set SYMBOL_REF_FLAG.
7454         (rs6000_xcoff_encode_section_info): Likewise.
7455         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7456
7457 2002-09-10  Theodore A. Roth  <troth@verinet.com>
7458
7459         * gcc/config/avr/avr.h: Set default options for C++ for avr.
7460
7461 2002-09-13  Roger Sayle  <roger@eyesopen.com>
7462
7463         * stmt.c (struct nexting): Remove unused alt_end_label field.
7464         (expand_start_loop): Delete initialization of alt_end_label.
7465         (expand_start_null_loop): Likewise.
7466         (expand_exit_loop_if_false): Delete updating of alt_end_label.
7467
7468 2002-09-13  Richard Henderson  <rth@redhat.com>
7469
7470         * Makefile.in (toplev.o): Depend on real.h.
7471         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
7472
7473 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
7474
7475         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
7476         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
7477         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
7478
7479 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
7480
7481         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
7482
7483 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7484
7485         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
7486         ia64*-*-linux*): Set extra_parts.
7487         * config/ia64/t-aix (EXTRA_PARTS): Remove.
7488         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
7489
7490 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7491
7492         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
7493         * config/h8300/h8300.c: Likewise.
7494         * config/h8300/h8300.h: Likewise.
7495         * config/h8300/h8300.md: Likewise.
7496         * doc/invoke.texi: Likewise.
7497
7498 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
7499
7500         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
7501
7502 2002-09-13  Richard Henderson  <rth@redhat.com>
7503
7504         * config/alpha/alpha.md (attr type): Add callpal.
7505         (imb, trap, load_tp, set_tp): Use it.
7506         * config/alpha/ev4.md (ev4_callpal): New.
7507         * config/alpha/ev5.md (ev5_callpal): New.
7508         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
7509         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
7510         (alphaev5_insn_pipe): Likewise.
7511
7512 2002-09-13  Andreas Jaeger  <aj@suse.de>
7513
7514         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
7515
7516 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7517
7518         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
7519         LIB2ADDEH): New, set to NULL.
7520         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
7521
7522 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
7523
7524         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
7525         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
7526         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
7527         Add declarations.
7528         (_U_Qfneg): Remove.
7529
7530 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
7531
7532         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
7533         for H8/300, H8S aa:8 mode.
7534         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
7535         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
7536         for H8/300 aa:8 mode.
7537
7538 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
7539
7540         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
7541         insns.
7542
7543 2002-09-12  Richard Henderson  <rth@redhat.com>
7544
7545         * Makefile.in (HOST_PRINT): Use print-rtl1.o
7546         (print-rtl.o): Don't define GENERATOR_FILE.
7547         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
7548         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
7549         unless GENERATOR_FILE.
7550
7551 2002-09-12  Stan Shebs  <shebs@apple.com>
7552
7553         * config/darwin.h (USER_LABEL_PREFIX): Define here...
7554         * config/i386/darwin.h: ... instead of here.
7555
7556         * target.h (struct gcc_target): New field
7557         terminate_dw2_eh_frame_info.
7558         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7559         (TARGET_INITIALIZER): Add it.
7560         * dwarf2out.c (output_call_frame_info): Use target hook.
7561         * dwarf2asm.c (dw2_asm_output_delta): Use macro
7562         ASM_OUTPUT_DWARF_DELTA if defined.
7563         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
7564         (ASM_OUTPUT_DWARF_DELTA): Ditto.
7565         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
7566         (ASM_OUTPUT_DWARF_PCREL): Ditto.
7567         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
7568         (powerpc-*-darwin*): Ditto.
7569         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
7570         to work correctly for Darwin.
7571         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
7572         (STARTFILE_SPEC): Add crtbegin.o.
7573         (ENDFILE_SPEC): Define.
7574         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
7575         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
7576         (ASM_OUTPUT_DWARF_DELTA): Define.
7577         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
7578         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
7579
7580 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
7581
7582         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
7583         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
7584         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
7585
7586 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
7587
7588         * toplev.c: Move default definition of USER_LABEL_PREFIX...
7589         * defaults.h: ... here.
7590
7591 2002-09-12  Richard Henderson  <rth@redhat.com>
7592
7593         * vax.c: Include tree.h earlier.
7594
7595 2002-09-12  Stan Shebs  <shebs@apple.com>
7596
7597         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
7598         (machopic_operand_p): Ditto.
7599
7600 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7601
7602         * config/arm/arm.c (arm_compute_initial_elimination_offset):
7603         Fix a comment typo.
7604
7605 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7606
7607         * toplev.c (do_abort): Fix a comment typo.
7608
7609 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7610
7611         * cselib.c: Fix comment formatting.
7612         * gengtype.c: Likewise.
7613
7614 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
7615
7616         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
7617         (udivmodhi4): Likewise.
7618
7619 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
7620             Roger Sayle  <roger@eyesopen.com>
7621
7622         * i386.c (any_fp_register_operand, fp_register_operand,
7623         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
7624         New predicate functions.
7625         * i386-protos.h:  Add their prototypes.
7626         * i386.h: Add them to PREDICATE_CODES.
7627         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
7628         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
7629         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
7630         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
7631         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
7632         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
7633         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
7634         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
7635         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
7636         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
7637         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
7638         Use these new predicates to simplify and correct the use of
7639         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
7640
7641 2002-09-12  Jason Merrill  <jason@redhat.com>
7642
7643         * diagnostic.c (output_add_identifier): New fn.
7644         * diagnostic.h: Declare it.
7645
7646         * calls.c (store_one_arg): Use size_in_bytes to determine the
7647         amount of space to push.
7648
7649 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
7650
7651         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
7652
7653 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
7654
7655         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
7656         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
7657         (s390_select_ccmode): Likewise.
7658         (s390_branch_condition_mask): Likewise.
7659         (optimization_options): Do not set flag_branch_on_count.
7660         (s390_split_branches): Handle doloop branches.
7661         (s390_chunkify_pool): Likewise.
7662         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
7663         ("doloop_end"): New expander.
7664         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
7665         associated splitters): New.
7666
7667 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7668
7669         * genattrtab.c (simplify_cond): Remove unused variable(s).
7670         * global.c (record_conflicts): Likewise.
7671         * jump.c (rebuild_jump_labels): Likewise.
7672         * loop.c (scan_loop, check_final_value): Likewise.
7673         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
7674         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
7675         * rtlanal.c (reg_set_p): Likewise.
7676         * stmt.c (expand_asm_operands, expand_decl): Likewise.
7677         * genautomata.c (empty_reserv): Remove.
7678         * loop.c (max_luid): Likewise.
7679         * sched-rgn.c (bitlst_table_size): Likewise.
7680
7681 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
7682
7683         Reimplement gcov format.
7684         * gcov-io.h: Replace.
7685         * gcov.c: Reimplement.
7686         * gcov-iov.c: New file.
7687         * gcov-dump.c: New file.
7688         * libgcc2.c (L_bb): Replace with ...
7689         (L_gcov): ... this.
7690         (struct bb_function_info, struct bb): Remove.
7691         (inhibit_libc): Never inhibit.
7692         (gcov_list, gcov_crc): New static variables.
7693         (gcov_version_mismatch): New static function.
7694         (__bb_exit_func): Renamed to ...
7695         (__gcov_exit): ... here. Made static. Reimplement.
7696         (__gcov_init_func): Rename to ...
7697         (__gcov_init): ... here. Check version, update crc.
7698         (__bb_fork_func): Rename to ...
7699         (__gcov_flush): ... here.
7700         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
7701         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
7702         * calls.c (expand_call): Call __gcov_flush.
7703         * profile.c (bb_file, last_bb_file_name): Remove.
7704         (bbg_file_name): New global variable.
7705         (output_gcov_string): Remove.
7706         (get_exec_counts): Reimplement.
7707         (branch_prob): Reimplement gcov file writing.
7708         (init_branch_prob): Create bbg_file_name, don't create
7709         bb_file_name.
7710         (end_branch_prob): Adjust. Don't remove counter file when
7711         instrumenting ourselves.
7712         (create_profiler): Adjust.
7713         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
7714         point to gcov-io.h.
7715         * Makefile.in (LANGUAGES): Add gcov-dump.
7716         (coverageexts): Remove .bb.
7717         (STAGESTUFF): Add gcov-dump.
7718         (LIB2FUNCS_ST): Replace _bb with _gcov.
7719         (profile.o): Depend on gcov-iov.h.
7720         (final.o): Don't depend on profile.h, gcov.h.
7721         (gcov.o): Depend on gcov-iov.h.
7722         (gcov-iov.o): New target.
7723         (gcov-iov): New target.
7724         (gcov-iov.h): New target.
7725         (gcov-dump.o): New target.
7726         (GCOV_DUMP_OBJS): New variable.
7727         (gcov-dump): New target.
7728         (distclean): Remove coverageexts.
7729         (stage1): Remove coverageexts.
7730
7731 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
7732
7733         * fold-const.c (make_range): Only narrow to signed range if
7734         the signed range is smaller than the unsigned range.
7735
7736 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
7737
7738         * emit-rtl.c (set_mem_size): New function.
7739         * expr.h (set_mem_size): Declare.
7740         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
7741         (expand_block_move): Instead, use adjust_address and
7742         replace_equiv_address to generate proper aliasing info.
7743         Move common code out of conditionals.  Localize vars.
7744
7745 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7746
7747         * optabs.c (expand_binop): Minor cleanup.
7748         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
7749
7750 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
7751
7752         * print-tree.c (print_node): Print the restrict qualifier.
7753
7754 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
7755
7756         * doc/install.texi: Fix typos.
7757
7758 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
7759
7760         * Makefile.in: Remove all references to s-under and underscore.c.
7761         * collect2.c, tlink.c: Change all uses of prepends_underscore
7762         to look directly at USER_LABEL_PREFIX.
7763
7764 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
7765
7766         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
7767         alignment to csect.
7768         (rs6000_xcoff_unique_section): Only set section name for public
7769         data.
7770         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
7771         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
7772         duplicate definition.
7773
7774 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7775
7776         * pa.md (extzv): Check predicates before emitting extzv_32.
7777         (insv): Likewise.
7778
7779 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
7780
7781         * config/s390/s390.h (MOVE_MAX): Define to correct value.
7782         (MAX_MOVE_MAX): Define.
7783         (MOVE_BY_PIECES_P): Define.
7784         (CLEAR_BY_PIECES_P): Define.
7785
7786 2002-09-10  Denis Chertykov  <denisc@overta.ru>
7787
7788         * config/avr/avr.md (movstrhi): Use right operands for conversion.
7789
7790 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
7791
7792         PR c/7873
7793         * arm.md (insv): Use reg_or_int_operand for operand[3].
7794
7795 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
7796
7797         * rs6000.c (rs6000_assemble_visibility): Protect declaration
7798         inside macro.  Correct function definition typo.
7799         (rs6000_xcoff_section_type_flags): New function.
7800         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
7801         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
7802         with appropriate PIC test.
7803         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
7804         determine readonly.
7805         (rs6000_binds_local_p): Combine PIC flags.
7806         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
7807         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
7808
7809 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7810
7811         * h8300.md: Fix signed/unsigned warnings.
7812         * mcore.md: Likewise.
7813         * mn10300.c (mask_ok_for_mem_btst): Likewise.
7814
7815 2002-09-09  Per Bothner  <per@bothner.com>
7816
7817         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
7818         characters, and only print TREE_STRING_LENGTH chars.
7819
7820 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
7821
7822         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
7823         (ASM_FILE_END) New.
7824         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
7825         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
7826         * config/ia64/ia64.c (ia64_asm_output_external): Create list
7827         of external functions if TARGET_HPUX_LD is true.
7828         (ia64_hpux_add_extern_decl): New, routine to put names on
7829         list of external functions.
7830         (ia64_hpux_asm_file_end): Put out declarations for external
7831         functions if and only if they are used.
7832
7833 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7834
7835         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
7836         on TARGET_64BIT before pic register restore.
7837
7838 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
7839
7840         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
7841         (TARGET_HAVE_TLS): New description.
7842
7843 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
7844
7845         * doc/extend.texi (Statement Exprs): Fix broken link.
7846
7847 2002-09-09  Denis Chertykov  <denisc@overta.ru>
7848
7849         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
7850         right conversion of operands[1].
7851
7852 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
7853
7854         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
7855         commutative.  Use "nonimmediate_operand" instead of "register_operand"
7856         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
7857
7858         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
7859         as commutative.
7860
7861         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
7862         mark as commutative.  Use "nonimmediate_operand" instead of
7863         "register_operand" as predicate for operand 1.
7864
7865         ("movstrictsi"): Fix typo in insn name.
7866
7867 2002-09-09  Jan Hubicka  <jh@suse.cz>
7868
7869         * i386.c (index_register_operand): New.
7870         * i386.h (predicate_codes): Add new predicate.
7871         * i386.md (lea_general_*): Use index_register_operand
7872         (ashift to lea splitter): Do not produce invalid leas
7873         (ashift to mov+ashift split): New.
7874
7875 2002-09-09  Nick Clifton  <nickc@redhat.com>
7876
7877         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
7878         Fix folding marks.
7879
7880 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7881             J"orn Rennecke <joern.rennecke@superh.com>
7882
7883         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
7884
7885 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
7886
7887         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
7888         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
7889         attributes.
7890
7891 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
7892
7893         * basic_block.h (gcov_type): Explain why it is signed.
7894         * final.c: Don't include profile.h.
7895         (struct function_list, functions_head, functions_tail,
7896         end_final): Moved to profile.c
7897         (final): Move arc chaining code to profile.c.
7898         * function.c (prepare_function_start): Remove duplicate line.
7899         * output.h (end_final): Remove prototype.
7900         * predict.c (estimate_loops_at_level): Use gcov_type.
7901         * profile.c (struct function_list, functions_head,
7902         functions_tail): Moved from final.c
7903         (need_func_profiler): Remove.
7904         (instrument_edges): Don't set need_func_profiler.
7905         (get_exec_counts): Avoid signed/unsigned warning.
7906         (compute_checksum): Use crc32.
7907         (branch_prob): Adjust. Chain onto functions_head.
7908         (init_branch_prob): Absorb init_edge_profiler.
7909         (init_edge_profiler): Remove.
7910         (create_profiler): Moved and renamed from final.c:end_final.
7911         Emit data and constructor.
7912         (output_func_start_profiler): Remove.
7913         * profile.h (struct profile_info): checksum is unsigned.
7914         * rtl.h (output_func_start_profiler): Remove prototype.
7915         (create_profiler): Declare.
7916         * toplev.c (compile_file): Call create_profiler, if instrumenting
7917         arcs. Don't call end_final.
7918
7919 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7920
7921         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
7922
7923 2002-09-08  Richard Henderson  <rth@redhat.com>
7924
7925         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
7926         (DW_OP_GNU_push_tls_address): New.
7927         (DW_OP_lo_user): Fix.
7928         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
7929         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
7930         (size_of_loc_descr): Likewise.
7931         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
7932         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
7933         (loc_descriptor_from_tree): Handle TLS variables.
7934         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
7935         (add_location_or_const_value_attribute): ... not here.  Defer
7936         to loc_descriptor_from_tree for TLS variables.
7937
7938         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
7939         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
7940         * config/i386/i386-protos.h: Update.
7941
7942 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7943
7944         PR optimization/6405
7945         * unroll.c (loop_iterations): last_loop_insn should be the previous
7946         non-note instruction before loop->end.
7947         * loop.c (strength_reduce): The conditional jump is the last
7948         non-note instruction before loop->end (as above).
7949
7950 2002-09-08  Roger Sayle  <roger@eyesopen.com>
7951
7952         * combine.c (try_combine): Handle the case that undobuf.other_insn
7953         has been turned into a return or unconditional jump, by inserting
7954         a BARRIER if necessary.
7955         (simplify_set):  Test if a condition code setter has a constant
7956         comparison at compile time, if so convert this insn to a no-op move
7957         and update/simplify the condition code user (undobuf.other_insn).
7958
7959 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
7960
7961         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
7962         (CLEAR_INSN_CACHE): Define.
7963
7964 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
7965
7966         * basic-block.h: Fix comment formatting.
7967         * c-common.c: Likewise.
7968         * c-common.h: Likewise.
7969         * c-lex.c: Likewise.
7970         * c-pretty-print.c: Likewise.
7971         * cfglayout.c: Likewise.
7972         * cfgloop.c: Likewise.
7973         * defaults.h: Likewise.
7974         * et-forest.c: Likewise.
7975         * explow.c: Likewise.
7976         * function.h: Likewise.
7977         * gcov.c: Likewise.
7978         * genattrtab.c: Likewise.
7979         * gengtype.c: Likewise.
7980         * ifcvt.c: Likewise.
7981         * libgcc2.c: Likewise.
7982         * loop.c: Likewise.
7983         * profile.c: Likewise.
7984         * ra-build.c: Likewise.
7985         * real.c: Likewise.
7986         * rtl.h: Likewise.
7987         * tracer.c: Likewise.
7988         * tree-inline.c: Likewise.
7989         * varasm.c: Likewise.
7990
7991 2002-09-08  Jan Hubicka  <jh@suse.cz>
7992
7993         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
7994         handling.
7995
7996         * loop.c (loop_givs_reduce):  Emit addition after.
7997
7998 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
7999
8000         * varasm.c (default_assemble_visibility): Rename from
8001         assemble_visibility.
8002         * output.h: Here too.
8003         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
8004         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
8005
8006 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
8007
8008         * reload.c (find_reloads <p constraint>): Pass operand_mode to
8009         find_reloads_address.
8010
8011 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
8012
8013         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
8014         (anonymous pattern): Likewise.
8015
8016 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8017
8018         * machmode.def: Add modes for half-float vectors.
8019
8020 2002-09-07  Scott Snyder  <snyder@fnal.gov>
8021
8022         PR target/7374
8023         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
8024
8025 2002-09-07  Roger Sayle  <roger@eyesopen.com>
8026
8027         * basic-block.h (struct loop): Remove unused cont_dominator field.
8028
8029 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8030
8031         * varasm.c (decode_rtx_const): Don't check undefined field for
8032         CONST_VECTOR.
8033
8034 2002-09-07  Glen Nakamura  <glen@imodulo.com>
8035
8036         PR opt/7814
8037         * sched-deps.c (sched_analyze_insn): Make sure to add insn
8038         to reg_last->sets after flushing the dependency lists to guarantee
8039         that subsequent clobbers will be dependent on it.
8040
8041 2002-09-07  Igor Shevlyakov <igor@microunity.com>
8042
8043         * combine.c (simplify_shift_const): Calculate rotate count
8044         correctly for vector operands.
8045
8046 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
8047
8048         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
8049         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
8050         tree_expr_nonnegative_p.
8051         (build_conditional_expr): Likewise.
8052         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
8053
8054 2002-09-07  Richard Henderson  <rth@redhat.com>
8055
8056         * builtins.def (inf, inff, infl): Mark const.
8057         (huge_val, huge_valf, huge_vall): Likewise.
8058         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
8059
8060         * real.c (ereal_inf): Clear E before use.
8061
8062 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8063
8064         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
8065         an expander and an anonymous pattern.  Zero out the upper half
8066         of the dividend in the expander.
8067         (udivmodqi4): Likewise.
8068
8069 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
8070
8071         * config/h8300/h8300.c: Fix formatting.
8072         * config/h8300/h8300.h: Likewise.
8073         * config/h8300/h8300.md: Likewise.
8074
8075 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8076
8077         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
8078         information.
8079
8080 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
8081
8082        * rtlanal.c (dead_or_set_regno_p): Fix typo.
8083
8084 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
8085
8086         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8087
8088         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
8089         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8090         (TARGET_ASM_OUT): Add the above here.
8091         * target.h (struct gcc_target): Add "visibility" field.
8092         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
8093         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
8094         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
8095         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
8096
8097 2002-09-06  Ziemowit Laski <zlaski@apple.com>
8098
8099         * c-lang.c (objc_is_id): New stub.
8100         * c-tree.h (objc_is_id): New forward declaration.
8101         * c-typeck.c (build_c_cast): Do not strip protocol
8102         qualifiers from 'id' type.
8103         * objc/objc-act.c (objc_comptypes): Correct handling
8104         of protocol qualifiers.
8105         (objc_is_id): New.
8106
8107 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
8108
8109         * pentium.md (pentium-firstvboth): Fix typo.
8110
8111 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
8112
8113         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
8114         (enum shift_type, enum h8_cpu): Likewise.
8115         (INL, ROT, LOP, SPC macros): Likewise.
8116         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
8117         const designator.
8118         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
8119         space efficient algorithms when optimize for codesize.
8120
8121 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8122
8123         Fix PR/1727 and long-standing failing testcase
8124         objc/formal-protocol-6.m.
8125         * objc-act.c (build_protocol_expr): If compiling for the GNU
8126         runtime, create a list of Protocol statically allocated instances
8127         if it doesn't exist, then add the Protocol object to this same
8128         list.
8129         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
8130         instead of TREE_CHAIN.
8131
8132 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8133
8134         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
8135         10k.  Fixed category dumping - print out category names with the
8136         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
8137         interface.
8138         (finish_objc): Fixed the -gen-decls option.  It was printing out
8139         only the last class.  Dump an interface declaration of all classes
8140         being compiled instead.
8141
8142 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
8143
8144         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
8145         prototype.
8146         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
8147         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
8148         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
8149         rather than GEN_INT.
8150         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
8151         (return_addr_mask, *check_arch2): New.
8152
8153 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
8154
8155         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
8156         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
8157         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
8158         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
8159         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
8160         "adddf3", "*adddf3", "*adddf3_ibm",
8161         "addsf3", "*addsf3", "*addsf3_ibm",
8162         "muldi3", "mulsi3", "mulsidi3",
8163         "muldf3", "*muldf3", "*muldf3_ibm",
8164         "mulsf3", "*mulsf3", "*mulsf3_ibm",
8165         "*anddi3_cc", "*anddi3_cconly", "anddi3",
8166         "*andsi3_cc", "*andsi3_cconly", "andsi3",
8167         "*iordi3_cc", "*iordi3_cconly", "iordi3",
8168         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
8169         "*xordi3_cc", "*xordi3_cconly", "xordi3",
8170         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
8171         instead of "register_operand" as predicate for "%0" operand.
8172
8173 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
8174
8175         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
8176         unconditionally when gcc_cv_as_flags64 checks are gone.
8177         * configure: Rebuilt.
8178
8179 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
8180
8181         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
8182         2002-07-26 change.  Comment.
8183
8184 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8185
8186         * frv.c (frv_unique_section, frv_select_section,
8187         frv_select_rtx_section): Delete.
8188         (frv_in_small_data_p): New.
8189         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
8190         TARGET_ASM_SELECT_RTX_SECTION): Delete.
8191         (TARGET_IN_SMALL_DATA_P): Define.
8192
8193 2002-09-05  Dale Johannesen  <dalej@apple.com>
8194
8195         * reload1.c (reload):  Retain only those memory clobbers
8196         added for variable-array handling.
8197
8198 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8199
8200         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
8201         return-in-memory rules.
8202         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
8203
8204 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8205
8206         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
8207         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
8208
8209 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
8210
8211         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
8212         not a compile-time constant for the non-IBM case.
8213         * config/arm/arm-protos.h (arm_float_words_big_endian): New
8214         prototype.
8215         * config/arm/arm.c (arm_float_words_big_endian): New function.
8216         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
8217         if TARGET_VFP  and not TARGET_HARD_FLOAT.
8218         (ARM_FLAG_VFP, TARGET_VFP): Define.
8219         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
8220
8221 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
8222
8223         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
8224         URLs.  Fix AIX wording.
8225
8226 2002-09-05  Stan Shebs  <shebs@apple.com>
8227
8228         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
8229         -fPIC equivalent on Darwin.
8230
8231 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
8232
8233         * sh.c (sh_expand_builtin): Return early if encountering an
8234         error_mark for a type.
8235
8236 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
8237
8238         * config/s390/s390.c (s390_expand_plus_operand): Do not require
8239         double-word scratch register.
8240         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
8241
8242         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
8243         "*cli"): Replace s_operand by memory_operand.
8244         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
8245
8246 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8247
8248         * config/h8300/h8300.c (asm_file_start): Add a missing
8249         semicolon.
8250
8251 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8252
8253         * c-typeck.c (build_function_call): Remove unused variable(s).
8254         (build_c_cast): Likewise.
8255         * calls.c (rtx_for_function_call): Likewise.
8256         * cfglayout.c (duplicate_insn_chain): Likewise.
8257         * cfgloop.c (flow_loop_nodes_find): Likewise.
8258         * cfgrtl.c (split_edge): Likewise.
8259         * df.c (df_ref_create): Likewise.
8260         * except.c (expand_end_catch): Likewise.
8261         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
8262         * function.c (emit_return_into_block): Likewise.
8263         (reposition_prologue_and_epilogue_notes): Likewise.
8264         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
8265         * combine.c (subst_prev_insn, need_refresh): Remove.
8266         * dwarf2out.c (primary_filename): Remove.
8267         * final.c (new_block): Remove.
8268         * gcse.c (orig_bb_count): Remove.
8269
8270 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8271
8272         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
8273         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
8274         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
8275         directly instead of using a function pointer.
8276
8277 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
8278
8279         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
8280         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
8281         (ix86_output_addr_diff_elt) Likewise.
8282         (x86_output_mi_thunk) Likewise.
8283         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
8284
8285 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8286
8287         * frv.c (frv_encode_section_info): Fix error in last change.
8288
8289 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8290
8291         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
8292         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
8293         (TARGET_BINDS_LOCAL_P): Define.
8294         (rs6000_override_options): Save original flag_pic value.
8295         (rs6000_elf_select_section): Call default_elf_select_section_1.
8296         (rs6000_elf_unique_section): Call default_unique_section_1.
8297         (rs6000_elf_in_small_data_p): New function.
8298         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
8299         (rs6000_xcoff_select_section): Update based on defaults.
8300         (rs6000_xcoff_unique_section): Set to basic name if not common.
8301         (rs6000_binds_local_p): New function.
8302         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8303         targetm.have_srodata_section if SDATA_EABI.
8304         (TARGET_IN_SMALL_DATA_P): Define.
8305
8306 2002-09-04  Dale Johannesen  <dalej@apple.com>
8307
8308         * varasm.c (struct rtx_const, decode_rtx_const):
8309         Make veclo and vechi fields not share storage.
8310
8311 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
8312
8313         * loop.c (scan_loop): Don't mark separate insns out of a libcall
8314         for moving.
8315         (move_movables): Abort if we see the first insn of a libcall.
8316
8317 2002-09-04  Richard Henderson  <rth@redhat.com>
8318
8319         * builtin-types.def (BT_FN_FLOAT): New.
8320         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
8321         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
8322         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
8323         * builtins.c (fold_builtin_inf): New.
8324         (fold_builtin): Call it.
8325         * real.c (ereal_inf): New.
8326         * real.h: Declare it.
8327         * doc/extend.texi: Document new builtins.
8328
8329 2002-09-04  Richard Henderson  <rth@redhat.com>
8330
8331         * cse.c (cse_insn): Avoid subreg games if the equivalence
8332         is already in the proper mode.
8333
8334 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
8335
8336         PR c/7102
8337         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
8338
8339 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8340
8341         * pa.md (setccfp0, setccfp1): New patterns.
8342
8343 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8344
8345         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
8346         frv_select_section, frv_select_rtx_section,
8347         frv_encode_section_info, frv_unique_section): Delete.
8348         * frv.c: Update for target hooks.
8349         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
8350         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
8351         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
8352
8353 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8354
8355         * ip2k-protos.h (function_prologue, function_epilogue,
8356         encode_section_info): Update to match target hook specification.
8357         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
8358         (function_prologue, function_epilogue, encode_section_info):
8359         Update to match target hook specification.
8360         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
8361         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
8362         (NOTICE_UPDATE_CC): Cast to void.
8363         * ip2k.md: Add defaults in switch statements.
8364
8365 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8366
8367         * doc/trouble.texi (Interoperation): Update information about C++ ABI
8368         issues.
8369
8370 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
8371
8372         * config/sparc/t-netbsd64: Disable multilib for now.
8373
8374 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
8375
8376         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
8377         * target.h (gcc_target): Add have_srodata_section member.
8378         * varasm.c (section_category): Add SECCAT_SRODATA.
8379         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
8380         READONLY_SDATA_SECTION defined.
8381         (decl_readonly_section_1): True for SECCAT_SRODATA also.
8382         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
8383         (default_unique_section_1): Likewise.
8384
8385 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8386
8387         * expr.c (emit_group_load): Revise to allow splitting TCmode source
8388         into DImode pieces.
8389
8390         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
8391         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
8392         for floating-point register class.
8393         * pa.c (function_arg): Fix handling of modes wider than one word for
8394         TARGET_64BIT.
8395
8396 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
8397
8398         * combine.c (make_compound_operation): Don't generate zero / sign
8399         extensions in floating point modes.
8400
8401 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8402
8403         * doc/c-tree.texi: Fix overfull hboxes.
8404         * doc/cppopts.texi: Ditto.
8405         * doc/extend.texi: Ditto.
8406         * doc/gty.texi: Ditto.
8407         * doc/invoke.texi: Ditto.
8408         * doc/makefile.texi: Ditto.
8409         * doc/rtl.texi: Ditto.
8410         * doc/standards.texi: Ditto.
8411         * doc/tm.texi: Ditto.
8412
8413 2002-09-04  Richard Henderson  <rth@redhat.com>
8414
8415         * c-common.c (builtin_define_with_hex_fp_value): New.
8416         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
8417
8418 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
8419
8420         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
8421         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
8422         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
8423         Warn that these options can break ABI compatibility.
8424
8425 2002-09-04  Richard Henderson  <rth@redhat.com>
8426
8427         * real.c (ereal_to_decimal): Add digits parameter.
8428         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
8429         * c-pretty-print.c (pp_c_real_literal): Update call.
8430         * print-rtl.c (print_rtx): Likewise.
8431         * print-tree.c (print_node_brief, print_node): Likewise.
8432         * sched-vis.c (print_value): Likewise.
8433         * config/arc/arc.c (arc_print_operand): Likewise.
8434         * config/c4x/c4x.c (c4x_print_operand): Likewise.
8435         * config/i370/i370.h (PRINT_OPERAND): Likewise.
8436         * config/i386/i386.c (print_operand): Likewise.
8437         * config/i960/i960.c (i960_print_operand): Likewise.
8438         * config/ip2k/ip2k.c (asm_output_float): Likewise.
8439         * config/m32r/m32r.c (m32r_print_operand): Likewise.
8440         * config/m68hc11/m68hc11.c (print_operand): Likewise.
8441         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
8442         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8443         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
8444         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
8445         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
8446         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8447         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
8448         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
8449         * config/mips/mips.c (print_operand): Likewise.
8450         * config/ns32k/ns32k.c (print_operand): Likewise.
8451         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
8452         * config/vax/vax.h (PRINT_OPERAND): Likewise.
8453         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
8454
8455 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
8456
8457         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
8458         xtensa_multibss_section_type_flags.
8459         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
8460
8461 2002-09-04  Richard Henderson  <rth@redhat.com>
8462
8463         * doc/install-old.texi: Don't mention enquire.
8464         * doc/sourcebuild.texi: Update float.h description.
8465
8466 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
8467
8468         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
8469
8470 2002-09-03  Roger Sayle  <roger@eyesopen.com>
8471
8472         * builtins.c (build_function_call_expr): Remove prototype, export
8473         as non-static and add a comment above function definition.
8474         (builtin_mathfn_code): New function to check for math builtins.
8475         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
8476         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
8477         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
8478         log(sqrt(x)) as log(x)/2.0.
8479
8480         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
8481         in new "builtins.c" section.  Place the build_range_type prototype
8482         with the other prototypes from "tree.c".
8483
8484         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
8485         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
8486         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
8487         x/exp(y) as x*exp(-y).
8488
8489 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
8490
8491         * varasm.c (default_section_type_flags): Append _1 to name with
8492         shlib parameter.  Use original name to call new function with
8493         implicit flag_pic.
8494         (decl_readonly_section): Likewise.
8495         (default_elf_select_section): Likewise.
8496         (default_unique_section): Likewise.
8497         (default_bind_local_p): Likewise.
8498         (categorize_decl_for_section): Add shlib parameter to use in place
8499         of implicit flag_pic.
8500         * output.h: Declare new functions with _1 and shlib argument.
8501
8502 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
8503
8504         * doc/install.texi: Fix typos, formatting problems, and obvious
8505         overfull/underfull boxes.
8506
8507         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
8508         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
8509         include its file, compat.texi.
8510         * doc/compat.texi: New file with new chapter, Binary Compatibility.
8511
8512 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
8513
8514         Debian BTS Bug #157416
8515         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
8516         * cpplib.c (destringize_and_run): Kludge around getting
8517         tokens from in-progress macros.
8518         (_cpp_do__Pragma): Simplify.
8519
8520 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8521
8522         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
8523         (CPP_CPU_SPEC): Remove.
8524         (TARGET_CPU_CPP_BUILTINS): New.
8525         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
8526         (CPP_SPEC): Remove.
8527         (TARGET_OS_CPP_BUILTINS): New.
8528         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
8529         (TARGET_OS_CPP_BUILTINS): New.
8530         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
8531         TARGET_OS_CPP_BUILTINS.
8532         (CPP_PREDEFINES): Remove.
8533         (CPLUSPLUS_CPP_SPEC): Remove.
8534         (TARGET_OS_CPP_BUILTINS): New.
8535
8536 2002-09-03  Richard Henderson  <rth@redhat.com>
8537
8538         * Makefile.in (USER_H): Add ginclude/float.h.
8539         (FLOAT_H): Remove.
8540         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
8541         (mostlyclean): Don't remove float.h intermediate files.
8542         (distclean): Don't remove float.h.
8543         * config.gcc: Remove all float_format references.
8544         * configure.in (float_format, float_h_file): Remove.
8545
8546         * c-common.c: Include tree-inline.h.
8547         (builtin_define_with_int_value): New.
8548         (builtin_define_type_precision): Use it.
8549         (builtin_define_float_constants): New.
8550         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
8551         __FLT_EVAL_METHOD__.
8552         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
8553         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
8554         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
8555         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
8556         (TARGET_FLT_EVAL_METHOD): New.
8557
8558         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
8559         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
8560         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
8561         * ginclude/float.h: New.
8562
8563 2002-09-03  Stan Shebs  <shebs@apple.com>
8564
8565         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
8566         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
8567         (PREFERRED_DEBUGGING_TYPE): Ditto.
8568         (ASM_OUTPUT_IDENT): Remove empty definition.
8569
8570 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
8571
8572         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
8573         cxx_target.
8574         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
8575         handling routine for builtin pragma.
8576         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
8577         Registered pragma handling routine.
8578         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
8579         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
8580         If builtin pragma seen for math routine and C89 conformance is
8581         requested use different math function in order to set errno.
8582         * t-ia64 (ia64-c.o): Add new rule for new file.
8583
8584 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8585
8586         * config/s390/s390.md ("movti"): Add Q->Q alternative.
8587         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
8588         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
8589
8590         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
8591         "*movsf_ss"): Remove.
8592
8593 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8594
8595         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
8596         Delete macros.
8597
8598 2002-09-03   Arati Dikey  <aratid@kpit.com>
8599
8600         * h8300.c (asm_file_start): Corrected optimization comment.
8601
8602 2002-09-03  Stan Shebs  <shebs@apple.com>
8603
8604         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
8605         * c-tree.h (recognize_objc_keyword): Remove decl.
8606         * c-typeck.c (comp_target_types): Update a comment.
8607
8608 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
8609
8610         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
8611         and register validity checks.
8612         (general_s_operand): Adapt to s390_decompose_address interface change.
8613         (q_constraint): Likewise.
8614         (s390_expand_plus_operand): Likewise.
8615         (legitimiate_address_p): Likewise.
8616         (legitimate_la_operand_p): Likewise.
8617         (legitimize_la_operand): Likewise.
8618         (print_operand_address): Likewise.
8619         (print_operand): Likewise.
8620
8621 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8622
8623         PR objc/5956:
8624         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
8625         was causing the new selector never to match the existing ones
8626         (Patch by Alexander Malmberg <alexander@malmberg.org>).
8627
8628 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8629
8630         * config/i386/i386.md ("femms"): Add "memory" attr "none".
8631
8632 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
8633
8634         * expr.c (expand_expr): Remove extraneous comment and code.
8635
8636 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
8637
8638         * stor-layout (finish_builtin_struct): Renamed and moved from c++
8639         frontend. Take chain of fields. Allow NULL alignment type.
8640         * tree.h (finish_builtin_struct): Declare.
8641
8642 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8643
8644         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
8645         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
8646         config/arc/arc.c config/arc/arc.h config/arm/aout.h
8647         config/arm/arm.c config/arm/arm.h config/arm/arm.md
8648         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
8649         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
8650         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
8651         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
8652         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
8653         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
8654         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
8655         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
8656         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
8657         config/pa/pa.h config/pa/pa.md config/romp/romp.h
8658         config/rs6000/linux64.h config/rs6000/lynx.h
8659         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
8660         config/s390/s390.c config/s390/s390.md config/sh/sh.c
8661         config/sparc/sparc.c config/sparc/sysv4.h
8662         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
8663         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
8664         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
8665
8666         * doc/tm.texi: Update docs.
8667         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
8668         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
8669
8670 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8671
8672         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
8673         * arc.c (arc_internal_label): New function.
8674         (TARGET_ASM_INTERNAL_LABEL): Set.
8675         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8676         * arm.c (arm_internal_label): New function.
8677         (TARGET_ASM_INTERNAL_LABEL): Set.
8678         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8679         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8680         * i370.c (i370_internal_label): New function.
8681         (TARGET_ASM_INTERNAL_LABEL): Set.
8682         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8683         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8684         * m68k.c (m68k_hp320_internal_label): New function.
8685         (TARGET_ASM_INTERNAL_LABEL): Set.
8686         * m88k.c (m88k_internal_label): New function.
8687         (TARGET_ASM_INTERNAL_LABEL): Set.
8688         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8689         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
8690         * genoutput.c (output_prologue): Include target.h in output file.
8691         * output.h (default_internal_label): Declare.
8692         * sdbout.c: Include target.h.
8693         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
8694         TARGET_ASM_OUT.
8695         * target.h (internal_label): Add to struct gcc_target.
8696         * varasm.c (default_internal_label): New function.
8697
8698 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8699
8700         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
8701         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8702         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8703         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8704         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8705         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8706         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8707         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8708         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8709         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8710         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8711         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8712         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8713         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8714         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8715         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8716         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8717         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8718         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8719         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8720         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8721         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8722         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8723         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8724         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8725         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
8726         * mmix.c (mmix_asm_output_internal_label): Likewise.
8727         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8728         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8729         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8730         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8731         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8732         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8733         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8734         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8735         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8736         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8737         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8738         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8739         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8740         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8741         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8742         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8743         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8744         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8745         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
8746
8747         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
8748
8749 2002-08-31  Richard Henderson  <rth@redhat.com>
8750
8751         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
8752
8753 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8754
8755         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
8756
8757 2002-08-30  Richard Henderson  <rth@redhat.com>
8758
8759         PR opt/7515
8760         * c-objc-common.c: Include target.h.
8761         (c_cannot_inline_tree_fn): Don't auto-inline functions that
8762         don't bind locally.  Factor setting DECL_UNINLINABLE.
8763         * Makefile.in (c-objc-common.o): Update.
8764
8765 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
8766
8767         * doc/install.texi (Configuration, Building): Fix a typo and
8768         some formatting directives.
8769
8770 2002-08-30  Paul Koning <pkoning@equallogic.com>
8771
8772         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
8773         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
8774         implemented" note.
8775         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
8776         for alphabetic order.
8777         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
8778         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
8779         (VAX_HALFWORD_ORDER): Document.
8780         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
8781         IEEE float format.
8782         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
8783         (ASM_OUTPUT_LABEL_REF): Fix font.
8784         (CASE_VECTOR_SHORTEN_MODE): Ditto.
8785
8786 2002-08-30  Denis Chertykov  <denisc@overta.ru>
8787
8788         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
8789         stuff.
8790         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
8791         CONST_DOUBLE constants.
8792
8793 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
8794
8795         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
8796         related defines to...
8797         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
8798         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
8799         as a no-op.
8800
8801 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
8802
8803         * config/arm/arm.c (arm_asm_output_labelref): New function.
8804         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
8805         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
8806
8807 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
8808
8809         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
8810         memory exhausted" workarounds.
8811
8812 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8813
8814         * diagnostic.c (fancy_abort): Don't repeat "internal error".
8815         * toplev.c (crash_signal): Likewise.
8816
8817 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
8818
8819         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
8820         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
8821         Extended, updated documentation.
8822         (-Wundeclared-selector): Documented.
8823
8824 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
8825
8826         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
8827         the value 1.  Do not undef before defining.
8828         * config/darwin.h: Likewise.
8829         * config/dbx.h: Likewise.
8830         * config/dbxcoff.h: Likewise.
8831         * config/dbxelf.h: Likewise.
8832         * config/elfos.h: Likewise.
8833         * config/interix.h: Likewise.
8834         * config/lynx-ng.h: Likewise.
8835         * config/lynx.h: Likewise.
8836         * config/netware.h: Likewise.
8837         * config/psos.h: Likewise.
8838         * config/svr3.h: Likewise.
8839         * config/alpha/alpha.h: Likewise.
8840         * config/alpha/elf.h: Likewise.
8841         * config/alpha/vms.h: Likewise.
8842         * config/arc/arc.h: Likewise.
8843         * config/arm/aout.h: Likewise.
8844         * config/arm/coff.h: Likewise.
8845         * config/c4x/c4x.h: Likewise.
8846         * config/h8300/h8300.h: Likewise.
8847         * config/i386/cygwin.h: Likewise.
8848         * config/i386/djgpp.h: Likewise.
8849         * config/i386/gas.h: Likewise.
8850         * config/i386/gstabs.h: Likewise.
8851         * config/i386/i386-coff.h: Likewise.
8852         * config/i386/i386-interix.h: Likewise.
8853         * config/i386/sco5.h: Likewise.
8854         * config/i386/svr3dbx.h: Likewise.
8855         * config/i386/sysv3.h: Likewise.
8856         * config/i386/win32.h: Likewise.
8857         * config/i386/x86-64.h: Likewise.
8858         * config/i960/i960.h: Likewise.
8859         * config/ia64/ia64.h: Likewise.
8860         * config/ip2k/ip2k.h: Likewise.
8861         * config/m32r/m32r.h: Likewise.
8862         * config/m68k/3b1.h: Likewise.
8863         * config/m68k/3b1g.h: Likewise.
8864         * config/m68k/ccur-GAS.h: Likewise.
8865         * config/m68k/coff.h: Likewise.
8866         * config/m68k/hp2bsd.h: Likewise.
8867         * config/m68k/hp310g.h: Likewise.
8868         * config/m68k/hp320g.h: Likewise.
8869         * config/m68k/hp3bsd.h: Likewise.
8870         * config/m68k/hp3bsd44.h: Likewise.
8871         * config/m68k/linux-aout.h: Likewise.
8872         * config/m68k/m68k-aout.h: Likewise.
8873         * config/m68k/mot3300.h: Likewise.
8874         * config/m68k/netbsd.h: Likewise.
8875         * config/m68k/openbsd.h: Likewise.
8876         * config/m68k/pbb.h: Likewise.
8877         * config/m68k/plexus.h: Likewise.
8878         * config/m68k/sun2.h: Likewise.
8879         * config/m68k/sun3.h: Likewise.
8880         * config/m68k/tower-as.h: Likewise.
8881         * config/m68k/vxm68k.h: Likewise.
8882         * config/m88k/aout-dbx.h: Likewise.
8883         * config/m88k/m88k-aout.h: Likewise.
8884         * config/mcore/mcore-elf.h: Likewise.
8885         * config/mcore/mcore-pe.h: Likewise.
8886         * config/mips/elf.h: Likewise.
8887         * config/mips/elf64.h: Likewise.
8888         * config/mips/iris5gas.h: Likewise.
8889         * config/mips/iris6.h: Likewise.
8890         * config/mips/mips.h: Likewise.
8891         * config/mips/sni-gas.h: Likewise.
8892         * config/mmix/mmix.h: Likewise.
8893         * config/ns32k/netbsd.h: Likewise.
8894         * config/pa/pa64-hpux.h: Likewise.
8895         * config/romp/romp.h: Likewise.
8896         * config/rs6000/sysv4.h: Likewise.
8897         * config/rs6000/xcoff.h: Likewise.
8898         * config/sh/coff.h: Likewise.
8899         * config/sh/elf.h: Likewise.
8900         * config/sparc/linux64.h: Likewise.
8901         * config/sparc/liteelf.h: Likewise.
8902         * config/sparc/netbsd.h: Likewise.
8903         * config/sparc/openbsd.h: Likewise.
8904         * config/sparc/pbd.h: Likewise.
8905         * config/sparc/sp64-elf.h: Likewise.
8906         * config/sparc/sp86x-elf.h: Likewise.
8907         * config/sparc/sparc.h: Likewise.
8908         * config/vax/vax.h: Likewise.
8909         * config/vax/vaxv.h: Likewise.
8910
8911 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
8912
8913         * h8300.c (shift_alg_hi): Various tweaks to improve performance
8914         of HImode shifts.
8915         (get_shift_alg): Corresponding changes.
8916
8917 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8918
8919         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
8920
8921 2002-08-29  Richard Henderson  <rth@redhat.com>
8922
8923         * expr.h (enum block_op_methods): New.
8924         (emit_block_move): Update prototype.
8925         * expr.c (block_move_libcall_safe_for_call_parm): New.
8926         (emit_block_move_via_loop): New.
8927         (emit_block_move): Use them.  New argument METHOD.
8928         (emit_push_insn): Always respect the given alignment.
8929         (expand_assignment): Update call to emit_block_move.
8930         (store_expr, store_field, expand_expr): Likewise.
8931         * builtins.c (expand_builtin_apply): Likewise.
8932         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8933         * function.c (expand_function_end): Likewise.
8934         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
8935         * config/sparc/sparc.c (sparc_va_arg): Likewise.
8936         * calls.c (expand_call, emit_library_call_value_1): Likewise.
8937         (save_fixed_argument_area): Use emit_block_move with
8938         BLOCK_OP_CALL_PARM instead of move_by_pieces.
8939         (restore_fixed_argument_area): Likewise.
8940         (store_one_arg): Fix alignment parameter to emit_push_insn.
8941
8942 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8943
8944         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
8945
8946 2002-08-29  Catherine Moore  <clm@redhat.com>
8947
8948         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
8949         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
8950         (PREDICATE_CODES): Include new predicates.
8951         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
8952         (TARGET_SWITCHES):  Add strict-align.
8953         (TARGET_STRICT_ALIGN): New.
8954         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
8955         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
8956         Define.
8957         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
8958         v850_muldi3.
8959         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
8960         L_callt_save_r2_r31, L_return_r2_r31,
8961         L_save_all_interrupt): Change addi to add.
8962         (L_save_interrupt, L_return_interrupt): Rework.
8963         (__return_r31):  Correct .size directive.
8964         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
8965         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
8966         New routines.
8967         * config/v850/v850.c (expand_prologue): Call
8968         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
8969         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
8970         (reg_or_int9_operand): New predicate.
8971         (reg_or_const_operand): New routine.
8972         * config/v850/v850.md (return_interrupt): Changed from
8973         restore_interrupt.
8974         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
8975         (callt_save_interrupt): Change save sequence.
8976         (callt_return_interrupt): New.
8977         (save_interrupt): Don't use runtime function for LONG_CALLS
8978         and TARGET_PROLOG_FUNCTION.
8979         (save_all_interrupt): Likewise.
8980         (mulsi3): Use new predicate.
8981         (moviscc): Disallow some combination of constants.
8982         Fix define_split for sasf insns, so that it will not generate bad
8983         code if operand0 and operand5 are the same.
8984         * config/v850/v850-protos.h: Prototype new predicates.
8985
8986 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
8987
8988         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
8989         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
8990
8991 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8992
8993         * c-common.c (builtin_define_type_precision): New function.
8994         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
8995         wchar_t is unsigned in C++.
8996         * doc/cpp.texi (Common Predefined Macros): Document
8997         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
8998         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8999         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9000
9001 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
9002
9003         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
9004         section.  Mention that it is enabled by -Wall.
9005         (-Wall): Mention that there can be language-specific warnings as well.
9006         (-Wctor-dtor-privacy): Mention that it is enabled by default.
9007         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
9008
9009 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
9010
9011         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
9012         if it is ever live.
9013
9014         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
9015         attribute for SHCOMPACT.
9016
9017         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
9018         appropriately.
9019         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
9020         by the ABI.
9021
9022         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
9023
9024 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
9025
9026         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
9027         "MASK_GAS|MASK_ABICALLS".
9028         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
9029         (TARGET_DEFAULT): Remove.
9030         (MACHINE_TYPE): Undefine before defining.
9031         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
9032
9033 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
9034
9035         * c-common.c (warn_abi): New variable.
9036         * c-common.h (warn_abi): Likewise.
9037         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
9038         (c_common_decode_option): Handle it.
9039         * doc/invoke.texi: Document -Wabi.
9040
9041 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9042
9043         * c-common.c (warn_undeclared_selector): New variable.
9044         * c-common.h (warn_undeclared_selector): Idem.
9045         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
9046         to on when -Wundeclared-selector is found.
9047         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
9048         * objc/objc-act.c (build_selector_expr): If
9049         warn_undeclared_selector is set, check that the selector has
9050         already been defined, and emit a warning if not.
9051
9052 2002-08-27  Nick Clifton  <nickc@redhat.com>
9053             Catherine Moore  <clm@redhat.com>
9054             Jim Wilson  <wilson@cygnus.com>
9055
9056         * config.gcc: Add v850e-*-* target.
9057         Add --with-cpu= support for v850.
9058         * config/v850/lib1funcs.asm: Add v850e callt functions.
9059         * config/v850/v850.h: Add support for v850e target.
9060         * config/v850/v850.c: Add functions to support v850e target.
9061         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
9062         * config/v850/v850.md: Add patterns for v850e instructions.
9063         * doc/invoke.texi: Document new v850e command line switches.
9064
9065 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
9066                           Aldy Hernandez <aldyh at redhat dot com>
9067
9068         * doc/tm.texi: Applied numerous fixes to the automaton based
9069         scheduler descrition.
9070
9071 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
9072
9073         * i386.c (classify_argument): Handle variable sized objects.
9074
9075 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
9076
9077         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
9078
9079 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
9080
9081         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
9082
9083 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
9084
9085         * i386.c (classify_argument): Properly compute word size of the analyzed object.
9086
9087 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
9088
9089         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
9090         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
9091         accordingly.
9092         (attribute insn_class): Provide default definitions based on type.
9093         Remove all insn-specific settings.
9094         (various function units): Remove old SH4 scheduling.
9095         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
9096         New attributes.  Set them where appropriate.
9097         (cpu unit FS): Don't define / use.
9098         (F3, load_store): New cpu units.
9099         (F01): New reservation.
9100         (all insn_reservations): Make dependent on sh4 pipeline model.
9101         Fix latencies.
9102         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
9103         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
9104         (mt insn_reservation): Use type mt_group.
9105         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
9106         sh4_fload and sh4_store.
9107         (insn_reservation branch_zero and branch): Replace with sh4_branch.
9108         (insn_reservation branch_far): Replace with sh4_return.
9109         (insn_reservation return_from_exp): Rename to:
9110         (sh4_return_from_exp).  Change to be just d_lock*5.
9111         (insn_reservation lds_to_pr): Rename to:
9112         (sh4_lds_to_pr).  Change to be just d_lock*2.
9113         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
9114         d_lock*2.
9115         (insn_reservation prload_mem): Rename to:
9116         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
9117         (insn_reservation fpscr_store): Rename to:
9118         (fpscr_load).  Change to d_lock,nothing,F1*3.
9119         (insn_reservation fpscr_store_mem): Rename to:
9120         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
9121         (insn_reservation multi): Change to
9122         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
9123         (insn_reservation fp_arith): Change to issue,F01,F2.
9124         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
9125         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
9126         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
9127         (insn_reservation fp_double_cmp): Change to
9128         d_lock,(d_lock+F01),F1+F2,F2.
9129         (insn_reservation dp_div): Change to
9130         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
9131         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
9132         (sh_adjust_cost, SHcompact): Differentiate between different
9133         kinds of dependencies.  Drop factor of ten for superscalar.
9134         Use new instruction types.  Add new exception rules.
9135
9136         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
9137
9138         * sh.md (mperm_w): Add DONE.
9139
9140 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
9141
9142         * longlong.h: Import current PowerPC defintion from GMP-4.1.
9143
9144         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
9145
9146         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
9147
9148 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
9149
9150         * sh.h (MAX_FIXED_MODE_SIZE): Define.
9151
9152 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
9153
9154         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
9155         delimiter.
9156
9157 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9158
9159         * c-common.c (cpp_define_data_format): New function.
9160         (cb_register_builtins): Call it.
9161
9162         * doc/cpp.texi (Common Predefined Macros): Document
9163         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9164         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9165         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
9166         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
9167         __TARGET_USES_VAX_H_FLOAT__.
9168
9169 2002-08-26  Ziemowit Laski <zlaski@apple.com>
9170
9171         * objc/objc-act.c (get_super_receiver): If inside a class method
9172         of a category, cast the receiver to 'id' before accessing the 'isa'
9173         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
9174
9175 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9176
9177         * config/s390/s390-protos.h (s390_function_prologue,
9178         s390_function_epilogue): Remove.
9179         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
9180         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
9181
9182         config/s390/s390.c (s390_machine_dependent_recorg): New function.
9183         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
9184         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
9185         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
9186         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
9187
9188         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
9189         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
9190         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
9191         function is not a leaf function.  Use save_gprs and restore_gprs.
9192         (s390_emit_epilogue): Likewise.
9193         (save_gprs, restore_gprs): New functions.
9194         (struct s390_frame): Remove return_reg_saved_p member.
9195         (save_fprs_p): Remove.
9196         (s390_optimize_prolog): New function.
9197         (s390_legitimate_reload_constant): Remove now unnecessary check.
9198
9199         (s390_function_count): Remove.
9200         (s390_output_symbolic_const): Replace s390_function_count by
9201         current_function_funcdef_no.
9202         (s390_output_constant_pool): Likewise.
9203
9204         (legitimize_pic_address): Use regs_ever_live to track PIC register
9205         instead of current_function_uses_pic_offset_table.
9206         (s390_emit_prologue): Likewise.
9207         config/s390/s390.md ("call", "call_value"): Likewise.
9208
9209 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
9210
9211         * c-opts.c (find_opt): Don't complain about wrong languages
9212         here.  Return exact matches even for wrong language.
9213         (c_common_decode_option): Complain about wrong languages
9214         here.
9215
9216 2002-08-24  Stuart Hastings  <stuart@apple.com>
9217
9218         * function.h (struct function): Add flag
9219         all_throwers_are_sibcalls.
9220         * except.c (set_nothrow_function_flags): Replaces
9221         nothrow_function_p. Set new flag.
9222         * except.h (set_nothrow_function_flags): Replaces
9223         nothrow_function_p.
9224         * dwarf2out.c (struct dw_fde_struct): Add flag
9225         all_throwers_are_sibcalls.
9226         (output_call_frame_info): Test it.
9227         (dwarf2out_begin_prologue) Propagate it from cfun to
9228         dw_fde_struct.
9229         * toplev.c (rest_of_compilation): Update calls to
9230         nothrow_function_p.
9231
9232 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
9233
9234         * ggc-page.c (compute_inverse): Short circuit calculation for
9235         object sizes larger than half a page.
9236
9237 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
9238
9239         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
9240         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
9241         default.
9242         (rs6000_elf_unique_section): Likewise.
9243
9244 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9245
9246         * ns32k.c (ns32k_globalize_label): Delete.
9247         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
9248
9249 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
9250
9251         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
9252         for loading delta with num_insns_constant_wide.  Calculate
9253         delta_low, delta_high without using a conditional.
9254
9255 2002-08-22  Jason Merrill  <jason@redhat.com>
9256
9257         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
9258         * c-common.def: Adjust.
9259         * c-dump.c (c_dump_tree): Adjust.
9260         * c-semantics.c (genrtl_return_stmt): Adjust.
9261         * c-pretty-print.c (pp_c_statement): Adjust.
9262         * tree-inline.c (copy_body_r): Adjust.
9263
9264 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
9265
9266         * ggc-page.c: Avoid division in ggc_set_mark.
9267         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
9268         compute_inverse): New.
9269         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
9270         (init_ggc): Initialize inverse_table.
9271
9272 2002-08-22  Tom Tromey  <tromey@redhat.com>
9273
9274         * doc/install.texi (Configuration): Document --datadir.
9275
9276 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
9277
9278         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
9279
9280 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
9281
9282         * gengtype-lex.l (ID): Allow underscore as first character.
9283
9284 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
9285
9286         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
9287         function.
9288         (rs6000_xcoff_asm_named_section): Rename.
9289         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9290
9291 2002-08-21  Tom Tromey  <tromey@redhat.com>
9292
9293         For PR java/6005 and PR java/7611:
9294         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
9295         (fold): Likewise.
9296         * langhooks.c (lhd_can_use_bit_fields_p): New function.
9297         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
9298         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
9299         (LANG_HOOKS_INITIALIZER): Use it.
9300         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
9301         field.
9302
9303 2002-08-21  Stan Shebs  <shebs@apple.com>
9304
9305         * tree.c (finish_vector_type): Fix a typo in a comment.
9306         * Makefile.in: Fix "the the" stutters in comments.
9307         * genautomata.c: Ditto.
9308         * ifcvt.c: Ditto.
9309         * regrename.c: Ditto.
9310         * config/alpha/alpha.c: Ditto.
9311         * config/alpha/vms-crt0-64.c: Ditto.
9312         * config/alpha/vms-crt0.c: Ditto.
9313         * config/alpha/vms-psxcrt0-64.c: Ditto.
9314         * config/alpha/vms-psxcrt0.c: Ditto.
9315         * config/d30v/d30v.h: Ditto.
9316         * config/fr30/fr30.h: Ditto.
9317         * config/rs6000/rs6000.c: Ditto.
9318         * config/stormy16/stormy16.h: Ditto.
9319         * doc/md.texi: Ditto.
9320
9321 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9322
9323         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
9324
9325 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
9326
9327         * c-decl.c (grokdeclarator): Make invalid combinations with long,
9328         short, signed or unsigned into hard errors.  Fixes PR c/4319.
9329         Also make duplicate modifiers such as "short short" into hard
9330         errors.
9331
9332 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
9333             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9334
9335         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
9336         to the actual end.  Add '@end table' and '@table @code'.
9337
9338 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
9339
9340         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
9341
9342         * unroll.c (biv_total_increment): Don't try to compute the total
9343         increment for FP BIVs.
9344
9345 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9346
9347         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
9348         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
9349         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9350         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
9351         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
9352         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
9353         (GLOBAL_ASM_OP): Define.
9354         * arm.c (aof_globalize_label): New function.
9355         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
9356         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9357         * c4x.c (c4x_globalize_label): New function.
9358         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
9359         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
9360         (GLOBAL_ASM_OP): Define.
9361         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9362         * darwin-protos.h (darwin_globalize_label): Declare.
9363         * darwin.c (darwin_globalize_label): New function.
9364         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
9365         (ASM_GLOBALIZE_LABEL): Delete.
9366         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
9367         * dsp16xx.c (asm_output_common): Use target hook.
9368         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9369         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
9370         (GLOBAL_ASM_OP): Define.
9371         * i370.c (i370_globalize_label): New function.
9372         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
9373         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
9374         * i386.c (ix86_asm_file_end): Use target hook.
9375         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
9376         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
9377         * ia64.c (ia64_asm_output_external): Likewise.
9378         * ia64/sysv4.h: Update comment.
9379         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9380         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9381         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
9382         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
9383         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
9384         * mmix-protos.h (mmix_asm_globalize_label): Delete.
9385         * mmix.c (mmix_asm_globalize_label): Likewise.
9386         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
9387         (GLOBAL_ASM_OP): Define.
9388         * ns32k.c (ns32k_globalize_label): New function.
9389         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
9390         (ASM_GLOBALIZE_LABEL): Delete.
9391         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
9392         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
9393         * pa.c (pa_globalize_label): New function.
9394         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
9395         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
9396         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
9397         (GLOBAL_ASM_OP): Define.
9398         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
9399         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
9400         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
9401         (GLOBAL_ASM_OP): Define.
9402         * v850.c (v850_output_aligned_bss): Use target hook.
9403         * vax.c (vms_globalize_label): New function.
9404         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
9405         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
9406         (GLOBAL_ASM_OP): Define.
9407         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
9408         * doc/tm.texi: Update docs.
9409         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
9410         target hook.
9411         * final.c (output_alternate_entry_point): Likewise.
9412         * hooks.c (hook_FILEptr_constcharptr_void): New function.
9413         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
9414         * output.h (assemble_global): Delete.
9415         (default_globalize_label): Declare.
9416         * system.h (ASM_GLOBALIZE_LABEL): Poison.
9417         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
9418         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
9419         * target.h (gcc_target): Add globalize_label member.
9420         * varasm.c (asm_output_bss, asm_output_aligned_bss,
9421         globalize_decl): Use target hook.
9422         (assemble_global): Delete.
9423         (default_globalize_label): New function.
9424
9425 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9426
9427         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
9428
9429 2002-08-20  Devang Patel  <dpatel@apple.com>
9430         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
9431
9432 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9433
9434         * arc.c (output_shift): Use stdio instead of asm_fprintf.
9435         * arm.c (thumb_output_function_prologue): Likewise.
9436         * avr.c (print_operand): Likewise.
9437         * c4x.c (c4x_print_operand): Likewise.
9438         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
9439         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9440         * cris.c (cris_target_asm_function_prologue,
9441         cris_asm_output_mi_thunk): Likewise.
9442         * h8300.c (print_operand): Likewise.
9443         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9444         * ip2k.c (print_operand): Likewise.  Fix format specifier.
9445         * m68hc11.c (asm_print_register, print_operand,
9446         print_operand_address): Use stdio instead of asm_fprintf.
9447         (print_operand_address): Fix format specifier.
9448         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
9449         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
9450         asm_fprintf.
9451         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9452         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9453         * m68k.c (m68k_output_function_prologue,
9454         m68k_output_function_epilogue, print_operand): Likewise.
9455         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
9456         Likewise.  Fix format specifier.
9457         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9458         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9459         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
9460
9461 2002-08-15  Eric Christopher  <echristo@redhat.com>
9462             Jeff Knaggs  <jknaggs@redhat.com>
9463
9464         * config.gcc (mipsisa64sr71k-elf): New target.
9465         * config/mips/sr71k.md: New file.
9466         * config/mips/mips.md: Use it.
9467         (rot*): Add sr71k specifics.
9468         * config/mips/t-sr71k: New file.
9469         * config/mips/mips.h (sr71k): New cpu.
9470         (TARGET_SR71K): Use it.
9471         (TUNE_SR71K): Ditto.
9472         (GENERATE_BRANCHLIKELY): Ditto.
9473         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
9474         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
9475         * config/mips/mips.c (sr71k): New cpu.
9476         (mips_use_dfa_pipeline_interface): Use.
9477
9478 2002-08-15  Eric Christopher  <echristo@redhat.com>
9479             Richard Sandiford <rsandifo@redhat.com>
9480             Aldy Hernandez  <aldyh@redhat.com>
9481             Graham Stott    <grahams@redhat.com>
9482             Michael Meissner  <meissner@redhat.com>
9483             Gavin Romig-Koch  <gavin@redhat.com>
9484             Ken Raeburn  <raeburn@cygnus.com>
9485             Alexandre Oliva <aoliva@redhat.com>
9486
9487         * config.gcc (mips64vr-elf): New target.
9488         * config/mips/5400.md: New file.
9489         * config/mips/5500.md: Ditto.
9490         * config/mips/mips.md: Use them.
9491         (frsqrt): New.
9492         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
9493         cpus.
9494         (mips_issue_rate): Use them.
9495         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
9496         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
9497         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
9498         cpus.
9499         (TARGET_MIPSx): Use them.
9500         (TUNE_MIPSx): Ditto.
9501         (GETNATE_MULT3_SI): Ditto.
9502         (ISA_HAS_BRANCHLIKELY): Ditto.
9503         (ISA_HAS_CONDMOVE): Ditto.
9504         (ISA_HAS_NMADD_NMSUB): Ditto.
9505         (ISA_HAS_MULHI): New. Ditto.
9506         (ISA_HAS_MULS): Ditto.
9507         (ISA_HAS_MSAC): Ditto.
9508         (ISA_HAS_MACC): Ditto.
9509         (ISA_HAS_ROTR_SI): Ditto.
9510         (ISA_HAS_ROTR_DI): Ditto.
9511         (RTX_COSTS): Use.
9512
9513 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9514
9515         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
9516         at head.
9517         (remove_dup_nonsys_dirs): New function.
9518         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
9519         (merge_include_chains): Remove non-system include directories from
9520         quote and bracket include chains when they duplicate equivalent system
9521         directories.
9522         * doc/cpp.texi (-I): Update.
9523         * doc/cppopts.texi (-I): Update.
9524         * doc/install.texi (--with-local-prefix): Further document usage of
9525         this option.
9526         * doc/invoke.texi (-I): Update.
9527
9528 2002-08-20  Richard Henderson  <rth@redhat.com>
9529
9530         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
9531         (emit_block_move): Split out subroutines.
9532         (emit_block_move_via_movstr): New.
9533         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
9534         (emit_block_move_libcall_fn): New.  Construct function prototype for
9535         bcopy as well.
9536         (clear_storage): Split out subroutines.
9537         (clear_storage_via_clrstr): New.
9538         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
9539         (clear_storage_libcall_fn): New.  Construct function prototype for
9540         bzero as well.
9541         (emit_push_insn): Use emit_block_move.
9542         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
9543         (store_constructor): Likewise.
9544
9545 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9546
9547         * objc/objc-act.c (building_objc_message_expr): Rename to
9548         current_objc_message_selector.
9549
9550 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
9551
9552         * objc/objc-act.c (build_ivar_chain): Remove.
9553         (objc_copy_list): Likewise.
9554         (get_class_ivars): Inline call to removed build_ivar_chain
9555         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
9556         slot; use that slot (rather than CLASS_IVARS) when accessing
9557         ivars for base classes.  Call copy_list and chainon instead of
9558         objc_copy_list.
9559         (build_private_template): Call get_class_ivars instead of
9560         build_ivar_chain.
9561         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
9562         (continue_class): Call get_class_ivars instead of
9563         build_ivar_chain.
9564         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
9565         of DECL_BIT_FIELD (which may have been cleared).
9566         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
9567
9568 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9569
9570         * genautomata.c (output_translate_vect, output_state_ainsn_table,
9571         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
9572         in output file.
9573         (output_internal_min_issue_delay_func): Initialize variable in
9574         output file.
9575
9576 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
9577
9578         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
9579         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
9580
9581 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
9582             Steve Ellcey  <sje@cup.hp.com>
9583
9584         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
9585         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
9586         * explow.c (trunc_int_for_mode): Abort when the mode is not
9587         a scaler integer mode.
9588         * combine.c (expand_compound_operation): Don't expand Vector
9589         or Complex modes into shifts.
9590         (expand_field_assignment): Don't do bitwise arithmatic and
9591         shifts on Vector or Complex modes.
9592         (simplify_comparison): Don't call trunc_int_for_mode
9593         for VOIDmode.
9594         * recog.c (general_operand): Likewise.
9595         (immediate_operand): Likewise.
9596         (nonmemory_operand): Likewise.
9597
9598 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
9599
9600         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
9601         multi-instruction SImode constant.  Add REG_EQUAL note.
9602         * config/rs6000/rs6000.md (movsi splitter): Use
9603         rs6000_emit_set_const.
9604
9605 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9606
9607         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
9608         the macro test controlling its use.
9609
9610 2002-08-18  H.J. Lu  (hjl@gnu.org)
9611
9612         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
9613         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
9614         gnu_ld=yes.
9615         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
9616         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
9617         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
9618         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
9619         here.
9620         (cris-*-linux*): Remove setting thread_file here.
9621
9622 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
9623
9624         PR preprocessor/7602
9625         * cppinit.c (path_include): Treat the system environment
9626         variables as being cxx_aware.
9627
9628 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
9629
9630         * c-decl.c (flexible_array_type_p): New function.
9631         (grokdeclarator, finish_struct): Use it.
9632         * doc/extend.texi: Document constraints on use of structures with
9633         flexible array members.
9634
9635 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
9636
9637         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
9638         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
9639         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
9640
9641 2002-08-16  Stan Shebs  <shebs@apple.com>
9642
9643         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
9644         for ObjC with -fnext-runtime.
9645         * doc/cpp.texi: Document it.
9646
9647 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
9648
9649         * doc/install.texi (Final installation): Replace links to individual
9650         build status pages with a link to a common page that lists them all.
9651
9652 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
9653
9654         * doc/invoke.texi: Fix typo.
9655
9656 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
9657
9658         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
9659
9660 2002-08-16  Andrew Haley  <aph@redhat.com>
9661
9662         * tree-inline.c: Add includes for Java inliner.
9663         (remap_decl): Don't handle anonymous types for Java.
9664         (remap_block): Add handling for Java trees.
9665         (copy_scope_stmt): Conditionalize for non-Java use only.
9666         (copy_body_r): Handle Java trees.  Add handling for
9667         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
9668         (initialize_inlined_parameters):  Handle Java trees.
9669         (declare_return_variable): Likewise.
9670         (expand_call_inline): Handle Java trees.
9671         (walk_tree): Likewise.
9672         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
9673         (add_stmt_to_compound): New function.
9674
9675 2002-08-15  Richard Henderson  <rth@redhat.com>
9676
9677         * Makefile.in (LOOSE_WARN): Remove -fno-common.
9678         (NOCOMMON_FLAG): New substitution point.
9679         (GCC_WARN_CFLAGS): Include it.
9680         * configure.in (ac_checking): Set nocommon_flag.
9681         (nocommon_flag): New substitution point.
9682
9683 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9684
9685         * c-tree.h (skip_evaluation): Move declaration...
9686         * c-common.h: ... here.
9687         * c-typeck.c (build_external_ref): Don't assemble_external nor
9688         mark a tree as used if skip_evaluation is set.
9689         * c-parse.in (typeof): New non-terminal to set skip_evaluation
9690         around TYPEOF.
9691         (typespec_nonreserved_nonattr): Use it.
9692
9693 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
9694
9695         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
9696         (xcoff_debug_hooks): Update end_prologue.
9697         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
9698         * debug.h (end_prologue): Add file arg.
9699         (end_epilogue): Add line and file args.
9700         (dwarf2out_end_epilogue): Add line and file args.
9701         (vmsdbgout_after_prologue): Remove.
9702         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
9703         (dwarf2_debug_hooks): Update end_prologue.
9704         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
9705         (dwarfout_end_prologue): Add file arg.
9706         * final.c (vmsdbgout_after_prologue): Remove
9707         (final_end_function): Update end_epilogue call.
9708         (final_scan_insn): Update end_prologue call.
9709         * sdbout.c (sdbout_end_epilogue): Add line and file args.
9710         (sdbout_end_prologue): Add file arg.
9711         (sdb_debug_hooks): Update end_prologue.
9712         (sdb_begin_prologue): Update sdbout_end_prologue call.
9713         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
9714         vmsdbgout_end_function.
9715         (vmsdbgout_end_prologue): New function renamed from
9716         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
9717         (vmsdbgout_end_function): New function.
9718         (vmsdbgout_end_epilogue): Add line and file args. Call
9719         vmsdbgout_source_line.
9720         (write_pclines): Write only valid line numbers.
9721         (write_srccorr): Don't write source correlation records if 0 lines.
9722         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
9723
9724 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
9725
9726         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
9727         (_Unwind_Internal_Ptr): 32 bit version for use in
9728         read_encoded_value_with_base.
9729         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
9730         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
9731         right size.
9732
9733 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9734
9735         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
9736         signed/unsigned warnings.
9737
9738         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
9739         record_reg_classes): Likewise.
9740
9741         * reload.c (reload_inner_reg_of_subreg, push_reload,
9742         find_reloads_address_1): Likewise.
9743
9744 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
9745
9746         * rs6000.c (output_mi_thunk): Return to function section on
9747         TARGET_ELF.
9748
9749         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
9750
9751 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
9752
9753         * config/s390/s390.c (legitimize_address): Optimize loading
9754         of large displacements.
9755
9756 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
9757
9758         * config/alpha/alpha-protos.h: Update.
9759
9760         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
9761         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
9762         (alpha_linkage_symbol_p): New static function.
9763         (print_operand_address): Print linkage operand.
9764
9765         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
9766         variables.
9767         (reloc_kind): New enum.
9768         (struct alpha_funcs): New struct.
9769         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
9770
9771         (alpha_need_linkage): Rewrite.
9772         (alpha_use_linkage): New global function.
9773         (alpha_write_linkage): Rewrite and make static.
9774         (alpha_write_one_linkage): Rewrite
9775
9776         (alpha_start_function): Remove procedure descriptor output.
9777         (alpha_end_function): Write linkages at end of each function.
9778
9779         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
9780         (call_vms_1, call_value_vms_1): Rewrite.
9781
9782         * config/alpha/vms.h (ASM_FILE_END): Remove.
9783
9784 2002-08-14  Richard Henderson  <rth@redhat.com>
9785
9786         * ggc-page.c (RTL_SIZE): New.
9787         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
9788         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
9789
9790 2002-08-14  Richard Henderson  <rth@redhat.com>
9791
9792         * calls.c: Include target.h.
9793         * Makefile.in (calls.o): Update.
9794
9795         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
9796         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
9797
9798 2002-08-14  Richard Henderson  <rth@redhat.com>
9799
9800         * Makefile.in (LOOSE_WARN): Add -fno-common.
9801         * c-common.h (constant_string_class_name): Add missing extern.
9802
9803 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
9804
9805         PR preprocessor/7358
9806         * c-opts.c (check_deps_environment_vars): Ignore main file
9807         for SUNPRO_DEPENDENCIES.
9808         * cppfiles.c (stack_include_file): Ignore main file if
9809         appropriate.
9810         * cpplib.h (struct cpp_options): New member in deps.
9811         * doc/cppenv.texi: Update.
9812
9813 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9814
9815         PR preprocessor/7526
9816         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
9817
9818 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
9819
9820         * doc/invoke.texi (-a): Remove documentation.
9821         (-fprofile-arcs): Remove reference to -a, -ax options.
9822         * doc/gcov.texi (Gcov Data Files): Data might be merged.
9823
9824 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9825
9826         Fix PR/7566
9827         * c-semantics.c (genrtl_case_label): Don't (mis)use
9828         warning_with_decl.
9829
9830 2002-08-14  Dale Johannesen  <dalej@apple.com>
9831
9832         * explow.c (emit_stack_restore):  Emit memory clobbers
9833         preceding the stack pop, to prevent the scheduler from
9834         moving refs to variable arrays below this pop.
9835         * reload1.c (reload):  Preserve these clobbers for sched2.
9836         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
9837
9838 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9839
9840         * c-opts.c (c_common_post_options): Correct test.
9841
9842 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9843
9844         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
9845         order in call to fprintf.
9846
9847 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9848
9849         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
9850
9851 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
9852
9853         * reload.c (find_reloads): Handle constraint letters marked by
9854         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
9855         (alternative_allows_memconst): Likewise.
9856         * reload1.c (maybe_fix_stack_asms): Likewise.
9857         * recog.c (asm_operand_ok, preprocess_constraints,
9858         constrain_operands): Likewise.
9859         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
9860         * local-alloc.c (block_alloc, requires_inout): Likewise.
9861         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
9862
9863         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
9864         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
9865         * doc/tm.texi: Document these two new target macros.
9866
9867         * config/s390/s390.c (s390_expand_plus_operand): Accept already
9868         valid operands.
9869         (q_constraint): New function.
9870         config/s390/s390-protos.h (q_constraint): Declare it.
9871         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
9872         (EXTRA_MEMORY_CONSTRAINT): New macro.
9873
9874         * config/s390/s390.md: Throughout the machine description,
9875         replace all instances of the constraint combinations 'Qo'
9876         or 'oQ' with simply 'Q'.
9877
9878 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9879
9880         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
9881         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
9882         (LIBGCC2_CFLAGS): Compile with -mrelax.
9883
9884 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9885
9886         * doc/invoke.texi: Document -minmax for 68HC12.
9887
9888         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
9889         ("uminqi3"): Likewise.
9890         ("uminhi3", "umaxhi3"): Likewise.
9891
9892         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
9893         (TARGET_MIN_MAX): Define.
9894         (TARGET_SWITCHES): New option -minmax/-mnominmax.
9895
9896 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9897
9898         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
9899         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
9900
9901         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
9902         (ret, declare, farsym): New gas macros.
9903         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
9904         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
9905         and declare the symbol far when compiled with -mlong-calls.
9906         (__far_trampoline): New for 68HC12 trampoline code to invoke a
9907         far handler using jsr/bsr.
9908
9909         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
9910         (jsr): New macro to transform a 'jsr' into a 'call'.
9911
9912 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
9913
9914         * doc/invoke.texi: Document -mlong-calls for 68HC12.
9915
9916         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
9917         -mlong-calls is specified.
9918         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
9919         assembler directives.
9920         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
9921         (TARGET_SWITCHES): Add -mlong-calls options.
9922         (current_function_far): Declare.
9923
9924         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
9925         into account the page register saved on the stack.
9926         (m68hc11_override_options): Take into account -mlong-calls option.
9927         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
9928
9929         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
9930         if the function is going to be in 68HC12 banked memory (-mlong-calls).
9931         ("*return_16bit"): Likewise.
9932         ("*return_void"): Likewise.
9933         ("call", "call_value"): Use call for a far function call.
9934
9935 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
9936
9937         * toplev.c (parse_options_and_default_flags): Don't call
9938         post_options here.
9939         (general_init): Initialize GC, pools and tree hash here,
9940         instead of lang_independent_init.
9941         (lang_independent_init): Rename backend_init.
9942         (do_compile): Call post_options hook; exit early if there
9943         have been errors after switch processing.
9944         (toplev_main): Update.
9945
9946 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9947
9948         * c-pretty-print.h: Guard against multiple inclusion.
9949         Robustify macros.
9950         (pp_c_attributes): Declare.
9951         * c-pretty-print.c (pp_c_attributes): New function.
9952
9953 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9954
9955         * m68k.c (m68k_output_function_prologue,
9956         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
9957         and NEWS/MOTOROLA.
9958         * genattrtab.c: Remove dpx2 comment.
9959         * libgcc2.c (__enable_execute_stack): Delete versions for
9960         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
9961         sony_news/SYSTYPE_BSD.
9962         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
9963         __gmicro__, __i860__, __NeXT__ and __pyr__.
9964         * rtl.h: Remove convex comment.
9965         * varasm.c: Likewise.
9966
9967 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9968
9969         * c-opts.c (lang_flags): Const-ify.
9970         * ra-build.c (undef_table): Likewise.
9971         * ra.c (eliminables): Likewise.
9972
9973 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
9974
9975         * tree.h: Guard against multiple inclusion.
9976
9977 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
9978
9979         * reload1.c (reload_cse_simplify): Before checking
9980         REG_FUNCTION_VALUE_P, check REG_P.
9981
9982 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
9983
9984         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
9985
9986 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
9987
9988         * c-opts.c (c_common_init_options): Extra braces needed.
9989
9990 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
9991
9992         * sh.c (sh_init_builtins): Add PARAMS to declaration.
9993         (sh_media_init_builtins, sh_expand_builtin): Likewise.
9994         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
9995         (sh_expand_binop_v2sf): Likewise.
9996         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
9997         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
9998         (sh_initialize_trampoline): Likewise.
9999
10000 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
10001
10002         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
10003         new condition code modes.
10004         s390.c (s390_match_ccmode_set): Handle those new CC modes.
10005         (s390_select_ccmode): Likewise.
10006         (s390_branch_condition_mask): Likewise.
10007
10008         * s390-protos.h (s390_tm_ccmode): Declare.
10009         s390.c (s390_tm_ccmode): New function.
10010         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
10011
10012         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
10013         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
10014         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
10015
10016         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
10017         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
10018         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
10019         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
10020         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
10021
10022         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
10023         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
10024         "*cmpqi_ccs_0"): Remove, replace by ...
10025         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
10026         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
10027         "*tstqi", "*tstqi_cconly"): ... these new patterns.
10028
10029         ("*cmpsidi_ccs"): Remove, replace by ...
10030         ("*cmpsi_ccs_sign"): ... this new pattern.
10031         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
10032
10033         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
10034         ("*cli"): ... this new pattern.
10035
10036         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
10037         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
10038         New patterns.
10039         ("adddi3_64"): Rename to "*adddi3_64".
10040         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
10041         ("adddi3"): Adapt expander.
10042
10043         ("*addsi3_cc"): Allow "general_operand" for operand 2.
10044         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10045         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
10046
10047         ("addhi3", "addqi3"): Remove, replace by ...
10048         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
10049
10050         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
10051         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
10052         ("subdi3"): Replace by insn and splitter "*subdi3_31".
10053         ("subdi3"): New expander.
10054
10055         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
10056
10057         ("subhi3", "subqi3"): Remove, replace by ...
10058         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
10059
10060         ("*muldi3_sign"): New pattern.
10061         ("muldi3"): Do not clobber CC.
10062         ("mulsi3"): Likewise.
10063         ("mulsi_6432"): Likewise.
10064
10065 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10066
10067         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
10068         which can change CC0.
10069
10070 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
10071
10072         * gcse.c (adjust_libcall_notes): New function.
10073         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
10074
10075 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
10076
10077         * libgcc2.c (L_bb): Remove unneeded #includes.
10078         (__global_counters, __gthreads_active): Remove unused globals.
10079         (__bb_exit_func): Merge counts into files rather than appending.
10080         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
10081         (ALL_CFLAGS): ... to here.
10082
10083 2002-08-13  Denis Chertykov  <denisc@overta.ru>
10084
10085         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
10086         (function_epilogue): Don't calculate function size.
10087         (ip2k_set_compare): Don't use lookup_const_double.
10088         (asm_file_start): Initialization of commands_in_file removed.
10089         (asm_file_end): Output of commands_in_file removed.
10090
10091         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
10092         __INT_MAX__.
10093
10094 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10095
10096         * c-opts.c (c_common_init_options): Check option array is
10097         sorted if checking enabled.
10098
10099 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
10100
10101         * c-pretty-print.c: #include "c-tree.h".
10102         (pp_c_simple_type_specifier): Tweak.
10103         (pp_c_storage_class_specifier): New.
10104         (pp_c_function_specifier): Likewise.
10105         (pp_c_declaration_specifiers): Likewise.
10106         (pp_c_init_declarator): Likewise.
10107         (pp_c_declaration): Likewise.
10108         (pp_c_direct_declarator): Stub.
10109         (pp_c_declarator): Likewise.
10110         (pp_c_parameter_declaration): Likewise.
10111
10112 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
10113
10114         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
10115         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
10116         struct deferred_opt): New.
10117         (COMMAND_LINE_OPTIONS): Add -M*.
10118         (missing_arg): Update.
10119         (c_common_decode_option): Handle -M*.
10120         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
10121         don't call cpp_post_options.
10122         (c_common_finish, check_deps_environment_vars): Update.
10123         * cppfiles.c (stack_include_file, handle_missing_header): Update.
10124         * cpphash.h (CPP_PRINT_DEPS): Remove.
10125         * cppinit.c: Don't include version.h.
10126         (cpp_create_reader): Don't call deps_init.  Initialize
10127         warn_long_long.
10128         (cpp_read_main_file): Init deps if necessary.
10129         (cpp_destroy): Conditionally free deps.
10130         (cpp_finish): Update.
10131         (no_tgt): Remove.
10132         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
10133         (cpp_post_options): Rename post_options.
10134         * cpplib.h (struct cpp_options): Remove some dependency options;
10135         move others to a new structure.
10136         (cpp_post_options): Remove.
10137         (cpp_finish): Comment.
10138         * fix-header.c (read_scan_file): Don't call cpp_post_options.
10139
10140 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10141
10142         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
10143         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
10144         MMIX_rR_REGNUM as clobbered.
10145         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
10146
10147 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
10148
10149         * diagnostic.h (output_formatted_scalar): Rename from
10150         output_formatted_integer.
10151         * diagnostic.def: Add DK_DEBUG.
10152         * diagnostic.c (output_decimal): Adjust.
10153         (output_long_decimal): Likewise.
10154         (output_unsigned_decimal): Likewise.
10155         (output_octal): Likewise.
10156         (output_long_octal): Likewise.
10157         (output_hexadecimal): Likewise.
10158         (output_long_hexadecimal): Likewise.
10159         * c-pretty-print.c (pp_c_type_specifier): New function.
10160         (pp_c_specifier_qualifier_list): Likewise.
10161         (pp_c_abstract_declarator): Likewise.
10162         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
10163
10164 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
10165
10166         * doc/trouble.texi (Disappointments): Add static constructor and
10167         destructor dependency information for AIX.
10168
10169 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10170
10171         * cpphash.h (struct printer): New from cppmain.c.
10172         (cpp_reader): New member.
10173         * cppmain.c (struct printer): Move to cpphash.h.
10174         (options, print): Remove.
10175         (account_for_newlines, print_line, maybe_print_line,
10176         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
10177         scan_translation_unit_trad, cb_line_change, cb_ident,
10178         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
10179         cb_def_pragma): Make reentrant.
10180
10181 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10182
10183         * real.c (ieee_64): Always define.
10184         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10185         (dec_h): Not used yet, hide it.
10186         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
10187         macro controlling use.
10188         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
10189
10190 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10191
10192         * i386.md (tablejump): Sign extend the operand.
10193         * i386.c (classify_argument): Fix missed case from previous patch.
10194
10195 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
10196
10197         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
10198         to c-copts.c.
10199         (warn_multichar): Die.
10200         (cb_register_builtins): Export.
10201         * c-common.h (warn_multichar, preprocess_file): Remove.
10202         (cb_register_builtins): New.
10203         * c-lang.c (c_init): Remove.
10204         (LANG_HOOKS_INIT): Use c_objc_common_init.
10205         * c-lex.c (init_c_lex): Don't canonicalize filename.
10206         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
10207         (preprocess_file): Make static.  Update for cpplib.
10208         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
10209         (c_common_post_options): Set some cpp options here.
10210         (c_common_init): Move from c-common.c.
10211         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
10212         * cpplib.h (struct cpp_options): Remove in_fname.
10213         (cpp_preprocess_file): Update.
10214         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
10215
10216 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10217
10218         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
10219
10220 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10221
10222         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
10223         backslash in comment preceeding macro definition.
10224         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
10225         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
10226         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
10227
10228 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
10229
10230         * expr.c (store_expr): In condition for checking if value is
10231         generated in TARGET, move call to expr_size last.
10232
10233 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10234
10235         * c-common.c (c_common_init): Call preprocess_file instead.
10236         (c_common_finish): Move to c-opts.c.
10237         * c-common.h (preprocess_file): new.
10238         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
10239         check_deps_environment_vars, c_common_finish): New.
10240         (c_common_decode_option): Update for out_fname and dependencies.
10241         * cppinit.c (init_dependency_output, output_deps): Remove.
10242         (cpp_destroy): Update prototype.
10243         (cpp_add_dependency_target): New.
10244         (cpp_read_main_file): Don't overlay a buffer.
10245         (cpp_finish): Take a deps output stream and write deps to it.
10246         Return the error count.
10247         (cpp_post_options): Don't canonicalize out_fname, or do anything
10248         with dependencies.
10249         * cpplib.h (struct cpp_options): Remove out_fname and
10250         preprocess_only.
10251         (cpp_add_dependency_target): New.
10252         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
10253         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
10254         set preprocess_only.  Don't handle the output stream directly.
10255
10256 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10257
10258         * dsp16xx.c (print_operand): Fix format specifier.
10259         * dsp16xx.md: Avoid automatic aggregate initialization.
10260         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
10261         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
10262         integer constant modifier.
10263         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
10264         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
10265         guards.
10266         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
10267         * v850.c (v850_select_section): Mark parameter with
10268         ATTRIBUTE_UNUSED.
10269         * global.c (global_alloc): Const-ify.
10270         * ra-colorize.c (hardregset_to_string): Fix format specifier.
10271
10272 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10273
10274         * darwin-c.c (darwin_pragma_options): Const-ify.
10275         * darwin.c (machopic_non_lazy_ptr_name,
10276         machopic_validate_stub_or_non_lazy_ptr): Likewise.
10277         (machopic_indirect_data_reference): Wrap variables in macros
10278         controlling their use.
10279         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
10280         (machopic_select_section): Use parentheses around && within ||.
10281         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
10282
10283 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10284
10285         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
10286         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
10287         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
10288         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
10289         mdr_try_remove_redundant_insns, track_w_reload,
10290         mdr_try_wreg_elim): Make function static to match prototype.
10291         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
10292         parameter with ATTRIBUTE_UNUSED.
10293
10294 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10295
10296         * arc.c (arc_init): Don't use ISO C style function definitions.
10297         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
10298         arm_get_strip_length, arm_strip_name_encoding): Likewise.
10299         * avr.h (progmem_section): Likewise.
10300         * h8300.c h8300_asm_insn_count): Likewise.
10301         * m32r.c (init_idents): Likewise.
10302         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
10303         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
10304         * xtensa.c (xtensa_build_va_list): Likewise.
10305
10306 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
10307
10308         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
10309         * c-opts.c (parse_option): Rename find_opt.
10310         (set_std_c99): New function.
10311         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
10312         (missing_arg): Remove OPT_std_bad.  Handle -o.
10313         (c_common_decode_option): Handle input and output file names,
10314         -o and -remap.  Clean up -std= handling.
10315         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
10316         (cpp_handle_option): Similarly.  Don't handle filenames.
10317
10318 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
10319
10320         * i386.c (classify_argument): Fix computing of field's offsets.
10321
10322 2002-08-11  Andreas Jaeger  <aj@suse.de>
10323
10324         PR target/7531:
10325         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
10326
10327 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
10328
10329         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
10330         reference to clk_objective_c with flag_objc.
10331         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
10332         Likewise.
10333         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10334
10335 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
10336
10337         * c-opts.c (set_std_cxx98, set_std_c89): New.
10338         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10339         (c_common_decode_option): Handle new switches from cppinit.c.
10340         Add -std=gnu++98.
10341         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
10342         (no_arg, no_num): Remove.
10343         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
10344         switches apart from -lang-objc and lang-asm.
10345         (cpp_handle_option): Similarly.
10346         * cpplib.h (cpp_set_lang): New.
10347         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
10348         -std=gnu++98.
10349         * objc/lang-specs.h: Remove -ansi.
10350
10351 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10352                                Graham Stott
10353
10354         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
10355         errors.
10356
10357 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10358
10359         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
10360         emit_jump_insn): Fix uninitialized variable.
10361         * gcov.c (init_line_info): Likewise.
10362         * genautomata.c (transform_3): Add braces around ambiguous
10363         else.
10364         * ifcvt.c (cond_exec_process_insns): Mark parameter with
10365         ATTRIBUTE_UNUSED.
10366         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
10367         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
10368         variable.
10369
10370         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
10371         warnings in output files.
10372
10373 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
10374
10375         * c-common.c (flag_objc): New.
10376         * c-common.h (c_language_kind): Get rid of clk_objective_c
10377         enum value.
10378         (flag_objc): New extern declaration.
10379         * c-decl.c (implicitly_declare): Call objc_check_decl
10380         instead of maybe_objc_check_decl.
10381         (finish_decl): Likewise.
10382         (grokfield): Likewise.
10383         (finish_struct): Likewise.
10384         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
10385         (maybe_objc_comptypes): Rename to objc_comptypes.
10386         (maybe_building_objc_message_expr): Rename to
10387         objc_message_selector.
10388         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
10389         replace with flag_objc as needed.
10390         * c-opts.c (c_common_init_options): Likewise.
10391         (c_common_decode_option): Likewise.
10392         * c-parse.in (init_reswords): Likewise.
10393         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
10394         (maybe_objc_comptypes): Rename to objc_comptypes.
10395         (maybe_building_objc_message_expr): Rename to
10396         objc_message_selector.
10397         * c-typeck.c (comptypes): Call objc_comptypes instead of
10398         maybe_objc_comptypes, and/or objc_message_selector instead of
10399         maybe_building_objc_message_expr.
10400         (comp_target_types): Likewise.
10401         (convert_for_assignment): Likewise.
10402         (warn_for_assignment): Likewise.
10403         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
10404         independently of those for other languages.
10405         * objc/objc-act.c (maybe_objc_comptypes): Delete.
10406         (maybe_objc_check_decl): Delete.
10407         (maybe_building_objc_message_expr): Rename to
10408         objc_message_selector.
10409         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
10410         clk_objective_c; set flag_objc flag.
10411
10412 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10413
10414         * ifcvt.c (find_if_case_2): Test correct basic block for size.
10415
10416 2002-08-09  Dale Johannesen  <dalej@apple.com>
10417
10418         * config/rs6000/rs6000.md: Add sibcall patterns.
10419         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
10420         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
10421         Rewritten to handle sibcalls.
10422         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
10423         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
10424
10425 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10426
10427         * profile.c (da_file_name): New static var.
10428         (init_branch_prob): Initialize it.
10429         (end_branch_prob): Remove da file.
10430
10431         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
10432         * configure.in (coverage_flags): Default to nothing.
10433         * configure: Rebuilt.
10434
10435 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
10436
10437         * Makefile.in (c-opts.o): Update
10438         * c-opts.c: Include intl.h.
10439         (print_help): Move from cppinit.c.  Remove unused options.
10440         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
10441         (missing_arg): Complain for switches without an argument.
10442         (c_common_decode_option): Reject missing joined arguments.
10443         Handle new switches from cppinit.c.
10444         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10445         (cpp_handle_option): Similarly.
10446         (print_help): Moved to c-opts.c.
10447         * cpplib.h (struct cpp_options): Remove help_only.
10448         * gcc.c (cpp_unique_options): Remove -$.
10449         * doc/cppopts.texi: Undocument -h.
10450
10451 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10452
10453         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
10454         legitimate constant.
10455         (legitimate_pic_operand_p): Neither pic operand.
10456         (legitimate_address_p): But legitimate address.
10457         (get_thread_pointer): Generate MEM/u instead of CONST around
10458         UNSPEC_TP.
10459         (print_operand): Remove printing of UNSPEC_TP.
10460         (print_operand_address): And print it here.
10461
10462 2002-08-08  Devang Patel  <dpatel@apple.com>
10463
10464         * objc/objc-act.c (build_selector_translation_table): Issue warning,
10465         when  -Wselector is used,if method for which selector is being
10466         created does not exist.
10467
10468 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
10469
10470         * config/sh/sh.c (prepare_move_operands): Only call
10471         target_reg_operand if TARGET_SHMEDIA.
10472
10473 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10474
10475         * config/rs6000/rs6000.h, config/rs6000/aix.h,
10476         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
10477         two patches.
10478         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
10479
10480 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
10481             Richard Henderson  <rth@redhat.com>
10482
10483         * emit-rtl.c (gen_rtx_REG): After reload, only return
10484         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
10485
10486 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10487
10488         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
10489         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
10490         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
10491         macro.
10492
10493 2002-08-08  Adam Nemet  <anemet@lnxw.com>
10494
10495         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
10496         register.
10497         (thumb_expand_prologue): Likewise.
10498         (thumb_output_function_prologue): Likewise.
10499         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
10500         the additional push of the PIC register.
10501
10502 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10503
10504         * configure.in (enable_coverage): New enable switch.
10505         * configure: Rebuilt.
10506         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
10507         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
10508         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
10509         (mostlyclean): Remove coverage files.
10510         * doc/install.texi: Document enable_coverage.
10511
10512         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
10513         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10514         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
10515         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
10516         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
10517         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
10518         files.
10519
10520 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
10521
10522         * c-opts.c (cpp_opts): New.
10523         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
10524         (c_common_decode_options): Handle cpplib switches.
10525         (c_common_init_options): Set cpp_opts.
10526         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
10527         (cpp_handle_option): Similarly.
10528
10529 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
10530
10531         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
10532         (TARGET_ALTIVEC_ABI): Same.
10533         (TARGET_ALTIVEC_VRSAVE): Same.
10534
10535         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
10536         icode not CODE_FOR_nothing.  Change switch to if.
10537
10538 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
10539
10540         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
10541
10542 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
10543
10544         * stor-layout.c (place_union_field): For bitfields if
10545         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
10546         TYPE_USER_ALIGN.
10547
10548 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10549
10550         * pa.c (struct deferred_plabel): Constify name field.
10551
10552 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10553
10554         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
10555
10556 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10557
10558         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
10559         local_prefix are the same.
10560         * configure: Rebuilt.
10561
10562 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
10563             Richard Henderson  <rth@redhat.com>
10564
10565         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
10566         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
10567         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
10568         (place_field): Likewise.
10569         * config/i386/i386.c (x86_field_alignment): Don't check
10570         DECL_USER_ALIGN here.
10571         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
10572         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
10573         prototype.
10574         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
10575         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
10576         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
10577         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
10578         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
10579         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
10580
10581 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
10582
10583         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
10584         * c-common.c: Don't include tree-inline.h.
10585         (c_common_init_options, c_common_post_options): Move to c-opts.c.
10586         * c-common.h (c_common_decode_option): New.
10587         * c-decl.c (c_decode_option): Remove.
10588         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
10589         * c-opts.c: New file.
10590         * c-tree.h (c_decode_option): Remove.
10591         * doc/passes.texi: Update.
10592         * objc/objc-act.c (objc_decode_option): Remove.
10593         * objc/objc-act.h (objc_decode_option): Remove.
10594         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
10595         c_common_decode_option.
10596
10597 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
10598
10599         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
10600         dependency on TARGET_DOUBLE_FLOAT.
10601
10602 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
10603
10604         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
10605         overwrite callee-save registers.  Fix comment.
10606
10607 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
10608
10609         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
10610         in target_flags based on ISA, if it was not set on the command
10611         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
10612         support Branch Likely instructions.
10613         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
10614         (TARGET_BRANCHLIKELY): Likewise.
10615         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
10616         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
10617         ISA_HAS_BRANCHLIKELY.
10618         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
10619         * doc/invoke.texi: Document new MIPS -mbranch-likely and
10620         -mno-branch-likely options.
10621
10622 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10623
10624         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
10625
10626         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
10627         $(GCONFIG_H).
10628
10629 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
10630
10631         * c-decl.c (duplicate_decls): Error out for incompatible TLS
10632         declarations.
10633
10634         * testsuite/gcc.dg/tls/diag-3.c: New.
10635
10636 2002-08-06  Dale Johannesen  <dalej@apple.com>
10637
10638         * c-common.c (fname_decl): Use line number 0 for
10639         __func__, to avoid confusing debuggers.
10640
10641 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
10642
10643         * gcov.c: Tidy.
10644         (struct line_info, struct coverage): New structures.
10645         (gcov_file_name, gcov_file): Remove globals.
10646         (output_data): Take source file parameter. Fix memory leak. Break
10647         up into ...
10648         (init_line_info, output_line_info, make_gcov_file_name,
10649         accumulate_branch_counts): ... here.
10650         (calculate_branch_probs, function_summary): Adjust.
10651         (main): Adjust.
10652         (function_*): Remove global variables.
10653
10654 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10655
10656         * dwarf2out.c: Remove unused macros.
10657
10658 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10659
10660         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
10661
10662 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
10663
10664         * cppinit.c (struct lang_flags): Rename trigraphs std.
10665         (set_lang): Update.
10666         * cpplib.h (struct cpp_options): New member std.
10667         * cppmacro.c (_cpp_builtin_macro_text): Use std.
10668         (collect_args): Flag whether to swallow a possible future
10669         comma pasted with varargs.
10670         (replace_args): Use this flag.
10671         * doc/cpp.texi: Update varargs extension documentation.
10672
10673 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10674
10675         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
10676
10677 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10678
10679         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
10680         and MODE_CLASS_INT modes.
10681
10682 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
10683
10684         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
10685         --{enable,disable}-threads is given to configure.
10686         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
10687         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
10688         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
10689         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
10690         Remove thread_file setting here.
10691
10692 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
10693
10694         * doc/install.texi (Binaries): Update Bull Freeware URL.
10695
10696 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10697
10698         * doc/gcc.texi (Top): Rename Index to Keyword Index.
10699
10700 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
10701
10702         * gcov.c (output_data): Round to % to nearest, tweak formatting.
10703
10704 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
10705
10706         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
10707         of the operands into MINUS_EXPR if code is PLUS_EXPR.
10708
10709 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
10710
10711         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
10712         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
10713         drectve_section): Define.
10714         * config/i386/t-interix: Replace interix.o rule with winnt.o.
10715         * config/i386/interix.c: Remove.
10716
10717 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
10718
10719         * attribs.c: Don't include obstack.h.
10720         * builtins.c: Likewise.
10721         * cfganal.c: Likewise.
10722         * cfgbuild.c: Likewise.
10723         * cfgcleanup.c: Likewise.
10724         * emit-rtl.c: Likewise.
10725         * loop.c: Likewise.
10726         * stmt.c: Likewise.
10727
10728         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
10729
10730 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
10731
10732         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
10733
10734 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
10735
10736         * doc/invoke.texi: Remove duplicated paragraph describing
10737         TARGET_SWITCHES.
10738
10739 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
10740
10741         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
10742         * collect2.h (permanent_obstack): Delete declaration.
10743         * collect2.c (permanent_obstack): Delete definition.
10744         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
10745         * expr.c: Don't include obstack.h.
10746         (permanent_obstack): Delete declaration.
10747         * function.c: Don't include obstack.h.
10748         (permanent_obstack): Delete declaration.
10749         * integrate.c: Don't include obstack.h.
10750         (function_maybepermanent_obstack): Delete declaration.
10751         * print-tree.c (debug_tree): Use x*alloc not permalloc.
10752         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
10753         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
10754         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
10755         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
10756         of permalloc, expralloc, perm_calloc.
10757         * tree.c (permanent_obstack): Delete definition.
10758         (init_ttree): Rename from init_obstacks.
10759         (permalloc): Delete.
10760         (perm_calloc): Delete.
10761         (dump_tree_statistics): Don't print information about
10762         permanent_obstack.
10763         * varasm.c (assemble_start_function): Use xstrdup instead of
10764         permalloc/strcpy.
10765         (assemble_variable): Likewise.
10766         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
10767         permalloc.
10768         (unicosmk_add_extern): Likewise.
10769         * config/c4x/c4x.c (c4x_external_ref): Likewise.
10770         (c4x_global_label): Likewise.
10771         * config/frv/frv.c (frv_encode_section_info): Likewise.
10772         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
10773         (i386_pe_record_exported_symbol): Likewise.
10774         * config/mips/mips.c (mips_output_external): Likewise.
10775         (mips_output_external_libcall): Likewise.
10776         * config/pa/pa.c: (permanent_obstack): Delete declaration.
10777         (output_call): Use ggc_strdup instead of allocating on
10778         permanent_obstack.
10779         * config/romp/romp.c: Include ggc.h.
10780         (get_symref): Don't declare permanent_obstack, use ggc_strdup
10781         intead of permanent_obstack.
10782         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
10783         instead of permalloc.
10784         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
10785         instead of permalloc
10786         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
10787         instead of permalloc.
10788         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
10789         permalloc.
10790
10791 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
10792
10793         Contribute a port developed primarily by Michael Meissner,
10794         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
10795         * config.gcc: Add frv-elf target.
10796         * config/frv/cmovd.c: New file.
10797         * config/frv/cmovh.c: New file.
10798         * config/frv/cmovw.c: New file.
10799         * config/frv/frv-abi.h: New file.
10800         * config/frv/frv-asm.h: New file.
10801         * config/frv/frv-modes.def: New file.
10802         * config/frv/frv-protos.h: New file.
10803         * config/frv/frv.c: New file.
10804         * config/frv/frv.h: New file.
10805         * config/frv/frv.md: New file.
10806         * config/frv/frvbegin.c: New file.
10807         * config/frv/frvend.c: New file.
10808         * config/frv/lib1funcs.asm: New file.
10809         * config/frv/media.h: New file.
10810         * config/frv/modi.c: New file.
10811         * config/frv/t-frv: New file.
10812         * config/frv/uitod.c: New file.
10813         * config/frv/uitof.c: New file.
10814         * config/frv/ulltod.c: New file.
10815         * config/frv/ulltof.c: New file.
10816         * config/frv/umodi.c: New file.
10817         * config/frv/xm-frv.h: New file.
10818
10819         * config/frv/media.h: Removed again.
10820
10821 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10822
10823         * gcov.c (bb_file_time): New static variable.
10824         (object_directory): May also be object file.
10825         (preserve_paths): New static variable.
10826         (print_usage): Adjust.
10827         (options): Adjust.
10828         (process_args): Adjust.
10829         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
10830         file. Find modification date on bb file.
10831         (read_profile): Don't rewind a NULL file.
10832         (format_hwint): New static function.
10833         (function_summary): Use format_hwint.
10834         (output_data): SOURCE_FILE_NAME is never relative to
10835         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
10836         mangling. Adjust output format to make it more machine readable.
10837         * doc/gcov.texi: Document & clarify semantics.
10838
10839 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10840
10841         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
10842
10843 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10844
10845         * gcc.c (cc1_options): Pass output file as auxbase when
10846         appropriate.
10847         * profile.c (init_branch_prob): FILENAME has already had ending
10848         stripped.
10849         * final.c (end_final): Likewise.
10850         * toplev.c (aux_base_name): New global.
10851         (compile_file): Pass aux_base_name to init init_branch_prob and
10852         end_final.
10853         (independent_decode_option, case 'a'): New auxinfo options.
10854         (case 'd'): Protect against mising basename.
10855         (do_compile): Initialize aux_base_name.
10856         * toplev.h (aux_base_name): New global.
10857         * doc/invoke.texi: Adjust documentation.
10858
10859 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
10860
10861         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
10862         of TARGET_ALIGN_DOUBLE.
10863
10864 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
10865
10866         * diagnostic.c (inform): New function.
10867         * diagnostic.h (inform): Declare.
10868
10869 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
10870
10871         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
10872         (movhi_internal): Same.
10873         (movqi_internal): Same.
10874         (movdi_internal64): Same.
10875
10876         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
10877
10878         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
10879         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
10880         (COMMON_ASM_OP): Define.
10881         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
10882         Use ALIGN parameter.
10883         (LOCAL_COMMON_ASM_OP): Define.
10884         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
10885
10886 2002-08-03  Roger Sayle  <roger@eyesopen.com>
10887
10888         * builtins.def: Define new builtin functions exp, expf, expl,
10889         log, logf and logl (and their __builtin_* variants).
10890         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
10891         Define exp_optab and log_optab.
10892         * optabs.c (init_optans): Initialize exp_optab and log_optab.
10893         * genopinit.c (optabs): Implement exp_optab and log_optab
10894         using exp?f2 and log?f2 patterns.
10895         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
10896         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
10897         (expand_builtin): Ignore the new builtins (and all cos and
10898         sin variants) when not optimizing.  Expand new builtins via
10899         expand_builtin_mathfn when flag_unsafe_math_optimizations.
10900
10901         * doc/extend.texi: Document new exp and log builtins.
10902         * doc/md.texi: Document new exp?f2 and log?f2 patterns
10903         (and previously undocumented cos?f2 and sin?f2 patterns).
10904
10905 2002-08-03  Jason Merrill  <jason@redhat.com>
10906
10907         * explow.c (int_expr_size): New fn.
10908         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
10909         * expr.h: Declare it.
10910
10911 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
10912
10913         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
10914         gengtype-* dependencies.
10915
10916 2002-08-02  Eric Christopher  <echristo@redhat.com>
10917
10918         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
10919         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
10920         #ifndef to #undef.
10921         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
10922
10923 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
10924
10925         PR optimize/7067
10926         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
10927         small if optimizing for size.
10928
10929 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
10930
10931         * configure.in (FORBUILD): Use $build_alias.
10932         * configure: Regenerated.
10933
10934 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
10935
10936         * config.gcc: Don't include mips/abi64.h in $tm_file.
10937         * hard-reg-set.h (call_really_used_regs): Declare.
10938         * config/mips/abi64.h: Remove file.
10939         * config/mips/linux.h,
10940         * config/mips/iris6.h: Don't include it.
10941         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
10942         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
10943         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
10944         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
10945         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
10946         Bring across definitions from abi64.h.
10947         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
10948         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
10949         (struct mips_args): Use it.
10950         * config/mips/mips.c (mips_conditional_register_usage): Define.
10951
10952 2002-08-02  Jason Merrill  <jason@redhat.com>
10953
10954         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
10955         * langhooks.c (lhd_expr_size): Define default.
10956         * langhooks.h (struct lang_hooks): Add expr_size.
10957         * explow.c (expr_size): Call it.
10958         * expr.c (store_expr): Don't copy an expression of size zero.
10959         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
10960         to store.
10961         * Makefile.in (builtins.o): Depend on langhooks.h.
10962
10963 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10964
10965         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
10966         * ra-debug.c: Include "tm_p.h".
10967         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
10968
10969 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
10970
10971         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
10972         when not honoring signalling NaNs.
10973         (simplify_ternary_operation): a == b has a definite value
10974         when not honoring NaNs.
10975
10976 2002-08-02  Jason Merrill  <jason@redhat.com>
10977
10978         * gdbinit.in (pct): New macro.
10979
10980 2002-08-01  Stan Shebs  <shebs@apple.com>
10981             Andreas Tobler  <toa@pop.agri.ch>
10982
10983         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
10984         plays nice with Darwin headers.
10985         (_BSD_RUNE_T_DEFINED_): Likewise.
10986
10987 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
10988
10989         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
10990         * cppinit.c (cpp_post_options): Likewise.
10991
10992         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
10993         warning about 'LL' suffix (but not 'ULL' etc) when
10994         -Wno-long-long is in effect.
10995
10996         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
10997         Check for failing time()/localtime(), issue a warning, and
10998         make __TIME__ and __DATE__ expand to fallback strings.
10999
11000         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
11001         and __TIME__ when the date and time cannot be determined.
11002
11003 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11004
11005         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
11006
11007 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
11008
11009         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
11010
11011 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11012
11013         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
11014         (mipsisa64sb1el-*-elf*): Likewise.
11015         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
11016         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
11017         (TARGET_SB1, TUNE_SB1): New macros.
11018         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
11019         -mtune flags.
11020
11021 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
11022
11023         * varasm.c (asm_emit_uninitialized): Return false if global BSS
11024         and ASM_EMIT_BSS not supported by target.
11025         (assemble_variable): Do not duplicate uninitialized logic.
11026         Fall through if asm_emit_uninitialized failed.
11027
11028 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
11029
11030         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
11031
11032 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
11033
11034         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
11035         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
11036
11037         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
11038         HOST_BITS_PER_WIDE_INT == 64.
11039
11040 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11041
11042         * df.c (df_insn_table_realloc): Change parameter to unsigned.
11043         * optabs.c (expand_binop): Make variable unsigned.
11044         * simplify-rtx.c (simplify_subreg): Likewise.
11045         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
11046
11047 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11048
11049         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
11050
11051 2002-08-01  Richard Henderson  <rth@redhat.com>
11052
11053         * toplev.c (parse_options_and_default_flags): Don't set
11054         flag_reorder_blocks for -Os.
11055
11056         * config/avr/avr.c (avr_optimization_options): Remove.
11057         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
11058         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
11059         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
11060
11061 2002-08-01  H.J. Lu <hjl@gnu.org>
11062             Richard Henderson  <rth@redhat.com>
11063
11064         * output.h (DECL_READONLY_SECTION): Remove.
11065         (decl_readonly_section): Declare.
11066         * varasm.c (decl_readonly_section): New.
11067         (default_section_type_flags, default_select_section): Use it.
11068         * config/arm/pe.c (arm_pe_unique_section): Likewise.
11069         * config/i386/interix.c (i386_pe_unique_section): Likewise.
11070         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
11071         * config/mcore/mcore.c (mcore_unique_section): Likewise.
11072         * config/mips/mips.c (mips_unique_section): Likewise.
11073
11074 2002-08-01  Richard Henderson  <rth@redhat.com>
11075
11076         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
11077         refers to a subroutine parameter.
11078
11079 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
11080
11081         * varasm.c (assemble_visibility): Strip name encoding.
11082
11083 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
11084
11085         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
11086         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
11087         when there is no frame pointer.
11088         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
11089         registers properly.
11090         * config/ns32k/__unorddf2.c: New file.
11091         * config/ns32k/__unordsf2.c: New file.
11092         * config/ns32k/t-ns32k: New file.
11093         * config.gcc (ns32k-*-netbsd*): Use it.
11094
11095 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
11096
11097         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
11098
11099 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11100
11101         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
11102
11103 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
11104
11105         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
11106
11107 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
11108
11109         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
11110
11111 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11112
11113         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
11114         n_sets): Removed.
11115         (expr_hash_table, set_hash_table): Type changed to ...
11116         (struct hash_table): New type.
11117         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
11118         insert_expr_in_table, insert_set_in_table, compute_hash_table,
11119         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
11120         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
11121         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
11122         (alloc_hash_table): New.
11123         (free_set_hash_table, free_expr_hash_table): Merged to ...
11124         (free_hash_table): New.
11125         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
11126         (compute_hash_table_work): New.
11127         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
11128         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
11129         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
11130         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
11131         hoist_code, one_code_hoisting_pass,
11132         trim_ld_motion_mems): Altered due to changed type of hash tables.
11133
11134 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
11135
11136         * final.c (output_alternate_entry_point):
11137         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
11138
11139 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11140
11141         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
11142         avoid ISO C style function definition.
11143
11144         * expr.c (expand_assignment): Delete unused variable.
11145
11146 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
11147
11148         * c-common.c (cb_register_builtins): Set
11149         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
11150         is given, and to 0 otherwise.
11151         * combine.c (simplify_if_then_else): HONOR_NANS
11152         implies FLOAT_MODE_P.
11153
11154 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11155
11156         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
11157         (cpp_handle_option): Don't handle it.
11158         (print_help): Update.
11159         * doc/cppopts.texi: Update.
11160
11161 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11162
11163         * c-common.c (cb_register_builtins): If C++, define
11164         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
11165         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
11166 cp:
11167         * lang-specs.h: Simplify in accordance with new code in
11168         c-common.c.
11169
11170 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
11171
11172         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
11173         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
11174         * c-decl.c: Move all warning and flag variables to c-common.c.
11175         * c-format.c: Move all warning variables to c-common.c.
11176         * c-tree.h: Move all warning and flag declarations to c-common.h.
11177         * objc/objc-act.c: Move all warning variables to c-common.c.
11178         (flag_warn_protocol): Rename warn_protocol.
11179
11180 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11181
11182         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
11183
11184 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
11185
11186         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
11187         .section prefix.
11188
11189 2002-07-31  Stan Shebs  <shebs@apple.com>
11190
11191         * config.gcc (i[34567]86-*-darwin*): New configuration.
11192         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
11193         defining.
11194         (TARGET_ENCODE_SECTION_INFO): Ditto.
11195         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
11196         * config/darwin.c (machopic_indirect_data_reference): Remove
11197         setting of RTX_UNCHANGING_P.
11198         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
11199         not to be applied to sums.
11200         * config/i386/t-darwin: New file.
11201         * config/i386/darwin.h: New file.
11202         * config/i386/i386.h (TARGET_MACHO): Add default definition.
11203         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
11204         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
11205         label and not the GOT add.
11206         (constant_address_p): For Mach-O, seeing a CONST is enough.
11207         (legitimate_pic_address_disp_p): Add a Mach-O case.
11208         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
11209         (legitimize_pic_address): Use generic Mach-O code to legitimize.
11210         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
11211         if outputting a difference.
11212         (ix86_output_addr_diff_elt): Add Mach-O case.
11213         (ix86_expand_move): Similarly.
11214         (ix86_expand_call): Similarly.
11215         (current_machopic_label_num): New global.
11216         (machopic_output_stub): New function.
11217         (ix86_value_regno): New function.
11218         (ix86_function_value): Use it instead of VALUE_REGNO.
11219         (ix86_libcall_value): Ditto.
11220         * config/i386/unix.h (VALUE_REGNO): Remove.
11221
11222 2002-07-31  Graham Stott  <grahas@btinternet.com>
11223
11224         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
11225         hash for LABEL_REF's.
11226
11227 2002-07-31  Graham Stott  <grahams@btinternet.com>
11228
11229         * config/rs6000/rs6000.c (spe_init_builtins,
11230         altivec_init_builtins, rs6000_common_init_builtins):
11231         Replace ANSI with K&R function def.
11232
11233 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
11234
11235         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
11236         for CCFPmode.
11237
11238 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11239
11240         * config/mips/crtn.asm: Don't use __mips16 to determine the
11241         return-address offset.  Define RA to a suitable temporary
11242         register for the return address.
11243
11244 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
11245
11246         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
11247         constraints to 'd'.
11248
11249 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
11250
11251         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
11252         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
11253         patch on 2002-07-29.)
11254         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11255
11256 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11257
11258         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
11259         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
11260         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
11261         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
11262         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
11263         (ASM_GLOBALIZE_LABEL): Delete.
11264         (GLOBAL_ASM_OP): Define.
11265
11266         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
11267
11268         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
11269         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
11270
11271 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
11272
11273         * doc/extend.texi (Hints implementation): Document that GCC
11274         mostly ignores `register'.
11275
11276 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
11277
11278         * flags.h: Declare flag_finite_math_only.
11279         Use it in definition of HONOR_NANS and
11280         HONOR_INFINITIES.
11281         * c-common.c (cb_register_builtins): Emit
11282         __FINITE_MATH_ONLY__ when flag_finite_math_only
11283         is set.
11284         * combine.c (simplify_if_then_else): If
11285         flag_finite_math_only is set, a == b has a
11286         definite value.
11287         * toplev.c: Initialize flag_finite_math_only.
11288         (set_flags_fast_math): Set it on -ffast-math.
11289         (flag_fast_math_set_p): Test it.
11290         * doc/invoke.texi: Document -ffinite-math-only.
11291
11292 2002-07-30  Richard Henderson  <rth@redhat.com>
11293
11294         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
11295         (noce_process_if_block): Likewise.
11296
11297 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
11298
11299         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
11300         Bail out early if false_expr is NULL and we'd crash due to this.
11301         * genemit.c (gen_expand): Recognize return insns even if the return
11302         appears in a parallel.
11303         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
11304         * config/fp-bit.c: Likewise.
11305         * doc/tm.texi: Document it.
11306
11307 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
11308             Zack Weinberg  <zack@codesourcery.com>
11309
11310         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
11311         CODE_FOR_nothing.  Change switch to if.
11312         (rs6000_expand_binop_builtin): Same.
11313         (rs6000_expand_builtin): Expand builtin if target support enabled.
11314         (rs6000_init_builtins): Init builtin if target support enabled.
11315         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
11316
11317 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11318
11319         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
11320
11321 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
11322
11323         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
11324
11325 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
11326
11327         * sh.md (cond_delay_slot): New attribute.
11328         (cbranch delay): Use it for anulled-true case.
11329         (stuff_delay_slot): New pattern.
11330         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
11331         delay slot insn.
11332         (gen_far_branch): Emit stuff_delay_slot pattern.
11333
11334 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11335
11336         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
11337
11338 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
11339
11340         * fold-const.c: Fix comment typos.
11341         * gcse.c: Likewise.
11342         * reload1.c: Likewise.
11343
11344 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11345
11346         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
11347         for TARGET_SPE.
11348
11349 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11350
11351         * c-pretty-print.h (pp_c_statement): Declare.
11352         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
11353         (pp_c_statement): Define.
11354
11355 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11356
11357         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
11358         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11359         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
11360         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
11361         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
11362         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
11363
11364         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
11365         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
11366
11367 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11368
11369         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
11370         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
11371         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
11372         (pp_c_expression): Update.
11373
11374 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11375
11376         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
11377         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
11378         * alpha/vms-ld.c (main): Likewise.
11379         * dsp16xx.c (double_reg_to_memory): Likewise.
11380         * mcore.c (mcore_expand_prolog): Likewise.
11381         * cppfiles.c (read_name_map): Likewise.
11382         * gensupport.c (process_rtx, identify_predicable_attribute,
11383         alter_test_for_insn): Likewise.
11384         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
11385
11386 2002-07-29  Roger Sayle  <roger@eyesopen.com>
11387
11388         * builtins.c (expand_builtin):  Change the default behavior to
11389         only issue an error if the builtin function doesn't have a
11390         fallback library call.  Remove several cases handled by the
11391         new default.
11392
11393 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
11394
11395         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
11396         floating point format of the target is IEEE.
11397         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
11398         format of the target is DEC.
11399
11400 2002-07-29  Richard Henderson  <rth@redhat.com>
11401
11402         * unroll.c (verify_addresses): Remove.
11403         (find_splittable_givs): Never split DEST_ADDR givs.
11404
11405 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
11406
11407         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
11408         is exhaustive.
11409         (Files): Improve documentation on generated source files.
11410
11411         * doc/extend.texi (Translation implementation): Document what
11412         diagnostics look like.
11413         (Identifiers implementation): Document that there's normally no
11414         limit on identifier names.
11415         (Integers implementation): Document two's complement.
11416         (Hints implementation): Document that GCC honors 'inline', mostly.
11417         (Preprocessing directives implementation): Document that GCC
11418         requires the current time.
11419
11420 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
11421
11422         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
11423         (pp_initializer): New macro.
11424         (pp_c_initializer): Declare.
11425         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
11426         (pp_c_initializer): Define.
11427         (pp_c_initializer_list): New function.
11428         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
11429         VECTOR_CST, CONSTRUCTOR.
11430         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
11431         IMAGPART_EXPR.
11432         (pp_c_cast_expression): Handle FLOAT_EXPR.
11433         (pp_c_assignment_expression): Handle INIT_EXPR.
11434         (pp_c_expression): Update.
11435
11436 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
11437
11438         * objc/objc-act.c (objc_init): Return immediately if filename
11439         is NULL.
11440
11441 2002-07-29  Eric Christopher  <echristo@redhat.com>
11442
11443         * config/mips/elf.h: Remove ecoff.h and gofast includes.
11444         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
11445         (SDB_DEBUGGING_INFO): Undefine.
11446         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
11447         (PUT_SDB_SIZE): Remove.
11448         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
11449         (STARTFILE_SPEC): Add isa3264 define.
11450         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
11451         * config/mips/ecoff.h: Remove. and here...
11452         * config/mips/iris3.h: and here...
11453         * config/mips/sni-svr4.h: and here...
11454         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
11455         Add assembler -mmdebug options for non-dwarf debugging.
11456         * config/mips/r3900.h: Remove debug info defines.
11457         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
11458         * config/mips/isa3264.h: Ditto.
11459         * config/mips/t-isa3264: Fix up for file removal and gofast configure
11460         change.
11461         * config/mips/t-elf: Ditto.
11462         * config/mips/t-ecoff: Ditto.
11463         * config/mips/t-r3900: Ditto.
11464         * config/mips/t-iris5-6: Ditto.
11465         * config/mips/t-isa3264: Ditto.
11466         * config/mips/t-linux: Remove.
11467         * config/mips/t-netbsd: Remove.
11468         * config/mips/t-mips: New file.
11469         * config/mips/t-gofast: Ditto.
11470         * config/mips/netbsd.h: Remove unnecessary undefines.
11471         * config/mips/linux.h: Remove #include of mips.h.
11472         * config.gcc: Add mips.h include for elf targets. Remove tm_file
11473         for ecoff. Add gofast configure option for mips.
11474
11475 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
11476
11477         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
11478         linker scripts use STARTUP directives consistently.
11479         * configure: Regenerate.
11480         * config.in: Regenerate.
11481         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
11482         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
11483         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
11484         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
11485         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
11486         will be the same.
11487
11488 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11489
11490         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
11491
11492 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11493
11494         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
11495
11496 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
11497
11498         * config/rs6000/rs6000.md: Move altivec patterns from here...
11499
11500         * config/rs6000/altivec.md: ...to here.
11501
11502 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11503
11504         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
11505
11506 2002-07-29  Richard Henderson  <rth@redhat.com>
11507
11508         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
11509         set_mem_attributes and add BITPOS argument.  Subtract it from
11510         OFFSET when same is adjusted.
11511         (set_mem_attributes): New wrapper function.
11512         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
11513         remove offset adjustment hack.
11514         * expr.h (set_mem_attributes_minus_bitpos): Declare.
11515
11516 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11517
11518         * Makefile.in (C_OBJS): Include c-pretty-print.o
11519         (c-pretty-print.o): Add depency rule.
11520         * pretty-print.h: Add more macros.
11521         * c-pretty-print.c: New file.
11522         * c-pretty-print.h: Likewise.
11523
11524 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
11525
11526         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
11527         constants to __ev64_s32__.
11528         (__internal_ev_mwhgsmian): Same.
11529         (__internal_ev_mwhgsmfan): Same.
11530         (__internal_ev_mwhgssfan): Same.
11531         (__internal_ev_mwhgumiaa): Same.
11532         (__internal_ev_mwhgsmiaa): Same.
11533         (__internal_ev_mwhgsmfaa): Same.
11534         (__internal_ev_mwhgssfaa): Same.
11535
11536 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
11537
11538         * varasm.c (assemble_variable): Narrow test for uninitialized
11539         without BSS target support.
11540
11541 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
11542
11543         * profile.c: Add file comment describing the overall algorithm and
11544         structures.
11545         (struct edge_info): Add comments.
11546         (struct bb_info): Add comments.
11547         * basic-block.h (EDGE_*): Add comments.
11548         * doc/gcov.texi (Gcov Data Files): Document bit flags.
11549
11550 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
11551
11552         * config/xtensa/elf.h, config/xtensa/linux.h
11553         (TARGET_OS_CPP_BUILTINS): Define.
11554         (CPP_PREDEFINES): Remove.
11555         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
11556         (CPP_SPEC): Remove.
11557
11558 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
11559
11560         * gensupport.c: Include hashtab.h.
11561         (insn_elision, condition_table, hash_c_test, cmp_c_test,
11562         maybe_eval_c_test): New routines and data structures to
11563         support insn elision.
11564         (init_md_reader): Read and initialize the condition_table.
11565         (read_md_rtx): Discard insn patterns whose C test is provably
11566         always false.
11567         * gensupport.h: Declare new functions and data structures.
11568
11569         * genconditions.c, dummy-conditions.c: New files.
11570         * Makefile.in: Build genconditions; run it to construct
11571         insn-conditions.c; build that and link it into most gen*
11572         programs.
11573         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
11574         (GEN): Delete, unused.
11575         (STAGESTUFF): Update.
11576
11577         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
11578         CODE_FOR_nothing for all elided patterns.
11579         (main): Tweaked to support this.
11580         * genflags.c (gen_proto): Emit a static inline generator
11581         function here for all elided patterns, which simply returns
11582         NULL_RTX.
11583         (gen_insn): Do not define HAVE_xxx for elided patterns.
11584         (main): Tweaked to support this.  No need to forward-declare
11585         struct rtx_def.
11586         * genrecog.c: Do not bother emitting the C test if it's known
11587         to be true at compile time.
11588
11589 2002-07-29  Mike Stump  <mrs@apple.com>
11590
11591         * config.gcc (target_gtfiles): Initialize, as otherwise cross
11592         compilers hosted on powerpc-apple-darwin6.0 won't even build.
11593
11594 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
11595
11596         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
11597         remove clobber of LR.
11598         (sibcall_insn, sibcall_value_insn): Update accordingly.
11599         (sibcall_epilogue): Remove debugging comment from assembler stream.
11600
11601 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
11602
11603         * pretty-print.h: Define more macros.
11604         * diagnostic.h (output_formatted_integer): Moved from...
11605         * diagnostic.c: ... here.
11606
11607 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11608
11609         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
11610
11611 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
11612
11613         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
11614         arguments.  Always use ".-symbol" as expression argument.
11615         * doc/tm.texi: Update to match.  Document requirement for
11616         ".size symbol, .-symbol" to be acceptable to assembler.
11617
11618         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11619         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
11620         config/i386/freebsd-aout.h, config/i386/sco5.h,
11621         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
11622         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
11623
11624 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11625
11626         * Makefile.in (gengtype-lex.c): Fix error in last change.
11627
11628         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
11629         backslash.
11630
11631         * Makefile.in (vmsdbgout.o): Depend on function.h.
11632
11633         * vmsdbgout.c: Include function.h.
11634
11635 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
11636
11637         * prefix.c (update_path): Don't strip single `.' path components
11638         unless stripping a later `..' component.  Exit loop as soon as
11639         a valid path is found.
11640
11641 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11642
11643         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
11644         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
11645         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
11646         floating point unordered comparisons (e.g. __builtin_isgreater)
11647         as const, and leave the remaining GCC_BUILTINs unchanged.
11648
11649         * c-decl.c (builtin_function): No need to explicitly mark
11650         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
11651
11652 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11653
11654         * Makefile.in: rtlanal.o now depends upon real.h.
11655
11656         * flags.h [flag_signaling_nans]: New flag.
11657         [HONOR_SNANS]: New macro.
11658
11659         * toplev.c [flag_signaling_nans]: Initialize to false.
11660         (f_options): Add processing for "-fsignaling-nans".
11661         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
11662         (process_options): flag_signaling_nans implies flag_trapping_math.
11663
11664         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
11665         when -fsignaling-nans.  First step to implementing WG14's N965.
11666
11667         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
11668         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
11669         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
11670
11671         * simplify-rtx.c (simplify_relational_operation): Conditionalize
11672         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
11673
11674         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
11675         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
11676         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
11677         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
11678         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
11679
11680         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
11681
11682 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11683
11684         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
11685         * gengtype-lex.l (YY_USE_PROTOS): Undef.
11686         (YY_DECL): Define.
11687
11688 2002-07-27  Roger Sayle  <roger@eyesopen.com>
11689
11690         * doc/invoke.texi: Document that both -fno-builtin-foo and
11691         -fno-builtin are supported by the g++ front-end.
11692
11693 2002-07-27  Stan Shebs  <shebs@apple.com>
11694
11695         * configure.in: Rename config_gtfiles to target_gtfiles.
11696         * configure: Regenerate.
11697         * doc/gty.texi: Update reference.
11698         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
11699         instead of appending to it.
11700
11701 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
11702
11703         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
11704         vectors are split into two registers.
11705         (function_arg): Same.
11706
11707 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
11708
11709         * pa.md (extv): Check predicates before emitting extv_32.
11710
11711 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
11712
11713         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
11714         (rs6000_traceback): New var.
11715         (rs6000_override_options): Set rs6000_traceback.
11716         (rs6000_output_function_epilogue): Implement traceback options.
11717         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
11718         (rs6000_traceback_name): Declare.
11719
11720         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
11721         label reference when NO_PROFILE_COUNTERS.
11722
11723 2002-07-26  Jason Merrill  <jason@redhat.com>
11724
11725         * function.c (assign_parms): Handle frontend-directed pass by
11726         invisible reference.
11727
11728 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11729
11730         * doc/cppopts.texi: Update.
11731
11732 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11733
11734         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
11735         warnings on assertions.
11736
11737 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
11738
11739         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
11740         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
11741         RID_COMPL): Remove.
11742         * c-parse.in (rid_to_yy): Similarly.
11743
11744 2002-07-26  Jason Merrill  <jason@redhat.com>
11745
11746         * c-dump.c: Resurrect.
11747         * tree-dump.c: Move C-specific stuff to c-dump.c.
11748         * c-common.h: Declare c_dump_tree.
11749         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
11750         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
11751         (c-dump.o): New rule.
11752
11753 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
11754
11755         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
11756         PowerPC64.  Replace "T" and "S" constraints with "n" when the
11757         predicate will do.  Formatting fixes.
11758         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
11759         as for extzvsi_internal1.
11760
11761 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11762
11763         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
11764         DERIV_END_LABEL_FMT): Remove.
11765         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
11766
11767 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11768
11769         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
11770         Remove.
11771
11772 2002-07-25  Stan Shebs  <shebs@apple.com>
11773
11774         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
11775         local var dwarfp.
11776         (output_compiler_stub): Remove unused locals.
11777         (output_call): Always initialize line number.
11778
11779 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11780
11781         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
11782         * sh.md (truncdiqi2, movqi_media): Likewise.
11783
11784 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11785
11786         * gcse.c (obstack_chunk_alloc): Remove.
11787         (gcse_alloc): Fix to count allocated bytes.
11788         * collect2.c (SYMBOL__MAIN): Remove.
11789
11790 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11791
11792         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
11793         HAVE_TARGET_EXECUTABLE_SUFFIX.
11794
11795 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
11796
11797         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
11798         SIZE, EXPR and OFFSET.
11799
11800 2002-07-25  Richard Henderson  <rth@redhat.com>
11801
11802         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
11803         in ARRAY_REF of DECL_P case.
11804
11805 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11806
11807         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
11808         description.  Document -mips32, -mips64, and the associated -march
11809         values.  Describe the "mipsN" arguments to -march.  Say that the
11810         -mipsN options are equivalent to -march.  Reword the description
11811         of default type sizes.
11812         * toplev.h (target_flags_explicit): Declare.
11813         * toplev.c (target_flags_explicit): New var.
11814         (set_target_switch): Update target_flags_explicit.
11815         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
11816         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
11817         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
11818         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
11819         * config/mips/mips.h (mips_cpu_info): New struct.
11820         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11821         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
11822         (MIPS_CPP_SET_PROCESSOR): New macro.
11823         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
11824         Define _MIPS_ARCH and _MIPS_TUNE.
11825         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
11826         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
11827         MIPS_ISA_DEFAULT were already defined.
11828         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
11829         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
11830         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
11831         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
11832         (ABI_GAS_ASM_SPEC): Remove.
11833         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
11834         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
11835         Invoke %(asm_abi_default_spec) if no ABI was specified.
11836         (CC1_SPEC): Remove ISA -> register-size rules.
11837         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
11838         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
11839         (mips_cpu_string, mips_explicit_type_size_string): Remove.
11840         (mips_cpu_info_table): New array.
11841         (mips_set_architecture, mips_set_tune): New fns.
11842         (override_options): Rework to make -mipsN equivalent to -march.
11843         Detect more erroneous cases, including those removed from CC1_SPEC.
11844         Don't change the ABI based on architecture, or vice versa.
11845         Unify logic with GAS.
11846         (mips_asm_file_start): Get architecture name from mips_arch_info.
11847         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
11848         (mips_parse_cpu): Take the name of the option as argument.  Handle
11849         'from-abi'.  Raise an error if the option is wrong.
11850         (mips_cpu_info_from_isa): New fn.
11851
11852 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
11853
11854         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
11855         (tablejump_mips162): Likewise.
11856
11857 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
11858
11859         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
11860         int_mode_for_mode.
11861
11862 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
11863
11864         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
11865         complaining.
11866         * c-common.h (c_sizeof): Adjust definition.
11867         (c_alignof): Likewise.
11868         * c-tree.h (c_sizeof_nowarn): Now macro.
11869         * c-typeck.c (c_sizeof_nowarn): Remove definition.
11870
11871 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
11872
11873         * c-decl.c (c_decode_option): No need to handle switches
11874         cpplib handles.
11875
11876 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
11877
11878         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
11879         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
11880         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
11881         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11882
11883         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
11884         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
11885         config/cris/aout.h, config/i386/freebsd-aout.h,
11886         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
11887         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
11888         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
11889         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
11890         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
11891         config/xtensa/elf.h, config/xtensa/linux.h:
11892         Use the new macros.
11893         Where possible, remove redundant definitions of SIZE_ASM_OP,
11894         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
11895
11896 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
11897
11898         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
11899         TARGET_ISEL, and TARGET_FPRS.
11900
11901         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
11902         -mabi=spe, -mabi=no-spe, and -misel=.
11903
11904         * config/rs6000/rs6000-protos.h: Add output_isel.
11905         Move vrsave_operation prototype here.
11906
11907         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
11908         (smaxsi3): Same.
11909         (uminsi3): Same.
11910         (umaxsi3): Same.
11911         (abssi2_nopower): Disallow when TARGET_ISEL.
11912         (*ne0): Same.
11913         (negsf2): Change to expand and rename old pattern to *negsf2.
11914         (abssf2): Change to expand and rename old pattern to *abssf2.
11915
11916         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
11917         fixunssfsi2.
11918
11919         Change patterns that check for TARGET_HARD_FLOAT or
11920         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
11921
11922         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
11923         rs6000_isel, rs6000_fprs, rs6000_isel_string.
11924         (rs6000_override_options): Add 8540 case to
11925         processor_target_table.
11926         Set rs6000_isel for the 8540.
11927         Call rs6000_parse_isel_option.
11928         (enable_mask_for_builtins): New.
11929         (rs6000_parse_isel_option): New.
11930         (rs6000_parse_abi_options): Add spe and no-spe.
11931         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
11932         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
11933         for TARGET_HARD_FLOAT.
11934         Add case for SPE_VECTOR_MODE.
11935         (rs6000_legitimize_reload_address): Handle SPE vector modes.
11936         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
11937         vector modes.
11938         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
11939         (rs6000_emit_move): Check for TARGET_FPRS.
11940         Add cases for SPE vector modes.
11941         (function_arg_boundary): Return 64 for SPE vector modes.
11942         (function_arg_advance): Check for TARGET_FPRS and
11943         Handle SPE vectors.
11944         (function_arg): Same.
11945         (setup_incoming_varargs): Check for TARGET_FPRS.
11946         (rs6000_va_arg): Same.
11947         (struct builtin_description): Un-constify mask field.  Move up in
11948         file.
11949         (bdesc_2arg): Un-constify and add SPE builtins.
11950         (bdesc_1arg): Same.
11951         (bdesc_spe_predicates): New.
11952         (bdesc_spe_evsel): New.
11953         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
11954         (rs6000_expand_binop_builtin): Same.
11955         (bdesc_2arg_spe): New.
11956         (spe_expand_builtin): New.
11957         (spe_expand_predicate_builtin): New.
11958         (spe_expand_evsel_builtin): New.
11959         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
11960         (rs6000_init_builtins): Initialize SPE builtins.  Call
11961         rs6000_common_init_builtins.
11962         (altivec_init_builtins): Move all non-altivec builtin code to...
11963         (rs6000_common_init_builtins): ...here.  New function.
11964         (branch_positive_comparison_operator): Allow NE code for SPE.
11965         (ccr_bit): Return correct ccr bit for SPE fp.
11966         (print_operand): Emit crnor in 'D' case for SPE.
11967         New case 't'.
11968         Add SPE code for 'y' case.
11969         (rs6000_generate_compare): Generate rtl for SPE fp.
11970         (output_cbranch): Handle SPE hard floats.
11971         (rs6000_emit_cmove): Handle isel.
11972         (rs6000_emit_int_cmove): New.
11973         (output_isel): New.
11974         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
11975         64-bits for SPE.
11976         (debug_stack_info): Add SPE info.
11977         (gen_frame_mem_offset): New.
11978         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
11979         Change mode of frame pointer, when saving it, to Pmode.
11980         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
11981         Misc cleanups and use gen_frame_mem_offset when appropriate.
11982
11983         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
11984         (TARGET_SPE_ABI): New.
11985         (TARGET_SPE): New.
11986         (TARGET_ISEL): New.
11987         (TARGET_FPRS): New.
11988         (FIXED_SCRATCH): New.
11989         (RTX_COSTS): Add PROCESSOR_PPC8540.
11990         (ASM_CPU_SPEC): Add case for 8540.
11991         (TARGET_OPTIONS): Add isel= case.
11992         (rs6000_spe_abi): New.
11993         (rs6000_isel): New.
11994         (rs6000_fprs): New.
11995         (rs6000_isel_string): New.
11996         (UNITS_PER_SPE_WORD): New.
11997         (LOCAL_ALIGNMENT): Adjust for SPE.
11998         (HARD_REGNO_MODE_OK): Same.
11999         (DATA_ALIGNMENT): Same.
12000         (MEMBER_TYPE_FORCES_BLK): New.
12001         (FIRST_PSEUDO_REGISTER): Set to 113.
12002         (FIXED_REGISTERS): Add SPE registers.
12003         (reg_class): Same.
12004         (REG_CLASS_NAMES): Same.
12005         (REG_CLASS_CONTENTS): Same.
12006         (REGNO_REG_CLASS): Same.
12007         (REGISTER_NAMES): Same.
12008         (DEBUG_REGISTER_NAMES): Same.
12009         (ADDITIONAL_REGISTER_NAMES): Same.
12010         (CALL_USED_REGISTERS): Same.
12011         (CALL_REALLY_USED_REGISTERS): Same.
12012         (SPE_ACC_REGNO): New.
12013         (SPEFSCR_REGNO): New.
12014         (SPE_SIMD_REGNO_P): New.
12015         (HARD_REGNO_NREGS): Adjust for SPE.
12016         (VECTOR_MODE_SUPPORTED_P): Same.
12017         (REGNO_REG_CLASS): Same.
12018         (FUNCTION_VALUE): Same.
12019         (LIBCALL_VALUE): Same.
12020         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
12021         (SPE_VECTOR_MODE): New.
12022         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
12023         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
12024         (rs6000_stack): Add spe_gp_size, spe_padding_size,
12025         spe_gp_save_offset.
12026         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
12027         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
12028         (SPE_CONST_OFFSET_OK): New.
12029         (rs6000_builtins): Add SPE builtins.
12030
12031         * testsuite/gcc.dg/ppc-spe.c: New.
12032
12033         * config/rs6000/eabispe.h: New.
12034
12035         * config/rs6000/spe.h: New.
12036
12037         * config/rs600/spe.md: New.
12038
12039         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
12040         __SIMD__ for TARGET_SPE.
12041
12042         * config.gcc: Add powerpc-*-eabispe* case.
12043         Add spe.h to user headers for powerpc.
12044
12045 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12046
12047         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
12048         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12049         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
12050
12051 2002-07-24  Richard Henderson  <rth@redhat.com>
12052
12053         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
12054         form when not optimizing.
12055
12056 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
12057
12058         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
12059         thread_pointer_rtx as unchanging.
12060
12061 2002-07-24  Michael Matz  <matz@suse.de>
12062
12063         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
12064         (free_reg): Use it.
12065
12066 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
12067
12068         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
12069         pattern.
12070         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
12071         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
12072
12073 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
12074
12075         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
12076         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
12077         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
12078
12079 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
12080
12081         * toplev.c (rest_of_compilation): Dump loops before clobbering
12082         the structure.
12083
12084 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
12085
12086         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
12087
12088 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
12089
12090         PR optimization/7291
12091         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
12092         problem on x86_64.
12093
12094 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
12095
12096         * pretty-print.h: Add macros from cp/error.c
12097
12098 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12099
12100         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
12101         (mask64_2_operand): Declare.
12102         (build_mask64_2_operands): Declare.
12103         (and64_2_operand): Declare.
12104         (extract_MB): Declare.
12105         (extract_ME): Declare.
12106         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
12107         CONST_DOUBLE code.
12108         (mask_operand_wrap): New insn predicate.
12109         (mask64_2_operand): Likewise.
12110         (and64_2_operand): Likewise.
12111         (build_mask64_2_operands): New function.
12112         (extract_MB): New function.
12113         (extract_ME): New function.
12114         (print_operand <case m,M>): Use extract_MB and extract_ME.
12115         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
12116         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
12117         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
12118         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
12119         * config/rs6000/rs6000.md (andsi3_internal3): New
12120         (andsi3_internal3+1): Enable split for powerpc64.
12121         (andsi3_internal3+2): New split.
12122         (andsi3_internal4): Renamed old andsi3_internal3.
12123         (andsi3_internal5): New.
12124         (andsi3_internal5+1): Enable split for powerpc64.
12125         (andsi3_internal5+2): New split.
12126         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
12127         (anddi3): Handle 't' constraint.
12128         (anddi3+1): New split.
12129         (anddi3_internal2): Handle 't' constraint.
12130         (anddi3_internal2+1): New split.
12131         (anddi3_internal3): Handle 't' constraint.
12132         (anddi3_internal3+1): New split.
12133
12134 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
12135
12136         * config/rs6000/rs6000.md: Remove scratch reg on insns using
12137         addze and similar (plus (comparison r1 r2) r3) insns.  Add
12138         missing scratch reg in one case.  Formatting fixes.
12139
12140 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
12141
12142         * cppexp.c (parse_defined): Mark macro used.
12143         * cpphash.h (struct cpp_macro): New member "used".
12144         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
12145         (struct cpp_reader): New member.
12146         * cppinit.c (cpp_finish_options): Set first_unused_line.
12147         (cpp_finish): Warn of unused macros if requested.
12148         (OPT_TABLE): New switches.
12149         (cpp_handle_option): Handle them.
12150         * cpplib.c (do_undef): Warn if macro unused.
12151         (do_ifdef, do_ifndef): Mark macro used.
12152         * cpplib.h (struct cpp_options): New member.
12153         * cppmacro.c (_cpp_warn_if_unused_macro): New.
12154         (enter_macro_context): Mark macro used.
12155         (_cpp_create_definition): Mark macro unused; warn if unused
12156         when redefined.
12157         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
12158         Mark macros used.
12159         * doc/cppopts.texi: Update.
12160
12161 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12162
12163         * dwarf2out.c (SECTION_ASM_OP,
12164         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12165         * system.h (SECTION_ASM_OP): Poison.
12166         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
12167         * config/alpha/alpha-interix.h, config/mips/linux.h
12168         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12169         * config/mmix/mmix-protos.h, config/mmix/mmix.c
12170         (mmix_asm_output_define_label_difference_symbol): Remove.
12171         * config/mmix/mmix.h
12172         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
12173         * doc/tm.texi: Remove documentation.
12174
12175 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
12176
12177         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
12178         (constrain_operands): Likewise.
12179         * regclass.c (record_reg_classes): Likewise.
12180         * reload.c (find_reloads): Likewise.
12181         * doc/md.texi: Likewise.
12182
12183         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
12184         * simplify-rtx.c (simplify_subreg): When converting to a non-int
12185         mode, try to convert to an integer mode of matching size first.
12186
12187         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
12188         from individual subregs, check that each subreg has been generated
12189         sucessfully.
12190
12191 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12192
12193         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
12194         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
12195         FOR_EACH_BB_IN_SBITMAP): Remove.
12196         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
12197         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
12198         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
12199         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
12200         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
12201         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
12202
12203 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12204
12205         * pretty-print.h: New file.
12206
12207 2002-07-23      Paul Koning     <pkoning@equallogic.com>
12208
12209         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
12210         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
12211         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
12212         (TARGET_G_FLOAT): Default to 0 if not defined.
12213         (ieeetoe): New, common routine to convert target format floats
12214         to internal form.
12215         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
12216         vs. others.
12217         (e113toe): Change to use ieeetoe.
12218
12219 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
12220
12221         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
12222         IBM.
12223         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
12224         (e64toe): Remove special cases for DEC and IBM. Remove support for
12225         ARM_EXTENDED_IEEE_FORMAT.
12226         (e24toe): Remove special cases for DEC.
12227         (significand_size): Simplify. Indent.
12228         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
12229         (etoieee, toieee): New.
12230         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
12231         etoieee and toieee for IEEE arithmetic.
12232
12233 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12234
12235         * doc/extend.texi: Say ISO C90, not ISO C89.
12236         * doc/invoke.texi: Likewise.
12237         * doc/standards.texi: Likewise.
12238
12239 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
12240
12241         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
12242         Fix permutation of conversion and plus/mult.
12243         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
12244         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
12245         (expand_builtin_strncpy) Ditto.
12246         (expand_builtin_memset) Ditto.
12247
12248 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
12249
12250         Fix PR/7363:
12251         * c-common.c (c_sizeof_or_alignof_type): New function.
12252         (c_alignof): Remove definition.
12253         * c-common.h (c_sizeof, c_alignof): Define as macros.
12254         (c_sizeof_or_alignof_type): Declare.
12255         (my_friendly_assert): Moved from cp/cp-tree.h
12256         * c-typeck.c (c_sizeof): Remove definition.
12257
12258 2002-07-23  Jan Hubicka  <jh@suse.cz>
12259
12260         * gcse.c (try_replace_reg): Use num_changes_pending.
12261         * recog.c (num_changes_pending): New function.
12262         (validate_replace_src): Use validate_repalce_src_group.
12263         (validate_replace_src_group): New.
12264         * recog.h (validate_repalce_src_group): New.
12265         (num_changes_pending): Likewise.
12266
12267 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12268
12269         * calls.c (emit_library_call_value_1): If
12270         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
12271         libcall, const call nor pure call.
12272
12273 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12274
12275         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
12276
12277 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12278
12279         * vmsdbgout.c (SECTION_ASM_OP): Remove.
12280
12281 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12282
12283         * config/i386/i386.c (AT_BP): Remove.
12284
12285 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
12286
12287         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
12288         Default definition.
12289         * gcse.c: Don't define obstack_chunk_free.
12290         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
12291         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
12292         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
12293         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
12294         Don't define obstack macros.
12295
12296 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12297
12298         PR target/6744
12299         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
12300         ASM_OPERANDS instructions.
12301
12302 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
12303
12304         PR target/7361
12305         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
12306         constant addresses only on 68HC12.
12307
12308 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12309
12310         * cppfiles.c (stack_include_file): Correct test of whether
12311         a dependency should be output.
12312
12313 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
12314
12315         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
12316
12317 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
12318
12319         * arm.md (movqi): If optimizing and we can create pseudos, use
12320         a ZERO_EXTEND to load from memory, then copy the result into the
12321         target.
12322         (movhi): Likewise, but only for ARMv4.
12323
12324 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
12325
12326         * ssa-ccp.c (PHI_PARMS): Remove.
12327
12328 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
12329
12330         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
12331         on big-endian targets.
12332
12333 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12334
12335         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
12336         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
12337         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
12338         New formatting macros.
12339
12340         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
12341
12342 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12343
12344         * rtlanal.c (subreg_regno_offset): Return correct offset for
12345         big endian paradoxical subregs.
12346
12347         * optabs.c (expand_vector_unop): Don't expand using sub_optab
12348         if we got the wrong mode.
12349
12350         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
12351         * genrecog.c (write_switch, write_cond): Use it.
12352         * genemit.c (gen_exp): Likewise.
12353
12354 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12355
12356         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
12357
12358 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
12359
12360         * c-decl.c (build_compound_literal): Defer compound literal decls
12361         until until file end to emit them only if they are actually used.
12362
12363 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12364
12365         * ra-build.c (check_conflict_numbers): Hide unused function.
12366         (livethrough_conflicts_bb): Avoid automatic aggregate
12367         initialization.
12368         (parts_to_webs_1): Avoid `U' integer constant modifier.
12369         (conflicts_between_webs): Wrap a variable in the macro controlling
12370         its usage.
12371         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
12372         (dump_igraph, dump_graph_cost): Avoid string concatenation
12373         (dump_static_insn_cost): Avoid automatic aggregate
12374         initialization.
12375         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
12376         initialization.
12377         (dump_cost): Avoid string concatenation
12378
12379 2002-07-21  Richard Henderson  <rth@redhat.com>
12380
12381         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
12382         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
12383
12384 2002-07-21  Richard Henderson  <rth@redhat.com>
12385
12386         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
12387         that are not unrolled completely.
12388
12389 2002-07-21  Richard Henderson  <rth@redhat.com>
12390
12391         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
12392         * loop.c (strength_reduce): Update.
12393         * toplev.c (rest_of_compilation): Do unrolling in the first
12394         loop pass, not the second.
12395
12396 2002-07-21  Richard Henderson  <rth@redhat.com>
12397
12398         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
12399         when flag_argument_noalias == 2.
12400         * alias.c (nonoverlapping_memrefs_p): Handle that.
12401         * print-rtl.c (print_mem_expr): Likewise.
12402
12403 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
12404
12405         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
12406         instead of __negdi2 directly.
12407
12408 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12409
12410         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
12411         * function.c (SYMBOL__MAIN): Remove definition.
12412         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
12413         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
12414         * profile.c (GCOV_INDEX_TO_BB): Remove.
12415         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
12416         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
12417
12418 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12419
12420         * c-lex.c (GET_ENVIRONMENT): Remove.
12421         * collect2.c (GET_ENV_PATH_LIST): Remove.
12422         (prefix_from_env): Use GET_ENVIRONMENT.
12423         * cppinit.c (GET_ENV_PATH_LIST): Remove.
12424         (init_standard_includes): Use GET_ENVIRONMENT.
12425         * defaults.h (GET_ENVIRONMENT): Define here if not already.
12426         * gcc.c (GET_ENV_PATH_LIST): Remove.
12427         (make_relative_prefix, process_command): Update.
12428         * protoize.c (GET_ENV_PATH_LIST): Remove.
12429         (do_processing): Update.
12430
12431 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
12432
12433         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
12434         (grokdeclarator): Likewise.
12435         * c-format.c (C_STD_NAME): Likewise.
12436         * c-lex.c (interpret_integer): Likewise.
12437         * c-typeck.c (build_array_ref): Likewise.
12438         * cpplex.c (_cpp_lex_direct): Likewise.
12439         * toplev.c (documented_lang_options): Likewise.
12440
12441 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12442
12443         * c-format.c (T99_I, T99_UI): Remove.
12444
12445 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
12446
12447         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
12448
12449 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
12450
12451         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
12452         do_local_cprop.
12453
12454 2002-07-21  Andreas Jaeger  <aj@suse.de>
12455
12456         * reload1.c (fixup_abnormal_edges): Remove unused variable.
12457
12458 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
12459
12460         Improvements for the ifcvt pass from Michael Meissner, with patches
12461         by Richard Sandiford <rsandifo@redhat.com>
12462         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
12463         * ifcvt.c (cond_exec_changed_p): New static variable.
12464         (last_active_insn): New function, renamed from last_active_insn_p
12465         and changed to return the last active insn in a basic block. All
12466         callers updated.
12467         (block_fallthru): New function.
12468         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
12469         IFCVT_MODIFY_INSN.  All callers updated.
12470         Return false if START or END are NULL.
12471         Handle case where we're processing an insn that is already
12472         conditional.
12473
12474         (noce_process_if_block): CE_INFO argument rather than
12475         multiple args containing the involved basic blocks.  All callers
12476         changed.
12477         (process_if_block, merge_if_block, find_if_block,
12478         cond_exec_process_if_block): Likewise.
12479
12480         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
12481         changed.
12482         Use new function last_active_insn to simplify some code.
12483         New code to handle multiple tests.
12484         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
12485         cond_exec_changed_p to TRUE.
12486
12487         (process_if_block): New code to handle multiple tests.
12488         (merge_if_block): Likewise.
12489         (find_if_header): New arg PASS.  Changed to return the currently
12490         processed basic block or NULL instead of true/false. All callers
12491         changed.
12492         Call IFCVT_INIT_EXTRA_FIELDS.
12493         (block_jumps_and_fallthru_p): New function.
12494         (find_if_block): Discover opportunities to convert multiple tests.
12495         Add additional debugging output.
12496         Update the ce_info structure before returning.
12497
12498         (if_convert): Run multiple passes of if-conversion.
12499         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
12500         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
12501         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
12502         these macros.
12503
12504 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12505
12506         * gcse.c: Include cselib.h
12507         (constptop_register): Break out from ...
12508         (cprop_insn): ... here; kill basic_block argument.
12509         (do_local_cprop, local_cprop_pass): New functions.
12510         (one_cprop_pass): Call local_cprop_pass.
12511
12512 2002-07-20  Roger Sayle  <roger@eyesopen.com>
12513
12514         * simplify-rtx.c (simplify_relational_operation): Optimize
12515         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
12516
12517 2002-07-20  Michae Matz  <matz@suse.de>
12518
12519         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
12520
12521 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
12522
12523         * cppexp.c (struct op): Add token pointer.
12524         (check_promotion, CHECK_PROMOTION): New.
12525         (optab): Update.
12526         (_cpp_parse_expr): Update, use token pointer of struct op.
12527         (reduce): Warn about change of sign owing to promotion.
12528         * cppinit.c (cpp_handle_option): New warning if -Wall.
12529         * cpplib.h (struct cpp_options): New member.
12530
12531 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
12532
12533         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
12534         fpu list.  Separate Power4 compare and delayed_compare.  Correct
12535         Power4 fpcompare.
12536         (fix_truncdfsi2_internal): Restore FPR preference.
12537         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
12538         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
12539
12540 2002-07-19  Momchil Velikov <velco@fadata.bg>
12541
12542         * reload1.c (reload_as_needed): Duplicate oldpat.
12543
12544 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
12545
12546         PR optimization/7130
12547         * loop.h (struct loop_info): Add "preconditioned".
12548         * unroll.c (unroll_loop): Set it.
12549         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
12550
12551 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
12552
12553         * rtl.def (CODE_LABEL): Remove slot 8.
12554         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
12555         (LABEL_ALTERNATE_NAME): Delete.
12556         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
12557         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12558
12559         * final.c (output_alternate_entry_point): New.
12560         (final_scan_insn): Use it instead of
12561         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
12562         of a case label being an alternate entry point.
12563
12564         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
12565         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
12566         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
12567         (field deleted).
12568         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
12569
12570         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
12571         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
12572         * doc/tm.texi: Delete documentation of
12573         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
12574
12575 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12576
12577         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
12578         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
12579         (LINK_SPEC): Define.
12580         (STARTFILE_SPEC): Define.
12581         (ENDFILE_SPEC): Define.
12582
12583         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
12584         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
12585
12586         * config/mips/iris6-o32-gas.h: New file.
12587         * config.gcc (mips-sgi-irix6*o32): Use it.
12588
12589         * config/mips/t-iris5-gas: New file.
12590         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
12591
12592 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
12593
12594         * cppexp.c (ALWAYS_EVAL): Remove.
12595         (optab, reduce): Always evaluate.
12596         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
12597         only if not skipping evaluation.
12598
12599 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12600
12601         * config/avr/avr.c (debug_hard_reg_set): Remove.
12602
12603 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
12604
12605         * gcc.c (cpp_options): Include "%1" (cc1_spec).
12606
12607 2002-07-19  Richard Henderson  <rth@redhat.com>
12608
12609         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
12610
12611 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
12612
12613         * prefix.c (update_path): Don't zap single `.' path components
12614         unless followed by another `.' and fix typo last patch.
12615
12616 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
12617
12618         * cppexp.c (cpp_num_mul): Remove unused parameter.
12619         (UNARY, BINARY, OTHER, binary_handler): Remove.
12620         (ALWAYS_EVAL): New.
12621         (optab): Update.
12622         (reduce): Refactor to a large switch, don't use a function
12623         pointer.
12624
12625 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
12626
12627         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
12628
12629 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
12630
12631         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
12632         (sh_expand_binop_v2sf): Likewise.
12633         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
12634         (int_gpr_dest, trunc_hi_operand): New functions.
12635         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
12636         trunc_hi_operand.
12637         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
12638         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
12639         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
12640         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
12641         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
12642         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
12643         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
12644         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
12645         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
12646         (movsf_ie+1): Likewise.
12647         (loaddi_trunc): Use int_gpr_dest predicate.
12648         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
12649         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
12650         (casesi_worker_0+[12], casesi_worker): Likewise.
12651         (shcompact_preserve_incoming_args): Likewise.
12652         (mov_nop): Use any_register_operand predicate.
12653         (mperm_w0): Use trunc_hi_operand predicate.
12654
12655 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12656
12657         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
12658         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
12659         numbering.
12660
12661 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12662
12663         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
12664
12665 2002-07-18  Richard Henderson  <rth@redhat.com>
12666
12667         PR optimization/7147
12668         * ifcvt.c (noce_get_condition): Make certain that the condition
12669         is valid at JUMP.
12670
12671 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
12672
12673         * sh.c (barrier_align, push): Shut up compiler warnings.
12674         (initial_elimination_offset,sh_media_init_builtins): Likewise.
12675         (reg_no_subreg_operand): Delete.
12676
12677 2002-07-17  Bo Thorsen  <bo@suse.de>
12678
12679         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
12680         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
12681         (STARTFILE_SPEC): Remove hardcoded library paths.
12682         (ENDFILE_SPEC): Likewise.
12683
12684 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
12685
12686         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
12687
12688         * gcse.c (try_replace_reg): Do not return false positives.
12689
12690 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12691
12692         * prefix.c: (update_path): Strip ".." components when prior dir
12693         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
12694
12695         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
12696         (ASM_OUTPUT_REG_POP): Likewise.
12697
12698 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
12699
12700         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
12701         adjustments to first_reg for profiling case.
12702         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
12703         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
12704         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
12705         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
12706         (ASM_OUTPUT_REG_POP): Define.
12707         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
12708         (ASM_OUTPUT_REG_POP): Undef.
12709
12710 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12711
12712         * cpplib.c (do_sccs): Handle #sccs on all systems.
12713         * system.h (SCCS_DIRECTIVE): Poison.
12714         * config/darwin.h, config/freebsd.h, config/netbsd.h,
12715         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
12716         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
12717         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
12718         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
12719         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
12720         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
12721         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
12722         Remove all references to SCCS_DIRECTIVE.
12723         * doc/cpp.texi, doc/tm.texi: Update.
12724
12725 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
12726
12727         * regrename.c (maybe_mode_change): New function.
12728         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
12729
12730 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
12731
12732         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
12733         suppress addition when either ct or cf are zero.
12734
12735 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
12736             Glen Nakamura <glen@imodulo.com>
12737
12738         PR optimization/6713
12739         * loop.c (loop_givs_rescan): Explicitly delete the insn that
12740         sets a non-replaceable giv after issuing the new one.
12741
12742 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
12743
12744         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
12745         eval_token): Clarify and correct use of "bool" variables.
12746         * cpplib.h (struct cpp_options): Similarly.
12747         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
12748         * cpptrad.c (recursive_macro): Similarly.
12749
12750 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
12751
12752         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
12753         SHmedia code.
12754
12755         * sh.md (cmpgtudi_media): Remove spurious @.
12756
12757         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
12758         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
12759
12760         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
12761         * sh-protos.h (sh_initialize_trampoline): Declare.
12762         * sh.c (sh_initialize_trampoline): New function.
12763         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
12764         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
12765         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
12766         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
12767         * sh.md (initialize_trampoline, double_shori): New patterns.
12768         (initialize_trampoline_compact): Likewise.
12769         (shmedia32_initialize_trampoline_big): Remove.
12770         (shmedia32_initialize_trampoline_little): Likewise.
12771
12772         * sh-protos.h (binary_float_operator): Remove declaration.
12773         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
12774         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
12775         (unary_float_operator, sh_expand_unop_v2sf): New functions.
12776         (sh_expand_binop_v2sf): Likewise.
12777         (zero_vec_operand): Delete.
12778         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
12779         all non-shared ones.
12780         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
12781         Enable nsb and byterev.
12782         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
12783         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
12784         in general regs.
12785         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
12786         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
12787         immediate operands.
12788         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
12789         Add DF_HI_REGS.
12790         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
12791         lowpart fp regs - only for big endian for now.
12792         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
12793         when FPU is in use.
12794         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
12795         (LOAD_EXTEND_OP): NIL for SImode.
12796         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
12797         general and fp registers is 4.
12798         PREDICATE_CODES: Amend binary_float_operator entry.
12799         Remove zero_vec_operand.  Add unary_float_operator.
12800         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
12801         subreg SET_DEST.
12802         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
12803         (truncdiqi2): Do sign extension.
12804         (movsi_media, movdi_media): Allow to use r63 to an fp register.
12805         (movdf_media, movsf_media): Likewise.
12806         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
12807         Collapse to one define_insn_and_split.  Allow immediate sources.
12808         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
12809         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
12810         (movv4sf): Allow immediate sources.
12811         (movsf_media_nofpu+1): Don't split moves to FP registers.
12812         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
12813         (movv8qi_i+3): Check against CONST0_RTX.
12814         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
12815         for input and output operands.  Fix argument 3 to gen_mextr_rl.
12816         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
12817         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
12818         (mshf0_w, fipr, ftrv): Likewise.
12819         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
12820
12821 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12822
12823         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
12824         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
12825         * arm.c: Similarly.
12826
12827 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
12828
12829         * config/mips/mips-protos.h (mips_sign_extend): Declare.
12830         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
12831         (TARGET_SWITCHES): Remove debugh.
12832         (ISA_HAS_TRUNC_W): New macro.
12833         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
12834         (PREDICATE_CODES): Remove se_nonimmediate_operand.
12835         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
12836         any SImode move_operand.
12837         (se_nonimmediate_operand): Remove.
12838         (mips_sign_extend): New.
12839         (mips_move_2words): Use it for sign-extended source operands.
12840         (override_options): Allow integers to be put into single FPRs.
12841         (mips_secondary_reload_class): Handle integers in float registers.
12842         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
12843         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
12844         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
12845         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
12846         (fix_truncdfdi2): Provide only a single alternative, in which the
12847         integer is in a float register.  Depend on TARGET_FLOAT64 rather
12848         than TARGET_64BIT.
12849         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
12850         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
12851         (movdi_internal2): Don't allow the source operand to be sign-extended.
12852         Add alternatives for float registers.
12853         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
12854         allows sign-extension.
12855         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
12856         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
12857         float registers.  Remove TARGET_DEBUG_H_MODE test.
12858         (movhi_internal1): Rename to movhi_internal.  Don't check
12859         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
12860         (movqi_internal1): Rename to movqi_internal and remove
12861         TARGET_DEBUG_H_MODE dependency.
12862         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
12863
12864 2002-07-16  Jim Wilson  <wilson@redhat.com>
12865
12866         * toplev.c (lang_dependent_init): Create function context for
12867         init_expr_once.
12868
12869 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
12870
12871         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
12872         --gc-sections if -r.
12873         * config/cris/cris.h: Ditto.
12874
12875 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
12876
12877         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
12878         the comparison directly gives a mask suppress addition when cf is
12879         zero by complementing the mask.
12880
12881 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
12882
12883         * Makefile.in: Delete references to enquire.
12884         * enquire.c: Move to contrib.
12885
12886 2002-07-16  Stan Shebs  <shebs@apple.com>
12887
12888         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
12889         config/rs6000/darwin.h.
12890         (ASM_OUTPUT_SKIP): Ditto.
12891         (TEXT_SECTION_ASM_OP): Ditto.
12892         (DATA_SECTION_ASM_OP): Ditto.
12893         (ASM_APP_ON): Define.
12894         (ASM_APP_OFF): Define.
12895         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
12896         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
12897
12898         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
12899         (machopic_function_base_name): Declare result to be const.
12900         (machopic_non_lazy_ptr_name): Ditto.
12901         (machopic_stub_name): Ditto.
12902         * config/darwin-protos.h: Ditto for the prototypes.
12903
12904 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
12905
12906         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
12907
12908 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
12909
12910         * i386.md (prefetch): Fix for 64bit mode.
12911         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
12912
12913 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12914
12915         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
12916         * i386.c (x86_machine_dependent_reorg): New function.
12917         * i386-protos.h (x86_machine_dependent_reorg): Declare.
12918
12919 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
12920
12921         * builtins.c (std_expand_builtin_va_start): Remove unused
12922         first argument.
12923         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
12924         std_expand_builtin_va_start with just two arguments.
12925         * expr.h: Update prototypes.
12926
12927         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
12928         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
12929         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
12930         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
12931         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
12932         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
12933         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
12934         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
12935         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
12936         argument from all implementations of EXPAND_BUILTIN_VA_START
12937         and all uses of std_expand_builtin_va_start.
12938
12939 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
12940
12941         * regrename.c (copy_value): Don't record high part copies.
12942
12943 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12944
12945         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
12946         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
12947         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
12948
12949 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
12950
12951         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
12952
12953         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
12954         into addsi3 using register class "x" and "y".
12955
12956         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
12957         "earlyclobber" constraint modifier for some alternative.
12958
12959         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
12960         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
12961         unordered.
12962         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
12963
12964         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
12965         (TARGET_SWITCHES): Add -mieee-compare option.
12966         (OVERRIDE_OPTIONS): 32332 is a subset of
12967         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
12968         (TARGET_SWITCHES): Fix description of bitfield option.
12969         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
12970         -mieee-compare option. Remove 32332 flag.
12971
12972 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
12973
12974         * explow.c (convert_memory_address): Remove special handling
12975         when POINTERS_EXTEND_UNSIGNED < 0.
12976         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
12977         (movedi_symbolic): Fix typo.
12978         (load_fptr): Remove mode restriction so it works for SI and DI.
12979         (load_fptr_internal1): Ditto.
12980         (load_gprel): Ditto.
12981         (load_symptr_internal1): Ditto.
12982         (call_pic): Ditto.
12983         * config/ia64.c (call_operand): Modify mode check.
12984         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
12985         (ia64_expand_move): Ditto.
12986         (ia64_assemble_integer): Handle SImode function pointers.
12987         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
12988         (ia64_expand_op_and_fetch): Ditto.
12989         (ia64_expand_compare_and_swap): Ditto.
12990         (ia64_expand_lock_test_and_set): Ditto.
12991         (ia64_expand_lock_release): Ditto.
12992
12993 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12994
12995         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
12996
12997 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12998             Richard Earnshaw  <rearnsha@arm.com>
12999
13000         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
13001         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
13002
13003 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
13004
13005         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
13006         understands to be a memory clobber.
13007         * arm.c (arm_expand_prologue): Use it.
13008
13009 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
13010
13011         * ra-rewrite.c: #include reload.h, insn-config.h
13012         * ra-build.c: #include reload.h
13013         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
13014         depend on reload.h, insn-config.h.
13015
13016 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13017
13018         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
13019         the same size as a word.
13020
13021         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
13022         BYTES_BIG_ENDIAN into account.
13023
13024 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
13025
13026         * i386.md (prefetch): Fix for 64bit mode.
13027         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
13028
13029         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
13030
13031 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13032
13033         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
13034
13035 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
13036
13037         * ginclude/varargs.h: Replace with stub which issues #error.
13038         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
13039         __builtin_va_start.
13040
13041         * builtins.def (BUILT_IN_VARARGS_START): Delete.
13042         (BUILT_IN_VA_START): New.
13043         * builtins.c (expand_builtin_va_start): Eliminate first
13044         argument and code to implement pre-ISO varargs.
13045         (std_expand_builtin_va_start): Ignore first argument; it is
13046         always 1.
13047         (expand_builtin): Handle BUILT_IN_VA_START and
13048         BUILT_IN_STDARG_START identically.  Delete
13049         BUILT_IN_VARARGS_START case.
13050
13051         * function.c (assign_parms): Delete hide_last_arg and all
13052         its uses.
13053         (mark_varargs): Delete function.
13054         * function.h (struct function): Delete 'varargs' bit.
13055         (current_function_varargs): Delete macro.
13056         * tree.h: Don't declare mark_varargs.
13057
13058         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
13059         (c_expand_body): Don't call mark_varargs.
13060         * c-objc-common.c: Handle BUILT_IN_VA_START and
13061         BUILT_IN_STDARG_START identically.  Delete
13062         BUILT_IN_VARARGS_START case.
13063         * c-tree.h: Don't declare c_mark_varargs.
13064         * c-parse.in: Remove grammar rules for '&...' (which has been
13065         commented out since before 2.7.2) and for '...' in K+R
13066         argument declarations.
13067
13068         * builtins.c, function.c, integrate.c, sibcall.c,
13069         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
13070         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
13071         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
13072         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
13073         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
13074         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
13075         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
13076         config/stormy16/stormy16.c: Delete all references to
13077         current_function_varargs, and code predicated on that flag.
13078
13079         * config/alpha/alpha.c (alpha_va_start),
13080         config/arc/arc.c (arc_va_start),
13081         config/i386/i386.c (ix86_va_start),
13082         config/mips/mips.c (mips_va_start),
13083         config/mn10300/mn10300.c (mn10300_va_start),
13084         config/rs6000/rs6000.c (rs6000_va_start),
13085         config/s390/s390.c (s390_va_start),
13086         config/sh/sh.c (sh_va_start),
13087         Ignore first argument; it is always 1.
13088
13089         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
13090         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
13091         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
13092         Delete m68hc11_va_start.
13093         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
13094         No need to define EXPAND_BUILTIN_VA_START.
13095
13096         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
13097         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
13098
13099 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
13100
13101         PR optimization/7153
13102         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
13103         dies in more than one insn.
13104
13105 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
13106
13107         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
13108
13109 2002-07-15  Michael Matz  <matz@suse.de>,
13110             Daniel Berlin  <dberlin@dberlin.org>,
13111             Denis Chertykov  <denisc@overta.ru>
13112
13113         Add a new register allocator.
13114
13115         * ra.c: New file.
13116         * ra.h: New file.
13117         * ra-build.c: New file.
13118         * ra-colorize.c: New file.
13119         * ra-debug.c: New file.
13120         * ra-rewrite.c: New file.
13121
13122         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
13123         (ra-rewrite.o): New .o files for libbackend.a.
13124         (GTFILES): Add basic-block.h.
13125
13126         * toplev.c (flag_new_regalloc): New.
13127         (f_options): New option "new-ra".
13128         (rest_of_compilation): Call initialize_uninitialized_subregs()
13129         only for the old allocator.  If flag_new_regalloc is set, call
13130         new allocator, instead of local_alloc(), global_alloc() and
13131         friends.
13132
13133         * doc/invoke.texi: Document -fnew-ra.
13134         * basic-block.h (FOR_ALL_BB): New.
13135         * config/rs6000/rs6000.c (print_operand): Write small constants
13136         as @l+80.
13137
13138         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
13139         (df_reg_table_realloc): Make size at least as large as max_reg_num().
13140         (df_insn_table_realloc): Size argument now is absolute, not relative.
13141         Changed all callers.
13142
13143         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
13144         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
13145
13146         2002-06-20  Michael Matz  <matz@suse.de>
13147
13148         * df.h (struct ref.id): Make unsigned.
13149         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
13150
13151         2002-06-13  Michael Matz  <matz@suse.de>
13152
13153         * df.h (DF_REF_MODE_CHANGE): New flag.
13154         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
13155         involving subregs with invalid mode changes, when
13156         CLASS_CANNOT_CHANGE_MODE is defined.
13157
13158         2002-05-07  Michael Matz  <matz@suse.de>
13159
13160         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
13161
13162         2002-05-03  Michael Matz  <matz@suse.de>
13163
13164         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
13165
13166         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
13167
13168         * regclass.c (regclass): Work with all regs which have sets or
13169         refs.
13170         (reg_scan_mark_refs): Count regs inside (clobber ...).
13171
13172         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
13173
13174         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
13175         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
13176         add new refs.
13177         (df_bb_refs_update): Don't clear insns_modified here, ...
13178         (df_analyse): ... but here.
13179
13180         * sbitmap.c (dump_sbitmap_file): New.
13181         (debug_sbitmap): Use it.
13182
13183         * sbitmap.h (dump_sbitmap_file): Add prototype.
13184
13185         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
13186
13187         * df.c (df_insn_modify): Grow the UID table if necessary, rather
13188         than assume all emits go through df_insns_modify.
13189
13190         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
13191
13192         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
13193         increase REG_N_REFS (like flow does), so that regclass doesn't
13194         think a reg is useless, and thus, not calculate a class, when it
13195         really should have.
13196
13197         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
13198
13199         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
13200         dataflow analysis.
13201
13202 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
13203
13204         PR middle-end/7245
13205         * config/i386/i386.c (const_int_1_31_operand): New.
13206         * config/i386/i386.h (PREDICATE_CODES): Add it.
13207         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
13208         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
13209         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
13210
13211 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
13212
13213         PR target/7282
13214         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
13215         (floatunssidf2): Likewise.
13216         (floatsidf_ppc64): New insn_and_split.
13217         (floatunssidf_ppc64): Likewise.
13218
13219 2002-07-14  Andreas Jaeger  <aj@suse.de>
13220
13221         * config.gcc (sh64): Remove unused
13222         target_requires_64bit_host_wide_int.
13223
13224 2002-07-12  Roger Sayle  <roger@eyesopen.com>
13225
13226         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
13227         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
13228         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
13229         whether clear_by_pieces should be used to clear storage.
13230         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
13231
13232         * doc/tm.texi: Document these two new target macros.
13233
13234 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
13235
13236         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
13237         the scratch register.
13238         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
13239         of it, forbid reload to use it.
13240
13241 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13242
13243         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
13244         usage on 64-bit hosts, return value was truncated to 32 bits.
13245
13246 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
13247
13248         * simplify-rtx.c (simplify_subreg): Handle floating point
13249         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
13250         the element mode is requested, compute a subreg with an
13251         integer mode of the same size as the element mode first.
13252
13253 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13254
13255         * combine.c (try_combine): When converting a paradoxical subreg
13256         to an extension, take LOAD_EXTEND_OP into account.
13257
13258 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13259
13260         * config.gcc (mips-sgi-irix6*o32): New configuration.
13261
13262         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
13263         configurations.
13264         * configure: Regenerate.
13265
13266         * config/mips/iris6-o32-as.h: New file.
13267         * config/mips/iris6-o32.h: New file.
13268
13269         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
13270         (NM_FLAGS): Define.
13271         (HAVE_AS_SHF_MERGE): Undefine.
13272
13273         * config/mips/t-iris5-as: New file.
13274         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
13275
13276         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
13277         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
13278         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
13279         dp-bit.c, fp-bit.c): Move ...
13280         * config/mips/t-iris5-6: ... here.
13281         New file, shared by IRIX 5 and IRIX 6.
13282         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
13283         mips-sgi-irix5*): Use it.
13284
13285         * config/mips/iris6.h: Remove duplicate comment.
13286
13287         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
13288         !TARGET_IRIX6]: Define.
13289         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
13290
13291         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
13292
13293 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13294
13295         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
13296         and delete code to force constant to register.
13297         * pa-protos.h (adddi3_operand): Add prototype.
13298         * pa.c (adddi3_operand): New function.
13299
13300 2002-07-11  Roger Sayle  <roger@eyesopen.com>
13301
13302         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
13303         non-ANSI builtin functions.
13304
13305 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
13306
13307         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
13308         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
13309         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
13310         (gen_const_vector_0): Use it.
13311
13312 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13313
13314         * pa.md (adddi3): For 32-bit targets, force constants to a register
13315         if they don't fit in an 11-bit immediate.  Change insn predicate to
13316         arith11_operand.  Remove comment.
13317         * pa.c (cint_ok_for_move): Fix comment.
13318         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
13319         targets.
13320
13321 2002-07-11  Tim Josling  <tej@melbpc.org.au>
13322
13323         Remove front end hard coding from gengtype.c.
13324
13325         * Makefile.in
13326         (STAGESTUFF): add gtyp-gen.h
13327         (GTFILES): Remove front end specific files.
13328         (GTFILES_FILES_LANGS): New, from configure..
13329         (GTFILES_FILES_FILES): Likewise.
13330         (GTFILES_LANG_DIR_NAMES): Likewise.
13331         (GTFILES_SRCDIR): Likewise.
13332         (gtyp-gen.h): Build from configure information.
13333         (s-gtype): Remove command line parameters from gengtype.
13334         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
13335         (mostlyclean): Delete files generated by and for gengtype.
13336
13337         * c-config-lang.in: New file.
13338
13339         * configure.in (all_gtfiles_files_langs): New. Accumulate files
13340         for each language.
13341         (all_gtfiles_files_files): New. Accumulate language for each file
13342         accumulated.
13343         (gtfiles): Pick up value for C.
13344         (srcdir): AC-SUBST this variable.
13345         (all_gtfiles_files_langs): AC-SUBST this variable.
13346         (all_gtfiles_files_files): AC-SUBST this variable.
13347
13348         * configure: Regenerate.
13349
13350         * gengtype-lex.l (parse_file): Make parameter const.
13351
13352         * gengtype.c (toplevel): include gtyp-gen.h.
13353         (BASE_FILE_<language> unnamed enum): Delete.
13354         (lang_names): Delete (replaced by gtyp-gen.h)
13355         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
13356         all references.
13357         (NUM_GT_FILES): New.
13358         (NUM_LANG_FILES): New.
13359         (srcdir_len): New.
13360         (NUM_BASE_FILES): Change calculation.
13361         (open_base_files): Change prototype to avoid warning.
13362         (startswith): Delete.
13363         (get_file_basename): Iterate through generated language list not
13364         hard coded list.
13365         (get_base_file_bitmap): Use generated list of files and languages.
13366         (close_output_files): Add prototype to rmove warning.
13367         (main): Iterate through list of generated files from gtyp-gen.h
13368         rather than command line paramaters.  Ignore duplicated file
13369         names.
13370
13371         * gengtype.h (parse_file): Amend prototype for const parameter.
13372
13373         * doc/sourcebuild.texi: Document gtfiles variable.
13374
13375         * doc/gty.texi: Document changes to gtfiles variable for front
13376         ends.
13377
13378         * objc/config-lang.in (gtfiles): Add files needed for objc front
13379         end.
13380
13381 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13382
13383         PR c/2454
13384         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
13385         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
13386
13387 2002-07-10  Roger Sayle  <roger@eyesopen.com>
13388             Zack Weinberg <zack@codesourcery.com>
13389
13390         * builtins.def: Make the argument types of abort and exit
13391         independent of the front-end.
13392
13393 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
13394
13395         * config/rs6000/linux64.h (ASM_SPEC): Define.
13396
13397 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
13398
13399         * config/rs6000/rs6000.c (emit_frame_save): New.
13400         (rs6000_frame_related): Replace reg2 before reg.
13401         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
13402         and eh_return registers.
13403
13404 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
13405
13406         Revert all patches for optimization of Complex .op. Real.
13407         * complex_part_zero_p: Remove
13408         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
13409         with x.
13410         * expand_cmplxdiv_wide: Ditto.
13411         * expand_binop: Ditto.
13412
13413 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13414
13415         * config/avr/avr.md: Fix two 0x80000000 constants to make them
13416         negative also on 64-bit hosts.
13417
13418         Default to -fno-reorder-blocks when optimizing for size.
13419         * config/avr/avr-protos.h (avr_optimization_options): Declare.
13420         * config/avr/avr.c (avr_optimization_options): New function.
13421         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
13422
13423         Optimize returning from simple functions.
13424         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
13425         * config/avr/avr.c (avr_simple_epilogue): New function.
13426         * config/avr/avr.md (return): New insn.
13427
13428 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
13429
13430         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
13431         HAS_INIT_SECTION to protection.
13432
13433 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
13434
13435         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
13436         deprecated.
13437
13438 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
13439
13440         * combine.c (gen_lowpart_for_combine): Handle vector modes.
13441         Supply non-VOID mode to simplify_gen_subreg.
13442
13443 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13444
13445         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
13446
13447 2002-07-10  Jeffrey A Law  <law@redhat.com>
13448
13449         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
13450         as appropriate.
13451
13452         * mn10200.c (expand_epilogue): Fix test to determine which scratch
13453         register to use.
13454
13455 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
13456
13457         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
13458         Get mode from dest.
13459         If simplify_gen_subreg fails, try next equivalent.
13460
13461 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
13462
13463         * diagnostic.h: #include location.h
13464         (location_t): Move definition to..
13465         * location.h: ... here.  New file.
13466         * tree.h: #include location.h
13467         (DECL_SOURCE_LOCATION): New macro.
13468         (DECL_SOURCE_FILE): Use.
13469         (DECL_SOURCE_LINE): Likewise.
13470         (struct tree_decl): REplace filename and linenum with locus.
13471         * Makefile.in (TREE_H): add location.h
13472         (diagnostic.o): Depends on gt-location.h
13473         (gt-location.h): Depends on s-gtype
13474
13475 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13476
13477         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
13478         TARGET_OS_CPP_BUILTINS.
13479         * config/rs6000/aix31.h: Likewise.
13480         * config/rs6000/aix41.h: Likewise.
13481         * config/rs6000/aix43.h: Likewise.
13482         * config/rs6000/aix51.h: Likewise.
13483         * config/rs6000/beos.h: Likewise.
13484         * config/rs6000/darwin.h: Likewise.
13485         * config/rs6000/eabi.h: Likewise.
13486         * config/rs6000/eabisim.h: Likewise.
13487         * config/rs6000/linux.h: Likewise.
13488         * config/rs6000/linux64.h: Likewise.
13489         * config/rs6000/lynx.h: Likewise.
13490         * config/rs6000/mach.h: Likewise.
13491         * config/rs6000/rtems.h: Likewise.
13492         * config/rs6000/sysv4.h: Likewise.
13493         * config/rs6000/vxppc.h: Likewise.
13494
13495 2002-07-09 Devang Patel <dpatel@apple.com>
13496         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
13497         Do not allow ObjC objects as a parameter type for Objective-C methods.
13498         My previous patch restricted  'struct' also.
13499
13500 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
13501
13502         * cpperror.c (cpp_error): Default to directive_line within
13503         directives here.
13504         * cppexp.c (cpp_interpret_integer): Only use traditional
13505         number semantics in directives.
13506         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
13507         (do_include_common): Similarly.
13508         * cpptrad.c (scan_out_logical_line): Implement accurate
13509         quoting of <> in #include.
13510         * doc/cpp.texi: Update.
13511
13512 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
13513                           J"orn Rennecke <joern.rennecke@superh.com>
13514
13515         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
13516         * sh.md (attribute issues): Replace with:
13517         (attribute pipe_model).  All users changed.
13518         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
13519         All users changed.
13520         (function units sh5issue, sh5fds): New.
13521         (attribute is_mac_media): New.
13522         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
13523         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
13524         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
13525         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
13526         (call_media, call_value_media, sibcall_media): Likewise.
13527         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
13528         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
13529         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
13530         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
13531         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
13532         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
13533         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
13534         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
13535         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
13536         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
13537         (truncdfsf2_media): Likewise.
13538         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
13539         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
13540
13541 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
13542
13543         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
13544         * sh.c (general_extend_operand, inqhi_operand): New functions.
13545         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
13546         alternatives using 'N' modifier.  Add type.
13547         (adddi3z_media): Likewise.  Enable generator function generation.
13548         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
13549         exact predicates / constraints.  Add type.
13550         (subsi3): Allow 0 for SHMEDIA.
13551         (udivsi3_i4_media): Use match_operand for input values
13552         rather than hard registers.
13553         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
13554         unnecessarily through hard registers.  Keep copies of pseudo
13555         registers outside of the libcall sequence.
13556         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
13557         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
13558         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
13559         (extendhidi2, extendqidi2): Likewise.
13560         (andsi3_compact): Name.
13561         (andcdi3): Enable generator function generation.
13562         (zero_extendhisi2, zero_extendqisi2): Rename to
13563         (zero_extendhisi2_compact, zero_extendqisi2_compact).
13564         (extendhisi2, extendqisi2): Rename to
13565         (extendhisi2_compact, extendqisi2_compact).
13566         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
13567         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
13568         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
13569         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
13570         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
13571         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
13572         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
13573         (shmedia32_initialize_trampoline_big): Likewise.
13574         (shmedia32_initialize_trampoline_little): Likewise.
13575         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
13576         (negdi2): Remove spurious T clobber.
13577         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
13578         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
13579         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
13580         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
13581         (ic_invalidate_line_media): Write back data cache before invalidating
13582         instruction cache.  Add type.
13583         (movsf_media): Sign-extend when the destination is a general
13584         purpose register.  Add type.
13585         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
13586         (casesi_worker_0+1): Only increment ref count for proper label.
13587         (casesi_worker_0+2): Likewise.
13588
13589 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
13590
13591         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
13592
13593 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
13594
13595         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
13596         from Pmode to ptr_mode.
13597         (get_exception_pointer): Ditto.
13598         (connect_post_landing_pads): Ditto.
13599         (dw2_build_landing_pads): Ditto.
13600
13601 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
13602         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
13603         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
13604         (handle_pragma_redefine_extname): Change to use new function.
13605
13606 2002-07-08  Roger Sayle  <roger@eyesopen.com>
13607
13608         * combine.c (combine_simplify_rtx): Add an explicit cast
13609         to avoid signed/unsigned comparison warning.
13610         (simplify_if_then_else): Likewise.
13611         (extended_count): Likewise.
13612         (simplify_shift_const): Likewise.
13613         (simplify_comparison): Likewise.
13614
13615 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
13616
13617         * config/mips/mips.md: Add imadd type.  Update scheduler description
13618         to use imadd as well as imul.
13619         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
13620         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
13621         (*mul_sub_si): Likewise for first alternative.  Change second
13622         alternative from imul to multi.
13623
13624 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
13625
13626         * c-common.c (c_common_post_options): Update prototype;
13627         don't init backends if preprocessing only.
13628         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
13629         * langhooks.h (struct lang_hooks): Update post_options to
13630         return a boolean.
13631         * toplev.c (parse_options_and_default_flags, do_compile,
13632         lang_independent_init): Update prototypes.  Allow the
13633         front end to specify that there is no need to initialize
13634         the back end.
13635         (general_init): Move call to hex_init here...
13636         (toplev_main): ...from here.  Pass flag for back end init
13637         suppression.
13638
13639 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
13640
13641         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
13642         (PREDICATE_CODES): Add entries for equality_comparison_operator,
13643         greater_comparison_operator and less_comparison_operator.
13644         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
13645         more operators.
13646         (equality_comparison_operator): New function.
13647         (greater_comparison_operator, less_comparison_operator): Likewise.
13648         * sh.md (beq_media_i): Disable generator function generation.
13649         Use match_operator to handle a whole class of comparisons.  Add
13650         modifier in output template to provide branch prediction.  Add type.
13651         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
13652         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
13653         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
13654         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
13655
13656 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
13657
13658         Emit MMIX function prologue and epilogue as rtl.
13659         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
13660         not unprototyped get_hard_reg_initial_val.
13661         ("call_value", "nonlocal_goto_receiver"): Ditto.
13662         ("return"): Make define_expand.  Move real insn to...
13663         ("*expanded_return"): New pattern.
13664         ("prologue", "epilogue"): New define_expands.
13665         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
13666         (struct machine_function): New member in_prologue.
13667         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
13668         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
13669         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
13670         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
13671         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
13672         (LOCAL_REGNO): Define.  Adjust comment.
13673         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
13674         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
13675         leaf_function_p.
13676         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
13677         the prologue.
13678         (mmix_target_asm_function_prologue): Make static.  Just mark that
13679         the prologue is being emitted.  Move guts to...
13680         (mmix_expand_prologue): New function.  Adjust for emitting
13681         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
13682         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
13683         \n.  Move guts to...
13684         (mmix_expand_epilogue): New function.  Adjust for emitting
13685         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
13686         (mmix_target_asm_function_end_prologue): Mark that the prologue
13687         has ended.
13688         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
13689         (mmix_conditional_register_usage): Improve comments.
13690         (mmix_local_regno): New function.
13691         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
13692         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
13693         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
13694         (mmix_get_hard_reg_initial_val): Ditto.
13695
13696 2002-07-06  Andreas Jaeger  <aj@suse.de>
13697
13698         * toplev.c (set_fast_math_flags): Don't use ISO C style function
13699         definitions.
13700         * gengtype.c (open_base_files): Likewise.
13701         (close_output_files): Likewise.
13702         * tracer.c (find_best_predecessor): Likewise.
13703         (find_best_successor): Likewise.
13704         (ignore_bb_p): Likewise.
13705
13706 2002-07-05  Roger Sayle  <roger@eyesopen.com>
13707
13708         PR c++/7099
13709         * builtin-attrs.def: Define new attribute lists for use in
13710         builtins.def.
13711         * builtins.def [DEF_BUILTIN]: Modify to take an additional
13712         ATTRS argument, an enumerated value defined in builtin-attrs.def
13713         that represents the attribute list for the builtins.  Modify
13714         all builtin functions to pass an appropriate attribute list.
13715         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
13716         their required noreturn attributes.
13717         * tree.h (enum_builtin_function): Ignore the additional parameter
13718         to DEF_BUILTIN.
13719         * builtins.c (built_in_names): Likewise.
13720         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
13721         argument with a tree representing the functions attribute list.
13722         Pass this "attrs" argument to builtin_function.  No longer handle
13723         the noreturn_p processing manually.
13724         (built_in_attributes): Move the definitions from builtin-attrs.def
13725         before c_common_nodes_and_builtins.
13726         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
13727         DEF_BUILTIN, passing it to both builtin_function and the changed
13728         builtin_function_2.
13729
13730         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
13731         __builtin__exit and __builtin__Exit.
13732
13733 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13734
13735         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
13736         QI mode registers in soft registers.
13737         ("zero_extendqihi2"): Do not take into account soft registers
13738         for register allocation (use '*' constraint).
13739
13740 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13741
13742         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
13743         it is dead.
13744         ("*ashrsi3"): Likewise.
13745         ("*lshrsi3"): Likewise.
13746
13747 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
13748
13749         * genautomata.c (output_max_insn_queue_index_def): Take latencies
13750         into account.
13751
13752 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
13753
13754         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
13755         address computation and memory moves.
13756
13757 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
13758
13759         PR c++/6706
13760         * dwarfout.c (output_reg_number): Fix warning message.
13761         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
13762         before using it.
13763
13764 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13765
13766         * gcc/gcc.c (asm_debug): Move initialization ...
13767         (init_spec): ... here.
13768
13769 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13770
13771         * c-parse.in (extdef): Append ';'.
13772         (old_style_parm_decls): Append ';'.
13773
13774 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
13775
13776         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
13777         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
13778         to gcc_cv_as_gstabs_flag.
13779         * configure: Rebuilt.
13780
13781 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
13782
13783         * ggc.h (ggc_add_root): Document as obsolete.
13784
13785 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
13786
13787         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
13788         (mshflo_w): Likewise.
13789
13790 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
13791
13792         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
13793         vector mode subregs of constants to finding integer mode
13794         subregs of constants.
13795         * cse.c (cse_insn): Use simplify_gen_subreg.
13796         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
13797         From a vector mode expression of different size than the
13798         target mode.
13799
13800 2002-07-03  Eric Christopher  <echristo@redhat.com>
13801
13802         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
13803         * config/mips/mips.h: Remove deprecated -m<processor> options
13804         and cc1_cpu_spec associated.
13805         (CONSTANT_ADDRESS_P): Fix last patch.
13806         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
13807         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
13808         sunge_sf): Remove.
13809
13810 2002-07-03  Stan Shebs  <shebs@apple.com>
13811
13812         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
13813         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
13814         (CPP_SPEC): Remove insertion of APPLE_CC definition.
13815
13816 2002-07-03  Roger Sayle  <roger@eyesopen.com>
13817
13818         * combine.c (struct_undo): Change types of recorded substitutions
13819         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
13820         (do_SUBST_INT): Change types of the substitution from unsigned int
13821         to int, to avoid compilation warning from SUBST_INT's only caller.
13822
13823         (make_extraction): Add cast to avoid compilation warning.
13824         (force_to_mode): Remove cast to avoid compilation warning.
13825
13826 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
13827             Jeff Law  <law@redhat.com>
13828
13829         * i386.md (length_immediate attribute): Fix typo.
13830         (length_address attribute): Likewise.
13831         (modrm attribute): Set it to 0 for immediate call instructions.
13832         (jcc_1 pattern): Set modrm attribute to 0.
13833         (jcc_2 pattern ): Likewise.
13834         (jump pattern): Likewise.
13835         (doloop_end_internal pattern): Explicitly set length.
13836         (leave pattern): Fix typo.
13837         (leave_rex64 pattern): Likewise.
13838
13839 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
13840
13841         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
13842         in FPR as preference.
13843         (fctiwz): Same.
13844         (floatdidf2, fix_truncdfdi2): Same.
13845         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
13846         (floatditf2): Same.
13847         (floatsitf2, fix_trunctfsi2): SImode in GPR.
13848         (ctrdi): Remove FPR alternative and splitter.
13849
13850 2002-07-03  Will Cohen  <wcohen@redhat.com>
13851
13852         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
13853
13854 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
13855
13856         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
13857         than UNITS_PER_WORD, unless this is little endian and the first unit
13858         in this word.  Let extract_bit_field decide how to load an element.
13859         Force arguments to matching mode.
13860         (expand_vector_unop): Likewise.
13861
13862         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
13863         consist of word_mode elements.
13864         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
13865         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
13866         (build_unary_op): Allow vector types for BIT_NOT_EPR.
13867         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
13868         CONST_VECTOR.
13869         * optabs.c (expand_vector_binop): Try to perform operation in
13870         smaller vector modes with same inner size.  Add handling of AND, IOR
13871         and XOR.  Reject expansion to inner-mode sized scalars when using
13872         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
13873         (expand_vector_unop): Try to perform operation in smaller vector
13874         modes with same inner size.  Add handling of one's complement.
13875         When there is no vector negate operation, try a vector subtract
13876         operation.  Use simplify_gen_subreg on constants.
13877         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
13878         constants into smaller vectors with same inner mode, and to
13879         integer CONST_DOUBLEs.
13880
13881 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13882
13883         * c-parse.in (parsing_iso_function_signature): New variable.
13884         (extdef_1): New, copied from...
13885         (extdef): ... here.  Reset parsing_iso_function_signature.
13886         (old_style_parm_decls):  Reset parsing_iso_function_signature.
13887         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
13888         Warn about ISO C style function definitions.
13889         (nested_function, notype_nested_function): Reset
13890         parsing_iso_function_signature.
13891         (parmlist_2): Set parsing_iso_function_signature.
13892
13893         * doc/invoke.texi (-Wtraditional): Document new behavior.
13894
13895 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
13896
13897         * config.gcc (mips*el-*-*): Use tm_defines to set
13898         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
13899         * config/mips/little.h: Remove.
13900
13901 2002-07-02 Devang Patel <dpatel@apple.com>
13902
13903         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
13904         object as parameter. Prevent something like 'NSObject' to be
13905         used as the type for a method argument.
13906
13907 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
13908
13909         * cpptrad.c: Update comment.
13910
13911 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13912
13913         * doc/cpp.texi: Update for traditional preprocessing changes.
13914         * goc/cppopts.texi: Similarly.
13915
13916 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
13917
13918         * c-parse.in (designator): Enable designated initializers if ObjC.
13919         (objcmessageexpr): Remove references to objc_receiver_context.
13920         * objc/objc-act.h (objc_receiver_context): Remove decl.
13921         * objc/objc-act.c (objc_receiver_context): Remove.
13922         (lookup_objc_ivar): Test objc_method_context instead of
13923         objc_receiver_context.
13924
13925 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
13926
13927         * sh.c (print_operand, case 'N'): Allow zero vector.
13928         (arith_reg_or_0_operand): Likewise.
13929         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
13930         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
13931         IOR, XOR, PLUS and SET and take their respective constant
13932         ranges into account.
13933         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
13934         * sh.md (subdi3, subdi3_media): Allow zero operand.
13935         (movv8qi_i+3): Only vector that is not split is the zero vector.
13936         Fix operand 3 to simplify_subreg.
13937         (movv2si_i): Split alternative 1.
13938         (mshfhi_l_di_rev+1): New splitter.
13939
13940 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
13941
13942         PR preprocessor/7029
13943         * cppinit.c (cpp_handle_option):  Suppress warnings with an
13944         implicit "-w" for "-M" and "-MM".
13945         * doc/cppopts.texi: Update.
13946
13947 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13948
13949         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
13950         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
13951         builtin_function.
13952
13953 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
13954
13955         * README.Portability: Fix typos.
13956
13957 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
13958
13959         PR target/7177
13960         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
13961         of indirections for register inside sign-extended mem part.
13962
13963 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13964
13965         * tree.h:  Modify builtin_function interface to take an extra
13966         argument ATTRS, which is a tree representing an attribute list.
13967
13968         * c-decl.c (builtin_function): Accept additional parameter.
13969         * objc/objc-act.c (builtin_function): Likewise.
13970         * f/com.c (builtin_function): Likewise.
13971         * java/decl.c (builtin_function): Likewise.
13972         * ada/utils.c (builtin_function): Likewise.
13973         * cp/decl.c (builtin_function): Likewise.
13974         (builtin_function_1): Likewise.
13975
13976         * c-common.c (c_common_nodes_and_builtins): Pass an additional
13977         NULL_TREE argument to builtin_function.  (builtin_function_2):
13978         Likewise.
13979         * cp/call.c (build_java_interface_fn_ref): Likewise.
13980         * objc/objc-act.c (synth_module_prologue): Likewise.
13981         * java/decl.c (java_init_decl_processing): Likewise.
13982         * f/com.c (ffe_com_init_0): Likewise.
13983
13984         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
13985         NULL_TREE argument to builtin_function.
13986         * config/arm/arm.c (def_builtin): Likewise.
13987         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
13988         * config/i386/i386.c (def_builtin): Likewise.
13989         * config/ia64/ia64.c (def_builtin): Likewise.
13990         * config/rs6000/rs6000.c (def_builtin): Likewise.
13991
13992 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
13993
13994         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
13995         * config/mips/t-isa3264: Likewise.
13996         * config/mmix/t-mmix: Likewise.
13997
13998 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13999
14000         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
14001
14002 2002-07-01  Roger Sayle  <roger@eyesopen.com>
14003
14004         PR opt/4046
14005         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
14006         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
14007         B are truth values.
14008
14009 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
14010
14011         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
14012
14013 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
14014
14015         * README.Portability (Function prototypes): Give an example of
14016         declaring and defining a function with no arguments.
14017
14018         * README.Portability (Function prototypes): Document new
14019         variable-argument function macros.
14020
14021 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
14022
14023         * sh.c (langhooks.h): Include.
14024         (sh_init_builtins, sh_media_init_builtins): New functions.
14025         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
14026         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
14027         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
14028         (builtin_description): New struct tag.
14029         (signature_args, bdesc): New arrays.
14030         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
14031         (print_operand): Add 'N' modifier.
14032         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
14033         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
14034         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
14035         (CONST_COSTS): Add special case for SHmedia AND.
14036         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
14037         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
14038         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
14039         target_operand can also be const or unspec.
14040         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
14041         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
14042         (attribute type): Add new types.
14043         (anddi3): Add splitter.
14044         (movdi_const_16bit+1): Add code to handle vector constants and
14045         bitmasks efficiently.
14046         (shori_media): Have generator function made.
14047         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
14048         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
14049         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
14050         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
14051         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
14052         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
14053         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
14054         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
14055         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
14056         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
14057         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
14058         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
14059         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
14060         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
14061         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
14062         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
14063         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
14064         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
14065         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
14066         (ftrv): Likewise.
14067
14068         (fpu_switch+1, fpu_switch+2): Remove constraint.
14069
14070 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
14071
14072         * tree.c (build_function_type_list): Update function comment.
14073         Rename first argument to return_type.
14074
14075 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14076
14077         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
14078         tradcif.y and related files.
14079
14080 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
14081
14082         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
14083
14084 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14085
14086         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
14087
14088 See ChangeLog.7 for earlier changes.