1 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
3 * gcse.c (fis_get_condition): Make it a global function.
4 * reload1.c (reload_cse_move2add): Detect implicit sets.
5 * rtl.h: Add a prototype for fis_get_condition.
7 2003-06-11 Richard Henderson <rth@redhat.com>
9 * stmt.c (expand_asm_operands): Don't warn for memories with
12 2003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
14 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
17 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
19 * hooks.c (hook_int_size_t_constcharptr_int_0): New.
20 * hooks.h (hook_int_size_t_constcharptr_int_0): New.
21 * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
22 (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
23 * langhooks.c (lhd_decode_option): Remove.
24 * langhooks.h (struct lang_hooks): Remove decode_option.
25 * opts.c (handle_option): No longer use decode_option.
27 2003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
29 * cfgloopanal.c (variable_initial_value): Update the set of altered
32 2003-06-11 Roger Sayle <roger@eyesopen.com>
33 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
35 * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
36 * config/i386/netbsd-elf.h: Likewise.
37 * config/m32r/m32r.h: Likewise.
38 * config/mn10300/mn10300.h: Likewise.
39 * config/stormy16/stormy16.h: Likewise.
40 * config/v850/v850.h: Likewise.
41 * config/vax/netbsd-elf.h: Likewise.
42 * config/xtensa/elf.h: Likewise.
43 * config/xtensa/linux.h: Likewise.
45 2003-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
47 * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
50 * config/mips/dbxmdebug.h: New file.
51 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
54 2003-06-11 Ulrich Weigand <uweigand@de.ibm.com>
56 * expr.c (can_move_by_pieces): align argument may be unused.
58 2003-06-11 J"orn Rennecke <joern.rennecke@superh.com>
60 * expr.c (convert_move): Handle moves between two CONCATs.
62 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
64 * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
67 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
69 * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
70 * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
71 (TARGET_RTL_DUMP): Likewise.
72 (TARGET_SWITHCES): Remove -mrtl-dump.
74 2003-06-10 Richard Henderson <rth@redhat.com>
76 * optabs.c (gen_cond_trap): Fix prepare_operand typo.
78 2003-06-10 Richard Henderson <rth@redhat.com>
80 * config/ia64/ia64.md (call_gp): Fix memory mode.
82 2003-06-10 James E Wilson <wilson@tuliptree.org>
85 * reload1.c (choose_reload_regs): For equiv reg, add loop over all
86 hard regs for reload_reg_used_at_all and reg_class_contents checks.
88 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
90 * config/h8300/h8300.c (print_operand): Remove support for
91 operand character 'b'.
92 Add the AND case to operand character 'c'.
93 * config/h8300/h8300.md (two anonymous patterns): Replace
94 operand character 'b' with 'c'.
96 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
98 * config/h8300/h8300.c (print_operand): Remove support for
99 operand character 'u'.
101 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
103 * configure.in: Fix typo.
104 * configure: Regenerate.
106 2003-06-10 Loren James Rittle <ljrittle@acm.org>
108 * config/alpha/alpha.c (unicosmk_file_end): Add conditional
111 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
113 * sh-protos.h (function_symbol): Declare.
114 * sh.c (expand_block_move, expand_ashiftrt): Use it.
115 (sh_expand_prologue, sh_expand_epilogue): Likewise.
116 (sh_initialize_trampoline): Likewise.
117 (function_symbol): New function.
118 * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
119 (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
120 (call_value_pop, shcompact_return_tramp): Likewise.
122 * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
124 * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
127 2003-06-10 DJ Delorie <dj@redhat.com>
129 * doc/md.texi (Machine Constraints): Document stormy's Z
132 2003-06-10 Geoffrey Keating <geoffk@apple.com>
134 * except.c (call_site_base): Mark with GTY.
136 2003-06-10 Richard Earnshaw <rearnsha@arm.com>
138 * arm-proto.h: Convert to ISO C90 prototypes.
141 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
143 * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
145 2003-06-10 Steve Ellcey <sje@cup.hp.com>
147 * calls.c (expand_call): Convert structure_value_addr to Pmode if
150 2003-06-10 Andrew Haley <aph@redhat.com>
152 * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
153 (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
154 (lhd_decl_ok_for_sibcall): New.
155 * langhooks.c (lhd_decl_ok_for_sibcall): New.
156 * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
157 * calls.c (expand_call): Check lang_hook before generating a
160 2003-06-10 DJ Delorie <dj@redhat.com>
162 * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
163 which matches (const_int 0) for addhi3.
164 * config/stormy16/stormy16.md: Document known constraints.
165 (addhi3): Handle adding zero.
167 2003-06-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
169 * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
170 * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
171 * config/m32r/m32r-protos.h: Prototype it.
173 2003-06-10 Janis Johnson <janis187@us.ibm.com>
175 * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
176 common to rs6000 sysv targets.
177 * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
178 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
180 2003-06-10 Nick Clifton <nickc@redhat.com>
182 * config.gcc: Add arm-wince-pe target.
183 * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
184 Add comment about default apcs26 support.
185 * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
187 (MULTILIB_DIRNAMES): Add 'apcs32'.
188 * config/arm/t-wince-pe: New makefile fragment.
189 * config/arm/wince-pe.h: New file. Overrides a few definitions
192 2003-06-10 Roger Sayle <roger@eyesopen.com>
194 * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
195 * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
196 when x is easily negated and f is sin, tan or atan.
197 (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
198 sin(x) with flag_unsafe_math_optimizations.
199 (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
200 sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
202 2003-06-10 Roger Sayle <roger@eyesopen.com>
204 * fold-const.c (fold <EQ_EXPR>): Don't fold x == x only if x
205 is a floating point type *and* we currently honor NaNs.
206 (fold <NE_EXPR>): Likewise.
208 2003-06-10 Mark Mitchell <mark@codesourcery.com>
211 * tree-inline.c (inlinable_function_p): Call the language-specific
214 2003-06-09 David Taylor <dtaylor@emc.com>
216 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
219 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
221 * configure.in: Remove references to host_truncate_target.
222 * configure: Regenerate.
223 * config.gcc: Remove references to truncate_target,
224 host_truncate_target.
226 * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
227 Replace "build_canonical" with build, "host_canonical" with host.
228 * configure.in: Use GCC_TOPLEV_SUBDIRS.
229 * aclocal.m4: Include ../config/acx.m4.
230 * configure: Regenerate.
232 2003-06-09 David Taylor <dtaylor@emc.com>
234 * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
235 bytes of padding in the __va_list_tag structure a name (reserved).
237 2003-06-09 Jason Merrill <jason@redhat.com>
239 * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
241 2003-06-09 Osku Salerma <osku@iki.fi>
243 * c-format.c (check_format_string, get_constant): New.
244 (handle_format_attribute, handle_format_arg_attribute,
245 decode_format_attr): Change to use above functions.
247 2003-06-09 Richard Henderson <rth@redhat.com>
249 * stmt.c (expand_asm_operands): Re-word warning.
251 2003-06-08 Andrew Pinski <pinskia@physics.uc.edu>
254 * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
257 2003-06-09 James E Wilson <wilson@tuliptree.org>
259 * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
260 config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
261 Add libgcc exception.
263 2003-06-09 David Edelsohn <edelsohn@gnu.org>
264 Ayal Zaks <gcchaifa@us.ibm.com>
266 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
267 (insvsi*): Add insert_word attribute.
268 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
269 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
270 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
272 2003-06-09 Kazu Hirata <kazu@cs.umass.edu>
274 * fold-const.c (fold): Fix a comment typo.
276 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
278 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
281 2003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
283 * sh.c (gen_block_redirect): Use locators.
285 2003-06-09 Richard Earnshaw <rearnsha@arm.com>
287 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
290 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
292 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
294 * configure: Regenerated.
296 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
297 Alexandre Oliva <aoliva@redhat.com>
299 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
300 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
301 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
303 (MUST_SAVE_REGISTERS): Delete.
304 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
305 (machine_function): Add global_pointer field.
306 (mips_classify_constant): Check for (const $gp) using pointer equality
307 with pic_offset_table_rtx.
308 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
309 (mips_restore_gp): Use current_function_outgoing_args_size.
310 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
311 GP_REG_FIRST + 28. Handle relocation strings that have
313 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
314 (mips_global_pointer): New function.
315 (mips_save_reg_p): New function, mostly split out from...
316 (compute_frame_size): ...here. Remove handling of extra_size.
317 Reclaim args_size if no variables depend on it. Don't treat gp
318 as a special case: handle it in the main GPR loop.
319 (mips_initial_elimination_offset): Fix comment.
320 (save_restore_insns): Save every register in the GPR mask,
321 removing distinction between mask and real_mask.
322 (mips_output_function_prologue): Update .frame psuedo-op after
323 the removal of extra_size. Move the SVR4 PIC stack allocation
324 and cprestore instructions to mips_expand_prologue.
325 (mips_gp_insn): New function.
326 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
327 the chosen global pointer. Handle SVR4 PIC stack allocation
328 in the same way as other ABIs. Adjust varargs code accordingly.
329 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
330 to emit the loadgp sequence. Follow it with a loadgp_blockage
331 if not using explicit relocs.
332 (mips_output_function_epilogue): Reinstate the default gp register.
333 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
334 (mips16_optimize_gp): Likewise.
335 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
336 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
337 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
339 (loadgp_blockage, cprestore): New instructions.
340 (builtin_setjmp_setup): Implement using emit_move_insn. Use
341 pic_offset_table_rtx.
342 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
343 (builtin_longjmp): Use gen_raw_REG to force use of $28.
345 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
347 * config/mips/mips-protos.h (mips_output_division): Declare.
348 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
349 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
350 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
351 (TARGET_CHECK_ZERO_DIV): New macro.
352 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
353 * config/mips/mips.c (mips_output_division): New function.
354 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
355 account when calculating the default length of a division.
356 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
357 Enable regardless of optimization level. Use mips_output_division.
358 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
359 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
360 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
361 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
362 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
363 umoddi3_internal): Remove.
365 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
367 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
368 (mips_sw_reg_names): Likewise.
369 (mips_regno_to_class): Change hilo entry to NO_REGS.
370 (hilo_operand): Use MD_REG_P.
371 (extend_operator): New predicate.
372 (override_options): Remove 'a' constraint.
373 (mips_secondary_reload_class): Remove hilo handling. Also remove
374 handling of (plus sp reg) reloads for mips16.
375 (mips_register_move_cost): Remove hilo handling.
376 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
377 (MD_REG_LAST): Remove hilo from range.
378 (HILO_REGNUM): Delete.
379 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
380 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
381 (PREDICATE_CODES): Add entry for extend_operator.
382 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
383 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
384 Remove constraints from multiplication define_expands. Remove
385 clobbers from "decorative" define_expand patterns.
386 (UNSPEC_HILO_DELAY): Delete.
387 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
388 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
389 Adjust C code to just emit insns for !TARGET_64BIT.
390 (mulsidi3_internal): Rename to mulsidi3_32bit.
391 (mulsidi3_64bit): Use a "d" constraint for the destination.
392 Use extend_operator so that the pattern can handle umulsidi3 as well.
393 Split the instruction after reload.
394 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
395 (umulsidi3_internal): Rename to umulsidi3_32bit.
396 (umulsidi3_64bit): Remove.
397 (*smsac_di, *umsac_di): Line-wrap fixes.
398 (udivsi3_internal): Don't allow operand 2 to be constant.
399 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
400 (movdi_internal2, movsi_internal): Remove hilo alternatives.
401 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
403 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
406 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
407 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
408 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
409 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
410 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
411 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
412 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
413 asm_out_text_file with asm_out_file.
414 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
415 * config/mips/elf.h (TEXT_SECTION): Undefine.
416 * config/mips/elf64.h (TEXT_SECION): Undefine.
417 * config/mips/openbsd.h (TEXT_SECION): Undefine.
418 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
419 (override_options): Disable small-data optimizations unless using
420 gas or explicit relocations.
421 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
422 iris6_asm_named_section, iris6_asm_file_start): Remove code for
423 handling TARGET_FILE_SWITCHING.
424 (copy_file_data): Move into TARGET_IRIX6 block.
426 2003-06-08 Richard Henderson <rth@redhat.com>
428 * expr.h (EXPAND_MEMORY): New.
429 * expr.c (expand_expr): Check it.
430 * stmt.c (expand_asm_operands): Provide it when the constraint
431 requires a memory. Warn for memory input constraints without
434 2003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
436 * varasm.c: Don't include c-tree.h.
438 2003-06-08 Andreas Jaeger <aj@suse.de>
440 * predict.h: Convert to ISO C90 prototypes.
441 * predict.c: Likewise.
442 * tree-dump.h: Likewise.
443 * tree-dump.c: Likewise.
444 * diagnostic.h: Likewise.
445 * diagnostic.c: Likewise.
446 * combine.c: Likewise.
448 * rtl.h: Convert prototypes of combine.c to ISO C90.
450 Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
452 * cfglayout.c (insn_scope): New static function
453 (block_locators_*, line_locators*, file_locators*): New static varrays.
454 (scope_to_insns_initialize): Use them.
455 (insn_line, insn_file): New functions.
456 (scope_to_insns_finalize): Use insn_scope.
457 (prologue_locator, epilogue_locator): New global variables.
458 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
459 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
460 (emit_insn_after_scope, emit_insn_before_scope
461 emit_jump_insn_after_scope, emit_jump_insn_before_scope
462 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
463 (emit_insn_after_setloc, emit_insn_before_setloc
464 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
465 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
467 * final.c (notice_source_line): Use locators.
468 (final_start_function): Set initial source file and line.
469 (final_scan_insn): Use locators.
470 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
471 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
472 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
473 noce_process_if_block, find_cond_trap): Likewise.
474 * integrate.c (copy_insn_list): Likewise.
475 * jump.c (duplicate_loop_exit_test): LIkewise.
476 * print-rtl.c (print_rtx): Print locators.
477 * recog.c (peephole2_optimize): Likewise.
478 * rtl.h (INSN_SCOPE): Remove.
479 (emit_insn_after_scope, emit_insn_before_scope
480 emit_jump_insn_after_scope, emit_jump_insn_before_scope
481 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
482 (emit_insn_after_setloc, emit_insn_before_setloc
483 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
484 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
485 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
486 * unroll.c (copy_loop_body): Use locators.
487 * function.c (set_insn_locators): New function.
488 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
490 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
492 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
493 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
494 _fixsfdi _fixunssfdi.
495 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
497 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
498 * config/h8300/clzhi2.c: New.
499 * config/h8300/ctzhi2.c: Likewise.
500 * config/h8300/parityhi2.c: Likewise.
501 * config/h8300/popcounthi2.c: Likewise.
503 Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
505 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
506 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
508 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
509 (dump_bb): New based on old dump_bb in cfgrtl.c
510 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
511 * cfghooks.h (cfgh_verify_flow_info): Return status.
512 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
513 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
514 (dump_bb): Remove generic parts.
515 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
516 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
518 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
520 * Makefile.in: Rename options.c and options.h to c-options.c and
522 (OBJS): Remove options.o.
523 * c-opts.c: Don'tInclude c-options.h instead of options.h.
524 * opts.c: Don't include options.h.
525 (find_opt): Can't use enum opt_code or N_OPTS.
526 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
529 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
530 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
533 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
534 if HAVE_MINCORE is defined.
535 (MAP_FAILED): Define if not defined.
536 (gt_pch_save): Test against MAP_FAILED.
537 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
538 the mapping address to the preferred base after checking it
539 is possible to do so. Test against MAP_FAILED.
540 * configure.in: Test for the presence of mincore in libc.
541 * config.in: Regenerate.
542 * configure: Regenerate.
544 2003-06-07 Richard Henderson <rth@redhat.com>
546 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
547 conditional compilation guard.
549 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
551 * optabs.c (expand_abs): Set result_unsignedp to 1 if
554 2003-06-07 Richard Henderson <rth@redhat.com>
556 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
558 2003-06-07 Richard Henderson <rth@redhat.com>
560 * basic-block.h (EDGE_SIBCALL): New.
561 (EDGE_ALL_FLAGS): Update.
562 * cfg.c (dump_edge_info): Add sibcall name.
563 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
564 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
566 2003-06-07 Andreas Jaeger <aj@suse.de>
568 * mklibgcc.in (lib2funcs): Remove _exit.
569 * libgcc2.c: Remove L_exit.
570 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
572 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
574 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
576 * ggc.h: Convert to ISO C90 prototypes.
577 * ggc-none.c: Likewise.
578 * ggc-common.c: Likewise.
579 * ggc-page.c: Likewise.
580 * ggc-simple.c: Likewise.
582 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
584 * system.h: Poison INIT_SECTION_PREAMBLE.
586 2003-06-07 Zack Weinberg <zack@codesourcery.com>
588 * config.gcc (with_cpu handling): Translate sparc64 in
589 $machine to --with-cpu=v9.
590 * config/alpha/alpha.c
591 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
592 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
594 * target.h: New hook asm_out.file_end.
595 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
596 * toplev.c (compile_file: Use targetm.asm_out.file_end.
597 * system.h: Poison ASM_FILE_END.
598 * varasm.c (file_end_indicate_exec_stack): New.
599 * output.h: Prototype it.
600 * doc/tm.texi: Document TARGET_ASM_FILE_END and
601 file_end_indicate_exec_stack. Delete references to attasm.h.
603 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
604 (ASM_FILE_END): Delete; move code...
605 * config/darwin.c (darwin_file_end): Here; new function.
606 * config/darwin-protos.h: Prototype it.
607 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
608 rename unicosmk_file_end.
609 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
610 * config/arm/arm.c (aof_file_end): ... here; new static function.
611 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
612 Make aof_dump_imports and aof_dump_pic_table static.
613 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
614 Set TARGET_ASM_FILE_END to avr_file_end.
615 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
616 Set TARGET_ASM_FILE_END to c4x_file_end.
617 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
618 make static. Take no arguments. Set TARGET_ASM_FILE_END to
620 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
621 * config/i370/i370.c (i370_file_end): ... here; new static function.
622 Set TARGET_ASM_FILE_END to i370_file_end.
623 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
624 Take no arguments. Call file_end_indicate_exec_stack if
625 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
626 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
627 Define NEED_INDICATE_EXEC_STACK to 0.
628 * config/i386/linux.h, config/i386/linux64.h: Redefine
629 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
630 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
631 i386_pe_file_end. Take no arguments. Use ix86_file_end.
632 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
633 ia64_hpux_file_end, make static. Take no arguments.
634 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
635 commands_in_prologues, commands_in_epilogues): Delete.
636 (function_epilogue): Update to match.
637 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
638 make static. Take no arguments.
639 (iris6_asm_file_end): Rename iris6_file_end, make static, use
640 mips_file_end, take no arguments.
641 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
643 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
644 make static, take no arguments. Set TARGET_ASM_FILE_END to
646 * config/pa/pa.c (output_deferred_plabels): Make static, take
647 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
648 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
649 (ASM_FILE_END): Delete; move code...
650 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
653 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
654 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
655 Don't set ASM_FILE_END.
656 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
657 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
658 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
659 file_end_indicate_exec_stack; don't set ASM_FILE_END.
660 * config/alpha/unicosmk.h, config/i386/cygming.h
661 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
662 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
663 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
664 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
665 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
666 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
668 Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
670 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
673 Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
675 * Makefile.in (stageprofile_build): Kill redundant target.
676 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
678 2003-06-07 Andreas Jaeger <aj@suse.de>
680 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
682 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
683 * config/dsp16xx/dsp16xx.h: Likewise.
684 * config/i386/i386.h: Likewise.
685 * config/ip2k/ip2k.h: Likewise.
687 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
689 * Makefile.in (OJBS, c-opts.o): Update.
690 (c-options.c, c-options.h): Rename options.h and options.c.
691 (options.h): Rename options_.h.
693 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
694 (c_common_init_options): Update prototype.
695 * c-lang.c (c_init_options): Update prototype.
696 (LANG_HOOKS_HANDLE_OPTION): Override.
697 (LANG_HOOKS_DECODE_OPTION): Drop.
698 * c-opts.c: Include opts.h and options.h instead of c-options.h
700 (lang_flags): Move to file scope.
701 (find_opt, c_common_decode_option): Remove.
702 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
703 CL_REJECT_NEGATIVE): Move to opts.h.
704 (missing_arg): Update prototype.
705 (c_common_init_options): Update for new prototype.
706 (c_common_handle_options): Filenames are passed as N_OPTS.
707 * hooks.c (hook_int_void_0): New.
708 * hooks.h (hook_int_void_0): New.
709 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
710 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
711 (LANG_HOOKS_INITIALIZER): Update.
712 * langhooks.h (init_options): Update.
713 (handle_option): New.
714 * opts.c, opts.h: New files.
715 * opts.sh: Update c file to include opts.h and options.h.
716 * toplev.c: Include opts.h; change options.h to options_.h.
717 (parse_options_and_default_flags): Get lang_mask, use
718 handle_option for language-specific handling.
719 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
720 (LANG_HOOKS_HANDLE_OPTION): Override.
721 (objc_init_options): Update.
723 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
724 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
727 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
730 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
732 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
734 * configure: Regenerate.
736 2003-06-07 Alan Modra <amodra@bigpond.net.au>
738 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
740 2003-06-06 James E Wilson <wilson@tuliptree.org>
743 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
746 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
748 * configure.in: Make $(target_subdir) correspond with top level usage.
749 * Makefile.in: Likewise.
750 * configure: Regenerate.
752 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
754 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
755 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
756 unsigned HOST_WIDE_INT.
757 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
759 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
762 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
764 * doc/install.texi (Prerequisites): New section documenting
765 tools and packages necessary prior to building and/or
767 * doc/install.texi2html: Also generate prerequisites.html.
769 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
772 * ifcvt.c (noce_process_if_block): Fail if the destination has
775 2003-06-06 Jason Merrill <jason@redhat.com>
777 * stmt.c (resolve_asm_operand_names): Rename from
778 resolve_operand_names. No longer static. Avoid needless copying.
779 Don't build array of constraints.
780 (expand_asm_operands): Build it here.
781 * tree.h: Declare resolve_asm_operand_names.
783 * stmt.c (expand_decl): Put artificial vars into registers even
784 when not optimizing, and don't mark the regs as user vars.
786 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
788 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
789 of the generated register.
791 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
793 * config.gcc: Add a missing sparc64 case.
795 2003-06-06 Jakub Jelinek <jakub@redhat.com>
797 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
798 the .hidden assembly stubs.
800 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
802 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
805 * config/i386/mmintrin.h: Update version and add alternate
807 * config/i386/xmmintrin.h: Likewise.
809 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
811 * config/i386/emmintrin.h: Here. New file.
813 2003-06-06 Roger Sayle <roger@eyesopen.com>
815 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
816 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
817 when the ABS_EXPR (fabs or abs) is not required.
818 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
819 always nonnegative from fold to here. Additionally, cabs and fabs
820 are always non-negative, and pow and atan are non-negative if
821 their first argument is non-negative.
823 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
824 Evaluate cabs of a constant at compile-time. Convert cabs of a
825 non-complex argument into fabs. Convert cabs(z) into
826 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
827 -funsafe-math-optimizations or -ffast-math.
828 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
829 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
831 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
833 * sourcebuild.texi (Front End Directory): Document new hooks.
835 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
837 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
838 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
840 (pro_epilogue_adjust_stack_rex64_2): New pattern
842 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
844 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
846 * cfghooks.h, cfghooks.c: New files.
847 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
848 (OBJS): Add cfghooks.o.
849 (cfghooks.o): New rule.
850 * basic-block.h (split_edge): Rename to rtl_split_edge.
851 (verify_flow_info): Rename to rtl_verify_flow_info.
852 (cfghooks.h): Included here.
853 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
854 (verify_flow_info): Renamed rtl_verify_flow_info.
855 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
857 * basic-block.h (split_block, split_edge, flow_delete_block,
858 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
859 (flow_delete_block_noexpunge): Return void.
860 * cfg.c (verify_flow_info): New function.
861 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
862 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
864 * cfglayout.c (function_footer): Rename to...
865 (cfg_layout_function_footer): ... this variable
866 (unlink_insn_chain): Make global.
867 (fixup_reorder_chain, record_effective_endpoints): Update.
868 (cleanup_unconditional_jumps): Use delete_block.
869 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
870 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
871 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
872 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
873 (cfg_layout_function_footer): Declare.
874 * cfgloopmanip (split_loop_bb): Do not update RBI.
875 (remove_bbs): Use delete_block.
876 (loop_reidrect_edge, loop_delete_branch_edge): Use
877 redirect_edge_and_branch.
878 (create_preheader): Use split_block and redirect_edge_and_branch_force.
879 (split_edge_with): Likewise.
880 * cfgrtl.c: Include cfglayout.h
881 (split_edge): Rename to ...
882 (rtl_split_edge) ... this one; make local.
883 (redirect_edge_and_branch): Rename to ...
884 (rtl_redirect_edge_and_branch) ... this one; make local.
885 (redirect_edge_and_branch_force): Rename to ...
886 (rtl_redirect_edge_and_branch_force) ... this one; make local.
887 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
888 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
889 cfglayout.c; update to directly call RTL counterparts.
890 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
891 * ifcvt.c (find_cond_trap): Use delete_block.
892 (find_if_case_1): Use delete_block.
893 (find_if_case_2): Use delete_block.
894 * rtl.h (unlink_insn_chain): Declare.
895 * toplev.c (rtl_reigster_cfg_hooks): New.
897 2003-06-05 Richard Henderson <rth@redhat.com>
899 * recog.c (peephole2_optimize): Revert last change.
901 2003-06-05 Richard Henderson <rth@redhat.com>
903 * recog.c (peephole2_optimize): Don't split block unless
906 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
908 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
909 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
911 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
914 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
915 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
916 documentation to accurately reflect what these options do.
918 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
920 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
921 (ENDFILE_SPEC): Redefine to handle -pie.
923 2003-06-05 Phil Edwards <phil@jaj.com>
925 * Makefile.in (qmtest-g++): Use target_alias, not target.
927 2003-06-05 Per Bothner <pbothner@apple.com>
929 * toplev.c (push_srcloc): Simplify behavior to save current location
930 and set current location to parameters.
931 (pop_srcloc): Simplify semantics.
932 (lang_dependent_init): Remove now-useless initial push_srcloc.
934 2003-05-06 Richard Henderson <rth@redhat.com>
936 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
937 language-specific tree codes.
939 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
942 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
943 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
945 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
947 * install.tex: Document profiledbootstrap.
949 * configure.in: Add support for lang.stageprofile and
951 * Makefile.in (clean, distclean): Kill new stages
952 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
953 (STAGE2_FLAGS_TO_PASS): ... this one.
954 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
955 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
956 (stageprofile_build, stageprofile_copy, stagefeedback_build,
957 stagefeedback_copy): New.
958 (restageprofile, restagefeedback, stageprofile-start,
959 stageprofile, stagefeedback-start): Likewise.
961 2003-06-05 David Miller <davem@redhat.com>
962 Richard Henderson <rth@redhat.com>
964 * optabs.c (HAVE_conditional_trap): Provide default.
965 (gen_conditional_trap): Likewise.
966 (init_optabs): Merge init_traps.
967 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
969 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
971 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
972 is REG for nonzero_bits (REG) == 8.
974 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
976 * i386.md (align): Fix warning; clarify what to do when no p2align
979 2003-06-05 Nick Clifton <nickc@redhat.com>
981 * config.gcc (m32r-elf): Revert previous delta.
982 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
983 multilibs. Remove m32rx specific version.
984 (crtfini.o): Likewise.
985 (EXTRA_MULTILIB_PARTS): Define.
987 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
989 * doc/md.texi (Machine Constraints): Correct the meaning of
990 constraints related to floating-point registers on SPARC.
992 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
993 Paolo Bonzini <bonzini@gnu.org>
996 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
997 assembler and linker output to /dev/null.
998 Use a 'sed' construct instead of 'grep -A1'.
999 * configure: Regenerate.
1001 2003-06-04 Richard Henderson <rth@redhat.com>
1003 * config/i386/i386.c (struct ix86_address): Add seg.
1004 (no_seg_address_operand): New.
1005 (ix86_decompose_address): Restructure PLUS loop. Accept one
1006 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
1007 to test for a regnum, not stack_pointer_rtx.
1008 (ix86_address_cost): Reduce cost if non-default segment.
1009 (legitimate_address_p): Remove UNSPEC_TP check.
1010 (get_thread_pointer): Add to_reg argument. Don't represent
1011 the thread pointer as a memory load.
1012 (legitimize_tls_address): Split out of ...
1013 (legitimize_address): ... here.
1014 (print_operand_address): Handle parts.seg.
1015 (ix86_expand_move): Use legitimize_tls_address.
1016 (ix86_rtx_costs): Handle UNSPEC_TP.
1017 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
1018 (TARGET_TLS_DIRECT_SEG_REFS): New.
1019 (TARGET_SWITCHES): Add tls-direct-seg-refs.
1020 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
1021 (PREDICATE_CODES): Add no_seg_address_operand.
1022 * config/i386/i386.md (lea_1): Use it.
1023 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
1024 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
1025 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
1026 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
1027 * doc/invoke.texi: Add -mtls-direct-seg-refs.
1029 2003-06-04 Mark Mitchell <mark@codesourcery.com>
1031 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
1032 (QMTEST_GPP_TESTS): Use "g++" by default.
1033 (stamp-qmtest): Tweak database creation.
1034 (QMTEST_DIR/context): Update context file format.
1035 (qmtest-g++): Tweak command-line.
1037 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1039 * Makefile.in (varasm.o): Don't set -Wno-error.
1040 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
1042 2003-06-04 Zack Weinberg <zack@codesourcery.com>
1045 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
1046 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
1047 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
1048 and AC_CHECK_FUNCS lists, respectively. Use
1049 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
1051 * configure, config.in: Regenerate.
1053 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1055 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
1056 * arm.c (arm_output_function_prologue): Fix format specifiers.
1057 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1058 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
1059 HOST_WIDE_INT_PRINT_DEC.
1060 * vax.c (vax_output_function_prologue): Fix format specifiers.
1062 2003-06-04 Richard Henderson <rth@redhat.com>
1064 * cse.c (find_best_addr): Consider binary operators even if second
1065 argument is not CONST_INT.
1067 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1069 * doc/invoke.texi (max-cse-path-length): Document.
1071 2003-06-04 Richard Henderson <rth@redhat.com>
1073 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
1075 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
1077 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
1078 Remove semi-colon at the end of the expression.
1080 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1082 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
1083 * i370.h (mvs_function_name_length): Likewise.
1084 * i960.h (CONSTANT_ALIGNMENT): Likewise.
1085 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1086 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1087 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1088 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
1091 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1093 * config.gcc: Reorganize --with-cpu logic. Set
1094 configure_default_options according to the default CPU, --with-cpu,
1095 --with-arch, --with-tune, --with-schedule, --with-abi, and
1096 --with-float. Check for legal values of various options.
1097 * configure.in: Define configure_default_options in configargs.h.
1098 * configure: Regenerated.
1099 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
1100 (TARGET_DEFAULT_FLOAT_P): New macros.
1101 * gcc.c (do_option_spec): New function.
1102 (struct default_spec, option_default_specs): New.
1103 (main): Call do_option_spec.
1104 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
1105 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
1106 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
1108 * doc/install.texi: Update --with-cpu documentation. Mention
1109 --with-arch, --with-schedule, --with-tune, --with-abi, and
1111 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
1113 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1115 * config.gcc: Only process --with-cpu logic in the third pass.
1117 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1119 * config.gcc: Reorganize --with-cpu section. Remove an
1120 obsolete comment about the default CPU for x86-64. Fix
1121 a typo for the ep9312. Update the list of supported PowerPC
1122 CPUs. Support a limited set of new --with-cpu options
1125 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
1127 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
1128 complex numbers <= 32 bits into two registers.
1130 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1132 * alpha.c (print_operand_address): Fix format specifier warnings.
1133 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1134 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1135 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
1136 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
1137 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
1138 ASM_OUTPUT_SKIP): Likewise.
1139 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1140 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1141 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
1143 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1144 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
1145 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
1146 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1147 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
1148 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1149 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1150 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1151 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1152 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
1154 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
1156 * c-decl.c (c_init_decl_processing): Clear input_file_name
1157 while building common nodes.
1158 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
1159 Don't add working directory for strings like <built-in> .
1161 2003-06-04 David Edelsohn <edelsohn@gnu.org>
1163 * doc/install.texi (*-ibm-aix*): Native as and ld required
1164 to bootstrap on AIX 5L.
1166 2003-06-04 Richard Henderson <rth@redhat.com>
1168 * c-common.c (handle_cleanup_attribute): New.
1169 (c_common_attributes): Add it.
1170 * c-decl.c (finish_decl): Honor the cleanup attribute.
1171 * doc/extend.texi (Variable Attributes): Document it.
1173 * unwind-c.c: New file.
1174 * Makefile.in (LIB2ADDEH): Add it.
1175 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
1176 config/ia64/t-ia64: Likewise.
1178 2003-06-04 Jakub Jelinek <jakub@redhat.com>
1180 * function.c (trampolines_created): New variable.
1181 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
1182 * function.h (trampolines_created): Add.
1183 * config/s390/linux.h (ASM_FILE_END): Define.
1184 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
1185 * config/m68k/linux.h (ASM_FILE_END): Define.
1186 * config/rs6000/linux.h (ASM_FILE_END): Define.
1187 * config/rs6000/linux64.h (ASM_FILE_END): Define.
1188 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
1189 * config/sparc/linux.h (ASM_FILE_END): Define.
1190 * config/sparc/linux64.h (ASM_FILE_END): Define.
1191 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
1192 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
1193 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
1195 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
1197 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
1198 (ix86_reorg): Use it.
1199 * i386.md (align): New insn pattern.
1201 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1203 * toplev.c (rest_of_type_compilation): Fix typo.
1205 2003-06-04 Jakub Jelinek <jakub@redhat.com>
1206 Alan Modra <amodra@bigpond.net.au>
1208 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
1209 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
1210 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
1211 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
1212 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
1213 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
1214 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
1215 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
1217 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
1218 Pass it to $gcc_cv_as.
1219 * configure: Rebuilt.
1221 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
1222 (print_operand): Allow TARGET_AIX to be non-constant.
1223 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
1224 Define unconditionally.
1225 (rs6000_elf_declare_function_name): New function.
1226 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
1228 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
1230 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
1231 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
1233 (TARGET_AIX): Define to 1 if TARGET_64BIT.
1234 (PROCESSOR_DEFAULT): Remove.
1235 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
1236 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
1237 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
1238 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
1240 (MULTILIB_DEFAULTS): Define.
1241 (SUBSUBTARGET_EXTRA_SPECS): Define.
1242 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
1243 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
1244 (TARGET_NO_TOC): Remove.
1245 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
1246 TARGET_PROTOTYPE): Define to 0.
1247 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
1248 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
1249 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
1251 (USER_LABEL_PREFIX): Remove.
1252 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
1253 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
1255 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
1256 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
1257 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
1258 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
1259 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
1260 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
1262 (RS6000_CALL_GLUE): Likewise.
1263 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
1264 RESTORE_FP_SUFFIX): Likewise.
1265 (ASM_DECLARE_FUNCTION_NAME): Remove.
1266 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
1267 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
1268 name if TARGET_64BIT.
1269 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
1271 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
1272 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
1273 (DRAFT_V4_STRUCT_RET): Define.
1274 (SIGNAL_FRAMESIZE): New enum value.
1275 (MD_FALLBACK_FRAME_STATE_FOR): Define.
1276 * config/rs6000/default64.h: New file.
1277 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
1279 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
1280 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
1282 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
1283 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
1285 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
1286 (TARGET_OS_CPP_BUILTINS): Use it.
1287 (CPP_SYSV_SPEC): Remove.
1288 (CPP_SPEC): Remove cpp_sysv.
1289 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
1290 Add SUBSUBTARGET_EXTRA_SPECS.
1291 (SUBSUBTARGET_EXTRA_SPECS): Define.
1292 * config/rs6000/biarch64.h: New file.
1293 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
1295 * config/rs6000/x-linux64: New file.
1296 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
1298 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
1299 * config/rs6000/eabi-cn.asm: Likewise.
1300 * config/rs6000/tramp.asm: Likewise.
1301 * config/rs6000/sol-ci.asm: Likewise.
1302 * config/rs6000/sol-cn.asm: Likewise.
1303 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
1304 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
1305 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
1306 _CALL_AIXDESC section.
1307 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
1308 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
1311 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1313 * config.gcc: Revert accidentally committed ARM changes.
1315 2003-06-04 Roger Sayle <roger@eyesopen.com>
1317 * builtins.c (dconstpi, dconste): New mathematical constants.
1318 (init_builtin_dconsts): New function to initialize dconstpi
1320 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
1321 compile time with -ffast-math when x is an integer constant.
1322 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
1323 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
1325 2003-06-04 Roger Sayle <roger@eyesopen.com>
1327 * calls.c (expand_call): Avoid calling pure or const functions
1328 when the result is ignored (or void) and none of the arguments
1329 are volatile. Move warning diagnostic earlier in function.
1331 2003-06-04 Andreas Jaeger <aj@suse.de>
1333 * system.h: Do not poison TDESC_SECTION_ASM_OP,
1334 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
1336 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1338 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
1339 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
1340 handle %ll, optimize regular character case.
1342 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1344 * Makefile.in (cse.o): Add params.h dependency.
1345 * cse.c: Include params.h.
1346 (PATHLENGTH): Removed.
1347 (struct cse_basic_block_data): Make path array dynamic.
1348 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
1350 (cse_main, cse_basic_block): Allocate path array.
1351 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
1353 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
1355 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
1356 * i386.md (UNSPEC_REP): New constant.
1357 (return_internal_long): New pattern.
1359 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1361 PR optimization/11018
1362 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
1363 consistently to decide whether the scratch register is really
1366 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1368 PR optimization/10876
1369 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
1370 new 'O' constraint for constant 4096.
1371 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
1372 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
1373 Do not transform into MINUS insn for constant 4096.
1374 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
1375 for constant 4096 as third operand.
1376 (addsi3 expander): Remove.
1377 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
1378 new alternative for constant 4096 as third operand.
1379 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
1380 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
1382 (subsi3 expander): Remove.
1383 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
1384 constant 4096 as third operand.
1385 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
1388 2003-06-03 Chris Demetriou <cgd@broadcom.com>
1390 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
1392 2003-06-04 Andreas Jaeger <aj@suse.de>
1394 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
1396 * config/i386/i386.c (ix86_expand_prologue): Do not use
1399 * system.h: Poision SUBTARGET_PROLOGUE.
1401 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
1403 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
1406 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
1408 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
1409 INSN_CACHE_LINE_WIDTH.
1411 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
1412 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
1413 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1415 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
1416 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1418 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
1419 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
1420 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
1421 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
1422 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
1423 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
1425 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
1426 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
1427 DBX_WORKING_DIRECTORY.
1429 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
1430 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
1432 * config/frv/frv-protos.h: Remove unused const_section
1434 * config/vax/vax-protos.h: Likewise.
1436 * output.h: Remove CONST_SECTION_ASM_OP usage.
1438 * system.h: Poison CONST_SECTION_ASM_OP.
1440 * crtstuff.c (__do_global_dtors_aux): Remove usage of
1442 (frame_dummy): Likewise.
1443 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
1444 * system.h: Poison CRT_GET_RFIB_TEXT.
1446 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
1448 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
1449 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
1450 (recognized_function): Likewise.
1451 (read_scan_file): Likewise.
1453 2003-06-03 Roger Sayle <roger@eyesopen.com>
1455 * optabs.c (expand_binop): Optimize complex multiplication for
1456 the case of squaring a complex argument.
1458 2003-06-03 Roger Sayle <roger@eyesopen.com>
1460 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
1461 non-volatile operands of binary operations.
1462 (prepare_cmp_insn): Likewise.
1464 2003-06-03 Roger Sayle <roger@eyesopen.com>
1466 * varasm.c (force_const_mem): Handle alignment of constants not
1467 representable as a type in the front-end language.
1469 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
1471 * flow.c (initialize_uninitialized_subregs): Use
1472 emit_move_insn instead of emitting a hardcoded move.
1474 2003-06-03 Richard Henderson <rth@redhat.com>
1476 * optabs.c (expand_abs_nojump): Split out from ...
1477 (expand_abs): ... here.
1478 * optabs.h (expand_abs_nojump): Declare.
1479 * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
1480 * Makefile.in (ifcvt.o): Depend on optabs.h.
1482 2003-06-03 Alan Modra <amodra@bigpond.net.au>
1484 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
1486 2003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
1488 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
1489 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
1491 * configure.in: Allow default_use_cxa_atexit to determine the
1492 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
1494 * configure: Regenerate.
1496 2003-06-03 Douglas B Rupp <rupp@gnat.com>
1498 * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
1499 * doc/gcc.texi: Remove vms.texi section.
1500 * doc/vms.texi: Remove obsolete file.
1502 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
1504 * configure.in (inhibit_libc): Don't define when configuring
1505 with --with-newlib --with-headers.
1506 * configure: Regenerate.
1508 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
1510 2003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1512 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
1513 IRIX 6 without GNU ld.
1514 * configure: Regenerate.
1516 2003-06-03 Roger Sayle <roger@eyesopen.com>
1518 * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
1519 of a complex number rather than invoke mov_optab directly.
1521 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
1523 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
1524 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
1526 2003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
1528 * config/i386/x86-64.h: Remove two target-independent comments;
1529 replace "GNU CC" with "GCC".
1531 2003-06-03 Anthony Green <green@redhat.com>
1533 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
1535 2003-06-03 Roger Sayle <roger@eyesopen.com>
1537 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
1538 New builtins representing ISO C99's cabs, cabsf and cabsl.
1539 * builtins.c (expand_builtin_fabs): New function.
1540 (expand_builtin_cabs): New function.
1541 (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
1542 using expand_builtin_fabs and expand_builtin_cabs respectively.
1544 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
1546 2003-06-03 Aldy Hernandez <aldyh@redhat.com>
1548 * function.c (assign_parms): Split complex arguments.
1550 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
1552 * expr.h (SPLIT_COMPLEX_ARGS): Define.
1553 (split_complex_types): Protoize.
1554 (split_complex_values): Protoize.
1556 * calls.c (expand_call): Split complex arguments on architectures
1558 (split_complex_values): New.
1559 (split_complex_types): New.
1561 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
1562 (rs6000_function_value): Handle complex values on AIX.
1563 (rs6000_complex_function_value): New.
1565 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
1567 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
1568 (SPLIT_COMPLEX_ARGS): New.
1570 2003-06-03 Jakub Jelinek <jakub@redhat.com>
1572 * configure.in (HAVE_LD_PIE): Check for ld -pie.
1573 * config.in: Rebuilt.
1574 * configure: Rebuilt.
1575 * toplev.c (flag_pie, flag_shlib): New variables.
1576 (f_options): Add -fpie and -fPIE.
1577 (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
1578 Set flag_shlib if flag_pic and not -fpie/-fPIE.
1579 * flags.h (flag_pic, flag_shlib): Add.
1580 * varasm.c (default_binds_local_p): Use flag_shlib instead of
1582 * gcc.c (LINK_PIE_SPEC): Define.
1583 (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
1584 (option_map): Add --pie -> -pie mapping.
1585 * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
1586 and -fPIE the same way as -fPIC.
1587 * config/openbsd.h (ASM_SPEC): Likewise.
1588 * config/frv/frv.h (ASM_SPEC): Likewise.
1589 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
1590 * config/arm/semi.h (ASM_SPEC): Likewise.
1591 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
1592 * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
1593 * config/i386/beos-elf.h (CC1_SPEC): Likewise.
1594 * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
1595 * config/m68k/linux.h (CPP_SPEC): Likewise.
1596 * config/m68k/netbsd.h (ASM_SPEC): Likewise.
1597 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
1598 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
1599 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
1600 * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
1601 * config/pa/pa-linux.h (CPP_SPEC): Likewise.
1602 * config/netbsd-aout.h (ASM_SPEC): Likewise.
1603 * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
1604 * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
1605 * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1606 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1607 * config/sparc/sparc.h (ASM_SPEC): Likewise.
1608 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1609 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
1610 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
1611 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
1612 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
1613 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
1615 * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1616 * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1617 * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1618 * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1619 * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1620 * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1621 * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1622 * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
1624 2003-06-03 Jakub Jelinek <jakub@redhat.com>
1626 * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
1627 != 0 handling. Pass 0 to store_by_pieces.
1628 (expand_builtin_mempcpy): Add endp argument. Don't call
1629 expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
1630 directly. If ignoring result, only do expand_call.
1631 (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy
1633 (expand_builtin_strncpy, expand_builtin_memset): Adjust
1634 store_by_pices callers.
1635 (expand_builtin): Adjust expand_builtin_memcpy and
1636 expand_builtin_mempcpy callers.
1637 * expr.c (can_move_by_pieces): New function.
1638 (move_by_pieces): Add endp argument, return to resp. memory at end
1639 or one byte earlier depending on endp.
1640 (store_by_pieces): Likewise.
1641 (emit_block_move): Adjust call to move_by_pieces.
1642 (emit_push_insn): Adjust move_by_pieces caller.
1643 * expr.h (can_move_by_pieces): New prototype.
1644 (store_by_pieces): Adjust prototypes.
1645 * rtl.h (move_by_pieces): Adjust prototype.
1646 * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
1649 2003-06-03 Ben Elliston <bje@wasabisystems.com>
1651 * doc/md.texi (Processor pipeline description): Improve wording.
1653 2003-06-03 Neil Booth <neil@daikokuya.co.uk>
1655 * c-opts.c (c_common_handle_option): New, pulled out of
1656 c_common_decode_option. Substitute uses of argv.
1657 (c_common_decode_option): Broken into two.
1659 2003-06-02 Roger Sayle <roger@eyesopen.com>
1660 Zack Weinberg <zack@codesourcery.com>
1662 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
1663 test of TREE_CONSTANT_POOL_ADDRESS_P.
1665 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1667 * mips.c: Don't include output.h twice.
1668 * stormy16.c: Likewise.
1669 * xtensa.c: Likewise.
1670 * output.h: Protect against multiple inclusion.
1672 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
1674 * sh.h (OLD_ARG_MODE): New macro.
1675 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
1676 (FUNCTION_ARG_1): Break out of:
1677 (FUNCTION_ARG). Use OLD_ARG_MODE.
1679 2003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1681 * gcc/config.gcc Add support multilib parts for m32rx processor.
1683 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1685 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
1686 (mostlyclean): Delete c-options.c and c-options.h.
1688 2003-06-02 Neil Booth <neil@daikokuya.co.uk>
1690 * c-opts.c (CL_REJECT_NEGATIVE): New.
1691 (c_common_decode_option): Update to use it.
1692 * c.opt: Update documentation; use RejectNegative.
1693 * opts.sh: Handle RejectNegative.
1695 2003-06-01 Zack Weinberg <zack@codesourcery.com>
1697 * ggc-page.c (init_ggc): Give better diagnostics on failure to
1699 * toplev.c (crash_signal): Reset handling for received signal
1702 2003-06-02 Ben Elliston <bje@wasabisystems.com>
1704 * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
1705 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
1706 (arm_use_dfa_pipeline_interface): Implement.
1707 * config/arm/arm.md (arm): New automaton.
1708 (write_buf): Remove function units; new cpu unit.
1709 (write_blockage): Remove function units; new cpu unit.
1710 (core): Remove function units; new cpu unit.
1711 (r_mem_f_wbuf): New instruction reservation.
1712 (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
1713 (store1_ldsched, store2, store3, store4): Likewise.
1714 (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
1715 (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
1716 (multi_cycle, single_cycle): Likewise.
1717 * config/arm/fpa.md (armfp): New automaton.
1718 (fpa): Remove function units; new cpu unit.
1719 (fpa_mem): Remove function unit; new cpu unit.
1720 (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
1721 (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
1723 2003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1725 * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
1726 * c-format.c (enum format_type): Add asm_fprintf_format_type.
1727 (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
1728 asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
1729 (format_types_orig): Renamed from format_types. Add new data.
1730 (format_types): Declare as pointer.
1731 (handle_format_attribute): Move later in file so we have all
1732 necessary declarations. Add section to capture HOST_WIDE_INT.
1733 * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
1734 (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
1736 2003-06-01 Andreas Jaeger <aj@suse.de>
1738 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
1739 ROUND_TYPE_SIZE_UNIT.
1741 * stor-layout.c (finalize_record_size): Remove usages of
1742 ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1743 (finalize_type_size): Likewise.
1744 (layout_type): Likewise.
1746 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1748 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
1750 * config/d30v/d30v.h: Remove text copied from the manual.
1752 2003-06-01 Roger Sayle <roger@eyesopen.com>
1753 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1754 Geoffrey Keating <geoffk@apple.com>
1756 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
1757 constants as condition code values.
1759 2003-06-01 DJ Delorie <dj@redhat.com>
1761 * cppmacro.c (warn_of_redefinition): Handle cases where the two
1762 definitions have different numbers of tokens.
1764 2003-06-01 Andreas Jaeger <aj@suse.de>
1766 * gen-protos.c (main): Readd unused attribute for argc.
1768 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1770 * Makefile.in (c-options.c, c-options.h): Parallel make safe.
1771 * c.opt: End in blank line.
1772 * opts.sh: Take AWK from environment if available; use C locale.
1774 2003-06-01 Andreas Schwab <schwab@suse.de>
1776 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
1778 2003-06-01 Andreas Jaeger <aj@suse.de>
1780 * gen-protos.c (main): Revert patch to check for argument.
1782 2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1785 * config/i386/i386.md (length attribute): Set length to 4
1786 for instructions of type "fcmp".
1788 2003-06-01 Andreas Jaeger <aj@suse.de>
1790 * toplev.c: Use ISO C90 prototypes.
1792 * toplev.h: Use ISO C90 prototypes.
1794 * genrecog.c: Use ISO C90 prototypes.
1795 (nodes_identical): Correct declaration to match prototype.
1796 (maybe_both_true): Likewise.
1797 (merge_trees): Likewise.
1799 * genpeep.c (gen_peephole): Remove #if 0 code.
1800 Use ISO C90 prototypes.
1802 * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
1803 Remove #if 0'ed function simplify_by_alternatives.
1804 (optimize_attrs): Remove #if 0'ed code.
1806 Use ISO C90 prototypes.
1807 (make_canonical): Remove #if 0'ed code.
1808 (convert_const_symbol_ref): Remove #if 0'ed function.
1810 * gen-protos.c (main): Check for argument.
1812 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
1814 * params.h: Use ISO C90 prototypes.
1815 * params.c: Likewise.
1818 * lists.c: Likewise.
1819 * errors.c: Likewise.
1820 * errors.h: Likewise.
1821 * gencodes.c: Likewise.
1822 * genpreds.c: Likewise.
1823 * genattr.c: Likewise.
1824 * gen-protos.c: Likewise.
1825 * genflags.c: Likewise
1826 * genconditions.c: Likewise.
1827 * genautomata.c: Likewise.
1828 * gencheck.c: Likewise.
1829 * genconfig.c: Likewise.
1830 * genconstants.c: Likewise.
1831 * genemit.c: Likewise.
1832 * genextract.c: Likewise.
1833 * gengenrtl.c: Likewise.
1834 * gengtype.c: Likewise.
1835 * gengtype.h: Likewise.
1836 * genopinit.c: Likewise.
1837 * genoutput.c: Likewise.
1838 * gensupport.c: Likewise.
1839 * gensupport.h: Likewise.
1841 * sdbout.h: Use ISO C90 prototypes.
1843 * sdbout.c (CONTIN): Removed empty macro.
1844 (sdbout_one_type): Remove CONTIN usages.
1846 (tag_of_ru_type): Remove #if 0'ed function.
1847 (sdbout_symbol): Remove #if 0'ed code.
1848 (sdbout_one_type): Remove a #if 1.
1849 (sdbout_one_type): Remove #if 0'ed code.
1850 (sdbout_init): Remove RMS_QUICK_HACK_1 code.
1851 Remove PARAMS, use ISO C90 prototypes for all functions.
1853 2003-06-01 Josef Zlomek <zlomekj@suse.cz>
1855 * rtl.def (CONST_DOUBLE): Update comment.
1857 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1859 * opts.sh: Remove path from sort.
1861 2003-06-01 Aldy Hernandez <aldyh@redhat.com>
1864 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
1865 TARGET_SPE for SPE_VECTOR_MODE.
1867 2003-05-31 Aldy Hernandez <aldyh@redhat.com>
1869 * toplev.c (botch): Remove.
1871 (set_Wunused): Comment.
1872 (set_Wextra): Comment.
1874 (rest_of_compilation): Factor out common code into functions.
1875 (rest_of_handle_inlining): New.
1876 (rest_of_handle_ssa): New.
1877 (rest_of_handle_cse): New.
1878 (rest_of_handle_gcse): New.
1879 (rest_of_handle_loop_optimize): New.
1880 (rest_of_handle_jump_bypass): New.
1881 (rest_of_handle_sibling_calls): New.
1882 (rest_of_handle_null_pointer): New.
1883 (rest_of_handle_addresof): New.
1884 (rest_of_handle_flow): New.
1885 (rest_of_handle_branch_prob): New.
1886 (rest_of_handle_if_conversion): New.
1887 (rest_of_handle_tracer): New.
1888 (rest_of_handle_loop2): New.
1889 (rest_of_handle_cse2): New.
1890 (rest_of_handle_life): New.
1891 (rest_of_handle_combine): New.
1892 (rest_of_handle_if_after_combine): New.
1893 (rest_of_handle_regmove): New.
1894 (rest_of_handle_sched): New.
1895 (rest_of_handle_old_regalloc): New.
1896 (rest_of_handle_new_regalloc): New.
1897 (rest_of_handle_regrename): New.
1898 (rest_of_handle_reorder_blocks): New.
1899 (rest_of_handle_sched2): New.
1900 (rest_of_handle_new_regalloc): New.
1901 (rest_of_handle_old_regalloc): New.
1902 (rest_of_handle_regrename): New.
1903 (rest_of_handle_reorder_blocks): New.
1904 (rest_of_handle_stack_regs): New.
1905 (rest_of_handle_machine_reorg): New.
1906 (rest_of_handle_delay_slots): New.
1907 (rest_of_handle_final): New.
1909 * toplev.h (botch): Remove prototype.
1912 2003-05-31 Neil Booth <neil@daikokuya.co.uk>
1914 * Makefile.in (c-opts.o, c-options.h): Update dependencies.
1915 * c-opts.c: Include c-options.h and c-options.c.
1916 (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
1917 Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
1918 (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
1919 OPT, opt_comp): Remove.
1920 (missing_arg, c_common_init_options, c_common_decode_option,
1921 write_langs): Update for macro redefinitions and enumeration
1923 * c.opt, opts.sh: New files.
1924 * doc/passes.texi: Update.
1926 2003-05-31 Andreas Jaeger <aj@suse.de>
1928 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
1931 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
1933 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
1935 * system.h: Poison ALLOCATE_TRAMPOLINE.
1937 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
1938 * system.h: Poison HANDLE_PRAGMA.
1940 2003-05-31 Kazu Hirata <kazu@cs.umass.edu>
1942 * doc/invoke.texi: Update dump file names.
1944 2003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1946 * c-format.c (format_length_info, format_char_info,
1947 format_flag_spec, format_flag_pair, format_kind_info):
1948 De-const-ify structure members.
1950 2003-05-31 Roger Sayle <roger@eyesopen.com>
1952 * flags.h (flag_wrapv): New flag controlling overflow semantics.
1953 * toplev.c (flag_wrapv): Declare the variable with default false.
1954 (lang_independent_options): New option "-fwrapv" to set the above.
1956 * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
1957 as x, when signed arithmetic overflow wraps around.
1958 (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
1959 * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
1960 overflow when flag_wrapv is true.
1962 * doc/invoke.texi: Document new -fwrapv command line option.
1963 * doc/c-tree.texi: Mention that the overflow semantics of
1964 NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
1965 upon both flag_wrapv and flag_trapv.
1967 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1969 * doc/install.texi (mips-sgi-irix5): Add missing
1972 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1974 * doc/md.texi (Machine Constraints): Document
1975 missing SPARC constraints.
1977 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1979 * doc/md.texi (Automaton pipeline description): Use
1980 "type" instead of "cpu" as the attribute in the examples.
1982 2003-05-30 Stan Shebs <shebs@apple.com>
1984 * system.h: Poison OBJC_PROLOGUE.
1986 2003-05-30 Roger Sayle <roger@eyesopen.com>
1988 * emit-rtl.c (gen_complex_constant_part): New function for getting
1989 the constant real or imaginary part of a complex constant.
1990 (gen_realpart): Use it.
1991 (gen_imagpart): Likewise.
1993 2003-05-30 Kazu Hirata <kazu@cs.umass.edu>
1995 * doc/invoke.texi: Fix typos.
1996 * doc/rtl.texi: Likewise.
1998 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
2000 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
2002 * config/h8300/crtn.asm: Likewise.
2003 * config/h8300/lib1funcs.asm: Likewise.
2004 * config/h8300/h8300.c (asm_file_start): Likewise.
2005 * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
2006 h8300snelf emulations for normal mode.
2007 * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
2008 emulations for normal mode.
2010 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
2012 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
2013 true if TARGET_NORMAL_MODE.
2015 2003-05-30 Roger Sayle <roger@eyesopen.com>
2017 * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
2018 making a substitution.
2019 (dead_libcall_p): If directly replacing a libcall with a
2020 constant value produces an invalid instruction, also try forcing
2021 the constant into the constant pool.
2022 * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
2023 obvious that the source is a constant.
2024 (compress_float_constant): Use set_unique_reg_note to place
2025 REG_EQUAL notes on instructions.
2027 2003-05-30 Eric Christopher <echristo@redhat.com>
2029 * config/mips/mips.c (extern_list): Add GTY marker.
2030 (extern_head): Separate out definition. Add marker.
2031 (mips_output_external): Use ggc_alloc for extern_list
2033 (mips_output_external_libcall): Ditto.
2035 2003-05-30 Florian Weimer <fw@deneb.enyo.de>
2037 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
2040 2003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2042 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
2044 (PRINT_OPERAND): Likewise.
2046 2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2048 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
2049 -mdebug/-no-mdebug switches ...
2050 (MDEBUG_ASM_SPEC): ... here.
2052 (EXTRA_SPECS): Initialize mdebug_asm_spec.
2054 2003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
2056 * gthr-gnat.c: Remove #undef UNUSED.
2057 (__gnat_default_lock, __gnat_default_unlock): Prototype.
2058 (__gnat_task_lock, __gnat_task_unlock): Make declarations
2060 (__gnat_install_locks): Convert declaration to ISO C90, make
2061 parameter declarations prototypes, and remove blank line.
2062 * gthr-gnat.h (__gnat_install_locks): Make parameter
2063 declarations prototypes.
2065 2003-05-29 Jason Merrill <jason@redhat.com>
2067 * Makefile.in (unstrap): Remove stage_last after make unstage1.
2069 2003-05-29 Roger Sayle <roger@eyesopen.com>
2071 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
2073 2003-05-29 Roger Sayle <roger@eyesopen.com>
2074 Kaveh Ghazi <ghazi@caip.rutgers.edu>
2077 * mips-tfile.c (main): Use getopt_long instead of getopt.
2078 Add new command line option --version to display version.
2079 Treat --verbose like -v to report a single line version.
2080 (options): New global variable for getopt_long.
2081 * mips-tdump.c (main): Use getopt_long instead of getopt.
2082 New command line options -v, --version and -verbose to display
2083 the program version number (to match mips-tfile's behavior).
2084 (options): New global variable for getopt_long.
2086 * gcov.c (options): Zero-terminate getopt_long array.
2087 * gcov-dump.c (options): Likewise.
2089 * Makefile.in (mips-tdump.o): Add dependency on version.h.
2091 2003-05-29 Stan Shebs <shebs@apple.com>
2093 Remove OBJC_PROLOGUE everywhere.
2094 * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
2095 * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
2096 * config/d30v/d30v.h: Similarly.
2097 * config/ip2k/ip2k.h: Similarly.
2098 * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
2100 2003-05-29 Roger Sayle <roger@eyesopen.com>
2102 * c-semantics.c (genrtl_do_stmt_1): New function split out from...
2103 (gen_rtl_do_stmt): ... here. Call genrtl_do_stmt_1.
2104 (expand_unreachable_stmt): Expand unreachable while statements
2105 using genrtl_do_stmt_1.
2107 2003-05-29 Richard Sandiford <rsandifo@redhat.com>
2109 * config/mips/mips-protos.h (mips_output_load_label): Declare.
2110 * config/mips/mips.c (mips_output_load_label): New function.
2111 (mips_output_conditional_branch): Use it.
2112 * config/mips/mips.md (jump): And here.
2114 2003-05-28 Bob Wilson <bob.wilson@acm.org>
2116 * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
2117 (xtensa_split_operand_pair): New proto.
2118 * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
2119 (smalloffset_double_mem_p): Delete.
2120 (gen_float_relational, printx, print_operand, xtensa_va_arg):
2122 (xtensa_split_operand_pair): New.
2123 (xtensa_dbx_register_number): Fix formatting.
2124 * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
2125 * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
2126 instead of splitting them into single-word moves. Remove unnecessary
2127 checks for reload_in_progress and reload_completed.
2128 (movdi_internal, movdf_internal): Change to post-reload split patterns.
2129 Add constraints to allow constant operands.
2130 (movsf_internal): Allow CONST_INT operands.
2132 2003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
2134 * config.gcc (i[34567]86-*-mingw32*): Add host makefile
2135 fragment i386/x-mingw32.
2136 * config/i386/x-mingw32: New file. Make local_includedir
2137 relative to EXEC_PREFIX.
2139 2003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
2141 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
2142 (MD_STARTFILE_PREFIX): Define.
2144 2003-05-27 Denis Chertykov <denisc@overta.ru>
2146 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
2148 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
2149 call of cselib_invalidate_regno.
2151 2003-05-28 Daniel Jacobowitz <drow@mvista.com>
2153 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
2154 -lthread to -lpthread.
2156 2003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
2157 Bruce Korb <bkorb@gnu.org>
2158 Arno Klaassen <arno@heho.snv.jussieu.fr>
2160 * fixinc/inclhack.def: Add missing declaration of getpagesize()
2161 to unistd.h on Solaris 2.5.1.
2162 Fix prototype of recv() and send() in sys/socket.h on
2163 Solaris 2.5.1 and 2.6.
2164 * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
2165 * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
2166 * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
2167 * fixinc/fixincl.x: Regenerate.
2169 2003-05-27 Jason Merrill <jason@redhat.com>
2171 * tree.c (expr_first, expr_length): New fns.
2172 * tree.h: Declare them.
2174 * tree.c (iterative_hash_expr): Hash commutative expressions
2177 2003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2179 * tree.h (contains_placeholder_p): Now returns bool.
2180 (CONTAINS_PLACEHOLDER_P): New macro.
2181 (type_contains_placeholder_p): New function.
2182 * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
2183 (contains_placeholder_p): Now returns bool.
2184 Rework to use CONTAINS_PLACEHOLDER_P macro.
2185 (type_contains_placeholder_p): New function.
2186 * fold-const.c (fold, case COMPONENT_REF): Don't fold if
2187 type_contains_placeholder_p.
2188 (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
2189 Use CONTAINS_PLACEHOLDER_P macro.
2190 * builtins.c (fold_builtin): Likewise.
2191 * calls.c (initialize_argument_information): Likewise.
2192 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
2193 * explow.c (expr_size): Likewise.
2194 * expr.c (store_constructor, get_inner_reference): Likewise.
2195 * function.c (assign_parms): Likewise.
2196 * stor-layout.c (variable_size): Likewise.
2198 2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2200 * diagnostic.h (output_verbatim, verbatim): Remove printf
2203 2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2205 * doc/contrib.texi (Contributors): Update Kean Johnston.
2207 2003-05-24 David Edelsohn <edelsohn@gnu.org>
2209 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
2211 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
2213 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
2214 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
2215 Replace "GNU CC" with "GCC".
2217 2003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
2219 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
2220 intermediate computation.
2222 2003-05-23 Eric Christopher <echristo@redhat.com>
2224 * config/mips/mips.md (clzsi, clzdi): New patterns.
2226 2003-05-23 Geoffrey Keating <geoffk@apple.com>
2228 * gcc.c (default_compilers): Use -o to specify preprocessor's output
2229 file. Make -no-integrated-cpp work when building PCH files.
2230 * objc/lang-specs.h: Likewise.
2232 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
2234 * fixinc/Makefile.in: Correct description.
2235 * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
2236 fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
2237 fixinc/genfixes: Replace "GNU CC" with "GCC".
2239 2003-05-23 Roger Sayle <roger@eyesopen.com>
2241 * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
2242 builtin functions (and their __builtin_* variants).
2243 * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
2244 (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
2247 * doc/extend.texi: Document new tan and atan builtins, and
2248 their float and long double variants.
2250 2003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
2252 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
2253 __sparcv9 in the TARGET_ARCH64 case.
2255 Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
2257 * i386.c (ix86_reorg): Calls are also jumps.
2259 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
2261 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
2262 note containing an EXPR_LIST, process all the arguments.
2264 Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
2265 Andreas Jaeger <aj@suse.de>
2267 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
2268 do not use assertion.
2270 2003-05-23 Mike Stump <mrs@apple.com>
2272 * tlink.c (scan_linker_output): Add support for darwin linker, as it
2273 emits unresolved symbols one per line, consuming the entire line.
2275 2003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
2276 Zack Weinberg <zack@codesourcery.com>
2278 * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
2279 * config/m68k/m68k.c (m68k_output_function_prologue):
2280 Remove code under #if NEED_PROBE.
2281 * config/m68k/m68k.h: Don't define NEED_PROBE.
2282 * config/m68k/m68k.md: Remove "probe" insn.
2283 * doc/md.texi: Remove documentation of "probe" pattern.
2285 2003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
2287 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
2289 2003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2291 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
2292 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
2294 2003-05-22 Roger Sayle <roger@eyesopen.com>
2296 * real.c (real_maxval): New function to return the largest finite
2297 value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
2298 * real.h (real_maxval): Prototype here.
2299 * fold-const.c (fold_inf_compare): Transform comparisons against
2300 +-Infinity into comparisons against DBL_MAX (or equivalent).
2302 2003-05-22 Mike Stump <mrs@apple.com>
2304 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
2307 2003-05-22 DJ Delorie <dj@redhat.com>
2309 * calls.c (expand_call): If the arg block is going to grow
2310 downward, we need argblock to point to the top of the block,
2313 2003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2315 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
2317 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
2318 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
2320 2003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2322 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
2326 2003-05-22 Zack Weinberg <zack@codesourcery.com>
2329 * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
2330 expressions to prevent triggering on recent curses.h,
2331 linux/nls.h, or X11/Xlib.h.
2332 (stdio_va_list): Add _G_va_list to bypass pattern.
2333 (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
2334 * fixinc/fixincl.x: Regenerate.
2336 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
2338 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
2339 switches when --target-help option is specified.
2341 2003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
2344 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
2345 failure with Sun assembler 5.0 Alpha 03/27/98.
2347 2003-05-21 Loren James Rittle <ljrittle@acm.org>
2349 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
2350 to match system compiler convention.
2352 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
2354 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
2355 value, not just if defined.
2356 Update copyright year.
2358 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2361 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
2362 directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg'
2363 option is used without `-static'.
2364 * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
2365 * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
2367 2003-05-21 Bob Wilson <bob.wilson@acm.org>
2369 * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
2370 TARGET_SERIALIZE_VOLATILE): Delete.
2371 (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
2372 (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
2373 (TARGET_SWITCHES): Remove "-mserialize-volatile" and
2374 "-mno-serialize-volatile".
2375 * config/xtensa/xtensa.c (print_operand): Remove checks of
2376 TARGET_SERIALIZE_VOLATILE.
2377 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
2378 * doc/invoke.texi (Option Summary, Xtensa Options): Remove
2379 "-mserialize-volatile" and "-mno-serialize-volatile" options.
2381 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
2383 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
2384 (nested_function): Likewise.
2385 (notype_nested_function): Likewise.
2387 2003-05-21 Nick Clifton <nickc@redhat.com>
2389 * config/stormy16/stormy-abi: Update overflow type for
2390 R_XSTORMY16_16 reloc.
2392 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
2394 * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
2395 * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
2396 (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
2397 * print-tree.c (print_node): Remove ambient-boundedness.
2398 * tree.h (tree_common): Remove bounded_flag.
2399 (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
2400 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
2401 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
2402 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
2403 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
2405 (TYPE_QUALS): Remove BOUNDED.
2406 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
2407 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
2408 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
2409 TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
2410 VA_LIST_POINTER_DEPTH): Remove.
2411 (struct tree_type): Remove pointer_depth.
2413 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2415 * c-pretty-print.c (pp_c_integer_literal): Use
2416 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
2418 2003-05-20 Roger Sayle <roger@eyesopen.com>
2419 Kazu Hirata <kazu@cs.umass.edu>
2420 Joern Rennecke <joern.rennecke@superh.com>
2422 * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
2423 setcc and jump, if they exist. If substituted instruction
2424 fails to validate, store current effort in a REG_EQUAL note.
2425 (cprop_insn): Don't attempt further substitutions if the
2426 current instruction has been deleted.
2427 (local_cprop_pass): Likewise.
2429 * jump.c (redirect_jump): Also update REG_EQUAL note, if
2430 one is attached to the jump instruction.
2431 (invert_jump): Delete REG_EQUAL note on jump, if one exists.
2433 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
2436 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
2439 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2441 * genautomata.c (output_description, output_automaton_units,
2442 output_state_arcs): Add missing specifiers.
2444 2003-05-20 Bob Wilson <bob.wilson@acm.org>
2446 * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
2447 (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
2448 (__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
2449 (nsau): Rename to do_nsau. Provide alternate version for use when
2450 the NSAU instruction is available.
2451 (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
2452 (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
2453 * config/xtensa/xtensa-config.h: Update comments to match binutils.
2454 (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
2455 * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
2456 (TARGET_ABS, TARGET_ADDX): Define.
2457 (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
2458 (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
2459 * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
2460 *subx8): Set predicate condition to TARGET_ADDX.
2461 (abssi2): Set predicate condition to TARGET_ABS.
2462 * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
2463 "-maddx", and "-mno-addx" options.
2464 (Xtensa Options): Likewise. Also tag some opcode names with @code.
2466 2003-05-20 Kevin Ryde <user42@zip.com.au>
2467 Wolfgang Bangerth <bangerth@dealii.org>
2470 * doc/extend.texi: Put a warning into the documentation
2471 of attribute regparm.
2473 2003-05-20 Jason Merrill <jason@redhat.com>
2475 * tree.c (expr_last): New fn.
2476 * tree.h: Declare it.
2477 * objc/objc-act (expr_last): Rename to objc_expr_last.
2479 2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
2481 * sh.c (sh_register_move_cost): Add clase for moving between
2482 FP registers and MAC registers.
2484 2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
2486 * pa/milli64.S ($$mulI): Fix typo.
2488 2003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
2490 * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
2491 (nonlocal_set_p): Remove initial blank line.
2492 * dwarf2out.c (simple_type_size_in_bits): Likewise.
2493 * et-forest.c (et_forest_create): Likewise.
2494 * explow.c (stabilize): Likewise.
2495 * fix-header.c (write_lbrac): Likewise.
2496 * graph.c (start_fct, node_data): Likewise.
2497 * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
2498 * rtlanal.c (global_reg_mentioned_p): Likewise.
2499 * tree.c (bit_position): Likewise.
2501 2003-05-19 Alexandre Oliva <aoliva@redhat.com>
2503 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
2504 -lthread to -lpthread.
2506 2003-05-19 Neil Booth <neil@daikokuya.co.uk>
2508 * c-opts.c (c_common_decode_option): Don't accept dollars
2509 as identifier characters in assembly.
2510 * doc/cpp.texi: Document this.
2512 2003-05-19 Seth Arnold <sarnold@wirex.com>
2513 Aldy Hernandez <aldyh@redhat.com>
2515 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
2518 2003-05-19 Aldy Hernandez <aldyh@redhat.com>
2520 * doc/tm.texi (function_arg): Fix typo.
2522 2003-05-19 Matt Austern <austern@apple.com>
2524 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
2525 * c-common.h (warn_invalid_offsetof): Declare.
2526 * c-common.c (warn_invalid_offsetof): Define.
2527 * doc/invoke.texi: Document -Winvalid-offsetof.
2528 * testsuite/g++.dg/other/offsetof3.C: New.
2529 * testsuite/g++.dg/other/offsetof4.C: New.
2531 2003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
2532 David Edelsohn <edelsohn@gnu.org>
2534 * config/rs6000/rs6000.c (rs6000_alignment_string,
2535 rs6000_alignment_flags): New variables.
2536 (rs6000_parse_alignment_option): New function.
2537 (rs6000_override_options): Call it.
2538 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
2539 (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
2541 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
2542 natural alignment if TARGET_NATURAL_ALIGNMENT
2543 (ROUND_TYPE_ALIGN): Always use default record alignment if
2544 TAGET_NATURAL_ALIGNMENT.
2545 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
2546 (ROUND_TYPE_ALIGN): Same.
2547 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
2548 (ROUND_TYPE_ALIGN): Same.
2549 * doc/invoke.texi (Option Summary, PowerPC Options): Document
2552 2003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
2554 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
2555 of a function using ASMSPEC, prepend a star.
2557 2003-05-19 Jason Merrill <jason@redhat.com>
2559 * tree-inline.c (copy_body_r): Avoid generating &* during inline
2562 2003-05-19 Andrew Macleod <amacleod@redhat.com>
2564 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
2565 not mark assignments to the hard frame pointer as being stack
2567 (xstormy16_expand_epilogue): Mark adjustments to the stack
2568 pointer as being stack frame related.
2570 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2572 * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
2573 ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
2574 (PREDICATE_CODES): Add hilo_operand.
2575 * config/mips/mips.c (hilo_operand): New predicate.
2576 (mips_adjust_insn_length): Account for the number nops that might
2577 be needed to avoid hardware hazards.
2578 * config/mips/mips.md (dslot): Remove attribute.
2579 (hazard): New attribute.
2580 (can_delay): Use it. Check for calls, branches & jumps.
2581 (muldi3): Use the standard dmult pattern for mips16 code.
2582 (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
2584 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2586 * config/mips/mips-protos.h (final_prescan_insn,
2587 mips_count_memory_refs, mips_fill_delay_slot): Remove.
2588 * config/mips/mips.h (delay_type, dslots_load_total,
2589 dslots_load_filled, dslots_jump_total, dslots_jump_filled,
2590 dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
2591 mips_load_reg3, mips_load_reg4): Remove.
2592 (MASK_STATS): Remove.
2593 (MASK_EXPLICIT_RELOCS): Reuse its value.
2594 (TARGET_STATS): Remove.
2595 (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
2596 Warn that -mstats is now ignored.
2597 (FINAL_PRESCAN_INSN): Undefine.
2598 (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
2599 (ASM_OUTPUT_REG_POP): Likewise.
2600 * config/mips/mips.c (dslots_load_total, dslots_load_filled,
2601 dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
2602 mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
2603 mips_fill_delay_slot, mips_count_memory_refs,
2604 final_prescan_insn): Remove.
2605 (output_block_move): Remove calls to mips_count_memory_refs.
2606 (print_operand): Remove printing of #nop for TARGET_STATS.
2607 (mips_output_function_epilogue): Remove TARGET_STATS code.
2608 Reorganize setting of fnnmae.
2609 * config/mips/mips.md: Remove handling of dslot statistics
2610 throughout file. Change all fcmp patterns into normal asm
2611 templates, removing calls to mips_fill_delay_slot.
2612 * doc/invoke.texi: Remove documentation of -mstats.
2614 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2616 * config/mips/mips.c (mips_class_max_nregs): Return the number of
2619 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2621 * config/mips/mips.c (override_options): Disable explicit
2622 relocs for old ABIs unless using gas.
2624 2003-05-18 Eric Christopher <echristo@redhat.com>
2626 * config/mips/mips.h: Remove definition of g_switch_value.
2628 2003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
2630 * flags.h (g_switch_value): Change to an unsigned
2632 * toplev.c (g_switch_value): Likewise.
2634 * config/alpha/alpha.c (small_symbolic_operand): Remove
2635 g_switch_value cast.
2636 (alpha_in_small_data_p): Cast size to an unsigned
2639 * config/frv/frv.c (frv_in_small_data_p): Cast size to an
2640 unsigned HOST_WIDE_INT.
2641 * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
2642 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
2644 * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
2645 unsigned HOST_WIDE_INT.
2646 (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
2647 * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
2648 (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
2650 * config/rs6000/rs6000.c (rs6000_file_start): Use
2651 HOST_WIDE_INT_PRINT_UNSIGNED.
2652 (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
2653 (rs6000_elf_in_small_data_p): Cast size to unsigned
2655 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
2657 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
2659 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
2660 g_switch_value cast.
2662 2003-05-18 Roger Sayle <roger@eyesopen.com>
2663 Zack Weinberg <zack@codesourcery.com>
2666 * builtins.c (expand_builtin_memcpy): Call force_operand on
2667 expressions and use simplify_gen_binary to create the addition.
2669 2003-05-18 Andreas Schwab <schwab@suse.de>
2671 * config/m68k/m68k.md: Use define_constants for unspec numbers.
2673 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
2675 * config/sparc/sparc.h: Define sparc for now.
2676 2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
2678 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
2680 * config/stormy16/stormy16.h: Remove about 3000 lines of
2681 target-independent comments. Update copyright notice.
2683 * doc/collect2.texi: GNU CC -> GCC.
2684 * doc/headerdirs.texi: GNU CC -> GCC.
2686 2003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
2688 * hashtable.h (struct ht_identifier): Add data member "hash_value".
2689 * hashtable.c (ht_lookup): Use it when searching, remember.
2690 (ht_expand): Do not recompute.
2691 * tree.h (IDENTIFIER_HASH_VALUE): New macro.
2693 2003-05-18 Nathan Sidwell <nathan@codesourcery.com>
2695 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
2697 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
2699 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
2701 (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
2702 * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
2703 * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
2704 * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
2705 config/arm/linux-elf.h, config/arm/rtems-elf.h,
2706 config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
2707 config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
2708 config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
2709 config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
2710 config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
2711 config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
2712 config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
2713 config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
2714 config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
2715 config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
2716 config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
2717 Don't define __ELF__.
2718 * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
2720 * doc/cpp.texi: Document __ELF__.
2721 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
2723 2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2725 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
2727 * c-errors.c (pedwarn_c99): Likewise.
2728 * c-format.c (status_warning): Likewise.
2729 * c-semantics.c (build_stmt): Likewise.
2730 * calls.c (emit_library_call, emit_library_call_value): Likewise.
2731 * collect2.c (notice, fatal_perror, fatal, error): Likewise.
2732 * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
2733 * diagnostic.c (build_message_string, output_printf,
2734 output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
2735 fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
2736 error_with_decl, fnotice): Likewise.
2737 * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
2738 dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
2739 dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
2740 dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
2741 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2742 dw2_asm_output_encoded_addr_rtx): Likewise.
2743 * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
2744 * errors.c (warning, error, fatal, internal_error): Likewise.
2745 * final.c (output_operand_lossage, asm_fprintf): Likewise.
2746 * fix-header.c (fatal): Likewise.
2747 * gcc.c (fatal, error, notice): Likewise.
2748 * gcov.c (fnotice): Likewise.
2749 * genattrtab.c (attr_rtx, attr_printf): Likewise.
2750 * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
2751 * gensupport.c (message_with_line): Likewise.
2752 * mips-tfile.c (fatal, error): Likewise.
2753 * protoize.c (notice): Likewise.
2754 * ra-debug.c (ra_debug_msg): Likewise.
2755 * read-rtl.c (fatal_with_file_and_line): Likewise.
2756 * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
2757 * tree.c (build, build_nt, build_function_type_list): Likewise.
2759 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2761 * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
2762 * gcc.c (cpp_predefines): Remove.
2763 (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
2764 (static_specs): Remove predefines.
2765 * system.h: Poison CPP_PREDEFINES.
2766 * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
2767 config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
2769 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2771 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
2772 config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
2773 config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
2774 use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
2776 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2779 * c-common.c, c-common.h (dollars_in_ident): Remove.
2780 * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
2781 (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
2782 * cpphash.h (warned_dollar): Rename warn_dollars.
2783 * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
2784 Permit dollars regardless of -std=.
2785 (post_options): Set warn_dollars.
2786 * cpplex.c (forms_identifier_p): Use warn_dollars.
2787 * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
2788 Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
2789 * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
2790 Update documentation.
2792 2003-05-17 Andreas Schwab <schwab@suse.de>
2794 * config/m68k/m68k.c (m68k_output_function_prologue): Use
2795 HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
2796 formatting a HOST_WIDE_INT.
2797 (m68k_output_function_epilogue): Likewise.
2799 2003-05-17 Zack Weinberg <zack@codesourcery.com>
2801 * doc/install.texi: Remove information about desupported targets.
2803 2003-05-17 Andreas Schwab <schwab@suse.de>
2805 * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
2806 * config/m68k/linux.h: Likewise.
2807 * config/m68k/m68k-none.h: Likewise.
2808 * config/m68k/netbsd-elf.h: Likewise.
2809 * config/m68k/sgs.h: Likewise.
2810 * config/m68k/m68k.h: Likewise.
2811 * config/m68k/m68k.md: Likewise.
2812 * config/m68k/m68k.c: Likewise.
2813 * doc/md.texi (Machine Constraints): Remove Sun FPA specific
2815 * doc/invoke.texi (Option Summary): Remove -mfpa.
2816 (M680x0 Options): Likewise.
2818 2003-05-17 David Edelsohn <edelsohn@gnu.org>
2820 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
2822 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2824 * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
2825 * config/sparc/liteelf.h, config/sparc/openbsd64.h,
2826 config/sparc/rtemself.h, config/sparc/sol2-64.h,
2827 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
2828 Update for use of TARGET_SUB_OS_CPP_BUILTINS.
2830 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2832 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
2833 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
2835 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2837 * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
2838 * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
2839 sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
2840 sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
2841 sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
2842 sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
2844 * sparc/sysv4-only.h: New.
2846 2003-05-17 Alan Modra <amodra@bigpond.net.au>
2848 * function.c (assign_parms): Check for zero size args.
2850 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2852 * cfgloopanal.c (test_for_iteration): Use string concatentation on
2853 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2854 function calls into one.
2855 * dbxout.c (dbxout_symbol): Likewise.
2856 * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
2857 * dwarf2asm.c (dw2_asm_output_data_uleb128,
2858 dw2_asm_output_data_sleb128): Likewise.
2859 * genrecog.c (debug_decision_2): Likewise.
2860 * loop.c (emit_prefetch_instructions): Likewise.
2861 * print-rtl.c (print_rtx): Likewise.
2862 * print-tree.c (print_node_brief, print_node): Likewise.
2863 * ra-debug.c (dump_igraph, dump_graph_cost,
2864 dump_static_insn_cost): Likewise.
2865 * ra-rewrite.c (dump_cost): Likewise.
2866 * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2867 * sreal.c (dump_sreal): Likewise.
2868 * unroll.c (unroll_loop, precondition_loop_p): Likewise.
2869 * varasm.c (assemble_vtable_entry): Likewise.
2871 * avr.c (avr_output_function_prologue,
2872 avr_output_function_epilogue, print_operand): Fix format specifier
2874 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
2875 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
2877 2003-05-16 Geoffrey Keating <geoffk@apple.com>
2879 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
2880 and ! TARGET_STRING cases.
2882 * doc/cppopts.texi (-undef): Fix texinfo warning.
2884 * doc/cppopts.texi (-H): Document that -H works for PCH files too.
2885 * cppfiles.c (validate_pch): When -H is used, print some information
2886 about PCH files found.
2888 2003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2890 * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
2891 * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
2892 * config/mips/t-sr71k: Likewise.
2894 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2896 * arc.c (arc_output_function_prologue,
2897 arc_output_function_epilogue): Fix format specifier warnings.
2898 * arc.h (LARGE_INT): Fix signed/unsigned warnings.
2900 * v850.c (print_operand): Fix format specifier warnings.
2902 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2905 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
2906 format specifier warnings.
2908 * ip2k.c (function_prologue, function_epilogue, print_operand):
2909 Fix format specifier warnings.
2910 * ip2k.md: Likewise.
2912 * i960.c (i960_output_function_prologue, i960_print_operand,
2913 i960_print_operand_addr): Fix format specifier warnings.
2915 * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
2916 (i370_output_function_prologue): Fix format specifier warnings.
2917 * i370.h (PRINT_OPERAND): Likewise.
2919 * fr30.c (fr30_print_operand): Fix format specifier warnings.
2921 * dsp16xx.c (print_operand_address): Fix format specifier warning.
2922 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
2924 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
2927 * alpha.c (print_operand_address, alpha_start_function,
2928 unicosmk_output_ssib): Use string concatentation on
2929 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2930 function calls into one.
2931 * arm.c (arm_print_operand): Likewise.
2932 * cris.c (cris_asm_output_mi_thunk): Likewise.
2933 * frv.c (frv_asm_output_mi_thunk): Likewise.
2934 * ia64.c (ia64_print_operand, process_set): Likewise.
2935 * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
2937 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2938 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2939 * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
2940 * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
2941 * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
2942 * s390.c (s390_assemble_integer): Likewise.
2943 * sparc.c (sparc_flat_function_prologue,
2944 sparc_flat_function_epilogue): Likewise.
2945 * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
2946 * vax.c (vax_output_mi_thunk): Likewise.
2948 * frv.c (frv_print_operand_memory_reference): Fix format specifier
2950 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
2952 * m68k.c (m68k_output_function_epilogue): Fix format specifier
2955 * stormy16-protos.h (xs_hi_general_operand,
2956 xs_hi_nonmemory_operand): Prototype.
2957 * stormy16.c (xstormy16_output_shift): Fix format specifier
2960 * cris.c: Fix format specifier warnings.
2962 2003-05-16 Nick Clifton <nickc@redhat.com>
2964 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
2966 2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
2968 * doc/bugreport.texi: Remove most of the of the preface of the
2971 2003-05-16 Jakub Jelinek <jakub@redhat.com>
2973 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
2976 2003-05-15 Roger Sayle <roger@eyesopen.com>
2978 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
2980 2003-05-15 Eric Christopher <echristo@redhat.com>
2982 * cfgcleanup.c (merge_blocks): Fix return value.
2984 2003-05-15 Eric Christopher <echristo@redhat.com>
2986 * combine.c (expand_compound_operation): Make sure
2987 that zero_extend operation is profitable.
2989 2003-05-15 Richard Henderson <rth@redhat.com>
2991 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
2992 code protected by USE_GNULIBC_1.
2994 2003-05-15 Zack Weinberg <zack@codesourcery.com>
2996 * config.gcc: Purge all targets obsoleted in GCC 3.3. Also
2997 remove hppa*-*-mpeix* which could not be built, and prune
2998 files from tmake_file= or tm_file= lists that don't exist.
3000 * config/alpha/alpha-interix.h, config/alpha/alpha32.h
3001 * config/alpha/t-interix, config/arm/conix-elf.h
3002 * config/arm/t-arm-aout, config/arm/t-strongarm-coff
3003 * config/arm/unknown-elf-oabi.h, config/i386/win32.h
3004 * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
3005 * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
3006 * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
3007 * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
3008 * config/m68k/m68k-psos.h, config/m68k/mot3300.h
3009 * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
3010 * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
3011 * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
3012 * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
3013 * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
3014 * config/m68k/tower-as.h, config/m68k/tower.h
3015 * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
3016 * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
3017 * config/m88k/m88k-protos.h, config/m88k/m88k.c
3018 * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
3019 * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
3020 * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
3021 * config/mips/rtems64.h, config/mips/sni-gas.h
3022 * config/mips/sni-svr4.h, config/mips/t-ecoff
3023 * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
3024 * config/mn10200/mn10200.c, config/mn10200/mn10200.h
3025 * config/mn10200/mn10200.md, config/mn10200/t-mn10200
3026 * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
3027 * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
3028 * config/romp/romp-protos.h, config/romp/romp.c
3029 * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
3030 * config/rs6000/aix3newas.h, config/rs6000/mach.h
3031 * config/sparc/bsd.h, config/sparc/hal.h
3032 * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
3033 * config/sparc/lynx.h, config/sparc/netbsd.h
3034 * config/sparc/sp86x-aout.h, config/sparc/splet.h
3035 * config/sparc/sun4gas.h, config/sparc/sun4o3.h
3036 * config/sparc/sunos4.h, config/sparc/t-chorus-elf
3037 * config/sparc/t-halos, config/sparc/t-sparcbare
3038 * config/sparc/t-splet, config/sparc/t-sunos41
3039 * config/v850/rtems.h: Delete file.
3041 2003-05-15 Aldy Hernandez <aldyh@redhat.com>
3043 * config/rs6000/rs6000-protos.h (function_value): Protoize.
3045 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
3047 * config/rs6000/rs6000.c (rs6000_function_value): New.
3049 2003-05-15 Philip Blundell <philb@gnu.org>
3051 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
3053 (arm_tune_xscale): New variable.
3054 (arm_override_options): Set it.
3055 (arm_adjust_cost): Use it in place of arm_arch_xscale.
3056 (arm_gen_load_multiple): Likewise.
3057 (arm_gen_store_multiple): Likewise.
3058 * config/arm/arm.md (is_xscale): Likewise.
3059 * config/arm/arm.h (arm_tune_xscale): Declare.
3061 2003-05-15 Philip Blundell <philb@gnu.org>
3064 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
3065 involving invalid constants.
3067 2003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3069 * pa.c (hppa_expand_prologue): Remove blockage.
3071 2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
3073 * doc/bugreport.texi: Remove most of the bug reporting
3074 instructions and merge them into bugs.html.
3076 2003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
3078 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
3079 g_switch_value to unsigned HOST_WIDE_INT.
3081 2003-05-14 Eric Christopher <echristo@redhat.com>
3083 * combine.c: Fix header comments.
3084 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
3085 to all calls and prototype.
3087 2003-05-14 Roger Sayle <roger@eyesopen.com>
3089 PR optimization/10764
3090 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
3091 Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
3092 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): Likewise,
3093 add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
3094 (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
3095 the corresponding *fyl2x_?fxf3 instructions.
3097 2003-05-14 Bob Wilson <bob.wilson@acm.org>
3099 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
3100 * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
3101 XCHAL_HAVE_L32R): New.
3102 * config/xtensa/xtensa-protos.h (non_const_move_operand,
3103 xtensa_load_constant, xtensa_function_prologue,
3104 xtensa_function_epilogue): Delete prototypes.
3105 (xtensa_expand_prologue): New.
3106 * config/xtensa/xtensa.c (frame_size_const,
3107 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
3108 non_const_move_operand, xtensa_load_constant, xtensa_reorg,
3109 xtensa_function_prologue): Delete.
3110 (add_operand, xtensa_mem_offset): Formatting.
3111 (move_operand): If the const16 option is available, allow any SFmode
3112 and SImode constants.
3113 (xtensa_emit_move_sequence): Inline the former contents of
3114 xtensa_load_constant with modifications to handle the const16 option.
3115 (override_options): Add xtensa_char_to_class['W'] and set it to
3116 the general register class only if the const16 option is enabled.
3117 Fix formatting. Disallow PIC when using the const16 option.
3118 (print_operand): Reorganize to switch on "letter" instead of the
3119 RTL code. Add output_operand_lossage calls for invalid cases.
3120 Add support for 't' and 'b' letters.
3121 (xtensa_expand_prologue): New function to replace
3122 xtensa_function_prologue and xtensa_reorg.
3123 (xtensa_function_epilogue): Declare this as static. Delete code
3124 to print the retw.n or retw instruction.
3125 (xtensa_return_addr): Use A0_REG instead of 0.
3126 (xtensa_rtx_costs): Add costs for using the const16 option.
3127 * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
3128 (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
3129 (TARGET_SWITCHES): Add "const16" and "no-const16".
3130 (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
3131 (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
3132 using the const16 option.
3133 (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
3134 (TRAMPOLINE_SIZE): Change from 49 to 59.
3135 (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
3136 (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
3137 when using the const16 option.
3138 (PREDICATE_CODES): Delete non_const_move_operand.
3139 * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
3141 (movdi, movdf): If the source is a constant, always expand to a
3142 sequence of movsi insns.
3143 (movdi_internal, movdf_internal): Remove alternative using l32r insns.
3144 (movsi_internal, movsf_internal): Add alternative using const16 insns.
3145 (movsf): Add const16 support.
3146 (entry, prologue, epilogue): New.
3147 (set_frame_ptr): Add missing mode for unspec_volatile operation.
3148 Likewise for subsequent split pattern.
3149 * doc/invoke.texi (Option Summary, Xtensa Options): Document new
3150 "-mconst16" and "-mno-const16" options.
3152 2003-05-14 Richard Henderson <rth@redhat.com>
3154 * config/ia64/ia64.c (ia64_expand_load_address): Force destination
3155 to be DImode register. Merge load_symptr.
3156 * config/ia64/ia64.md (load_symptr): Remove.
3158 2003-05-14 Richard Henderson <rth@redhat.com>
3160 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
3161 DEFERRED_CONSTANT_P.
3162 * integrate.c (copy_rtx_and_substitute): Update use.
3163 * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
3164 to the copy generated.
3165 (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
3166 of the constant to see if we should emit.
3167 (mark_constant): Similarly.
3168 (output_constant_def_contents): Set TREE_ASM_WRITTEN.
3170 2003-05-14 David Edelsohn <edelsohn@gnu.org>
3172 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
3173 move record condition.
3174 (movdi_internal2): Same.
3176 2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
3178 * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
3179 (GCOV_TAG_*) Force type to gcov_unsigned_t.
3180 (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
3181 (struct gcov_var): Remove modified. Add start, length, offset,
3182 overread. Have buffer array for libgcov.
3183 (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
3184 (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
3185 * gcov-io.c (gcov_open): Set mode, do not read anything.
3186 (gcov_close): Write final block.
3187 (gcov_write_block, gcov_allocate): New.
3188 (gcov_write_bytes): Make static. Write or allocate buffer.
3189 (gcov_write_unsigned, gcov_write_counter): Buffer can never be
3191 (gcov_write_string): Adjust.
3193 (gcov_write_length): Adjust. Flush the block.
3194 (gcov_write_tag_length): Buffer can never be null.
3195 (gcov_read_bytes): Make static. Read in block.
3196 (gcov_sync): Moved here. Adjust.
3197 (gcov_seek): Moved here. Adjust.
3198 * coverage.c (read_counts_file): Adjust.
3199 * gcov-dump.c (print_prefix): Add position parameter.
3200 (flag_dump_positions): New flag.
3201 (options, main, print_usage): Add it.
3202 (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
3203 tag_summary): Adjust.
3204 * gcov.c (read_graph_file, read_count_file): Adjust.
3205 * libgcov.c (gcov_exit): Adjust.
3207 * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
3208 (libgcov.a): Depend on libgcc.a.
3209 (gcov.o, gcov-dump.o): Add gcov-io.c.
3210 * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
3212 * loop.c (check_dbra_loop): Factor common test.
3214 2003-05-14 Ben Elliston <bje@wasabisystems.com>
3216 * doc/md.texi (Automaton pipeline description): Grammar fixes.
3218 2003-05-14 Richard Sandiford <rsandifo@redhat.com>
3220 * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
3221 (TARGET_INITIALIZER): Include it.
3222 * target.h (struct gcc_target): Add machine_dependent_reorg field.
3223 * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
3224 * system.h: Poison MACHINE_DEPENDENT_REORG.
3226 * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
3227 * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
3228 * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3229 (alpha_handle_trap_shadows): Remove "first insn" parameter.
3230 (alpha_align_insns): Likewise.
3231 (alpha_reorg): Likewise. Make static. Update calls to above
3234 * config/arm/arm-protos.h (arm_reorg): Remove declaration.
3235 * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
3236 * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3237 (arm_reorg): Remove parameter. Make static.
3239 * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
3240 * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
3241 * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3242 (avr_reorg): Renamed from machine_dependent_reorg. Make static.
3245 * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
3246 * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
3247 * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3248 (c4x_reorg): Renamed from c4x_process_after_reload. Make static.
3251 * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
3252 * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
3253 * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
3255 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
3256 * config/frv/frv.c: Remove orphaned comment.
3258 * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
3259 * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
3260 * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3261 (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
3264 * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
3265 * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
3266 * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3267 (emit_insn_group_barriers): Remove "first insn" parameter.
3268 (emit_all_insn_group_barriers): Likewise.
3269 (ia64_reorg): Likewise. Make static. Update calls to above functions.
3270 (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
3272 * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
3273 * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
3274 * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3275 (ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
3278 * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
3279 * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
3280 * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3281 (m68hc11_reorg): Make static. Remove parameter.
3283 * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
3284 * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
3285 * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3286 (conditionalize_optimization): Remove parameter.
3287 (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
3288 Make static. Update call to conditionalize_optimization.
3290 * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
3291 * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
3292 * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3293 (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
3296 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
3297 * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
3298 * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3299 (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
3302 * config/pa/pa-protos.h (pa_reorg): Remove declaration.
3303 * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
3304 * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3305 (pa_combine_instructions): Remove "first insn" parameter.
3306 (remove_useless_addtr_insns): Likewise.
3307 (pa_reorg): Likewise. Make static. Update calls to above functions.
3309 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
3310 commented-out definition.
3312 * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
3313 * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
3314 * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3315 (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
3318 * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
3319 * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
3320 * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3321 (sh_reorg): Renamed from machine_dependent_reorg. Make static.
3323 (sh_output_mi_thunk): Call sh_reorg directly.
3324 * config/sh/sh.md: Update comment.
3326 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
3327 commented-out definition.
3329 * config/v850/v850-protos.h (v850_reorg): Remove declaration.
3330 * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
3331 * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3332 (v850_reorg): Make static. Remove parameter.
3334 * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
3335 * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
3336 * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3337 (xtensa_reorg): Make static. Remove parameter.
3339 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
3340 (TARGET_MACHINE_DEPENDENT_REORG): Document.
3342 2003-05-13 Richard Henderson <rth@redhat.com>
3344 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
3345 the old decl had instantiated DECL_RTL.
3347 2003-05-13 Mike Stump <mrs@apple.com>
3349 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
3351 2003-05-13 Janis Johnson <janis187@us.ibm.com>
3353 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
3354 HOST_WIDE_INT argument.
3356 2003-05-13 Jason Merrill <jason@redhat.com>
3358 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
3360 * tree.c (iterative_hash_expr): New fn.
3362 * c-semantics.c (emit_local_var): Don't mess with temp slots if
3363 there's no initializer.
3365 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
3367 * final.c (final_scan_insn): Apply the effects of frame-related
3368 delay slot insns before emitting a delayed branch.
3370 2003-05-13 Nick Clifton <nickc@redhat.com>
3372 * config/mcore/mcore.md (jump): Use emit_jump_insn.
3374 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
3376 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
3377 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
3379 2003-05-12 DJ Delorie <dj@redhat.com>
3381 * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
3382 (emit_push_insn): Don't use push when the source alignment is less
3383 than the stack's push rounding.
3385 2003-05-13 Zack Weinberg <zack@codesourcery.com>
3387 * diagnostic.c (output_format): Add support for %m.
3388 (output_printf, output_verbatim, diagnostic_set_info,
3389 verbatim): Set err_no field of the text_info structure being
3391 (fatal_io_error): Delete function.
3392 * diagnostic.h (text_info): Add err_no field.
3393 * toplev.h (fatal_io_error): Delete prototype.
3395 * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
3396 * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
3397 * objc/objc-act.c: Replace all calls to fatal_io_error with
3398 calls to fatal_error; add ": %m" to the end of all the affected
3401 2003-05-13 Zack Weinberg <zack@codesourcery.com>
3403 * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
3404 * rtl.h: Prototype it.
3405 * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
3408 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
3410 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
3411 ("*iorsi3_oi"): Likewise.
3413 2003-05-13 Richard Earnshaw <rearnsha@arm.com>
3415 * arm.md (compare_scc): Use shorter sequence for EQ case.
3416 (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
3417 (and_scc_scc): Ensure split only applies when there is a dominance
3419 (and_scc_scc_nodom): New insn-and-split pattern.
3421 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
3423 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
3424 to _Unwind_SetGRPtr().
3426 2003-05-13 Michael Eager <eager@mvista.com>
3428 * Makefile.in: Initialize program_transform_cross_name from
3429 @program_transform_name@ instead of target_alias.
3431 2003-05-12 Janis Johnson <janis187@us.ibm.com>
3432 Alan Modra <amodra@bigpond.net.au>
3433 Jakub Jelinek <jakub@redhat.com>
3435 * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
3436 * configure: Rebuild.
3437 * config/rs6000/rs6000-protos.h: Update.
3438 * config/rs6000/rs6000.c (rs6000_tls_size): New.
3439 (rs6000_tls_size_string): New.
3440 (rs6000_parse_tls_size_option): New.
3441 (rs6000_legitimize_tls_address): New.
3442 (rs6000_tls_get_addr): New.
3443 (rs6000_got_sym): New.
3444 (rs6000_tls_symbol_ref): New.
3445 (rs6000_tls_symbol_ref_1): New.
3446 (rs6000_get_some_local_dynamic_name): New.
3447 (rs6000_get_some_local_dynamic_name_1): New.
3448 (TARGET_HAVE_TLS): New.
3449 (TARGET_CANNOT_FORCE_CONST_MEM): New.
3450 (rs6000_override_options): Handle -mtls-size option.
3451 (constant_pool_expr_1): Handle TLS symbols.
3452 (rs6000_legitimize_address): Handle TLS symbols.
3453 (rs6000_tls_referenced_p): New.
3454 (rs6000_legitimate_address): Handle TLS symbols.
3455 (rs6000_emit_move): Handle TLS symbols.
3456 (print_operand): Handle TLS symbols.
3457 (uses_TOC): Handle TLS symbols.
3458 (rs6000_emit_prologue): Use symbol for unspec constant.
3459 * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
3460 (some_ld_name): New.
3461 (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
3462 (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
3463 (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
3464 * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
3466 (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
3467 tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
3468 tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
3469 tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
3470 tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
3472 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
3474 2003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
3476 * Makefile.in (stage2_build, stage3_build, stage4_build):
3477 Set BUILD_CC to the same as CC.
3479 2003-05-12 Neil Booth <neil@daikokuya.co.uk>
3481 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
3483 2003-05-12 Andreas Schwab <schwab@suse.de>
3485 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
3487 (bundling): Initialize 'pos'.
3488 (ia64_expand_builtin): Initialize 'rmode'.
3490 2003-05-12 David Edelsohn <edelsohn@gnu.org>
3492 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
3493 (ASM_OUTPUT_ALIGNED_COMMON): Same.
3494 (ASM_OUTPUT_LOCAL): Same.
3496 Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
3498 * varasm.c (output_constant): Fix underflow.
3500 2003-05-12 Mark Mitchell <mark@codesourcery.com>
3503 * configure.in: Correct detection of GNU ld version number.
3504 * configure: Regenerated.
3506 2003-05-12 Zack Weinberg <zack@codesourcery.com>
3508 * diagnostic.c (diagnostic_for_decl): Take a
3509 diagnostic_context argument. Restructure to be consistent
3510 with diagnostic_report_diagnostic.
3511 (diagnostic_count_diagnostic): Now static. Take a
3512 diagnostic_info argument, not just a diagnostic_t. Some code
3513 moved here from internal_error. Move a case label for
3515 (diagnostic_action_after_output): New function. Code moved
3516 here from internal_error and fatal_error.
3517 (bug_report_request): New #define so that this text appears in
3519 (diagnostic_report_diagnostic): Update to match changes to
3520 diagnostic_count_diagnostic. Call diagnostic_action_after_output.
3521 (diagnostic_set_info): Call gettext here.
3523 (pedwarn): Update comment. Don't call gettext here.
3524 (sorry): Use report_diagnostic. Don't call gettext here.
3525 (fatal_error): Remove final fnotice and exit, but call
3526 real_abort to prevent warnings about noreturn function returning.
3527 (internal_error): Likewise. Don't do ICE suppression here nor
3528 call context->internal_error.
3529 (warning_with_decl): Suppress for decls in system headers.
3530 Adjust call to diagnostic_for_decl.
3531 (pedwarn_with_decl): Likewise.
3532 (error_with_decl): Adjust call to diagnostic_for_decl.
3533 (error_recursion): Use bug_report_request.
3535 * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
3536 * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
3537 diagnostic_count_diagnostic.
3539 2003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3541 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
3543 Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
3545 * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
3546 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
3547 * mips/mips.h (ASM_OUTPUT_SKIP): Fix typo in the previous patch.
3549 2003-05-12 Roger Sayle <roger@eyesopen.com>
3551 * doc/rtl.texi: Document zero_extract as a valid destination
3554 2003-05-12 Richard Earnshaw <rearnsha@arm.com>
3556 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
3557 '.'. Change all local symbol definitions and references to use LSYM.
3559 Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
3561 * expr.h (assemble_static_space): Update prototype.
3562 * output.h (assemble_zeros, output_constant): Likewise.
3563 * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
3564 * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
3566 * elf.h (ASM_OTUPUT_SKIP): Likewise.
3567 * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
3568 * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3569 Expect HOST_WIDE_INT operand.
3570 * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3571 Expect HOST_WIDE_INT operand.
3572 * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3573 Expect HOST_WIDE_INT operand.
3574 * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
3575 HOST_WIDE_INT operand.
3576 * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
3577 ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
3578 * aout.h (ASM_OTUPUT_SKIP): Likewise.
3579 * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3580 * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
3581 * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
3582 * frv.h (ASM_OTUPUT_SKIP): Likewise.
3583 * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
3584 * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3587 * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
3588 * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3589 Make it 64bit clean.
3590 * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
3591 * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
3592 HOST_WIDE_INT operand
3593 * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3594 Expect HOST_WIDE_INT operand
3595 * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
3596 * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
3597 ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
3598 * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3600 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
3601 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3603 * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3604 * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3605 * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3606 ASM_OUTPUT_SKIP): Likewise.
3607 * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3609 * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3610 ASM_OUTPUT_SKIP): Likewise.
3611 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3612 ASM_OUTPUT_SKIP): Likewise.
3613 * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3614 * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3615 ASM_OUTPUT_SKIP): Likewise.
3616 * sgs.h (ASM_OUTPUT_SKIP): Likewise.
3617 * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3618 ASM_OUTPUT_SKIP): Likewise.
3619 * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
3621 * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
3622 * iris.h (ASM_OUTPUT_LOCAL): Likewise.
3623 * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3624 * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3625 ASM_OUTPUT_SKIP): Make it 64bit clean.
3626 * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
3627 Make it 64bit clean.
3628 * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
3629 ASM_OUTPUT_SKIP): Make it 64bit clean.
3630 * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
3632 * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3633 HOST_WIDE_INT argument
3634 * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
3635 * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3636 HOST_WIDE_INT argument
3637 * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3638 * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
3639 * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3640 * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3641 HOST_WIDE_INT argument
3642 * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3643 * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3644 * varasm.c (asm_output_bss, asm_output_aligned_bss,
3645 asm_emit_uninitialized, assemble_zeros, assemble_static_space):
3646 HOST_WIDE_INT argument
3648 2003-05-10 Steven Bosscher <steven@gcc.gnu.org>
3650 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
3651 favor of walk_tree_without_duplicates. Add comments.
3653 2003-05-12 Josef Zlomek <zlomekj@suse.cz>
3655 * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
3656 (struct alloc_pool_def): New element 'id'.
3657 * alloc-pool.c (fancy_abort): Extern function prototype.
3658 (abort): Macro which uses fancy_abort.
3659 (struct allocation_object_def): New structure.
3660 (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
3661 (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
3662 (last_id): New variable.
3663 (create_alloc_pool): Add the offset of u.data to size of element,
3664 increase and use last_id.
3665 (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
3666 (pool_alloc): Likewise. Set ID for elements.
3667 (pool_free): Check whether the PTR was allocated from POOL.
3669 2003-05-11 Richard Henderson <rth@redhat.com>
3672 * c-decl.c: Include hashtab.h.
3673 (detect_field_duplicates): New.
3674 (finish_struct): Use it.
3675 * Makefile.in (c-decl.o): Update.
3676 * c-parse.in (structsp_attr): Nreverse component_decl_list results.
3677 (component_decl_list, component_decl_list2,
3678 components, components_notype): Build list in reverse order.
3679 (enumlist): Clarify docs. Use TREE_CHAIN not chainon.
3681 * tree.c (chainon): Special case op2 null as well.
3684 2003-05-11 Roger Sayle <roger@eyesopen.com>
3686 * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
3687 to implement log, logf and logl built-ins as inline x87 intrinsics.
3688 (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
3689 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
3690 patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
3692 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
3693 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
3695 2003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3697 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
3699 * sparc.c (print_operand): Fix uninitialized warning.
3701 2003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3703 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
3705 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
3708 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3710 * doc/cpp.texi: Fix typos.
3712 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3714 * config/s390/s390.c (s390_function_arg_float): New function.
3715 (s390_function_arg_pass_by_reference): Use it.
3716 (s390_function_arg_advance): Likewise.
3717 (s390_function_arg): Likewise.
3718 (s390_va_arg): Likewise
3720 2003-05-11 Nathan Sidwell <nathan@codesourcery.com>
3722 * coverage.h (coverage_counter_alloc): New function.
3723 * function.h (struct function): Remove arc_profile flag.
3724 * coverage.c (fn_ident): Remove.
3725 (fn_b_ctrs, no_coverage): New.
3726 (get_coverage_counts): Use current_function_funcdef_no.
3727 (coverage_counter_alloc): New.
3728 (coverage_counter_ref): Adjust.
3729 (coverage_begin_output): Check no_coverage. Use
3730 current_function_funcdef_no.
3731 (coverage_end_function): Likewise.
3732 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
3733 than clearing flag_inline_functions. Do not clear arc_profile
3735 * function.c (prepare_function_start): Do not set arc_profile
3737 * profile.c (instrument_edges): Return number of instrumented
3738 edges. Use a for loop.
3739 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
3740 local to here and simplify. Use profile_arc_flag not arc_profile
3742 (find_spanning_tree): Reformat.
3743 * toplev.c (rest_of_compilation): Use profile_arc_flags and
3744 flag_test_coverage rather than arc_profile flag.
3746 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3748 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
3750 2003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3752 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
3754 2003-05-11 Bruno Haible <bruno@clisp.org>
3756 * cppfiles.c (find_or_create_entry): Preserve errno.
3758 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3760 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
3761 cpplib as it's a Standard Predefined Macro.
3762 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
3763 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
3764 __STDC_HOSTED__ appropriately.
3765 * cpplib.h (_cpp_init_builtins): Update.
3766 * fix-header.c (read_scan_file): Update.
3767 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
3769 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3773 * c-opts.c (c_common_decode_option): Don't set
3774 warn_ctor_dtor_privacy wen -Wall.
3775 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
3777 2003-05-10 Alexandre Oliva <aoliva@redhat.com>
3779 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
3782 2003-05-10 Zack Weinberg <zack@codesourcery.com>
3784 * diagnostic.c: Reorder functions for clarity, putting all the
3785 functions in the "error" family next to each other, and
3786 likewise all the functions in the "error_with_decl" family.
3787 Some other routines were moved too. Add comments.
3788 (vbuild_message_string): Fold into sole caller.
3791 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3793 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
3794 (EH_RETURN_HANDLER_RTX): Likewise.
3795 (expand_builtin_eh_return): Do not copy stack adjustment
3796 if EH_RETURN_STACKADJ_RTX is not defined.
3797 (expand_eh_return): Likewise. Also, do not pass stack
3798 adjustment as argument to the eh_return pattern.
3799 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
3800 because EH_RETURN_STACKADJ_RTX is not defined.
3801 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
3802 is not defined, treat stack pointer like a regular register.
3803 (uw_init_context_1): Set up fake initial stack pointer register.
3804 (uw_install_context_1): Do not compute stack adjustment if
3805 EH_RETURN_STACKADJ_RTX is not defined.
3807 * config/i386/i386.md ("eh_return"): Remove first argument.
3808 * config/mips/mips.md ("eh_return"): Likewise.
3809 * config/rs6000/rs6000.md ("eh_return"): Likewise.
3810 * config/sh/sh.md ("eh_return"): Likewise.
3812 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
3814 2003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
3816 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
3818 2003-05-10 Nathan Sidwell <nathan@codesourcery.com>
3820 * defaults.h (GCOV_TYPE_SIZE): Remove.
3821 * gcov-io.h (gcov_type): Set to specific mode int on target.
3822 (gcov_unsigned_t, gcov_position_t): New.
3823 (GCOV_TYPE_NODE): New.
3824 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
3825 (GCOV_COUNTERS_SUMMABLE): New.
3826 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
3827 gcov_ctr_info, gcov_info): Adjust types.
3828 (gcov_var): Adjust types.
3829 (gcov_write_unsigned, gcov_write_tag,
3830 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3831 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3832 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
3833 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
3834 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3835 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3836 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
3837 __gcov_init, __gcov_merge_add): Adjust gcov types.
3838 * coverage.c (ctr_merge_functions): Constify.
3840 (read_counts_file): Adjust gcov types. Only summarize & merge
3842 (coverage_counter_ref): Use GCOV_TYPE_NODE.
3843 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
3844 build_ctr_info_value, build_gcov_info): Adjust types.
3845 * profile.c (branch_prob): Adjust gcov types.
3846 * gcov_dump (dump_file): Adjust gcov types.
3848 2003-05-10 Richard Earnshaw <rearnsha@arm.com>
3850 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
3852 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
3853 * arm.c (arm_select_dominance_cc_mode): Renamed from
3854 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
3856 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
3858 2003-05-09 Roger Sayle <roger@eyesopen.com>
3860 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
3861 as unsigned to avoid signed/unsigned comparison warnings.
3863 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3865 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
3866 instruction if the Xtensa density option is enabled.
3868 2003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
3870 * mklibgcc.in: Remove extra quotes.
3872 2003-05-09 Mark Mitchell <mark@codesourcery.com>
3874 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
3877 2003-05-09 Alexandre Oliva <aoliva@redhat.com>
3879 * reload1.c (reload_cse_move2add): Don't turn an implicit
3880 truncation into a self-set in the narrow mode.
3882 2003-05-09 Richard Earnshaw <rearnsha@arm.com>
3884 * arm.md (clzsi2): The CLZ instruction is predicable.
3886 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3888 * config/xtensa/xtensa.c: Formatting.
3890 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3892 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
3893 instead of TREE_OPERAND to access the operand of a
3896 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3898 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
3901 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3903 * toplev.h (warning_with_file_and_line): Don't declare.
3904 (error_with_file_and_line): Likewise.
3905 * diagnostic.c (error_with_file_and_line): Remove.
3906 (warning_with_file_and_line): Likewise.
3908 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3910 * c-parse.in (if_stmt_locus): New object.
3911 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
3912 (select_or_iter_stmt rule): Likewise.
3913 (if_stmt_file): Remove.
3914 (if_stmt_line): Likewise.
3915 * jump.c: include "diagnostic.h"
3916 (never_reached_warning): Don't use warning_with_file_and_line.
3917 * Makefile.in (jump.o): Add dependce on diagnostic.h
3919 2003-05-09 Alan Modra <amodra@bigpond.net.au>
3921 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
3922 Move code handling pieces not larger than a word to..
3923 * function.c (assign_parms): ..here, but use change_address instead
3924 of adjust_address and operand_subword, and expand_binop instead of
3925 expand_shift. Adjust calls to move_block_from_reg.
3926 * expr.h (move_block_from_reg): Update declaration.
3927 (copy_blkmode_from_reg): Formatting.
3928 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
3929 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
3930 move_block_from_reg calls.
3931 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
3932 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3933 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
3934 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
3935 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
3936 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3937 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
3938 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3939 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
3941 2003-05-08 DJ Delorie <dj@redhat.com>
3943 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
3944 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
3945 variable-sized types).
3946 (xstormy16_function_arg): New. Pass them that way too.
3947 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
3948 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
3950 2003-05-08 Aldy Hernandez <aldyh@redhat.com>
3952 * mklibgcc.in: Use mkinstalldirs when installing multilib
3955 2003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
3957 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
3958 instead of CODE_FOR_jump
3960 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3962 * objc/objc-act.c (error_with_ivar): Don't use
3963 error_with_file_and_line.
3964 (warn_with_method): Don't use warning_with_file_and_line.
3966 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3968 * stmt.c (emit_locus): New macro.
3969 (emit_filename): Remove.
3970 (emit_lineno): Likewise.
3971 (struct stmt_status): Replace members x_emit_filename and
3972 x_emit_lineno with x_emit_locus.
3973 (set_file_and_line_for_stmt): Adjust.
3974 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
3975 (warn_if_unused_value): Likewise.
3976 (check_seenlabel): Likewise.
3978 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3980 * c-decl.c (define_label): Tidy. Don't use any of
3981 error_with_file_and_line or warning_with_file_and_file.
3982 (pending_xref_error): Likewise.
3983 (store_parm_decls): Likewise.
3984 (current_function_prototype_locus): New object. Package from
3985 current_function_prototype_file and current_function_prototype_line.
3986 (start_function): Use it.
3987 (current_function_prototype_file): Remove.
3988 (current_function_prototype_line): Remove;
3990 2003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3992 * builtins.c (readonly_data_expr): New function.
3993 (expand_builtin_memmove): Optimize any rodata source, not just
3996 2003-05-07 David Mosberger <davidm@hpl.hp.com>
3998 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
4000 2003-05-07 Richard Henderson <rth@redhat.com>
4002 * config/i386/i386.c (ix86_split_long_move): Fix base register
4003 mode for XFmode splits for TARGET_64BIT.
4005 2003-05-07 Richard Henderson <rth@redhat.com>
4007 * sched-ebb.c (schedule_ebb): Supply the correct starting
4008 block number to save_line_notes.
4010 2003-05-07 Richard Henderson <rth@redhat.com>
4012 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
4013 (dump_file): Likewise.
4015 2003-05-07 David Mosberger <davidm@hpl.hp.com>
4017 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
4018 forget to preserve gp.
4019 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
4021 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
4022 .prologue directive.
4023 Use .skip instead of data8 for .bss section to make Intel