OSDN Git Service

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