1 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
2 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
4 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
7 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
9 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
11 * configure: Regenerate.
13 2003-06-07 Alan Modra <amodra@bigpond.net.au>
15 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
17 2003-06-06 James E Wilson <wilson@tuliptree.org>
20 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
23 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
25 * configure.in: Make $(target_subdir) correspond with top level usage.
26 * Makefile.in: Likewise.
27 * configure: Regenerate.
29 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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):
36 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
39 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
41 * doc/install.texi (Prerequisites): New section documenting
42 tools and packages necessary prior to building and/or
44 * doc/install.texi2html: Also generate prerequisites.html.
46 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
49 * ifcvt.c (noce_process_if_block): Fail if the destination has
52 2003-06-06 Jason Merrill <jason@redhat.com>
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.
60 * stmt.c (expand_decl): Put artificial vars into registers even
61 when not optimizing, and don't mark the regs as user vars.
63 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
65 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
66 of the generated register.
68 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
70 * config.gcc: Add a missing sparc64 case.
72 2003-06-06 Jakub Jelinek <jakub@redhat.com>
74 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
75 the .hidden assembly stubs.
77 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
79 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
82 * config/i386/mmintrin.h: Update version and add alternate
84 * config/i386/xmmintrin.h: Likewise.
86 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
88 * config/i386/emmintrin.h: Here. New file.
90 2003-06-06 Roger Sayle <roger@eyesopen.com>
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.
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.
108 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
110 * sourcebuild.texi (Front End Directory): Document new hooks.
112 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
114 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
115 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
117 (pro_epilogue_adjust_stack_rex64_2): New pattern
119 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
121 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
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.
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):
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.
174 2003-06-05 Richard Henderson <rth@redhat.com>
176 * recog.c (peephole2_optimize): Revert last change.
178 2003-06-05 Richard Henderson <rth@redhat.com>
180 * recog.c (peephole2_optimize): Don't split block unless
183 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
185 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
186 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
188 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
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.
195 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
197 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
198 (ENDFILE_SPEC): Redefine to handle -pie.
200 2003-06-05 Phil Edwards <phil@jaj.com>
202 * Makefile.in (qmtest-g++): Use target_alias, not target.
204 2003-06-05 Per Bothner <pbothner@apple.com>
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.
211 2003-05-06 Richard Henderson <rth@redhat.com>
213 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
214 language-specific tree codes.
216 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
219 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
220 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
222 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
224 * install.tex: Document profiledbootstrap.
226 * configure.in: Add support for lang.stageprofile and
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.
238 2003-06-05 David Miller <davem@redhat.com>
239 Richard Henderson <rth@redhat.com>
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.
246 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
248 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
249 is REG for nonzero_bits (REG) == 8.
251 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
253 * i386.md (align): Fix warning; clarify what to do when no p2align
256 2003-06-05 Nick Clifton <nickc@redhat.com>
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.
264 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
266 * doc/md.texi (Machine Constraints): Correct the meaning of
267 constraints related to floating-point registers on SPARC.
269 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
270 Paolo Bonzini <bonzini@gnu.org>
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.
278 2003-06-04 Richard Henderson <rth@redhat.com>
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.
306 2003-06-04 Mark Mitchell <mark@codesourcery.com>
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.
314 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
316 * Makefile.in (varasm.o): Don't set -Wno-error.
317 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
319 2003-06-04 Zack Weinberg <zack@codesourcery.com>
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
328 * configure, config.in: Regenerate.
330 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
339 2003-06-04 Richard Henderson <rth@redhat.com>
341 * cse.c (find_best_addr): Consider binary operators even if second
342 argument is not CONST_INT.
344 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
346 * doc/invoke.texi (max-cse-path-length): Document.
348 2003-06-04 Richard Henderson <rth@redhat.com>
350 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
352 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
354 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
355 Remove semi-colon at the end of the expression.
357 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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
368 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
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.
385 * doc/install.texi: Update --with-cpu documentation. Mention
386 --with-arch, --with-schedule, --with-tune, --with-abi, and
388 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
390 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
392 * config.gcc: Only process --with-cpu logic in the third pass.
394 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
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
402 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
404 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
405 complex numbers <= 32 bits into two registers.
407 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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):
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.
431 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
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> .
438 2003-06-04 David Edelsohn <edelsohn@gnu.org>
440 * doc/install.texi (*-ibm-aix*): Native as and ld required
441 to bootstrap on AIX 5L.
443 2003-06-04 Richard Henderson <rth@redhat.com>
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.
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.
455 2003-06-04 Jakub Jelinek <jakub@redhat.com>
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.
472 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
474 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
475 (ix86_reorg): Use it.
476 * i386.md (align): New insn pattern.
478 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
480 * toplev.c (rest_of_type_compilation): Fix typo.
482 2003-06-04 Jakub Jelinek <jakub@redhat.com>
483 Alan Modra <amodra@bigpond.net.au>
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.
494 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
495 Pass it to $gcc_cv_as.
496 * configure: Rebuilt.
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
505 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
507 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
508 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
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
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
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
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
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
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
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
559 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
560 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
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):
572 * config/rs6000/x-linux64: New file.
573 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
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
588 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
590 * config.gcc: Revert accidentally committed ARM changes.
592 2003-06-04 Roger Sayle <roger@eyesopen.com>
594 * builtins.c (dconstpi, dconste): New mathematical constants.
595 (init_builtin_dconsts): New function to initialize dconstpi
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.
602 2003-06-04 Roger Sayle <roger@eyesopen.com>
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.
608 2003-06-04 Andreas Jaeger <aj@suse.de>
610 * system.h: Do not poison TDESC_SECTION_ASM_OP,
611 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
613 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
619 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
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
627 (cse_main, cse_basic_block): Allocate path array.
628 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
630 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
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.
636 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
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
643 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
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
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
665 2003-06-03 Chris Demetriou <cgd@broadcom.com>
667 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
669 2003-06-04 Andreas Jaeger <aj@suse.de>
671 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
673 * config/i386/i386.c (ix86_expand_prologue): Do not use
676 * system.h: Poision SUBTARGET_PROLOGUE.
678 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
680 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
683 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
685 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
686 INSN_CACHE_LINE_WIDTH.
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.
692 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
693 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
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.
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.
706 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
707 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
709 * config/frv/frv-protos.h: Remove unused const_section
711 * config/vax/vax-protos.h: Likewise.
713 * output.h: Remove CONST_SECTION_ASM_OP usage.
715 * system.h: Poison CONST_SECTION_ASM_OP.
717 * crtstuff.c (__do_global_dtors_aux): Remove usage of
719 (frame_dummy): Likewise.
720 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
721 * system.h: Poison CRT_GET_RFIB_TEXT.
723 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
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.
730 2003-06-03 Roger Sayle <roger@eyesopen.com>
732 * optabs.c (expand_binop): Optimize complex multiplication for
733 the case of squaring a complex argument.
735 2003-06-03 Roger Sayle <roger@eyesopen.com>
737 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
738 non-volatile operands of binary operations.
739 (prepare_cmp_insn): Likewise.
741 2003-06-03 Roger Sayle <roger@eyesopen.com>
743 * varasm.c (force_const_mem): Handle alignment of constants not
744 representable as a type in the front-end language.
746 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
748 * flow.c (initialize_uninitialized_subregs): Use
749 emit_move_insn instead of emitting a hardcoded move.
751 2003-06-03 Richard Henderson <rth@redhat.com>
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.
759 2003-06-03 Alan Modra <amodra@bigpond.net.au>
761 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
763 2003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
765 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
766 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
768 * configure.in: Allow default_use_cxa_atexit to determine the
769 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
771 * configure: Regenerate.
773 2003-06-03 Douglas B Rupp <rupp@gnat.com>
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.
779 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
781 * configure.in (inhibit_libc): Don't define when configuring
782 with --with-newlib --with-headers.
783 * configure: Regenerate.
785 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
787 2003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
789 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
790 IRIX 6 without GNU ld.
791 * configure: Regenerate.
793 2003-06-03 Roger Sayle <roger@eyesopen.com>
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.
798 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
800 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
801 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
803 2003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
805 * config/i386/x86-64.h: Remove two target-independent comments;
806 replace "GNU CC" with "GCC".
808 2003-06-03 Anthony Green <green@redhat.com>
810 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
812 2003-06-03 Roger Sayle <roger@eyesopen.com>
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.
821 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
823 2003-06-03 Aldy Hernandez <aldyh@redhat.com>
825 * function.c (assign_parms): Split complex arguments.
827 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
829 * expr.h (SPLIT_COMPLEX_ARGS): Define.
830 (split_complex_types): Protoize.
831 (split_complex_values): Protoize.
833 * calls.c (expand_call): Split complex arguments on architectures
835 (split_complex_values): New.
836 (split_complex_types): New.
838 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
839 (rs6000_function_value): Handle complex values on AIX.
840 (rs6000_complex_function_value): New.
842 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
844 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
845 (SPLIT_COMPLEX_ARGS): New.
847 2003-06-03 Jakub Jelinek <jakub@redhat.com>
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
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.
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.
901 2003-06-03 Jakub Jelinek <jakub@redhat.com>
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
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
926 2003-06-03 Ben Elliston <bje@wasabisystems.com>
928 * doc/md.texi (Processor pipeline description): Improve wording.
930 2003-06-03 Neil Booth <neil@daikokuya.co.uk>
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.
936 2003-06-02 Roger Sayle <roger@eyesopen.com>
937 Zack Weinberg <zack@codesourcery.com>
939 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
940 test of TREE_CONSTANT_POOL_ADDRESS_P.
942 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
944 * mips.c: Don't include output.h twice.
945 * stormy16.c: Likewise.
946 * xtensa.c: Likewise.
947 * output.h: Protect against multiple inclusion.
949 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
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.
956 2003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
958 * gcc/config.gcc Add support multilib parts for m32rx processor.
960 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
962 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
963 (mostlyclean): Delete c-options.c and c-options.h.
965 2003-06-02 Neil Booth <neil@daikokuya.co.uk>
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.
972 2003-06-01 Zack Weinberg <zack@codesourcery.com>
974 * ggc-page.c (init_ggc): Give better diagnostics on failure to
976 * toplev.c (crash_signal): Reset handling for received signal
979 2003-06-02 Ben Elliston <bje@wasabisystems.com>
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.
1000 2003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
1013 2003-06-01 Andreas Jaeger <aj@suse.de>
1015 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
1016 ROUND_TYPE_SIZE_UNIT.
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.
1023 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1025 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
1027 * config/d30v/d30v.h: Remove text copied from the manual.
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>
1033 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
1034 constants as condition code values.
1036 2003-06-01 DJ Delorie <dj@redhat.com>
1038 * cppmacro.c (warn_of_redefinition): Handle cases where the two
1039 definitions have different numbers of tokens.
1041 2003-06-01 Andreas Jaeger <aj@suse.de>
1043 * gen-protos.c (main): Readd unused attribute for argc.
1045 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
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.
1051 2003-06-01 Andreas Schwab <schwab@suse.de>
1053 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
1055 2003-06-01 Andreas Jaeger <aj@suse.de>
1057 * gen-protos.c (main): Revert patch to check for argument.
1059 2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1062 * config/i386/i386.md (length attribute): Set length to 4
1063 for instructions of type "fcmp".
1065 2003-06-01 Andreas Jaeger <aj@suse.de>
1067 * toplev.c: Use ISO C90 prototypes.
1069 * toplev.h: Use ISO C90 prototypes.
1071 * genrecog.c: Use ISO C90 prototypes.
1072 (nodes_identical): Correct declaration to match prototype.
1073 (maybe_both_true): Likewise.
1074 (merge_trees): Likewise.
1076 * genpeep.c (gen_peephole): Remove #if 0 code.
1077 Use ISO C90 prototypes.
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.
1083 Use ISO C90 prototypes.
1084 (make_canonical): Remove #if 0'ed code.
1085 (convert_const_symbol_ref): Remove #if 0'ed function.
1087 * gen-protos.c (main): Check for argument.
1089 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
1091 * params.h: Use ISO C90 prototypes.
1092 * params.c: 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.
1118 * sdbout.h: Use ISO C90 prototypes.
1120 * sdbout.c (CONTIN): Removed empty macro.
1121 (sdbout_one_type): Remove CONTIN usages.
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.
1130 2003-06-01 Josef Zlomek <zlomekj@suse.cz>
1132 * rtl.def (CONST_DOUBLE): Update comment.
1134 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1136 * opts.sh: Remove path from sort.
1138 2003-06-01 Aldy Hernandez <aldyh@redhat.com>
1141 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
1142 TARGET_SPE for SPE_VECTOR_MODE.
1144 2003-05-31 Aldy Hernandez <aldyh@redhat.com>
1146 * toplev.c (botch): Remove.
1148 (set_Wunused): Comment.
1149 (set_Wextra): Comment.
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.
1186 * toplev.h (botch): Remove prototype.
1189 2003-05-31 Neil Booth <neil@daikokuya.co.uk>
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
1200 * c.opt, opts.sh: New files.
1201 * doc/passes.texi: Update.
1203 2003-05-31 Andreas Jaeger <aj@suse.de>
1205 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
1208 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
1210 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
1212 * system.h: Poison ALLOCATE_TRAMPOLINE.
1214 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
1215 * system.h: Poison HANDLE_PRAGMA.
1217 2003-05-31 Kazu Hirata <kazu@cs.umass.edu>
1219 * doc/invoke.texi: Update dump file names.
1221 2003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
1227 2003-05-31 Roger Sayle <roger@eyesopen.com>
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.
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.
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.
1244 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1246 * doc/install.texi (mips-sgi-irix5): Add missing
1249 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1251 * doc/md.texi (Machine Constraints): Document
1252 missing SPARC constraints.
1254 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1256 * doc/md.texi (Automaton pipeline description): Use
1257 "type" instead of "cpu" as the attribute in the examples.
1259 2003-05-30 Stan Shebs <shebs@apple.com>
1261 * system.h: Poison OBJC_PROLOGUE.
1263 2003-05-30 Roger Sayle <roger@eyesopen.com>
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.
1270 2003-05-30 Kazu Hirata <kazu@cs.umass.edu>
1272 * doc/invoke.texi: Fix typos.
1273 * doc/rtl.texi: Likewise.
1275 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
1277 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
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.
1287 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
1289 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
1290 true if TARGET_NORMAL_MODE.
1292 2003-05-30 Roger Sayle <roger@eyesopen.com>
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.
1304 2003-05-30 Eric Christopher <echristo@redhat.com>
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
1310 (mips_output_external_libcall): Ditto.
1312 2003-05-30 Florian Weimer <fw@deneb.enyo.de>
1314 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
1317 2003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1319 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1321 (PRINT_OPERAND): Likewise.
1323 2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1325 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
1326 -mdebug/-no-mdebug switches ...
1327 (MDEBUG_ASM_SPEC): ... here.
1329 (EXTRA_SPECS): Initialize mdebug_asm_spec.
1331 2003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
1333 * gthr-gnat.c: Remove #undef UNUSED.
1334 (__gnat_default_lock, __gnat_default_unlock): Prototype.
1335 (__gnat_task_lock, __gnat_task_unlock): Make declarations
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.
1342 2003-05-29 Jason Merrill <jason@redhat.com>
1344 * Makefile.in (unstrap): Remove stage_last after make unstage1.
1346 2003-05-29 Roger Sayle <roger@eyesopen.com>
1348 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
1350 2003-05-29 Roger Sayle <roger@eyesopen.com>
1351 Kaveh Ghazi <ghazi@caip.rutgers.edu>
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.
1363 * gcov.c (options): Zero-terminate getopt_long array.
1364 * gcov-dump.c (options): Likewise.
1366 * Makefile.in (mips-tdump.o): Add dependency on version.h.
1368 2003-05-29 Stan Shebs <shebs@apple.com>
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.
1377 2003-05-29 Roger Sayle <roger@eyesopen.com>
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.
1384 2003-05-29 Richard Sandiford <rsandifo@redhat.com>
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.
1391 2003-05-28 Bob Wilson <bob.wilson@acm.org>
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):
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.
1409 2003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
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.
1416 2003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
1418 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
1419 (MD_STARTFILE_PREFIX): Define.
1421 2003-05-27 Denis Chertykov <denisc@overta.ru>
1423 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
1425 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
1426 call of cselib_invalidate_regno.
1428 2003-05-28 Daniel Jacobowitz <drow@mvista.com>
1430 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
1431 -lthread to -lpthread.
1433 2003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
1434 Bruce Korb <bkorb@gnu.org>
1435 Arno Klaassen <arno@heho.snv.jussieu.fr>
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.
1446 2003-05-27 Jason Merrill <jason@redhat.com>
1448 * tree.c (expr_first, expr_length): New fns.
1449 * tree.h: Declare them.
1451 * tree.c (iterative_hash_expr): Hash commutative expressions
1454 2003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
1475 2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1477 * diagnostic.h (output_verbatim, verbatim): Remove printf
1480 2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1482 * doc/contrib.texi (Contributors): Update Kean Johnston.
1484 2003-05-24 David Edelsohn <edelsohn@gnu.org>
1486 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
1488 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
1490 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
1491 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
1492 Replace "GNU CC" with "GCC".
1494 2003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
1496 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
1497 intermediate computation.
1499 2003-05-23 Eric Christopher <echristo@redhat.com>
1501 * config/mips/mips.md (clzsi, clzdi): New patterns.
1503 2003-05-23 Geoffrey Keating <geoffk@apple.com>
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.
1509 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
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".
1516 2003-05-23 Roger Sayle <roger@eyesopen.com>
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
1524 * doc/extend.texi: Document new tan and atan builtins, and
1525 their float and long double variants.
1527 2003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
1529 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
1530 __sparcv9 in the TARGET_ARCH64 case.
1532 Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
1534 * i386.c (ix86_reorg): Calls are also jumps.
1536 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
1538 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
1539 note containing an EXPR_LIST, process all the arguments.
1541 Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
1542 Andreas Jaeger <aj@suse.de>
1544 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
1545 do not use assertion.
1547 2003-05-23 Mike Stump <mrs@apple.com>
1549 * tlink.c (scan_linker_output): Add support for darwin linker, as it
1550 emits unresolved symbols one per line, consuming the entire line.
1552 2003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
1553 Zack Weinberg <zack@codesourcery.com>
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.
1562 2003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
1564 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
1566 2003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1568 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
1569 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
1571 2003-05-22 Roger Sayle <roger@eyesopen.com>
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).
1579 2003-05-22 Mike Stump <mrs@apple.com>
1581 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
1584 2003-05-22 DJ Delorie <dj@redhat.com>
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,
1590 2003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1592 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
1594 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
1595 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
1597 2003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1599 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
1603 2003-05-22 Zack Weinberg <zack@codesourcery.com>
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.
1613 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
1615 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
1616 switches when --target-help option is specified.
1618 2003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
1621 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
1622 failure with Sun assembler 5.0 Alpha 03/27/98.
1624 2003-05-21 Loren James Rittle <ljrittle@acm.org>
1626 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
1627 to match system compiler convention.
1629 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
1631 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
1632 value, not just if defined.
1633 Update copyright year.
1635 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
1644 2003-05-21 Bob Wilson <bob.wilson@acm.org>
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.
1658 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
1660 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
1661 (nested_function): Likewise.
1662 (notype_nested_function): Likewise.
1664 2003-05-21 Nick Clifton <nickc@redhat.com>
1666 * config/stormy16/stormy-abi: Update overflow type for
1667 R_XSTORMY16_16 reloc.
1669 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
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):
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.
1690 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1692 * c-pretty-print.c (pp_c_integer_literal): Use
1693 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
1695 2003-05-20 Roger Sayle <roger@eyesopen.com>
1696 Kazu Hirata <kazu@cs.umass.edu>
1697 Joern Rennecke <joern.rennecke@superh.com>
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.
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.
1710 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
1713 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
1716 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1718 * genautomata.c (output_description, output_automaton_units,
1719 output_state_arcs): Add missing specifiers.
1721 2003-05-20 Bob Wilson <bob.wilson@acm.org>
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.
1743 2003-05-20 Kevin Ryde <user42@zip.com.au>
1744 Wolfgang Bangerth <bangerth@dealii.org>
1747 * doc/extend.texi: Put a warning into the documentation
1748 of attribute regparm.
1750 2003-05-20 Jason Merrill <jason@redhat.com>
1752 * tree.c (expr_last): New fn.
1753 * tree.h: Declare it.
1754 * objc/objc-act (expr_last): Rename to objc_expr_last.
1756 2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
1758 * sh.c (sh_register_move_cost): Add clase for moving between
1759 FP registers and MAC registers.
1761 2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
1763 * pa/milli64.S ($$mulI): Fix typo.
1765 2003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
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.
1778 2003-05-19 Alexandre Oliva <aoliva@redhat.com>
1780 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
1781 -lthread to -lpthread.
1783 2003-05-19 Neil Booth <neil@daikokuya.co.uk>
1785 * c-opts.c (c_common_decode_option): Don't accept dollars
1786 as identifier characters in assembly.
1787 * doc/cpp.texi: Document this.
1789 2003-05-19 Seth Arnold <sarnold@wirex.com>
1790 Aldy Hernandez <aldyh@redhat.com>
1792 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
1795 2003-05-19 Aldy Hernandez <aldyh@redhat.com>
1797 * doc/tm.texi (function_arg): Fix typo.
1799 2003-05-19 Matt Austern <austern@apple.com>
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.
1808 2003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
1809 David Edelsohn <edelsohn@gnu.org>
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
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
1829 2003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
1831 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
1832 of a function using ASMSPEC, prepend a star.
1834 2003-05-19 Jason Merrill <jason@redhat.com>
1836 * tree-inline.c (copy_body_r): Avoid generating &* during inline
1839 2003-05-19 Andrew Macleod <amacleod@redhat.com>
1841 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
1842 not mark assignments to the hard frame pointer as being stack
1844 (xstormy16_expand_epilogue): Mark adjustments to the stack
1845 pointer as being stack frame related.
1847 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
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.
1861 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
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.
1891 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
1893 * config/mips/mips.c (mips_class_max_nregs): Return the number of
1896 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
1898 * config/mips/mips.c (override_options): Disable explicit
1899 relocs for old ABIs unless using gas.
1901 2003-05-18 Eric Christopher <echristo@redhat.com>
1903 * config/mips/mips.h: Remove definition of g_switch_value.
1905 2003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
1907 * flags.h (g_switch_value): Change to an unsigned
1909 * toplev.c (g_switch_value): Likewise.
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
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.
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.
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
1932 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
1934 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
1936 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
1937 g_switch_value cast.
1939 2003-05-18 Roger Sayle <roger@eyesopen.com>
1940 Zack Weinberg <zack@codesourcery.com>
1943 * builtins.c (expand_builtin_memcpy): Call force_operand on
1944 expressions and use simplify_gen_binary to create the addition.
1946 2003-05-18 Andreas Schwab <schwab@suse.de>
1948 * config/m68k/m68k.md: Use define_constants for unspec numbers.
1950 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
1952 * config/sparc/sparc.h: Define sparc for now.
1953 2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
1955 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
1957 * config/stormy16/stormy16.h: Remove about 3000 lines of
1958 target-independent comments. Update copyright notice.
1960 * doc/collect2.texi: GNU CC -> GCC.
1961 * doc/headerdirs.texi: GNU CC -> GCC.
1963 2003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
1970 2003-05-18 Nathan Sidwell <nathan@codesourcery.com>
1972 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
1974 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
1976 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
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):
1997 * doc/cpp.texi: Document __ELF__.
1998 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
2000 2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2002 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
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.
2036 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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.
2046 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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.
2053 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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.
2069 2003-05-17 Andreas Schwab <schwab@suse.de>
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.
2076 2003-05-17 Zack Weinberg <zack@codesourcery.com>
2078 * doc/install.texi: Remove information about desupported targets.
2080 2003-05-17 Andreas Schwab <schwab@suse.de>
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
2092 * doc/invoke.texi (Option Summary): Remove -mfpa.
2093 (M680x0 Options): Likewise.
2095 2003-05-17 David Edelsohn <edelsohn@gnu.org>
2097 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
2099 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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.
2107 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2109 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
2110 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
2112 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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,
2121 * sparc/sysv4-only.h: New.
2123 2003-05-17 Alan Modra <amodra@bigpond.net.au>
2125 * function.c (assign_parms): Check for zero size args.
2127 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
2148 * avr.c (avr_output_function_prologue,
2149 avr_output_function_epilogue, print_operand): Fix format specifier
2151 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
2152 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
2154 2003-05-16 Geoffrey Keating <geoffk@apple.com>
2156 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
2157 and ! TARGET_STRING cases.
2159 * doc/cppopts.texi (-undef): Fix texinfo warning.
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.
2165 2003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
2171 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
2177 * v850.c (print_operand): Fix format specifier warnings.
2179 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2182 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
2183 format specifier warnings.
2185 * ip2k.c (function_prologue, function_epilogue, print_operand):
2186 Fix format specifier warnings.
2187 * ip2k.md: Likewise.
2189 * i960.c (i960_output_function_prologue, i960_print_operand,
2190 i960_print_operand_addr): Fix format specifier warnings.
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.
2196 * fr30.c (fr30_print_operand): Fix format specifier warnings.
2198 * dsp16xx.c (print_operand_address): Fix format specifier warning.
2199 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
2201 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
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):
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.
2225 * frv.c (frv_print_operand_memory_reference): Fix format specifier
2227 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
2229 * m68k.c (m68k_output_function_epilogue): Fix format specifier
2232 * stormy16-protos.h (xs_hi_general_operand,
2233 xs_hi_nonmemory_operand): Prototype.
2234 * stormy16.c (xstormy16_output_shift): Fix format specifier
2237 * cris.c: Fix format specifier warnings.
2239 2003-05-16 Nick Clifton <nickc@redhat.com>
2241 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
2243 2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
2245 * doc/bugreport.texi: Remove most of the of the preface of the
2248 2003-05-16 Jakub Jelinek <jakub@redhat.com>
2250 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
2253 2003-05-15 Roger Sayle <roger@eyesopen.com>
2255 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
2257 2003-05-15 Eric Christopher <echristo@redhat.com>
2259 * cfgcleanup.c (merge_blocks): Fix return value.
2261 2003-05-15 Eric Christopher <echristo@redhat.com>
2263 * combine.c (expand_compound_operation): Make sure
2264 that zero_extend operation is profitable.
2266 2003-05-15 Richard Henderson <rth@redhat.com>
2268 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
2269 code protected by USE_GNULIBC_1.
2271 2003-05-15 Zack Weinberg <zack@codesourcery.com>
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.
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.
2318 2003-05-15 Aldy Hernandez <aldyh@redhat.com>
2320 * config/rs6000/rs6000-protos.h (function_value): Protoize.
2322 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
2324 * config/rs6000/rs6000.c (rs6000_function_value): New.
2326 2003-05-15 Philip Blundell <philb@gnu.org>
2328 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
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.
2338 2003-05-15 Philip Blundell <philb@gnu.org>
2341 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
2342 involving invalid constants.
2344 2003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2346 * pa.c (hppa_expand_prologue): Remove blockage.
2348 2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
2350 * doc/bugreport.texi: Remove most of the bug reporting
2351 instructions and merge them into bugs.html.
2353 2003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
2355 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2356 g_switch_value to unsigned HOST_WIDE_INT.
2358 2003-05-14 Eric Christopher <echristo@redhat.com>
2360 * combine.c: Fix header comments.
2361 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
2362 to all calls and prototype.
2364 2003-05-14 Roger Sayle <roger@eyesopen.com>
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.
2374 2003-05-14 Bob Wilson <bob.wilson@acm.org>
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
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.
2429 2003-05-14 Richard Henderson <rth@redhat.com>
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.
2435 2003-05-14 Richard Henderson <rth@redhat.com>
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.
2447 2003-05-14 David Edelsohn <edelsohn@gnu.org>
2449 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
2450 move record condition.
2451 (movdi_internal2): Same.
2453 2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
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
2468 (gcov_write_string): Adjust.
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.
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).
2489 * loop.c (check_dbra_loop): Factor common test.
2491 2003-05-14 Ben Elliston <bje@wasabisystems.com>
2493 * doc/md.texi (Automaton pipeline description): Grammar fixes.
2495 2003-05-14 Richard Sandiford <rsandifo@redhat.com>
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.
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
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.
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.
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.
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.
2532 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
2533 * config/frv/frv.c: Remove orphaned comment.
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.
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.
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.
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.
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.
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.
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.
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.
2586 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
2587 commented-out definition.
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.
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.
2600 (sh_output_mi_thunk): Call sh_reorg directly.
2601 * config/sh/sh.md: Update comment.
2603 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
2604 commented-out definition.
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.
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.
2616 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
2617 (TARGET_MACHINE_DEPENDENT_REORG): Document.
2619 2003-05-13 Richard Henderson <rth@redhat.com>
2621 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
2622 the old decl had instantiated DECL_RTL.
2624 2003-05-13 Mike Stump <mrs@apple.com>
2626 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
2628 2003-05-13 Janis Johnson <janis187@us.ibm.com>
2630 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
2631 HOST_WIDE_INT argument.
2633 2003-05-13 Jason Merrill <jason@redhat.com>
2635 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
2637 * tree.c (iterative_hash_expr): New fn.
2639 * c-semantics.c (emit_local_var): Don't mess with temp slots if
2640 there's no initializer.
2642 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
2644 * final.c (final_scan_insn): Apply the effects of frame-related
2645 delay slot insns before emitting a delayed branch.
2647 2003-05-13 Nick Clifton <nickc@redhat.com>
2649 * config/mcore/mcore.md (jump): Use emit_jump_insn.
2651 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
2653 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
2654 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
2656 2003-05-12 DJ Delorie <dj@redhat.com>
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.
2662 2003-05-13 Zack Weinberg <zack@codesourcery.com>
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
2668 (fatal_io_error): Delete function.
2669 * diagnostic.h (text_info): Add err_no field.
2670 * toplev.h (fatal_io_error): Delete prototype.
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
2678 2003-05-13 Zack Weinberg <zack@codesourcery.com>
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
2685 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
2687 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
2688 ("*iorsi3_oi"): Likewise.
2690 2003-05-13 Richard Earnshaw <rearnsha@arm.com>
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
2696 (and_scc_scc_nodom): New insn-and-split pattern.
2698 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
2700 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
2701 to _Unwind_SetGRPtr().
2703 2003-05-13 Michael Eager <eager@mvista.com>
2705 * Makefile.in: Initialize program_transform_cross_name from
2706 @program_transform_name@ instead of target_alias.
2708 2003-05-12 Janis Johnson <janis187@us.ibm.com>
2709 Alan Modra <amodra@bigpond.net.au>
2710 Jakub Jelinek <jakub@redhat.com>
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):
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,
2749 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
2751 2003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
2753 * Makefile.in (stage2_build, stage3_build, stage4_build):
2754 Set BUILD_CC to the same as CC.
2756 2003-05-12 Neil Booth <neil@daikokuya.co.uk>
2758 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
2760 2003-05-12 Andreas Schwab <schwab@suse.de>
2762 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
2764 (bundling): Initialize 'pos'.
2765 (ia64_expand_builtin): Initialize 'rmode'.
2767 2003-05-12 David Edelsohn <edelsohn@gnu.org>
2769 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
2770 (ASM_OUTPUT_ALIGNED_COMMON): Same.
2771 (ASM_OUTPUT_LOCAL): Same.
2773 Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
2775 * varasm.c (output_constant): Fix underflow.
2777 2003-05-12 Mark Mitchell <mark@codesourcery.com>
2780 * configure.in: Correct detection of GNU ld version number.
2781 * configure: Regenerated.
2783 2003-05-12 Zack Weinberg <zack@codesourcery.com>
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
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
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.
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.
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.
2816 2003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2818 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
2820 Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
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.
2826 2003-05-12 Roger Sayle <roger@eyesopen.com>
2828 * doc/rtl.texi: Document zero_extract as a valid destination
2831 2003-05-12 Richard Earnshaw <rearnsha@arm.com>
2833 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
2834 '.'. Change all local symbol definitions and references to use LSYM.
2836 Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
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
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):
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):
2877 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
2878 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
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):
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):
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
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
2925 2003-05-10 Steven Bosscher <steven@gcc.gnu.org>
2927 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
2928 favor of walk_tree_without_duplicates. Add comments.
2930 2003-05-12 Josef Zlomek <zlomekj@suse.cz>
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.
2946 2003-05-11 Richard Henderson <rth@redhat.com>
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.
2958 * tree.c (chainon): Special case op2 null as well.
2961 2003-05-11 Roger Sayle <roger@eyesopen.com>
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.
2969 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
2970 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
2972 2003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2974 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
2976 * sparc.c (print_operand): Fix uninitialized warning.
2978 2003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2980 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
2982 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
2985 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
2987 * doc/cpp.texi: Fix typos.
2989 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
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
2997 2003-05-11 Nathan Sidwell <nathan@codesourcery.com>
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
3012 * function.c (prepare_function_start): Do not set arc_profile
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
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.
3023 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3025 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
3027 2003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3029 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
3031 2003-05-11 Bruno Haible <bruno@clisp.org>
3033 * cppfiles.c (find_or_create_entry): Preserve errno.
3035 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
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.
3046 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
3054 2003-05-10 Alexandre Oliva <aoliva@redhat.com>
3056 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
3059 2003-05-10 Zack Weinberg <zack@codesourcery.com>
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.
3068 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
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.
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.
3089 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
3091 2003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
3093 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
3095 2003-05-10 Nathan Sidwell <nathan@codesourcery.com>
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.
3117 (read_counts_file): Adjust gcov types. Only summarize & merge
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.
3125 2003-05-10 Richard Earnshaw <rearnsha@arm.com>
3127 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
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.
3133 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
3135 2003-05-09 Roger Sayle <roger@eyesopen.com>
3137 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
3138 as unsigned to avoid signed/unsigned comparison warnings.
3140 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3142 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
3143 instruction if the Xtensa density option is enabled.
3145 2003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
3147 * mklibgcc.in: Remove extra quotes.
3149 2003-05-09 Mark Mitchell <mark@codesourcery.com>
3151 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
3154 2003-05-09 Alexandre Oliva <aoliva@redhat.com>
3156 * reload1.c (reload_cse_move2add): Don't turn an implicit
3157 truncation into a self-set in the narrow mode.
3159 2003-05-09 Richard Earnshaw <rearnsha@arm.com>
3161 * arm.md (clzsi2): The CLZ instruction is predicable.
3163 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3165 * config/xtensa/xtensa.c: Formatting.
3167 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3169 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
3170 instead of TREE_OPERAND to access the operand of a
3173 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3175 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
3178 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
3185 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
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
3196 2003-05-09 Alan Modra <amodra@bigpond.net.au>
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.
3218 2003-05-08 DJ Delorie <dj@redhat.com>
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.
3227 2003-05-08 Aldy Hernandez <aldyh@redhat.com>
3229 * mklibgcc.in: Use mkinstalldirs when installing multilib
3232 2003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
3234 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
3235 instead of CODE_FOR_jump
3237 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
3243 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
3255 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
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;
3267 2003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3269 * builtins.c (readonly_data_expr): New function.
3270 (expand_builtin_memmove): Optimize any rodata source, not just
3273 2003-05-07 David Mosberger <davidm@hpl.hp.com>
3275 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
3277 2003-05-07 Richard Henderson <rth@redhat.com>
3279 * config/i386/i386.c (ix86_split_long_move): Fix base register
3280 mode for XFmode splits for TARGET_64BIT.
3282 2003-05-07 Richard Henderson <rth@redhat.com>
3284 * sched-ebb.c (schedule_ebb): Supply the correct starting
3285 block number to save_line_notes.
3287 2003-05-07 Richard Henderson <rth@redhat.com>
3289 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
3290 (dump_file): Likewise.
3292 2003-05-07 David Mosberger <davidm@hpl.hp.com>
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.
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
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.
3312 2003-05-07 Richard Henderson <rth@redhat.com>
3315 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
3316 * flags.h, toplev.c, doc/invoke.texi: Likewise.
3318 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
3319 * unwind.inc (_Unwind_DeleteException): Check for null
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.
3327 2003-05-07 Richard Henderson <rth@redhat.com>
3329 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
3332 2003-05-07 Zack Weinberg <zack@codesourcery.com>
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
3339 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
3341 * print-tree.c (debug_tree): Free the table after we're done
3344 2003-05-07 Aldy Hernandez <aldyh@redhat.com>
3346 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
3347 Unreverse arguments for __ev_subw.
3349 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
3351 2003-05-07 Nick Clifton <nickc@redhat.com>
3353 * config/stormy16/stormy-abi: Update to include
3354 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
3355 R_XSTORMY16_12 relocs.
3357 2003-05-07 Alan Modra <amodra@bigpond.net.au>
3359 * function.c (assign_parms): Correct reversed reg_parm_stack_space
3360 test. Add partial in-regs size to stack_args_size.
3362 2003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3364 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
3367 2003-05-07 Nathan Sidwell <nathan@codesourcery.com>
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.
3393 2003-05-06 Mark Mitchell <mark@codesourcery.com>
3396 * gcc.c (process_command): Update copyright date.
3398 2003-05-06 Phil Edwards <pme@gcc.gnu.org>
3400 * doc/install.texi (mips-*-*): Add note about libstdc++.
3402 2003-05-06 DJ Delorie <dj@redhat.com>
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.
3408 2003-05-06 <neil@cat.daikokuya.co.uk>
3410 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
3411 and -Wstrict-prototypes if C++.
3413 2003-05-06 Aldy Hernandez <aldyh@redhat.com>
3415 * config/rs6000/linuxspe.h: New file.
3417 * config.gcc: Add powerpc-*-linux-gnuspe* target.
3419 2003-05-06 Richard Henderson <rth@redhat.com>
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.
3425 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
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
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