1 2003-05-21 Loren James Rittle <ljrittle@acm.org>
3 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
4 to match system compiler convention.
6 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
8 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
9 value, not just if defined.
10 Update copyright year.
12 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
21 2003-05-21 Bob Wilson <bob.wilson@acm.org>
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.
35 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
37 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
38 (nested_function): Likewise.
39 (notype_nested_function): Likewise.
41 2003-05-21 Nick Clifton <nickc@redhat.com>
43 * config/stormy16/stormy-abi: Update overflow type for
46 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
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):
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.
67 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
69 * c-pretty-print.c (pp_c_integer_literal): Use
70 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
72 2003-05-20 Roger Sayle <roger@eyesopen.com>
73 Kazu Hirata <kazu@cs.umass.edu>
74 Joern Rennecke <joern.rennecke@superh.com>
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.
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.
87 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
90 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
93 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
95 * genautomata.c (output_description, output_automaton_units,
96 output_state_arcs): Add missing specifiers.
98 2003-05-20 Bob Wilson <bob.wilson@acm.org>
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.
120 2003-05-20 Kevin Ryde <user42@zip.com.au>
121 Wolfgang Bangerth <bangerth@dealii.org>
124 * doc/extend.texi: Put a warning into the documentation
125 of attribute regparm.
127 2003-05-20 Jason Merrill <jason@redhat.com>
129 * tree.c (expr_last): New fn.
130 * tree.h: Declare it.
131 * objc/objc-act (expr_last): Rename to objc_expr_last.
133 2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
135 * sh.c (sh_register_move_cost): Add clase for moving between
136 FP registers and MAC registers.
138 2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
140 * pa/milli64.S ($$mulI): Fix typo.
142 2003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
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.
155 2003-05-19 Alexandre Oliva <aoliva@redhat.com>
157 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
158 -lthread to -lpthread.
160 2003-05-19 Neil Booth <neil@daikokuya.co.uk>
162 * c-opts.c (c_common_decode_option): Don't accept dollars
163 as identifier characters in assembly.
164 * doc/cpp.texi: Document this.
166 2003-05-19 Seth Arnold <sarnold@wirex.com>
167 Aldy Hernandez <aldyh@redhat.com>
169 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
172 2003-05-19 Aldy Hernandez <aldyh@redhat.com>
174 * doc/tm.texi (function_arg): Fix typo.
176 2003-05-19 Matt Austern <austern@apple.com>
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.
185 2003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
186 David Edelsohn <edelsohn@gnu.org>
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
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
206 2003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
208 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
209 of a function using ASMSPEC, prepend a star.
211 2003-05-19 Jason Merrill <jason@redhat.com>
213 * tree-inline.c (copy_body_r): Avoid generating &* during inline
216 2003-05-19 Andrew Macleod <amacleod@redhat.com>
218 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
219 not mark assignments to the hard frame pointer as being stack
221 (xstormy16_expand_epilogue): Mark adjustments to the stack
222 pointer as being stack frame related.
224 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
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.
238 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
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.
268 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
270 * config/mips/mips.c (mips_class_max_nregs): Return the number of
273 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
275 * config/mips/mips.c (override_options): Disable explicit
276 relocs for old ABIs unless using gas.
278 2003-05-18 Eric Christopher <echristo@redhat.com>
280 * config/mips/mips.h: Remove definition of g_switch_value.
282 2003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
284 * flags.h (g_switch_value): Change to an unsigned
286 * toplev.c (g_switch_value): Likewise.
288 * config/alpha/alpha.c (small_symbolic_operand): Remove
290 (alpha_in_small_data_p): Cast size to an unsigned
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.
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.
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
309 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
311 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
313 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
316 2003-05-18 Roger Sayle <roger@eyesopen.com>
317 Zack Weinberg <zack@codesourcery.com>
320 * builtins.c (expand_builtin_memcpy): Call force_operand on
321 expressions and use simplify_gen_binary to create the addition.
323 2003-05-18 Andreas Schwab <schwab@suse.de>
325 * config/m68k/m68k.md: Use define_constants for unspec numbers.
327 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
329 * config/sparc/sparc.h: Define sparc for now.
330 2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
332 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
334 * config/stormy16/stormy16.h: Remove about 3000 lines of
335 target-independent comments. Update copyright notice.
337 * doc/collect2.texi: GNU CC -> GCC.
338 * doc/headerdirs.texi: GNU CC -> GCC.
340 2003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
347 2003-05-18 Nathan Sidwell <nathan@codesourcery.com>
349 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
351 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
353 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
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):
374 * doc/cpp.texi: Document __ELF__.
375 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
377 2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
379 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
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.
413 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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.
423 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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.
430 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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.
446 2003-05-17 Andreas Schwab <schwab@suse.de>
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.
453 2003-05-17 Zack Weinberg <zack@codesourcery.com>
455 * doc/install.texi: Remove information about desupported targets.
457 2003-05-17 Andreas Schwab <schwab@suse.de>
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
469 * doc/invoke.texi (Option Summary): Remove -mfpa.
470 (M680x0 Options): Likewise.
472 2003-05-17 David Edelsohn <edelsohn@gnu.org>
474 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
476 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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.
484 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
486 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
487 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
489 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
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,
498 * sparc/sysv4-only.h: New.
500 2003-05-17 Alan Modra <amodra@bigpond.net.au>
502 * function.c (assign_parms): Check for zero size args.
504 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
525 * avr.c (avr_output_function_prologue,
526 avr_output_function_epilogue, print_operand): Fix format specifier
528 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
529 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
531 2003-05-16 Geoffrey Keating <geoffk@apple.com>
533 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
534 and ! TARGET_STRING cases.
536 * doc/cppopts.texi (-undef): Fix texinfo warning.
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.
542 2003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
548 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
554 * v850.c (print_operand): Fix format specifier warnings.
556 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
559 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
560 format specifier warnings.
562 * ip2k.c (function_prologue, function_epilogue, print_operand):
563 Fix format specifier warnings.
566 * i960.c (i960_output_function_prologue, i960_print_operand,
567 i960_print_operand_addr): Fix format specifier warnings.
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.
573 * fr30.c (fr30_print_operand): Fix format specifier warnings.
575 * dsp16xx.c (print_operand_address): Fix format specifier warning.
576 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
578 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
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):
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.
602 * frv.c (frv_print_operand_memory_reference): Fix format specifier
604 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
606 * m68k.c (m68k_output_function_epilogue): Fix format specifier
609 * stormy16-protos.h (xs_hi_general_operand,
610 xs_hi_nonmemory_operand): Prototype.
611 * stormy16.c (xstormy16_output_shift): Fix format specifier
614 * cris.c: Fix format specifier warnings.
616 2003-05-16 Nick Clifton <nickc@redhat.com>
618 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
620 2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
622 * doc/bugreport.texi: Remove most of the of the preface of the
625 2003-05-16 Jakub Jelinek <jakub@redhat.com>
627 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
630 2003-05-15 Roger Sayle <roger@eyesopen.com>
632 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
634 2003-05-15 Eric Christopher <echristo@redhat.com>
636 * cfgcleanup.c (merge_blocks): Fix return value.
638 2003-05-15 Eric Christopher <echristo@redhat.com>
640 * combine.c (expand_compound_operation): Make sure
641 that zero_extend operation is profitable.
643 2003-05-15 Richard Henderson <rth@redhat.com>
645 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
646 code protected by USE_GNULIBC_1.
648 2003-05-15 Zack Weinberg <zack@codesourcery.com>
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.
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.
695 2003-05-15 Aldy Hernandez <aldyh@redhat.com>
697 * config/rs6000/rs6000-protos.h (function_value): Protoize.
699 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
701 * config/rs6000/rs6000.c (rs6000_function_value): New.
703 2003-05-15 Philip Blundell <philb@gnu.org>
705 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
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.
715 2003-05-15 Philip Blundell <philb@gnu.org>
718 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
719 involving invalid constants.
721 2003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
723 * pa.c (hppa_expand_prologue): Remove blockage.
725 2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
727 * doc/bugreport.texi: Remove most of the bug reporting
728 instructions and merge them into bugs.html.
730 2003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
732 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
733 g_switch_value to unsigned HOST_WIDE_INT.
735 2003-05-14 Eric Christopher <echristo@redhat.com>
737 * combine.c: Fix header comments.
738 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
739 to all calls and prototype.
741 2003-05-14 Roger Sayle <roger@eyesopen.com>
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.
751 2003-05-14 Bob Wilson <bob.wilson@acm.org>
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
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.
806 2003-05-14 Richard Henderson <rth@redhat.com>
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.
812 2003-05-14 Richard Henderson <rth@redhat.com>
814 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
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.
824 2003-05-14 David Edelsohn <edelsohn@gnu.org>
826 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
827 move record condition.
828 (movdi_internal2): Same.
830 2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
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
845 (gcov_write_string): Adjust.
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.
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).
866 * loop.c (check_dbra_loop): Factor common test.
868 2003-05-14 Ben Elliston <bje@wasabisystems.com>
870 * doc/md.texi (Automaton pipeline description): Grammar fixes.
872 2003-05-14 Richard Sandiford <rsandifo@redhat.com>
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.
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
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.
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.
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.
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.
909 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
910 * config/frv/frv.c: Remove orphaned comment.
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.
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.
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.
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.
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.
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.
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.
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.
963 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
964 commented-out definition.
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.
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.
977 (sh_output_mi_thunk): Call sh_reorg directly.
978 * config/sh/sh.md: Update comment.
980 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
981 commented-out definition.
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.
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.
993 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
994 (TARGET_MACHINE_DEPENDENT_REORG): Document.
996 2003-05-13 Richard Henderson <rth@redhat.com>
998 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
999 the old decl had instantiated DECL_RTL.
1001 2003-05-13 Mike Stump <mrs@apple.com>
1003 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
1005 2003-05-13 Janis Johnson <janis187@us.ibm.com>
1007 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
1008 HOST_WIDE_INT argument.
1010 2003-05-13 Jason Merrill <jason@redhat.com>
1012 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
1014 * tree.c (iterative_hash_expr): New fn.
1016 * c-semantics.c (emit_local_var): Don't mess with temp slots if
1017 there's no initializer.
1019 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
1021 * final.c (final_scan_insn): Apply the effects of frame-related
1022 delay slot insns before emitting a delayed branch.
1024 2003-05-13 Nick Clifton <nickc@redhat.com>
1026 * config/mcore/mcore.md (jump): Use emit_jump_insn.
1028 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
1030 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
1031 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
1033 2003-05-12 DJ Delorie <dj@redhat.com>
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.
1039 2003-05-13 Zack Weinberg <zack@codesourcery.com>
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
1045 (fatal_io_error): Delete function.
1046 * diagnostic.h (text_info): Add err_no field.
1047 * toplev.h (fatal_io_error): Delete prototype.
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
1055 2003-05-13 Zack Weinberg <zack@codesourcery.com>
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
1062 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
1064 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
1065 ("*iorsi3_oi"): Likewise.
1067 2003-05-13 Richard Earnshaw <rearnsha@arm.com>
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
1073 (and_scc_scc_nodom): New insn-and-split pattern.
1075 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
1077 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
1078 to _Unwind_SetGRPtr().
1080 2003-05-13 Michael Eager <eager@mvista.com>
1082 * Makefile.in: Initialize program_transform_cross_name from
1083 @program_transform_name@ instead of target_alias.
1085 2003-05-12 Janis Johnson <janis187@us.ibm.com>
1086 Alan Modra <amodra@bigpond.net.au>
1087 Jakub Jelinek <jakub@redhat.com>
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):
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,
1126 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
1128 2003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
1130 * Makefile.in (stage2_build, stage3_build, stage4_build):
1131 Set BUILD_CC to the same as CC.
1133 2003-05-12 Neil Booth <neil@daikokuya.co.uk>
1135 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
1137 2003-05-12 Andreas Schwab <schwab@suse.de>
1139 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
1141 (bundling): Initialize 'pos'.
1142 (ia64_expand_builtin): Initialize 'rmode'.
1144 2003-05-12 David Edelsohn <edelsohn@gnu.org>
1146 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
1147 (ASM_OUTPUT_ALIGNED_COMMON): Same.
1148 (ASM_OUTPUT_LOCAL): Same.
1150 Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
1152 * varasm.c (output_constant): Fix underflow.
1154 2003-05-12 Mark Mitchell <mark@codesourcery.com>
1157 * configure.in: Correct detection of GNU ld version number.
1158 * configure: Regenerated.
1160 2003-05-12 Zack Weinberg <zack@codesourcery.com>
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
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
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.
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.
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.
1193 2003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1195 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
1197 Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
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.
1203 2003-05-12 Roger Sayle <roger@eyesopen.com>
1205 * doc/rtl.texi: Document zero_extract as a valid destination
1208 2003-05-12 Richard Earnshaw <rearnsha@arm.com>
1210 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
1211 '.'. Change all local symbol definitions and references to use LSYM.
1213 Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
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
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):
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):
1254 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
1255 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
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):
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):
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
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
1302 2003-05-10 Steven Bosscher <steven@gcc.gnu.org>
1304 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
1305 favor of walk_tree_without_duplicates. Add comments.
1307 2003-05-12 Josef Zlomek <zlomekj@suse.cz>
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.
1323 2003-05-11 Richard Henderson <rth@redhat.com>
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.
1335 * tree.c (chainon): Special case op2 null as well.
1338 2003-05-11 Roger Sayle <roger@eyesopen.com>
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.
1346 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
1347 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
1349 2003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1351 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
1353 * sparc.c (print_operand): Fix uninitialized warning.
1355 2003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1357 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
1359 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
1362 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
1364 * doc/cpp.texi: Fix typos.
1366 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
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
1374 2003-05-11 Nathan Sidwell <nathan@codesourcery.com>
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
1389 * function.c (prepare_function_start): Do not set arc_profile
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
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.
1400 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1402 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
1404 2003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1406 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
1408 2003-05-11 Bruno Haible <bruno@clisp.org>
1410 * cppfiles.c (find_or_create_entry): Preserve errno.
1412 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
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.
1423 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
1431 2003-05-10 Alexandre Oliva <aoliva@redhat.com>
1433 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
1436 2003-05-10 Zack Weinberg <zack@codesourcery.com>
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.
1445 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
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.
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.
1466 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
1468 2003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
1470 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
1472 2003-05-10 Nathan Sidwell <nathan@codesourcery.com>
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.
1494 (read_counts_file): Adjust gcov types. Only summarize & merge
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.
1502 2003-05-10 Richard Earnshaw <rearnsha@arm.com>
1504 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
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.
1510 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
1512 2003-05-09 Roger Sayle <roger@eyesopen.com>
1514 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
1515 as unsigned to avoid signed/unsigned comparison warnings.
1517 2003-05-09 Bob Wilson <bob.wilson@acm.org>
1519 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
1520 instruction if the Xtensa density option is enabled.
1522 2003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
1524 * mklibgcc.in: Remove extra quotes.
1526 2003-05-09 Mark Mitchell <mark@codesourcery.com>
1528 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
1531 2003-05-09 Alexandre Oliva <aoliva@redhat.com>
1533 * reload1.c (reload_cse_move2add): Don't turn an implicit
1534 truncation into a self-set in the narrow mode.
1536 2003-05-09 Richard Earnshaw <rearnsha@arm.com>
1538 * arm.md (clzsi2): The CLZ instruction is predicable.
1540 2003-05-09 Bob Wilson <bob.wilson@acm.org>
1542 * config/xtensa/xtensa.c: Formatting.
1544 2003-05-09 Diego Novillo <dnovillo@redhat.com>
1546 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
1547 instead of TREE_OPERAND to access the operand of a
1550 2003-05-09 Diego Novillo <dnovillo@redhat.com>
1552 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
1555 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
1562 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
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
1573 2003-05-09 Alan Modra <amodra@bigpond.net.au>
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.
1595 2003-05-08 DJ Delorie <dj@redhat.com>
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.
1604 2003-05-08 Aldy Hernandez <aldyh@redhat.com>
1606 * mklibgcc.in: Use mkinstalldirs when installing multilib
1609 2003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
1611 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
1612 instead of CODE_FOR_jump
1614 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
1620 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
1632 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
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;
1644 2003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1646 * builtins.c (readonly_data_expr): New function.
1647 (expand_builtin_memmove): Optimize any rodata source, not just
1650 2003-05-07 David Mosberger <davidm@hpl.hp.com>
1652 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
1654 2003-05-07 Richard Henderson <rth@redhat.com>
1656 * config/i386/i386.c (ix86_split_long_move): Fix base register
1657 mode for XFmode splits for TARGET_64BIT.
1659 2003-05-07 Richard Henderson <rth@redhat.com>
1661 * sched-ebb.c (schedule_ebb): Supply the correct starting
1662 block number to save_line_notes.
1664 2003-05-07 Richard Henderson <rth@redhat.com>
1666 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
1667 (dump_file): Likewise.
1669 2003-05-07 David Mosberger <davidm@hpl.hp.com>
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.
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
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.
1689 2003-05-07 Richard Henderson <rth@redhat.com>
1692 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
1693 * flags.h, toplev.c, doc/invoke.texi: Likewise.
1695 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
1696 * unwind.inc (_Unwind_DeleteException): Check for null
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.
1704 2003-05-07 Richard Henderson <rth@redhat.com>
1706 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
1709 2003-05-07 Zack Weinberg <zack@codesourcery.com>
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
1716 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
1718 * print-tree.c (debug_tree): Free the table after we're done
1721 2003-05-07 Aldy Hernandez <aldyh@redhat.com>
1723 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
1724 Unreverse arguments for __ev_subw.
1726 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
1728 2003-05-07 Nick Clifton <nickc@redhat.com>
1730 * config/stormy16/stormy-abi: Update to include
1731 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
1732 R_XSTORMY16_12 relocs.
1734 2003-05-07 Alan Modra <amodra@bigpond.net.au>
1736 * function.c (assign_parms): Correct reversed reg_parm_stack_space
1737 test. Add partial in-regs size to stack_args_size.
1739 2003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1741 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
1744 2003-05-07 Nathan Sidwell <nathan@codesourcery.com>
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.
1770 2003-05-06 Mark Mitchell <mark@codesourcery.com>
1773 * gcc.c (process_command): Update copyright date.
1775 2003-05-06 Phil Edwards <pme@gcc.gnu.org>
1777 * doc/install.texi (mips-*-*): Add note about libstdc++.
1779 2003-05-06 DJ Delorie <dj@redhat.com>
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.
1785 2003-05-06 <neil@cat.daikokuya.co.uk>
1787 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
1788 and -Wstrict-prototypes if C++.
1790 2003-05-06 Aldy Hernandez <aldyh@redhat.com>
1792 * config/rs6000/linuxspe.h: New file.
1794 * config.gcc: Add powerpc-*-linux-gnuspe* target.
1796 2003-05-06 Richard Henderson <rth@redhat.com>
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.
1802 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
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
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.
1845 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
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.
1855 2003-05-05 Roger Sayle <roger@eyesopen.com>
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.
1866 2003-05-05 Richard Henderson <rth@redhat.com>
1868 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
1870 2003-05-05 David O'Brien <obrien@FreeBSD.org>
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.
1877 2003-05-05 Janis Johnson <janis187@us.ibm.com>
1879 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
1881 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
1883 2003-05-05 Zack Weinberg <zack@codesourcery.com>
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.
1912 (init_varasm_status): Clear p->deferred_constants.
1913 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
1915 2003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1917 * builtins.c (expand_builtin_stpcpy): Only expand when the length
1918 of the source string can be evaluated at compile-time.
1920 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
1922 * testsuite/gcc.c-torture/compile/simd-6.c: New.
1924 * c-typeck.c (digest_init): Handle arrays of vector constants.
1926 2003-05-05 Jakub Jelinek <jakub@redhat.com>
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.
1934 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
1936 * testsuite/gcc.dg/20030505.c: New.
1938 * c-typeck.c (convert_for_assignment): Opaque pointers can
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.
1948 2003-05-05 Geoffrey Keating <geoffk@apple.com>
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.
1959 * toplev.c (check_global_declarations): Suppress not-used warning
1960 for volatile variables.
1962 2003-05-05 Olivier Hainque <hainque@act-europe.fr>
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.
1969 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
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.
1975 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
1977 * config/rs6000/spe.h: Revert licensing change from last patch.
1979 2003-05-05 DJ Delorie <dj@redhat.com>
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
1986 2003-05-05 David Edelsohn <edelsohn@gnu.org>
1988 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
1989 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
1991 2003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1993 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
1996 2003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
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):
2007 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
2008 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
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.
2023 2003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2025 * expr.c (store_field): Don't clobber TEMP in shift: it might be
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.
2031 * stor-layout.c (compute_record_mode): Relax restriction
2032 on fields crossing word boundaries forcing BLKmode.
2034 2003-05-04 Neil Booth <neil@daikokuya.co.uk>
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.
2043 2003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2045 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
2046 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
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.
2058 2003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2060 * toplev.h (pedwarn_with_file_and_line): Don't declare.
2061 * diagnostic.c (pedwarn_with_file_and_line): Remove.
2063 2003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2065 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
2067 2003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
2078 2003-05-03 Richard Henderson <rth@redhat.com>
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.
2093 2003-05-03 Richard Henderson <rth@redhat.com>
2095 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
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.
2116 2003-05-03 Geoffrey Keating <geoffk@apple.com>
2118 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
2119 (REVERSE_CONDITION): Define.
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.
2131 * simplify-rtx.c (simplify_relational_operation): Add case for
2134 2003-05-03 Bruce Korb <bkorb@gnu.org>
2136 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
2138 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
2140 2003-05-03 Aldy Hernandez <aldyh@redhat.com>
2142 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
2144 2003-05-03 Zack Weinberg <zack@codesourcery.com>
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
2151 (c_common_post_options): Set warn_sign_compare from extra_warnings
2152 if it's still -1 at this point.
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.
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.
2173 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
2175 * Makefile.in: Disable -Werror for gengtype-lex.o.
2177 2003-05-03 Olivier Hainque <hainque@act-europe.fr>
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.
2196 2003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2198 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
2199 gen_lowpart on non-integer modes.
2201 * stor-layout.c (place_field): When adjusting offset_align, use
2202 desired_align, not DECL_ALIGN.
2204 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
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.
2222 2003-05-03 Richard Sandiford <rsandifo@redhat.com>
2224 * config/mips/mips.md: Fix comment typo.
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.
2237 2003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
2239 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
2241 2003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2243 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
2246 2003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2247 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2249 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
2250 Hernandez, and Kazu Hirata. Update Richard Henderson.
2252 2003-05-02 Geoffrey Keating <geoffk@apple.com>
2254 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
2255 to tentative declaration.
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.
2264 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
2265 expand_stmt on result of expand_unreachable_stmt.
2267 2003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2269 * doc/contrib.texi (Contributors): Add Daniel Berlin.
2271 2003-05-02 David Edelsohn <edelsohn@gnu.org>
2273 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
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.
2282 2003-05-02 Alan Modra <amodra@bigpond.net.au>
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.
2306 2003-05-02 Nathan Sidwell <nathan@codesourcery.com>
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.
2325 2003-05-02 Nick Clifton <nickc@redhat.com>
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.
2332 2003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
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.
2339 2003-05-01 DJ Delorie <dj@redhat.com>
2341 * reload.c (find_reloads): Also check that all of a multi-reg
2342 value is in the class.
2344 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
2346 * scan.h (lineno): Revert the rename here.
2348 2003-05-01 Stan Shebs <shebs@apple.com>
2350 * config/darwin.c (darwin_encode_section_info): Call
2351 default_encode_section_info.
2353 2003-05-01 David Edelsohn <edelsohn@gnu.org>
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.
2372 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
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,
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.
2417 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
2418 name from input_filename.
2420 2003-04-30 Eric Christopher <echristo@redhat.com>
2421 Richard Sandiford <rsandifo@redhat.com>
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
2428 * config/mips/linux.h: Fix typo.
2429 * Merge from mips-3_4-rewrite branch:
2431 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
2433 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
2434 handling local labels when TARGET_ABICALLS.
2436 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
2438 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
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.
2457 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
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.
2469 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
2470 of unaligned offsets.
2472 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
2475 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
2477 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
2478 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
2481 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
2483 * config/mips/mips.h (ADDRESS_COST): Define.
2485 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
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'.
2491 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
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.
2500 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
2502 * configure.in (mips*-*-*): Check for explicit relocation support.
2503 * configure: Regenerate.
2505 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
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.
2515 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
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.
2520 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
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
2527 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
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.
2535 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
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.
2553 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
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.
2571 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
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.
2580 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
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.
2588 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
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.
2595 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
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
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
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
2658 2003-02-02 Eric Christopher <echristo@redhat.com>
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.
2665 2003-01-24 Eric Christopher <echristo@redhat.com>
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.
2677 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
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...
2693 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
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.
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.
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.
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.
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
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.
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.
2817 2003-01-08 Eric Christopher <echristo@redhat.com>
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.
2826 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
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.
2848 2002-10-22 Eric Christopher <echristo@redhat.com>
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
2862 (mips_reg_names): Remove $ra.
2863 (mips_regno_to_class): Ditto.
2864 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
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
2887 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
2888 Michael Meissner <meissner@redhat.com>
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.
2911 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
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.
2919 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
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.
2926 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
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.
2936 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
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.
2943 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
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.
2951 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
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.
2958 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
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.
2965 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
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
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.
2979 2003-04-30 Diego Novillo <dnovillo@redhat.com>
2981 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
2983 2003-04-30 Geoffrey Keating <geoffk@apple.com>
2985 * tree-inline.c (inlinable_function_p): Back out last change, it's
2988 2003-04-30 Steven Bosscher <steven@gcc.gnu.org>
2990 * ggc-page.c (TREE_EXP_SIZE): Define.
2991 (extra_order_size_table): New entry for expr trees with
2994 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
3001 2003-04-30 Nathan Sidwell <nathan@codesourcery.com>
3003 * tree.h (DECL_POINTER_DEPTH): Remove.
3004 (struct tree_decl): Remove pointer_depth.
3006 2003-04-30 Janis Johnson <janis187@us.ibm.com>
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.
3022 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
3024 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
3026 2003-04-30 Andreas Schwab <schwab@suse.de>
3028 * doc/extend.texi (Other Builtins): Enclose multiple word data
3029 type in braces for @deftypefn.
3031 2003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3033 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
3035 * doc/install.texi (--enable-threads): Document "gnat" option.
3037 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
3050 2003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3052 * function.c (purge_addressof_1): Postpone insn in fewer cases.
3054 2003-04-29 Geoffrey Keating <geoffk@apple.com>
3056 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
3057 call abort() after running out of stack space.
3059 * c-typeck.c (function_types_compatible_p): Ignore incompatible
3060 'volatile' qualifiers on a function's return type in GNU mode.
3062 2003-04-29 Aldy Hernandez <aldyh@redhat.com>
3064 * expr.c (emit_group_load): Dump parallels of simd types to
3067 2003-04-29 Vladimir Makarov <vmakarov@redhat.com>
3069 * genautomata.c (add_vect): Check undefined value for range type
3072 2003-04-29 Phil Edwards <pme@gcc.gnu.org>
3074 * configure.in: More general test for cmp --ignore-initial.
3075 * configure: Regenerate.
3077 2003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
3083 * tree.c (save_expr): Don't fold a COMPONENT_REF.
3085 2003-04-29 Olivier Hainque <hainque@act-europe.fr>
3087 * calls.c (expand_call): When modes of target and valreg match, force
3088 sibcall failure when target is a MEM.
3090 2003-04-29 Geoffrey Keating <geoffk@apple.com>
3092 * tree-inline.c (inlinable_function_p): Don't support inlining
3093 functions using varargs.
3095 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
3097 * dwarf2out.c (output_call_frame_info): No need to output EH
3098 unwind information if all_throwers_are_sibcalls.
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.
3104 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
3106 2003-04-29 Jason Merrill <jason@redhat.com>
3109 * jump.c (never_reached_warning): Really stop looking if we reach
3110 the beginning of the function.
3112 2003-04-29 Bob Wilson <bob.wilson@acm.org>
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".
3122 2003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
3125 * gengtype-yacc.y: Improve portability.
3127 2003-04-29 Zack Weinberg <zack@codesourcery.com>
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.
3133 2003-04-29 Zack Weinberg <zack@codesourcery.com>
3135 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
3137 2003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
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.
3148 2003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
3150 * varasm.c (default_assemble_visibility): Use assemble_name.
3152 2003-04-29 David O'Brien <obrien@FreeBSD.org>
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.
3162 2003-04-28 Mark Mitchell <mark@codesourcery.com>
3165 * tree-inline.c (expand_call_inline): Call push_srcloc when
3166 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
3168 2003-04-28 Mike Stump <mrs@apple.com>
3170 * gdbinit.in: Update to reflect new identifier structure.
3172 2003-04-28 Zack Weinberg <zack@codesourcery.com>
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.
3185 2003-04-28 Jakub Jelinek <jakub@redhat.com>
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.
3193 2003-04-28 Richard Henderson <rth@redhat.com>
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.
3206 2003-04-28 David O'Brien <obrien@FreeBSD.org>
3208 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
3211 2003-04-28 David O'Brien <obrien@FreeBSD.org>
3213 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
3215 2003-04-28 Jakub Jelinek <jakub@redhat.com>
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
3221 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
3223 2003-04-28 Nick Clifton <nickc@redhat.com>
3225 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
3227 2003-04-27 Zack Weinberg <zack@codesourcery.com>
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
3239 2003-04-27 Kazu Hirata <kazu@cs.umass.edu>
3241 * reload1.c (reg_set_luid): Fix a comment typo.
3243 2003-04-27 Zack Weinberg <zack@codesourcery.com>
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
3256 (mark_constant_pool): Check n_deferred_strings, not the size
3258 (init_varasm_once): No need to create const_str_htab.
3260 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
3261 SYMBOL_REF_DECL points to a constant.
3263 2003-04-26 Zack Weinberg <zack@codesourcery.com>
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.
3278 2003-04-26 Richard Henderson <rth@redhat.com>
3280 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
3281 (ix86_expand_call, ix86_rtx_consts): Likewise.
3283 2003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3285 * doc/md.texi (cmpstr): Document additional restrictions.
3287 2003-04-26 Neil Booth <neil@daikokuya.co.uk>
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.
3298 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
3300 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
3302 2003-04-26 Neil Booth <neil@daikokuya.co.uk>
3304 * _cpp_lex_direct: Remove pointless code.
3306 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
3308 * doc/extend.texi (Function Attributes): Document "near" and "far"
3309 for 68HC11 and 68HC12.
3311 2003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3313 * expr.c (store_field): When making temporary for store, don't
3314 make it TYPE_QUAL_CONST.
3316 2003-04-25 Phil Edwards <pme@gcc.gnu.org>
3318 * toplev.c (read_integral_parameter): Use "argument" in error
3319 message to distinguish it from actual invalid options.
3321 2003-04-25 Bob Wilson <bob.wilson@acm.org>
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.
3327 2003-04-25 Bob Wilson &