OSDN Git Service

Tweak last commit, adjust ChangeLog to reflect complete delta.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-05-21  Loren James Rittle  <ljrittle@acm.org>
2
3         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
4         to match system compiler convention.
5
6 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
7
8         * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
9         value, not just if defined.
10         Update copyright year.
11
12 2003-05-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13
14         PR target/6428
15         * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
16         directories from LIB_SPEC to LINK_SPEC.  Emit warning if `-p' or `-pg'
17         option is used without `-static'.
18         * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
19         * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
20
21 2003-05-21  Bob Wilson  <bob.wilson@acm.org>
22
23         * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
24         TARGET_SERIALIZE_VOLATILE): Delete.
25         (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
26         (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
27         (TARGET_SWITCHES): Remove "-mserialize-volatile" and
28         "-mno-serialize-volatile".
29         * config/xtensa/xtensa.c (print_operand): Remove checks of
30         TARGET_SERIALIZE_VOLATILE.
31         * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
32         * doc/invoke.texi (Option Summary, Xtensa Options): Remove
33         "-mserialize-volatile" and "-mno-serialize-volatile" options.
34
35 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
36
37         * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
38         (nested_function): Likewise.
39         (notype_nested_function): Likewise.
40
41 2003-05-21  Nick Clifton  <nickc@redhat.com>
42
43         * config/stormy16/stormy-abi: Update overflow type for
44         R_XSTORMY16_16 reloc.
45
46 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
47
48         * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
49         * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
50         (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
51         * print-tree.c (print_node): Remove ambient-boundedness.
52         * tree.h (tree_common): Remove bounded_flag.
53         (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
54         BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
55         MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
56         TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
57         TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
58         Remove.
59         (TYPE_QUALS): Remove BOUNDED.
60         (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
61         (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
62         TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
63         TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
64         VA_LIST_POINTER_DEPTH): Remove.
65         (struct tree_type): Remove pointer_depth.
66
67 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
68
69         * c-pretty-print.c (pp_c_integer_literal): Use
70         HOST_WIDE_INT_PRINT_DOUBLE_HEX.
71
72 2003-05-20  Roger Sayle  <roger@eyesopen.com>
73             Kazu Hirata  <kazu@cs.umass.edu>
74             Joern Rennecke  <joern.rennecke@superh.com>
75
76         * gcse.c (cprop_jump):  Make use of REG_EQUAL notes on both
77         setcc and jump, if they exist.  If substituted instruction
78         fails to validate, store current effort in a REG_EQUAL note.
79         (cprop_insn): Don't attempt further substitutions if the
80         current instruction has been deleted.
81         (local_cprop_pass): Likewise.
82
83         * jump.c (redirect_jump):  Also update REG_EQUAL note, if
84         one is attached to the jump instruction.
85         (invert_jump): Delete REG_EQUAL note on jump, if one exists.
86
87 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
88
89         PR c++/9738
90         * config/i386/winnt.c (i386_pe_encode_section_info): Enable
91         even if not first.
92
93 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
94
95         * genautomata.c (output_description, output_automaton_units,
96         output_state_arcs): Add missing specifiers.
97
98 2003-05-20  Bob Wilson  <bob.wilson@acm.org>
99
100         * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
101         (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
102         (__mulsi3): Use do_addx* instead of ADDX* instructions.  Formatting.
103         (nsau): Rename to do_nsau.  Provide alternate version for use when
104         the NSAU instruction is available.
105         (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
106         (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
107         * config/xtensa/xtensa-config.h: Update comments to match binutils.
108         (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
109         * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
110         (TARGET_ABS, TARGET_ADDX): Define.
111         (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
112         (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
113         * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
114         *subx8): Set predicate condition to TARGET_ADDX.
115         (abssi2): Set predicate condition to TARGET_ABS.
116         * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
117         "-maddx", and "-mno-addx" options.
118         (Xtensa Options): Likewise.  Also tag some opcode names with @code.
119
120 2003-05-20  Kevin Ryde <user42@zip.com.au>
121             Wolfgang Bangerth <bangerth@dealii.org>
122
123         PR/10355
124         * doc/extend.texi: Put a warning into the documentation
125         of attribute regparm.
126
127 2003-05-20  Jason Merrill  <jason@redhat.com>
128
129         * tree.c (expr_last): New fn.
130         * tree.h: Declare it.
131         * objc/objc-act (expr_last): Rename to objc_expr_last.
132
133 2003-05-20  J"orn Rennecke <joern.rennecke@superh.com>
134
135         * sh.c (sh_register_move_cost): Add clase for moving between
136         FP registers and MAC registers.
137
138 2003-05-19  John David Anglin  <dave.anglin@nrc-gnrc.gc.ca>
139
140         * pa/milli64.S ($$mulI): Fix typo.
141
142 2003-05-19  Matt Kraai  <kraai@alumni.cmu.edu>
143
144         * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
145         (nonlocal_set_p): Remove initial blank line.
146         * dwarf2out.c (simple_type_size_in_bits): Likewise.
147         * et-forest.c (et_forest_create): Likewise.
148         * explow.c (stabilize): Likewise.
149         * fix-header.c (write_lbrac): Likewise.
150         * graph.c (start_fct, node_data): Likewise.
151         * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
152         * rtlanal.c (global_reg_mentioned_p): Likewise.
153         * tree.c (bit_position): Likewise.
154
155 2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
156
157         * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
158         -lthread to -lpthread.
159
160 2003-05-19  Neil Booth  <neil@daikokuya.co.uk>
161
162         * c-opts.c (c_common_decode_option): Don't accept dollars
163         as identifier characters in assembly.
164         * doc/cpp.texi: Document this.
165
166 2003-05-19  Seth Arnold  <sarnold@wirex.com>
167             Aldy Hernandez  <aldyh@redhat.com>
168
169         * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
170         vrsave_size twice.
171
172 2003-05-19  Aldy Hernandez  <aldyh@redhat.com>
173
174         * doc/tm.texi (function_arg): Fix typo.
175
176 2003-05-19  Matt Austern  <austern@apple.com>
177
178         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
179         * c-common.h (warn_invalid_offsetof): Declare.
180         * c-common.c (warn_invalid_offsetof): Define.
181         * doc/invoke.texi: Document -Winvalid-offsetof.
182         * testsuite/g++.dg/other/offsetof3.C: New.
183         * testsuite/g++.dg/other/offsetof4.C: New.
184         
185 2003-05-19  Kevin B. Hendricks  <kevin.hendricks@sympatico.ca>
186             David Edelsohn  <edelsohn@gnu.org>
187
188         * config/rs6000/rs6000.c (rs6000_alignment_string,
189         rs6000_alignment_flags): New variables.
190         (rs6000_parse_alignment_option): New function.
191         (rs6000_override_options): Call it.
192         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
193         (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
194         macros.
195         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
196         natural alignment if TARGET_NATURAL_ALIGNMENT
197         (ROUND_TYPE_ALIGN): Always use default record alignment if
198         TAGET_NATURAL_ALIGNMENT.
199         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
200         (ROUND_TYPE_ALIGN): Same.
201         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
202         (ROUND_TYPE_ALIGN): Same.
203         * doc/invoke.texi (Option Summary, PowerPC Options): Document
204         new options.
205
206 2003-05-19  J"orn Rennecke <joern.rennecke@superh.com>
207
208         * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
209         of a function using ASMSPEC, prepend a star.
210
211 2003-05-19  Jason Merrill  <jason@redhat.com>
212
213         * tree-inline.c (copy_body_r): Avoid generating &* during inline
214         substitution.
215
216 2003-05-19  Andrew Macleod  <amacleod@redhat.com>
217
218         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
219         not mark assignments to the hard frame pointer as being stack
220         frame related.
221         (xstormy16_expand_epilogue): Mark adjustments to the stack
222         pointer as being stack frame related.
223
224 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
225
226         * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
227         ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
228         (PREDICATE_CODES): Add hilo_operand.
229         * config/mips/mips.c (hilo_operand): New predicate.
230         (mips_adjust_insn_length): Account for the number nops that might
231         be needed to avoid hardware hazards.
232         * config/mips/mips.md (dslot): Remove attribute.
233         (hazard): New attribute.
234         (can_delay): Use it.  Check for calls, branches & jumps.
235         (muldi3): Use the standard dmult pattern for mips16 code.
236         (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
237
238 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
239
240         * config/mips/mips-protos.h (final_prescan_insn,
241         mips_count_memory_refs, mips_fill_delay_slot): Remove.
242         * config/mips/mips.h (delay_type, dslots_load_total,
243         dslots_load_filled, dslots_jump_total, dslots_jump_filled,
244         dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
245         mips_load_reg3, mips_load_reg4): Remove.
246         (MASK_STATS): Remove.
247         (MASK_EXPLICIT_RELOCS): Reuse its value.
248         (TARGET_STATS): Remove.
249         (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
250         Warn that -mstats is now ignored.
251         (FINAL_PRESCAN_INSN): Undefine.
252         (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
253         (ASM_OUTPUT_REG_POP): Likewise.
254         * config/mips/mips.c (dslots_load_total, dslots_load_filled,
255         dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
256         mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
257         mips_fill_delay_slot, mips_count_memory_refs,
258         final_prescan_insn): Remove.
259         (output_block_move): Remove calls to mips_count_memory_refs.
260         (print_operand): Remove printing of #nop for TARGET_STATS.
261         (mips_output_function_epilogue): Remove TARGET_STATS code.
262         Reorganize setting of fnnmae.
263         * config/mips/mips.md: Remove handling of dslot statistics
264         throughout file.  Change all fcmp patterns into normal asm
265         templates, removing calls to mips_fill_delay_slot.
266         * doc/invoke.texi: Remove documentation of -mstats.
267
268 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
269
270         * config/mips/mips.c (mips_class_max_nregs): Return the number of
271         words in the mode.
272
273 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
274
275         * config/mips/mips.c (override_options): Disable explicit
276         relocs for old ABIs unless using gas.
277
278 2003-05-18  Eric Christopher  <echristo@redhat.com>
279
280         * config/mips/mips.h: Remove definition of g_switch_value.
281
282 2003-05-18  Matt Kraai  <kraai@alumni.cmu.edu>
283
284         * flags.h (g_switch_value): Change to an unsigned
285         HOST_WIDE_INT.
286         * toplev.c (g_switch_value): Likewise.
287
288         * config/alpha/alpha.c (small_symbolic_operand): Remove
289         g_switch_value cast.
290         (alpha_in_small_data_p): Cast size to an unsigned
291         HOST_WIDE_INT.
292
293         * config/frv/frv.c (frv_in_small_data_p): Cast size to an
294         unsigned HOST_WIDE_INT.
295         * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
296         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
297
298         * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
299         unsigned HOST_WIDE_INT.
300         (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
301         * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
302         (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
303
304         * config/rs6000/rs6000.c (rs6000_file_start): Use
305         HOST_WIDE_INT_PRINT_UNSIGNED.
306         (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
307         (rs6000_elf_in_small_data_p): Cast size to unsigned
308         HOST_WIDE_INT.
309         * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
310         Remove.
311         (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
312         g_switch_set.
313         (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
314         g_switch_value cast.
315
316 2003-05-18  Roger Sayle  <roger@eyesopen.com>
317             Zack Weinberg  <zack@codesourcery.com>
318
319         PR middle-end/10472
320         * builtins.c (expand_builtin_memcpy):  Call force_operand on
321         expressions and use simplify_gen_binary to create the addition.
322
323 2003-05-18  Andreas Schwab  <schwab@suse.de>
324
325         * config/m68k/m68k.md: Use define_constants for unspec numbers.
326
327 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
328
329         * config/sparc/sparc.h: Define sparc for now.
330 2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
331
332         * config.gcc: Clear xm_file, md_file at the beginning of each pass.
333
334         * config/stormy16/stormy16.h: Remove about 3000 lines of
335         target-independent comments.  Update copyright notice.
336
337         * doc/collect2.texi: GNU CC -> GCC.
338         * doc/headerdirs.texi: GNU CC -> GCC.
339
340 2003-05-18  Gabriel Dos Reis <gdr@integrable-solutions.net>
341
342         * hashtable.h (struct ht_identifier): Add data member "hash_value".
343         * hashtable.c (ht_lookup): Use it when searching, remember.
344         (ht_expand): Do not recompute.
345         * tree.h (IDENTIFIER_HASH_VALUE): New macro.
346
347 2003-05-18  Nathan Sidwell  <nathan@codesourcery.com>
348
349         * gcov-io.c (gcov_read_bytes): Fix fread thinko.
350
351 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
352
353         * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
354         Default here.
355         (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
356         * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
357         * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
358         * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
359         config/arm/linux-elf.h, config/arm/rtems-elf.h,
360         config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
361         config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
362         config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
363         config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
364         config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
365         config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
366         config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
367         config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
368         config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
369         config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
370         config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
371         Don't define __ELF__.
372         * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
373         Define __ELF__.
374         * doc/cpp.texi: Document __ELF__.
375         * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS.     *
376
377 2003-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
378
379         * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
380         always use stdarg.
381         * c-errors.c (pedwarn_c99): Likewise.
382         * c-format.c (status_warning): Likewise.
383         * c-semantics.c (build_stmt): Likewise.
384         * calls.c (emit_library_call, emit_library_call_value): Likewise.
385         * collect2.c (notice, fatal_perror, fatal, error): Likewise.
386         * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
387         * diagnostic.c (build_message_string, output_printf,
388         output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
389         fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
390         error_with_decl, fnotice): Likewise.
391         * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
392         dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
393         dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
394         dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
395         dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
396         dw2_asm_output_encoded_addr_rtx): Likewise.
397         * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
398         * errors.c (warning, error, fatal, internal_error): Likewise.
399         * final.c (output_operand_lossage, asm_fprintf): Likewise.
400         * fix-header.c (fatal): Likewise.
401         * gcc.c (fatal, error, notice): Likewise.
402         * gcov.c (fnotice): Likewise.
403         * genattrtab.c (attr_rtx, attr_printf): Likewise.
404         * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
405         * gensupport.c (message_with_line): Likewise.
406         * mips-tfile.c (fatal, error): Likewise.
407         * protoize.c (notice): Likewise.
408         * ra-debug.c (ra_debug_msg): Likewise.
409         * read-rtl.c (fatal_with_file_and_line): Likewise.
410         * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
411         * tree.c (build, build_nt, build_function_type_list): Likewise.
412
413 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
414
415         * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
416         * gcc.c (cpp_predefines): Remove.
417         (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
418         (static_specs): Remove predefines.
419         * system.h: Poison CPP_PREDEFINES.
420         * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
421         config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
422
423 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
424
425         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
426         config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
427         config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
428         use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
429
430 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
431
432         PR c/9209
433         * c-common.c, c-common.h (dollars_in_ident): Remove.
434         * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
435         (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
436         * cpphash.h (warned_dollar): Rename warn_dollars.
437         * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
438         Permit dollars regardless of -std=.
439         (post_options): Set warn_dollars.
440         * cpplex.c (forms_identifier_p): Use warn_dollars.
441         * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
442         Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
443         * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
444         Update documentation.
445
446 2003-05-17  Andreas Schwab  <schwab@suse.de>
447
448         * config/m68k/m68k.c (m68k_output_function_prologue): Use
449         HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
450         formatting a HOST_WIDE_INT.
451         (m68k_output_function_epilogue): Likewise.
452
453 2003-05-17  Zack Weinberg  <zack@codesourcery.com>
454
455         * doc/install.texi: Remove information about desupported targets.
456
457 2003-05-17  Andreas Schwab  <schwab@suse.de>
458
459         * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
460         * config/m68k/linux.h: Likewise.
461         * config/m68k/m68k-none.h: Likewise.
462         * config/m68k/netbsd-elf.h: Likewise.
463         * config/m68k/sgs.h: Likewise.
464         * config/m68k/m68k.h: Likewise.
465         * config/m68k/m68k.md: Likewise.
466         * config/m68k/m68k.c: Likewise.
467         * doc/md.texi (Machine Constraints): Remove Sun FPA specific
468         constraints.
469         * doc/invoke.texi (Option Summary): Remove -mfpa.
470         (M680x0 Options): Likewise.
471
472 2003-05-17  David Edelsohn  <edelsohn@gnu.org>
473
474         * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
475
476 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
477
478         * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
479         * config/sparc/liteelf.h, config/sparc/openbsd64.h,
480         config/sparc/rtemself.h, config/sparc/sol2-64.h,
481         config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
482         Update for use of TARGET_SUB_OS_CPP_BUILTINS.
483
484 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
485
486         * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
487         TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
488
489 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
490
491         * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
492         * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
493         sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
494         sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
495         sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
496         sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
497         sparc/sysv4.h,
498         * sparc/sysv4-only.h: New.
499
500 2003-05-17  Alan Modra  <amodra@bigpond.net.au>
501
502         * function.c (assign_parms): Check for zero size args.
503
504 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
505
506         * cfgloopanal.c (test_for_iteration): Use string concatentation on
507         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
508         function calls into one.
509         * dbxout.c (dbxout_symbol): Likewise.
510         * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
511         * dwarf2asm.c (dw2_asm_output_data_uleb128,
512         dw2_asm_output_data_sleb128): Likewise.
513         * genrecog.c (debug_decision_2): Likewise.
514         * loop.c (emit_prefetch_instructions): Likewise.
515         * print-rtl.c (print_rtx): Likewise.
516         * print-tree.c (print_node_brief, print_node): Likewise.
517         * ra-debug.c (dump_igraph, dump_graph_cost,
518         dump_static_insn_cost): Likewise.
519         * ra-rewrite.c (dump_cost): Likewise.
520         * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
521         * sreal.c (dump_sreal): Likewise.
522         * unroll.c (unroll_loop, precondition_loop_p): Likewise.
523         * varasm.c (assemble_vtable_entry): Likewise.
524
525         * avr.c (avr_output_function_prologue,
526         avr_output_function_epilogue, print_operand): Fix format specifier
527         warnings.
528         (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
529         * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
530
531 2003-05-16  Geoffrey Keating  <geoffk@apple.com>
532
533         * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
534         and ! TARGET_STRING cases.
535
536         * doc/cppopts.texi (-undef): Fix texinfo warning.
537
538         * doc/cppopts.texi (-H): Document that -H works for PCH files too.
539         * cppfiles.c (validate_pch): When -H is used, print some information
540         about PCH files found.
541
542 2003-05-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
543
544         * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
545         * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
546         * config/mips/t-sr71k: Likewise.
547
548 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
549
550         * arc.c (arc_output_function_prologue,
551         arc_output_function_epilogue): Fix format specifier warnings.
552         * arc.h (LARGE_INT): Fix signed/unsigned warnings.
553
554         * v850.c (print_operand): Fix format specifier warnings.
555
556         * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
557         specifier warnings.
558
559         * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
560         format specifier warnings.
561
562         * ip2k.c (function_prologue, function_epilogue, print_operand):
563         Fix format specifier warnings.
564         * ip2k.md: Likewise.
565
566         * i960.c (i960_output_function_prologue, i960_print_operand,
567         i960_print_operand_addr): Fix format specifier warnings.
568
569         * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
570         (i370_output_function_prologue): Fix format specifier warnings.
571         * i370.h (PRINT_OPERAND): Likewise.
572
573         * fr30.c (fr30_print_operand): Fix format specifier warnings.
574
575         * dsp16xx.c (print_operand_address): Fix format specifier warning.
576         * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
577
578         * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
579         specifier warnings.
580
581         * alpha.c (print_operand_address, alpha_start_function,
582         unicosmk_output_ssib): Use string concatentation on
583         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
584         function calls into one.
585         * arm.c (arm_print_operand): Likewise.
586         * cris.c (cris_asm_output_mi_thunk): Likewise.
587         * frv.c (frv_asm_output_mi_thunk): Likewise.
588         * ia64.c (ia64_print_operand, process_set): Likewise.
589         * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
590         Likewise.
591         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
592         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
593         * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
594         * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
595         * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
596         * s390.c (s390_assemble_integer): Likewise.
597         * sparc.c (sparc_flat_function_prologue,
598         sparc_flat_function_epilogue): Likewise.
599         * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
600         * vax.c (vax_output_mi_thunk): Likewise.
601
602         * frv.c (frv_print_operand_memory_reference): Fix format specifier
603         warning.
604         (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
605
606         * m68k.c (m68k_output_function_epilogue): Fix format specifier
607         warnings.
608
609         * stormy16-protos.h (xs_hi_general_operand,
610         xs_hi_nonmemory_operand): Prototype.
611         * stormy16.c (xstormy16_output_shift): Fix format specifier
612         warnings.
613
614         * cris.c: Fix format specifier warnings.
615
616 2003-05-16  Nick Clifton  <nickc@redhat.com>
617
618         * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
619
620 2003-05-16  Wolfgang Bangerth <bangerth@dealii.org>
621
622         * doc/bugreport.texi: Remove most of the of the preface of the
623         bugs section.
624
625 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
626
627         * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
628         .save XX, r0.
629
630 2003-05-15  Roger Sayle  <roger@eyesopen.com>
631
632         * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
633
634 2003-05-15  Eric Christopher  <echristo@redhat.com>
635
636         * cfgcleanup.c (merge_blocks): Fix return value.
637
638 2003-05-15 Eric Christopher <echristo@redhat.com>
639
640         * combine.c (expand_compound_operation): Make sure
641         that zero_extend operation is profitable.
642
643 2003-05-15  Richard Henderson  <rth@redhat.com>
644
645         * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
646         code protected by USE_GNULIBC_1.
647
648 2003-05-15  Zack Weinberg  <zack@codesourcery.com>
649
650         * config.gcc: Purge all targets obsoleted in GCC 3.3.  Also
651         remove hppa*-*-mpeix* which could not be built, and prune
652         files from tmake_file= or tm_file= lists that don't exist.
653
654         * config/alpha/alpha-interix.h, config/alpha/alpha32.h
655         * config/alpha/t-interix, config/arm/conix-elf.h
656         * config/arm/t-arm-aout, config/arm/t-strongarm-coff
657         * config/arm/unknown-elf-oabi.h, config/i386/win32.h
658         * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
659         * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
660         * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
661         * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
662         * config/m68k/m68k-psos.h, config/m68k/mot3300.h
663         * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
664         * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
665         * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
666         * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
667         * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
668         * config/m68k/tower-as.h, config/m68k/tower.h
669         * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
670         * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
671         * config/m88k/m88k-protos.h, config/m88k/m88k.c
672         * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
673         * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
674         * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
675         * config/mips/rtems64.h, config/mips/sni-gas.h
676         * config/mips/sni-svr4.h, config/mips/t-ecoff
677         * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
678         * config/mn10200/mn10200.c, config/mn10200/mn10200.h
679         * config/mn10200/mn10200.md, config/mn10200/t-mn10200
680         * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
681         * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
682         * config/romp/romp-protos.h, config/romp/romp.c
683         * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
684         * config/rs6000/aix3newas.h, config/rs6000/mach.h
685         * config/sparc/bsd.h, config/sparc/hal.h
686         * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
687         * config/sparc/lynx.h, config/sparc/netbsd.h
688         * config/sparc/sp86x-aout.h, config/sparc/splet.h
689         * config/sparc/sun4gas.h, config/sparc/sun4o3.h
690         * config/sparc/sunos4.h, config/sparc/t-chorus-elf
691         * config/sparc/t-halos, config/sparc/t-sparcbare
692         * config/sparc/t-splet, config/sparc/t-sunos41
693         * config/v850/rtems.h: Delete file.
694
695 2003-05-15  Aldy Hernandez  <aldyh@redhat.com>
696
697         * config/rs6000/rs6000-protos.h (function_value): Protoize.
698
699         * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
700
701         * config/rs6000/rs6000.c (rs6000_function_value): New.
702
703 2003-05-15  Philip Blundell  <philb@gnu.org>
704
705         * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
706         All uses updated.
707         (arm_tune_xscale): New variable.
708         (arm_override_options): Set it.
709         (arm_adjust_cost): Use it in place of arm_arch_xscale.
710         (arm_gen_load_multiple): Likewise.
711         (arm_gen_store_multiple): Likewise.
712         * config/arm/arm.md (is_xscale): Likewise.
713         * config/arm/arm.h (arm_tune_xscale): Declare.
714
715 2003-05-15  Philip Blundell  <philb@gnu.org>
716
717         PR target/10730
718         * config/arm/arm.c (adjacent_mem_locations): Reject offsets
719         involving invalid constants.
720
721 2003-05-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
722
723         * pa.c (hppa_expand_prologue): Remove blockage.
724
725 2003-05-15  Wolfgang Bangerth <bangerth@dealii.org>
726
727         * doc/bugreport.texi: Remove most of the bug reporting
728         instructions and merge them into bugs.html.
729
730 2003-05-14  Matt Kraai  <kraai@alumni.cmu.edu>
731
732         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
733         g_switch_value to unsigned HOST_WIDE_INT.
734
735 2003-05-14  Eric Christopher  <echristo@redhat.com>
736
737         * combine.c: Fix header comments.
738         (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
739         to all calls and prototype.
740
741 2003-05-14  Roger Sayle  <roger@eyesopen.com>
742
743         PR optimization/10764
744         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
745         Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
746         (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3):  Likewise,
747         add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
748         (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
749         the corresponding *fyl2x_?fxf3 instructions.
750
751 2003-05-14  Bob Wilson  <bob.wilson@acm.org>
752
753         * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
754         * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
755         XCHAL_HAVE_L32R): New.
756         * config/xtensa/xtensa-protos.h (non_const_move_operand,
757         xtensa_load_constant, xtensa_function_prologue,
758         xtensa_function_epilogue): Delete prototypes.
759         (xtensa_expand_prologue): New.
760         * config/xtensa/xtensa.c (frame_size_const,
761         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
762         non_const_move_operand, xtensa_load_constant, xtensa_reorg,
763         xtensa_function_prologue): Delete.
764         (add_operand, xtensa_mem_offset): Formatting.
765         (move_operand): If the const16 option is available, allow any SFmode
766         and SImode constants.
767         (xtensa_emit_move_sequence): Inline the former contents of
768         xtensa_load_constant with modifications to handle the const16 option.
769         (override_options): Add xtensa_char_to_class['W'] and set it to
770         the general register class only if the const16 option is enabled.
771         Fix formatting.  Disallow PIC when using the const16 option.
772         (print_operand): Reorganize to switch on "letter" instead of the
773         RTL code.  Add output_operand_lossage calls for invalid cases.
774         Add support for 't' and 'b' letters.
775         (xtensa_expand_prologue): New function to replace
776         xtensa_function_prologue and xtensa_reorg.
777         (xtensa_function_epilogue): Declare this as static.  Delete code
778         to print the retw.n or retw instruction.
779         (xtensa_return_addr): Use A0_REG instead of 0.
780         (xtensa_rtx_costs): Add costs for using the const16 option.
781         * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
782         (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
783         (TARGET_SWITCHES): Add "const16" and "no-const16".
784         (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
785         (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
786         using the const16 option.
787         (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
788         (TRAMPOLINE_SIZE): Change from 49 to 59.
789         (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
790         (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
791         when using the const16 option.
792         (PREDICATE_CODES): Delete non_const_move_operand.
793         * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
794         UNSPECV_ENTRY.
795         (movdi, movdf): If the source is a constant, always expand to a
796         sequence of movsi insns.
797         (movdi_internal, movdf_internal): Remove alternative using l32r insns.
798         (movsi_internal, movsf_internal): Add alternative using const16 insns.
799         (movsf): Add const16 support.
800         (entry, prologue, epilogue): New.
801         (set_frame_ptr): Add missing mode for unspec_volatile operation.
802         Likewise for subsequent split pattern.
803         * doc/invoke.texi (Option Summary, Xtensa Options): Document new
804         "-mconst16" and "-mno-const16" options.
805
806 2003-05-14  Richard Henderson  <rth@redhat.com>
807
808         * config/ia64/ia64.c (ia64_expand_load_address): Force destination
809         to be DImode register.  Merge load_symptr.
810         * config/ia64/ia64.md (load_symptr): Remove.
811
812 2003-05-14  Richard Henderson  <rth@redhat.com>
813
814         * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
815         DEFERRED_CONSTANT_P.
816         * integrate.c (copy_rtx_and_substitute): Update use.
817         * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
818         to the copy generated.
819         (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
820         of the constant to see if we should emit.
821         (mark_constant): Similarly.
822         (output_constant_def_contents): Set TREE_ASM_WRITTEN.
823
824 2003-05-14  David Edelsohn  <edelsohn@gnu.org>
825
826         * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
827         move record condition.
828         (movdi_internal2): Same.
829
830 2003-05-14  Nathan Sidwell  <nathan@codesourcery.com>
831
832         * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
833         (GCOV_TAG_*) Force type to gcov_unsigned_t.
834         (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
835         (struct gcov_var): Remove modified. Add start, length, offset,
836         overread. Have buffer array for libgcov.
837         (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
838         (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
839         * gcov-io.c (gcov_open): Set mode, do not read anything.
840         (gcov_close): Write final block.
841          (gcov_write_block, gcov_allocate): New.
842         (gcov_write_bytes): Make static. Write or allocate buffer.
843         (gcov_write_unsigned, gcov_write_counter): Buffer can never be
844         null.
845         (gcov_write_string): Adjust.
846         (gcov_write_tag)
847         (gcov_write_length): Adjust. Flush the block.
848         (gcov_write_tag_length): Buffer can never be null.
849         (gcov_read_bytes): Make static. Read in block.
850         (gcov_sync): Moved here. Adjust.
851         (gcov_seek): Moved here. Adjust.
852         * coverage.c (read_counts_file): Adjust.
853         * gcov-dump.c (print_prefix): Add position parameter.
854         (flag_dump_positions): New flag.
855         (options, main, print_usage): Add it.
856         (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
857         tag_summary): Adjust.
858         * gcov.c (read_graph_file, read_count_file): Adjust.
859         * libgcov.c (gcov_exit): Adjust.
860
861         * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
862         (libgcov.a): Depend on libgcc.a.
863         (gcov.o, gcov-dump.o): Add gcov-io.c.
864         * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
865
866         * loop.c (check_dbra_loop): Factor common test.
867
868 2003-05-14  Ben Elliston  <bje@wasabisystems.com>
869
870         * doc/md.texi (Automaton pipeline description): Grammar fixes.
871
872 2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
873
874         * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
875         (TARGET_INITIALIZER): Include it.
876         * target.h (struct gcc_target): Add machine_dependent_reorg field.
877         * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
878         * system.h: Poison MACHINE_DEPENDENT_REORG.
879
880         * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
881         * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
882         * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
883         (alpha_handle_trap_shadows): Remove "first insn" parameter.
884         (alpha_align_insns): Likewise.
885         (alpha_reorg): Likewise.  Make static.  Update calls to above
886         functions.
887
888         * config/arm/arm-protos.h (arm_reorg): Remove declaration.
889         * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
890         * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
891         (arm_reorg): Remove parameter.  Make static.
892
893         * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
894         * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
895         * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
896         (avr_reorg): Renamed from machine_dependent_reorg.  Make static.
897         Remove parameter.
898
899         * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
900         * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
901         * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
902         (c4x_reorg): Renamed from c4x_process_after_reload.  Make static.
903         Remove parameter.
904
905         * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
906         * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
907         * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
908
909         * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
910         * config/frv/frv.c: Remove orphaned comment.
911
912         * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
913         * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
914         * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
915         (ix86_reorg): Renamed from x86_machine_dependent_reorg.  Make static.
916         Remove parameter.
917
918         * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
919         * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
920         * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
921         (emit_insn_group_barriers): Remove "first insn" parameter.
922         (emit_all_insn_group_barriers): Likewise.
923         (ia64_reorg): Likewise.  Make static.  Update calls to above functions.
924         (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
925
926         * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
927         * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
928         * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
929         (ip2k_reorg): Renamed from machine_dependent_reorg.  Make static.
930         Remove parameter.
931
932         * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
933         * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
934         * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
935         (m68hc11_reorg): Make static.  Remove parameter.
936
937         * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
938         * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
939         * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
940         (conditionalize_optimization): Remove parameter.
941         (mcore_reorg): Renamed from mcore_dependent_reorg.  Remove parameter.
942         Make static.  Update call to conditionalize_optimization.
943
944         * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
945         * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
946         * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
947         (mips_reorg): Renamed from machine_dependent_reorg.  Remove parameter.
948         Make static.
949
950         * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
951         * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
952         * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
953         (mmix_reorg): Renamed from mmix_machine_dependent_reorg.  Make static.
954         Remove parameter.
955
956         * config/pa/pa-protos.h (pa_reorg): Remove declaration.
957         * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
958         * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
959         (pa_combine_instructions): Remove "first insn" parameter.
960         (remove_useless_addtr_insns): Likewise.
961         (pa_reorg): Likewise.  Make static.  Update calls to above functions.
962
963         * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
964         commented-out definition.
965
966         * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
967         * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
968         * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
969         (s390_reorg): Renamed from s390_machine_dependent_reorg.  Make static.
970         Remove parameter.
971
972         * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
973         * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
974         * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
975         (sh_reorg): Renamed from machine_dependent_reorg.  Make static.
976         Remove parameter.
977         (sh_output_mi_thunk): Call sh_reorg directly.
978         * config/sh/sh.md: Update comment.
979
980         * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
981         commented-out definition.
982
983         * config/v850/v850-protos.h (v850_reorg): Remove declaration.
984         * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
985         * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
986         (v850_reorg): Make static.  Remove parameter.
987
988         * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
989         * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
990         * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
991         (xtensa_reorg): Make static.  Remove parameter.
992
993         * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
994         (TARGET_MACHINE_DEPENDENT_REORG): Document.
995
996 2003-05-13  Richard Henderson  <rth@redhat.com>
997
998         * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
999         the old decl had instantiated DECL_RTL.
1000
1001 2003-05-13  Mike Stump  <mrs@apple.com>
1002
1003         * doc/invoke.texi (Option Summary): Kill off documentation for -$.
1004
1005 2003-05-13  Janis Johnson  <janis187@us.ibm.com>
1006
1007         * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
1008         HOST_WIDE_INT argument.
1009
1010 2003-05-13  Jason Merrill  <jason@redhat.com>
1011
1012         * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
1013
1014         * tree.c (iterative_hash_expr): New fn.
1015
1016         * c-semantics.c (emit_local_var): Don't mess with temp slots if
1017         there's no initializer.
1018
1019 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
1020
1021         * final.c (final_scan_insn): Apply the effects of frame-related
1022         delay slot insns before emitting a delayed branch.
1023
1024 2003-05-13  Nick Clifton  <nickc@redhat.com>
1025
1026         * config/mcore/mcore.md (jump): Use emit_jump_insn.
1027
1028 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
1029
1030         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
1031         parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
1032
1033 2003-05-12  DJ Delorie  <dj@redhat.com>
1034
1035         * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
1036         (emit_push_insn): Don't use push when the source alignment is less
1037         than the stack's push rounding.
1038
1039 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
1040
1041         * diagnostic.c (output_format): Add support for %m.
1042         (output_printf, output_verbatim, diagnostic_set_info,
1043         verbatim): Set err_no field of the text_info structure being
1044         initialized.
1045         (fatal_io_error): Delete function.
1046         * diagnostic.h (text_info): Add err_no field.
1047         * toplev.h (fatal_io_error): Delete prototype.
1048
1049         * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
1050         * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
1051         * objc/objc-act.c: Replace all calls to fatal_io_error with
1052         calls to fatal_error; add ": %m" to the end of all the affected
1053         error messages.
1054
1055 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
1056
1057         * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
1058         * rtl.h: Prototype it.
1059         * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
1060         when appropriate.
1061
1062 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
1063
1064         * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
1065         ("*iorsi3_oi"): Likewise.
1066
1067 2003-05-13  Richard Earnshaw  <rearnsha@arm.com>
1068
1069         * arm.md (compare_scc): Use shorter sequence for EQ case.
1070         (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
1071         (and_scc_scc): Ensure split only applies when there is a dominance
1072         of the comparisons.
1073         (and_scc_scc_nodom): New insn-and-split pattern.
1074
1075 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
1076
1077         * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
1078         to _Unwind_SetGRPtr().
1079
1080 2003-05-13  Michael Eager <eager@mvista.com>
1081
1082         * Makefile.in: Initialize program_transform_cross_name from
1083         @program_transform_name@ instead of target_alias.
1084
1085 2003-05-12  Janis Johnson  <janis187@us.ibm.com>
1086             Alan Modra  <amodra@bigpond.net.au>
1087             Jakub Jelinek  <jakub@redhat.com>
1088
1089         * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
1090         * configure: Rebuild.
1091         * config/rs6000/rs6000-protos.h: Update.
1092         * config/rs6000/rs6000.c (rs6000_tls_size): New.
1093         (rs6000_tls_size_string): New.
1094         (rs6000_parse_tls_size_option): New.
1095         (rs6000_legitimize_tls_address): New.
1096         (rs6000_tls_get_addr): New.
1097         (rs6000_got_sym): New.
1098         (rs6000_tls_symbol_ref): New.
1099         (rs6000_tls_symbol_ref_1): New.
1100         (rs6000_get_some_local_dynamic_name): New.
1101         (rs6000_get_some_local_dynamic_name_1): New.
1102         (TARGET_HAVE_TLS): New.
1103         (TARGET_CANNOT_FORCE_CONST_MEM): New.
1104         (rs6000_override_options): Handle -mtls-size option.
1105         (constant_pool_expr_1): Handle TLS symbols.
1106         (rs6000_legitimize_address): Handle TLS symbols.
1107         (rs6000_tls_referenced_p): New.
1108         (rs6000_legitimate_address): Handle TLS symbols.
1109         (rs6000_emit_move): Handle TLS symbols.
1110         (print_operand): Handle TLS symbols.
1111         (uses_TOC): Handle TLS symbols.
1112         (rs6000_emit_prologue): Use symbol for unspec constant.
1113         * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
1114         (some_ld_name): New.
1115         (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
1116         (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
1117         (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
1118         * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
1119         Support TLS.
1120         (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
1121         tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
1122         tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
1123         tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
1124         tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
1125         tls_tls_64): New.
1126         * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
1127
1128 2003-05-12  Neil Booth  <neil@cat.daikokuya.co.uk>
1129
1130         * Makefile.in (stage2_build, stage3_build, stage4_build):
1131         Set BUILD_CC to the same as CC.
1132
1133 2003-05-12  Neil Booth  <neil@daikokuya.co.uk>
1134
1135         * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
1136
1137 2003-05-12  Andreas Schwab  <schwab@suse.de>
1138
1139         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
1140         as unused.
1141         (bundling): Initialize 'pos'.
1142         (ia64_expand_builtin): Initialize 'rmode'.
1143
1144 2003-05-12  David Edelsohn  <edelsohn@gnu.org>
1145
1146         * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
1147         (ASM_OUTPUT_ALIGNED_COMMON): Same.
1148         (ASM_OUTPUT_LOCAL): Same.
1149
1150 Mon May 12 21:53:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
1151
1152         * varasm.c (output_constant):  Fix underflow.
1153
1154 2003-05-12  Mark Mitchell  <mark@codesourcery.com>
1155
1156         PR other/10745
1157         * configure.in: Correct detection of GNU ld version number.
1158         * configure: Regenerated.
1159
1160 2003-05-12  Zack Weinberg  <zack@codesourcery.com>
1161
1162         * diagnostic.c (diagnostic_for_decl): Take a
1163         diagnostic_context argument.  Restructure to be consistent
1164         with diagnostic_report_diagnostic.
1165         (diagnostic_count_diagnostic): Now static.  Take a
1166         diagnostic_info argument, not just a diagnostic_t.  Some code
1167         moved here from internal_error.  Move a case label for
1168         clarity.
1169         (diagnostic_action_after_output): New function.  Code moved
1170         here from internal_error and fatal_error.
1171         (bug_report_request): New #define so that this text appears in
1172         only one place.
1173         (diagnostic_report_diagnostic): Update to match changes to
1174         diagnostic_count_diagnostic.  Call diagnostic_action_after_output.
1175         (diagnostic_set_info): Call gettext here.
1176
1177         (pedwarn): Update comment.  Don't call gettext here.
1178         (sorry): Use report_diagnostic.  Don't call gettext here.
1179         (fatal_error): Remove final fnotice and exit, but call
1180         real_abort to prevent warnings about noreturn function returning.
1181         (internal_error): Likewise.  Don't do ICE suppression here nor
1182         call context->internal_error.
1183         (warning_with_decl): Suppress for decls in system headers.
1184         Adjust call to diagnostic_for_decl.
1185         (pedwarn_with_decl): Likewise.
1186         (error_with_decl): Adjust call to diagnostic_for_decl.
1187         (error_recursion): Use bug_report_request.
1188
1189         * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
1190         * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
1191         diagnostic_count_diagnostic.
1192
1193 2003-05-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1194
1195         * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
1196
1197 Mon May 12 15:57:54 CEST 2003  Jan Hubicka  <jh@suse.cz>
1198
1199         * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
1200         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
1201         * mips/mips.h (ASM_OUTPUT_SKIP):  Fix typo in the previous patch.
1202
1203 2003-05-12  Roger Sayle  <roger@eyesopen.com>
1204
1205         * doc/rtl.texi: Document zero_extract as a valid destination
1206         of a set insn.
1207
1208 2003-05-12  Richard Earnshaw  <rearnsha@arm.com>
1209
1210         * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
1211         '.'.  Change all local symbol definitions and references to use LSYM.
1212
1213 Mon May 12 11:32:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
1214
1215         * expr.h (assemble_static_space): Update prototype.
1216         * output.h (assemble_zeros, output_constant): Likewise.
1217         * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
1218         * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
1219         it 64bit clean.
1220         * elf.h (ASM_OTUPUT_SKIP): Likewise.
1221         * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
1222         * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
1223         Expect HOST_WIDE_INT operand.
1224         * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
1225         Expect HOST_WIDE_INT operand.
1226         * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
1227         Expect HOST_WIDE_INT operand.
1228         * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
1229         HOST_WIDE_INT operand.
1230         * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
1231         ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
1232         * aout.h (ASM_OTUPUT_SKIP): Likewise.
1233         * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
1234         * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
1235         * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
1236         * frv.h (ASM_OTUPUT_SKIP): Likewise.
1237         * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
1238         * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
1239         Make it 64bit
1240         clean.
1241         * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
1242         * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
1243         Make it 64bit clean.
1244         * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
1245         * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
1246         HOST_WIDE_INT operand
1247         * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
1248         Expect HOST_WIDE_INT operand
1249         * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
1250         * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
1251         ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
1252         * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
1253         Likewise.
1254         * m32r.h (ASM_OUTPUT_COMMON): Likewise.
1255         * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
1256         Likewise.
1257         * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
1258         * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
1259         * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
1260         ASM_OUTPUT_SKIP): Likewise.
1261         * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
1262         Likewise.
1263         * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
1264         ASM_OUTPUT_SKIP): Likewise.
1265         * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
1266         ASM_OUTPUT_SKIP): Likewise.
1267         * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
1268         * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
1269         ASM_OUTPUT_SKIP): Likewise.
1270         * sgs.h (ASM_OUTPUT_SKIP): Likewise.
1271         * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
1272         ASM_OUTPUT_SKIP): Likewise.
1273         * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
1274         Likewise.
1275         * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
1276         * iris.h (ASM_OUTPUT_LOCAL): Likewise.
1277         * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
1278         * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
1279         ASM_OUTPUT_SKIP): Make it 64bit clean.
1280         * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
1281         Make it 64bit clean.
1282         * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
1283         ASM_OUTPUT_SKIP): Make it 64bit clean.
1284         * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
1285         64bit clean.
1286         * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
1287         HOST_WIDE_INT argument
1288         * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
1289         * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
1290         HOST_WIDE_INT argument
1291         * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
1292         * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
1293         * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
1294         * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
1295         HOST_WIDE_INT argument
1296         * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
1297         * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
1298         * varasm.c (asm_output_bss, asm_output_aligned_bss,
1299         asm_emit_uninitialized, assemble_zeros, assemble_static_space):
1300         HOST_WIDE_INT argument
1301
1302 2003-05-10  Steven Bosscher  <steven@gcc.gnu.org>
1303
1304         * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
1305         favor of walk_tree_without_duplicates.  Add comments.
1306
1307 2003-05-12  Josef Zlomek  <zlomekj@suse.cz>
1308
1309         * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
1310         (struct alloc_pool_def): New element 'id'.
1311         * alloc-pool.c (fancy_abort): Extern function prototype.
1312         (abort): Macro which uses fancy_abort.
1313         (struct allocation_object_def): New structure.
1314         (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
1315         (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
1316         (last_id): New variable.
1317         (create_alloc_pool): Add the offset of u.data to size of element,
1318         increase and use last_id.
1319         (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
1320         (pool_alloc): Likewise. Set ID for elements.
1321         (pool_free): Check whether the PTR was allocated from POOL.
1322
1323 2003-05-11  Richard Henderson  <rth@redhat.com>
1324
1325         PR c/10675
1326         * c-decl.c: Include hashtab.h.
1327         (detect_field_duplicates): New.
1328         (finish_struct): Use it.
1329         * Makefile.in (c-decl.o): Update.
1330         * c-parse.in (structsp_attr): Nreverse component_decl_list results.
1331         (component_decl_list, component_decl_list2,
1332         components, components_notype): Build list in reverse order.
1333         (enumlist): Clarify docs.  Use TREE_CHAIN not chainon.
1334
1335         * tree.c (chainon): Special case op2 null as well.
1336         Reorg for clarity.
1337
1338 2003-05-11  Roger Sayle  <roger@eyesopen.com>
1339
1340         * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
1341         to implement log, logf and logl built-ins as inline x87 intrinsics.
1342         (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
1343         (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
1344         patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
1345
1346         * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
1347         UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
1348
1349 2003-05-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1350
1351         * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
1352
1353         * sparc.c (print_operand): Fix uninitialized warning.
1354
1355 2003-05-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1356
1357         * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
1358         real insns.
1359         * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
1360         condition.
1361
1362 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
1363
1364         * doc/cpp.texi: Fix typos.
1365
1366 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
1367
1368         * config/s390/s390.c (s390_function_arg_float): New function.
1369         (s390_function_arg_pass_by_reference): Use it.
1370         (s390_function_arg_advance): Likewise.
1371         (s390_function_arg): Likewise.
1372         (s390_va_arg): Likewise
1373
1374 2003-05-11  Nathan Sidwell  <nathan@codesourcery.com>
1375
1376         * coverage.h (coverage_counter_alloc): New function.
1377         * function.h (struct function): Remove arc_profile flag.
1378         * coverage.c (fn_ident): Remove.
1379         (fn_b_ctrs, no_coverage): New.
1380         (get_coverage_counts): Use current_function_funcdef_no.
1381         (coverage_counter_alloc): New.
1382         (coverage_counter_ref): Adjust.
1383         (coverage_begin_output): Check no_coverage. Use
1384         current_function_funcdef_no.
1385         (coverage_end_function): Likewise.
1386         (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
1387         than clearing flag_inline_functions. Do not clear arc_profile
1388         flag.
1389         * function.c (prepare_function_start): Do not set arc_profile
1390         flag.
1391         * profile.c (instrument_edges): Return number of instrumented
1392         edges. Use a for loop.
1393         (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
1394         local to here and simplify. Use profile_arc_flag not arc_profile
1395         flag.
1396         (find_spanning_tree): Reformat.
1397         * toplev.c (rest_of_compilation): Use profile_arc_flags and
1398         flag_test_coverage rather than arc_profile flag.
1399
1400 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
1401
1402         * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
1403
1404 2003-05-11  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1405
1406         * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
1407
1408 2003-05-11  Bruno Haible  <bruno@clisp.org>
1409
1410         * cppfiles.c (find_or_create_entry): Preserve errno.
1411
1412 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
1413
1414         * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
1415         cpplib as it's a Standard Predefined Macro.
1416         * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
1417         * cppinit.c (_cpp_init_builtins): Take HOSTED.  Define
1418         __STDC_HOSTED__ appropriately.
1419         * cpplib.h (_cpp_init_builtins): Update.
1420         * fix-header.c (read_scan_file): Update.
1421         * doc/cpp.texi, doc/cppopts.texi: Update documentation.
1422
1423 2003-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1424
1425         PR C++/689
1426         PR C++/9257
1427         * c-opts.c (c_common_decode_option): Don't set
1428         warn_ctor_dtor_privacy wen -Wall.
1429         * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
1430
1431 2003-05-10  Alexandre Oliva  <aoliva@redhat.com>
1432
1433         * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
1434         patch.
1435
1436 2003-05-10  Zack Weinberg  <zack@codesourcery.com>
1437
1438         * diagnostic.c: Reorder functions for clarity, putting all the
1439         functions in the "error" family next to each other, and
1440         likewise all the functions in the "error_with_decl" family.
1441         Some other routines were moved too.  Add comments.
1442         (vbuild_message_string): Fold into sole caller.
1443
1444
1445 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
1446
1447         * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
1448         (EH_RETURN_HANDLER_RTX): Likewise.
1449         (expand_builtin_eh_return): Do not copy stack adjustment
1450         if EH_RETURN_STACKADJ_RTX is not defined.
1451         (expand_eh_return): Likewise.  Also, do not pass stack
1452         adjustment as argument to the eh_return pattern.
1453         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
1454         because EH_RETURN_STACKADJ_RTX is not defined.
1455         * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
1456         is not defined, treat stack pointer like a regular register.
1457         (uw_init_context_1): Set up fake initial stack pointer register.
1458         (uw_install_context_1): Do not compute stack adjustment if
1459         EH_RETURN_STACKADJ_RTX is not defined.
1460
1461         * config/i386/i386.md ("eh_return"): Remove first argument.
1462         * config/mips/mips.md ("eh_return"): Likewise.
1463         * config/rs6000/rs6000.md ("eh_return"): Likewise.
1464         * config/sh/sh.md ("eh_return"): Likewise.
1465
1466         * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
1467
1468 2003-05-10  Alexander Aganichev  <aaganichev@yandex.ru>
1469
1470         * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
1471
1472 2003-05-10  Nathan Sidwell  <nathan@codesourcery.com>
1473
1474         * defaults.h (GCOV_TYPE_SIZE): Remove.
1475         * gcov-io.h (gcov_type): Set to specific mode int on target.
1476         (gcov_unsigned_t, gcov_position_t): New.
1477         (GCOV_TYPE_NODE): New.
1478         (GCOV_TAG_SUMMARY_LENGTH): Adjust.
1479         (GCOV_COUNTERS_SUMMABLE): New.
1480         (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
1481         gcov_ctr_info, gcov_info): Adjust types.
1482         (gcov_var): Adjust types.
1483         (gcov_write_unsigned, gcov_write_tag,
1484         gcov_write_length, gcov_write_tag_length, gcov_write_summary,
1485         gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
1486         (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
1487         * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
1488         gcov_write_length, gcov_write_tag_length, gcov_write_summary,
1489         gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
1490         * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
1491         __gcov_init, __gcov_merge_add): Adjust gcov types.
1492         * coverage.c (ctr_merge_functions): Constify.
1493         (ctr_names): New.
1494         (read_counts_file): Adjust gcov types. Only summarize & merge
1495         summable counters.
1496         (coverage_counter_ref): Use GCOV_TYPE_NODE.
1497         (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
1498         build_ctr_info_value, build_gcov_info): Adjust types.
1499         * profile.c (branch_prob): Adjust gcov types.
1500         * gcov_dump (dump_file): Adjust gcov types.
1501
1502 2003-05-10  Richard Earnshaw  <rearnsha@arm.com>
1503
1504         * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
1505         constants.
1506         (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
1507         * arm.c (arm_select_dominance_cc_mode): Renamed from
1508         select_dominance_cc_mode, no-longer static.  Use DOM_CC... constants.
1509         Callers updated.
1510         * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
1511
1512 2003-05-09  Roger Sayle  <roger@eyesopen.com>
1513
1514         * config/alpha/alpha.c (alpha_start_function): Declare frame_size
1515         as unsigned to avoid signed/unsigned comparison warnings.
1516
1517 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
1518
1519         * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
1520         instruction if the Xtensa density option is enabled.
1521
1522 2003-05-09  Matt Kraai <kraai@alumni.cmu.edu>
1523
1524        * mklibgcc.in: Remove extra quotes.
1525
1526 2003-05-09  Mark Mitchell  <mark@codesourcery.com>
1527
1528         * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
1529         of int_ftype_void.
1530
1531 2003-05-09  Alexandre Oliva  <aoliva@redhat.com>
1532
1533         * reload1.c (reload_cse_move2add): Don't turn an implicit
1534         truncation into a self-set in the narrow mode.
1535
1536 2003-05-09  Richard Earnshaw  <rearnsha@arm.com>
1537
1538         * arm.md (clzsi2): The CLZ instruction is predicable.
1539
1540 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
1541
1542         * config/xtensa/xtensa.c: Formatting.
1543
1544 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
1545
1546         * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
1547         instead of TREE_OPERAND to access the operand of a
1548         CONSTRUCTOR node.
1549
1550 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
1551
1552         * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
1553         one operand.
1554
1555 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
1556
1557         * toplev.h (warning_with_file_and_line): Don't declare.
1558         (error_with_file_and_line): Likewise.
1559         * diagnostic.c (error_with_file_and_line): Remove.
1560         (warning_with_file_and_line): Likewise.
1561
1562 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
1563
1564         * c-parse.in (if_stmt_locus): New object.
1565         (if_prefix rule): Use it.  Don't use warning_with_file_and_line.
1566         (select_or_iter_stmt rule): Likewise.
1567         (if_stmt_file): Remove.
1568         (if_stmt_line): Likewise.
1569         * jump.c: include "diagnostic.h"
1570         (never_reached_warning): Don't use warning_with_file_and_line.
1571         * Makefile.in (jump.o): Add dependce on diagnostic.h
1572
1573 2003-05-09  Alan Modra  <amodra@bigpond.net.au>
1574
1575         * expr.c (move_block_from_reg): Remove "size" parm.  Localize vars.
1576         Move code handling pieces not larger than a word to..
1577         * function.c (assign_parms): ..here, but use change_address instead
1578         of adjust_address and operand_subword, and expand_binop instead of
1579         expand_shift.  Adjust calls to move_block_from_reg.
1580         * expr.h (move_block_from_reg): Update declaration.
1581         (copy_blkmode_from_reg): Formatting.
1582         * Makefile.in (function.o): Add $(OPTABS_H) to deps.
1583         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
1584         move_block_from_reg calls.
1585         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
1586         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
1587         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
1588         * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
1589         * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
1590         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1591         * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
1592         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
1593         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
1594
1595 2003-05-08  DJ Delorie  <dj@redhat.com>
1596
1597         * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
1598         to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
1599         variable-sized types).
1600         (xstormy16_function_arg): New.  Pass them that way too.
1601         * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
1602         * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
1603
1604 2003-05-08  Aldy Hernandez  <aldyh@redhat.com>
1605
1606         * mklibgcc.in: Use mkinstalldirs when installing multilib
1607         directories.
1608
1609 2003-05-08  J"orn Rennecke <joern.rennecke@superh.com>
1610
1611         * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
1612         instead of CODE_FOR_jump
1613
1614 2003-05-08  Gabriel Dos Reis <gdr@integrable-solutions.net>
1615
1616         * objc/objc-act.c (error_with_ivar): Don't use
1617         error_with_file_and_line.
1618         (warn_with_method): Don't use warning_with_file_and_line.
1619
1620 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1621
1622         * stmt.c (emit_locus): New macro.
1623         (emit_filename): Remove.
1624         (emit_lineno): Likewise.
1625         (struct stmt_status): Replace members x_emit_filename and
1626         x_emit_lineno with x_emit_locus.
1627         (set_file_and_line_for_stmt): Adjust.
1628         (expand_expr_stmt_value): Don't use warning_with_file_and_line.
1629         (warn_if_unused_value): Likewise.
1630         (check_seenlabel): Likewise.
1631
1632 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1633
1634         * c-decl.c (define_label): Tidy.  Don't use any of
1635         error_with_file_and_line or warning_with_file_and_file.
1636         (pending_xref_error): Likewise.
1637         (store_parm_decls): Likewise.
1638         (current_function_prototype_locus): New object.  Package from
1639         current_function_prototype_file and current_function_prototype_line.
1640         (start_function): Use it.
1641         (current_function_prototype_file): Remove.
1642         (current_function_prototype_line): Remove;
1643
1644 2003-05-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1645
1646         * builtins.c (readonly_data_expr): New function.
1647         (expand_builtin_memmove): Optimize any rodata source, not just
1648         strings.
1649
1650 2003-05-07  David Mosberger <davidm@hpl.hp.com>
1651
1652         * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
1653
1654 2003-05-07  Richard Henderson  <rth@redhat.com>
1655
1656         * config/i386/i386.c (ix86_split_long_move): Fix base register
1657         mode for XFmode splits for TARGET_64BIT.
1658
1659 2003-05-07  Richard Henderson  <rth@redhat.com>
1660
1661         * sched-ebb.c (schedule_ebb): Supply the correct starting
1662         block number to save_line_notes.
1663
1664 2003-05-07  Richard Henderson  <rth@redhat.com>
1665
1666         * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
1667         (dump_file): Likewise.
1668
1669 2003-05-07  David Mosberger <davidm@hpl.hp.com>
1670
1671         * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
1672         forget to preserve gp.
1673         * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
1674
1675         * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
1676         .prologue directive.
1677         Use .skip instead of data8 for .bss section to make Intel
1678         Assembler (ias) happy.  Minor whitespace fixups.  Make "nop 0"
1679         explicit in the .mib bundles and remove the unnecessary stop
1680         bits.  Replace local labels with normal labels, to make ias
1681         happy.  Don't register __do_global_ctors_aux here, do it in
1682         crtend.asm instead.
1683
1684         * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
1685         __do_global_ctors_aux in .init_array section instead of
1686         declaring it as a hidden global.  Replace local labels with
1687         ordinary labels to make ias happy.
1688
1689 2003-05-07  Richard Henderson  <rth@redhat.com>
1690
1691         PR c++/10570
1692         * except.c: Revert 04-01 and 04-02 forced-unwind changes.
1693         * flags.h, toplev.c, doc/invoke.texi: Likewise.
1694
1695         * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
1696         * unwind.inc (_Unwind_DeleteException): Check for null
1697         exception_cleanup.
1698
1699         * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
1700         * unwind.inc (_Unwind_Resume_or_Rethrow): New.
1701         * unwind.h: Declare them.
1702         * libgcc-std.ver (GCC_3.3): Export them.
1703
1704 2003-05-07  Richard Henderson  <rth@redhat.com>
1705
1706         * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
1707         not _Unwind_Word.
1708
1709 2003-05-07  Zack Weinberg  <zack@codesourcery.com>
1710
1711         * stmt.c (force_label_rtx): New function, based on logic
1712         formerly found in expand_expr.
1713         * expr.h: Prototype it.
1714         * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
1715         appropriate.
1716         * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
1717
1718         * print-tree.c (debug_tree): Free the table after we're done
1719         with it.  Use putc.
1720
1721 2003-05-07  Aldy Hernandez  <aldyh@redhat.com>
1722
1723         * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
1724         Unreverse arguments for __ev_subw.
1725
1726         * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
1727
1728 2003-05-07  Nick Clifton  <nickc@redhat.com>
1729
1730         * config/stormy16/stormy-abi: Update to include
1731         R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
1732         R_XSTORMY16_12 relocs.
1733
1734 2003-05-07  Alan Modra  <amodra@bigpond.net.au>
1735
1736         * function.c (assign_parms): Correct reversed reg_parm_stack_space
1737         test.  Add partial in-regs size to stack_args_size.
1738
1739 2003-05-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1740
1741         * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
1742         as a C only option.
1743
1744 2003-05-07  Nathan Sidwell  <nathan@codesourcery.com>
1745
1746         * gcov-io.h (GCOV_LOCKED): New #define.
1747         (GCOV_LINKAGE): Make sure it is #defined.
1748         (gcov_write_string, gcov_write_tag, gcov_write_length,
1749         gcov_read_string, gcov_time): Poison in libgcov.
1750         (gcov_seek_end): Remove.
1751         (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
1752         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
1753         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
1754         GCOV_TAG_SUMMARY_LENGTH): New #defines.
1755         (gcov_write_tag, gcov_write_length): Not in libgcov.
1756         * gcov-io.c (gcov_open): Use GCOV_LOCKED.
1757         (gcov_write_tag, gcov_write_length): Not in libgcov.
1758         (gcov_write_tag_length): New.
1759         (gcov_write_summary): Use gcov_write_tag_length.
1760         * libgcov.c: Always #include gcov-io.h.
1761         (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
1762         (GCOV_LINKAGE): Define to nothing for L_gcov.
1763         (gcov_exit): Replace gcov_write_tag, gcov_write_length with
1764         gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
1765         * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
1766         (read_count_file): Likewise.
1767         * gcov-dump.c (dump_file): Likewise.
1768         * coverag.c (read_counts_file): Likewise.
1769
1770 2003-05-06  Mark Mitchell  <mark@codesourcery.com>
1771
1772         PR other/10658
1773         * gcc.c (process_command): Update copyright date.
1774
1775 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
1776
1777         * doc/install.texi (mips-*-*):  Add note about libstdc++.
1778
1779 2003-05-06  DJ Delorie  <dj@redhat.com>
1780
1781         * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
1782         * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
1783         * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
1784
1785 2003-05-06    <neil@cat.daikokuya.co.uk>
1786
1787         * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
1788         and -Wstrict-prototypes if C++.
1789
1790 2003-05-06  Aldy Hernandez  <aldyh@redhat.com>
1791
1792         * config/rs6000/linuxspe.h: New file.
1793
1794         * config.gcc: Add powerpc-*-linux-gnuspe* target.
1795
1796 2003-05-06  Richard Henderson  <rth@redhat.com>
1797
1798         * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
1799         previous frame didn't save sp.  Clear sp for next frame.
1800         (uw_install_context_1): Honor saved sp from frame.
1801
1802 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
1803
1804         * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
1805         (mips_move_1word, mips_move_2words): Remove declaration.
1806         (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
1807         (mips_restore_gp): Remove insn argument.
1808         * config/mips/mips.h (FP_REG_RTX_P): New macro.
1809         * config/mips/mips.c (volatile_buffer): Remove.
1810         (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
1811         (mips_move_1word, mips_move_2words): Remove, replacing with...
1812         (mips_output_move): ...this new function.
1813         (mips_restore_gp): Remove insn argument.  Adjust for above changes.
1814         (print_operand): Make '%h' print %hi(op) for HIGH operands.  Remove
1815         handling of floating-point constants.  Handle zero CONST_DOUBLE
1816         arguments.
1817         (mips_annotate_frame_insn): Replace with...
1818         (mips_set_frame_expr): ...this, which just takes one argument.
1819         (mips_frame_set): Change the register argument to an rtx.
1820         (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
1821         check whether moves should be split.  Use mips_split_64bit_move
1822         to split them.  Use mips_subword to generate the high and low
1823         parts of a paired FPR.  Adjust calls to frame_set and
1824         mips_set_frame_expr.
1825         (mips_expand_prologue): Simplify due to above changes.
1826         * config/mips/mips.md:  Add splitters for 64-bit moves on 32-bit
1827         targets, replacing xisting register-only versions.
1828         (UNSPEC_STORE_DF_HIGH): New unspec.
1829         (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
1830         (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
1831         (*paradoxical_extendhidi2): Remove.
1832         (movdi_internal, movdi_internal2): Use mips_output_move.
1833         (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
1834         (movsf_internal1, movsf_internal2): Likewise.
1835         (movdf_internal1a): Likewise.  Fix length and type of f <- G case.
1836         (movdf_internal1b): Use mips_output_move.  Fix type of f <- G case.
1837         (movdf_internal2): Use mips_output_move.  Fix lengths of FPR moves.
1838         Add m <- G alternative.
1839         (load_df_low, load_df_high, store_df_low): New patterns.
1840         (movhi_internal): Use @ template instead of calling a function.
1841         Remove unnecessary 'z' alternatives.
1842         (movqi_internal): Likewise.
1843         (exception_receiver): Update call to mips_restore_gp.
1844
1845 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
1846
1847         * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
1848         (mips_delegitimize_address): Declare.
1849         * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
1850         (FIND_BASE_TERM): Define.
1851         * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
1852         (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
1853         Handle small-data addresses.
1854
1855 2003-05-05  Roger Sayle  <roger@eyesopen.com>
1856
1857         * real.c (real_powi): New function to calculate the value of
1858         a real raised to an integer power, i.e. pow(x,n) for int n.
1859         (real_sqrt): Convert to using the faster do_add, do_multiply
1860         and do_divide API for consistency with the rest of real.c.
1861         * real.h (real_powi): Prototype here.
1862         * builtins.c (fold_builtin):  Avoid local variable mode when
1863         evaluating sqrt at compile time.  Attempt to evaluate pow at
1864         compile-time, by checking for an integral exponent.
1865
1866 2003-05-05  Richard Henderson  <rth@redhat.com>
1867
1868         * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
1869
1870 2003-05-05  David O'Brien  <obrien@FreeBSD.org>
1871
1872         * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
1873         other FreeBSD ports.
1874         (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
1875         (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
1876
1877 2003-05-05  Janis Johnson  <janis187@us.ibm.com>
1878
1879         * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
1880         expanded variables.
1881         * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
1882
1883 2003-05-05  Zack Weinberg  <zack@codesourcery.com>
1884
1885         * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
1886         * varasm.c (struct varasm_status): Add deferred_constants field.
1887         (n_deferred_strings): Delete variable.
1888         (n_deferred_constants): New #define.
1889         (struct constant_descriptor_tree): Kill next and label fields.
1890         (const_hash_table, MAX_HASH_TABLE): Delete.
1891         (const_desc_htab): New static variable.
1892         (const_hash): Rename const_desc_hash, and make it fit the
1893         hashtab.h interface.
1894         (const_desc_eq): New.
1895         (const_hash_1, compare_constant): Const-ify arguments.
1896         (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
1897         SYMBOL_REFs.  Clarify comments.  Don't set desc->label.
1898         (output_constant_def): Do the lookup/insert using the
1899         hashtab.h interface.  Don't muck with n_deferred_constants or
1900         DEFERRED_CONSTANT_P here.
1901         Always call maybe_output_constant_def_contents.
1902         (maybe_output_constant_def_contents): Take a pointer to the
1903         descriptor, not the EXP and RTL separately.  Return
1904         immediately if this constant is not deferred.  Defer output of
1905         everything, except writable string constants.  Update
1906         n_deferred_constants here.
1907         (output_constant_def_contents): Now takes just one argument,
1908         an rtx.  Clear DEFERRED_CONSTANT_P here.
1909         (mark_constant_pool): Update for rename of n_deferred_strings.
1910         (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
1911
1912         (init_varasm_status): Clear p->deferred_constants.
1913         (init_varasm_once): Call htab_create_ggc for const_desc_htab.
1914
1915 2003-05-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1916
1917         * builtins.c (expand_builtin_stpcpy): Only expand when the length
1918         of the source string can be evaluated at compile-time.
1919
1920 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
1921
1922         * testsuite/gcc.c-torture/compile/simd-6.c: New.
1923
1924         * c-typeck.c (digest_init): Handle arrays of vector constants.
1925
1926 2003-05-05  Jakub Jelinek  <jakub@redhat.com>
1927
1928         * builtins.c (expand_builtin_mempcpy): New function.
1929         (expand_builtin_stpcpy): Optimize stpcpy whose return value is
1930         ignored into strcpy no matter what arguments it has.
1931         (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
1932         expand_builtin_mempcpy.
1933
1934 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
1935
1936         * testsuite/gcc.dg/20030505.c: New.
1937
1938         * c-typeck.c (convert_for_assignment): Opaque pointers can
1939         interconvert.
1940
1941         * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
1942         (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
1943         (spe_init_builtins): Rename all pv2si_type_node to
1944         opaque_p_V2SI_type_node.
1945         Remove declaration of pv2si_type_node.
1946         (is_ev64_opaque_type): Accept opaque pointers.
1947
1948 2003-05-05  Geoffrey Keating  <geoffk@apple.com>
1949
1950         * config/rs6000/rs6000.c (validate_condition_mode): Use
1951         flag_finite_math_only.
1952         (rs6000_reverse_condition): Never return UNKNOWN; use
1953         flag_finite_math_only.
1954         (rs6000_generate_compare): Use flag_finite_math_only.
1955         (rs6000_emit_cmove): Handle UNLE.  Support UNEQ under -ffast-math.
1956         Use HONOR_* rather than flag_unsafe_math_optimizations.  Correct
1957         UNGE and GT cases.  Handle UNEQ and LTGT when ! HONOR_NANS.
1958
1959         * toplev.c (check_global_declarations): Suppress not-used warning
1960         for volatile variables.
1961
1962 2003-05-05  Olivier Hainque  <hainque@act-europe.fr>
1963
1964         * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
1965         usage of bitfield instructions for mode1 != BLKmode, only ignoring
1966         SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
1967         (store_field): Likewise.
1968
1969 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
1970
1971         * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
1972         evsubifw to builtins accepting 5-bit unsigned constants.
1973         (easy_vector_constant): Return if V1DImode.  Fix typo.
1974
1975 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
1976
1977         * config/rs6000/spe.h: Revert licensing change from last patch.
1978
1979 2003-05-05  DJ Delorie  <dj@redhat.com>
1980
1981         * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
1982         before reload, but defer the split until after.
1983         * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
1984         to match.
1985
1986 2003-05-05  David Edelsohn  <edelsohn@gnu.org>
1987
1988         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
1989         * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
1990
1991 2003-05-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1992
1993         * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
1994         is defined.
1995
1996 2003-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1997
1998         * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
1999         ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
2000         ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
2001
2002         (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
2003         ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
2004         ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
2005         New.
2006
2007         * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
2008         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
2009
2010         (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
2011         BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
2012         BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
2013         BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
2014         BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
2015         BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
2016         BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
2017         BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
2018         BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
2019         BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
2020         BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
2021         BUILT_IN_STRDUP): Add "nonnull" attribute.
2022
2023 2003-05-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2024
2025         * expr.c (store_field): Don't clobber TEMP in shift: it might be
2026         a variable.
2027         (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
2028         whose purpose is to step up the alignment.
2029         (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
2030
2031         * stor-layout.c (compute_record_mode): Relax restriction
2032         on fields crossing word boundaries forcing BLKmode.
2033
2034 2003-05-04  Neil Booth  <neil@daikokuya.co.uk>
2035
2036         * cppinit.c (cpp_create_reader, post_options): Warn about
2037         trigraphs unless explicity set or -trigraphs.
2038         * cpplex.c (warn_in_comment): New.
2039         (_cpp_process_line_notes): Better handling of -Wtrigraphs.
2040         (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
2041         * doc/cppopts.texi, doc/cpp.texi: Update.
2042
2043 2003-05-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2044
2045         * Makefile.in (LIBGCOV): Add _gcov_merge_add.
2046         * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
2047         namespace clash.
2048         (GCOV_MERGE_FUNCTIONS): New.
2049         (gcov_merge_fn): Declare.
2050         (struct gcov_ctr_info): New field "merge".
2051         (__gcov_merge_add): Declare.
2052         * coverage.c (ctr_merge_functions): New.
2053         (build_ctr_info_type, build_ctr_info_value): Initialize merge field
2054         of gcov_ctr_info type.
2055         * libgcov.c (__gcov_merge_add): New.
2056         (gcov_exit): Call a hook to merge values of counters.
2057
2058 2003-05-04  Gabriel Dos Reis <gdr@integrable-solutions.net>
2059
2060         * toplev.h (pedwarn_with_file_and_line): Don't declare.
2061         * diagnostic.c (pedwarn_with_file_and_line): Remove.
2062
2063 2003-05-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2064
2065         * varasm.c (assemble_variable): Don't use error_with_file_and_line.
2066
2067 2003-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2068
2069         * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
2070         expand_builtin_frame_address): Update prototypes.
2071         (expand_builtin_constant_p, expand_builtin_strlen,
2072         expand_builtin_strcpy, expand_builtin_memset,
2073         expand_builtin_bzero, expand_builtin_args_info,
2074         expand_builtin_frame_address): Pass in just the argument(s)
2075         needed, not the entire expression `exp'.
2076         (expand_builtin): Update all calls to these functions.
2077
2078 2003-05-03  Richard Henderson  <rth@redhat.com>
2079
2080         * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
2081         <BUILT_IN_DWARF_SP_COLUMN>: New.
2082         * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
2083         (BUILT_IN_DWARF_SP_COLUMN): New.
2084         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
2085         (expand_builtin_dwarf_sp_column): New.
2086         * except.h: Update to match.
2087         * unwind-dw2.c (execute_stack_op): Correct stack push typo.
2088         (execute_cfa_program): Record location expression address
2089         before extracting length.
2090         (uw_update_context_1): Install old CFA into stack pointer column.
2091         (uw_init_context_1): Set cfa_reg to stack pointer column.
2092
2093 2003-05-03  Richard Henderson  <rth@redhat.com>
2094
2095         * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
2096         return bool.
2097         (toc_relative_expr_p): Likewise.
2098         (SPE_CONST_OFFSET_OK): Move from rs6000.h.
2099         (legitimate_constant_pool_address_p): Move from rs6000.h, change
2100         into a function, downcase all users.
2101         (legitimate_small_data_p): Likewise.
2102         (legitimate_offset_address_p): Likewise.
2103         (legitimate_indexed_address_p): Likewise.
2104         (legitimate_indirect_address_p): Likewise.
2105         (legitimate_lo_sum_address_p): Likewise.
2106         (rs6000_mode_dependent_address): Likewise.
2107         * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
2108         (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
2109         LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
2110         LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
2111         LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
2112         (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
2113         (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
2114         * config/rs6000/rs6000-protos.h: Update.
2115
2116 2003-05-03  Geoffrey Keating  <geoffk@apple.com>
2117
2118         * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
2119         (REVERSE_CONDITION): Define.
2120
2121         * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
2122         to branch_positive_comparison_operator.
2123         (ccr_bit): Check that sCOND conditions are actually a positive bit.
2124         (print_operand): Remove %D substitution.
2125         (rs6000_emit_sCOND): Generate complement operation to ensure that
2126         sCOND input is a positive bit.
2127         * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
2128         same order as bCOND, and add the missing ones.  Remove the %D
2129         substitutions from the scc patterns.
2130
2131         * simplify-rtx.c (simplify_relational_operation): Add case for
2132         ! (fabs(x) < 0.0).
2133
2134 2003-05-03  Bruce Korb  <bkorb@gnu.org>
2135
2136         * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
2137         in fixincl.x
2138         * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
2139
2140 2003-05-03  Aldy Hernandez  <aldyh@redhat.com>
2141
2142         * config/rs6000/spe.h: Remove unecessary casts.  Misc cleanups.
2143
2144 2003-05-03  Zack Weinberg  <zack@codesourcery.com>
2145
2146         PR c/10604
2147         * c-common.c (warn_sign_compare): Initialize to -1.
2148         * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
2149         (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
2150         for C++ only.
2151         (c_common_post_options): Set warn_sign_compare from extra_warnings
2152         if it's still -1 at this point.
2153
2154         * toplev.c (maybe_warn_unused_parameter): New static variable.
2155         (set_Wextra): New static function.
2156         (W_options): Remove "extra".
2157         (decode_W_option): Call set_Wextra.
2158         (independent_decode_option): Likewise.
2159         (set_Wunused): Cooperate with set_Wextra in setting
2160         warn_unused_parameter.
2161         (rest_of_compilation): No need to check extra_warnings as
2162         well as warn_uninitialized.
2163
2164         * c-typeck.c (build_binary_op, build_conditional_expr):
2165         No need to check extra_warnings as well as warn_sign_compare.
2166         (internal_build_compound_expr): No need to check extra_warnings
2167         as well as warn_unused_value.
2168         * function.c (expand_function_end): No need to check extra_warnings
2169         as well as warn_unused_parameter.
2170         * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
2171         as well as warn_unused_value.
2172
2173         * doc/invoke.texi: Clarify documentation of -Wsign-compare.
2174
2175         * Makefile.in: Disable -Werror for gengtype-lex.o.
2176
2177 2003-05-03  Olivier Hainque  <hainque@act-europe.fr>
2178
2179         * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
2180         * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
2181         * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
2182         * calls.c (emit_call_1): Likewise.
2183         (expand_call): For calls initializing constant memory, replace
2184         emission of standalone mem /u clobber with function usage entry.
2185         * expr.c (emit_block_move_via_libcall): Likewise.
2186         * cse.c (count_reg_usage, case EXPR_LIST): New case.
2187         * flow.c (propagate_one_insn): Pass entire operand of
2188         CALL_INSN_FUNCTION_USAGE to mark_used_regs.
2189         * integrate.c (try_constants): For CALL_INSNs, substitute constants
2190         within the FUNCTION_USAGE also.
2191         * loop.c (prescan_loop): Note clobbers of const mem mentioned in
2192         FUNCTION_USAGE lists.
2193         * reload1.c (replace_pseudos_in): Renamed.
2194         (reload): Use it for clobbers surviving until the end of the reload.
2195
2196 2003-05-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2197
2198         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
2199         gen_lowpart on non-integer modes.
2200
2201         * stor-layout.c (place_field): When adjusting offset_align, use
2202         desired_align, not DECL_ALIGN.
2203
2204 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
2205
2206         * c-decl.c (pending_invalid_xref_file): Remove.
2207         (pending_invalid_xref_line): Remove.
2208         (pending_invalid_xref_location): New.
2209         (lookup_label): Use location_t and input_location directly.
2210         (lookup_tag): Likewise.
2211         (pending_xref_error): Likewise.
2212         (c_expand_body_1): Likewise.
2213         * c-common.c (x_expand_start_cond): Likewise.
2214         * c-semantics.c (genrtl_for_stmt): Likewise.
2215         (find_reachable_label): Likewise.
2216         * expr.c (expand_expr): Likewise.
2217         * integrate.c (output_inline_function): Likewise.
2218         * tree-inline.c (find_alloca_call): Likewise.
2219         (find_builtin_longjmp_call): Likewise.
2220         * gcc.c (input_filename): Make static.
2221
2222 2003-05-03  Richard Sandiford  <rsandifo@redhat.com>
2223
2224         * config/mips/mips.md: Fix comment typo.
2225
2226         * config/mips/mips.c (mips_integer_op): New structure.
2227         (MIPS_MAX_INTEGER_OPS): Define.
2228         (mips_const_insns): Use mips_build_integer to determine the number
2229         of instructions needed to load a CONST_INT.
2230         (move_operand): Reject compound CONST_INTs.
2231         (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
2232         (mips_move_integer): New fn.
2233         (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
2234         (mips_legitimize_move): Only legitimize constants when moving
2235         word or subword values.
2236
2237 2003-05-02  Matt Kraai  <kraai@alumni.cmu.edu>
2238
2239         * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
2240
2241 2003-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2242
2243         * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
2244         modifying it.
2245
2246 2003-05-03  Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2247             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2248
2249         * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
2250         Hernandez, and Kazu Hirata.  Update Richard Henderson.
2251
2252 2003-05-02  Geoffrey Keating  <geoffk@apple.com>
2253
2254         * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
2255         to tentative declaration.
2256
2257         * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
2258         (SYMBOL_FLAG_SMALL_V4): Delete.
2259         * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
2260         (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
2261         (rs6000_elf_in_small_data_p): Add extra section names.  Add
2262         comment about TREE_PUBLIC test.
2263
2264         * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
2265         expand_stmt on result of expand_unreachable_stmt.
2266
2267 2003-05-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2268
2269         * doc/contrib.texi (Contributors): Add Daniel Berlin.
2270
2271 2003-05-02  David Edelsohn  <edelsohn@gnu.org>
2272
2273         * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
2274         number of automata.
2275
2276         * config/rs6000/rs6000.c (symbol_ref_operand): Check
2277         SYMBOL_REF_FUNCTION_P on AIX.
2278         (current_file_function_operand): Same.
2279         * config/rs6000/rs6000.md (call,call_value): Force non-function
2280         symbol_ref into register on AIX.
2281
2282 2003-05-02  Alan Modra  <amodra@bigpond.net.au>
2283
2284         * calls.c (struct arg_data): Move offset, slot_offset, size and
2285         alignment_pad to struct locate_and_pad_arg_data.  Update all refs.
2286         (initialize_argument_information): Adjust call to locate_and_pad_parm.
2287         Delete alignment_pad var.  Don't calculate slot_offset here.
2288         (emit_library_call_value_1): Delete alignment_pad, offset and size
2289         vars.  Use struct locate_and_pad_arg_data instead.  Adjust refs.
2290         Adjust call to locate_and_pad_parm.  Don't tweak arg size for
2291         partial in-regs here.  Formatting fixes.
2292         * expr.h (struct locate_and_pad_arg_data): New struct.
2293         (locate_and_pad_parm): Adjust declaration.
2294         * function.c (assign_parms): Localize vars.  Use "locate" instead of
2295         other arg location vars.  Don't invoke FUNCTION_ARG or
2296         FUNCTION_INCOMING_ARG unless pretend_named is different from
2297         named_arg.  Heed MUST_PASS_IN_STACK and set up "partial" before
2298         calling locate_and_pad_parm.  Adjust locate_and_pad_parm call.
2299         Use slot_offset for stack home of reg parms.  Correct test for
2300         parm passed in memory.  Formatting fixes.
2301         (locate_and_pad_parm): Add "partial" to params.  Replace offset_ptr
2302         arg_size_ptr and alignment pad with "locate".  Set slot_offset here.
2303         Correct initial_offset_ptr handling.  Localize vars.  Always pad
2304         locate->offset even when in_regs.
2305
2306 2003-05-02  Nathan Sidwell  <nathan@codesourcery.com>
2307
2308         * Makefile.in (TREE_H): Replace location.h with input.h.
2309         (GTFILES) Remove location.h
2310         (gt-lists.h): Replace gt-location.h with gt-input.h
2311         * input.h (input_filename, input_line): Remove variables.
2312         (location_s, location_t): Move from location.h.
2313         (input_location): New.
2314         (input_filename, input_line): New #defines.
2315         * location.h: Remove.
2316         * tree.h: Replace location.h with input.h.
2317         (input_filename, input_line): Remove.
2318         * diagnostic.h: Replace location.h with input.h.
2319         * gcc.h (input_filename, input_filename_length): Remove declarations.
2320         * toplev.c (input_filename, input_line): Remove.
2321         (input_location): Define.
2322         (push_srcloc, pop_srcloc): Adjust.
2323         * diagnostic.c (diagnostic_report_current_module): Adjust.
2324
2325 2003-05-02  Nick Clifton  <nickc@redhat.com>
2326
2327         * configure.in: Add xstormy16 to list of targets that has a nop
2328         instruction and hence which can be tested to see if the
2329         assembler supports the --gdwarf2 switch.
2330         * configure: Regenerate.
2331
2332 2003-05-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2333
2334         PR target/8257
2335         * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
2336         alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
2337         Avoid undefined shifts by making the shift operand unsigned.
2338
2339 2003-05-01  DJ Delorie  <dj@redhat.com>
2340
2341         * reload.c (find_reloads): Also check that all of a multi-reg
2342         value is in the class.
2343
2344 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
2345
2346         * scan.h (lineno): Revert the rename here.
2347
2348 2003-05-01  Stan Shebs  <shebs@apple.com>
2349
2350         * config/darwin.c (darwin_encode_section_info): Call
2351         default_encode_section_info.
2352
2353 2003-05-01  David Edelsohn  <edelsohn@gnu.org>
2354
2355         * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
2356         (movsi_internal1): Use new mfjmpr attribute.
2357         (movhi_internal): Same.
2358         (movqi_internal): Same.
2359         (movcc_internal1): Same.
2360         (movdi_internal64): Same.
2361         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
2362         power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
2363         * config/rs6000/40x.md: Add fpu_405.
2364         * config/rs6000/power4.md: Merge power4lsu and power4disp automata
2365         into power4misc automata.  Remove extraneous parentheses.
2366         * config/rs6000/440.md: New file.
2367         * config/rs6000/rs6000.c (processor_target_table): Add 440,
2368         440fp.  Rename 405f to 405fp.
2369         (function_arg_padding): Correct formatting.
2370         (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
2371
2372 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
2373
2374         * input.h (lineno): Rename to ...
2375         (input_line): ... here.
2376         * tree.h (lineno): Rename to ...
2377         (input_line): ... here.
2378         * scan.h (lineno): Rename to ...
2379         (input_line): ... here.
2380         * toplev.c (lineno): Rename to ...
2381         (input_line): ... here.
2382         (push_srcloc, pop_srcloc):  Rename lineno to input_line.
2383         * c-common.c (c_expand_start_cond, fname_decl): Likewise.
2384         * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
2385         store_parm_decls, c_expand_body_1): Likewise.
2386         * c-errors.c (pedwarn_c99): Likewise.
2387         * c-format.c (status_warning): Likewise.
2388         * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
2389         * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
2390         * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
2391         * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
2392         gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
2393         genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
2394         genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
2395         build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
2396         prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
2397         * coverage.c (create_coverage): Likewise.
2398         * diagnostic.c (pedwarn, sorry, error, fatal_error,
2399         internal_error, warning, diagnostic_report_current_module,
2400         inform): Likewise.
2401         * expr.c (expand_expr): Likewise.
2402         * integrate.c (expand_inline_function,
2403         output_inline_function): Likewise.
2404         * rtl-error.c (file_and_line_for_asm): Likewise.
2405         * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
2406         walk_tree): Likewise.
2407         * tree.c (make_node): Likewise.
2408         * ada, cp, f, java, objc, treelang: Likewise.
2409         * objc/objc-act.c (objc_init): Rename lineno to input_line.
2410         (build_module_descriptor, build_selector_translation_table,
2411         build_protocol_template, build_method_prototype_list_template,
2412         build_category_template, build_selector_table,
2413         build_class_template, build_super_template, build_ivar_template,
2414         build_ivar_list_template, build_method_list_template,
2415         build_method_template, add_instance_variable): Likewise.
2416
2417         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
2418         name from input_filename.
2419
2420 2003-04-30  Eric Christopher  <echristo@redhat.com>
2421             Richard Sandiford <rsandifo@redhat.com>
2422
2423         * configure: Regenerate from patches below.
2424         * combine.c (gen_lowpart_for_combine): Fix comment and add tests
2425         for all symbolic operands.
2426         * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
2427         to function.
2428         * config/mips/linux.h: Fix typo.
2429         * Merge from mips-3_4-rewrite branch:
2430
2431         2003-04-07  Richard Sandiford  <rsandifo@redhat.com>
2432
2433                 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
2434                 handling local labels when TARGET_ABICALLS.
2435
2436         2003-04-04  Richard Sandiford  <rsandifo@redhat.com>
2437
2438                 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
2439                 integer argument.
2440                 (mips_expand_call): Likewise.
2441                 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
2442                 (FIXED_REGISTERS): Clear $31 entry.
2443                 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
2444                 (EPILOGUE_USES): Define.
2445                 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
2446                 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
2447                 (override_options): Add a 'j' register class.
2448                 (mips_expand_call): Handle sibcalls
2449                 (mips_expand_epilogue): Handle epilogues for sibcalls.
2450                 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
2451                 (sibcall_epilogue): New pattern.
2452                 (call, call_value): Adjust calls to mips_expand_call.
2453                 (sibcall, sibcall_value): New expanders.
2454                 (sibcall_internal, sibcall_value_internal): New patterns.
2455                 (sibcall_value_multiple_internal): New pattern.
2456
2457         2003-03-25  Richard Sandiford  <rsandifo@redhat.com>
2458
2459                 * config/mips/mips.md (extended_mips16): New attribute.
2460                 (define_attr length): Default to 8 if extended_mips16 == yes.
2461                 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
2462                 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
2463                 (call_internal): Set extended_mips16 to yes for direct jumps.
2464                 Remove redundant mode attribute.
2465                 (call_value_internal, call_value_multiple_internal): Likewise.
2466                 (call_split): Remove redundant mode attribute.
2467                 (call_value_split, call_value_multiple_split): Likewise.
2468
2469                 * config/mips/mips.c (mips_symbol_insns): Rework.  Fix handling
2470                 of unaligned offsets.
2471
2472                 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
2473                 of SYMBOL_GENERAL.
2474
2475         2003-03-22  Richard Sandiford  <rsandifo@redhat.com>
2476
2477                 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
2478                 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
2479                 for mips16 code.
2480
2481         2003-03-22  Richard Sandiford  <rsandifo@redhat.com>
2482
2483                 * config/mips/mips.h (ADDRESS_COST): Define.
2484
2485         2003-03-20  Richard Sandiford  <rsandifo@redhat.com>
2486
2487                 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
2488                 'R' to 'U'.  Make 'R' mean a single-instruction memory reference.
2489                 * config/mips/mips.md: Replace 'R' constraints with 'U'.
2490
2491         2003-03-18  Richard Sandiford  <rsandifo@redhat.com>
2492
2493                 * config/mips/mips.md (truncdisi2): Add commentary.  Use sll instead
2494                 of a two-instruction sequence.  Add register->memory alternative.
2495                 (truncdihi2, truncdiqi2): Likewise.
2496                 Rework shift/truncate instructions so that they only handle right
2497                 shifts of 32 (or more, in the case of arithmetic shifts).
2498                 Add patterns for truncate/sign-extend.
2499
2500         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
2501
2502                 * configure.in (mips*-*-*): Check for explicit relocation support.
2503                 * configure: Regenerate.
2504
2505         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
2506
2507                 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
2508                 and -mno-explicit-relocs.
2509                 (MASK_EXPLICIT_RELOCS): Define.
2510                 (TARGET_EXPLICIT_RELOCS): Use it.
2511                 (mips_split_addresses): Remove declaration.
2512                 * config/mips/mips.c (override_options): Update comment for
2513                 mips_split_addresses.  Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
2514
2515         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
2516
2517                 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
2518                 a CONST as identity.  Check the return value of gen_lowpart_common.
2519
2520         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
2521
2522                 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
2523                 references for TARGET_EXPLICIT_RELOCS.
2524                 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
2525                 !TARGET_MIPS16.
2526
2527         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
2528
2529                 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
2530                 (addsi3): Remove redundant constraints.
2531                 (addsi3_internal): Use separate register & constant alternatives.
2532                 Use a 'Q' constraint and "addiu" insn for the latter.
2533                 (adddi3_internal_3, addsi3_internal_2): Likewise.
2534
2535         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
2536
2537                 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
2538                 (mips_expand_unaligned_store): Declare.
2539                 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
2540                 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
2541                 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
2542                 (UNSPEC_ULD, UNSPEC_USD): Remove.
2543                 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
2544                 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
2545                 (extv, extzv): Use mips_expand_unaligned_load.
2546                 (insv): Use mips_expand_unaligned_store.  Use a reg_or_0_operand
2547                 predicate for operand 3.
2548                 (movsi_ulw, movsi_usw): Replace with...
2549                 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
2550                 (movdi_uld, movdi_usd): Likewise replace with...
2551                 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
2552
2553         2003-02-26  Richard Sandiford  <rsandifo@redhat.com>
2554
2555                 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
2556                 * config/mips/mips.h (LEA_REGS): New register class.
2557                 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
2558                 (GR_REG_CLASS_P): Include LEA_REGS.
2559                 (DANGEROUS_FOR_LA25_P): New macro.
2560                 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
2561                 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
2562                 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
2563                 entries to LEA_REGS.
2564                 (mips_global_pic_constant_p): New function.
2565                 (override_options): Add 'e' register constraint.
2566                 (mips_secondary_reload_class): Return LEA_REGS when reloading
2567                 a dangerous constant into a class containing $25.
2568                 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
2569                 (movsi_internal): Likewise.
2570
2571         2003-02-23  Richard Sandiford  <rsandifo@redhat.com>
2572
2573                 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
2574                 * config/mips/mips.md (call_split): New insn.
2575                 (call_value_split, call_value_multiple_split): New insns.
2576                 (call_internal): Turn into a define_insn_and_split.  Split the
2577                 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
2578                 (call_value_internal, call_value_multiple_internal): Likewise.
2579
2580         2003-02-23  Richard Sandiford  <rsandifo@redhat.com>
2581
2582                 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
2583                 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
2584                 (mips_encode_section_info): Don't take symbol visibility into
2585                 account if TARGET_ABICALLS.  Add more commentary.
2586                 * config/mips/mips.md: Add commentary above reloc constants.
2587
2588         2003-02-12  Richard Sandiford  <rsandifo@redhat.com>
2589
2590                 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
2591                 from mips_legitimize_move.  Legitimize constant pool references.
2592                 (mips_legitimize_move): Call mips_legitimize_const_move.  Attach
2593                 a REG_EQUAL note to the last instruction.
2594
2595         2003-02-11  Richard Sandiford  <rsandifo@redhat.com>
2596
2597                 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
2598                 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
2599                 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
2600                 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
2601                 * config/mips/mips.md (UNSPEC_HIGH): New constant.
2602                 (UNSPEC_RELOC_GPREL16): Rename to...
2603                 (RELOC_GPREL16): ...this.
2604                 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
2605                 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
2606                 (macro_calls): New attribute.
2607                 (length): Use it to set the default length of calls.  Don't allow
2608                 calls to have delay slots if macro_calls is "yes".
2609                 (luisi, luidi): New patterns.
2610                 (lowsi, lowdi): Use '%R' to print the relocation.
2611                 (lowdi_extend): Remove.
2612                 (loadgp): Remove mode from operand 0.  Use '%0' instead of '%a0'.
2613                 (call_internal): Merge alternatives.  Always use "jal".
2614                 (call_value_internal, call_value_multiple_internal): Likewise.
2615                 (reloc_gprel16): Remove.
2616                 * config/mips/mips.c (mips_got_alias_set): New variable.
2617                 (mips_classify_constant): Handle the new relocation constants.
2618                 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
2619                 (mips_symbolic_address_p): Return false if generating explicit relocs.
2620                 Otherwise allow local PIC symbols to have an offset.
2621                 (mips_splittable_symbol_p): New function.
2622                 (mips_classify_address): Use it to check whether a LO_SUM is valid.
2623                 (mips_const_insns): Always accept HIGH.
2624                 (call_insn_operand): Don't accept global symbols if using explicit
2625                 relocs.
2626                 (move_operand): Don't accept HIGH when generating PIC.
2627                 (mips_reloc, mips_lui_reloc): New functions.
2628                 (mips_force_temporary): Remove MODE argument.  Expect VALUE to
2629                 be a valid right-hand-side for a SET pattern.
2630                 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
2631                 (mips_emit_high): New function.
2632                 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
2633                 case.  Use mips_splittable_symbol_p to check whether a LO_SUM
2634                 address should be used.  Use mips_emit_high to generate the
2635                 high part of such an address.  Adjust the global symbol + offset
2636                 case to match the change to mips_force_temprorary.
2637                 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
2638                 If generating explicit-reloc PIC, load the address of global
2639                 symbols from the GOT.  Use mips_emit_high to emit the high part
2640                 of an address.
2641                 (mips_simplify_dwarf_addr): New function.
2642                 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
2643                 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
2644                 (mips_expand_call): Load the addresses of global functions using
2645                 %call* relocs if generating explicit-reloc PIC.  Don't generate
2646                 an exception_receiver pattern.
2647                 (override_options): Initialize mips_got_alias_set.
2648                 (print_relocation): Remove in favour of...
2649                 (mips_reloc_string): ...this new function.
2650                 (print_operand): Handle '%R'.  Use mips_reloc_string.
2651                 (print_operand_address): Use print_operand to print the symbolic
2652                 part of a LO_SUM address.
2653                 (mips_output_function_prologue): Use .cprestore, reverting last patch.
2654                 (mips_encode_section_info): Factor out DECL_RTL accesses.  Reverse
2655                 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
2656                 for local symbols.
2657
2658         2003-02-02  Eric Christopher  <echristo@redhat.com>
2659
2660                 * config/mips/mips.c (mips_sign_extend): Remove.
2661                 * config/mips/mips-protos.h: Ditto.
2662                 * config/mips/mips.md (movdi_internal2_extend): Remove.
2663                 (extendsidi2): Fix mode of convert_memory_address.
2664
2665         2003-01-24  Eric Christopher  <echristo@redhat.com>
2666
2667                 * config/mips/mips.md: Rewrite zero_extend* and extend*
2668                 patterns. Use explicit instructions and split after reload
2669                 for register extensions.
2670                 (ashlsi3_internal1_extend): New combiner pattern for
2671                 shift and extend combinations.
2672                 * config/mips/mips.h: Change Pmode back to ptr_mode
2673                 for performance enhancement.
2674                 * combine.c (expand_compound_operation): Make sure
2675                 that zero_extend operation is profitable.
2676
2677         2003-01-14  Richard Sandiford  <rsandifo@redhat.com>
2678
2679                 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
2680                 addresses depend on ptr_mode rather than Pmode.
2681                 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
2682                 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
2683                 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
2684                 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
2685                 * config/mips/mips.md (tablejump): Likewise.  Remove Pmode
2686                 condition for selecting cpaddsi or cpadddi: use cpadd instead.
2687                 (tablejump_internal1): Remove condition.
2688                 (tablejump_internal2): Change condition to TARGET_64BIT.
2689                 (cpaddsi): Rename to...
2690                 (cpadd): ...this.
2691                 (cpadddi): Remove.
2692
2693         2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
2694
2695                 * config/mips/mips-protos.h (mips16_constant_after_function_p,
2696                 mips_address_cost, mips_check_split, double_memory_operand,
2697                 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
2698                 pic_address_needs_scratch, symbolic_operand): Remove declarations.
2699                 (mips_legitimate_address_p): Return bool.
2700                 (mips_address_insns, mips_fetch_insns, mips_const_insns,
2701                 mips_legitimize_address, mips_legitimize_move,
2702                 mips_expand_call): Declare.
2703                 (mips_return_addr): Move outside #ifdef RTX_CODE.
2704
2705                 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
2706                 (PIC_FN_ADDR_REG): New reg_class.
2707                 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
2708                 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
2709                 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
2710                 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
2711                 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
2712                 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
2713                 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
2714                 (LEGITIMATE_PIC_OPERAND): Undefine.
2715                 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
2716                 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
2717                 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
2718                 (FUNCTION_MODE): Change to SImode.
2719                 (CONST_COSTS): Use mips_const_insns to calculate the cost of
2720                 most constants.  Treat const_artih_operands specially if they
2721                 occur in a PLUS or MINUS.
2722                 (CONSTANT_POOL_COST): New macro.
2723                 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
2724                 Add LO_SUM handling.
2725                 (ADDRESS_COST): Undefine.
2726                 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
2727                 Add CONST to the list of codes for arith_operand.  Add LABEL_REF
2728                 to call_insn_operand and remove CONST_INT.
2729
2730                 * config/mips/mips.c: Include integrate.h.
2731                 (SINGLE_WORD_MODE_P): New macro.
2732                 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
2733                 (mips_constant_info, mips_address_info): New structs.
2734                 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
2735                 (mips_classify_constant, mips_classify_symbol,
2736                 mips_valid_base_register_p, mips_symbolic_address_p,
2737                 mips_classify_address, mips_symbol_insns,
2738                 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
2739                 mips_fetch_insns, mips_force_temporary, mips_add_offset,
2740                 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
2741                 mips_print_relocation): New functions.
2742                 (const_arith_operand): New operand predicate.
2743                 (arith_operand): Use it.
2744                 (mips_const_double_ok, mips16_simple_memory_operand,
2745                 simple_memory_operand, double_memory_operand, mips_check_split,
2746                 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
2747                 mips16_gp_offset_p, mips16_output_gp_offset,
2748                 mips16_constant_after_function_p, mips16_constant): Remove.
2749                 (call_insn_operand): Be more fussy about symbolic constants.
2750                 Use register_operand.
2751                 (move_operand): Use mips_symbolic_address_p to check symbolic
2752                 operands and general_operand to check the rest.
2753                 (symbolic_operand): Use mips_classify_constant.
2754                 (mips_legitimate_address_p): Use mips_classify_address.
2755                 (mips_move_1word): Combine handling of symbolic addresses.
2756                 Remove special treatment of gp-relative loads for TARGET_MIPS16.
2757                 (move_move_2words): Likewise.  Assume addresses are offsettable
2758                 if they need to refer to more than one word.  Add HIGH handling.
2759                 (mips_restore_gp): Use ptr_mode for the GP save slot.
2760                 (mips_expand_call): New function, combining the old mips.md
2761                 call and call_internal define_expands.  If the address isn't
2762                 a call_insn_operand, force it into a register.  For SVR4 PIC,
2763                 emit an exception_receiver instruction after the call.
2764                 (override_options): Only override flag_pic for TARGET_ABICALLS
2765                 if it is currently zero.  Allow mips_split_addresses when
2766                 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
2767                 Add new register class letter, 'c'.
2768                 (print_operand): Use mips_classify_constant for constant operands.
2769                 (print_operand_address): Use mips_classify_address.
2770                 (mips_output_function_prologue): Don't use .cprestore.
2771                 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
2772                 via the frame pointer if current_function_calls_eh_return.
2773                 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
2774                 to mark whether a symbol is local or global.
2775                 (build_mips16_call_stub): Expect the address of the function rather
2776                 than a MEM reference to it.  Update call generation sequences.
2777                 (mips16_optimize_gp): Remove Pmode checks.  Temporarily disable
2778                 small-data adjustments.
2779
2780                 * config/mips/mips.md: Remove 'R'/'m' memory distinction.  Use default
2781                 length for loads and stores.
2782                 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
2783                 (define_attr type): Add const and prefetch.
2784                 (define_attr length): Use mips_const_insns for const instructions.
2785                 Use mips_fetch_insns for load and store instructions.
2786                 (define_attr single_insn): New.
2787                 (define_attr can_delay): Use it.
2788                 (define_attr abicalls): Remove.
2789                 (define_delay): Use can_delay.  Always allow calls to have delay slots.
2790                 (addsi3_internal_2): Add 'Q' constraint.
2791                 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
2792                 (high): Remove.
2793                 (lowsi): Renamed from low.
2794                 (lowdi): New pattern.
2795                 (movdi, movsi): Use mips_legitimize_move.  Remove define_split.
2796                 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
2797                 (loadgp): Change operand 0 to an immediate_operand.
2798                 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
2799                 beforehand.
2800                 (cpaddsi, cpadddi): New patterns.
2801                 (tablejump_internal3, tablejump_internal4): Remove define_expands
2802                 and associated define_splits.
2803                 (call, call_value): Use mips_expand_call.
2804                 (call_internal): New, replacing all existing call_internal* insns.
2805                 (call_value_internal): Likewise call_value_internal*.
2806                 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
2807                 (untyped_call): Remove if (operands[0]) magic.
2808                 (prefetch_si_address, prefetch_si): Change type to "prefetch".
2809                 (prefetch_di_address, prefetch_di): Likewise.
2810                 (leasi, leadi): Remove.
2811                 (reloc_gprel16): New.
2812
2813                 * config/mips/5400.md (ir_vr54_hilo): Include const type.
2814                 * config/mips/5500.md (ir_vr55_hilo): Likewise.
2815                 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
2816
2817         2003-01-08  Eric Christopher  <echristo@redhat.com>
2818
2819                 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
2820                 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
2821                 configure check for libgloss.
2822                 * config/mips/elf64.h: Ditto.
2823                 * config/mips/mips.c: Remove ABI_MEABI.
2824                 * config/mips/mips.h: Ditto.
2825
2826         2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
2827
2828                 Fix merge fallout.
2829                 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
2830                 (muldi3_internal): Remove outdated comment.
2831                 (*muls_di, *umuls_di): Fix comment and 64-bitness.
2832                 (*smsac_di, *umsac_di): Likewise.  Reformat.
2833                 (umulsi3_highpart): Minor formatting tweaks.
2834                 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.  Remove
2835                 redundant scratch operand.  Minor formatting tweak.
2836                 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
2837                 (umulsi3_highpart_neg_mulhi_internal): Likewise.  Fix asm template.
2838                 (smulsi3_highpart): As for the unsigned version.
2839                 (smulsi3_highpart_internal): Likewise.
2840                 (smulsi3_highpart_mulhi_internal): Likewise.
2841                 (smulsi3_highpart_neg_mulhi_internal): Likewise.
2842                 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
2843                 (*smul_acc_di): Remove duplicated pattern.
2844                 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
2845                 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
2846                 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
2847
2848         2002-10-22  Eric Christopher  <echristo@redhat.com>
2849
2850                 * config/mips/mips-protos.h (mips_return_addr): New.
2851                 * config/mips/mips.c (mips_return_addr): New.
2852                 (movdi_operand): Remove.
2853                 (se_register_operand): Ditto.
2854                 (se_reg_or_0_operand): Ditto.
2855                 (se_uns_arith_operand): Ditto.
2856                 (se_arith_operand): Ditto.
2857                 (se_nonmemory_operand): Ditto.
2858                 (extend_operator): Ditto.
2859                 (highpart_shift_operator): Ditto.
2860                 (mips_initial_elimination_offset): Remove return address pointer
2861                 elimination.
2862                 (mips_reg_names): Remove $ra.
2863                 (mips_regno_to_class): Ditto.
2864                 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
2865                 and TARGET_64BIT.
2866                 (POINTER_BOUNDARY): Remove.
2867                 (POINTERS_EXTEND_UNSIGNED): Define to 0.
2868                 (PROMOTE_MODE): Promote to Pmode.
2869                 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
2870                 (Pmode): Define to TARGET_64BIT.
2871                 (FUNCTION_MODE): Define as Pmode.
2872                 (mips_args): Remove deleted functions.
2873                 (SIZE_TYPE): Depend on POINTER_SIZE.
2874                 (PTRDIFF_TYPE): Ditto.
2875                 (FIXED_REGISTERS): Fix extra registers.
2876                 (CALL_USED_REGISTERS): Ditto.
2877                 (CALL_REALLY_USED_REGISTERS): Ditto.
2878                 (RAP_REG_NUM): Remove.
2879                 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
2880                 (RETURN_ADDR_RTX): Define to mips_return_addr.
2881                 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
2882                 (CAN_ELIMINATE): Ditto.
2883                 * config/mips/mips.md: For DImode patterns, take into account
2884                 deletions above. Split mulsidi patterns into sign_extend and
2885                 zero_extend.
2886
2887         2002-10-16  Richard Sandiford  <rsandifo@redhat.com>
2888                     Michael Meissner  <meissner@redhat.com>
2889
2890                 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
2891                 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
2892                 mop up unnecessarly moves through LO.
2893                 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
2894                 (*macc): New pattern for ISA_HAS_MACC.  Add define_peephole2s to
2895                 change mtlo/macc sequences into mul/add sequences when a three-
2896                 address mul is available.
2897                 (*macc2): New pattern.  Add a define_peephole2 to generate it.
2898                 (*mul_sub_si): Fix contraint for operand 5.
2899                 (*muls): Use in 32-bit code as well.
2900                 (*msac): Likewise.  Use msub instead of msac in vr5500 code
2901                 if the destination is LO.  Remove duplicate define_split.
2902                 (*muls_di): Use only in 32-bit code.  Adjust rtl accordingly.
2903                 (*msac_di): Likewise.  Fix formatting.
2904                 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
2905                 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
2906                 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
2907                 (*xmulsi3_neg_highpart_mulhi): Likewise.
2908                 (*mul_acc_64bit_di): Remove.
2909                 (*mul_acc_di): Use only in 32-bit code.  Handle ISA_HAS_MACC as well.
2910
2911         2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
2912
2913                 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
2914                 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
2915                 (MULTILIB_DIRNAMES): Remove long32.
2916                 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
2917                 (MULTILIB_REDUNDANT_DIRS): Remove.
2918
2919         2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
2920
2921                 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
2922                 * gcc.c (driver_self_specs): New variable.
2923                 (do_self_spec): New function.
2924                 (main): Use it to process driver_self_specs.
2925
2926         2002-10-09  Richard Sandiford  <rsandifo@redhat.com>
2927
2928                 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
2929                 Remove DImode define_split for !TARGET_64BIT.
2930                 (anddi3): Remove !TARGET_64BIT support from here as well.
2931                 Change operand 2's predicate to se_uns_arith_operand.
2932                 Add constant alternatives to define_insn.
2933                 (iordi3, xordi3, *nordi3): Likewise.
2934                 (anddi3_internal1, xordi3_immed): Remove.
2935
2936         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
2937
2938                 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
2939                 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
2940                 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
2941                 * config/mips/mips.md: Apply same renaming here.
2942
2943         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
2944
2945                 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
2946                 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
2947                 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
2948                 * config/mips/mips.md (define_attr cpu): Remove r4320.
2949                 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
2950
2951         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
2952
2953                 * config/mips/mips.c (mips16_strings): New variable.
2954                 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
2955                 symbol in mips16_strings.  Free the list.
2956                 (mips_encode_section_info): Keep track of local strings.
2957
2958         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
2959
2960                 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
2961                 (sordered_df, sordered_sf): Remove.
2962                 * config/mips/mips.c (get_float_compare_codes): New fn.
2963                 (gen_int_relational, gen_conditional_move): Use it.
2964
2965         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
2966
2967                 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
2968                 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
2969                 * config/mips/mips.c (fcc_register_operand): New function.
2970                 (mips_emit_fcc_reload): New function, extracted from reload_incc.
2971                 (override_options): Allow TFmode values in float registers
2972                 if ISA_HAS_8CC.
2973                 * cnfig/mips/mips.md (reload_incc): Change destination prediate
2974                 to fcc_register_operand.  Remove misleading source constraint.
2975                 Use mips_emit_fcc_reload.
2976                 (reload_outcc): Duplicate reload_incc.
2977
2978
2979 2003-04-30  Diego Novillo  <dnovillo@redhat.com>
2980
2981         * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
2982
2983 2003-04-30  Geoffrey Keating  <geoffk@apple.com>
2984
2985         * tree-inline.c (inlinable_function_p): Back out last change, it's
2986         unnecessary.
2987
2988 2003-04-30  Steven Bosscher  <steven@gcc.gnu.org>
2989
2990         * ggc-page.c (TREE_EXP_SIZE): Define.
2991         (extra_order_size_table): New entry for expr trees with
2992         two operands.
2993
2994 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
2995
2996         * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
2997         (c_expand_start_cond): Adjust.
2998         (c_expand_end_cond): Don't use warning_with_file_and_file.
2999         (shadow_warning): Likewise.
3000
3001 2003-04-30  Nathan Sidwell  <nathan@codesourcery.com>
3002
3003         * tree.h (DECL_POINTER_DEPTH): Remove.
3004         (struct tree_decl): Remove pointer_depth.
3005
3006 2003-04-30  Janis Johnson  <janis187@us.ibm.com>
3007
3008         * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
3009         * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
3010         (rs6000_xcoff_encode_section_info): Remove.
3011         (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
3012         (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
3013         (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
3014         Use SYMBOL_REF_FLAGS.
3015         (rs6000_elf_encode_section_info): Call default_encode_section_info for
3016         generic flags, use SYMBOL_REF_FLAGS; code cleanups.
3017         * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
3018         (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
3019         * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
3020         (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
3021
3022 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
3023
3024         * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
3025
3026 2003-04-30  Andreas Schwab  <schwab@suse.de>
3027
3028         * doc/extend.texi (Other Builtins): Enclose multiple word data
3029         type in braces for @deftypefn.
3030
3031 2003-04-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3032
3033         * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
3034
3035         * doc/install.texi (--enable-threads): Document "gnat" option.
3036
3037 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
3038
3039         * diagnostic.h (output_formatted_scalar): Tweak.
3040         * diagnostic.c (output_long_decimal): Likewise.
3041         (output_unsigned_decimal): Likewise.
3042         (output_long_unsigned_decimal): Likewise.
3043         (output_octal): Likewise.
3044         (output_long_octal): Likewise.
3045         (output_hexadecimal): Likewise.
3046         (output_long_hexadecimal): Likewise.
3047         (output_pointer): New function.
3048         (output_format): Use it.  Recognize "%p" format specifier.
3049
3050 2003-04-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3051
3052         * function.c (purge_addressof_1): Postpone insn in fewer cases.
3053
3054 2003-04-29  Geoffrey Keating  <geoffk@apple.com>
3055
3056         * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
3057         call abort() after running out of stack space.
3058
3059         * c-typeck.c (function_types_compatible_p): Ignore incompatible
3060         'volatile' qualifiers on a function's return type in GNU mode.
3061
3062 2003-04-29  Aldy Hernandez  <aldyh@redhat.com>
3063
3064         * expr.c (emit_group_load): Dump parallels of simd types to
3065         memory.
3066
3067 2003-04-29  Vladimir Makarov  <vmakarov@redhat.com>
3068
3069         * genautomata.c (add_vect): Check undefined value for range type
3070         too.
3071
3072 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
3073
3074         * configure.in:  More general test for cmp --ignore-initial.
3075         * configure:  Regenerate.
3076
3077 2003-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3078
3079         * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
3080         (layout_decl, place_field): Likewise.
3081         Also make minor type and whitespace changes.
3082
3083         * tree.c (save_expr): Don't fold a COMPONENT_REF.
3084
3085 2003-04-29  Olivier Hainque <hainque@act-europe.fr>
3086
3087         * calls.c (expand_call): When modes of target and valreg match, force
3088         sibcall failure when target is a MEM.
3089
3090 2003-04-29  Geoffrey Keating  <geoffk@apple.com>
3091
3092         * tree-inline.c (inlinable_function_p): Don't support inlining
3093         functions using varargs.
3094
3095         * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
3096
3097         * dwarf2out.c (output_call_frame_info): No need to output EH
3098         unwind information if all_throwers_are_sibcalls.
3099
3100         * c-semantics.c (expand_unreachable_stmt): Return a tree.
3101         (expand_stmt): Update for change to expand_unreachable_stmt.
3102         (expand_unreachable_if_stmt): Likewise.
3103
3104         * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
3105
3106 2003-04-29  Jason Merrill  <jason@redhat.com>
3107
3108         PR middle-end/10336
3109         * jump.c (never_reached_warning): Really stop looking if we reach
3110         the beginning of the function.
3111
3112 2003-04-29  Bob Wilson  <bob.wilson@acm.org>
3113
3114         * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
3115         Remove redundant macros.
3116         (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
3117         (LOCAL_LABEL_PREFIX): Define unconditionally.
3118         (NO_DOT_IN_LABEL): Clarify comment.
3119         * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
3120         definition to "long int".
3121
3122 2003-04-29  Alexander Kabaev  <kan@FreeBSD.ORG>
3123
3124         bootstrap/10452
3125         * gengtype-yacc.y: Improve portability.
3126
3127 2003-04-29  Zack Weinberg  <zack@codesourcery.com>
3128
3129         * config.gcc: Install obsolete target list for GCC 3.3.
3130         * doc/install.texi: Mention in specific-target instructions
3131         that certain configurations are deprecated.
3132
3133 2003-04-29  Zack Weinberg  <zack@codesourcery.com>
3134
3135         * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
3136
3137 2003-04-29  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
3138
3139         * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
3140         * gcc.c (display_help): Likewise.
3141         * toplev.c (f_options): Likewise.
3142         * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
3143         * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
3144         * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
3145         * config/s390/s390.h (TARGET_SWITCHES): Likewise.
3146         * config/v850/v850.h (TARGET_SWITCHES): Likewise.
3147
3148 2003-04-29  J"orn Rennecke <joern.rennecke@superh.com>
3149
3150         * varasm.c (default_assemble_visibility): Use assemble_name.
3151
3152 2003-04-29  David O'Brien  <obrien@FreeBSD.org>
3153
3154         * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
3155         * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
3156         (SIZE_TYPE): New macro.
3157         * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
3158         (SET_ASM_OP): New macro.
3159         (HANDLE_SYSV_PRAGMA): New macro.
3160         (ASM_WEAKEN_LABEL): New macro.
3161
3162 2003-04-28  Mark Mitchell  <mark@codesourcery.com>
3163
3164         PR c++/10180
3165         * tree-inline.c (expand_call_inline): Call push_srcloc when
3166         encountering EXPR_WITH_FILE_LOCATION.  Honor warn_inline.
3167
3168 2003-04-28  Mike Stump  <mrs@apple.com>
3169
3170         * gdbinit.in: Update to reflect new identifier structure.
3171
3172 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
3173
3174         * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
3175         (struct tree_int_cst, struct tree_real_cst, struct tree_string,
3176         struct tree_complex, struct tree_vector): Remove RTL field.
3177         (CONSTRUCTOR_ELTS): Use elt 0.
3178         * tree.def (CONSTRUCTOR): Delete first of its two operands.
3179         * varasm.c (output_constant_def): Remove early exit if
3180         TREE_CST_RTL is set.  Don't set TREE_CST_RTL.
3181         (decode_addr_const): Don't mention TREE_CST_RTL in comment.
3182         * target.h (select_section): Don't mention TREE_CST_RTL in comment.
3183         * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
3184
3185 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
3186
3187         * c-decl.c (finish_decl): When prototype with asmspec is found
3188         for built-in, adjust built_in_decls as well as expr.c decls.
3189         * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
3190         (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
3191         * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
3192
3193 2003-04-28  Richard Henderson  <rth@redhat.com>
3194
3195         * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
3196         * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
3197         integral constant mult operand.
3198         (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
3199         (const_smulsi3_highpart_v8plus): Likewise.
3200         (const_smulsi3_highpart): Likewise.
3201         (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
3202         (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
3203         (const_umulsi3_highpart_v8plus): Likewise.
3204         (const_umulsi3_highpart): Likewise.
3205
3206 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
3207
3208         * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
3209         Define as 1.
3210
3211 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
3212
3213         * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
3214
3215 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
3216
3217         * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
3218         * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
3219         * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
3220         functions.
3221         (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
3222
3223 2003-04-28  Nick Clifton  <nickc@redhat.com>
3224
3225         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
3226
3227 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
3228
3229         * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
3230         output_constant_def, use its result instead of TREE_CST_RTL (exp).
3231         Can assume it has the form (mem (symbol_ref ".LCxxx")).
3232         (expand_expr <COMPONENT_REF>): Can always just extract the
3233         relevant field of a CONSTRUCTOR.
3234         (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
3235         ARRAY_RANGE_REF>): Make control flow explicit.
3236         * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
3237         an INTEGER_CST.
3238
3239 2003-04-27  Kazu Hirata  <kazu@cs.umass.edu>
3240
3241         * reload1.c (reg_set_luid): Fix a comment typo.
3242
3243 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
3244
3245         * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
3246         struct deferred_string, const_str_htab): Kill.
3247         (n_deferred_strings): New static variable.
3248         (build_constant_desc): Set SYMBOL_REF_DECL of the new
3249         symbol_ref to point to the constant.
3250         (output_constant_def): When a deferred string is forced out,
3251         just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
3252         (mark_constant): Likewise.
3253         (maybe_output_constant_def_contents): When deferring a string
3254         constant, just set STRING_POOL_ADDRESS_P and increment
3255         n_deferred_strings.
3256         (mark_constant_pool): Check n_deferred_strings, not the size
3257         of const_str_htab.
3258         (init_varasm_once): No need to create const_str_htab.
3259
3260         * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
3261         SYMBOL_REF_DECL points to a constant.
3262
3263 2003-04-26  Zack Weinberg  <zack@codesourcery.com>
3264
3265         * varasm.c (output_constant_def): Split out two new static
3266         functions, build_constant_desc and maybe_output_constant_def_contents.
3267         Restructure for comprehensibility.  Don't call
3268         output_addressed_constants.  Treat defstr being non-NULL for
3269         STRING_POOL_ADDRESS_P constants as an invariant.
3270         (struct deferred_string): Remove labelno field.
3271         (output_constant_def_contents): Kill labelno argument. Call
3272         output_addressed_constants here.  Use ASM_OUTPUT_LABEL, not
3273         asm_out.internal_label.
3274         (mark_constant): Update call to output_constant_def_contents.
3275         Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
3276         constants as an invariant.
3277
3278 2003-04-26  Richard Henderson  <rth@redhat.com>
3279
3280         * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
3281         (ix86_expand_call, ix86_rtx_consts): Likewise.
3282
3283 2003-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3284
3285         * doc/md.texi (cmpstr): Document additional restrictions.
3286
3287 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
3288
3289         * flags.h (time_report): Remove.
3290         * timevar.c (timevar_enable): New.
3291         (TIMEVAR_ENABLE): Remove, use timevar_enable.
3292         (timevar_init): Rename from init_timevar.
3293         * timevar.h (timevar_init): Rename from init_timevar.
3294         * toplev.c (time_report): Make static.
3295         (do_compile): Conditionally call init_timevar first.
3296         (preprocess_options): Move some code to do_compile.
3297
3298 2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
3299
3300         * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
3301
3302 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
3303
3304         * _cpp_lex_direct: Remove pointless code.
3305
3306 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
3307
3308         * doc/extend.texi (Function Attributes): Document "near" and "far"
3309         for 68HC11 and 68HC12.
3310
3311 2003-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3312
3313         * expr.c (store_field): When making temporary for store, don't
3314         make it TYPE_QUAL_CONST.
3315
3316 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
3317
3318         * toplev.c (read_integral_parameter):  Use "argument" in error
3319         message to distinguish it from actual invalid options.
3320
3321 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
3322
3323         * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
3324         addition of __PIC__ and __pic__ macros.
3325         * config/xtensa/xtensa.h: Clean up indentation.
3326
3327 2003-04-25  Bob Wilson  &