OSDN Git Service

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