1 2003-06-09 David Edelsohn <edelsohn@gnu.org>
2 Ayal Zaks <gcchaifa@us.ibm.com>
4 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
5 (insvsi*): Add insert_word attribute.
6 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
7 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
8 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
10 2003-06-09 Kazu Hirata <kazu@cs.umass.edu>
12 * fold-const.c (fold): Fix a comment typo.
14 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
16 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
19 2003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
21 * sh.c (gen_block_redirect): Use locators.
23 2003-06-09 Richard Earnshaw <rearnsha@arm.com>
25 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
28 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
30 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
32 * configure: Regenerated.
34 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
35 Alexandre Oliva <aoliva@redhat.com>
37 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
38 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
39 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
41 (MUST_SAVE_REGISTERS): Delete.
42 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
43 (machine_function): Add global_pointer field.
44 (mips_classify_constant): Check for (const $gp) using pointer equality
45 with pic_offset_table_rtx.
46 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
47 (mips_restore_gp): Use current_function_outgoing_args_size.
48 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
49 GP_REG_FIRST + 28. Handle relocation strings that have
51 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
52 (mips_global_pointer): New function.
53 (mips_save_reg_p): New function, mostly split out from...
54 (compute_frame_size): ...here. Remove handling of extra_size.
55 Reclaim args_size if no variables depend on it. Don't treat gp
56 as a special case: handle it in the main GPR loop.
57 (mips_initial_elimination_offset): Fix comment.
58 (save_restore_insns): Save every register in the GPR mask,
59 removing distinction between mask and real_mask.
60 (mips_output_function_prologue): Update .frame psuedo-op after
61 the removal of extra_size. Move the SVR4 PIC stack allocation
62 and cprestore instructions to mips_expand_prologue.
63 (mips_gp_insn): New function.
64 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
65 the chosen global pointer. Handle SVR4 PIC stack allocation
66 in the same way as other ABIs. Adjust varargs code accordingly.
67 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
68 to emit the loadgp sequence. Follow it with a loadgp_blockage
69 if not using explicit relocs.
70 (mips_output_function_epilogue): Reinstate the default gp register.
71 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
72 (mips16_optimize_gp): Likewise.
73 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
74 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
75 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
77 (loadgp_blockage, cprestore): New instructions.
78 (builtin_setjmp_setup): Implement using emit_move_insn. Use
80 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
81 (builtin_longjmp): Use gen_raw_REG to force use of $28.
83 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
85 * config/mips/mips-protos.h (mips_output_division): Declare.
86 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
87 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
88 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
89 (TARGET_CHECK_ZERO_DIV): New macro.
90 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
91 * config/mips/mips.c (mips_output_division): New function.
92 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
93 account when calculating the default length of a division.
94 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
95 Enable regardless of optimization level. Use mips_output_division.
96 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
97 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
98 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
99 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
100 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
101 umoddi3_internal): Remove.
103 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
105 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
106 (mips_sw_reg_names): Likewise.
107 (mips_regno_to_class): Change hilo entry to NO_REGS.
108 (hilo_operand): Use MD_REG_P.
109 (extend_operator): New predicate.
110 (override_options): Remove 'a' constraint.
111 (mips_secondary_reload_class): Remove hilo handling. Also remove
112 handling of (plus sp reg) reloads for mips16.
113 (mips_register_move_cost): Remove hilo handling.
114 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
115 (MD_REG_LAST): Remove hilo from range.
116 (HILO_REGNUM): Delete.
117 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
118 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
119 (PREDICATE_CODES): Add entry for extend_operator.
120 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
121 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
122 Remove constraints from multiplication define_expands. Remove
123 clobbers from "decorative" define_expand patterns.
124 (UNSPEC_HILO_DELAY): Delete.
125 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
126 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
127 Adjust C code to just emit insns for !TARGET_64BIT.
128 (mulsidi3_internal): Rename to mulsidi3_32bit.
129 (mulsidi3_64bit): Use a "d" constraint for the destination.
130 Use extend_operator so that the pattern can handle umulsidi3 as well.
131 Split the instruction after reload.
132 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
133 (umulsidi3_internal): Rename to umulsidi3_32bit.
134 (umulsidi3_64bit): Remove.
135 (*smsac_di, *umsac_di): Line-wrap fixes.
136 (udivsi3_internal): Don't allow operand 2 to be constant.
137 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
138 (movdi_internal2, movsi_internal): Remove hilo alternatives.
139 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
141 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
144 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
145 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
146 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
147 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
148 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
149 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
150 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
151 asm_out_text_file with asm_out_file.
152 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
153 * config/mips/elf.h (TEXT_SECTION): Undefine.
154 * config/mips/elf64.h (TEXT_SECION): Undefine.
155 * config/mips/openbsd.h (TEXT_SECION): Undefine.
156 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
157 (override_options): Disable small-data optimizations unless using
158 gas or explicit relocations.
159 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
160 iris6_asm_named_section, iris6_asm_file_start): Remove code for
161 handling TARGET_FILE_SWITCHING.
162 (copy_file_data): Move into TARGET_IRIX6 block.
164 2003-06-08 Richard Henderson <rth@redhat.com>
166 * expr.h (EXPAND_MEMORY): New.
167 * expr.c (expand_expr): Check it.
168 * stmt.c (expand_asm_operands): Provide it when the constraint
169 requires a memory. Warn for memory input constraints without
172 2003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
174 * varasm.c: Don't include c-tree.h.
176 2003-06-08 Andreas Jaeger <aj@suse.de>
178 * predict.h: Convert to ISO C90 prototypes.
179 * predict.c: Likewise.
180 * tree-dump.h: Likewise.
181 * tree-dump.c: Likewise.
182 * diagnostic.h: Likewise.
183 * diagnostic.c: Likewise.
184 * combine.c: Likewise.
186 * rtl.h: Convert prototypes of combine.c to ISO C90.
188 Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
190 * cfglayout.c (insn_scope): New static function
191 (block_locators_*, line_locators*, file_locators*): New static varrays.
192 (scope_to_insns_initialize): Use them.
193 (insn_line, insn_file): New functions.
194 (scope_to_insns_finalize): Use insn_scope.
195 (prologue_locator, epilogue_locator): New global variables.
196 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
197 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
198 (emit_insn_after_scope, emit_insn_before_scope
199 emit_jump_insn_after_scope, emit_jump_insn_before_scope
200 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
201 (emit_insn_after_setloc, emit_insn_before_setloc
202 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
203 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
205 * final.c (notice_source_line): Use locators.
206 (final_start_function): Set initial source file and line.
207 (final_scan_insn): Use locators.
208 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
209 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
210 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
211 noce_process_if_block, find_cond_trap): Likewise.
212 * integrate.c (copy_insn_list): Likewise.
213 * jump.c (duplicate_loop_exit_test): LIkewise.
214 * print-rtl.c (print_rtx): Print locators.
215 * recog.c (peephole2_optimize): Likewise.
216 * rtl.h (INSN_SCOPE): Remove.
217 (emit_insn_after_scope, emit_insn_before_scope
218 emit_jump_insn_after_scope, emit_jump_insn_before_scope
219 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
220 (emit_insn_after_setloc, emit_insn_before_setloc
221 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
222 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
223 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
224 * unroll.c (copy_loop_body): Use locators.
225 * function.c (set_insn_locators): New function.
226 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
228 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
230 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
231 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
232 _fixsfdi _fixunssfdi.
233 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
235 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
236 * config/h8300/clzhi2.c: New.
237 * config/h8300/ctzhi2.c: Likewise.
238 * config/h8300/parityhi2.c: Likewise.
239 * config/h8300/popcounthi2.c: Likewise.
241 Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
243 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
244 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
246 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
247 (dump_bb): New based on old dump_bb in cfgrtl.c
248 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
249 * cfghooks.h (cfgh_verify_flow_info): Return status.
250 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
251 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
252 (dump_bb): Remove generic parts.
253 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
254 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
256 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
258 * Makefile.in: Rename options.c and options.h to c-options.c and
260 (OBJS): Remove options.o.
261 * c-opts.c: Don'tInclude c-options.h instead of options.h.
262 * opts.c: Don't include options.h.
263 (find_opt): Can't use enum opt_code or N_OPTS.
264 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
267 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
268 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
271 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
272 if HAVE_MINCORE is defined.
273 (MAP_FAILED): Define if not defined.
274 (gt_pch_save): Test against MAP_FAILED.
275 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
276 the mapping address to the preferred base after checking it
277 is possible to do so. Test against MAP_FAILED.
278 * configure.in: Test for the presence of mincore in libc.
279 * config.in: Regenerate.
280 * configure: Regenerate.
282 2003-06-07 Richard Henderson <rth@redhat.com>
284 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
285 conditional compilation guard.
287 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
289 * optabs.c (expand_abs): Set result_unsignedp to 1 if
292 2003-06-07 Richard Henderson <rth@redhat.com>
294 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
296 2003-06-07 Richard Henderson <rth@redhat.com>
298 * basic-block.h (EDGE_SIBCALL): New.
299 (EDGE_ALL_FLAGS): Update.
300 * cfg.c (dump_edge_info): Add sibcall name.
301 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
302 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
304 2003-06-07 Andreas Jaeger <aj@suse.de>
306 * mklibgcc.in (lib2funcs): Remove _exit.
307 * libgcc2.c: Remove L_exit.
308 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
310 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
312 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
314 * ggc.h: Convert to ISO C90 prototypes.
315 * ggc-none.c: Likewise.
316 * ggc-common.c: Likewise.
317 * ggc-page.c: Likewise.
318 * ggc-simple.c: Likewise.
320 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
322 * system.h: Poison INIT_SECTION_PREAMBLE.
324 2003-06-07 Zack Weinberg <zack@codesourcery.com>
326 * config.gcc (with_cpu handling): Translate sparc64 in
327 $machine to --with-cpu=v9.
328 * config/alpha/alpha.c
329 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
330 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
332 * target.h: New hook asm_out.file_end.
333 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
334 * toplev.c (compile_file: Use targetm.asm_out.file_end.
335 * system.h: Poison ASM_FILE_END.
336 * varasm.c (file_end_indicate_exec_stack): New.
337 * output.h: Prototype it.
338 * doc/tm.texi: Document TARGET_ASM_FILE_END and
339 file_end_indicate_exec_stack. Delete references to attasm.h.
341 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
342 (ASM_FILE_END): Delete; move code...
343 * config/darwin.c (darwin_file_end): Here; new function.
344 * config/darwin-protos.h: Prototype it.
345 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
346 rename unicosmk_file_end.
347 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
348 * config/arm/arm.c (aof_file_end): ... here; new static function.
349 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
350 Make aof_dump_imports and aof_dump_pic_table static.
351 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
352 Set TARGET_ASM_FILE_END to avr_file_end.
353 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
354 Set TARGET_ASM_FILE_END to c4x_file_end.
355 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
356 make static. Take no arguments. Set TARGET_ASM_FILE_END to
358 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
359 * config/i370/i370.c (i370_file_end): ... here; new static function.
360 Set TARGET_ASM_FILE_END to i370_file_end.
361 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
362 Take no arguments. Call file_end_indicate_exec_stack if
363 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
364 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
365 Define NEED_INDICATE_EXEC_STACK to 0.
366 * config/i386/linux.h, config/i386/linux64.h: Redefine
367 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
368 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
369 i386_pe_file_end. Take no arguments. Use ix86_file_end.
370 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
371 ia64_hpux_file_end, make static. Take no arguments.
372 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
373 commands_in_prologues, commands_in_epilogues): Delete.
374 (function_epilogue): Update to match.
375 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
376 make static. Take no arguments.
377 (iris6_asm_file_end): Rename iris6_file_end, make static, use
378 mips_file_end, take no arguments.
379 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
381 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
382 make static, take no arguments. Set TARGET_ASM_FILE_END to
384 * config/pa/pa.c (output_deferred_plabels): Make static, take
385 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
386 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
387 (ASM_FILE_END): Delete; move code...
388 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
391 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
392 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
393 Don't set ASM_FILE_END.
394 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
395 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
396 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
397 file_end_indicate_exec_stack; don't set ASM_FILE_END.
398 * config/alpha/unicosmk.h, config/i386/cygming.h
399 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
400 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
401 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
402 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
403 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
404 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
406 Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
408 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
411 Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
413 * Makefile.in (stageprofile_build): Kill redundant target.
414 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
416 2003-06-07 Andreas Jaeger <aj@suse.de>
418 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
420 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
421 * config/dsp16xx/dsp16xx.h: Likewise.
422 * config/i386/i386.h: Likewise.
423 * config/ip2k/ip2k.h: Likewise.
425 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
427 * Makefile.in (OJBS, c-opts.o): Update.
428 (c-options.c, c-options.h): Rename options.h and options.c.
429 (options.h): Rename options_.h.
431 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
432 (c_common_init_options): Update prototype.
433 * c-lang.c (c_init_options): Update prototype.
434 (LANG_HOOKS_HANDLE_OPTION): Override.
435 (LANG_HOOKS_DECODE_OPTION): Drop.
436 * c-opts.c: Include opts.h and options.h instead of c-options.h
438 (lang_flags): Move to file scope.
439 (find_opt, c_common_decode_option): Remove.
440 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
441 CL_REJECT_NEGATIVE): Move to opts.h.
442 (missing_arg): Update prototype.
443 (c_common_init_options): Update for new prototype.
444 (c_common_handle_options): Filenames are passed as N_OPTS.
445 * hooks.c (hook_int_void_0): New.
446 * hooks.h (hook_int_void_0): New.
447 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
448 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
449 (LANG_HOOKS_INITIALIZER): Update.
450 * langhooks.h (init_options): Update.
451 (handle_option): New.
452 * opts.c, opts.h: New files.
453 * opts.sh: Update c file to include opts.h and options.h.
454 * toplev.c: Include opts.h; change options.h to options_.h.
455 (parse_options_and_default_flags): Get lang_mask, use
456 handle_option for language-specific handling.
457 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
458 (LANG_HOOKS_HANDLE_OPTION): Override.
459 (objc_init_options): Update.
461 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
462 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
465 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
468 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
470 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
472 * configure: Regenerate.
474 2003-06-07 Alan Modra <amodra@bigpond.net.au>
476 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
478 2003-06-06 James E Wilson <wilson@tuliptree.org>
481 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
484 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
486 * configure.in: Make $(target_subdir) correspond with top level usage.
487 * Makefile.in: Likewise.
488 * configure: Regenerate.
490 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
492 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
493 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
494 unsigned HOST_WIDE_INT.
495 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
497 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
500 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
502 * doc/install.texi (Prerequisites): New section documenting
503 tools and packages necessary prior to building and/or
505 * doc/install.texi2html: Also generate prerequisites.html.
507 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
510 * ifcvt.c (noce_process_if_block): Fail if the destination has
513 2003-06-06 Jason Merrill <jason@redhat.com>
515 * stmt.c (resolve_asm_operand_names): Rename from
516 resolve_operand_names. No longer static. Avoid needless copying.
517 Don't build array of constraints.
518 (expand_asm_operands): Build it here.
519 * tree.h: Declare resolve_asm_operand_names.
521 * stmt.c (expand_decl): Put artificial vars into registers even
522 when not optimizing, and don't mark the regs as user vars.
524 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
526 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
527 of the generated register.
529 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
531 * config.gcc: Add a missing sparc64 case.
533 2003-06-06 Jakub Jelinek <jakub@redhat.com>
535 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
536 the .hidden assembly stubs.
538 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
540 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
543 * config/i386/mmintrin.h: Update version and add alternate
545 * config/i386/xmmintrin.h: Likewise.
547 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
549 * config/i386/emmintrin.h: Here. New file.
551 2003-06-06 Roger Sayle <roger@eyesopen.com>
553 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
554 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
555 when the ABS_EXPR (fabs or abs) is not required.
556 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
557 always nonnegative from fold to here. Additionally, cabs and fabs
558 are always non-negative, and pow and atan are non-negative if
559 their first argument is non-negative.
561 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
562 Evaluate cabs of a constant at compile-time. Convert cabs of a
563 non-complex argument into fabs. Convert cabs(z) into
564 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
565 -funsafe-math-optimizations or -ffast-math.
566 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
567 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
569 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
571 * sourcebuild.texi (Front End Directory): Document new hooks.
573 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
575 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
576 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
578 (pro_epilogue_adjust_stack_rex64_2): New pattern
580 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
582 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
584 * cfghooks.h, cfghooks.c: New files.
585 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
586 (OBJS): Add cfghooks.o.
587 (cfghooks.o): New rule.
588 * basic-block.h (split_edge): Rename to rtl_split_edge.
589 (verify_flow_info): Rename to rtl_verify_flow_info.
590 (cfghooks.h): Included here.
591 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
592 (verify_flow_info): Renamed rtl_verify_flow_info.
593 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
595 * basic-block.h (split_block, split_edge, flow_delete_block,
596 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
597 (flow_delete_block_noexpunge): Return void.
598 * cfg.c (verify_flow_info): New function.
599 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
600 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
602 * cfglayout.c (function_footer): Rename to...
603 (cfg_layout_function_footer): ... this variable
604 (unlink_insn_chain): Make global.
605 (fixup_reorder_chain, record_effective_endpoints): Update.
606 (cleanup_unconditional_jumps): Use delete_block.
607 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
608 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
609 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
610 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
611 (cfg_layout_function_footer): Declare.
612 * cfgloopmanip (split_loop_bb): Do not update RBI.
613 (remove_bbs): Use delete_block.
614 (loop_reidrect_edge, loop_delete_branch_edge): Use
615 redirect_edge_and_branch.
616 (create_preheader): Use split_block and redirect_edge_and_branch_force.
617 (split_edge_with): Likewise.
618 * cfgrtl.c: Include cfglayout.h
619 (split_edge): Rename to ...
620 (rtl_split_edge) ... this one; make local.
621 (redirect_edge_and_branch): Rename to ...
622 (rtl_redirect_edge_and_branch) ... this one; make local.
623 (redirect_edge_and_branch_force): Rename to ...
624 (rtl_redirect_edge_and_branch_force) ... this one; make local.
625 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
626 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
627 cfglayout.c; update to directly call RTL counterparts.
628 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
629 * ifcvt.c (find_cond_trap): Use delete_block.
630 (find_if_case_1): Use delete_block.
631 (find_if_case_2): Use delete_block.
632 * rtl.h (unlink_insn_chain): Declare.
633 * toplev.c (rtl_reigster_cfg_hooks): New.
635 2003-06-05 Richard Henderson <rth@redhat.com>
637 * recog.c (peephole2_optimize): Revert last change.
639 2003-06-05 Richard Henderson <rth@redhat.com>
641 * recog.c (peephole2_optimize): Don't split block unless
644 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
646 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
647 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
649 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
652 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
653 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
654 documentation to accurately reflect what these options do.
656 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
658 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
659 (ENDFILE_SPEC): Redefine to handle -pie.
661 2003-06-05 Phil Edwards <phil@jaj.com>
663 * Makefile.in (qmtest-g++): Use target_alias, not target.
665 2003-06-05 Per Bothner <pbothner@apple.com>
667 * toplev.c (push_srcloc): Simplify behavior to save current location
668 and set current location to parameters.
669 (pop_srcloc): Simplify semantics.
670 (lang_dependent_init): Remove now-useless initial push_srcloc.
672 2003-05-06 Richard Henderson <rth@redhat.com>
674 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
675 language-specific tree codes.
677 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
680 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
681 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
683 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
685 * install.tex: Document profiledbootstrap.
687 * configure.in: Add support for lang.stageprofile and
689 * Makefile.in (clean, distclean): Kill new stages
690 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
691 (STAGE2_FLAGS_TO_PASS): ... this one.
692 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
693 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
694 (stageprofile_build, stageprofile_copy, stagefeedback_build,
695 stagefeedback_copy): New.
696 (restageprofile, restagefeedback, stageprofile-start,
697 stageprofile, stagefeedback-start): Likewise.
699 2003-06-05 David Miller <davem@redhat.com>
700 Richard Henderson <rth@redhat.com>
702 * optabs.c (HAVE_conditional_trap): Provide default.
703 (gen_conditional_trap): Likewise.
704 (init_optabs): Merge init_traps.
705 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
707 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
709 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
710 is REG for nonzero_bits (REG) == 8.
712 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
714 * i386.md (align): Fix warning; clarify what to do when no p2align
717 2003-06-05 Nick Clifton <nickc@redhat.com>
719 * config.gcc (m32r-elf): Revert previous delta.
720 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
721 multilibs. Remove m32rx specific version.
722 (crtfini.o): Likewise.
723 (EXTRA_MULTILIB_PARTS): Define.
725 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
727 * doc/md.texi (Machine Constraints): Correct the meaning of
728 constraints related to floating-point registers on SPARC.
730 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
731 Paolo Bonzini <bonzini@gnu.org>
734 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
735 assembler and linker output to /dev/null.
736 Use a 'sed' construct instead of 'grep -A1'.
737 * configure: Regenerate.
739 2003-06-04 Richard Henderson <rth@redhat.com>
741 * config/i386/i386.c (struct ix86_address): Add seg.
742 (no_seg_address_operand): New.
743 (ix86_decompose_address): Restructure PLUS loop. Accept one
744 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
745 to test for a regnum, not stack_pointer_rtx.
746 (ix86_address_cost): Reduce cost if non-default segment.
747 (legitimate_address_p): Remove UNSPEC_TP check.
748 (get_thread_pointer): Add to_reg argument. Don't represent
749 the thread pointer as a memory load.
750 (legitimize_tls_address): Split out of ...
751 (legitimize_address): ... here.
752 (print_operand_address): Handle parts.seg.
753 (ix86_expand_move): Use legitimize_tls_address.
754 (ix86_rtx_costs): Handle UNSPEC_TP.
755 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
756 (TARGET_TLS_DIRECT_SEG_REFS): New.
757 (TARGET_SWITCHES): Add tls-direct-seg-refs.
758 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
759 (PREDICATE_CODES): Add no_seg_address_operand.
760 * config/i386/i386.md (lea_1): Use it.
761 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
762 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
763 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
764 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
765 * doc/invoke.texi: Add -mtls-direct-seg-refs.
767 2003-06-04 Mark Mitchell <mark@codesourcery.com>
769 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
770 (QMTEST_GPP_TESTS): Use "g++" by default.
771 (stamp-qmtest): Tweak database creation.
772 (QMTEST_DIR/context): Update context file format.
773 (qmtest-g++): Tweak command-line.
775 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
777 * Makefile.in (varasm.o): Don't set -Wno-error.
778 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
780 2003-06-04 Zack Weinberg <zack@codesourcery.com>
783 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
784 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
785 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
786 and AC_CHECK_FUNCS lists, respectively. Use
787 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
789 * configure, config.in: Regenerate.
791 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
793 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
794 * arm.c (arm_output_function_prologue): Fix format specifiers.
795 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
796 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
797 HOST_WIDE_INT_PRINT_DEC.
798 * vax.c (vax_output_function_prologue): Fix format specifiers.
800 2003-06-04 Richard Henderson <rth@redhat.com>
802 * cse.c (find_best_addr): Consider binary operators even if second
803 argument is not CONST_INT.
805 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
807 * doc/invoke.texi (max-cse-path-length): Document.
809 2003-06-04 Richard Henderson <rth@redhat.com>
811 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
813 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
815 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
816 Remove semi-colon at the end of the expression.
818 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
820 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
821 * i370.h (mvs_function_name_length): Likewise.
822 * i960.h (CONSTANT_ALIGNMENT): Likewise.
823 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
824 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
825 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
826 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
829 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
831 * config.gcc: Reorganize --with-cpu logic. Set
832 configure_default_options according to the default CPU, --with-cpu,
833 --with-arch, --with-tune, --with-schedule, --with-abi, and
834 --with-float. Check for legal values of various options.
835 * configure.in: Define configure_default_options in configargs.h.
836 * configure: Regenerated.
837 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
838 (TARGET_DEFAULT_FLOAT_P): New macros.
839 * gcc.c (do_option_spec): New function.
840 (struct default_spec, option_default_specs): New.
841 (main): Call do_option_spec.
842 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
843 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
844 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
846 * doc/install.texi: Update --with-cpu documentation. Mention
847 --with-arch, --with-schedule, --with-tune, --with-abi, and
849 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
851 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
853 * config.gcc: Only process --with-cpu logic in the third pass.
855 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
857 * config.gcc: Reorganize --with-cpu section. Remove an
858 obsolete comment about the default CPU for x86-64. Fix
859 a typo for the ep9312. Update the list of supported PowerPC
860 CPUs. Support a limited set of new --with-cpu options
863 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
865 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
866 complex numbers <= 32 bits into two registers.
868 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
870 * alpha.c (print_operand_address): Fix format specifier warnings.
871 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
872 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
873 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
874 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
875 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
876 ASM_OUTPUT_SKIP): Likewise.
877 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
878 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
879 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
881 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
882 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
883 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
884 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
885 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
886 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
887 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
888 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
889 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
890 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
892 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
894 * c-decl.c (c_init_decl_processing): Clear input_file_name
895 while building common nodes.
896 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
897 Don't add working directory for strings like <built-in> .
899 2003-06-04 David Edelsohn <edelsohn@gnu.org>
901 * doc/install.texi (*-ibm-aix*): Native as and ld required
902 to bootstrap on AIX 5L.
904 2003-06-04 Richard Henderson <rth@redhat.com>
906 * c-common.c (handle_cleanup_attribute): New.
907 (c_common_attributes): Add it.
908 * c-decl.c (finish_decl): Honor the cleanup attribute.
909 * doc/extend.texi (Variable Attributes): Document it.
911 * unwind-c.c: New file.
912 * Makefile.in (LIB2ADDEH): Add it.
913 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
914 config/ia64/t-ia64: Likewise.
916 2003-06-04 Jakub Jelinek <jakub@redhat.com>
918 * function.c (trampolines_created): New variable.
919 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
920 * function.h (trampolines_created): Add.
921 * config/s390/linux.h (ASM_FILE_END): Define.
922 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
923 * config/m68k/linux.h (ASM_FILE_END): Define.
924 * config/rs6000/linux.h (ASM_FILE_END): Define.
925 * config/rs6000/linux64.h (ASM_FILE_END): Define.
926 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
927 * config/sparc/linux.h (ASM_FILE_END): Define.
928 * config/sparc/linux64.h (ASM_FILE_END): Define.
929 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
930 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
931 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
933 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
935 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
936 (ix86_reorg): Use it.
937 * i386.md (align): New insn pattern.
939 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
941 * toplev.c (rest_of_type_compilation): Fix typo.
943 2003-06-04 Jakub Jelinek <jakub@redhat.com>
944 Alan Modra <amodra@bigpond.net.au>
946 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
947 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
948 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
949 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
950 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
951 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
952 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
953 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
955 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
956 Pass it to $gcc_cv_as.
957 * configure: Rebuilt.
959 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
960 (print_operand): Allow TARGET_AIX to be non-constant.
961 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
962 Define unconditionally.
963 (rs6000_elf_declare_function_name): New function.
964 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
966 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
968 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
969 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
971 (TARGET_AIX): Define to 1 if TARGET_64BIT.
972 (PROCESSOR_DEFAULT): Remove.
973 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
974 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
975 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
976 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
978 (MULTILIB_DEFAULTS): Define.
979 (SUBSUBTARGET_EXTRA_SPECS): Define.
980 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
981 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
982 (TARGET_NO_TOC): Remove.
983 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
984 TARGET_PROTOTYPE): Define to 0.
985 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
986 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
987 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
989 (USER_LABEL_PREFIX): Remove.
990 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
991 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
993 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
994 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
995 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
996 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
997 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
998 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
1000 (RS6000_CALL_GLUE): Likewise.
1001 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
1002 RESTORE_FP_SUFFIX): Likewise.
1003 (ASM_DECLARE_FUNCTION_NAME): Remove.
1004 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
1005 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
1006 name if TARGET_64BIT.
1007 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
1009 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
1010 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
1011 (DRAFT_V4_STRUCT_RET): Define.
1012 (SIGNAL_FRAMESIZE): New enum value.
1013 (MD_FALLBACK_FRAME_STATE_FOR): Define.
1014 * config/rs6000/default64.h: New file.
1015 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
1017 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
1018 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
1020 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
1021 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
1023 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
1024 (TARGET_OS_CPP_BUILTINS): Use it.
1025 (CPP_SYSV_SPEC): Remove.
1026 (CPP_SPEC): Remove cpp_sysv.
1027 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
1028 Add SUBSUBTARGET_EXTRA_SPECS.
1029 (SUBSUBTARGET_EXTRA_SPECS): Define.
1030 * config/rs6000/biarch64.h: New file.
1031 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
1033 * config/rs6000/x-linux64: New file.
1034 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
1036 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
1037 * config/rs6000/eabi-cn.asm: Likewise.
1038 * config/rs6000/tramp.asm: Likewise.
1039 * config/rs6000/sol-ci.asm: Likewise.
1040 * config/rs6000/sol-cn.asm: Likewise.
1041 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
1042 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
1043 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
1044 _CALL_AIXDESC section.
1045 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
1046 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
1049 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1051 * config.gcc: Revert accidentally committed ARM changes.
1053 2003-06-04 Roger Sayle <roger@eyesopen.com>
1055 * builtins.c (dconstpi, dconste): New mathematical constants.
1056 (init_builtin_dconsts): New function to initialize dconstpi
1058 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
1059 compile time with -ffast-math when x is an integer constant.
1060 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
1061 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
1063 2003-06-04 Roger Sayle <roger@eyesopen.com>
1065 * calls.c (expand_call): Avoid calling pure or const functions
1066 when the result is ignored (or void) and none of the arguments
1067 are volatile. Move warning diagnostic earlier in function.
1069 2003-06-04 Andreas Jaeger <aj@suse.de>
1071 * system.h: Do not poison TDESC_SECTION_ASM_OP,
1072 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
1074 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1076 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
1077 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
1078 handle %ll, optimize regular character case.
1080 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1082 * Makefile.in (cse.o): Add params.h dependency.
1083 * cse.c: Include params.h.
1084 (PATHLENGTH): Removed.
1085 (struct cse_basic_block_data): Make path array dynamic.
1086 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
1088 (cse_main, cse_basic_block): Allocate path array.
1089 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
1091 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
1093 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
1094 * i386.md (UNSPEC_REP): New constant.
1095 (return_internal_long): New pattern.
1097 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1099 PR optimization/11018
1100 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
1101 consistently to decide whether the scratch register is really
1104 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1106 PR optimization/10876
1107 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
1108 new 'O' constraint for constant 4096.
1109 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
1110 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
1111 Do not transform into MINUS insn for constant 4096.
1112 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
1113 for constant 4096 as third operand.
1114 (addsi3 expander): Remove.
1115 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
1116 new alternative for constant 4096 as third operand.
1117 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
1118 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
1120 (subsi3 expander): Remove.
1121 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
1122 constant 4096 as third operand.
1123 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
1126 2003-06-03 Chris Demetriou <cgd@broadcom.com>
1128 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
1130 2003-06-04 Andreas Jaeger <aj@suse.de>
1132 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
1134 * config/i386/i386.c (ix86_expand_prologue): Do not use
1137 * system.h: Poision SUBTARGET_PROLOGUE.
1139 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
1141 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
1144 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
1146 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
1147 INSN_CACHE_LINE_WIDTH.
1149 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
1150 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
1151 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1153 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
1154 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1156 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
1157 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
1158 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
1159 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
1160 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
1161 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
1163 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
1164 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
1165 DBX_WORKING_DIRECTORY.
1167 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
1168 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
1170 * config/frv/frv-protos.h: Remove unused const_section
1172 * config/vax/vax-protos.h: Likewise.
1174 * output.h: Remove CONST_SECTION_ASM_OP usage.
1176 * system.h: Poison CONST_SECTION_ASM_OP.
1178 * crtstuff.c (__do_global_dtors_aux): Remove usage of
1180 (frame_dummy): Likewise.
1181 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
1182 * system.h: Poison CRT_GET_RFIB_TEXT.
1184 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
1186 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
1187 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
1188 (recognized_function): Likewise.
1189 (read_scan_file): Likewise.
1191 2003-06-03 Roger Sayle <roger@eyesopen.com>
1193 * optabs.c (expand_binop): Optimize complex multiplication for
1194 the case of squaring a complex argument.
1196 2003-06-03 Roger Sayle <roger@eyesopen.com>
1198 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
1199 non-volatile operands of binary operations.
1200 (prepare_cmp_insn): Likewise.
1202 2003-06-03 Roger Sayle <roger@eyesopen.com>
1204 * varasm.c (force_const_mem): Handle alignment of constants not
1205 representable as a type in the front-end language.
1207 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
1209 * flow.c (initialize_uninitialized_subregs): Use
1210 emit_move_insn instead of emitting a hardcoded move.
1212 2003-06-03 Richard Henderson <rth@redhat.com>
1214 * optabs.c (expand_abs_nojump): Split out from ...
1215 (expand_abs): ... here.
1216 * optabs.h (expand_abs_nojump): Declare.
1217 * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
1218 * Makefile.in (ifcvt.o): Depend on optabs.h.
1220 2003-06-03 Alan Modra <amodra@bigpond.net.au>
1222 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
1224 2003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
1226 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
1227 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
1229 * configure.in: Allow default_use_cxa_atexit to determine the
1230 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
1232 * configure: Regenerate.
1234 2003-06-03 Douglas B Rupp <rupp@gnat.com>
1236 * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
1237 * doc/gcc.texi: Remove vms.texi section.
1238 * doc/vms.texi: Remove obsolete file.
1240 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
1242 * configure.in (inhibit_libc): Don't define when configuring
1243 with --with-newlib --with-headers.
1244 * configure: Regenerate.
1246 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
1248 2003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1250 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
1251 IRIX 6 without GNU ld.
1252 * configure: Regenerate.
1254 2003-06-03 Roger Sayle <roger@eyesopen.com>
1256 * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
1257 of a complex number rather than invoke mov_optab directly.
1259 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
1261 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
1262 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
1264 2003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
1266 * config/i386/x86-64.h: Remove two target-independent comments;
1267 replace "GNU CC" with "GCC".
1269 2003-06-03 Anthony Green <green@redhat.com>
1271 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
1273 2003-06-03 Roger Sayle <roger@eyesopen.com>
1275 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
1276 New builtins representing ISO C99's cabs, cabsf and cabsl.
1277 * builtins.c (expand_builtin_fabs): New function.
1278 (expand_builtin_cabs): New function.
1279 (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
1280 using expand_builtin_fabs and expand_builtin_cabs respectively.
1282 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
1284 2003-06-03 Aldy Hernandez <aldyh@redhat.com>
1286 * function.c (assign_parms): Split complex arguments.
1288 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
1290 * expr.h (SPLIT_COMPLEX_ARGS): Define.
1291 (split_complex_types): Protoize.
1292 (split_complex_values): Protoize.
1294 * calls.c (expand_call): Split complex arguments on architectures
1296 (split_complex_values): New.
1297 (split_complex_types): New.
1299 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
1300 (rs6000_function_value): Handle complex values on AIX.
1301 (rs6000_complex_function_value): New.
1303 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
1305 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
1306 (SPLIT_COMPLEX_ARGS): New.
1308 2003-06-03 Jakub Jelinek <jakub@redhat.com>
1310 * configure.in (HAVE_LD_PIE): Check for ld -pie.
1311 * config.in: Rebuilt.
1312 * configure: Rebuilt.
1313 * toplev.c (flag_pie, flag_shlib): New variables.
1314 (f_options): Add -fpie and -fPIE.
1315 (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
1316 Set flag_shlib if flag_pic and not -fpie/-fPIE.
1317 * flags.h (flag_pic, flag_shlib): Add.
1318 * varasm.c (default_binds_local_p): Use flag_shlib instead of
1320 * gcc.c (LINK_PIE_SPEC): Define.
1321 (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
1322 (option_map): Add --pie -> -pie mapping.
1323 * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
1324 and -fPIE the same way as -fPIC.
1325 * config/openbsd.h (ASM_SPEC): Likewise.
1326 * config/frv/frv.h (ASM_SPEC): Likewise.
1327 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
1328 * config/arm/semi.h (ASM_SPEC): Likewise.
1329 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
1330 * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
1331 * config/i386/beos-elf.h (CC1_SPEC): Likewise.
1332 * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
1333 * config/m68k/linux.h (CPP_SPEC): Likewise.
1334 * config/m68k/netbsd.h (ASM_SPEC): Likewise.
1335 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
1336 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
1337 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
1338 * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
1339 * config/pa/pa-linux.h (CPP_SPEC): Likewise.
1340 * config/netbsd-aout.h (ASM_SPEC): Likewise.
1341 * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
1342 * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
1343 * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1344 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1345 * config/sparc/sparc.h (ASM_SPEC): Likewise.
1346 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1347 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
1348 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
1349 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
1350 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
1351 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
1353 * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1354 * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1355 * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1356 * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1357 * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1358 * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1359 * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1360 * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
1362 2003-06-03 Jakub Jelinek <jakub@redhat.com>
1364 * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
1365 != 0 handling. Pass 0 to store_by_pieces.
1366 (expand_builtin_mempcpy): Add endp argument. Don't call
1367 expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
1368 directly. If ignoring result, only do expand_call.
1369 (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy
1371 (expand_builtin_strncpy, expand_builtin_memset): Adjust
1372 store_by_pices callers.
1373 (expand_builtin): Adjust expand_builtin_memcpy and
1374 expand_builtin_mempcpy callers.
1375 * expr.c (can_move_by_pieces): New function.
1376 (move_by_pieces): Add endp argument, return to resp. memory at end
1377 or one byte earlier depending on endp.
1378 (store_by_pieces): Likewise.
1379 (emit_block_move): Adjust call to move_by_pieces.
1380 (emit_push_insn): Adjust move_by_pieces caller.
1381 * expr.h (can_move_by_pieces): New prototype.
1382 (store_by_pieces): Adjust prototypes.
1383 * rtl.h (move_by_pieces): Adjust prototype.
1384 * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
1387 2003-06-03 Ben Elliston <bje@wasabisystems.com>
1389 * doc/md.texi (Processor pipeline description): Improve wording.
1391 2003-06-03 Neil Booth <neil@daikokuya.co.uk>
1393 * c-opts.c (c_common_handle_option): New, pulled out of
1394 c_common_decode_option. Substitute uses of argv.
1395 (c_common_decode_option): Broken into two.
1397 2003-06-02 Roger Sayle <roger@eyesopen.com>
1398 Zack Weinberg <zack@codesourcery.com>
1400 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
1401 test of TREE_CONSTANT_POOL_ADDRESS_P.
1403 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1405 * mips.c: Don't include output.h twice.
1406 * stormy16.c: Likewise.
1407 * xtensa.c: Likewise.
1408 * output.h: Protect against multiple inclusion.
1410 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
1412 * sh.h (OLD_ARG_MODE): New macro.
1413 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
1414 (FUNCTION_ARG_1): Break out of:
1415 (FUNCTION_ARG). Use OLD_ARG_MODE.
1417 2003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1419 * gcc/config.gcc Add support multilib parts for m32rx processor.
1421 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1423 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
1424 (mostlyclean): Delete c-options.c and c-options.h.
1426 2003-06-02 Neil Booth <neil@daikokuya.co.uk>
1428 * c-opts.c (CL_REJECT_NEGATIVE): New.
1429 (c_common_decode_option): Update to use it.
1430 * c.opt: Update documentation; use RejectNegative.
1431 * opts.sh: Handle RejectNegative.
1433 2003-06-01 Zack Weinberg <zack@codesourcery.com>
1435 * ggc-page.c (init_ggc): Give better diagnostics on failure to
1437 * toplev.c (crash_signal): Reset handling for received signal
1440 2003-06-02 Ben Elliston <bje@wasabisystems.com>
1442 * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
1443 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
1444 (arm_use_dfa_pipeline_interface): Implement.
1445 * config/arm/arm.md (arm): New automaton.
1446 (write_buf): Remove function units; new cpu unit.
1447 (write_blockage): Remove function units; new cpu unit.
1448 (core): Remove function units; new cpu unit.
1449 (r_mem_f_wbuf): New instruction reservation.
1450 (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
1451 (store1_ldsched, store2, store3, store4): Likewise.
1452 (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
1453 (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
1454 (multi_cycle, single_cycle): Likewise.
1455 * config/arm/fpa.md (armfp): New automaton.
1456 (fpa): Remove function units; new cpu unit.
1457 (fpa_mem): Remove function unit; new cpu unit.
1458 (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
1459 (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
1461 2003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1463 * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
1464 * c-format.c (enum format_type): Add asm_fprintf_format_type.
1465 (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
1466 asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
1467 (format_types_orig): Renamed from format_types. Add new data.
1468 (format_types): Declare as pointer.
1469 (handle_format_attribute): Move later in file so we have all
1470 necessary declarations. Add section to capture HOST_WIDE_INT.
1471 * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
1472 (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
1474 2003-06-01 Andreas Jaeger <aj@suse.de>
1476 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
1477 ROUND_TYPE_SIZE_UNIT.
1479 * stor-layout.c (finalize_record_size): Remove usages of
1480 ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1481 (finalize_type_size): Likewise.
1482 (layout_type): Likewise.
1484 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1486 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
1488 * config/d30v/d30v.h: Remove text copied from the manual.
1490 2003-06-01 Roger Sayle <roger@eyesopen.com>
1491 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1492 Geoffrey Keating <geoffk@apple.com>
1494 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
1495 constants as condition code values.
1497 2003-06-01 DJ Delorie <dj@redhat.com>
1499 * cppmacro.c (warn_of_redefinition): Handle cases where the two
1500 definitions have different numbers of tokens.
1502 2003-06-01 Andreas Jaeger <aj@suse.de>
1504 * gen-protos.c (main): Readd unused attribute for argc.
1506 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1508 * Makefile.in (c-options.c, c-options.h): Parallel make safe.
1509 * c.opt: End in blank line.
1510 * opts.sh: Take AWK from environment if available; use C locale.
1512 2003-06-01 Andreas Schwab <schwab@suse.de>
1514 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
1516 2003-06-01 Andreas Jaeger <aj@suse.de>
1518 * gen-protos.c (main): Revert patch to check for argument.
1520 2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1523 * config/i386/i386.md (length attribute): Set length to 4
1524 for instructions of type "fcmp".
1526 2003-06-01 Andreas Jaeger <aj@suse.de>
1528 * toplev.c: Use ISO C90 prototypes.
1530 * toplev.h: Use ISO C90 prototypes.
1532 * genrecog.c: Use ISO C90 prototypes.
1533 (nodes_identical): Correct declaration to match prototype.
1534 (maybe_both_true): Likewise.
1535 (merge_trees): Likewise.
1537 * genpeep.c (gen_peephole): Remove #if 0 code.
1538 Use ISO C90 prototypes.
1540 * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
1541 Remove #if 0'ed function simplify_by_alternatives.
1542 (optimize_attrs): Remove #if 0'ed code.
1544 Use ISO C90 prototypes.
1545 (make_canonical): Remove #if 0'ed code.
1546 (convert_const_symbol_ref): Remove #if 0'ed function.
1548 * gen-protos.c (main): Check for argument.
1550 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
1552 * params.h: Use ISO C90 prototypes.
1553 * params.c: Likewise.
1556 * lists.c: Likewise.
1557 * errors.c: Likewise.
1558 * errors.h: Likewise.
1559 * gencodes.c: Likewise.
1560 * genpreds.c: Likewise.
1561 * genattr.c: Likewise.
1562 * gen-protos.c: Likewise.
1563 * genflags.c: Likewise
1564 * genconditions.c: Likewise.
1565 * genautomata.c: Likewise.
1566 * gencheck.c: Likewise.
1567 * genconfig.c: Likewise.
1568 * genconstants.c: Likewise.
1569 * genemit.c: Likewise.
1570 * genextract.c: Likewise.
1571 * gengenrtl.c: Likewise.
1572 * gengtype.c: Likewise.
1573 * gengtype.h: Likewise.
1574 * genopinit.c: Likewise.
1575 * genoutput.c: Likewise.
1576 * gensupport.c: Likewise.
1577 * gensupport.h: Likewise.
1579 * sdbout.h: Use ISO C90 prototypes.
1581 * sdbout.c (CONTIN): Removed empty macro.
1582 (sdbout_one_type): Remove CONTIN usages.
1584 (tag_of_ru_type): Remove #if 0'ed function.
1585 (sdbout_symbol): Remove #if 0'ed code.
1586 (sdbout_one_type): Remove a #if 1.
1587 (sdbout_one_type): Remove #if 0'ed code.
1588 (sdbout_init): Remove RMS_QUICK_HACK_1 code.
1589 Remove PARAMS, use ISO C90 prototypes for all functions.
1591 2003-06-01 Josef Zlomek <zlomekj@suse.cz>
1593 * rtl.def (CONST_DOUBLE): Update comment.
1595 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1597 * opts.sh: Remove path from sort.
1599 2003-06-01 Aldy Hernandez <aldyh@redhat.com>
1602 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
1603 TARGET_SPE for SPE_VECTOR_MODE.
1605 2003-05-31 Aldy Hernandez <aldyh@redhat.com>
1607 * toplev.c (botch): Remove.
1609 (set_Wunused): Comment.
1610 (set_Wextra): Comment.
1612 (rest_of_compilation): Factor out common code into functions.
1613 (rest_of_handle_inlining): New.
1614 (rest_of_handle_ssa): New.
1615 (rest_of_handle_cse): New.
1616 (rest_of_handle_gcse): New.
1617 (rest_of_handle_loop_optimize): New.
1618 (rest_of_handle_jump_bypass): New.
1619 (rest_of_handle_sibling_calls): New.
1620 (rest_of_handle_null_pointer): New.
1621 (rest_of_handle_addresof): New.
1622 (rest_of_handle_flow): New.
1623 (rest_of_handle_branch_prob): New.
1624 (rest_of_handle_if_conversion): New.
1625 (rest_of_handle_tracer): New.
1626 (rest_of_handle_loop2): New.
1627 (rest_of_handle_cse2): New.
1628 (rest_of_handle_life): New.
1629 (rest_of_handle_combine): New.
1630 (rest_of_handle_if_after_combine): New.
1631 (rest_of_handle_regmove): New.
1632 (rest_of_handle_sched): New.
1633 (rest_of_handle_old_regalloc): New.
1634 (rest_of_handle_new_regalloc): New.
1635 (rest_of_handle_regrename): New.
1636 (rest_of_handle_reorder_blocks): New.
1637 (rest_of_handle_sched2): New.
1638 (rest_of_handle_new_regalloc): New.
1639 (rest_of_handle_old_regalloc): New.
1640 (rest_of_handle_regrename): New.
1641 (rest_of_handle_reorder_blocks): New.
1642 (rest_of_handle_stack_regs): New.
1643 (rest_of_handle_machine_reorg): New.
1644 (rest_of_handle_delay_slots): New.
1645 (rest_of_handle_final): New.
1647 * toplev.h (botch): Remove prototype.
1650 2003-05-31 Neil Booth <neil@daikokuya.co.uk>
1652 * Makefile.in (c-opts.o, c-options.h): Update dependencies.
1653 * c-opts.c: Include c-options.h and c-options.c.
1654 (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
1655 Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
1656 (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
1657 OPT, opt_comp): Remove.
1658 (missing_arg, c_common_init_options, c_common_decode_option,
1659 write_langs): Update for macro redefinitions and enumeration
1661 * c.opt, opts.sh: New files.
1662 * doc/passes.texi: Update.
1664 2003-05-31 Andreas Jaeger <aj@suse.de>
1666 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
1669 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
1671 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
1673 * system.h: Poison ALLOCATE_TRAMPOLINE.
1675 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
1676 * system.h: Poison HANDLE_PRAGMA.
1678 2003-05-31 Kazu Hirata <kazu@cs.umass.edu>
1680 * doc/invoke.texi: Update dump file names.
1682 2003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1684 * c-format.c (format_length_info, format_char_info,
1685 format_flag_spec, format_flag_pair, format_kind_info):
1686 De-const-ify structure members.
1688 2003-05-31 Roger Sayle <roger@eyesopen.com>
1690 * flags.h (flag_wrapv): New flag controlling overflow semantics.
1691 * toplev.c (flag_wrapv): Declare the variable with default false.
1692 (lang_independent_options): New option "-fwrapv" to set the above.
1694 * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
1695 as x, when signed arithmetic overflow wraps around.
1696 (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
1697 * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
1698 overflow when flag_wrapv is true.
1700 * doc/invoke.texi: Document new -fwrapv command line option.
1701 * doc/c-tree.texi: Mention that the overflow semantics of
1702 NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
1703 upon both flag_wrapv and flag_trapv.
1705 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1707 * doc/install.texi (mips-sgi-irix5): Add missing
1710 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1712 * doc/md.texi (Machine Constraints): Document
1713 missing SPARC constraints.
1715 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1717 * doc/md.texi (Automaton pipeline description): Use
1718 "type" instead of "cpu" as the attribute in the examples.
1720 2003-05-30 Stan Shebs <shebs@apple.com>
1722 * system.h: Poison OBJC_PROLOGUE.
1724 2003-05-30 Roger Sayle <roger@eyesopen.com>
1726 * emit-rtl.c (gen_complex_constant_part): New function for getting
1727 the constant real or imaginary part of a complex constant.
1728 (gen_realpart): Use it.
1729 (gen_imagpart): Likewise.
1731 2003-05-30 Kazu Hirata <kazu@cs.umass.edu>
1733 * doc/invoke.texi: Fix typos.
1734 * doc/rtl.texi: Likewise.
1736 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
1738 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
1740 * config/h8300/crtn.asm: Likewise.
1741 * config/h8300/lib1funcs.asm: Likewise.
1742 * config/h8300/h8300.c (asm_file_start): Likewise.
1743 * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
1744 h8300snelf emulations for normal mode.
1745 * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
1746 emulations for normal mode.
1748 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
1750 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
1751 true if TARGET_NORMAL_MODE.
1753 2003-05-30 Roger Sayle <roger@eyesopen.com>
1755 * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
1756 making a substitution.
1757 (dead_libcall_p): If directly replacing a libcall with a
1758 constant value produces an invalid instruction, also try forcing
1759 the constant into the constant pool.
1760 * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
1761 obvious that the source is a constant.
1762 (compress_float_constant): Use set_unique_reg_note to place
1763 REG_EQUAL notes on instructions.
1765 2003-05-30 Eric Christopher <echristo@redhat.com>
1767 * config/mips/mips.c (extern_list): Add GTY marker.
1768 (extern_head): Separate out definition. Add marker.
1769 (mips_output_external): Use ggc_alloc for extern_list
1771 (mips_output_external_libcall): Ditto.
1773 2003-05-30 Florian Weimer <fw@deneb.enyo.de>
1775 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
1778 2003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1780 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1782 (PRINT_OPERAND): Likewise.
1784 2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1786 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
1787 -mdebug/-no-mdebug switches ...
1788 (MDEBUG_ASM_SPEC): ... here.
1790 (EXTRA_SPECS): Initialize mdebug_asm_spec.
1792 2003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
1794 * gthr-gnat.c: Remove #undef UNUSED.
1795 (__gnat_default_lock, __gnat_default_unlock): Prototype.
1796 (__gnat_task_lock, __gnat_task_unlock): Make declarations
1798 (__gnat_install_locks): Convert declaration to ISO C90, make
1799 parameter declarations prototypes, and remove blank line.
1800 * gthr-gnat.h (__gnat_install_locks): Make parameter
1801 declarations prototypes.
1803 2003-05-29 Jason Merrill <jason@redhat.com>
1805 * Makefile.in (unstrap): Remove stage_last after make unstage1.
1807 2003-05-29 Roger Sayle <roger@eyesopen.com>
1809 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
1811 2003-05-29 Roger Sayle <roger@eyesopen.com>
1812 Kaveh Ghazi <ghazi@caip.rutgers.edu>
1815 * mips-tfile.c (main): Use getopt_long instead of getopt.
1816 Add new command line option --version to display version.
1817 Treat --verbose like -v to report a single line version.
1818 (options): New global variable for getopt_long.
1819 * mips-tdump.c (main): Use getopt_long instead of getopt.
1820 New command line options -v, --version and -verbose to display
1821 the program version number (to match mips-tfile's behavior).
1822 (options): New global variable for getopt_long.
1824 * gcov.c (options): Zero-terminate getopt_long array.
1825 * gcov-dump.c (options): Likewise.
1827 * Makefile.in (mips-tdump.o): Add dependency on version.h.
1829 2003-05-29 Stan Shebs <shebs@apple.com>
1831 Remove OBJC_PROLOGUE everywhere.
1832 * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
1833 * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
1834 * config/d30v/d30v.h: Similarly.
1835 * config/ip2k/ip2k.h: Similarly.
1836 * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
1838 2003-05-29 Roger Sayle <roger@eyesopen.com>
1840 * c-semantics.c (genrtl_do_stmt_1): New function split out from...
1841 (gen_rtl_do_stmt): ... here. Call genrtl_do_stmt_1.
1842 (expand_unreachable_stmt): Expand unreachable while statements
1843 using genrtl_do_stmt_1.
1845 2003-05-29 Richard Sandiford <rsandifo@redhat.com>
1847 * config/mips/mips-protos.h (mips_output_load_label): Declare.
1848 * config/mips/mips.c (mips_output_load_label): New function.
1849 (mips_output_conditional_branch): Use it.
1850 * config/mips/mips.md (jump): And here.
1852 2003-05-28 Bob Wilson <bob.wilson@acm.org>
1854 * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
1855 (xtensa_split_operand_pair): New proto.
1856 * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
1857 (smalloffset_double_mem_p): Delete.
1858 (gen_float_relational, printx, print_operand, xtensa_va_arg):
1860 (xtensa_split_operand_pair): New.
1861 (xtensa_dbx_register_number): Fix formatting.
1862 * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
1863 * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
1864 instead of splitting them into single-word moves. Remove unnecessary
1865 checks for reload_in_progress and reload_completed.
1866 (movdi_internal, movdf_internal): Change to post-reload split patterns.
1867 Add constraints to allow constant operands.
1868 (movsf_internal): Allow CONST_INT operands.
1870 2003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
1872 * config.gcc (i[34567]86-*-mingw32*): Add host makefile
1873 fragment i386/x-mingw32.
1874 * config/i386/x-mingw32: New file. Make local_includedir
1875 relative to EXEC_PREFIX.
1877 2003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
1879 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
1880 (MD_STARTFILE_PREFIX): Define.
1882 2003-05-27 Denis Chertykov <denisc@overta.ru>
1884 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
1886 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
1887 call of cselib_invalidate_regno.
1889 2003-05-28 Daniel Jacobowitz <drow@mvista.com>
1891 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
1892 -lthread to -lpthread.
1894 2003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
1895 Bruce Korb <bkorb@gnu.org>
1896 Arno Klaassen <arno@heho.snv.jussieu.fr>
1898 * fixinc/inclhack.def: Add missing declaration of getpagesize()
1899 to unistd.h on Solaris 2.5.1.
1900 Fix prototype of recv() and send() in sys/socket.h on
1901 Solaris 2.5.1 and 2.6.
1902 * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
1903 * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
1904 * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
1905 * fixinc/fixincl.x: Regenerate.
1907 2003-05-27 Jason Merrill <jason@redhat.com>
1909 * tree.c (expr_first, expr_length): New fns.
1910 * tree.h: Declare them.
1912 * tree.c (iterative_hash_expr): Hash commutative expressions
1915 2003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1917 * tree.h (contains_placeholder_p): Now returns bool.
1918 (CONTAINS_PLACEHOLDER_P): New macro.
1919 (type_contains_placeholder_p): New function.
1920 * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
1921 (contains_placeholder_p): Now returns bool.
1922 Rework to use CONTAINS_PLACEHOLDER_P macro.
1923 (type_contains_placeholder_p): New function.
1924 * fold-const.c (fold, case COMPONENT_REF): Don't fold if
1925 type_contains_placeholder_p.
1926 (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
1927 Use CONTAINS_PLACEHOLDER_P macro.
1928 * builtins.c (fold_builtin): Likewise.
1929 * calls.c (initialize_argument_information): Likewise.
1930 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
1931 * explow.c (expr_size): Likewise.
1932 * expr.c (store_constructor, get_inner_reference): Likewise.
1933 * function.c (assign_parms): Likewise.
1934 * stor-layout.c (variable_size): Likewise.
1936 2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1938 * diagnostic.h (output_verbatim, verbatim): Remove printf
1941 2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1943 * doc/contrib.texi (Contributors): Update Kean Johnston.
1945 2003-05-24 David Edelsohn <edelsohn@gnu.org>
1947 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
1949 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
1951 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
1952 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
1953 Replace "GNU CC" with "GCC".
1955 2003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
1957 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
1958 intermediate computation.
1960 2003-05-23 Eric Christopher <echristo@redhat.com>
1962 * config/mips/mips.md (clzsi, clzdi): New patterns.
1964 2003-05-23 Geoffrey Keating <geoffk@apple.com>
1966 * gcc.c (default_compilers): Use -o to specify preprocessor's output
1967 file. Make -no-integrated-cpp work when building PCH files.
1968 * objc/lang-specs.h: Likewise.
1970 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
1972 * fixinc/Makefile.in: Correct description.
1973 * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
1974 fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
1975 fixinc/genfixes: Replace "GNU CC" with "GCC".
1977 2003-05-23 Roger Sayle <roger@eyesopen.com>
1979 * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
1980 builtin functions (and their __builtin_* variants).
1981 * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
1982 (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
1985 * doc/extend.texi: Document new tan and atan builtins, and
1986 their float and long double variants.
1988 2003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
1990 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
1991 __sparcv9 in the TARGET_ARCH64 case.
1993 Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
1995 * i386.c (ix86_reorg): Calls are also jumps.
1997 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
1999 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
2000 note containing an EXPR_LIST, process all the arguments.
2002 Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
2003 Andreas Jaeger <aj@suse.de>
2005 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
2006 do not use assertion.
2008 2003-05-23 Mike Stump <mrs@apple.com>
2010 * tlink.c (scan_linker_output): Add support for darwin linker, as it
2011 emits unresolved symbols one per line, consuming the entire line.
2013 2003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
2014 Zack Weinberg <zack@codesourcery.com>
2016 * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
2017 * config/m68k/m68k.c (m68k_output_function_prologue):
2018 Remove code under #if NEED_PROBE.
2019 * config/m68k/m68k.h: Don't define NEED_PROBE.
2020 * config/m68k/m68k.md: Remove "probe" insn.
2021 * doc/md.texi: Remove documentation of "probe" pattern.
2023 2003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
2025 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
2027 2003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2029 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
2030 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
2032 2003-05-22 Roger Sayle <roger@eyesopen.com>
2034 * real.c (real_maxval): New function to return the largest finite
2035 value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
2036 * real.h (real_maxval): Prototype here.
2037 * fold-const.c (fold_inf_compare): Transform comparisons against
2038 +-Infinity into comparisons against DBL_MAX (or equivalent).
2040 2003-05-22 Mike Stump <mrs@apple.com>
2042 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
2045 2003-05-22 DJ Delorie <dj@redhat.com>
2047 * calls.c (expand_call): If the arg block is going to grow
2048 downward, we need argblock to point to the top of the block,
2051 2003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2053 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
2055 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
2056 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
2058 2003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2060 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
2064 2003-05-22 Zack Weinberg <zack@codesourcery.com>
2067 * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
2068 expressions to prevent triggering on recent curses.h,
2069 linux/nls.h, or X11/Xlib.h.
2070 (stdio_va_list): Add _G_va_list to bypass pattern.
2071 (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
2072 * fixinc/fixincl.x: Regenerate.
2074 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
2076 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
2077 switches when --target-help option is specified.
2079 2003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
2082 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
2083 failure with Sun assembler 5.0 Alpha 03/27/98.
2085 2003-05-21 Loren James Rittle <ljrittle@acm.org>
2087 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
2088 to match system compiler convention.
2090 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
2092 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
2093 value, not just if defined.
2094 Update copyright year.
2096 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2099 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
2100 directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg'
2101 option is used without `-static'.
2102 * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
2103 * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
2105 2003-05-21 Bob Wilson <bob.wilson@acm.org>
2107 * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
2108 TARGET_SERIALIZE_VOLATILE): Delete.
2109 (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
2110 (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
2111 (TARGET_SWITCHES): Remove "-mserialize-volatile" and
2112 "-mno-serialize-volatile".
2113 * config/xtensa/xtensa.c (print_operand): Remove checks of
2114 TARGET_SERIALIZE_VOLATILE.
2115 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
2116 * doc/invoke.texi (Option Summary, Xtensa Options): Remove
2117 "-mserialize-volatile" and "-mno-serialize-volatile" options.
2119 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
2121 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
2122 (nested_function): Likewise.
2123 (notype_nested_function): Likewise.
2125 2003-05-21 Nick Clifton <nickc@redhat.com>
2127 * config/stormy16/stormy-abi: Update overflow type for
2128 R_XSTORMY16_16 reloc.
2130 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
2132 * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
2133 * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
2134 (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
2135 * print-tree.c (print_node): Remove ambient-boundedness.
2136 * tree.h (tree_common): Remove bounded_flag.
2137 (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
2138 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
2139 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
2140 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
2141 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
2143 (TYPE_QUALS): Remove BOUNDED.
2144 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
2145 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
2146 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
2147 TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
2148 VA_LIST_POINTER_DEPTH): Remove.
2149 (struct tree_type): Remove pointer_depth.
2151 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2153 * c-pretty-print.c (pp_c_integer_literal): Use
2154 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
2156 2003-05-20 Roger Sayle <roger@eyesopen.com>
2157 Kazu Hirata <kazu@cs.umass.edu>
2158 Joern Rennecke <joern.rennecke@superh.com>
2160 * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
2161 setcc and jump, if they exist. If substituted instruction
2162 fails to validate, store current effort in a REG_EQUAL note.
2163 (cprop_insn): Don't attempt further substitutions if the
2164 current instruction has been deleted.
2165 (local_cprop_pass): Likewise.
2167 * jump.c (redirect_jump): Also update REG_EQUAL note, if
2168 one is attached to the jump instruction.
2169 (invert_jump): Delete REG_EQUAL note on jump, if one exists.
2171 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
2174 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
2177 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2179 * genautomata.c (output_description, output_automaton_units,
2180 output_state_arcs): Add missing specifiers.
2182 2003-05-20 Bob Wilson <bob.wilson@acm.org>
2184 * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
2185 (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
2186 (__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
2187 (nsau): Rename to do_nsau. Provide alternate version for use when
2188 the NSAU instruction is available.
2189 (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
2190 (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
2191 * config/xtensa/xtensa-config.h: Update comments to match binutils.
2192 (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
2193 * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
2194 (TARGET_ABS, TARGET_ADDX): Define.
2195 (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
2196 (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
2197 * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
2198 *subx8): Set predicate condition to TARGET_ADDX.
2199 (abssi2): Set predicate condition to TARGET_ABS.
2200 * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
2201 "-maddx", and "-mno-addx" options.
2202 (Xtensa Options): Likewise. Also tag some opcode names with @code.
2204 2003-05-20 Kevin Ryde <user42@zip.com.au>
2205 Wolfgang Bangerth <bangerth@dealii.org>
2208 * doc/extend.texi: Put a warning into the documentation
2209 of attribute regparm.
2211 2003-05-20 Jason Merrill <jason@redhat.com>
2213 * tree.c (expr_last): New fn.
2214 * tree.h: Declare it.
2215 * objc/objc-act (expr_last): Rename to objc_expr_last.
2217 2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
2219 * sh.c (sh_register_move_cost): Add clase for moving between
2220 FP registers and MAC registers.
2222 2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
2224 * pa/milli64.S ($$mulI): Fix typo.
2226 2003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
2228 * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
2229 (nonlocal_set_p): Remove initial blank line.
2230 * dwarf2out.c (simple_type_size_in_bits): Likewise.
2231 * et-forest.c (et_forest_create): Likewise.
2232 * explow.c (stabilize): Likewise.
2233 * fix-header.c (write_lbrac): Likewise.
2234 * graph.c (start_fct, node_data): Likewise.
2235 * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
2236 * rtlanal.c (global_reg_mentioned_p): Likewise.
2237 * tree.c (bit_position): Likewise.
2239 2003-05-19 Alexandre Oliva <aoliva@redhat.com>
2241 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
2242 -lthread to -lpthread.
2244 2003-05-19 Neil Booth <neil@daikokuya.co.uk>
2246 * c-opts.c (c_common_decode_option): Don't accept dollars
2247 as identifier characters in assembly.
2248 * doc/cpp.texi: Document this.
2250 2003-05-19 Seth Arnold <sarnold@wirex.com>
2251 Aldy Hernandez <aldyh@redhat.com>
2253 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
2256 2003-05-19 Aldy Hernandez <aldyh@redhat.com>
2258 * doc/tm.texi (function_arg): Fix typo.
2260 2003-05-19 Matt Austern <austern@apple.com>
2262 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
2263 * c-common.h (warn_invalid_offsetof): Declare.
2264 * c-common.c (warn_invalid_offsetof): Define.
2265 * doc/invoke.texi: Document -Winvalid-offsetof.
2266 * testsuite/g++.dg/other/offsetof3.C: New.
2267 * testsuite/g++.dg/other/offsetof4.C: New.
2269 2003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
2270 David Edelsohn <edelsohn@gnu.org>
2272 * config/rs6000/rs6000.c (rs6000_alignment_string,
2273 rs6000_alignment_flags): New variables.
2274 (rs6000_parse_alignment_option): New function.
2275 (rs6000_override_options): Call it.
2276 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
2277 (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
2279 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
2280 natural alignment if TARGET_NATURAL_ALIGNMENT
2281 (ROUND_TYPE_ALIGN): Always use default record alignment if
2282 TAGET_NATURAL_ALIGNMENT.
2283 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
2284 (ROUND_TYPE_ALIGN): Same.
2285 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
2286 (ROUND_TYPE_ALIGN): Same.
2287 * doc/invoke.texi (Option Summary, PowerPC Options): Document
2290 2003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
2292 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
2293 of a function using ASMSPEC, prepend a star.
2295 2003-05-19 Jason Merrill <jason@redhat.com>
2297 * tree-inline.c (copy_body_r): Avoid generating &* during inline
2300 2003-05-19 Andrew Macleod <amacleod@redhat.com>
2302 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
2303 not mark assignments to the hard frame pointer as being stack
2305 (xstormy16_expand_epilogue): Mark adjustments to the stack
2306 pointer as being stack frame related.
2308 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2310 * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
2311 ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
2312 (PREDICATE_CODES): Add hilo_operand.
2313 * config/mips/mips.c (hilo_operand): New predicate.
2314 (mips_adjust_insn_length): Account for the number nops that might
2315 be needed to avoid hardware hazards.
2316 * config/mips/mips.md (dslot): Remove attribute.
2317 (hazard): New attribute.
2318 (can_delay): Use it. Check for calls, branches & jumps.
2319 (muldi3): Use the standard dmult pattern for mips16 code.
2320 (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
2322 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2324 * config/mips/mips-protos.h (final_prescan_insn,
2325 mips_count_memory_refs, mips_fill_delay_slot): Remove.
2326 * config/mips/mips.h (delay_type, dslots_load_total,
2327 dslots_load_filled, dslots_jump_total, dslots_jump_filled,
2328 dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
2329 mips_load_reg3, mips_load_reg4): Remove.
2330 (MASK_STATS): Remove.
2331 (MASK_EXPLICIT_RELOCS): Reuse its value.
2332 (TARGET_STATS): Remove.
2333 (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
2334 Warn that -mstats is now ignored.
2335 (FINAL_PRESCAN_INSN): Undefine.
2336 (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
2337 (ASM_OUTPUT_REG_POP): Likewise.
2338 * config/mips/mips.c (dslots_load_total, dslots_load_filled,
2339 dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
2340 mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
2341 mips_fill_delay_slot, mips_count_memory_refs,
2342 final_prescan_insn): Remove.
2343 (output_block_move): Remove calls to mips_count_memory_refs.
2344 (print_operand): Remove printing of #nop for TARGET_STATS.
2345 (mips_output_function_epilogue): Remove TARGET_STATS code.
2346 Reorganize setting of fnnmae.
2347 * config/mips/mips.md: Remove handling of dslot statistics
2348 throughout file. Change all fcmp patterns into normal asm
2349 templates, removing calls to mips_fill_delay_slot.
2350 * doc/invoke.texi: Remove documentation of -mstats.
2352 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2354 * config/mips/mips.c (mips_class_max_nregs): Return the number of
2357 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2359 * config/mips/mips.c (override_options): Disable explicit
2360 relocs for old ABIs unless using gas.
2362 2003-05-18 Eric Christopher <echristo@redhat.com>
2364 * config/mips/mips.h: Remove definition of g_switch_value.
2366 2003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
2368 * flags.h (g_switch_value): Change to an unsigned
2370 * toplev.c (g_switch_value): Likewise.
2372 * config/alpha/alpha.c (small_symbolic_operand): Remove
2373 g_switch_value cast.
2374 (alpha_in_small_data_p): Cast size to an unsigned
2377 * config/frv/frv.c (frv_in_small_data_p): Cast size to an
2378 unsigned HOST_WIDE_INT.
2379 * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
2380 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
2382 * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
2383 unsigned HOST_WIDE_INT.
2384 (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
2385 * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
2386 (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
2388 * config/rs6000/rs6000.c (rs6000_file_start): Use
2389 HOST_WIDE_INT_PRINT_UNSIGNED.
2390 (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
2391 (rs6000_elf_in_small_data_p): Cast size to unsigned
2393 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
2395 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
2397 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
2398 g_switch_value cast.
2400 2003-05-18 Roger Sayle <roger@eyesopen.com>
2401 Zack Weinberg <zack@codesourcery.com>
2404 * builtins.c (expand_builtin_memcpy): Call force_operand on
2405 expressions and use simplify_gen_binary to create the addition.
2407 2003-05-18 Andreas Schwab <schwab@suse.de>
2409 * config/m68k/m68k.md: Use define_constants for unspec numbers.
2411 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
2413 * config/sparc/sparc.h: Define sparc for now.
2414 2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
2416 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
2418 * config/stormy16/stormy16.h: Remove about 3000 lines of
2419 target-independent comments. Update copyright notice.
2421 * doc/collect2.texi: GNU CC -> GCC.
2422 * doc/headerdirs.texi: GNU CC -> GCC.
2424 2003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
2426 * hashtable.h (struct ht_identifier): Add data member "hash_value".
2427 * hashtable.c (ht_lookup): Use it when searching, remember.
2428 (ht_expand): Do not recompute.
2429 * tree.h (IDENTIFIER_HASH_VALUE): New macro.
2431 2003-05-18 Nathan Sidwell <nathan@codesourcery.com>
2433 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
2435 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
2437 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
2439 (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
2440 * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
2441 * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
2442 * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
2443 config/arm/linux-elf.h, config/arm/rtems-elf.h,
2444 config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
2445 config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
2446 config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
2447 config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
2448 config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
2449 config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
2450 config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
2451 config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
2452 config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
2453 config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
2454 config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
2455 Don't define __ELF__.
2456 * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
2458 * doc/cpp.texi: Document __ELF__.
2459 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
2461 2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2463 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
2465 * c-errors.c (pedwarn_c99): Likewise.
2466 * c-format.c (status_warning): Likewise.
2467 * c-semantics.c (build_stmt): Likewise.
2468 * calls.c (emit_library_call, emit_library_call_value): Likewise.
2469 * collect2.c (notice, fatal_perror, fatal, error): Likewise.
2470 * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
2471 * diagnostic.c (build_message_string, output_printf,
2472 output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
2473 fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
2474 error_with_decl, fnotice): Likewise.
2475 * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
2476 dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
2477 dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
2478 dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
2479 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2480 dw2_asm_output_encoded_addr_rtx): Likewise.
2481 * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
2482 * errors.c (warning, error, fatal, internal_error): Likewise.
2483 * final.c (output_operand_lossage, asm_fprintf): Likewise.
2484 * fix-header.c (fatal): Likewise.
2485 * gcc.c (fatal, error, notice): Likewise.
2486 * gcov.c (fnotice): Likewise.
2487 * genattrtab.c (attr_rtx, attr_printf): Likewise.
2488 * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
2489 * gensupport.c (message_with_line): Likewise.
2490 * mips-tfile.c (fatal, error): Likewise.
2491 * protoize.c (notice): Likewise.
2492 * ra-debug.c (ra_debug_msg): Likewise.
2493 * read-rtl.c (fatal_with_file_and_line): Likewise.
2494 * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
2495 * tree.c (build, build_nt, build_function_type_list): Likewise.
2497 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2499 * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
2500 * gcc.c (cpp_predefines): Remove.
2501 (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
2502 (static_specs): Remove predefines.
2503 * system.h: Poison CPP_PREDEFINES.
2504 * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
2505 config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
2507 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2509 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
2510 config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
2511 config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
2512 use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
2514 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2517 * c-common.c, c-common.h (dollars_in_ident): Remove.
2518 * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
2519 (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
2520 * cpphash.h (warned_dollar): Rename warn_dollars.
2521 * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
2522 Permit dollars regardless of -std=.
2523 (post_options): Set warn_dollars.
2524 * cpplex.c (forms_identifier_p): Use warn_dollars.
2525 * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
2526 Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
2527 * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
2528 Update documentation.
2530 2003-05-17 Andreas Schwab <schwab@suse.de>
2532 * config/m68k/m68k.c (m68k_output_function_prologue): Use
2533 HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
2534 formatting a HOST_WIDE_INT.
2535 (m68k_output_function_epilogue): Likewise.
2537 2003-05-17 Zack Weinberg <zack@codesourcery.com>
2539 * doc/install.texi: Remove information about desupported targets.
2541 2003-05-17 Andreas Schwab <schwab@suse.de>
2543 * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
2544 * config/m68k/linux.h: Likewise.
2545 * config/m68k/m68k-none.h: Likewise.
2546 * config/m68k/netbsd-elf.h: Likewise.
2547 * config/m68k/sgs.h: Likewise.
2548 * config/m68k/m68k.h: Likewise.
2549 * config/m68k/m68k.md: Likewise.
2550 * config/m68k/m68k.c: Likewise.
2551 * doc/md.texi (Machine Constraints): Remove Sun FPA specific
2553 * doc/invoke.texi (Option Summary): Remove -mfpa.
2554 (M680x0 Options): Likewise.
2556 2003-05-17 David Edelsohn <edelsohn@gnu.org>
2558 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
2560 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2562 * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
2563 * config/sparc/liteelf.h, config/sparc/openbsd64.h,
2564 config/sparc/rtemself.h, config/sparc/sol2-64.h,
2565 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
2566 Update for use of TARGET_SUB_OS_CPP_BUILTINS.
2568 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2570 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
2571 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
2573 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2575 * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
2576 * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
2577 sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
2578 sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
2579 sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
2580 sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
2582 * sparc/sysv4-only.h: New.
2584 2003-05-17 Alan Modra <amodra@bigpond.net.au>
2586 * function.c (assign_parms): Check for zero size args.
2588 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2590 * cfgloopanal.c (test_for_iteration): Use string concatentation on
2591 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2592 function calls into one.
2593 * dbxout.c (dbxout_symbol): Likewise.
2594 * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
2595 * dwarf2asm.c (dw2_asm_output_data_uleb128,
2596 dw2_asm_output_data_sleb128): Likewise.
2597 * genrecog.c (debug_decision_2): Likewise.
2598 * loop.c (emit_prefetch_instructions): Likewise.
2599 * print-rtl.c (print_rtx): Likewise.
2600 * print-tree.c (print_node_brief, print_node): Likewise.
2601 * ra-debug.c (dump_igraph, dump_graph_cost,
2602 dump_static_insn_cost): Likewise.
2603 * ra-rewrite.c (dump_cost): Likewise.
2604 * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2605 * sreal.c (dump_sreal): Likewise.
2606 * unroll.c (unroll_loop, precondition_loop_p): Likewise.
2607 * varasm.c (assemble_vtable_entry): Likewise.
2609 * avr.c (avr_output_function_prologue,
2610 avr_output_function_epilogue, print_operand): Fix format specifier
2612 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
2613 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
2615 2003-05-16 Geoffrey Keating <geoffk@apple.com>
2617 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
2618 and ! TARGET_STRING cases.
2620 * doc/cppopts.texi (-undef): Fix texinfo warning.
2622 * doc/cppopts.texi (-H): Document that -H works for PCH files too.
2623 * cppfiles.c (validate_pch): When -H is used, print some information
2624 about PCH files found.
2626 2003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2628 * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
2629 * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
2630 * config/mips/t-sr71k: Likewise.
2632 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2634 * arc.c (arc_output_function_prologue,
2635 arc_output_function_epilogue): Fix format specifier warnings.
2636 * arc.h (LARGE_INT): Fix signed/unsigned warnings.
2638 * v850.c (print_operand): Fix format specifier warnings.
2640 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2643 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
2644 format specifier warnings.
2646 * ip2k.c (function_prologue, function_epilogue, print_operand):
2647 Fix format specifier warnings.
2648 * ip2k.md: Likewise.
2650 * i960.c (i960_output_function_prologue, i960_print_operand,
2651 i960_print_operand_addr): Fix format specifier warnings.
2653 * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
2654 (i370_output_function_prologue): Fix format specifier warnings.
2655 * i370.h (PRINT_OPERAND): Likewise.
2657 * fr30.c (fr30_print_operand): Fix format specifier warnings.
2659 * dsp16xx.c (print_operand_address): Fix format specifier warning.
2660 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
2662 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
2665 * alpha.c (print_operand_address, alpha_start_function,
2666 unicosmk_output_ssib): Use string concatentation on
2667 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2668 function calls into one.
2669 * arm.c (arm_print_operand): Likewise.
2670 * cris.c (cris_asm_output_mi_thunk): Likewise.
2671 * frv.c (frv_asm_output_mi_thunk): Likewise.
2672 * ia64.c (ia64_print_operand, process_set): Likewise.
2673 * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
2675 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2676 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2677 * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
2678 * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
2679 * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
2680 * s390.c (s390_assemble_integer): Likewise.
2681 * sparc.c (sparc_flat_function_prologue,
2682 sparc_flat_function_epilogue): Likewise.
2683 * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
2684 * vax.c (vax_output_mi_thunk): Likewise.
2686 * frv.c (frv_print_operand_memory_reference): Fix format specifier
2688 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
2690 * m68k.c (m68k_output_function_epilogue): Fix format specifier
2693 * stormy16-protos.h (xs_hi_general_operand,
2694 xs_hi_nonmemory_operand): Prototype.
2695 * stormy16.c (xstormy16_output_shift): Fix format specifier
2698 * cris.c: Fix format specifier warnings.
2700 2003-05-16 Nick Clifton <nickc@redhat.com>
2702 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
2704 2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
2706 * doc/bugreport.texi: Remove most of the of the preface of the
2709 2003-05-16 Jakub Jelinek <jakub@redhat.com>
2711 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
2714 2003-05-15 Roger Sayle <roger@eyesopen.com>
2716 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
2718 2003-05-15 Eric Christopher <echristo@redhat.com>
2720 * cfgcleanup.c (merge_blocks): Fix return value.
2722 2003-05-15 Eric Christopher <echristo@redhat.com>
2724 * combine.c (expand_compound_operation): Make sure
2725 that zero_extend operation is profitable.
2727 2003-05-15 Richard Henderson <rth@redhat.com>
2729 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
2730 code protected by USE_GNULIBC_1.
2732 2003-05-15 Zack Weinberg <zack@codesourcery.com>
2734 * config.gcc: Purge all targets obsoleted in GCC 3.3. Also
2735 remove hppa*-*-mpeix* which could not be built, and prune
2736 files from tmake_file= or tm_file= lists that don't exist.
2738 * config/alpha/alpha-interix.h, config/alpha/alpha32.h
2739 * config/alpha/t-interix, config/arm/conix-elf.h
2740 * config/arm/t-arm-aout, config/arm/t-strongarm-coff
2741 * config/arm/unknown-elf-oabi.h, config/i386/win32.h
2742 * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
2743 * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
2744 * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
2745 * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
2746 * config/m68k/m68k-psos.h, config/m68k/mot3300.h
2747 * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
2748 * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
2749 * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
2750 * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
2751 * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
2752 * config/m68k/tower-as.h, config/m68k/tower.h
2753 * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
2754 * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
2755 * config/m88k/m88k-protos.h, config/m88k/m88k.c
2756 * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
2757 * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
2758 * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
2759 * config/mips/rtems64.h, config/mips/sni-gas.h
2760 * config/mips/sni-svr4.h, config/mips/t-ecoff
2761 * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
2762 * config/mn10200/mn10200.c, config/mn10200/mn10200.h
2763 * config/mn10200/mn10200.md, config/mn10200/t-mn10200
2764 * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
2765 * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
2766 * config/romp/romp-protos.h, config/romp/romp.c
2767 * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
2768 * config/rs6000/aix3newas.h, config/rs6000/mach.h
2769 * config/sparc/bsd.h, config/sparc/hal.h
2770 * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
2771 * config/sparc/lynx.h, config/sparc/netbsd.h
2772 * config/sparc/sp86x-aout.h, config/sparc/splet.h
2773 * config/sparc/sun4gas.h, config/sparc/sun4o3.h
2774 * config/sparc/sunos4.h, config/sparc/t-chorus-elf
2775 * config/sparc/t-halos, config/sparc/t-sparcbare
2776 * config/sparc/t-splet, config/sparc/t-sunos41
2777 * config/v850/rtems.h: Delete file.
2779 2003-05-15 Aldy Hernandez <aldyh@redhat.com>
2781 * config/rs6000/rs6000-protos.h (function_value): Protoize.
2783 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
2785 * config/rs6000/rs6000.c (rs6000_function_value): New.
2787 2003-05-15 Philip Blundell <philb@gnu.org>
2789 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
2791 (arm_tune_xscale): New variable.
2792 (arm_override_options): Set it.
2793 (arm_adjust_cost): Use it in place of arm_arch_xscale.
2794 (arm_gen_load_multiple): Likewise.
2795 (arm_gen_store_multiple): Likewise.
2796 * config/arm/arm.md (is_xscale): Likewise.
2797 * config/arm/arm.h (arm_tune_xscale): Declare.
2799 2003-05-15 Philip Blundell <philb@gnu.org>
2802 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
2803 involving invalid constants.
2805 2003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2807 * pa.c (hppa_expand_prologue): Remove blockage.
2809 2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
2811 * doc/bugreport.texi: Remove most of the bug reporting
2812 instructions and merge them into bugs.html.
2814 2003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
2816 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2817 g_switch_value to unsigned HOST_WIDE_INT.
2819 2003-05-14 Eric Christopher <echristo@redhat.com>
2821 * combine.c: Fix header comments.
2822 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
2823 to all calls and prototype.
2825 2003-05-14 Roger Sayle <roger@eyesopen.com>
2827 PR optimization/10764
2828 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
2829 Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
2830 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): Likewise,
2831 add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
2832 (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
2833 the corresponding *fyl2x_?fxf3 instructions.
2835 2003-05-14 Bob Wilson <bob.wilson@acm.org>
2837 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
2838 * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
2839 XCHAL_HAVE_L32R): New.
2840 * config/xtensa/xtensa-protos.h (non_const_move_operand,
2841 xtensa_load_constant, xtensa_function_prologue,
2842 xtensa_function_epilogue): Delete prototypes.
2843 (xtensa_expand_prologue): New.
2844 * config/xtensa/xtensa.c (frame_size_const,
2845 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
2846 non_const_move_operand, xtensa_load_constant, xtensa_reorg,
2847 xtensa_function_prologue): Delete.
2848 (add_operand, xtensa_mem_offset): Formatting.
2849 (move_operand): If the const16 option is available, allow any SFmode
2850 and SImode constants.
2851 (xtensa_emit_move_sequence): Inline the former contents of
2852 xtensa_load_constant with modifications to handle the const16 option.
2853 (override_options): Add xtensa_char_to_class['W'] and set it to
2854 the general register class only if the const16 option is enabled.
2855 Fix formatting. Disallow PIC when using the const16 option.
2856 (print_operand): Reorganize to switch on "letter" instead of the
2857 RTL code. Add output_operand_lossage calls for invalid cases.
2858 Add support for 't' and 'b' letters.
2859 (xtensa_expand_prologue): New function to replace
2860 xtensa_function_prologue and xtensa_reorg.
2861 (xtensa_function_epilogue): Declare this as static. Delete code
2862 to print the retw.n or retw instruction.
2863 (xtensa_return_addr): Use A0_REG instead of 0.
2864 (xtensa_rtx_costs): Add costs for using the const16 option.
2865 * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
2866 (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
2867 (TARGET_SWITCHES): Add "const16" and "no-const16".
2868 (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
2869 (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
2870 using the const16 option.
2871 (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
2872 (TRAMPOLINE_SIZE): Change from 49 to 59.
2873 (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
2874 (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
2875 when using the const16 option.
2876 (PREDICATE_CODES): Delete non_const_move_operand.
2877 * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
2879 (movdi, movdf): If the source is a constant, always expand to a
2880 sequence of movsi insns.
2881 (movdi_internal, movdf_internal): Remove alternative using l32r insns.
2882 (movsi_internal, movsf_internal): Add alternative using const16 insns.
2883 (movsf): Add const16 support.
2884 (entry, prologue, epilogue): New.
2885 (set_frame_ptr): Add missing mode for unspec_volatile operation.
2886 Likewise for subsequent split pattern.
2887 * doc/invoke.texi (Option Summary, Xtensa Options): Document new
2888 "-mconst16" and "-mno-const16" options.
2890 2003-05-14 Richard Henderson <rth@redhat.com>
2892 * config/ia64/ia64.c (ia64_expand_load_address): Force destination
2893 to be DImode register. Merge load_symptr.
2894 * config/ia64/ia64.md (load_symptr): Remove.
2896 2003-05-14 Richard Henderson <rth@redhat.com>
2898 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
2899 DEFERRED_CONSTANT_P.
2900 * integrate.c (copy_rtx_and_substitute): Update use.
2901 * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
2902 to the copy generated.
2903 (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
2904 of the constant to see if we should emit.
2905 (mark_constant): Similarly.
2906 (output_constant_def_contents): Set TREE_ASM_WRITTEN.
2908 2003-05-14 David Edelsohn <edelsohn@gnu.org>
2910 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
2911 move record condition.
2912 (movdi_internal2): Same.
2914 2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
2916 * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
2917 (GCOV_TAG_*) Force type to gcov_unsigned_t.
2918 (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
2919 (struct gcov_var): Remove modified. Add start, length, offset,
2920 overread. Have buffer array for libgcov.
2921 (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
2922 (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
2923 * gcov-io.c (gcov_open): Set mode, do not read anything.
2924 (gcov_close): Write final block.
2925 (gcov_write_block, gcov_allocate): New.
2926 (gcov_write_bytes): Make static. Write or allocate buffer.
2927 (gcov_write_unsigned, gcov_write_counter): Buffer can never be
2929 (gcov_write_string): Adjust.
2931 (gcov_write_length): Adjust. Flush the block.
2932 (gcov_write_tag_length): Buffer can never be null.
2933 (gcov_read_bytes): Make static. Read in block.
2934 (gcov_sync): Moved here. Adjust.
2935 (gcov_seek): Moved here. Adjust.
2936 * coverage.c (read_counts_file): Adjust.
2937 * gcov-dump.c (print_prefix): Add position parameter.
2938 (flag_dump_positions): New flag.
2939 (options, main, print_usage): Add it.
2940 (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
2941 tag_summary): Adjust.
2942 * gcov.c (read_graph_file, read_count_file): Adjust.
2943 * libgcov.c (gcov_exit): Adjust.
2945 * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
2946 (libgcov.a): Depend on libgcc.a.
2947 (gcov.o, gcov-dump.o): Add gcov-io.c.
2948 * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
2950 * loop.c (check_dbra_loop): Factor common test.
2952 2003-05-14 Ben Elliston <bje@wasabisystems.com>
2954 * doc/md.texi (Automaton pipeline description): Grammar fixes.
2956 2003-05-14 Richard Sandiford <rsandifo@redhat.com>
2958 * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
2959 (TARGET_INITIALIZER): Include it.
2960 * target.h (struct gcc_target): Add machine_dependent_reorg field.
2961 * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
2962 * system.h: Poison MACHINE_DEPENDENT_REORG.
2964 * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
2965 * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
2966 * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2967 (alpha_handle_trap_shadows): Remove "first insn" parameter.
2968 (alpha_align_insns): Likewise.
2969 (alpha_reorg): Likewise. Make static. Update calls to above
2972 * config/arm/arm-protos.h (arm_reorg): Remove declaration.
2973 * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
2974 * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2975 (arm_reorg): Remove parameter. Make static.
2977 * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
2978 * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
2979 * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2980 (avr_reorg): Renamed from machine_dependent_reorg. Make static.
2983 * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
2984 * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
2985 * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2986 (c4x_reorg): Renamed from c4x_process_after_reload. Make static.
2989 * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
2990 * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
2991 * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
2993 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
2994 * config/frv/frv.c: Remove orphaned comment.
2996 * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
2997 * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
2998 * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
2999 (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
3002 * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
3003 * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
3004 * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3005 (emit_insn_group_barriers): Remove "first insn" parameter.
3006 (emit_all_insn_group_barriers): Likewise.
3007 (ia64_reorg): Likewise. Make static. Update calls to above functions.
3008 (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
3010 * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
3011 * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
3012 * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3013 (ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
3016 * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
3017 * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
3018 * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3019 (m68hc11_reorg): Make static. Remove parameter.
3021 * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
3022 * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
3023 * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3024 (conditionalize_optimization): Remove parameter.
3025 (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
3026 Make static. Update call to conditionalize_optimization.
3028 * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
3029 * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
3030 * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3031 (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
3034 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
3035 * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
3036 * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3037 (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
3040 * config/pa/pa-protos.h (pa_reorg): Remove declaration.
3041 * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
3042 * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3043 (pa_combine_instructions): Remove "first insn" parameter.
3044 (remove_useless_addtr_insns): Likewise.
3045 (pa_reorg): Likewise. Make static. Update calls to above functions.
3047 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
3048 commented-out definition.
3050 * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
3051 * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
3052 * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3053 (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
3056 * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
3057 * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
3058 * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3059 (sh_reorg): Renamed from machine_dependent_reorg. Make static.
3061 (sh_output_mi_thunk): Call sh_reorg directly.
3062 * config/sh/sh.md: Update comment.
3064 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
3065 commented-out definition.
3067 * config/v850/v850-protos.h (v850_reorg): Remove declaration.
3068 * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
3069 * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3070 (v850_reorg): Make static. Remove parameter.
3072 * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
3073 * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
3074 * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3075 (xtensa_reorg): Make static. Remove parameter.
3077 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
3078 (TARGET_MACHINE_DEPENDENT_REORG): Document.
3080 2003-05-13 Richard Henderson <rth@redhat.com>
3082 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
3083 the old decl had instantiated DECL_RTL.
3085 2003-05-13 Mike Stump <mrs@apple.com>
3087 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
3089 2003-05-13 Janis Johnson <janis187@us.ibm.com>
3091 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
3092 HOST_WIDE_INT argument.
3094 2003-05-13 Jason Merrill <jason@redhat.com>
3096 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
3098 * tree.c (iterative_hash_expr): New fn.
3100 * c-semantics.c (emit_local_var): Don't mess with temp slots if
3101 there's no initializer.
3103 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
3105 * final.c (final_scan_insn): Apply the effects of frame-related
3106 delay slot insns before emitting a delayed branch.
3108 2003-05-13 Nick Clifton <nickc@redhat.com>
3110 * config/mcore/mcore.md (jump): Use emit_jump_insn.
3112 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
3114 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
3115 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
3117 2003-05-12 DJ Delorie <dj@redhat.com>
3119 * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
3120 (emit_push_insn): Don't use push when the source alignment is less
3121 than the stack's push rounding.
3123 2003-05-13 Zack Weinberg <zack@codesourcery.com>
3125 * diagnostic.c (output_format): Add support for %m.
3126 (output_printf, output_verbatim, diagnostic_set_info,
3127 verbatim): Set err_no field of the text_info structure being
3129 (fatal_io_error): Delete function.
3130 * diagnostic.h (text_info): Add err_no field.
3131 * toplev.h (fatal_io_error): Delete prototype.
3133 * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
3134 * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
3135 * objc/objc-act.c: Replace all calls to fatal_io_error with
3136 calls to fatal_error; add ": %m" to the end of all the affected
3139 2003-05-13 Zack Weinberg <zack@codesourcery.com>
3141 * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
3142 * rtl.h: Prototype it.
3143 * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
3146 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
3148 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
3149 ("*iorsi3_oi"): Likewise.
3151 2003-05-13 Richard Earnshaw <rearnsha@arm.com>
3153 * arm.md (compare_scc): Use shorter sequence for EQ case.
3154 (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
3155 (and_scc_scc): Ensure split only applies when there is a dominance
3157 (and_scc_scc_nodom): New insn-and-split pattern.
3159 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
3161 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
3162 to _Unwind_SetGRPtr().
3164 2003-05-13 Michael Eager <eager@mvista.com>
3166 * Makefile.in: Initialize program_transform_cross_name from
3167 @program_transform_name@ instead of target_alias.
3169 2003-05-12 Janis Johnson <janis187@us.ibm.com>
3170 Alan Modra <amodra@bigpond.net.au>
3171 Jakub Jelinek <jakub@redhat.com>
3173 * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
3174 * configure: Rebuild.
3175 * config/rs6000/rs6000-protos.h: Update.
3176 * config/rs6000/rs6000.c (rs6000_tls_size): New.
3177 (rs6000_tls_size_string): New.
3178 (rs6000_parse_tls_size_option): New.
3179 (rs6000_legitimize_tls_address): New.
3180 (rs6000_tls_get_addr): New.
3181 (rs6000_got_sym): New.
3182 (rs6000_tls_symbol_ref): New.
3183 (rs6000_tls_symbol_ref_1): New.
3184 (rs6000_get_some_local_dynamic_name): New.
3185 (rs6000_get_some_local_dynamic_name_1): New.
3186 (TARGET_HAVE_TLS): New.
3187 (TARGET_CANNOT_FORCE_CONST_MEM): New.
3188 (rs6000_override_options): Handle -mtls-size option.
3189 (constant_pool_expr_1): Handle TLS symbols.
3190 (rs6000_legitimize_address): Handle TLS symbols.
3191 (rs6000_tls_referenced_p): New.
3192 (rs6000_legitimate_address): Handle TLS symbols.
3193 (rs6000_emit_move): Handle TLS symbols.
3194 (print_operand): Handle TLS symbols.
3195 (uses_TOC): Handle TLS symbols.
3196 (rs6000_emit_prologue): Use symbol for unspec constant.
3197 * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
3198 (some_ld_name): New.
3199 (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
3200 (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
3201 (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
3202 * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
3204 (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
3205 tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
3206 tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
3207 tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
3208 tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
3210 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
3212 2003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
3214 * Makefile.in (stage2_build, stage3_build, stage4_build):
3215 Set BUILD_CC to the same as CC.
3217 2003-05-12 Neil Booth <neil@daikokuya.co.uk>
3219 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
3221 2003-05-12 Andreas Schwab <schwab@suse.de>
3223 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
3225 (bundling): Initialize 'pos'.
3226 (ia64_expand_builtin): Initialize 'rmode'.
3228 2003-05-12 David Edelsohn <edelsohn@gnu.org>
3230 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
3231 (ASM_OUTPUT_ALIGNED_COMMON): Same.
3232 (ASM_OUTPUT_LOCAL): Same.
3234 Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
3236 * varasm.c (output_constant): Fix underflow.
3238 2003-05-12 Mark Mitchell <mark@codesourcery.com>
3241 * configure.in: Correct detection of GNU ld version number.
3242 * configure: Regenerated.
3244 2003-05-12 Zack Weinberg <zack@codesourcery.com>
3246 * diagnostic.c (diagnostic_for_decl): Take a
3247 diagnostic_context argument. Restructure to be consistent
3248 with diagnostic_report_diagnostic.
3249 (diagnostic_count_diagnostic): Now static. Take a
3250 diagnostic_info argument, not just a diagnostic_t. Some code
3251 moved here from internal_error. Move a case label for
3253 (diagnostic_action_after_output): New function. Code moved
3254 here from internal_error and fatal_error.
3255 (bug_report_request): New #define so that this text appears in
3257 (diagnostic_report_diagnostic): Update to match changes to
3258 diagnostic_count_diagnostic. Call diagnostic_action_after_output.
3259 (diagnostic_set_info): Call gettext here.
3261 (pedwarn): Update comment. Don't call gettext here.
3262 (sorry): Use report_diagnostic. Don't call gettext here.
3263 (fatal_error): Remove final fnotice and exit, but call
3264 real_abort to prevent warnings about noreturn function returning.
3265 (internal_error): Likewise. Don't do ICE suppression here nor
3266 call context->internal_error.
3267 (warning_with_decl): Suppress for decls in system headers.
3268 Adjust call to diagnostic_for_decl.
3269 (pedwarn_with_decl): Likewise.
3270 (error_with_decl): Adjust call to diagnostic_for_decl.
3271 (error_recursion): Use bug_report_request.
3273 * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
3274 * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
3275 diagnostic_count_diagnostic.
3277 2003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3279 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
3281 Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
3283 * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
3284 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
3285 * mips/mips.h (ASM_OUTPUT_SKIP): Fix typo in the previous patch.
3287 2003-05-12 Roger Sayle <roger@eyesopen.com>
3289 * doc/rtl.texi: Document zero_extract as a valid destination
3292 2003-05-12 Richard Earnshaw <rearnsha@arm.com>
3294 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
3295 '.'. Change all local symbol definitions and references to use LSYM.
3297 Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
3299 * expr.h (assemble_static_space): Update prototype.
3300 * output.h (assemble_zeros, output_constant): Likewise.
3301 * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
3302 * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
3304 * elf.h (ASM_OTUPUT_SKIP): Likewise.
3305 * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
3306 * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3307 Expect HOST_WIDE_INT operand.
3308 * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3309 Expect HOST_WIDE_INT operand.
3310 * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3311 Expect HOST_WIDE_INT operand.
3312 * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
3313 HOST_WIDE_INT operand.
3314 * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
3315 ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
3316 * aout.h (ASM_OTUPUT_SKIP): Likewise.
3317 * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3318 * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
3319 * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
3320 * frv.h (ASM_OTUPUT_SKIP): Likewise.
3321 * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
3322 * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3325 * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
3326 * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3327 Make it 64bit clean.
3328 * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
3329 * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
3330 HOST_WIDE_INT operand
3331 * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3332 Expect HOST_WIDE_INT operand
3333 * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
3334 * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
3335 ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
3336 * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3338 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
3339 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3341 * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3342 * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3343 * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3344 ASM_OUTPUT_SKIP): Likewise.
3345 * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3347 * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3348 ASM_OUTPUT_SKIP): Likewise.
3349 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3350 ASM_OUTPUT_SKIP): Likewise.
3351 * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3352 * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3353 ASM_OUTPUT_SKIP): Likewise.
3354 * sgs.h (ASM_OUTPUT_SKIP): Likewise.
3355 * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3356 ASM_OUTPUT_SKIP): Likewise.
3357 * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
3359 * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
3360 * iris.h (ASM_OUTPUT_LOCAL): Likewise.
3361 * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3362 * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3363 ASM_OUTPUT_SKIP): Make it 64bit clean.
3364 * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
3365 Make it 64bit clean.
3366 * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
3367 ASM_OUTPUT_SKIP): Make it 64bit clean.
3368 * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
3370 * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3371 HOST_WIDE_INT argument
3372 * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
3373 * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3374 HOST_WIDE_INT argument
3375 * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3376 * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
3377 * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3378 * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3379 HOST_WIDE_INT argument
3380 * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3381 * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3382 * varasm.c (asm_output_bss, asm_output_aligned_bss,
3383 asm_emit_uninitialized, assemble_zeros, assemble_static_space):
3384 HOST_WIDE_INT argument
3386 2003-05-10 Steven Bosscher <steven@gcc.gnu.org>
3388 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
3389 favor of walk_tree_without_duplicates. Add comments.
3391 2003-05-12 Josef Zlomek <zlomekj@suse.cz>
3393 * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
3394 (struct alloc_pool_def): New element 'id'.
3395 * alloc-pool.c (fancy_abort): Extern function prototype.
3396 (abort): Macro which uses fancy_abort.
3397 (struct allocation_object_def): New structure.
3398 (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
3399 (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
3400 (last_id): New variable.
3401 (create_alloc_pool): Add the offset of u.data to size of element,
3402 increase and use last_id.
3403 (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
3404 (pool_alloc): Likewise. Set ID for elements.
3405 (pool_free): Check whether the PTR was allocated from POOL.
3407 2003-05-11 Richard Henderson <rth@redhat.com>
3410 * c-decl.c: Include hashtab.h.
3411 (detect_field_duplicates): New.
3412 (finish_struct): Use it.
3413 * Makefile.in (c-decl.o): Update.
3414 * c-parse.in (structsp_attr): Nreverse component_decl_list results.
3415 (component_decl_list, component_decl_list2,
3416 components, components_notype): Build list in reverse order.
3417 (enumlist): Clarify docs. Use TREE_CHAIN not chainon.
3419 * tree.c (chainon): Special case op2 null as well.
3422 2003-05-11 Roger Sayle <roger@eyesopen.com>
3424 * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
3425 to implement log, logf and logl built-ins as inline x87 intrinsics.
3426 (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
3427 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
3428 patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
3430 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
3431 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
3433 2003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3435 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
3437 * sparc.c (print_operand): Fix uninitialized warning.
3439 2003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3441 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
3443 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
3446 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3448 * doc/cpp.texi: Fix typos.
3450 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3452 * config/s390/s390.c (s390_function_arg_float): New function.
3453 (s390_function_arg_pass_by_reference): Use it.
3454 (s390_function_arg_advance): Likewise.
3455 (s390_function_arg): Likewise.
3456 (s390_va_arg): Likewise
3458 2003-05-11 Nathan Sidwell <nathan@codesourcery.com>
3460 * coverage.h (coverage_counter_alloc): New function.
3461 * function.h (struct function): Remove arc_profile flag.
3462 * coverage.c (fn_ident): Remove.
3463 (fn_b_ctrs, no_coverage): New.
3464 (get_coverage_counts): Use current_function_funcdef_no.
3465 (coverage_counter_alloc): New.
3466 (coverage_counter_ref): Adjust.
3467 (coverage_begin_output): Check no_coverage. Use
3468 current_function_funcdef_no.
3469 (coverage_end_function): Likewise.
3470 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
3471 than clearing flag_inline_functions. Do not clear arc_profile
3473 * function.c (prepare_function_start): Do not set arc_profile
3475 * profile.c (instrument_edges): Return number of instrumented
3476 edges. Use a for loop.
3477 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
3478 local to here and simplify. Use profile_arc_flag not arc_profile
3480 (find_spanning_tree): Reformat.
3481 * toplev.c (rest_of_compilation): Use profile_arc_flags and
3482 flag_test_coverage rather than arc_profile flag.
3484 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3486 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
3488 2003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3490 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
3492 2003-05-11 Bruno Haible <bruno@clisp.org>
3494 * cppfiles.c (find_or_create_entry): Preserve errno.
3496 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3498 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
3499 cpplib as it's a Standard Predefined Macro.
3500 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
3501 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
3502 __STDC_HOSTED__ appropriately.
3503 * cpplib.h (_cpp_init_builtins): Update.
3504 * fix-header.c (read_scan_file): Update.
3505 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
3507 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3511 * c-opts.c (c_common_decode_option): Don't set
3512 warn_ctor_dtor_privacy wen -Wall.
3513 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
3515 2003-05-10 Alexandre Oliva <aoliva@redhat.com>
3517 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
3520 2003-05-10 Zack Weinberg <zack@codesourcery.com>
3522 * diagnostic.c: Reorder functions for clarity, putting all the
3523 functions in the "error" family next to each other, and
3524 likewise all the functions in the "error_with_decl" family.
3525 Some other routines were moved too. Add comments.
3526 (vbuild_message_string): Fold into sole caller.
3529 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3531 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
3532 (EH_RETURN_HANDLER_RTX): Likewise.
3533 (expand_builtin_eh_return): Do not copy stack adjustment
3534 if EH_RETURN_STACKADJ_RTX is not defined.
3535 (expand_eh_return): Likewise. Also, do not pass stack
3536 adjustment as argument to the eh_return pattern.
3537 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
3538 because EH_RETURN_STACKADJ_RTX is not defined.
3539 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
3540 is not defined, treat stack pointer like a regular register.
3541 (uw_init_context_1): Set up fake initial stack pointer register.
3542 (uw_install_context_1): Do not compute stack adjustment if
3543 EH_RETURN_STACKADJ_RTX is not defined.
3545 * config/i386/i386.md ("eh_return"): Remove first argument.
3546 * config/mips/mips.md ("eh_return"): Likewise.
3547 * config/rs6000/rs6000.md ("eh_return"): Likewise.
3548 * config/sh/sh.md ("eh_return"): Likewise.
3550 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
3552 2003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
3554 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
3556 2003-05-10 Nathan Sidwell <nathan@codesourcery.com>
3558 * defaults.h (GCOV_TYPE_SIZE): Remove.
3559 * gcov-io.h (gcov_type): Set to specific mode int on target.
3560 (gcov_unsigned_t, gcov_position_t): New.
3561 (GCOV_TYPE_NODE): New.
3562 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
3563 (GCOV_COUNTERS_SUMMABLE): New.
3564 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
3565 gcov_ctr_info, gcov_info): Adjust types.
3566 (gcov_var): Adjust types.
3567 (gcov_write_unsigned, gcov_write_tag,
3568 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3569 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3570 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
3571 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
3572 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3573 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3574 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
3575 __gcov_init, __gcov_merge_add): Adjust gcov types.
3576 * coverage.c (ctr_merge_functions): Constify.
3578 (read_counts_file): Adjust gcov types. Only summarize & merge
3580 (coverage_counter_ref): Use GCOV_TYPE_NODE.
3581 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
3582 build_ctr_info_value, build_gcov_info): Adjust types.
3583 * profile.c (branch_prob): Adjust gcov types.
3584 * gcov_dump (dump_file): Adjust gcov types.
3586 2003-05-10 Richard Earnshaw <rearnsha@arm.com>
3588 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
3590 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
3591 * arm.c (arm_select_dominance_cc_mode): Renamed from
3592 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
3594 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
3596 2003-05-09 Roger Sayle <roger@eyesopen.com>
3598 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
3599 as unsigned to avoid signed/unsigned comparison warnings.
3601 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3603 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
3604 instruction if the Xtensa density option is enabled.
3606 2003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
3608 * mklibgcc.in: Remove extra quotes.
3610 2003-05-09 Mark Mitchell <mark@codesourcery.com>
3612 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
3615 2003-05-09 Alexandre Oliva <aoliva@redhat.com>
3617 * reload1.c (reload_cse_move2add): Don't turn an implicit
3618 truncation into a self-set in the narrow mode.
3620 2003-05-09 Richard Earnshaw <rearnsha@arm.com>
3622 * arm.md (clzsi2): The CLZ instruction is predicable.
3624 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3626 * config/xtensa/xtensa.c: Formatting.
3628 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3630 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
3631 instead of TREE_OPERAND to access the operand of a
3634 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3636 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
3639 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3641 * toplev.h (warning_with_file_and_line): Don't declare.
3642 (error_with_file_and_line): Likewise.
3643 * diagnostic.c (error_with_file_and_line): Remove.
3644 (warning_with_file_and_line): Likewise.
3646 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3648 * c-parse.in (if_stmt_locus): New object.
3649 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
3650 (select_or_iter_stmt rule): Likewise.
3651 (if_stmt_file): Remove.
3652 (if_stmt_line): Likewise.
3653 * jump.c: include "diagnostic.h"
3654 (never_reached_warning): Don't use warning_with_file_and_line.
3655 * Makefile.in (jump.o): Add dependce on diagnostic.h
3657 2003-05-09 Alan Modra <amodra@bigpond.net.au>
3659 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
3660 Move code handling pieces not larger than a word to..
3661 * function.c (assign_parms): ..here, but use change_address instead
3662 of adjust_address and operand_subword, and expand_binop instead of
3663 expand_shift. Adjust calls to move_block_from_reg.
3664 * expr.h (move_block_from_reg): Update declaration.
3665 (copy_blkmode_from_reg): Formatting.
3666 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
3667 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
3668 move_block_from_reg calls.
3669 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
3670 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3671 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
3672 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
3673 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
3674 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3675 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
3676 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3677 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
3679 2003-05-08 DJ Delorie <dj@redhat.com>
3681 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
3682 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
3683 variable-sized types).
3684 (xstormy16_function_arg): New. Pass them that way too.
3685 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
3686 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
3688 2003-05-08 Aldy Hernandez <aldyh@redhat.com>
3690 * mklibgcc.in: Use mkinstalldirs when installing multilib
3693 2003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
3695 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
3696 instead of CODE_FOR_jump
3698 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3700 * objc/objc-act.c (error_with_ivar): Don't use
3701 error_with_file_and_line.
3702 (warn_with_method): Don't use warning_with_file_and_line.
3704 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3706 * stmt.c (emit_locus): New macro.
3707 (emit_filename): Remove.
3708 (emit_lineno): Likewise.
3709 (struct stmt_status): Replace members x_emit_filename and
3710 x_emit_lineno with x_emit_locus.
3711 (set_file_and_line_for_stmt): Adjust.
3712 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
3713 (warn_if_unused_value): Likewise.
3714 (check_seenlabel): Likewise.
3716 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3718 * c-decl.c (define_label): Tidy. Don't use any of
3719 error_with_file_and_line or warning_with_file_and_file.
3720 (pending_xref_error): Likewise.
3721 (store_parm_decls): Likewise.
3722 (current_function_prototype_locus): New object. Package from
3723 current_function_prototype_file and current_function_prototype_line.
3724 (start_function): Use it.
3725 (current_function_prototype_file): Remove.
3726 (current_function_prototype_line): Remove;
3728 2003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3730 * builtins.c (readonly_data_expr): New function.
3731 (expand_builtin_memmove): Optimize any rodata source, not just
3734 2003-05-07 David Mosberger <davidm@hpl.hp.com>
3736 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
3738 2003-05-07 Richard Henderson <rth@redhat.com>
3740 * config/i386/i386.c (ix86_split_long_move): Fix base register
3741 mode for XFmode splits for TARGET_64BIT.
3743 2003-05-07 Richard Henderson <rth@redhat.com>
3745 * sched-ebb.c (schedule_ebb): Supply the correct starting
3746 block number to save_line_notes.
3748 2003-05-07 Richard Henderson <rth@redhat.com>
3750 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
3751 (dump_file): Likewise.
3753 2003-05-07 David Mosberger <davidm@hpl.hp.com>
3755 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
3756 forget to preserve gp.
3757 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
3759 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
3760 .prologue directive.
3761 Use .skip instead of data8 for .bss section to make Intel
3762 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
3763 explicit in the .mib bundles and remove the unnecessary stop
3764 bits. Replace local labels with normal labels, to make ias
3765 happy. Don't register __do_global_ctors_aux here, do it in
3768 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
3769 __do_global_ctors_aux in .init_array section instead of
3770 declaring it as a hidden global. Replace local labels with
3771 ordinary labels to make ias happy.
3773 2003-05-07 Richard Henderson <rth@redhat.com>
3776 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
3777 * flags.h, toplev.c, doc/invoke.texi: Likewise.
3779 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
3780 * unwind.inc (_Unwind_DeleteException): Check for null
3783 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
3784 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
3785 * unwind.h: Declare them.
3786 * libgcc-std.ver (GCC_3.3): Export them.
3788 2003-05-07 Richard Henderson <rth@redhat.com>
3790 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
3793 2003-05-07 Zack Weinberg <zack@codesourcery.com>
3795 * stmt.c (force_label_rtx): New function, based on logic
3796 formerly found in expand_expr.
3797 * expr.h: Prototype it.
3798 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
3800 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
3802 * print-tree.c (debug_tree): Free the table after we're done
3805 2003-05-07 Aldy Hernandez <aldyh@redhat.com>
3807 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
3808 Unreverse arguments for __ev_subw.
3810 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
3812 2003-05-07 Nick Clifton <nickc@redhat.com>
3814 * config/stormy16/stormy-abi: Update to include
3815 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
3816 R_XSTORMY16_12 relocs.
3818 2003-05-07 Alan Modra <amodra@bigpond.net.au>
3820 * function.c (assign_parms): Correct reversed reg_parm_stack_space
3821 test. Add partial in-regs size to stack_args_size.
3823 2003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3825 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
3828 2003-05-07 Nathan Sidwell <nathan@codesourcery.com>
3830 * gcov-io.h (GCOV_LOCKED): New #define.
3831 (GCOV_LINKAGE): Make sure it is #defined.
3832 (gcov_write_string, gcov_write_tag, gcov_write_length,
3833 gcov_read_string, gcov_time): Poison in libgcov.
3834 (gcov_seek_end): Remove.
3835 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
3836 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
3837 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
3838 GCOV_TAG_SUMMARY_LENGTH): New #defines.
3839 (gcov_write_tag, gcov_write_length): Not in libgcov.
3840 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
3841 (gcov_write_tag, gcov_write_length): Not in libgcov.
3842 (gcov_write_tag_length): New.
3843 (gcov_write_summary): Use gcov_write_tag_length.
3844 * libgcov.c: Always #include gcov-io.h.
3845 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
3846 (GCOV_LINKAGE): Define to nothing for L_gcov.
3847 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
3848 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
3849 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
3850 (read_count_file): Likewise.
3851 * gcov-dump.c (dump_file): Likewise.
3852 * coverag.c (read_counts_file): Likewise.
3854 2003-05-06 Mark Mitchell <mark@codesourcery.com>
3857 * gcc.c (process_command): Update copyright date.
3859 2003-05-06 Phil Edwards <pme@gcc.gnu.org>
3861 * doc/install.texi (mips-*-*): Add note about libstdc++.
3863 2003-05-06 DJ Delorie <dj@redhat.com>
3865 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
3866 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
3867 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
3869 2003-05-06 <neil@cat.daikokuya.co.uk>
3871 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
3872 and -Wstrict-prototypes if C++.
3874 2003-05-06 Aldy Hernandez <aldyh@redhat.com>
3876 * config/rs6000/linuxspe.h: New file.
3878 * config.gcc: Add powerpc-*-linux-gnuspe* target.
3880 2003-05-06 Richard Henderson <rth@redhat.com>
3882 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
3883 previous frame didn't save sp. Clear sp for next frame.
3884 (uw_install_context_1): Honor saved sp from frame.
3886 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
3888 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
3889 (mips_move_1word, mips_move_2words): Remove declaration.
3890 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
3891 (mips_restore_gp): Remove insn argument.
3892 * config/mips/mips.h (FP_REG_RTX_P): New macro.
3893 * config/mips/mips.c (volatile_buffer): Remove.
3894 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
3895 (mips_move_1word, mips_move_2words): Remove, replacing with...
3896 (mips_output_move): ...this new function.
3897 (mips_restore_gp): Remove insn argument. Adjust for above changes.
3898 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
3899 handling of floating-point constants. Handle zero CONST_DOUBLE
3901 (mips_annotate_frame_insn): Replace with...
3902 (mips_set_frame_expr): ...this, which just takes one argument.
3903 (mips_frame_set): Change the register argument to an rtx.
3904 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
3905 check whether moves should be split. Use mips_split_64bit_move
3906 to split them. Use mips_subword to generate the high and low
3907 parts of a paired FPR. Adjust calls to frame_set and
3908 mips_set_frame_expr.
3909 (mips_expand_prologue): Simplify due to above changes.
3910 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
3911 targets, replacing xisting register-only versions.
3912 (UNSPEC_STORE_DF_HIGH): New unspec.
3913 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
3914 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
3915 (*paradoxical_extendhidi2): Remove.
3916 (movdi_internal, movdi_internal2): Use mips_output_move.
3917 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
3918 (movsf_internal1, movsf_internal2): Likewise.
3919 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
3920 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
3921 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
3922 Add m <- G alternative.
3923 (load_df_low, load_df_high, store_df_low): New patterns.
3924 (movhi_internal): Use @ template instead of calling a function.
3925 Remove unnecessary 'z' alternatives.
3926 (movqi_internal): Likewise.
3927 (exception_receiver): Update call to mips_restore_gp.
3929 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
3931 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
3932 (mips_delegitimize_address): Declare.
3933 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
3934 (FIND_BASE_TERM): Define.
3935 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
3936 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
3937 Handle small-data addresses.
3939 2003-05-05 Roger Sayle <roger@eyesopen.com>
3941 * real.c (real_powi): New function to calculate the value of
3942 a real raised to an integer power, i.e. pow(x,n) for int n.
3943 (real_sqrt): Convert to using the faster do_add, do_multiply
3944 and do_divide API for consistency with the rest of real.c.
3945 * real.h (real_powi): Prototype here.
3946 * builtins.c (fold_builtin): Avoid local variable mode when
3947 evaluating sqrt at compile time. Attempt to evaluate pow at
3948 compile-time, by checking for an integral exponent.
3950 2003-05-05 Richard Henderson <rth@redhat.com>
3952 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
3954 2003-05-05 David O'Brien <obrien@FreeBSD.org>
3956 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
3957 other FreeBSD ports.
3958 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
3959 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
3961 2003-05-05 Janis Johnson <janis187@us.ibm.com>
3963 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
3965 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
3967 2003-05-05 Zack Weinberg <zack@codesourcery.com>
3969 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
3970 * varasm.c (struct varasm_status): Add deferred_constants field.
3971 (n_deferred_strings): Delete variable.
3972 (n_deferred_constants): New #define.
3973 (struct constant_descriptor_tree): Kill next and label fields.
3974 (const_hash_table, MAX_HASH_TABLE): Delete.
3975 (const_desc_htab): New static variable.
3976 (const_hash): Rename const_desc_hash, and make it fit the
3977 hashtab.h interface.
3978 (const_desc_eq): New.
3979 (const_hash_1, compare_constant): Const-ify arguments.
3980 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
3981 SYMBOL_REFs. Clarify comments. Don't set desc->label.
3982 (output_constant_def): Do the lookup/insert using the
3983 hashtab.h interface. Don't muck with n_deferred_constants or
3984 DEFERRED_CONSTANT_P here.
3985 Always call maybe_output_constant_def_contents.
3986 (maybe_output_constant_def_contents): Take a pointer to the
3987 descriptor, not the EXP and RTL separately. Return
3988 immediately if this constant is not deferred. Defer output of
3989 everything, except writable string constants. Update
3990 n_deferred_constants here.
3991 (output_constant_def_contents): Now takes just one argument,
3992 an rtx. Clear DEFERRED_CONSTANT_P here.
3993 (mark_constant_pool): Update for rename of n_deferred_strings.
3994 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
3996 (init_varasm_status): Clear p->deferred_constants.
3997 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
3999 2003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4001 * builtins.c (expand_builtin_stpcpy): Only expand when the length
4002 of the source string can be evaluated at compile-time.
4004 2003-05-05 Aldy Hernandez <aldyh@redhat.com>