OSDN Git Service

PR other/7031
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-06-07  Magnus Kreth <magnus.kreth@gmx.de>
2             Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
3
4         * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
5         gcov.
6
7 2003-06-07  Kelley Cook  <kelleycook@wideopenwest.com>
8
9         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
10         section names.
11         * configure: Regenerate.
12
13 2003-06-07  Alan Modra  <amodra@bigpond.net.au>
14
15         * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
16
17 2003-06-06  James E Wilson  <wilson@tuliptree.org>
18
19         PR inline-asm/10890
20         * reload1.c (merge_assigned_reloads): Abort only if two reloads have
21         different in fields.
22
23 2003-06-06  Nathanael Nerode  <neroden@gcc.gnu.org>
24
25         * configure.in: Make $(target_subdir) correspond with top level usage.
26         * Makefile.in: Likewise.
27         * configure: Regenerate.
28
29 2003-06-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
30
31         * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
32         ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
33         unsigned HOST_WIDE_INT.
34         * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
35         Likewise.
36         * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
37         Likewise.
38
39 2003-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
40
41         * doc/install.texi (Prerequisites): New section documenting
42         tools and packages necessary prior to building and/or
43         modifying GCC.
44         * doc/install.texi2html: Also generate prerequisites.html.
45
46 2003-06-06  Richard Earnshaw  <rearnsha@arm.com>
47
48         PR target/11052
49         * ifcvt.c (noce_process_if_block): Fail if the destination has
50         side-effects.
51
52 2003-06-06  Jason Merrill  <jason@redhat.com>
53
54         * stmt.c (resolve_asm_operand_names): Rename from
55         resolve_operand_names.  No longer static.  Avoid needless copying.
56         Don't build array of constraints.
57         (expand_asm_operands): Build it here.
58         * tree.h: Declare resolve_asm_operand_names.
59
60         * stmt.c (expand_decl): Put artificial vars into registers even
61         when not optimizing, and don't mark the regs as user vars.
62
63 2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
64
65         * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
66         of the generated register.
67
68 2003-06-06  Daniel Jacobowitz  <drow@mvista.com>
69
70         * config.gcc: Add a missing sparc64 case.
71
72 2003-06-06  Jakub Jelinek  <jakub@redhat.com>
73
74         * mklibgcc.in: Propagate .note.GNU-stack section if needed into
75         the .hidden assembly stubs.
76
77 2003-06-06  H.J. Lu <hongjiu.lu@intel.com>
78
79         * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
80         and x86_64-*-*.
81
82         * config/i386/mmintrin.h: Update version and add alternate
83         intrinsic names.
84         * config/i386/xmmintrin.h: Likewise.
85
86         * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
87         intrinsics to ...
88         * config/i386/emmintrin.h: Here. New file.
89
90 2003-06-06  Roger Sayle  <roger@eyesopen.com>
91
92         * fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
93         fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
94         when the ABS_EXPR (fabs or abs) is not required.
95         (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
96         always nonnegative from fold to here.  Additionally, cabs and fabs
97         are always non-negative, and pow and atan are non-negative if
98         their first argument is non-negative.
99
100         * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
101         Evaluate cabs of a constant at compile-time.  Convert cabs of a
102         non-complex argument into fabs.  Convert cabs(z) into
103         sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
104         -funsafe-math-optimizations or -ffast-math.
105         (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
106         Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
107
108 Thu Jun  5 20:51:09 CEST 2003  Jan Hubicka  <jh@suse.cz>
109
110         * sourcebuild.texi (Front End Directory): Document new hooks.
111
112 Fri Jun  6 11:02:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
113
114         * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
115         * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
116         stack frames.
117         (pro_epilogue_adjust_stack_rex64_2): New pattern
118
119 Fri Jun  6 11:03:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
120                                Pop Sebastian
121                                Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
122
123         * cfghooks.h, cfghooks.c: New files.
124         * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
125         (OBJS): Add cfghooks.o.
126         (cfghooks.o): New rule.
127         * basic-block.h (split_edge): Rename to rtl_split_edge.
128         (verify_flow_info): Rename to rtl_verify_flow_info.
129         (cfghooks.h): Included here.
130         * cfgrtl.c (split_edge): Renamed rtl_split_edge.
131         (verify_flow_info): Renamed rtl_verify_flow_info.
132         * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
133
134         * basic-block.h (split_block, split_edge, flow_delete_block,
135         redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
136         (flow_delete_block_noexpunge):  Return void.
137         * cfg.c (verify_flow_info): New function.
138         * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
139         try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
140         Use delete_block.
141         * cfglayout.c (function_footer): Rename to...
142         (cfg_layout_function_footer): ... this variable
143         (unlink_insn_chain): Make global.
144         (fixup_reorder_chain, record_effective_endpoints): Update.
145         (cleanup_unconditional_jumps): Use delete_block.
146         (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
147         (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
148         (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
149         * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
150         (cfg_layout_function_footer): Declare.
151         * cfgloopmanip (split_loop_bb): Do not update RBI.
152         (remove_bbs): Use delete_block.
153         (loop_reidrect_edge, loop_delete_branch_edge): Use
154         redirect_edge_and_branch.
155         (create_preheader): Use split_block and redirect_edge_and_branch_force.
156         (split_edge_with): Likewise.
157         * cfgrtl.c: Include cfglayout.h
158         (split_edge): Rename to ...
159         (rtl_split_edge) ... this one; make local.
160         (redirect_edge_and_branch): Rename to ...
161         (rtl_redirect_edge_and_branch) ... this one; make local.
162         (redirect_edge_and_branch_force): Rename to ...
163         (rtl_redirect_edge_and_branch_force) ... this one; make local.
164         (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
165         (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
166         cfglayout.c; update to directly call RTL counterparts.
167         (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
168         * ifcvt.c (find_cond_trap): Use delete_block.
169         (find_if_case_1): Use delete_block.
170         (find_if_case_2): Use delete_block.
171         * rtl.h (unlink_insn_chain): Declare.
172         * toplev.c (rtl_reigster_cfg_hooks): New.
173
174 2003-06-05  Richard Henderson  <rth@redhat.com>
175
176         * recog.c (peephole2_optimize): Revert last change.
177
178 2003-06-05  Richard Henderson  <rth@redhat.com>
179
180         * recog.c (peephole2_optimize): Don't split block unless
181         can_throw_internal.
182
183 2003-06-06  Kazu Hirata  <kazu@cs.umass.edu>
184
185         * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
186         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
187
188 2003-06-05  Kelley Cook  <kelleycook@wideopenwest.com>
189
190         PR optimization/4490
191         * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
192         * doc/invoke.texi (m96bit-long-double, m128bit-long-double):  Reword
193         documentation to accurately reflect what these options do.
194
195 2003-06-06  Kaz Kojima  <kkojima@gcc.gnu.org>
196
197         * config/sh/linux.h (STARTFILE_SPEC): Handle -pie.  Simplify.
198         (ENDFILE_SPEC): Redefine to handle -pie.
199
200 2003-06-05  Phil Edwards <phil@jaj.com>
201
202         * Makefile.in (qmtest-g++): Use target_alias, not target.
203
204 2003-06-05  Per Bothner  <pbothner@apple.com>
205
206         * toplev.c (push_srcloc):  Simplify behavior to save current location
207         and set current location to parameters.
208         (pop_srcloc):  Simplify semantics.
209         (lang_dependent_init):  Remove now-useless initial push_srcloc.
210
211 2003-05-06  Richard Henderson  <rth@redhat.com>
212
213         * dwarf2out.c (loc_descriptor_from_tree): Return 0 for 
214         language-specific tree codes.
215
216 2003-06-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
217
218         PR middle-end/9986
219         * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
220         BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
221
222 Thu Jun  5 18:32:46 CEST 2003  Jan Hubicka  <jh@suse.cz>
223
224         * install.tex: Document profiledbootstrap.
225
226         * configure.in:  Add support for lang.stageprofile and
227         lang.stagefeedback
228         * Makefile.in (clean, distclean): Kill new stages
229         (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
230         (STAGE2_FLAGS_TO_PASS): ... this one.
231         (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
232         (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
233         (stageprofile_build, stageprofile_copy, stagefeedback_build,
234         stagefeedback_copy): New.
235         (restageprofile, restagefeedback, stageprofile-start, 
236         stageprofile, stagefeedback-start): Likewise.
237
238 2003-06-05  David Miller  <davem@redhat.com>
239             Richard Henderson  <rth@redhat.com>
240
241         * optabs.c (HAVE_conditional_trap): Provide default.
242         (gen_conditional_trap): Likewise.
243         (init_optabs): Merge init_traps.
244         (gen_cond_trap): Use prepare_operand.  Restructure and avoid ifdef.
245
246 Thu Jun  5 14:59:44 CEST 2003  Jan Hubicka  <jh@suse.cz>
247
248         * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
249         is REG for nonzero_bits (REG) == 8.  
250
251 Thu Jun  5 13:23:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
252
253         * i386.md (align): Fix warning; clarify what to do when no p2align
254         is available.
255
256 2003-06-05  Nick Clifton  <nickc@redhat.com>
257
258         * config.gcc (m32r-elf): Revert previous delta.
259         * config/m32r/t-m32r (crtinit.o): Fix rule to work with
260         multilibs.  Remove m32rx specific version.
261         (crtfini.o): Likewise.
262         (EXTRA_MULTILIB_PARTS): Define.
263         
264 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
265
266         * doc/md.texi (Machine Constraints): Correct the meaning of
267         constraints related to floating-point registers on SPARC.
268
269 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
270             Paolo Bonzini  <bonzini@gnu.org>
271
272         PR target/10663
273         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
274         assembler and linker output to /dev/null.
275         Use a 'sed' construct instead of 'grep -A1'.
276         * configure: Regenerate.
277
278 2003-06-04  Richard Henderson  <rth@redhat.com>
279
280         * config/i386/i386.c (struct ix86_address): Add seg.
281         (no_seg_address_operand): New.
282         (ix86_decompose_address): Restructure PLUS loop.  Accept one
283         UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS.  Adjust ESP swap test
284         to test for a regnum, not stack_pointer_rtx.
285         (ix86_address_cost): Reduce cost if non-default segment.
286         (legitimate_address_p): Remove UNSPEC_TP check.
287         (get_thread_pointer): Add to_reg argument.  Don't represent
288         the thread pointer as a memory load.
289         (legitimize_tls_address): Split out of ...
290         (legitimize_address): ... here.
291         (print_operand_address): Handle parts.seg.
292         (ix86_expand_move): Use legitimize_tls_address.
293         (ix86_rtx_costs): Handle UNSPEC_TP.
294         * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
295         (TARGET_TLS_DIRECT_SEG_REFS): New.
296         (TARGET_SWITCHES): Add tls-direct-seg-refs.
297         (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
298         (PREDICATE_CODES): Add no_seg_address_operand.
299         * config/i386/i386.md (lea_1): Use it.
300         (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
301         (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
302         * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
303         * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
304         * doc/invoke.texi: Add -mtls-direct-seg-refs.
305
306 2003-06-04  Mark Mitchell  <mark@codesourcery.com>
307
308         * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
309         (QMTEST_GPP_TESTS): Use "g++" by default.
310         (stamp-qmtest): Tweak database creation.
311         (QMTEST_DIR/context): Update context file format.
312         (qmtest-g++): Tweak command-line.
313
314 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
315
316         * Makefile.in (varasm.o): Don't set -Wno-error.
317         * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
318
319 2003-06-04  Zack Weinberg  <zack@codesourcery.com>
320
321         PR bootstrap/3163
322         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
323         (gcc_AC_FUNC_MMAP_BLACKLIST): New.
324         * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
325         and AC_CHECK_FUNCS lists, respectively.  Use
326         gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
327         AC_FUNC_MMAP_FILE.
328         * configure, config.in: Regenerate.
329
330 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
331
332         * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
333         * arm.c (arm_output_function_prologue): Fix format specifiers.
334         * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
335         * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
336         HOST_WIDE_INT_PRINT_DEC.
337         * vax.c (vax_output_function_prologue): Fix format specifiers.
338
339 2003-06-04  Richard Henderson  <rth@redhat.com>
340
341         * cse.c (find_best_addr): Consider binary operators even if second
342         argument is not CONST_INT.
343
344 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
345
346         * doc/invoke.texi (max-cse-path-length): Document.
347
348 2003-06-04  Richard Henderson  <rth@redhat.com>
349
350         * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
351
352 2003-06-04  Andrew Pinski <pinskia@physics.uc.edu>
353
354         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
355         Remove semi-colon at the end of the expression.
356
357 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
358
359         * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
360         * i370.h (mvs_function_name_length): Likewise.
361         * i960.h (CONSTANT_ALIGNMENT): Likewise.
362         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
363         * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
364         * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
365         * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
366         variable.
367
368 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
369
370         * config.gcc: Reorganize --with-cpu logic.  Set
371         configure_default_options according to the default CPU, --with-cpu,
372         --with-arch, --with-tune, --with-schedule, --with-abi, and
373         --with-float.  Check for legal values of various options.
374         * configure.in: Define configure_default_options in configargs.h.
375         * configure: Regenerated.
376         * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
377         (TARGET_DEFAULT_FLOAT_P): New macros.
378         * gcc.c (do_option_spec): New function.
379         (struct default_spec, option_default_specs): New.
380         (main): Call do_option_spec.
381         * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
382         config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
383         config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
384
385         * doc/install.texi: Update --with-cpu documentation.  Mention
386         --with-arch, --with-schedule, --with-tune, --with-abi, and
387         --with-float.
388         * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
389
390 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
391
392         * config.gcc: Only process --with-cpu logic in the third pass.
393
394 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
395
396         * config.gcc: Reorganize --with-cpu section.  Remove an
397         obsolete comment about the default CPU for x86-64.  Fix
398         a typo for the ep9312.  Update the list of supported PowerPC
399         CPUs.  Support a limited set of new --with-cpu options
400         for i386.
401
402 2003-06-04  Aldy Hernandez  <aldyh@redhat.com>
403
404         * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
405         complex numbers <= 32 bits into two registers.
406
407 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
408
409         * alpha.c (print_operand_address): Fix format specifier warnings.
410         * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
411         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
412         * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
413         * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
414         * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
415         ASM_OUTPUT_SKIP): Likewise.
416         * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
417         * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
418         * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
419         Likewise.
420         * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
421         * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
422         * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
423         * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
424         * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
425         * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
426         * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
427         * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
428         * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
429         * svr3.h (ASM_OUTPUT_COMMON): Likewise.
430
431 2003-06-04  J"orn Rennecke <joern.rennecke@superh.com>
432
433         * c-decl.c (c_init_decl_processing): Clear input_file_name
434         while building common nodes.
435         * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
436         Don't add working directory for strings like <built-in> .
437
438 2003-06-04  David Edelsohn  <edelsohn@gnu.org>
439
440         * doc/install.texi (*-ibm-aix*): Native as and ld required
441         to bootstrap on AIX 5L.
442
443 2003-06-04  Richard Henderson  <rth@redhat.com>
444
445         * c-common.c (handle_cleanup_attribute): New.
446         (c_common_attributes): Add it.
447         * c-decl.c (finish_decl): Honor the cleanup attribute.
448         * doc/extend.texi (Variable Attributes): Document it.
449
450         * unwind-c.c: New file.
451         * Makefile.in (LIB2ADDEH): Add it.
452         * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
453         config/ia64/t-ia64: Likewise.
454
455 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
456
457         * function.c (trampolines_created): New variable.
458         (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
459         * function.h (trampolines_created): Add.
460         * config/s390/linux.h (ASM_FILE_END): Define.
461         * config/alpha/linux-elf.h (ASM_FILE_END): Define.
462         * config/m68k/linux.h (ASM_FILE_END): Define.
463         * config/rs6000/linux.h (ASM_FILE_END): Define.
464         * config/rs6000/linux64.h (ASM_FILE_END): Define.
465         * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
466         * config/sparc/linux.h (ASM_FILE_END): Define.
467         * config/sparc/linux64.h (ASM_FILE_END): Define.
468         * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
469         * config/i386/linux.h (SUBTARGET_FILE_END): Define.
470         * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
471
472 Wed Jun  4 18:39:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
473
474         * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
475         (ix86_reorg): Use it.
476         * i386.md (align): New insn pattern.
477
478 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
479
480         * toplev.c (rest_of_type_compilation): Fix typo.
481
482 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
483             Alan Modra  <amodra@bigpond.net.au>
484
485         * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
486         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
487         * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
488         * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
489         * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
490         * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
491         (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
492         * config/rs6000/rs6000.c (output_profile_hook): Likewise.
493
494         * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
495         Pass it to $gcc_cv_as.
496         * configure: Rebuilt.
497
498         * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
499         (print_operand): Allow TARGET_AIX to be non-constant.
500         (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
501         Define unconditionally.
502         (rs6000_elf_declare_function_name): New function.
503         * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
504         non-constant.
505         * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
506         to 1.
507         (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
508         [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
509         is defined.
510         (TARGET_AIX): Define to 1 if TARGET_64BIT.
511         (PROCESSOR_DEFAULT): Remove.
512         (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
513         INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
514         [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
515         (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
516         -m32 and -m64.
517         (MULTILIB_DEFAULTS): Define.
518         (SUBSUBTARGET_EXTRA_SPECS): Define.
519         (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
520         (TARGET_TOC): Define only if !RS6000_BI_ARCH.
521         (TARGET_NO_TOC): Remove.
522         [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
523         TARGET_PROTOTYPE): Define to 0.
524         (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
525         (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
526         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
527         if !TARGET_64BIT.
528         (USER_LABEL_PREFIX): Remove.
529         (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
530         (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
531         if TARGET_64BIT.
532         (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
533         (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
534         (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
535         (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
536         (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
537         (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
538         TARGET_64BIT.
539         (RS6000_CALL_GLUE): Likewise.
540         (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
541         RESTORE_FP_SUFFIX): Likewise.
542         (ASM_DECLARE_FUNCTION_NAME): Remove.
543         (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
544         DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
545         name if TARGET_64BIT.
546         (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
547         !TARGET_64BIT.
548         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
549         (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
550         (DRAFT_V4_STRUCT_RET): Define.
551         (SIGNAL_FRAMESIZE): New enum value.
552         (MD_FALLBACK_FRAME_STATE_FOR): Define.
553         * config/rs6000/default64.h: New file.
554         * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
555         options.
556         (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
557         to RS6000_ABI_NAME.  Only disallow mixing of -fPIC with -mcall-aixdesc
558         if !TARGET_64BIT.
559         [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
560         (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
561         function.
562         (TARGET_OS_SYSV_CPP_BUILTINS): Define.
563         (TARGET_OS_CPP_BUILTINS): Use it.
564         (CPP_SYSV_SPEC): Remove.
565         (CPP_SPEC): Remove cpp_sysv.
566         (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
567         Add SUBSUBTARGET_EXTRA_SPECS.
568         (SUBSUBTARGET_EXTRA_SPECS): Define.
569         * config/rs6000/biarch64.h: New file.
570         * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
571         New prototype.
572         * config/rs6000/x-linux64: New file.
573         * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
574         multilibs.
575         * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
576         * config/rs6000/eabi-cn.asm: Likewise.
577         * config/rs6000/tramp.asm: Likewise.
578         * config/rs6000/sol-ci.asm: Likewise.
579         * config/rs6000/sol-cn.asm: Likewise.
580         * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
581         (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
582         * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
583         _CALL_AIXDESC section.
584         * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
585         defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
586         or default32.
587
588 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
589
590         * config.gcc: Revert accidentally committed ARM changes.
591
592 2003-06-04  Roger Sayle  <roger@eyesopen.com>
593
594         * builtins.c (dconstpi, dconste): New mathematical constants.
595         (init_builtin_dconsts): New function to initialize dconstpi
596         and dconste.
597         (fold_builtin): Optimize exp(1.0) = e.  Evaluate exp(x) at
598         compile time with -ffast-math when x is an integer constant.
599         Optimize tan(0.0) = 0.0.  Optimize atan(0.0) = 0.0,
600         atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
601
602 2003-06-04  Roger Sayle  <roger@eyesopen.com>
603
604         * calls.c (expand_call): Avoid calling pure or const functions
605         when the result is ignored (or void) and none of the arguments
606         are volatile.  Move warning diagnostic earlier in function.
607
608 2003-06-04  Andreas Jaeger  <aj@suse.de>
609
610         * system.h: Do not poison TDESC_SECTION_ASM_OP,
611         RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
612
613 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
614
615         * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
616         optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
617         handle %ll, optimize regular character case.
618
619 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
620
621         * Makefile.in (cse.o): Add params.h dependency.
622         * cse.c: Include params.h.
623         (PATHLENGTH): Removed.
624         (struct cse_basic_block_data): Make path array dynamic.
625         (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
626         of PATHLENGTH.
627         (cse_main, cse_basic_block): Allocate path array.
628         * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
629
630 Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
631
632         * i386.c (ix86_reorg): Replace the jump instead of adding nop.
633         * i386.md (UNSPEC_REP): New constant.
634         (return_internal_long): New pattern.
635
636 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
637
638         PR optimization/11018
639         * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
640         consistently to decide whether the scratch register is really
641         required.
642
643 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
644
645         PR optimization/10876
646         * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
647         new 'O' constraint for constant 4096.
648         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
649         * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
650         Do not transform into MINUS insn for constant 4096.
651         (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
652         for constant 4096 as third operand.
653         (addsi3 expander): Remove.
654         (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
655         new alternative for constant 4096 as third operand.
656         (subdi3 expander): Do not transform into PLUS insn for constant 4096.
657         (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
658         operand.
659         (subsi3 expander): Remove.
660         (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
661         constant 4096 as third operand.
662         * doc/md.texi (Machine Constraints): Document new 'O' constraint for
663         the SPARC port.
664
665 2003-06-03  Chris Demetriou  <cgd@broadcom.com>
666
667         * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
668
669 2003-06-04  Andreas Jaeger  <aj@suse.de>
670
671         * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
672
673         * config/i386/i386.c (ix86_expand_prologue): Do not use
674         SUBTARGET_PROLOGUE.
675
676         * system.h: Poision SUBTARGET_PROLOGUE.
677
678         * config/arm/arm-protos.h: Remove unused rdate_section prototype.
679
680         * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
681         dependend code.
682
683         * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
684
685         * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
686         INSN_CACHE_LINE_WIDTH.
687
688         * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
689         (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
690         INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
691
692         * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
693         INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
694
695         * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
696         (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
697         (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
698         (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
699         (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
700         (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
701
702         * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
703         DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
704         DBX_WORKING_DIRECTORY.
705
706         * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
707         DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
708
709         * config/frv/frv-protos.h: Remove unused const_section
710         declaration.
711         * config/vax/vax-protos.h: Likewise.
712
713         * output.h: Remove CONST_SECTION_ASM_OP usage.
714
715         * system.h: Poison CONST_SECTION_ASM_OP.
716
717         * crtstuff.c (__do_global_dtors_aux): Remove usage of
718         CRT_GET_RFIB_TEXT.
719         (frame_dummy): Likewise.
720         * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
721         * system.h: Poison CRT_GET_RFIB_TEXT.
722
723         * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
724
725         * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
726         (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
727         (recognized_function): Likewise.
728         (read_scan_file): Likewise.
729
730 2003-06-03  Roger Sayle  <roger@eyesopen.com>
731
732         * optabs.c (expand_binop): Optimize complex multiplication for
733         the case of squaring a complex argument.
734
735 2003-06-03  Roger Sayle  <roger@eyesopen.com>
736
737         * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
738         non-volatile operands of binary operations.
739         (prepare_cmp_insn): Likewise.
740
741 2003-06-03  Roger Sayle  <roger@eyesopen.com>
742
743         * varasm.c (force_const_mem): Handle alignment of constants not
744         representable as a type in the front-end language.
745
746 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
747
748         * flow.c (initialize_uninitialized_subregs): Use
749         emit_move_insn instead of emitting a hardcoded move.
750
751 2003-06-03  Richard Henderson  <rth@redhat.com>
752
753         * optabs.c (expand_abs_nojump): Split out from ...
754         (expand_abs): ... here.
755         * optabs.h (expand_abs_nojump): Declare.
756         * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
757         * Makefile.in (ifcvt.o): Depend on optabs.h.
758
759 2003-06-03  Alan Modra  <amodra@bigpond.net.au>
760
761         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
762
763 2003-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
764
765         * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
766         (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
767         to yes.
768         * configure.in: Allow default_use_cxa_atexit to determine the
769         value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
770         disabled.
771         * configure: Regenerate.
772
773 2003-06-03  Douglas B Rupp  <rupp@gnat.com>
774
775         * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
776         * doc/gcc.texi: Remove vms.texi section.
777         * doc/vms.texi: Remove obsolete file.
778
779 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
780
781         * configure.in (inhibit_libc): Don't define when configuring
782         with --with-newlib --with-headers.
783         * configure: Regenerate.
784
785         * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
786
787 2003-06-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
788
789         * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
790         IRIX 6 without GNU ld.
791         * configure: Regenerate.
792
793 2003-06-03  Roger Sayle  <roger@eyesopen.com>
794
795         * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
796         of a complex number rather than invoke mov_optab directly.
797
798 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
799
800         * combine.c (simplify_set): Don't move a subreg in SET_SRC to
801         SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
802
803 2003-06-03  Nathanael Nerode  <neroden@gcc.gnu.org>
804
805         * config/i386/x86-64.h: Remove two target-independent comments;
806          replace "GNU CC" with "GCC".
807
808 2003-06-03  Anthony Green  <green@redhat.com>
809
810         * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
811
812 2003-06-03  Roger Sayle  <roger@eyesopen.com>
813
814         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
815         New builtins representing ISO C99's cabs, cabsf and cabsl.
816         * builtins.c (expand_builtin_fabs): New function.
817         (expand_builtin_cabs): New function.
818         (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
819         using expand_builtin_fabs and expand_builtin_cabs respectively.
820
821         * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
822
823 2003-06-03  Aldy Hernandez  <aldyh@redhat.com>
824
825         * function.c (assign_parms): Split complex arguments.
826
827         * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
828
829         * expr.h (SPLIT_COMPLEX_ARGS): Define.
830         (split_complex_types): Protoize.
831         (split_complex_values): Protoize.
832
833         * calls.c (expand_call): Split complex arguments on architectures
834         that require it.
835         (split_complex_values): New.
836         (split_complex_types): New.
837
838         * config/rs6000/rs6000.c (rs6000_libcall_value): New.
839         (rs6000_function_value): Handle complex values on AIX.
840         (rs6000_complex_function_value): New.
841
842         * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
843
844         * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
845         (SPLIT_COMPLEX_ARGS): New.
846
847 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
848
849         * configure.in (HAVE_LD_PIE): Check for ld -pie.
850         * config.in: Rebuilt.
851         * configure: Rebuilt.
852         * toplev.c (flag_pie, flag_shlib): New variables.
853         (f_options): Add -fpie and -fPIE.
854         (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
855         Set flag_shlib if flag_pic and not -fpie/-fPIE.
856         * flags.h (flag_pic, flag_shlib): Add.
857         * varasm.c (default_binds_local_p): Use flag_shlib instead of
858         flag_pic.
859         * gcc.c (LINK_PIE_SPEC): Define.
860         (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
861         (option_map): Add --pie -> -pie mapping.
862         * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
863         and -fPIE the same way as -fPIC.
864         * config/openbsd.h (ASM_SPEC): Likewise.
865         * config/frv/frv.h (ASM_SPEC): Likewise.
866         * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
867         * config/arm/semi.h (ASM_SPEC): Likewise.
868         * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
869         * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
870         * config/i386/beos-elf.h (CC1_SPEC): Likewise.
871         * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
872         * config/m68k/linux.h (CPP_SPEC): Likewise.
873         * config/m68k/netbsd.h (ASM_SPEC): Likewise.
874         * config/m68k/openbsd.h (ASM_SPEC): Likewise.
875         * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
876         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
877         * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
878         * config/pa/pa-linux.h (CPP_SPEC): Likewise.
879         * config/netbsd-aout.h (ASM_SPEC): Likewise.
880         * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
881         * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
882         * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
883         * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
884         * config/sparc/sparc.h (ASM_SPEC): Likewise.
885         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
886         * config/sparc/sysv4.h (ASM_SPEC): Likewise.
887         * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
888         * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
889         * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
890         * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
891         Simplify.
892         * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
893         * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
894         * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
895         * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
896         * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
897         * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
898         * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
899         * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
900
901 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
902
903         * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
904         != 0 handling.  Pass 0 to store_by_pieces.
905         (expand_builtin_mempcpy): Add endp argument.  Don't call
906         expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
907         directly.  If ignoring result, only do expand_call.
908         (expand_builtin_stpcpy): Likewise.  Call expand_builtin_mempcpy
909         otherwise.
910         (expand_builtin_strncpy, expand_builtin_memset): Adjust
911         store_by_pices callers.
912         (expand_builtin): Adjust expand_builtin_memcpy and
913         expand_builtin_mempcpy callers.
914         * expr.c (can_move_by_pieces): New function.
915         (move_by_pieces): Add endp argument, return to resp. memory at end
916         or one byte earlier depending on endp.
917         (store_by_pieces): Likewise.
918         (emit_block_move): Adjust call to move_by_pieces.
919         (emit_push_insn): Adjust move_by_pieces caller.
920         * expr.h (can_move_by_pieces): New prototype.
921         (store_by_pieces): Adjust prototypes.
922         * rtl.h (move_by_pieces): Adjust prototype.
923         * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
924         caller.
925
926 2003-06-03  Ben Elliston  <bje@wasabisystems.com>
927
928         * doc/md.texi (Processor pipeline description): Improve wording.
929
930 2003-06-03  Neil Booth  <neil@daikokuya.co.uk>
931
932         * c-opts.c (c_common_handle_option): New, pulled out of
933         c_common_decode_option.  Substitute uses of argv.
934         (c_common_decode_option): Broken into two.
935
936 2003-06-02  Roger Sayle  <roger@eyesopen.com>
937             Zack Weinberg  <zack@codesourcery.com>
938
939         * emit-rtl.c (gen_complex_constant_part):  Remove unnecessary
940         test of TREE_CONSTANT_POOL_ADDRESS_P.
941
942 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
943
944         * mips.c: Don't include output.h twice.
945         * stormy16.c: Likewise.
946         * xtensa.c: Likewise.
947         * output.h: Protect against multiple inclusion.
948
949 2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
950
951         * sh.h (OLD_ARG_MODE): New macro.
952         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
953         (FUNCTION_ARG_1): Break out of:
954         (FUNCTION_ARG).  Use OLD_ARG_MODE.
955
956 2003-06-02  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
957
958         * gcc/config.gcc Add support multilib parts for m32rx processor.
959
960 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
961
962         * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
963         (mostlyclean): Delete c-options.c and c-options.h.
964
965 2003-06-02  Neil Booth  <neil@daikokuya.co.uk>
966
967         * c-opts.c (CL_REJECT_NEGATIVE): New.
968         (c_common_decode_option): Update to use it.
969         * c.opt: Update documentation; use RejectNegative.
970         * opts.sh: Handle RejectNegative.
971
972 2003-06-01  Zack Weinberg  <zack@codesourcery.com>
973
974         * ggc-page.c (init_ggc): Give better diagnostics on failure to
975         open /dev/zero.
976         * toplev.c (crash_signal): Reset handling for received signal
977         to SIG_DFL.
978
979 2003-06-02  Ben Elliston  <bje@wasabisystems.com>
980
981         * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
982         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
983         (arm_use_dfa_pipeline_interface): Implement.
984         * config/arm/arm.md (arm): New automaton.
985         (write_buf): Remove function units; new cpu unit.
986         (write_blockage): Remove function units; new cpu unit.
987         (core): Remove function units; new cpu unit.
988         (r_mem_f_wbuf): New instruction reservation.
989         (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
990         (store1_ldsched, store2, store3, store4): Likewise.
991         (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
992         (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
993         (multi_cycle, single_cycle): Likewise.
994         * config/arm/fpa.md (armfp): New automaton.
995         (fpa): Remove function units; new cpu unit.
996         (fpa_mem): Remove function unit; new cpu unit.
997         (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
998         (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
999
1000 2003-06-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1001
1002         * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
1003         * c-format.c (enum format_type): Add asm_fprintf_format_type.
1004         (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
1005         asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
1006         (format_types_orig): Renamed from format_types.  Add new data.
1007         (format_types): Declare as pointer.
1008         (handle_format_attribute): Move later in file so we have all
1009         necessary declarations.  Add section to capture HOST_WIDE_INT.
1010         * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
1011         (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
1012
1013 2003-06-01  Andreas Jaeger  <aj@suse.de>
1014
1015         * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
1016         ROUND_TYPE_SIZE_UNIT.
1017
1018         * stor-layout.c (finalize_record_size): Remove usages of
1019         ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1020         (finalize_type_size): Likewise.
1021         (layout_type): Likewise.
1022
1023         * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1024
1025         * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
1026
1027         * config/d30v/d30v.h: Remove text copied from the manual.
1028
1029 2003-06-01  Roger Sayle  <roger@eyesopen.com>
1030             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1031             Geoffrey Keating  <geoffk@apple.com>
1032
1033         * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
1034         constants as condition code values.
1035
1036 2003-06-01  DJ Delorie  <dj@redhat.com>
1037
1038         * cppmacro.c (warn_of_redefinition): Handle cases where the two
1039         definitions have different numbers of tokens.
1040
1041 2003-06-01  Andreas Jaeger  <aj@suse.de>
1042
1043         * gen-protos.c (main): Readd unused attribute for argc.
1044
1045 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
1046
1047         * Makefile.in (c-options.c, c-options.h): Parallel make safe.
1048         * c.opt: End in blank line.
1049         * opts.sh: Take AWK from environment if available; use C locale.
1050
1051 2003-06-01  Andreas Schwab  <schwab@suse.de>
1052
1053         * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
1054
1055 2003-06-01  Andreas Jaeger  <aj@suse.de>
1056
1057         * gen-protos.c (main): Revert patch to check for argument.
1058
1059 2003-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1060
1061         PR target/11044
1062         * config/i386/i386.md (length attribute): Set length to 4
1063         for instructions of type "fcmp".
1064
1065 2003-06-01  Andreas Jaeger  <aj@suse.de>
1066
1067         * toplev.c: Use ISO C90 prototypes.
1068
1069         * toplev.h: Use ISO C90 prototypes.
1070
1071         * genrecog.c: Use ISO C90 prototypes.
1072         (nodes_identical): Correct declaration to match prototype.
1073         (maybe_both_true): Likewise.
1074         (merge_trees): Likewise.
1075
1076         * genpeep.c (gen_peephole): Remove #if 0 code.
1077         Use ISO C90 prototypes.
1078
1079         * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
1080         Remove #if 0'ed function simplify_by_alternatives.
1081         (optimize_attrs): Remove #if 0'ed code.
1082         Remove ^L.
1083         Use ISO C90 prototypes.
1084         (make_canonical): Remove #if 0'ed code.
1085         (convert_const_symbol_ref): Remove #if 0'ed function.
1086
1087         * gen-protos.c (main): Check for argument.
1088
1089         * rtl.h: Use ISO C90 prototypes for functions from lists.c.
1090
1091         * params.h: Use ISO C90 prototypes.
1092         * params.c: Likewise.
1093         * intl.c: Likewise.
1094         * intl.h: Likewise.
1095         * lists.c: Likewise.
1096         * errors.c: Likewise.
1097         * errors.h: Likewise.
1098         * gencodes.c: Likewise.
1099         * genpreds.c: Likewise.
1100         * genattr.c: Likewise.
1101         * gen-protos.c: Likewise.
1102         * genflags.c: Likewise
1103         * genconditions.c: Likewise.
1104         * genautomata.c: Likewise.
1105         * gencheck.c: Likewise.
1106         * genconfig.c: Likewise.
1107         * genconstants.c: Likewise.
1108         * genemit.c: Likewise.
1109         * genextract.c: Likewise.
1110         * gengenrtl.c: Likewise.
1111         * gengtype.c: Likewise.
1112         * gengtype.h: Likewise.
1113         * genopinit.c: Likewise.
1114         * genoutput.c: Likewise.
1115         * gensupport.c: Likewise.
1116         * gensupport.h: Likewise.
1117
1118         * sdbout.h: Use ISO C90 prototypes.
1119
1120         * sdbout.c (CONTIN): Removed empty macro.
1121         (sdbout_one_type): Remove CONTIN usages.
1122         Remove ^Ls.
1123         (tag_of_ru_type): Remove #if 0'ed function.
1124         (sdbout_symbol): Remove #if 0'ed code.
1125         (sdbout_one_type): Remove a #if 1.
1126         (sdbout_one_type): Remove #if 0'ed code.
1127         (sdbout_init): Remove RMS_QUICK_HACK_1 code.
1128         Remove PARAMS, use ISO C90 prototypes for all functions.
1129
1130 2003-06-01  Josef Zlomek  <zlomekj@suse.cz>
1131
1132         * rtl.def (CONST_DOUBLE): Update comment.
1133
1134 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
1135
1136         * opts.sh: Remove path from sort.
1137
1138 2003-06-01  Aldy Hernandez  <aldyh@redhat.com>
1139
1140         PR/9680
1141         * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
1142         TARGET_SPE for SPE_VECTOR_MODE.
1143
1144 2003-05-31  Aldy Hernandez  <aldyh@redhat.com>
1145
1146         * toplev.c (botch): Remove.
1147         (do_abort): Remove.
1148         (set_Wunused): Comment.
1149         (set_Wextra): Comment.
1150         Remove ^L's.
1151         (rest_of_compilation): Factor out common code into functions.
1152         (rest_of_handle_inlining): New.
1153         (rest_of_handle_ssa): New.
1154         (rest_of_handle_cse): New.
1155         (rest_of_handle_gcse): New.
1156         (rest_of_handle_loop_optimize): New.
1157         (rest_of_handle_jump_bypass): New.
1158         (rest_of_handle_sibling_calls): New.
1159         (rest_of_handle_null_pointer): New.
1160         (rest_of_handle_addresof): New.
1161         (rest_of_handle_flow): New.
1162         (rest_of_handle_branch_prob): New.
1163         (rest_of_handle_if_conversion): New.
1164         (rest_of_handle_tracer): New.
1165         (rest_of_handle_loop2): New.
1166         (rest_of_handle_cse2): New.
1167         (rest_of_handle_life): New.
1168         (rest_of_handle_combine): New.
1169         (rest_of_handle_if_after_combine): New.
1170         (rest_of_handle_regmove): New.
1171         (rest_of_handle_sched): New.
1172         (rest_of_handle_old_regalloc): New.
1173         (rest_of_handle_new_regalloc): New.
1174         (rest_of_handle_regrename): New.
1175         (rest_of_handle_reorder_blocks): New.
1176         (rest_of_handle_sched2): New.
1177         (rest_of_handle_new_regalloc): New.
1178         (rest_of_handle_old_regalloc): New.
1179         (rest_of_handle_regrename): New.
1180         (rest_of_handle_reorder_blocks): New.
1181         (rest_of_handle_stack_regs): New.
1182         (rest_of_handle_machine_reorg): New.
1183         (rest_of_handle_delay_slots): New.
1184         (rest_of_handle_final): New.
1185
1186         * toplev.h (botch): Remove prototype.
1187         (do_abort): Same.
1188
1189 2003-05-31  Neil Booth  <neil@daikokuya.co.uk>
1190
1191         * Makefile.in (c-opts.o, c-options.h): Update dependencies.
1192         * c-opts.c: Include c-options.h and c-options.c.
1193         (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
1194         Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
1195         (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
1196         OPT, opt_comp): Remove.
1197         (missing_arg, c_common_init_options, c_common_decode_option,
1198         write_langs): Update for macro redefinitions and enumeration
1199         name changes.
1200         * c.opt, opts.sh: New files.
1201         * doc/passes.texi: Update.
1202
1203 2003-05-31  Andreas Jaeger  <aj@suse.de>
1204
1205         * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
1206         usage.
1207
1208         * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
1209
1210         * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
1211
1212         * system.h: Poison ALLOCATE_TRAMPOLINE.
1213
1214         * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
1215         * system.h: Poison HANDLE_PRAGMA.
1216
1217 2003-05-31  Kazu Hirata  <kazu@cs.umass.edu>
1218
1219         * doc/invoke.texi: Update dump file names.
1220
1221 2003-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1222
1223         * c-format.c (format_length_info, format_char_info,
1224         format_flag_spec, format_flag_pair, format_kind_info):
1225         De-const-ify structure members.
1226
1227 2003-05-31  Roger Sayle  <roger@eyesopen.com>
1228
1229         * flags.h (flag_wrapv): New flag controlling overflow semantics.
1230         * toplev.c (flag_wrapv): Declare the variable with default false.
1231         (lang_independent_options): New option "-fwrapv" to set the above.
1232
1233         * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
1234         as x, when signed arithmetic overflow wraps around.
1235         (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
1236         * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
1237         overflow when flag_wrapv is true.
1238
1239         * doc/invoke.texi: Document new -fwrapv command line option.
1240         * doc/c-tree.texi: Mention that the overflow semantics of
1241         NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
1242         upon both flag_wrapv and flag_trapv.
1243
1244 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1245
1246         * doc/install.texi (mips-sgi-irix5): Add missing
1247         HTML <hr> marker.
1248
1249 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1250
1251         * doc/md.texi (Machine Constraints): Document
1252         missing SPARC constraints.
1253
1254 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1255
1256         * doc/md.texi (Automaton pipeline description): Use
1257         "type" instead of "cpu" as the attribute in the examples.
1258
1259 2003-05-30  Stan Shebs  <shebs@apple.com>
1260
1261         * system.h: Poison OBJC_PROLOGUE.
1262
1263 2003-05-30  Roger Sayle  <roger@eyesopen.com>
1264
1265         * emit-rtl.c (gen_complex_constant_part): New function for getting
1266         the constant real or imaginary part of a complex constant.
1267         (gen_realpart): Use it.
1268         (gen_imagpart): Likewise.
1269
1270 2003-05-30  Kazu Hirata  <kazu@cs.umass.edu>
1271
1272         * doc/invoke.texi: Fix typos.
1273         * doc/rtl.texi: Likewise.
1274
1275 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
1276
1277         * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
1278         mode.
1279         * config/h8300/crtn.asm: Likewise.
1280         * config/h8300/lib1funcs.asm: Likewise.
1281         * config/h8300/h8300.c (asm_file_start): Likewise.
1282         * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
1283         h8300snelf emulations for normal mode.
1284         * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
1285         emulations for normal mode.
1286
1287 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
1288
1289         * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
1290         true if TARGET_NORMAL_MODE.
1291
1292 2003-05-30  Roger Sayle  <roger@eyesopen.com>
1293
1294         * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
1295         making a substitution.
1296         (dead_libcall_p): If directly replacing a libcall with a
1297         constant value produces an invalid instruction, also try forcing
1298         the constant into the constant pool.
1299         * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
1300         obvious that the source is a constant.
1301         (compress_float_constant): Use set_unique_reg_note to place
1302         REG_EQUAL notes on instructions.
1303
1304 2003-05-30  Eric Christopher  <echristo@redhat.com>
1305
1306         * config/mips/mips.c (extern_list): Add GTY marker.
1307         (extern_head): Separate out definition. Add marker.
1308         (mips_output_external): Use ggc_alloc for extern_list
1309         allocation.
1310         (mips_output_external_libcall): Ditto.
1311
1312 2003-05-30  Florian Weimer  <fw@deneb.enyo.de>
1313
1314         * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
1315         later.
1316
1317 2003-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1318
1319         * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1320         warnings.
1321         (PRINT_OPERAND): Likewise.
1322
1323 2003-05-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1324
1325         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
1326         -mdebug/-no-mdebug switches ...
1327         (MDEBUG_ASM_SPEC): ... here.
1328         Use only with gas.
1329         (EXTRA_SPECS): Initialize mdebug_asm_spec.
1330
1331 2003-05-29  Matt Kraai  <kraai@alumni.cmu.edu>
1332
1333         * gthr-gnat.c: Remove #undef UNUSED.
1334         (__gnat_default_lock, __gnat_default_unlock): Prototype.
1335         (__gnat_task_lock, __gnat_task_unlock): Make declarations
1336         prototypes.
1337         (__gnat_install_locks): Convert declaration to ISO C90, make
1338         parameter declarations prototypes, and remove blank line.
1339         * gthr-gnat.h (__gnat_install_locks): Make parameter
1340         declarations prototypes.
1341
1342 2003-05-29  Jason Merrill  <jason@redhat.com>
1343
1344         * Makefile.in (unstrap): Remove stage_last after make unstage1.
1345
1346 2003-05-29  Roger Sayle  <roger@eyesopen.com>
1347
1348         * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
1349
1350 2003-05-29  Roger Sayle  <roger@eyesopen.com>
1351             Kaveh Ghazi  <ghazi@caip.rutgers.edu>
1352
1353         PR bootstrap/10169
1354         * mips-tfile.c (main): Use getopt_long instead of getopt.
1355         Add new command line option --version to display version.
1356         Treat --verbose like -v to report a single line version.
1357         (options): New global variable for getopt_long.
1358         * mips-tdump.c (main): Use getopt_long instead of getopt.
1359         New command line options -v, --version and -verbose to display
1360         the program version number (to match mips-tfile's behavior).
1361         (options): New global variable for getopt_long.
1362
1363         * gcov.c (options): Zero-terminate getopt_long array.
1364         * gcov-dump.c (options): Likewise.
1365
1366         * Makefile.in (mips-tdump.o): Add dependency on version.h.
1367
1368 2003-05-29  Stan Shebs  <shebs@apple.com>
1369
1370         Remove OBJC_PROLOGUE everywhere.
1371         * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
1372         * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
1373         * config/d30v/d30v.h: Similarly.
1374         * config/ip2k/ip2k.h: Similarly.
1375         * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
1376
1377 2003-05-29  Roger Sayle  <roger@eyesopen.com>
1378
1379         * c-semantics.c (genrtl_do_stmt_1): New function split out from...
1380         (gen_rtl_do_stmt): ... here.  Call genrtl_do_stmt_1.
1381         (expand_unreachable_stmt): Expand unreachable while statements
1382         using genrtl_do_stmt_1.
1383
1384 2003-05-29  Richard Sandiford  <rsandifo@redhat.com>
1385
1386         * config/mips/mips-protos.h (mips_output_load_label): Declare.
1387         * config/mips/mips.c (mips_output_load_label): New function.
1388         (mips_output_conditional_branch): Use it.
1389         * config/mips/mips.md (jump): And here.
1390
1391 2003-05-28  Bob Wilson  <bob.wilson@acm.org>
1392
1393         * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
1394         (xtensa_split_operand_pair): New proto.
1395         * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
1396         (smalloffset_double_mem_p): Delete.
1397         (gen_float_relational, printx, print_operand, xtensa_va_arg):
1398         Fix whitespace.
1399         (xtensa_split_operand_pair): New.
1400         (xtensa_dbx_register_number): Fix formatting.
1401         * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
1402         * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
1403         instead of splitting them into single-word moves.  Remove unnecessary
1404         checks for reload_in_progress and reload_completed.
1405         (movdi_internal, movdf_internal): Change to post-reload split patterns.
1406         Add constraints to allow constant operands.
1407         (movsf_internal): Allow CONST_INT operands.
1408
1409 2003-05-27  Danny Smith   <dannysmith@users.sourceforge.net>
1410
1411         * config.gcc (i[34567]86-*-mingw32*): Add host makefile
1412         fragment i386/x-mingw32.
1413         * config/i386/x-mingw32: New file. Make local_includedir
1414         relative to EXEC_PREFIX.
1415
1416 2003-05-27  Aaron W. LaFramboise  <awlaframboise@aol.com>
1417
1418         * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
1419         (MD_STARTFILE_PREFIX): Define.
1420
1421 2003-05-27  Denis Chertykov  <denisc@overta.ru>
1422
1423         * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
1424         VOIDmode.
1425         * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
1426         call of cselib_invalidate_regno.
1427
1428 2003-05-28  Daniel Jacobowitz  <drow@mvista.com>
1429
1430         * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
1431         -lthread to -lpthread.
1432
1433 2003-05-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
1434             Bruce Korb  <bkorb@gnu.org>
1435             Arno Klaassen  <arno@heho.snv.jussieu.fr>
1436
1437         * fixinc/inclhack.def: Add missing declaration of getpagesize()
1438         to unistd.h on Solaris 2.5.1.
1439         Fix prototype of recv() and send() in sys/socket.h on
1440         Solaris 2.5.1 and 2.6.
1441         * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
1442         * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
1443         * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
1444         * fixinc/fixincl.x: Regenerate.
1445
1446 2003-05-27  Jason Merrill  <jason@redhat.com>
1447
1448         * tree.c (expr_first, expr_length): New fns.
1449         * tree.h: Declare them.
1450
1451         * tree.c (iterative_hash_expr): Hash commutative expressions
1452         consistently.
1453
1454 2003-05-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1455
1456         * tree.h (contains_placeholder_p): Now returns bool.
1457         (CONTAINS_PLACEHOLDER_P): New macro.
1458         (type_contains_placeholder_p): New function.
1459         * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
1460         (contains_placeholder_p): Now returns bool.
1461         Rework to use CONTAINS_PLACEHOLDER_P macro.
1462         (type_contains_placeholder_p): New function.
1463         * fold-const.c (fold, case COMPONENT_REF): Don't fold if
1464         type_contains_placeholder_p.
1465         (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
1466         Use CONTAINS_PLACEHOLDER_P macro.
1467         * builtins.c (fold_builtin): Likewise.
1468         * calls.c (initialize_argument_information): Likewise.
1469         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
1470         * explow.c (expr_size): Likewise.
1471         * expr.c (store_constructor, get_inner_reference): Likewise.
1472         * function.c (assign_parms): Likewise.
1473         * stor-layout.c (variable_size): Likewise.
1474
1475 2003-05-25  Gabriel Dos Reis <gdr@integrable-solutions.net>
1476
1477         * diagnostic.h (output_verbatim, verbatim):  Remove  printf
1478         attribute.
1479
1480 2003-05-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1481
1482         * doc/contrib.texi (Contributors): Update Kean Johnston.
1483
1484 2003-05-24  David Edelsohn  <edelsohn@gnu.org>
1485
1486         * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
1487
1488 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
1489
1490         * config/rs6000/440.md, config/stormy16/stormy16protos.h,
1491         config/stormy16/stormy16.c, config/stormy16/stormy16.md:
1492         Replace "GNU CC" with "GCC".
1493
1494 2003-05-24  Matt Kraai  <kraai@alumni.cmu.edu>
1495
1496         * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
1497         intermediate computation.
1498
1499 2003-05-23  Eric Christopher  <echristo@redhat.com>
1500
1501         * config/mips/mips.md (clzsi, clzdi): New patterns.
1502
1503 2003-05-23  Geoffrey Keating  <geoffk@apple.com>
1504
1505         * gcc.c (default_compilers): Use -o to specify preprocessor's output
1506         file.  Make -no-integrated-cpp work when building PCH files.
1507         * objc/lang-specs.h: Likewise.
1508
1509 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
1510
1511         * fixinc/Makefile.in: Correct description.
1512         * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
1513         fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
1514         fixinc/genfixes: Replace "GNU CC" with "GCC".
1515
1516 2003-05-23  Roger Sayle  <roger@eyesopen.com>
1517
1518         * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
1519         builtin functions (and their __builtin_* variants).
1520         * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
1521         (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
1522         optimizing.
1523
1524         * doc/extend.texi: Document new tan and atan builtins, and
1525         their float and long double variants.
1526
1527 2003-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
1528
1529         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
1530         __sparcv9 in the TARGET_ARCH64 case.
1531
1532 Fri May 23 22:17:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
1533
1534         * i386.c (ix86_reorg): Calls are also jumps.
1535
1536 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
1537
1538         * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
1539         note containing an EXPR_LIST, process all the arguments.
1540
1541 Fri May 23 21:19:31 CEST 2003  Jan Hubicka  <jh@suse.cz>
1542                                Andreas Jaeger  <aj@suse.de>
1543
1544         * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
1545         do not use assertion.
1546
1547 2003-05-23  Mike Stump  <mrs@apple.com>
1548
1549         * tlink.c (scan_linker_output): Add support for darwin linker, as it
1550         emits unresolved symbols one per line, consuming the entire line.
1551
1552 2003-05-23  Larin Hennessy <larin@science.oregonstate.edu>
1553             Zack Weinberg <zack@codesourcery.com>
1554
1555         * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
1556         * config/m68k/m68k.c (m68k_output_function_prologue):
1557         Remove code under #if NEED_PROBE.
1558         * config/m68k/m68k.h: Don't define NEED_PROBE.
1559         * config/m68k/m68k.md: Remove "probe" insn.
1560         * doc/md.texi: Remove documentation of "probe" pattern.
1561
1562 2003-05-23  Dorit Naishlos  <gcchaifa@il.ibm.com>
1563
1564         * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
1565
1566 2003-05-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1567
1568         * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
1569         Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
1570
1571 2003-05-22  Roger Sayle  <roger@eyesopen.com>
1572
1573         * real.c (real_maxval): New function to return the largest finite
1574         value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
1575         * real.h (real_maxval): Prototype here.
1576         * fold-const.c (fold_inf_compare): Transform comparisons against
1577         +-Infinity into comparisons against DBL_MAX (or equivalent).
1578
1579 2003-05-22  Mike Stump  <mrs@apple.com>
1580
1581         * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
1582         default.
1583
1584 2003-05-22  DJ Delorie  <dj@redhat.com>
1585
1586         * calls.c (expand_call): If the arg block is going to grow
1587         downward, we need argblock to point to the top of the block,
1588         not the bottom.
1589
1590 2003-05-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1591
1592         * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
1593
1594         * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
1595         constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
1596
1597 2003-05-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1598
1599         * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
1600         * m68k.c: Likewise.
1601         * m68k.h: Likewise.
1602
1603 2003-05-22  Zack Weinberg  <zack@codesourcery.com>
1604
1605         PR other/2873
1606         * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
1607         expressions to prevent triggering on recent curses.h,
1608         linux/nls.h, or X11/Xlib.h.
1609         (stdio_va_list): Add _G_va_list to bypass pattern.
1610         (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
1611         * fixinc/fixincl.x: Regenerate.
1612
1613 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
1614
1615         * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
1616         switches when --target-help option is specified.
1617
1618 2003-05-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
1619
1620         PR bootstrap/10805
1621         * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
1622         failure with Sun assembler 5.0 Alpha 03/27/98.
1623
1624 2003-05-21  Loren James Rittle  <ljrittle@acm.org>
1625
1626         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
1627         to match system compiler convention.
1628
1629 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
1630
1631         * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
1632         value, not just if defined.
1633         Update copyright year.
1634
1635 2003-05-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1636
1637         PR target/6428
1638         * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
1639         directories from LIB_SPEC to LINK_SPEC.  Emit warning if `-p' or `-pg'
1640         option is used without `-static'.
1641         * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
1642         * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
1643
1644 2003-05-21  Bob Wilson  <bob.wilson@acm.org>
1645
1646         * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
1647         TARGET_SERIALIZE_VOLATILE): Delete.
1648         (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
1649         (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
1650         (TARGET_SWITCHES): Remove "-mserialize-volatile" and
1651         "-mno-serialize-volatile".
1652         * config/xtensa/xtensa.c (print_operand): Remove checks of
1653         TARGET_SERIALIZE_VOLATILE.
1654         * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
1655         * doc/invoke.texi (Option Summary, Xtensa Options): Remove
1656         "-mserialize-volatile" and "-mno-serialize-volatile" options.
1657
1658 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
1659
1660         * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
1661         (nested_function): Likewise.
1662         (notype_nested_function): Likewise.
1663
1664 2003-05-21  Nick Clifton  <nickc@redhat.com>
1665
1666         * config/stormy16/stormy-abi: Update overflow type for
1667         R_XSTORMY16_16 reloc.
1668
1669 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
1670
1671         * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
1672         * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
1673         (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
1674         * print-tree.c (print_node): Remove ambient-boundedness.
1675         * tree.h (tree_common): Remove bounded_flag.
1676         (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
1677         BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
1678         MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
1679         TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
1680         TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
1681         Remove.
1682         (TYPE_QUALS): Remove BOUNDED.
1683         (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
1684         (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
1685         TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
1686         TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
1687         VA_LIST_POINTER_DEPTH): Remove.
1688         (struct tree_type): Remove pointer_depth.
1689
1690 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1691
1692         * c-pretty-print.c (pp_c_integer_literal): Use
1693         HOST_WIDE_INT_PRINT_DOUBLE_HEX.
1694
1695 2003-05-20  Roger Sayle  <roger@eyesopen.com>
1696             Kazu Hirata  <kazu@cs.umass.edu>
1697             Joern Rennecke  <joern.rennecke@superh.com>
1698
1699         * gcse.c (cprop_jump):  Make use of REG_EQUAL notes on both
1700         setcc and jump, if they exist.  If substituted instruction
1701         fails to validate, store current effort in a REG_EQUAL note.
1702         (cprop_insn): Don't attempt further substitutions if the
1703         current instruction has been deleted.
1704         (local_cprop_pass): Likewise.
1705
1706         * jump.c (redirect_jump):  Also update REG_EQUAL note, if
1707         one is attached to the jump instruction.
1708         (invert_jump): Delete REG_EQUAL note on jump, if one exists.
1709
1710 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
1711
1712         PR c++/9738
1713         * config/i386/winnt.c (i386_pe_encode_section_info): Enable
1714         even if not first.
1715
1716 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1717
1718         * genautomata.c (output_description, output_automaton_units,
1719         output_state_arcs): Add missing specifiers.
1720
1721 2003-05-20  Bob Wilson  <bob.wilson@acm.org>
1722
1723         * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
1724         (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
1725         (__mulsi3): Use do_addx* instead of ADDX* instructions.  Formatting.
1726         (nsau): Rename to do_nsau.  Provide alternate version for use when
1727         the NSAU instruction is available.
1728         (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
1729         (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
1730         * config/xtensa/xtensa-config.h: Update comments to match binutils.
1731         (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
1732         * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
1733         (TARGET_ABS, TARGET_ADDX): Define.
1734         (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
1735         (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
1736         * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
1737         *subx8): Set predicate condition to TARGET_ADDX.
1738         (abssi2): Set predicate condition to TARGET_ABS.
1739         * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
1740         "-maddx", and "-mno-addx" options.
1741         (Xtensa Options): Likewise.  Also tag some opcode names with @code.
1742
1743 2003-05-20  Kevin Ryde <user42@zip.com.au>
1744             Wolfgang Bangerth <bangerth@dealii.org>
1745
1746         PR/10355
1747         * doc/extend.texi: Put a warning into the documentation
1748         of attribute regparm.
1749
1750 2003-05-20  Jason Merrill  <jason@redhat.com>
1751
1752         * tree.c (expr_last): New fn.
1753         * tree.h: Declare it.
1754         * objc/objc-act (expr_last): Rename to objc_expr_last.
1755
1756 2003-05-20  J"orn Rennecke <joern.rennecke@superh.com>
1757
1758         * sh.c (sh_register_move_cost): Add clase for moving between
1759         FP registers and MAC registers.
1760
1761 2003-05-19  John David Anglin  <dave.anglin@nrc-gnrc.gc.ca>
1762
1763         * pa/milli64.S ($$mulI): Fix typo.
1764
1765 2003-05-19  Matt Kraai  <kraai@alumni.cmu.edu>
1766
1767         * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
1768         (nonlocal_set_p): Remove initial blank line.
1769         * dwarf2out.c (simple_type_size_in_bits): Likewise.
1770         * et-forest.c (et_forest_create): Likewise.
1771         * explow.c (stabilize): Likewise.
1772         * fix-header.c (write_lbrac): Likewise.
1773         * graph.c (start_fct, node_data): Likewise.
1774         * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
1775         * rtlanal.c (global_reg_mentioned_p): Likewise.
1776         * tree.c (bit_position): Likewise.
1777
1778 2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
1779
1780         * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
1781         -lthread to -lpthread.
1782
1783 2003-05-19  Neil Booth  <neil@daikokuya.co.uk>
1784
1785         * c-opts.c (c_common_decode_option): Don't accept dollars
1786         as identifier characters in assembly.
1787         * doc/cpp.texi: Document this.
1788
1789 2003-05-19  Seth Arnold  <sarnold@wirex.com>
1790             Aldy Hernandez  <aldyh@redhat.com>
1791
1792         * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
1793         vrsave_size twice.
1794
1795 2003-05-19  Aldy Hernandez  <aldyh@redhat.com>
1796
1797         * doc/tm.texi (function_arg): Fix typo.
1798
1799 2003-05-19  Matt Austern  <austern@apple.com>
1800
1801         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
1802         * c-common.h (warn_invalid_offsetof): Declare.
1803         * c-common.c (warn_invalid_offsetof): Define.
1804         * doc/invoke.texi: Document -Winvalid-offsetof.
1805         * testsuite/g++.dg/other/offsetof3.C: New.
1806         * testsuite/g++.dg/other/offsetof4.C: New.
1807
1808 2003-05-19  Kevin B. Hendricks  <kevin.hendricks@sympatico.ca>
1809             David Edelsohn  <edelsohn@gnu.org>
1810
1811         * config/rs6000/rs6000.c (rs6000_alignment_string,
1812         rs6000_alignment_flags): New variables.
1813         (rs6000_parse_alignment_option): New function.
1814         (rs6000_override_options): Call it.
1815         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
1816         (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
1817         macros.
1818         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
1819         natural alignment if TARGET_NATURAL_ALIGNMENT
1820         (ROUND_TYPE_ALIGN): Always use default record alignment if
1821         TAGET_NATURAL_ALIGNMENT.
1822         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
1823         (ROUND_TYPE_ALIGN): Same.
1824         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
1825         (ROUND_TYPE_ALIGN): Same.
1826         * doc/invoke.texi (Option Summary, PowerPC Options): Document
1827         new options.
1828
1829 2003-05-19  J"orn Rennecke <joern.rennecke@superh.com>
1830
1831         * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
1832         of a function using ASMSPEC, prepend a star.
1833
1834 2003-05-19  Jason Merrill  <jason@redhat.com>
1835
1836         * tree-inline.c (copy_body_r): Avoid generating &* during inline
1837         substitution.
1838
1839 2003-05-19  Andrew Macleod  <amacleod@redhat.com>
1840
1841         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
1842         not mark assignments to the hard frame pointer as being stack
1843         frame related.
1844         (xstormy16_expand_epilogue): Mark adjustments to the stack
1845         pointer as being stack frame related.
1846
1847 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
1848
1849         * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
1850         ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
1851         (PREDICATE_CODES): Add hilo_operand.
1852         * config/mips/mips.c (hilo_operand): New predicate.
1853         (mips_adjust_insn_length): Account for the number nops that might
1854         be needed to avoid hardware hazards.
1855         * config/mips/mips.md (dslot): Remove attribute.
1856         (hazard): New attribute.
1857         (can_delay): Use it.  Check for calls, branches & jumps.
1858         (muldi3): Use the standard dmult pattern for mips16 code.
1859         (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
1860
1861 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
1862
1863         * config/mips/mips-protos.h (final_prescan_insn,
1864         mips_count_memory_refs, mips_fill_delay_slot): Remove.
1865         * config/mips/mips.h (delay_type, dslots_load_total,
1866         dslots_load_filled, dslots_jump_total, dslots_jump_filled,
1867         dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
1868         mips_load_reg3, mips_load_reg4): Remove.
1869         (MASK_STATS): Remove.
1870         (MASK_EXPLICIT_RELOCS): Reuse its value.
1871         (TARGET_STATS): Remove.
1872         (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
1873         Warn that -mstats is now ignored.
1874         (FINAL_PRESCAN_INSN): Undefine.
1875         (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
1876         (ASM_OUTPUT_REG_POP): Likewise.
1877         * config/mips/mips.c (dslots_load_total, dslots_load_filled,
1878         dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
1879         mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
1880         mips_fill_delay_slot, mips_count_memory_refs,
1881         final_prescan_insn): Remove.
1882         (output_block_move): Remove calls to mips_count_memory_refs.
1883         (print_operand): Remove printing of #nop for TARGET_STATS.
1884         (mips_output_function_epilogue): Remove TARGET_STATS code.
1885         Reorganize setting of fnnmae.
1886         * config/mips/mips.md: Remove handling of dslot statistics
1887         throughout file.  Change all fcmp patterns into normal asm
1888         templates, removing calls to mips_fill_delay_slot.
1889         * doc/invoke.texi: Remove documentation of -mstats.
1890
1891 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
1892
1893         * config/mips/mips.c (mips_class_max_nregs): Return the number of
1894         words in the mode.
1895
1896 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
1897
1898         * config/mips/mips.c (override_options): Disable explicit
1899         relocs for old ABIs unless using gas.
1900
1901 2003-05-18  Eric Christopher  <echristo@redhat.com>
1902
1903         * config/mips/mips.h: Remove definition of g_switch_value.
1904
1905 2003-05-18  Matt Kraai  <kraai@alumni.cmu.edu>
1906
1907         * flags.h (g_switch_value): Change to an unsigned
1908         HOST_WIDE_INT.
1909         * toplev.c (g_switch_value): Likewise.
1910
1911         * config/alpha/alpha.c (small_symbolic_operand): Remove
1912         g_switch_value cast.
1913         (alpha_in_small_data_p): Cast size to an unsigned
1914         HOST_WIDE_INT.
1915
1916         * config/frv/frv.c (frv_in_small_data_p): Cast size to an
1917         unsigned HOST_WIDE_INT.
1918         * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
1919         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
1920
1921         * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
1922         unsigned HOST_WIDE_INT.
1923         (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
1924         * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
1925         (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
1926
1927         * config/rs6000/rs6000.c (rs6000_file_start): Use
1928         HOST_WIDE_INT_PRINT_UNSIGNED.
1929         (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
1930         (rs6000_elf_in_small_data_p): Cast size to unsigned
1931         HOST_WIDE_INT.
1932         * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
1933         Remove.
1934         (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
1935         g_switch_set.
1936         (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
1937         g_switch_value cast.
1938
1939 2003-05-18  Roger Sayle  <roger@eyesopen.com>
1940             Zack Weinberg  <zack@codesourcery.com>
1941
1942         PR middle-end/10472
1943         * builtins.c (expand_builtin_memcpy):  Call force_operand on
1944         expressions and use simplify_gen_binary to create the addition.
1945
1946 2003-05-18  Andreas Schwab  <schwab@suse.de>
1947
1948         * config/m68k/m68k.md: Use define_constants for unspec numbers.
1949
1950 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
1951
1952         * config/sparc/sparc.h: Define sparc for now.
1953 2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
1954
1955         * config.gcc: Clear xm_file, md_file at the beginning of each pass.
1956
1957         * config/stormy16/stormy16.h: Remove about 3000 lines of
1958         target-independent comments.  Update copyright notice.
1959
1960         * doc/collect2.texi: GNU CC -> GCC.
1961         * doc/headerdirs.texi: GNU CC -> GCC.
1962
1963 2003-05-18  Gabriel Dos Reis <gdr@integrable-solutions.net>
1964
1965         * hashtable.h (struct ht_identifier): Add data member "hash_value".
1966         * hashtable.c (ht_lookup): Use it when searching, remember.
1967         (ht_expand): Do not recompute.
1968         * tree.h (IDENTIFIER_HASH_VALUE): New macro.
1969
1970 2003-05-18  Nathan Sidwell  <nathan@codesourcery.com>
1971
1972         * gcov-io.c (gcov_read_bytes): Fix fread thinko.
1973
1974 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
1975
1976         * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
1977         Default here.
1978         (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
1979         * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
1980         * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
1981         * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
1982         config/arm/linux-elf.h, config/arm/rtems-elf.h,
1983         config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
1984         config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
1985         config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
1986         config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
1987         config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
1988         config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
1989         config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
1990         config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
1991         config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
1992         config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
1993         config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
1994         Don't define __ELF__.
1995         * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
1996         Define __ELF__.
1997         * doc/cpp.texi: Document __ELF__.
1998         * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS.     *
1999
2000 2003-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2001
2002         * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
2003         always use stdarg.
2004         * c-errors.c (pedwarn_c99): Likewise.
2005         * c-format.c (status_warning): Likewise.
2006         * c-semantics.c (build_stmt): Likewise.
2007         * calls.c (emit_library_call, emit_library_call_value): Likewise.
2008         * collect2.c (notice, fatal_perror, fatal, error): Likewise.
2009         * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
2010         * diagnostic.c (build_message_string, output_printf,
2011         output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
2012         fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
2013         error_with_decl, fnotice): Likewise.
2014         * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
2015         dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
2016         dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
2017         dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
2018         dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2019         dw2_asm_output_encoded_addr_rtx): Likewise.
2020         * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
2021         * errors.c (warning, error, fatal, internal_error): Likewise.
2022         * final.c (output_operand_lossage, asm_fprintf): Likewise.
2023         * fix-header.c (fatal): Likewise.
2024         * gcc.c (fatal, error, notice): Likewise.
2025         * gcov.c (fnotice): Likewise.
2026         * genattrtab.c (attr_rtx, attr_printf): Likewise.
2027         * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
2028         * gensupport.c (message_with_line): Likewise.
2029         * mips-tfile.c (fatal, error): Likewise.
2030         * protoize.c (notice): Likewise.
2031         * ra-debug.c (ra_debug_msg): Likewise.
2032         * read-rtl.c (fatal_with_file_and_line): Likewise.
2033         * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
2034         * tree.c (build, build_nt, build_function_type_list): Likewise.
2035
2036 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2037
2038         * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
2039         * gcc.c (cpp_predefines): Remove.
2040         (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
2041         (static_specs): Remove predefines.
2042         * system.h: Poison CPP_PREDEFINES.
2043         * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
2044         config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
2045
2046 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2047
2048         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
2049         config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
2050         config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
2051         use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
2052
2053 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2054
2055         PR c/9209
2056         * c-common.c, c-common.h (dollars_in_ident): Remove.
2057         * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
2058         (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
2059         * cpphash.h (warned_dollar): Rename warn_dollars.
2060         * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
2061         Permit dollars regardless of -std=.
2062         (post_options): Set warn_dollars.
2063         * cpplex.c (forms_identifier_p): Use warn_dollars.
2064         * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
2065         Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
2066         * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
2067         Update documentation.
2068
2069 2003-05-17  Andreas Schwab  <schwab@suse.de>
2070
2071         * config/m68k/m68k.c (m68k_output_function_prologue): Use
2072         HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
2073         formatting a HOST_WIDE_INT.
2074         (m68k_output_function_epilogue): Likewise.
2075
2076 2003-05-17  Zack Weinberg  <zack@codesourcery.com>
2077
2078         * doc/install.texi: Remove information about desupported targets.
2079
2080 2003-05-17  Andreas Schwab  <schwab@suse.de>
2081
2082         * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
2083         * config/m68k/linux.h: Likewise.
2084         * config/m68k/m68k-none.h: Likewise.
2085         * config/m68k/netbsd-elf.h: Likewise.
2086         * config/m68k/sgs.h: Likewise.
2087         * config/m68k/m68k.h: Likewise.
2088         * config/m68k/m68k.md: Likewise.
2089         * config/m68k/m68k.c: Likewise.
2090         * doc/md.texi (Machine Constraints): Remove Sun FPA specific
2091         constraints.
2092         * doc/invoke.texi (Option Summary): Remove -mfpa.
2093         (M680x0 Options): Likewise.
2094
2095 2003-05-17  David Edelsohn  <edelsohn@gnu.org>
2096
2097         * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
2098
2099 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2100
2101         * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
2102         * config/sparc/liteelf.h, config/sparc/openbsd64.h,
2103         config/sparc/rtemself.h, config/sparc/sol2-64.h,
2104         config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
2105         Update for use of TARGET_SUB_OS_CPP_BUILTINS.
2106
2107 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2108
2109         * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
2110         TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
2111
2112 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
2113
2114         * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
2115         * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
2116         sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
2117         sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
2118         sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
2119         sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
2120         sparc/sysv4.h,
2121         * sparc/sysv4-only.h: New.
2122
2123 2003-05-17  Alan Modra  <amodra@bigpond.net.au>
2124
2125         * function.c (assign_parms): Check for zero size args.
2126
2127 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2128
2129         * cfgloopanal.c (test_for_iteration): Use string concatentation on
2130         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2131         function calls into one.
2132         * dbxout.c (dbxout_symbol): Likewise.
2133         * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
2134         * dwarf2asm.c (dw2_asm_output_data_uleb128,
2135         dw2_asm_output_data_sleb128): Likewise.
2136         * genrecog.c (debug_decision_2): Likewise.
2137         * loop.c (emit_prefetch_instructions): Likewise.
2138         * print-rtl.c (print_rtx): Likewise.
2139         * print-tree.c (print_node_brief, print_node): Likewise.
2140         * ra-debug.c (dump_igraph, dump_graph_cost,
2141         dump_static_insn_cost): Likewise.
2142         * ra-rewrite.c (dump_cost): Likewise.
2143         * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2144         * sreal.c (dump_sreal): Likewise.
2145         * unroll.c (unroll_loop, precondition_loop_p): Likewise.
2146         * varasm.c (assemble_vtable_entry): Likewise.
2147
2148         * avr.c (avr_output_function_prologue,
2149         avr_output_function_epilogue, print_operand): Fix format specifier
2150         warnings.
2151         (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
2152         * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
2153
2154 2003-05-16  Geoffrey Keating  <geoffk@apple.com>
2155
2156         * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
2157         and ! TARGET_STRING cases.
2158
2159         * doc/cppopts.texi (-undef): Fix texinfo warning.
2160
2161         * doc/cppopts.texi (-H): Document that -H works for PCH files too.
2162         * cppfiles.c (validate_pch): When -H is used, print some information
2163         about PCH files found.
2164
2165 2003-05-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2166
2167         * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
2168         * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
2169         * config/mips/t-sr71k: Likewise.
2170
2171 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2172
2173         * arc.c (arc_output_function_prologue,
2174         arc_output_function_epilogue): Fix format specifier warnings.
2175         * arc.h (LARGE_INT): Fix signed/unsigned warnings.
2176
2177         * v850.c (print_operand): Fix format specifier warnings.
2178
2179         * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2180         specifier warnings.
2181
2182         * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
2183         format specifier warnings.
2184
2185         * ip2k.c (function_prologue, function_epilogue, print_operand):
2186         Fix format specifier warnings.
2187         * ip2k.md: Likewise.
2188
2189         * i960.c (i960_output_function_prologue, i960_print_operand,
2190         i960_print_operand_addr): Fix format specifier warnings.
2191
2192         * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
2193         (i370_output_function_prologue): Fix format specifier warnings.
2194         * i370.h (PRINT_OPERAND): Likewise.
2195
2196         * fr30.c (fr30_print_operand): Fix format specifier warnings.
2197
2198         * dsp16xx.c (print_operand_address): Fix format specifier warning.
2199         * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
2200
2201         * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
2202         specifier warnings.
2203
2204         * alpha.c (print_operand_address, alpha_start_function,
2205         unicosmk_output_ssib): Use string concatentation on
2206         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2207         function calls into one.
2208         * arm.c (arm_print_operand): Likewise.
2209         * cris.c (cris_asm_output_mi_thunk): Likewise.
2210         * frv.c (frv_asm_output_mi_thunk): Likewise.
2211         * ia64.c (ia64_print_operand, process_set): Likewise.
2212         * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
2213         Likewise.
2214         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2215         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2216         * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
2217         * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
2218         * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
2219         * s390.c (s390_assemble_integer): Likewise.
2220         * sparc.c (sparc_flat_function_prologue,
2221         sparc_flat_function_epilogue): Likewise.
2222         * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
2223         * vax.c (vax_output_mi_thunk): Likewise.
2224
2225         * frv.c (frv_print_operand_memory_reference): Fix format specifier
2226         warning.
2227         (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
2228
2229         * m68k.c (m68k_output_function_epilogue): Fix format specifier
2230         warnings.
2231
2232         * stormy16-protos.h (xs_hi_general_operand,
2233         xs_hi_nonmemory_operand): Prototype.
2234         * stormy16.c (xstormy16_output_shift): Fix format specifier
2235         warnings.
2236
2237         * cris.c: Fix format specifier warnings.
2238
2239 2003-05-16  Nick Clifton  <nickc@redhat.com>
2240
2241         * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
2242
2243 2003-05-16  Wolfgang Bangerth <bangerth@dealii.org>
2244
2245         * doc/bugreport.texi: Remove most of the of the preface of the
2246         bugs section.
2247
2248 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
2249
2250         * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
2251         .save XX, r0.
2252
2253 2003-05-15  Roger Sayle  <roger@eyesopen.com>
2254
2255         * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
2256
2257 2003-05-15  Eric Christopher  <echristo@redhat.com>
2258
2259         * cfgcleanup.c (merge_blocks): Fix return value.
2260
2261 2003-05-15 Eric Christopher <echristo@redhat.com>
2262
2263         * combine.c (expand_compound_operation): Make sure
2264         that zero_extend operation is profitable.
2265
2266 2003-05-15  Richard Henderson  <rth@redhat.com>
2267
2268         * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
2269         code protected by USE_GNULIBC_1.
2270
2271 2003-05-15  Zack Weinberg  <zack@codesourcery.com>
2272
2273         * config.gcc: Purge all targets obsoleted in GCC 3.3.  Also
2274         remove hppa*-*-mpeix* which could not be built, and prune
2275         files from tmake_file= or tm_file= lists that don't exist.
2276
2277         * config/alpha/alpha-interix.h, config/alpha/alpha32.h
2278         * config/alpha/t-interix, config/arm/conix-elf.h
2279         * config/arm/t-arm-aout, config/arm/t-strongarm-coff
2280         * config/arm/unknown-elf-oabi.h, config/i386/win32.h
2281         * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
2282         * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
2283         * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
2284         * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
2285         * config/m68k/m68k-psos.h, config/m68k/mot3300.h
2286         * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
2287         * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
2288         * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
2289         * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
2290         * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
2291         * config/m68k/tower-as.h, config/m68k/tower.h
2292         * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
2293         * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
2294         * config/m88k/m88k-protos.h, config/m88k/m88k.c
2295         * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
2296         * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
2297         * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
2298         * config/mips/rtems64.h, config/mips/sni-gas.h
2299         * config/mips/sni-svr4.h, config/mips/t-ecoff
2300         * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
2301         * config/mn10200/mn10200.c, config/mn10200/mn10200.h
2302         * config/mn10200/mn10200.md, config/mn10200/t-mn10200
2303         * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
2304         * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
2305         * config/romp/romp-protos.h, config/romp/romp.c
2306         * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
2307         * config/rs6000/aix3newas.h, config/rs6000/mach.h
2308         * config/sparc/bsd.h, config/sparc/hal.h
2309         * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
2310         * config/sparc/lynx.h, config/sparc/netbsd.h
2311         * config/sparc/sp86x-aout.h, config/sparc/splet.h
2312         * config/sparc/sun4gas.h, config/sparc/sun4o3.h
2313         * config/sparc/sunos4.h, config/sparc/t-chorus-elf
2314         * config/sparc/t-halos, config/sparc/t-sparcbare
2315         * config/sparc/t-splet, config/sparc/t-sunos41
2316         * config/v850/rtems.h: Delete file.
2317
2318 2003-05-15  Aldy Hernandez  <aldyh@redhat.com>
2319
2320         * config/rs6000/rs6000-protos.h (function_value): Protoize.
2321
2322         * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
2323
2324         * config/rs6000/rs6000.c (rs6000_function_value): New.
2325
2326 2003-05-15  Philip Blundell  <philb@gnu.org>
2327
2328         * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
2329         All uses updated.
2330         (arm_tune_xscale): New variable.
2331         (arm_override_options): Set it.
2332         (arm_adjust_cost): Use it in place of arm_arch_xscale.
2333         (arm_gen_load_multiple): Likewise.
2334         (arm_gen_store_multiple): Likewise.
2335         * config/arm/arm.md (is_xscale): Likewise.
2336         * config/arm/arm.h (arm_tune_xscale): Declare.
2337
2338 2003-05-15  Philip Blundell  <philb@gnu.org>
2339
2340         PR target/10730
2341         * config/arm/arm.c (adjacent_mem_locations): Reject offsets
2342         involving invalid constants.
2343
2344 2003-05-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2345
2346         * pa.c (hppa_expand_prologue): Remove blockage.
2347
2348 2003-05-15  Wolfgang Bangerth <bangerth@dealii.org>
2349
2350         * doc/bugreport.texi: Remove most of the bug reporting
2351         instructions and merge them into bugs.html.
2352
2353 2003-05-14  Matt Kraai  <kraai@alumni.cmu.edu>
2354
2355         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2356         g_switch_value to unsigned HOST_WIDE_INT.
2357
2358 2003-05-14  Eric Christopher  <echristo@redhat.com>
2359
2360         * combine.c: Fix header comments.
2361         (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
2362         to all calls and prototype.
2363
2364 2003-05-14  Roger Sayle  <roger@eyesopen.com>
2365
2366         PR optimization/10764
2367         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
2368         Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
2369         (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3):  Likewise,
2370         add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
2371         (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
2372         the corresponding *fyl2x_?fxf3 instructions.
2373
2374 2003-05-14  Bob Wilson  <bob.wilson@acm.org>
2375
2376         * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
2377         * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
2378         XCHAL_HAVE_L32R): New.
2379         * config/xtensa/xtensa-protos.h (non_const_move_operand,
2380         xtensa_load_constant, xtensa_function_prologue,
2381         xtensa_function_epilogue): Delete prototypes.
2382         (xtensa_expand_prologue): New.
2383         * config/xtensa/xtensa.c (frame_size_const,
2384         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
2385         non_const_move_operand, xtensa_load_constant, xtensa_reorg,
2386         xtensa_function_prologue): Delete.
2387         (add_operand, xtensa_mem_offset): Formatting.
2388         (move_operand): If the const16 option is available, allow any SFmode
2389         and SImode constants.
2390         (xtensa_emit_move_sequence): Inline the former contents of
2391         xtensa_load_constant with modifications to handle the const16 option.
2392         (override_options): Add xtensa_char_to_class['W'] and set it to
2393         the general register class only if the const16 option is enabled.
2394         Fix formatting.  Disallow PIC when using the const16 option.
2395         (print_operand): Reorganize to switch on "letter" instead of the
2396         RTL code.  Add output_operand_lossage calls for invalid cases.
2397         Add support for 't' and 'b' letters.
2398         (xtensa_expand_prologue): New function to replace
2399         xtensa_function_prologue and xtensa_reorg.
2400         (xtensa_function_epilogue): Declare this as static.  Delete code
2401         to print the retw.n or retw instruction.
2402         (xtensa_return_addr): Use A0_REG instead of 0.
2403         (xtensa_rtx_costs): Add costs for using the const16 option.
2404         * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
2405         (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
2406         (TARGET_SWITCHES): Add "const16" and "no-const16".
2407         (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
2408         (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
2409         using the const16 option.
2410         (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
2411         (TRAMPOLINE_SIZE): Change from 49 to 59.
2412         (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
2413         (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
2414         when using the const16 option.
2415         (PREDICATE_CODES): Delete non_const_move_operand.
2416         * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
2417         UNSPECV_ENTRY.
2418         (movdi, movdf): If the source is a constant, always expand to a
2419         sequence of movsi insns.
2420         (movdi_internal, movdf_internal): Remove alternative using l32r insns.
2421         (movsi_internal, movsf_internal): Add alternative using const16 insns.
2422         (movsf): Add const16 support.
2423         (entry, prologue, epilogue): New.
2424         (set_frame_ptr): Add missing mode for unspec_volatile operation.
2425         Likewise for subsequent split pattern.
2426         * doc/invoke.texi (Option Summary, Xtensa Options): Document new
2427         "-mconst16" and "-mno-const16" options.
2428
2429 2003-05-14  Richard Henderson  <rth@redhat.com>
2430
2431         * config/ia64/ia64.c (ia64_expand_load_address): Force destination
2432         to be DImode register.  Merge load_symptr.
2433         * config/ia64/ia64.md (load_symptr): Remove.
2434
2435 2003-05-14  Richard Henderson  <rth@redhat.com>
2436
2437         * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
2438         DEFERRED_CONSTANT_P.
2439         * integrate.c (copy_rtx_and_substitute): Update use.
2440         * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
2441         to the copy generated.
2442         (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
2443         of the constant to see if we should emit.
2444         (mark_constant): Similarly.
2445         (output_constant_def_contents): Set TREE_ASM_WRITTEN.
2446
2447 2003-05-14  David Edelsohn  <edelsohn@gnu.org>
2448
2449         * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
2450         move record condition.
2451         (movdi_internal2): Same.
2452
2453 2003-05-14  Nathan Sidwell  <nathan@codesourcery.com>
2454
2455         * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
2456         (GCOV_TAG_*) Force type to gcov_unsigned_t.
2457         (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
2458         (struct gcov_var): Remove modified. Add start, length, offset,
2459         overread. Have buffer array for libgcov.
2460         (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
2461         (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
2462         * gcov-io.c (gcov_open): Set mode, do not read anything.
2463         (gcov_close): Write final block.
2464          (gcov_write_block, gcov_allocate): New.
2465         (gcov_write_bytes): Make static. Write or allocate buffer.
2466         (gcov_write_unsigned, gcov_write_counter): Buffer can never be
2467         null.
2468         (gcov_write_string): Adjust.
2469         (gcov_write_tag)
2470         (gcov_write_length): Adjust. Flush the block.
2471         (gcov_write_tag_length): Buffer can never be null.
2472         (gcov_read_bytes): Make static. Read in block.
2473         (gcov_sync): Moved here. Adjust.
2474         (gcov_seek): Moved here. Adjust.
2475         * coverage.c (read_counts_file): Adjust.
2476         * gcov-dump.c (print_prefix): Add position parameter.
2477         (flag_dump_positions): New flag.
2478         (options, main, print_usage): Add it.
2479         (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
2480         tag_summary): Adjust.
2481         * gcov.c (read_graph_file, read_count_file): Adjust.
2482         * libgcov.c (gcov_exit): Adjust.
2483
2484         * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
2485         (libgcov.a): Depend on libgcc.a.
2486         (gcov.o, gcov-dump.o): Add gcov-io.c.
2487         * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
2488
2489         * loop.c (check_dbra_loop): Factor common test.
2490
2491 2003-05-14  Ben Elliston  <bje@wasabisystems.com>
2492
2493         * doc/md.texi (Automaton pipeline description): Grammar fixes.
2494
2495 2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
2496
2497         * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
2498         (TARGET_INITIALIZER): Include it.
2499         * target.h (struct gcc_target): Add machine_dependent_reorg field.
2500         * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
2501         * system.h: Poison MACHINE_DEPENDENT_REORG.
2502
2503         * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
2504         * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
2505         * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2506         (alpha_handle_trap_shadows): Remove "first insn" parameter.
2507         (alpha_align_insns): Likewise.
2508         (alpha_reorg): Likewise.  Make static.  Update calls to above
2509         functions.
2510
2511         * config/arm/arm-protos.h (arm_reorg): Remove declaration.
2512         * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
2513         * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2514         (arm_reorg): Remove parameter.  Make static.
2515
2516         * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
2517         * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
2518         * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2519         (avr_reorg): Renamed from machine_dependent_reorg.  Make static.
2520         Remove parameter.
2521
2522         * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
2523         * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
2524         * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2525         (c4x_reorg): Renamed from c4x_process_after_reload.  Make static.
2526         Remove parameter.
2527
2528         * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
2529         * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
2530         * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
2531
2532         * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
2533         * config/frv/frv.c: Remove orphaned comment.
2534
2535         * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
2536         * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
2537         * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2538         (ix86_reorg): Renamed from x86_machine_dependent_reorg.  Make static.
2539         Remove parameter.
2540
2541         * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
2542         * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
2543         * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2544         (emit_insn_group_barriers): Remove "first insn" parameter.
2545         (emit_all_insn_group_barriers): Likewise.
2546         (ia64_reorg): Likewise.  Make static.  Update calls to above functions.
2547         (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
2548
2549         * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
2550         * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
2551         * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2552         (ip2k_reorg): Renamed from machine_dependent_reorg.  Make static.
2553         Remove parameter.
2554
2555         * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
2556         * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
2557         * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2558         (m68hc11_reorg): Make static.  Remove parameter.
2559
2560         * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
2561         * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
2562         * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2563         (conditionalize_optimization): Remove parameter.
2564         (mcore_reorg): Renamed from mcore_dependent_reorg.  Remove parameter.
2565         Make static.  Update call to conditionalize_optimization.
2566
2567         * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
2568         * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
2569         * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2570         (mips_reorg): Renamed from machine_dependent_reorg.  Remove parameter.
2571         Make static.
2572
2573         * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
2574         * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
2575         * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2576         (mmix_reorg): Renamed from mmix_machine_dependent_reorg.  Make static.
2577         Remove parameter.
2578
2579         * config/pa/pa-protos.h (pa_reorg): Remove declaration.
2580         * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
2581         * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2582         (pa_combine_instructions): Remove "first insn" parameter.
2583         (remove_useless_addtr_insns): Likewise.
2584         (pa_reorg): Likewise.  Make static.  Update calls to above functions.
2585
2586         * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
2587         commented-out definition.
2588
2589         * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
2590         * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
2591         * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2592         (s390_reorg): Renamed from s390_machine_dependent_reorg.  Make static.
2593         Remove parameter.
2594
2595         * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
2596         * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
2597         * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2598         (sh_reorg): Renamed from machine_dependent_reorg.  Make static.
2599         Remove parameter.
2600         (sh_output_mi_thunk): Call sh_reorg directly.
2601         * config/sh/sh.md: Update comment.
2602
2603         * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
2604         commented-out definition.
2605
2606         * config/v850/v850-protos.h (v850_reorg): Remove declaration.
2607         * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
2608         * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2609         (v850_reorg): Make static.  Remove parameter.
2610
2611         * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
2612         * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
2613         * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2614         (xtensa_reorg): Make static.  Remove parameter.
2615
2616         * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
2617         (TARGET_MACHINE_DEPENDENT_REORG): Document.
2618
2619 2003-05-13  Richard Henderson  <rth@redhat.com>
2620
2621         * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
2622         the old decl had instantiated DECL_RTL.
2623
2624 2003-05-13  Mike Stump  <mrs@apple.com>
2625
2626         * doc/invoke.texi (Option Summary): Kill off documentation for -$.
2627
2628 2003-05-13  Janis Johnson  <janis187@us.ibm.com>
2629
2630         * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
2631         HOST_WIDE_INT argument.
2632
2633 2003-05-13  Jason Merrill  <jason@redhat.com>
2634
2635         * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
2636
2637         * tree.c (iterative_hash_expr): New fn.
2638
2639         * c-semantics.c (emit_local_var): Don't mess with temp slots if
2640         there's no initializer.
2641
2642 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
2643
2644         * final.c (final_scan_insn): Apply the effects of frame-related
2645         delay slot insns before emitting a delayed branch.
2646
2647 2003-05-13  Nick Clifton  <nickc@redhat.com>
2648
2649         * config/mcore/mcore.md (jump): Use emit_jump_insn.
2650
2651 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
2652
2653         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
2654         parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
2655
2656 2003-05-12  DJ Delorie  <dj@redhat.com>
2657
2658         * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
2659         (emit_push_insn): Don't use push when the source alignment is less
2660         than the stack's push rounding.
2661
2662 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
2663
2664         * diagnostic.c (output_format): Add support for %m.
2665         (output_printf, output_verbatim, diagnostic_set_info,
2666         verbatim): Set err_no field of the text_info structure being
2667         initialized.
2668         (fatal_io_error): Delete function.
2669         * diagnostic.h (text_info): Add err_no field.
2670         * toplev.h (fatal_io_error): Delete prototype.
2671
2672         * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
2673         * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
2674         * objc/objc-act.c: Replace all calls to fatal_io_error with
2675         calls to fatal_error; add ": %m" to the end of all the affected
2676         error messages.
2677
2678 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
2679
2680         * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
2681         * rtl.h: Prototype it.
2682         * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
2683         when appropriate.
2684
2685 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
2686
2687         * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
2688         ("*iorsi3_oi"): Likewise.
2689
2690 2003-05-13  Richard Earnshaw  <rearnsha@arm.com>
2691
2692         * arm.md (compare_scc): Use shorter sequence for EQ case.
2693         (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
2694         (and_scc_scc): Ensure split only applies when there is a dominance
2695         of the comparisons.
2696         (and_scc_scc_nodom): New insn-and-split pattern.
2697
2698 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
2699
2700         * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
2701         to _Unwind_SetGRPtr().
2702
2703 2003-05-13  Michael Eager <eager@mvista.com>
2704
2705         * Makefile.in: Initialize program_transform_cross_name from
2706         @program_transform_name@ instead of target_alias.
2707
2708 2003-05-12  Janis Johnson  <janis187@us.ibm.com>
2709             Alan Modra  <amodra@bigpond.net.au>
2710             Jakub Jelinek  <jakub@redhat.com>
2711
2712         * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
2713         * configure: Rebuild.
2714         * config/rs6000/rs6000-protos.h: Update.
2715         * config/rs6000/rs6000.c (rs6000_tls_size): New.
2716         (rs6000_tls_size_string): New.
2717         (rs6000_parse_tls_size_option): New.
2718         (rs6000_legitimize_tls_address): New.
2719         (rs6000_tls_get_addr): New.
2720         (rs6000_got_sym): New.
2721         (rs6000_tls_symbol_ref): New.
2722         (rs6000_tls_symbol_ref_1): New.
2723         (rs6000_get_some_local_dynamic_name): New.
2724         (rs6000_get_some_local_dynamic_name_1): New.
2725         (TARGET_HAVE_TLS): New.
2726         (TARGET_CANNOT_FORCE_CONST_MEM): New.
2727         (rs6000_override_options): Handle -mtls-size option.
2728         (constant_pool_expr_1): Handle TLS symbols.
2729         (rs6000_legitimize_address): Handle TLS symbols.
2730         (rs6000_tls_referenced_p): New.
2731         (rs6000_legitimate_address): Handle TLS symbols.
2732         (rs6000_emit_move): Handle TLS symbols.
2733         (print_operand): Handle TLS symbols.
2734         (uses_TOC): Handle TLS symbols.
2735         (rs6000_emit_prologue): Use symbol for unspec constant.
2736         * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
2737         (some_ld_name): New.
2738         (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
2739         (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
2740         (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
2741         * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
2742         Support TLS.
2743         (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
2744         tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
2745         tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
2746         tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
2747         tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
2748         tls_tls_64): New.
2749         * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
2750
2751 2003-05-12  Neil Booth  <neil@cat.daikokuya.co.uk>
2752
2753         * Makefile.in (stage2_build, stage3_build, stage4_build):
2754         Set BUILD_CC to the same as CC.
2755
2756 2003-05-12  Neil Booth  <neil@daikokuya.co.uk>
2757
2758         * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
2759
2760 2003-05-12  Andreas Schwab  <schwab@suse.de>
2761
2762         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
2763         as unused.
2764         (bundling): Initialize 'pos'.
2765         (ia64_expand_builtin): Initialize 'rmode'.
2766
2767 2003-05-12  David Edelsohn  <edelsohn@gnu.org>
2768
2769         * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
2770         (ASM_OUTPUT_ALIGNED_COMMON): Same.
2771         (ASM_OUTPUT_LOCAL): Same.
2772
2773 Mon May 12 21:53:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
2774
2775         * varasm.c (output_constant):  Fix underflow.
2776
2777 2003-05-12  Mark Mitchell  <mark@codesourcery.com>
2778
2779         PR other/10745
2780         * configure.in: Correct detection of GNU ld version number.
2781         * configure: Regenerated.
2782
2783 2003-05-12  Zack Weinberg  <zack@codesourcery.com>
2784
2785         * diagnostic.c (diagnostic_for_decl): Take a
2786         diagnostic_context argument.  Restructure to be consistent
2787         with diagnostic_report_diagnostic.
2788         (diagnostic_count_diagnostic): Now static.  Take a
2789         diagnostic_info argument, not just a diagnostic_t.  Some code
2790         moved here from internal_error.  Move a case label for
2791         clarity.
2792         (diagnostic_action_after_output): New function.  Code moved
2793         here from internal_error and fatal_error.
2794         (bug_report_request): New #define so that this text appears in
2795         only one place.
2796         (diagnostic_report_diagnostic): Update to match changes to
2797         diagnostic_count_diagnostic.  Call diagnostic_action_after_output.
2798         (diagnostic_set_info): Call gettext here.
2799
2800         (pedwarn): Update comment.  Don't call gettext here.
2801         (sorry): Use report_diagnostic.  Don't call gettext here.
2802         (fatal_error): Remove final fnotice and exit, but call
2803         real_abort to prevent warnings about noreturn function returning.
2804         (internal_error): Likewise.  Don't do ICE suppression here nor
2805         call context->internal_error.
2806         (warning_with_decl): Suppress for decls in system headers.
2807         Adjust call to diagnostic_for_decl.
2808         (pedwarn_with_decl): Likewise.
2809         (error_with_decl): Adjust call to diagnostic_for_decl.
2810         (error_recursion): Use bug_report_request.
2811
2812         * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
2813         * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
2814         diagnostic_count_diagnostic.
2815
2816 2003-05-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2817
2818         * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
2819
2820 Mon May 12 15:57:54 CEST 2003  Jan Hubicka  <jh@suse.cz>
2821
2822         * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
2823         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
2824         * mips/mips.h (ASM_OUTPUT_SKIP):  Fix typo in the previous patch.
2825
2826 2003-05-12  Roger Sayle  <roger@eyesopen.com>
2827
2828         * doc/rtl.texi: Document zero_extract as a valid destination
2829         of a set insn.
2830
2831 2003-05-12  Richard Earnshaw  <rearnsha@arm.com>
2832
2833         * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
2834         '.'.  Change all local symbol definitions and references to use LSYM.
2835
2836 Mon May 12 11:32:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
2837
2838         * expr.h (assemble_static_space): Update prototype.
2839         * output.h (assemble_zeros, output_constant): Likewise.
2840         * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
2841         * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
2842         it 64bit clean.
2843         * elf.h (ASM_OTUPUT_SKIP): Likewise.
2844         * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
2845         * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2846         Expect HOST_WIDE_INT operand.
2847         * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2848         Expect HOST_WIDE_INT operand.
2849         * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2850         Expect HOST_WIDE_INT operand.
2851         * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
2852         HOST_WIDE_INT operand.
2853         * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
2854         ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
2855         * aout.h (ASM_OTUPUT_SKIP): Likewise.
2856         * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
2857         * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
2858         * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
2859         * frv.h (ASM_OTUPUT_SKIP): Likewise.
2860         * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
2861         * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
2862         Make it 64bit
2863         clean.
2864         * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
2865         * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
2866         Make it 64bit clean.
2867         * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
2868         * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
2869         HOST_WIDE_INT operand
2870         * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
2871         Expect HOST_WIDE_INT operand
2872         * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
2873         * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
2874         ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
2875         * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2876         Likewise.
2877         * m32r.h (ASM_OUTPUT_COMMON): Likewise.
2878         * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2879         Likewise.
2880         * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2881         * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2882         * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
2883         ASM_OUTPUT_SKIP): Likewise.
2884         * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
2885         Likewise.
2886         * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
2887         ASM_OUTPUT_SKIP): Likewise.
2888         * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
2889         ASM_OUTPUT_SKIP): Likewise.
2890         * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
2891         * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
2892         ASM_OUTPUT_SKIP): Likewise.
2893         * sgs.h (ASM_OUTPUT_SKIP): Likewise.
2894         * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
2895         ASM_OUTPUT_SKIP): Likewise.
2896         * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
2897         Likewise.
2898         * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
2899         * iris.h (ASM_OUTPUT_LOCAL): Likewise.
2900         * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
2901         * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
2902         ASM_OUTPUT_SKIP): Make it 64bit clean.
2903         * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
2904         Make it 64bit clean.
2905         * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
2906         ASM_OUTPUT_SKIP): Make it 64bit clean.
2907         * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
2908         64bit clean.
2909         * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
2910         HOST_WIDE_INT argument
2911         * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
2912         * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
2913         HOST_WIDE_INT argument
2914         * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
2915         * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
2916         * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
2917         * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
2918         HOST_WIDE_INT argument
2919         * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
2920         * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
2921         * varasm.c (asm_output_bss, asm_output_aligned_bss,
2922         asm_emit_uninitialized, assemble_zeros, assemble_static_space):
2923         HOST_WIDE_INT argument
2924
2925 2003-05-10  Steven Bosscher  <steven@gcc.gnu.org>
2926
2927         * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
2928         favor of walk_tree_without_duplicates.  Add comments.
2929
2930 2003-05-12  Josef Zlomek  <zlomekj@suse.cz>
2931
2932         * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
2933         (struct alloc_pool_def): New element 'id'.
2934         * alloc-pool.c (fancy_abort): Extern function prototype.
2935         (abort): Macro which uses fancy_abort.
2936         (struct allocation_object_def): New structure.
2937         (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
2938         (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
2939         (last_id): New variable.
2940         (create_alloc_pool): Add the offset of u.data to size of element,
2941         increase and use last_id.
2942         (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
2943         (pool_alloc): Likewise. Set ID for elements.
2944         (pool_free): Check whether the PTR was allocated from POOL.
2945
2946 2003-05-11  Richard Henderson  <rth@redhat.com>
2947
2948         PR c/10675
2949         * c-decl.c: Include hashtab.h.
2950         (detect_field_duplicates): New.
2951         (finish_struct): Use it.
2952         * Makefile.in (c-decl.o): Update.
2953         * c-parse.in (structsp_attr): Nreverse component_decl_list results.
2954         (component_decl_list, component_decl_list2,
2955         components, components_notype): Build list in reverse order.
2956         (enumlist): Clarify docs.  Use TREE_CHAIN not chainon.
2957
2958         * tree.c (chainon): Special case op2 null as well.
2959         Reorg for clarity.
2960
2961 2003-05-11  Roger Sayle  <roger@eyesopen.com>
2962
2963         * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
2964         to implement log, logf and logl built-ins as inline x87 intrinsics.
2965         (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
2966         (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
2967         patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
2968
2969         * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
2970         UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
2971
2972 2003-05-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2973
2974         * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
2975
2976         * sparc.c (print_operand): Fix uninitialized warning.
2977
2978 2003-05-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2979
2980         * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
2981         real insns.
2982         * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
2983         condition.
2984
2985 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
2986
2987         * doc/cpp.texi: Fix typos.
2988
2989 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
2990
2991         * config/s390/s390.c (s390_function_arg_float): New function.
2992         (s390_function_arg_pass_by_reference): Use it.
2993         (s390_function_arg_advance): Likewise.
2994         (s390_function_arg): Likewise.
2995         (s390_va_arg): Likewise
2996
2997 2003-05-11  Nathan Sidwell  <nathan@codesourcery.com>
2998
2999         * coverage.h (coverage_counter_alloc): New function.
3000         * function.h (struct function): Remove arc_profile flag.
3001         * coverage.c (fn_ident): Remove.
3002         (fn_b_ctrs, no_coverage): New.
3003         (get_coverage_counts): Use current_function_funcdef_no.
3004         (coverage_counter_alloc): New.
3005         (coverage_counter_ref): Adjust.
3006         (coverage_begin_output): Check no_coverage. Use
3007         current_function_funcdef_no.
3008         (coverage_end_function): Likewise.
3009         (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
3010         than clearing flag_inline_functions. Do not clear arc_profile
3011         flag.
3012         * function.c (prepare_function_start): Do not set arc_profile
3013         flag.
3014         * profile.c (instrument_edges): Return number of instrumented
3015         edges. Use a for loop.
3016         (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
3017         local to here and simplify. Use profile_arc_flag not arc_profile
3018         flag.
3019         (find_spanning_tree): Reformat.
3020         * toplev.c (rest_of_compilation): Use profile_arc_flags and
3021         flag_test_coverage rather than arc_profile flag.
3022
3023 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
3024
3025         * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
3026
3027 2003-05-11  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3028
3029         * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
3030
3031 2003-05-11  Bruno Haible  <bruno@clisp.org>
3032
3033         * cppfiles.c (find_or_create_entry): Preserve errno.
3034
3035 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
3036
3037         * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
3038         cpplib as it's a Standard Predefined Macro.
3039         * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
3040         * cppinit.c (_cpp_init_builtins): Take HOSTED.  Define
3041         __STDC_HOSTED__ appropriately.
3042         * cpplib.h (_cpp_init_builtins): Update.
3043         * fix-header.c (read_scan_file): Update.
3044         * doc/cpp.texi, doc/cppopts.texi: Update documentation.
3045
3046 2003-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3047
3048         PR C++/689
3049         PR C++/9257
3050         * c-opts.c (c_common_decode_option): Don't set
3051         warn_ctor_dtor_privacy wen -Wall.
3052         * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
3053
3054 2003-05-10  Alexandre Oliva  <aoliva@redhat.com>
3055
3056         * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
3057         patch.
3058
3059 2003-05-10  Zack Weinberg  <zack@codesourcery.com>
3060
3061         * diagnostic.c: Reorder functions for clarity, putting all the
3062         functions in the "error" family next to each other, and
3063         likewise all the functions in the "error_with_decl" family.
3064         Some other routines were moved too.  Add comments.
3065         (vbuild_message_string): Fold into sole caller.
3066
3067
3068 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
3069
3070         * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
3071         (EH_RETURN_HANDLER_RTX): Likewise.
3072         (expand_builtin_eh_return): Do not copy stack adjustment
3073         if EH_RETURN_STACKADJ_RTX is not defined.
3074         (expand_eh_return): Likewise.  Also, do not pass stack
3075         adjustment as argument to the eh_return pattern.
3076         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
3077         because EH_RETURN_STACKADJ_RTX is not defined.
3078         * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
3079         is not defined, treat stack pointer like a regular register.
3080         (uw_init_context_1): Set up fake initial stack pointer register.
3081         (uw_install_context_1): Do not compute stack adjustment if
3082         EH_RETURN_STACKADJ_RTX is not defined.
3083
3084         * config/i386/i386.md ("eh_return"): Remove first argument.
3085         * config/mips/mips.md ("eh_return"): Likewise.
3086         * config/rs6000/rs6000.md ("eh_return"): Likewise.
3087         * config/sh/sh.md ("eh_return"): Likewise.
3088
3089         * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
3090
3091 2003-05-10  Alexander Aganichev  <aaganichev@yandex.ru>
3092
3093         * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
3094
3095 2003-05-10  Nathan Sidwell  <nathan@codesourcery.com>
3096
3097         * defaults.h (GCOV_TYPE_SIZE): Remove.
3098         * gcov-io.h (gcov_type): Set to specific mode int on target.
3099         (gcov_unsigned_t, gcov_position_t): New.
3100         (GCOV_TYPE_NODE): New.
3101         (GCOV_TAG_SUMMARY_LENGTH): Adjust.
3102         (GCOV_COUNTERS_SUMMABLE): New.
3103         (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
3104         gcov_ctr_info, gcov_info): Adjust types.
3105         (gcov_var): Adjust types.
3106         (gcov_write_unsigned, gcov_write_tag,
3107         gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3108         gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3109         (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
3110         * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
3111         gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3112         gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3113         * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
3114         __gcov_init, __gcov_merge_add): Adjust gcov types.
3115         * coverage.c (ctr_merge_functions): Constify.
3116         (ctr_names): New.
3117         (read_counts_file): Adjust gcov types. Only summarize & merge
3118         summable counters.
3119         (coverage_counter_ref): Use GCOV_TYPE_NODE.
3120         (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
3121         build_ctr_info_value, build_gcov_info): Adjust types.
3122         * profile.c (branch_prob): Adjust gcov types.
3123         * gcov_dump (dump_file): Adjust gcov types.
3124
3125 2003-05-10  Richard Earnshaw  <rearnsha@arm.com>
3126
3127         * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
3128         constants.
3129         (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
3130         * arm.c (arm_select_dominance_cc_mode): Renamed from
3131         select_dominance_cc_mode, no-longer static.  Use DOM_CC... constants.
3132         Callers updated.
3133         * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
3134
3135 2003-05-09  Roger Sayle  <roger@eyesopen.com>
3136
3137         * config/alpha/alpha.c (alpha_start_function): Declare frame_size
3138         as unsigned to avoid signed/unsigned comparison warnings.
3139
3140 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
3141
3142         * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
3143         instruction if the Xtensa density option is enabled.
3144
3145 2003-05-09  Matt Kraai <kraai@alumni.cmu.edu>
3146
3147        * mklibgcc.in: Remove extra quotes.
3148
3149 2003-05-09  Mark Mitchell  <mark@codesourcery.com>
3150
3151         * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
3152         of int_ftype_void.
3153
3154 2003-05-09  Alexandre Oliva  <aoliva@redhat.com>
3155
3156         * reload1.c (reload_cse_move2add): Don't turn an implicit
3157         truncation into a self-set in the narrow mode.
3158
3159 2003-05-09  Richard Earnshaw  <rearnsha@arm.com>
3160
3161         * arm.md (clzsi2): The CLZ instruction is predicable.
3162
3163 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
3164
3165         * config/xtensa/xtensa.c: Formatting.
3166
3167 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
3168
3169         * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
3170         instead of TREE_OPERAND to access the operand of a
3171         CONSTRUCTOR node.
3172
3173 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
3174
3175         * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
3176         one operand.
3177
3178 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
3179
3180         * toplev.h (warning_with_file_and_line): Don't declare.
3181         (error_with_file_and_line): Likewise.
3182         * diagnostic.c (error_with_file_and_line): Remove.
3183         (warning_with_file_and_line): Likewise.
3184
3185 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
3186
3187         * c-parse.in (if_stmt_locus): New object.
3188         (if_prefix rule): Use it.  Don't use warning_with_file_and_line.
3189         (select_or_iter_stmt rule): Likewise.
3190         (if_stmt_file): Remove.
3191         (if_stmt_line): Likewise.
3192         * jump.c: include "diagnostic.h"
3193         (never_reached_warning): Don't use warning_with_file_and_line.
3194         * Makefile.in (jump.o): Add dependce on diagnostic.h
3195
3196 2003-05-09  Alan Modra  <amodra@bigpond.net.au>
3197
3198         * expr.c (move_block_from_reg): Remove "size" parm.  Localize vars.
3199         Move code handling pieces not larger than a word to..
3200         * function.c (assign_parms): ..here, but use change_address instead
3201         of adjust_address and operand_subword, and expand_binop instead of
3202         expand_shift.  Adjust calls to move_block_from_reg.
3203         * expr.h (move_block_from_reg): Update declaration.
3204         (copy_blkmode_from_reg): Formatting.
3205         * Makefile.in (function.o): Add $(OPTABS_H) to deps.
3206         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
3207         move_block_from_reg calls.
3208         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
3209         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3210         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
3211         * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
3212         * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
3213         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3214         * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
3215         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3216         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
3217
3218 2003-05-08  DJ Delorie  <dj@redhat.com>
3219
3220         * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
3221         to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
3222         variable-sized types).
3223         (xstormy16_function_arg): New.  Pass them that way too.
3224         * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
3225         * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
3226
3227 2003-05-08  Aldy Hernandez  <aldyh@redhat.com>
3228
3229         * mklibgcc.in: Use mkinstalldirs when installing multilib
3230         directories.
3231
3232 2003-05-08  J"orn Rennecke <joern.rennecke@superh.com>
3233
3234         * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
3235         instead of CODE_FOR_jump
3236
3237 2003-05-08  Gabriel Dos Reis <gdr@integrable-solutions.net>
3238
3239         * objc/objc-act.c (error_with_ivar): Don't use
3240         error_with_file_and_line.
3241         (warn_with_method): Don't use warning_with_file_and_line.
3242
3243 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3244
3245         * stmt.c (emit_locus): New macro.
3246         (emit_filename): Remove.
3247         (emit_lineno): Likewise.
3248         (struct stmt_status): Replace members x_emit_filename and
3249         x_emit_lineno with x_emit_locus.
3250         (set_file_and_line_for_stmt): Adjust.
3251         (expand_expr_stmt_value): Don't use warning_with_file_and_line.
3252         (warn_if_unused_value): Likewise.
3253         (check_seenlabel): Likewise.
3254
3255 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3256
3257         * c-decl.c (define_label): Tidy.  Don't use any of
3258         error_with_file_and_line or warning_with_file_and_file.
3259         (pending_xref_error): Likewise.
3260         (store_parm_decls): Likewise.
3261         (current_function_prototype_locus): New object.  Package from
3262         current_function_prototype_file and current_function_prototype_line.
3263         (start_function): Use it.
3264         (current_function_prototype_file): Remove.
3265         (current_function_prototype_line): Remove;
3266
3267 2003-05-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3268
3269         * builtins.c (readonly_data_expr): New function.
3270         (expand_builtin_memmove): Optimize any rodata source, not just
3271         strings.
3272
3273 2003-05-07  David Mosberger <davidm@hpl.hp.com>
3274
3275         * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
3276
3277 2003-05-07  Richard Henderson  <rth@redhat.com>
3278
3279         * config/i386/i386.c (ix86_split_long_move): Fix base register
3280         mode for XFmode splits for TARGET_64BIT.
3281
3282 2003-05-07  Richard Henderson  <rth@redhat.com>
3283
3284         * sched-ebb.c (schedule_ebb): Supply the correct starting
3285         block number to save_line_notes.
3286
3287 2003-05-07  Richard Henderson  <rth@redhat.com>
3288
3289         * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
3290         (dump_file): Likewise.
3291
3292 2003-05-07  David Mosberger <davidm@hpl.hp.com>
3293
3294         * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
3295         forget to preserve gp.
3296         * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
3297
3298         * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
3299         .prologue directive.
3300         Use .skip instead of data8 for .bss section to make Intel
3301         Assembler (ias) happy.  Minor whitespace fixups.  Make "nop 0"
3302         explicit in the .mib bundles and remove the unnecessary stop
3303         bits.  Replace local labels with normal labels, to make ias
3304         happy.  Don't register __do_global_ctors_aux here, do it in
3305         crtend.asm instead.
3306
3307         * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
3308         __do_global_ctors_aux in .init_array section instead of
3309         declaring it as a hidden global.  Replace local labels with
3310         ordinary labels to make ias happy.
3311
3312 2003-05-07  Richard Henderson  <rth@redhat.com>
3313
3314         PR c++/10570
3315         * except.c: Revert 04-01 and 04-02 forced-unwind changes.
3316         * flags.h, toplev.c, doc/invoke.texi: Likewise.
3317
3318         * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
3319         * unwind.inc (_Unwind_DeleteException): Check for null
3320         exception_cleanup.
3321
3322         * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
3323         * unwind.inc (_Unwind_Resume_or_Rethrow): New.
3324         * unwind.h: Declare them.
3325         * libgcc-std.ver (GCC_3.3): Export them.
3326
3327 2003-05-07  Richard Henderson  <rth@redhat.com>
3328
3329         * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
3330         not _Unwind_Word.
3331
3332 2003-05-07  Zack Weinberg  <zack@codesourcery.com>
3333
3334         * stmt.c (force_label_rtx): New function, based on logic
3335         formerly found in expand_expr.
3336         * expr.h: Prototype it.
3337         * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
3338         appropriate.
3339         * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
3340
3341         * print-tree.c (debug_tree): Free the table after we're done
3342         with it.  Use putc.
3343
3344 2003-05-07  Aldy Hernandez  <aldyh@redhat.com>
3345
3346         * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
3347         Unreverse arguments for __ev_subw.
3348
3349         * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
3350
3351 2003-05-07  Nick Clifton  <nickc@redhat.com>
3352
3353         * config/stormy16/stormy-abi: Update to include
3354         R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
3355         R_XSTORMY16_12 relocs.
3356
3357 2003-05-07  Alan Modra  <amodra@bigpond.net.au>
3358
3359         * function.c (assign_parms): Correct reversed reg_parm_stack_space
3360         test.  Add partial in-regs size to stack_args_size.
3361
3362 2003-05-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3363
3364         * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
3365         as a C only option.
3366
3367 2003-05-07  Nathan Sidwell  <nathan@codesourcery.com>
3368
3369         * gcov-io.h (GCOV_LOCKED): New #define.
3370         (GCOV_LINKAGE): Make sure it is #defined.
3371         (gcov_write_string, gcov_write_tag, gcov_write_length,
3372         gcov_read_string, gcov_time): Poison in libgcov.
3373         (gcov_seek_end): Remove.
3374         (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
3375         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
3376         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
3377         GCOV_TAG_SUMMARY_LENGTH): New #defines.
3378         (gcov_write_tag, gcov_write_length): Not in libgcov.
3379         * gcov-io.c (gcov_open): Use GCOV_LOCKED.
3380         (gcov_write_tag, gcov_write_length): Not in libgcov.
3381         (gcov_write_tag_length): New.
3382         (gcov_write_summary): Use gcov_write_tag_length.
3383         * libgcov.c: Always #include gcov-io.h.
3384         (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
3385         (GCOV_LINKAGE): Define to nothing for L_gcov.
3386         (gcov_exit): Replace gcov_write_tag, gcov_write_length with
3387         gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
3388         * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
3389         (read_count_file): Likewise.
3390         * gcov-dump.c (dump_file): Likewise.
3391         * coverag.c (read_counts_file): Likewise.
3392
3393 2003-05-06  Mark Mitchell  <mark@codesourcery.com>
3394
3395         PR other/10658
3396         * gcc.c (process_command): Update copyright date.
3397
3398 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
3399
3400         * doc/install.texi (mips-*-*):  Add note about libstdc++.
3401
3402 2003-05-06  DJ Delorie  <dj@redhat.com>
3403
3404         * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
3405         * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
3406         * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
3407
3408 2003-05-06    <neil@cat.daikokuya.co.uk>
3409
3410         * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
3411         and -Wstrict-prototypes if C++.
3412
3413 2003-05-06  Aldy Hernandez  <aldyh@redhat.com>
3414
3415         * config/rs6000/linuxspe.h: New file.
3416
3417         * config.gcc: Add powerpc-*-linux-gnuspe* target.
3418
3419 2003-05-06  Richard Henderson  <rth@redhat.com>
3420
3421         * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
3422         previous frame didn't save sp.  Clear sp for next frame.
3423         (uw_install_context_1): Honor saved sp from frame.
3424
3425 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
3426
3427         * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
3428         (mips_move_1word, mips_move_2words): Remove declaration.
3429         (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
3430         (mips_restore_gp): Remove insn argument.
3431         * config/mips/mips.h (FP_REG_RTX_P): New macro.
3432         * config/mips/mips.c (volatile_buffer): Remove.
3433         (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
3434         (mips_move_1word, mips_move_2words): Remove, replacing with...
3435         (mips_output_move): ...this new function.
3436         (mips_restore_gp): Remove insn argument.  Adjust for above changes.
3437         (print_operand): Make '%h' print %hi(op) for HIGH operands.  Remove
3438         handling of floating-point constants.  Handle zero CONST_DOUBLE
3439         arguments.
3440         (mips_annotate_frame_insn): Replace with...
3441         (mips_set_frame_expr): ...this, which just takes one argument.
3442         (mips_frame_set): Change the register argument to an rtx.
3443         (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
3444         check whethe