OSDN Git Service

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