1 Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
3 * c-common.c (cb_register_builtins): Use really_no_inline.
5 2002-10-04 David Edelsohn <edelsohn@gnu.org>
7 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
8 copied instruction if the note is not loop invariant.
10 2002-10-04 Loren J. Rittle <ljrittle@acm.org>
12 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
14 2002-10-04 Steve Ellcey <sje@cup.hp.com>
16 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
17 and -mhp-ld options to list of options. Add -mgnu-ld
18 and -mhp-ld option descriptions.
20 2002-10-04 Steve Ellcey <sje@cup.hp.com>
22 * fixinc/inclhack.def (hpux11_abs): New.
23 (stdio_va_list): change __va_list__ to __gnuc_va_list.
24 * fixinc/fixincl.x: Rebuild.
26 2002-10-04 Roger Sayle <roger@eyesopen.com>
28 * config/i386/i386.h (processor_costs): Add new fields fadd,
29 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
30 (RTX_COSTS): Use these fields to determine the RTX costs
31 of floating point addition/subtraction, multiplication,
32 division, fabs, negation and square root respectively.
33 * config/i386/i386.c (size_cost): Provide instruction sizes
35 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
36 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
37 counts for these new fields for all x86 processor variants.
39 2002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
41 * mips.c (mips_const_double_ok): Delete unused variable.
43 * gengtype.c (rtx_next): Change type to int.
45 2002-10-04 Andreas Jaeger <aj@suse.de>
47 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
49 2002-10-04 Richard Henderson <rth@redhat.com>
51 * real.h (SIGNIFICAND_BITS): Add one more word.
52 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
53 * real.c (times_pten): New.
54 (real_to_decimal, real_from_string): Use it.
55 (sticky_rshift_significand): Use & to find modulus.
56 (rshift_significand, lshift_significand): Likewise.
57 (do_divide): Apply sticky bit after normalization.
58 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
60 2002-10-03 Andreas Jaeger <aj@suse.de>
62 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
63 to unsigned long, adjust printf format string.
64 (output_mangled_typename): Likewise.
66 2002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
68 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
69 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
70 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
71 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
72 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
73 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
74 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
75 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
77 2002-10-03 Mark Mitchell <mark@codesourcery.com>
79 * doc/invoke.texi (-Wabi): Document mangling bug.
81 2002-10-04 Alan Modra <amodra@bigpond.net.au>
83 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
84 name for the tbtab label that depends on the function asm name.
85 Don't output tbtab label unless optional_tbtab.
86 (output_mi_thunk): Formatting.
88 2002-10-03 Richard Henderson <rth@redhat.com>
90 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
91 * config/m68k/m68k.c (override_options): ... here.
92 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
93 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
94 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
95 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
97 2002-10-03 Richard Henderson <rth@redhat.com>
99 * real.h (struct real_value): Use ENUM_BITFIELD.
101 2002-10-03 Richard Henderson <rth@redhat.com>
103 * config/i960/i960.md (call, call_value): Use emit_call_insn.
105 2002-10-03 Steve Ellcey <sje@cup.hp.com>
107 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
109 2002-10-03 Steve Ellcey <sje@cup.hp.com>
111 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
112 * config/pa/pa.h (MASK_GNU_LD): New.
113 (TARGET_GNU_LD): New.
114 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
115 on gnu-ld and MASK_GNU_LD.
116 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
118 Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
120 * i386.c (athlon_cost): Fix the move costs.
122 Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
124 * final.c (final): Use symbol name as function name for profiling.
125 * profile.c (get_exec_counts): Likewise.
126 (branch_prob): Likewise.
128 2002-10-03 Jakub Jelinek <jakub@redhat.com>
130 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
132 2002-10-03 Jakub Jelinek <jakub@redhat.com>
134 * gcc.c (print_multi_os_directory): New variable.
135 (option_map): Support --print-multi-os-directory.
136 (struct prefix_list): Add os_multilib field.
137 (multilib_os_dir): New variable.
138 (static_specs): Add multilib_options.
139 (find_a_file): Add multilib argument. Search in GCC or OS multilib
141 (read_specs, execute): Update callers.
142 (find_file): Likewise. Don't prefix name with multilib_dir, instead
143 pass 1 as multilib option.
144 (display_help): Include --print-multi-os-directory.
145 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
146 (process_command): Update callers. Handle --print-multi-os-directory.
147 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
149 (main): Update find_a_file and add_prefix callers.
150 Handle print_multi_os_directory.
151 (struct mdswitchstr): New.
152 (mdswitches, n_mdswitches): New variables.
153 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
154 present on the command line nor their mutually incompatible
156 (default_arg): Optimize.
157 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
159 (print_multilib_info): Only print GCC multilib dir name, not OS
161 * genmultilib: Add osdirnames parameter. Output multilib_options
162 variable. If osdirnames is specified, output dirnames as
164 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
165 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
166 to compute libgcc_s soname and install path.
167 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
168 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
169 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
172 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
173 (SHLIB_SLIBDIR_SUFFIXES): Remove.
174 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
175 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
176 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
178 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
179 (SHLIB_SLIBDIR_SUFFIXES): Remove.
180 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
181 (STARTFILE_ARCH_SPEC): Remove.
182 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
183 (SHLIB_SLIBDIR_SUFFIXES): Remove.
184 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
185 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
186 (SHLIB_SLIBDIR_SUFFIXES): Remove.
188 Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
190 * predict.c (choose_function_section): Avoid choice for linkonce functions.
192 Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
194 * i386.md (lea to mul peep2): Fix condition.
196 2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
198 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
199 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
201 2002-10-02 Richard Henderson <rth@redhat.com>
204 * config/i386/i386.c (ix86_register_move_cost): Increase cost
205 for secondary_memory_needed pairs.
207 2002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
209 * doc/vms.texi: Blow away false include file section.
211 2002-10-02 Roger Sayle <roger@eyesopen.com>
214 * toplev.c (force_align_functions_log): New global variable.
215 * flags.h (force_align_functions_log): Add extern prototype.
216 * varasm.c (assemble_start_function): Use it to force minimum
218 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
219 minimum function alignment to one byte.
220 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
221 the least significant bit of vtable member function pointers.
222 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
223 here from cp/cp-tree.h.
225 Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
227 * i386.c (print_operand_address): Use RIP addressing for offsetted
230 2002-09-30 David S. Miller <davem@redhat.com>
233 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
234 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
236 2002-10-01 Roger Sayle <roger@eyesopen.com>
238 * unroll.c (loop_iterations): Revert 2002-09-08 change.
240 2002-10-01 Richard Henderson <rth@redhat.com>
242 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
243 (real_to_hexadecimal): Likewise.
244 * print-rtl.c (print_rtx): If we are linked with real.c, don't
245 dump the XWINT fields of a floating point CONST_DOUBLE.
247 2002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
249 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
251 2002-10-01 Richard Henderson <rth@redhat.com>
253 * calls.c (precompute_register_parameters): Force non-legitimate
254 constants into pseudos.
256 2002-10-01 Nick Clifton <nickc@redhat.com>
258 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
259 to assembler template.
261 2002-10-01 Richard Henderson <rth@redhat.com>
263 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
264 for TLS debug info to !DECL_EXTERNAL.
266 2002-10-01 Matt Thomas <matt@3am-software.com>
267 Jason Thorpe <thorpej@wasabisystems.com>
269 * config.gcc (vax-*-netbsdelf*): Enable configuration.
270 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
271 if not already defined.
272 * config/vax/elf.h: New file.
273 * config/vax/netbsd-elf.h: New file.
274 * config/vax/vax.c: Include "debug.h".
275 (vax_output_function_prologue): Add dwarf2 support. Use
276 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
277 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
278 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
279 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
280 (VAX_ISTREAM_SYNC): Remove.
281 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
282 (JUMP_TABLES_IN_TEXT_SECTION): Define.
283 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
284 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
286 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
287 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
288 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
289 (INCOMING_RETURN_ADDR_RTX): Define.
290 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
291 (VUNSPEC_SYNC_ISTREAM): Define.
292 (blockage): Use VUNSPEC_BLOCKAGE.
293 (sync_istream): New insn.
295 2002-10-01 Richard Henderson <rth@redhat.com>
297 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
298 (*call_value_pop, call, call_value): Add dwarf2 EH support.
301 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
304 * c-typeck.c (build_c_cast): Warn about type punning which breaks
307 2002-10-01 Mark Mitchell <mark@codesourcery.com>
309 * stor-layout.c (update_alignment_for_field): New function.
310 (place_union_field): Use it.
311 (place_field): Likewise.
313 2002-10-01 Nathan Sidwell <nathan@codesourcery.com>
316 * gcc.c (cc1_options): Add space on -auxbase-strip.
318 2002-10-01 Jim Wilson <wilson@redhat.com>
320 * config/v850/v850.h (EPILOGUE_USES): Define.
322 2002-09-30 Andrew Haley <aph@redhat.com>
324 * flow.c (insn_dead_p): When using non-call-exceptions, don't
325 eliminate insns that may trap.
326 * cse.c (insn_live_p): Likewise.
328 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
330 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
331 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
332 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
333 * config/mips/mips.md: Apply same renaming here.
335 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
337 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
338 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
339 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
340 * config/mips/mips.md (define_attr cpu): Remove r4320.
341 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
343 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
345 * config/mips/mips.c (mips16_strings): New variable.
346 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
347 symbol in mips16_strings. Free the list.
348 (mips_encode_section_info): Keep track of local strings.
350 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
352 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
353 (sordered_df, sordered_sf): Remove.
354 * config/mips/mips.c (get_float_compare_codes): New fn.
355 (gen_int_relational, gen_conditional_move): Use it.
357 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
359 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
360 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
361 * config/mips/mips.c (fcc_register_operand): New function.
362 (mips_emit_fcc_reload): New function, extracted from reload_incc.
363 (override_options): Allow TFmode values in float registers
365 * cnfig/mips/mips.md (reload_incc): Change destination prediate
366 to fcc_register_operand. Remove misleading source constraint.
367 Use mips_emit_fcc_reload.
368 (reload_outcc): Duplicate reload_incc.
370 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
372 * longlong.h: Partially synchronize with GMP-4.1 version:
373 Use i370 definitions also for s390.
374 Add generic definition of umul_ppmm in terms of smul_ppmm.
375 [s390] (umul_ppmm): Remove.
376 [s390] (smul_ppmm): Fix incorrect assembler constraints.
377 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
379 2002-09-30 Bob Wilson <bob.wilson@acm.org>
381 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
382 Add new RL_REGS register class.
383 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
384 Call xtensa_preferred_reload_class for both input and output reloads.
385 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
386 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
387 instead of either AR_REGS or GR_REGS classes.
388 (xtensa_secondary_reload_class): Use new RL_REGS class.
389 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
391 2002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
393 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
394 (pa_strip_name_encoding): Strip '@' and '*', in that order.
395 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
396 there is a '*' prefix in NAME.
398 Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
400 * reload.c (push_reload): Handle subregs and secondary memory.
401 * reload1.c (gen_reload): Likewise.
403 * jump.c (reg_or_subregno): New function.
404 * rtl.h (reg_or_subregno): Declare
405 * unroll.c (find_splittable_givs): Handle subregs.
407 2002-09-30 Mark Mitchell <mark@codesourcery.com>
409 * store-layout.c (finish_record_layout): Add free_p parameter.
410 (layout_type): Pass it.
411 * tree.h (finish_record_layout): Update prototype.
413 Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
415 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
417 * gcse.c (cprop_jump): Check that the register has not
419 (cprop_jump): Likewise.
421 2002-09-30 Richard Earnshaw <rearnsha@arm.com>
423 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
424 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
425 that we have a SImode access, and only then if reload hasn't completed;
426 for all other cases, use LO_REGS.
428 2002-09-29 Richard Henderson <rth@redhat.com>
430 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
432 2002-09-29 Richard Henderson <rth@redhat.com>
435 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
438 2002-09-29 David Edelsohn <edelsohn@gnu.org>
440 * real.h (ibm_extended_format): Declare.
441 * real.c (encode_ibm_extended, decode_ibm_extended): New
444 2002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
446 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
448 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
450 2002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
452 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
454 2002-09-29 Kazu Hirata <kazu@cs.umass.edu>
456 * builtins.def: Fix comment formatting.
457 * c-common.def: Likewise.
458 * cfgcleanup.c: Likewise.
459 * combine.c: Likewise.
460 * gengtype.c: Likewise.
461 * params.def: Likewise.
462 * predict.def: Likewise.
464 * stab.def: Likewise.
465 * stor-layout.c: Likewise.
466 * tree.def: Likewise.
467 * config/darwin.c: Likewise.
468 * config/darwin.h: Likewise.
469 * config/dbxcoff.h: Likewise.
470 * config/elfos.h: Likewise.
471 * config/fp-bit.c: Likewise.
472 * config/freebsd-spec.h: Likewise.
473 * config/interix.h: Likewise.
474 * config/libgloss.h: Likewise.
475 * config/linux-aout.h: Likewise.
476 * config/linux.h: Likewise.
477 * config/lynx-ng.h: Likewise.
478 * config/lynx.h: Likewise.
479 * config/netbsd-aout.h: Likewise.
480 * config/netbsd.h: Likewise.
481 * config/netware.h: Likewise.
482 * config/psos.h: Likewise.
483 * config/ptx4.h: Likewise.
485 2002-09-28 Kazu Hirata <kazu@cs.umass.edu>
487 * ChangeLog.4: Fix typos.
488 * ChangeLog.6: Likewise.
489 * FSFChangeLog.10: Likewise.
490 * genattrtab.c: Fix comment typos.
491 * haifa-sched.c: Likewise.
494 * config/arm/arm.c: Likewise.
495 * config/arm/crti.asm: Likewise.
496 * config/arm/crtn.asm: Likewise.
497 * config/frv/frv.c: Likewise.
498 * config/frv/frv.md: Likewise.
499 * config/h8300/h8300.md: Likewise.
500 * config/i386/rtemself.h: Likewise.
501 * config/ia64/unwind-ia64.c: Likewise.
502 * config/ip2k/ip2k.h: Likewise.
503 * config/m88k/m88k.c: Likewise.
504 * config/m88k/m88k.md: Likewise.
505 * config/mips/sr71k.md: Likewise.
506 * config/mmix/mmix.c: Likewise.
507 * config/rs6000/rs6000.c: Likewise.
508 * config/sh/sh.md: Likewise.
510 2002-09-26 Theodore A. Roth <troth@verinet.com>
512 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
513 * config/avr/avr.md: Ditto.
515 2002-09-27 Alexander N. Kabaev <ak03@gte.com>
518 * cppmacro.c (stringify_arg): Do not overflow the buffer
519 with the terminating NUL when the argument to be stringified
522 2002-09-27 Richard Henderson <rth@redhat.com>
524 * unroll.c (simplify_cmp_and_jump_insns): New.
525 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
526 instead of expand_simple_foo.
528 2002-09-27 Richard Henderson <rth@redhat.com>
531 * cfganal.c (flow_active_insn_p): New.
532 (forwarder_block_p): Use it.
534 2002-09-27 Richard Henderson <rth@redhat.com>
536 * emit-rtl.c (active_insn_p): Revert last change.
538 2002-09-27 Jakub Jelinek <jakub@redhat.com>
540 * doc/extend.texi (tls_model): Document.
541 * varasm.c (decl_tls_model): New.
542 * c-common.c (handle_tls_model_attribute): New.
543 (c_common_attribute_table): Add tls_model.
544 * config/alpha/alpha.c (alpha_encode_section_info): Use
546 * flags.h (enum tls_model, flag_tls_default): Move...
547 * tree.h (enum tls_model, flag_tls_default): ...here.
548 (decl_tls_model): New prototype.
549 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
550 * config/i386/i386.c (ix86_encode_section_info): Likewise.
551 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
554 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
556 * LANGUAGES: Follow spelling conventions.
558 * sbitmap.c: Likewise.
559 * sched-int.h: Likewise.
560 * sched-rgn.c: Likewise.
561 * sibcall.c: Likewise.
562 * simplify-rtx.c: Likewise.
564 * stab.def: Likewise.
566 * stor-layout.c: Likewise.
567 * target.h: Likewise.
568 * timevar.c: Likewise.
569 * toplev.c: Likewise.
570 * tree-dump.c: Likewise.
571 * tree-inline.c: Likewise.
573 * tree.def: Likewise.
575 * unroll.c: Likewise.
576 * varasm.c: Likewise.
577 * vmsdbgout.c: Likewise.
578 * treelang/treelang.texi: Likewise.
579 * treelang/treetree.c: Likewise.
581 2002-09-27 Kazu Hirata <kazu@cs.umass.edu>
583 * config/h8300/h8300.c (compute_saved_regs): Use a macro
584 instead of a hard register number.
585 (get_shift_alg): Use an enumerated type instead of numbers.
586 (h8300_shift_needs_scratch_p): Likewise.
588 2002-09-26 David S. Miller <davem@redhat.com>
591 * calls.c (emit_library_call_value_1): Passing args by reference
592 converts a CONST function into a PURE one.
594 2002-09-26 David Edelsohn <edelsohn@gnu.org>
596 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
598 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
600 * config/rs6000/rs6000.c (rs6000_override_options): Allow
601 function-sections and data-sections functionality on AIX.
603 2002-09-26 David Edelsohn <edelsohn@gnu.org>
604 Dale Johannesen <dalej@apple.com>
606 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
607 in RTL for sub-word loads from memory.
609 2002-09-26 Richard Henderson <rth@redhat.com>
612 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
615 2002-09-26 Richard Henderson <rth@redhat.com>
617 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
619 2002-09-26 Chris Lattner <sabre@nondot.org>
621 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
622 handling undefined values.
624 2002-09-26 Richard Henderson <rth@redhat.com>
627 * emit-rtl.c (active_insn_p): Consider a clobber of the
628 function return value to be active even after reload.
630 2002-09-27 Alan Modra <amodra@bigpond.net.au>
632 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
633 by absolute loop increment, not loop increment.
635 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
637 * c-common.h: Follow spelling conventions.
638 * cpplex.c: Likewise.
639 * cpplib.h: Likewise.
640 * gthr-dce.h: Likewise.
641 * gthr-posix.h: Likewise.
642 * optabs.c: Likewise.
643 * output.h: Likewise.
644 * profile.c: Likewise.
645 * protoize.c: Likewise.
646 * ra-rewrite.c: Likewise.
649 * reg-stack.c: Likewise.
650 * regclass.c: Likewise.
651 * regmove.c: Likewise.
652 * reload.c: Likewise.
653 * reload.h: Likewise.
654 * reload1.c: Likewise.
656 * resource.c: Likewise.
658 * rtlanal.c: Likewise.
660 2002-09-26 Steve Ellcey <sje@cup.hp.com>
662 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
665 2002-09-24 Eric Christopher <echristo@redhat.com>
667 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
668 * config/mips/elf64.h: Ditto.
670 2002-09-24 Eric Christopher <echristo@redhat.com>
672 * except.c (expand_builtin_extract_return_address): Handle case
673 where Pmode != ptr_mode.
675 2002-09-26 Steve Ellcey <sje@cup.hp.com>
677 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
679 2002-09-26 Steve Ellcey <sje@cup.hp.com>
681 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
683 2002-09-26 Igor Shevlyakov <igor@microunity.com>
685 * combine.c (simplify_set): Don't call to force_to_mode if size
686 of integer type is larger than HOST_BITS_PER_WIDE_INT.
688 2002-09-26 Janis Johnson <janis187@us.ibm.com>
690 * Makefile.in (qmtest-g++): Fix file path.
692 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
694 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
695 A + (-const) on RTX level, even for unsigned types.
697 2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
699 * reload.c (dup_replacements): New function.
700 (find_reloads): Use it to duplicate replacements at the top level
701 of match_dup operands.
703 2002-09-26 Miles Bader <miles@gnu.org>
705 * v850.md ("length"): Change default value to 4.
707 2002-09-26 Kazu Hirata <kazu@cs.umass.edu>
709 * ChangeLog.1: Follow spelling conventions.
710 * ChangeLog.4: Likewise.
711 * ChangeLog.6: Likewise.
712 * FSFChangeLog.11: Likewise.
713 * doc/cpp.texi: Likewise.
714 * doc/invoke.texi: Likewise.
715 * doc/tm.texi: Likewise.
717 2002-09-26 Nick Clifton <nickc@redhat.com>
719 * config.gcc: Add x prefix to v850e case for handling
722 2002-09-25 David S. Miller <davem@redhat.com>
725 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
728 2002-09-25 Richard Henderson <rth@redhat.com>
730 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
731 fp CONST_DOUBLE; use real_identical.
733 2002-09-25 Mark Mitchell <mark@codesourcery.com>
735 * doc/invoke.texi: Add more -Wabi examples.
737 2002-09-25 Richard Sandiford <rsandifo@redhat.com>
739 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
741 2002-09-24 Denis Chertykov <denisc@overta.ru>
743 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
744 cases of optimizing "add sp,w" to "inc sp".
746 2002-09-24 Adam Nemet <anemet@lnxw.com>
748 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
749 epilogue for naked functions.
751 2002-09-24 Adam Nemet <anemet@lnxw.com>
752 Nick Clifton <nickc@redhat.com>
754 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
755 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
758 2002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
760 * config/s390/s390.c (preferred_la_operand_p): New function.
761 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
762 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
763 ("*la_64_cc", "*la_31_cc", splitters): ... these.
764 ("*la_31"): Deactivate for TARGET_64BIT.
765 ("*la_31_and", "*la_31_and_cc"): New.
767 2002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
769 * real.h (real_value): Make `exp' explicitly signed.
771 2002-09-24 Kazu Hirata <kazu@cs.umass.edu>
773 * config/elfos.h: Follow spelling conventions.
774 * config/alpha/alpha.h: Likewise.
775 * config/arc/arc.h: Likewise.
776 * config/arm/arm.md: Likewise.
777 * config/avr/avr.h: Likewise.
778 * config/cris/cris.md: Likewise.
779 * config/d30v/d30v.h: Likewise.
780 * config/frv/frv.c: Likewise.
781 * config/frv/frv.h: Likewise.
782 * config/h8300/h8300.c: Likewise.
783 * config/h8300/h8300.h: Likewise.
784 * config/h8300/h8300.md: Likewise.
785 * config/i386/cygwin.h: Likewise.
786 * config/i386/i386.h: Likewise.
787 * config/i386/sysv3.h: Likewise.
788 * config/i960/i960.h: Likewise.
789 * config/ia64/ia64.h: Likewise.
790 * config/ia64/ia64.md: Likewise.
791 * config/ip2k/ip2k.h: Likewise.
792 * config/m32r/m32r.h: Likewise.
793 * config/m68k/m68k.h: Likewise.
794 * config/m88k/m88k.h: Likewise.
795 * config/mcore/mcore.c: Likewise.
796 * config/mcore/mcore.h: Likewise.
797 * config/mcore/mcore.md: Likewise.
798 * config/mips/mips.h: Likewise.
799 * config/mmix/mmix.h: Likewise.
800 * config/mmix/mmix.md: Likewise.
801 * config/ns32k/netbsd.h: Likewise.
802 * config/ns32k/ns32k.h: Likewise.
803 * config/ns32k/ns32k.md: Likewise.
804 * config/pa/pa.h: Likewise.
805 * config/romp/romp.h: Likewise.
806 * config/rs6000/rs6000.h: Likewise.
807 * config/rs6000/rs6000.md: Likewise.
808 * config/sparc/sparc.h: Likewise.
809 * config/stormy16/stormy-abi: Likewise.
810 * config/stormy16/stormy16.h: Likewise.
811 * config/vax/vax.h: Likewise.
813 2002-09-23 Zack Weinberg <zack@codesourcery.com>
815 * version.c (version_string): Now const char[].
816 * version.h: Update to match.
818 2002-09-23 Richard Henderson <rth@redhat.com>
820 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
821 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
822 (TARGET_SWITCHES): Don't reference them.
823 * config/i386/i386.c (override_options): Use target_flags_explicit
824 to examine bits set by the user.
826 2002-09-23 Dale Johannesen <dalej@apple.com>
828 * dbxout.c (dbxout_parms): Set current_sym_code for params
829 passed on stack by invisible reference.
831 2002-09-23 Richard Earnshaw <rearnsha@arm.com>
833 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
834 at least one byte of space.
836 2002-09-23 Mark Mitchell <mark@codesourcery.com>
838 * c-common.h (flag_abi_version): Fix typo in comment.
839 * doc/invoke.texi (flag_abi_version): Document default value.
841 2002-09-23 Hans-Peter Nilsson <hp@axis.com>
843 * doc/extend.texi (Extended Asm): Clarify that overlap between
844 asm-declared register variables used in an asm and the asm clobber
846 * stmt.c (decl_conflicts_with_clobbers_p): New function.
847 (expand_asm_operands): Keep track of clobbered registers. Call
848 decl_conflicts_with_clobbers_p for each input and output operand.
849 If no conflicts found before, also do conflict sanity check when
852 2002-09-23 Richard Henderson <rth@redhat.com>
854 * c-common.c (cpp_define_data_format): Remove.
855 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
856 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
857 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
858 * doc/cpp.texi: Don't document them either.
859 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
860 __LONG_LONG_MAX__): Document.
861 (__TARGET_FLOAT_FORMAT__): Remove.
863 2002-09-23 Richard Henderson <rth@redhat.com>
865 * real.c (do_multiply): Normalize U before addition.
867 2002-09-23 Mark Mitchell <mark@codesourcery.com>
869 * c-common.c (flag_abi_version): New variable.
870 * c-common.h (flag_abi_version): Declare it.
871 * c-opts.c (missing_arg): Add -fabi-version.
872 (c_common_decode_option): Process -fabi-version.
873 * doc/invoke.texi (-fabi-version): Document it.
874 (-Wabi): Add information about bit-fields in unions.
876 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
878 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
879 unless -fno-pic or -fno-PIC is specified.
881 2002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
883 * c-common.c (preprocessing_trad_p): Define.
884 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
885 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
886 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
887 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
888 * pa-linux.h (CPP_PREDEFINES): Delete.
889 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
890 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
891 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
892 (TARGET_OS_CPP_BUILTINS): Define.
893 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
894 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
895 (SUBTARGET_SWITCHES): Provide default definition.
896 (TARGET_OPTIONS): Reformat. Use N_() macro.
897 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
898 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
899 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
900 (TARGET_CPU_CPP_BUILTINS): Define.
901 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
902 * doc/invoke.texi (msio, mwsio): Document new hppa options.
903 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
904 preprocessing_trad_p().
906 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
908 * doc/install.texi: Document behavior of --with-headers and
909 --with-libs when arguments are omitted.
911 2002-09-22 Kazu Hirata <kazu@cs.umass.edu>
913 * dbxout.c: Follow spelling conventions.
914 * defaults.h: Likewise.
916 * diagnostic.h: Likewise.
917 * doloop.c: Likewise.
918 * dwarf2out.c: Likewise.
919 * dwarfout.c: Likewise.
920 * emit-rtl.c: Likewise.
921 * except.c: Likewise.
922 * explow.c: Likewise.
923 * expmed.c: Likewise.
928 * fold-const.c: Likewise.
929 * function.c: Likewise.
930 * function.h: Likewise.
932 * gcov-io.h: Likewise.
935 * genattrtab.c: Likewise.
936 * genconfig.c: Likewise.
937 * genrecog.c: Likewise.
938 * ggc-page.c: Likewise.
940 * global.c: Likewise.
941 * gthr-win32.h: Likewise.
942 * integrate.c: Likewise.
944 * langhooks.c: Likewise.
945 * langhooks.h: Likewise.
946 * line-map.h: Likewise.
947 * local-alloc.c: Likewise.
948 * longlong.h: Likewise.
952 Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
954 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
956 Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
958 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
959 for -Os/TARGET_64BIT too.
961 2002-09-21 Kazu Hirata <kazu@cs.umass.edu>
963 * ChangeLog: Follow spelling conventions.
964 * ChangeLog.0: Likewise.
965 * ChangeLog.1: Likewise.
966 * ChangeLog.2: Likewise.
967 * ChangeLog.3: Likewise.
968 * ChangeLog.4: Likewise.
969 * ChangeLog.5: Likewise.
970 * ChangeLog.6: Likewise.
971 * FSFChangeLog.10: Likewise.
972 * FSFChangeLog.11: Likewise.
974 * basic-block.h: Likewise.
975 * c-aux-info.c: Likewise.
976 * c-common.c: Likewise.
977 * c-common.h: Likewise.
978 * c-decl.c: Likewise.
979 * c-format.c: Likewise.
980 * c-semantics.c: Likewise.
981 * c-typeck.c: Likewise.
983 * cfganal.c: Likewise.
984 * cfgloop.c: Likewise.
985 * collect2.c: Likewise.
986 * combine.c: Likewise.
987 * conflict.c: Likewise.
988 * cppexp.c: Likewise.
989 * cppfiles.c: Likewise.
990 * cpphash.h: Likewise.
991 * cppinit.c: Likewise.
992 * cpplex.c: Likewise.
993 * cpplib.c: Likewise.
994 * cpplib.h: Likewise.
995 * cppmacro.c: Likewise.
998 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
1000 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
1002 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
1003 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
1004 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
1006 2002-09-21 Richard Earnshaw <rearnsha@arm.com>
1009 * cse.c (fold_rtx): Calculate old_cost before we fold each
1012 2002-09-21 Richard Henderson <rth@redhat.com>
1014 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
1015 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
1016 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
1017 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
1018 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
1019 * doc/cpp.texi: Don't document them.
1021 2002-09-21 Richard Henderson <rth@redhat.com>
1023 * c-common.c (builtin_define_float_constants): Use real_format
1024 to get the floating-point parameters.
1026 2002-09-21 Richard Henderson <rth@redhat.com>
1028 * real.c (struct real_format): Move to real.h.
1029 (real_format_for_mode): Rename from fmt_for_mode; update all users;
1030 initialize with ieee defaults.
1031 (real_to_target_fmt, real_from_target_fmt): New.
1032 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
1033 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1034 ieee_quad_format, i370_single_format, i370_double_format,
1035 c4x_single_format, c4x_extended_format): Rename from s/_format//.
1036 (ieee_quad_format): Fix emin.
1037 (format_for_size, init_real_once): Remove.
1038 * real.h (struct real_format): Move from real.c.
1039 (real_format_for_mode): Declare.
1040 (real_to_target_fmt, real_from_target_fmt): Declare.
1041 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
1042 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
1043 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
1044 i370_single_format, i370_double_format, c4x_single_format,
1045 c4x_extended_format): Declare.
1046 * toplev.c (do_compile): Don't call init_real_once.
1048 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1049 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1051 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
1052 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
1053 * config/alpha/alpha.c (override_options): Set real_format_for_mode
1054 for VAX, if enabled.
1056 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
1059 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
1060 * config/i370/i370.c (override_options): New.
1061 * config/i370/i370-protos.h: Update.
1063 * config/i386/i386.c (override_options): Set real_format_for_mode
1064 for Intel 80-bit extended.
1065 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
1067 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
1068 (OVERRIDE_OPTIONS): Move code...
1069 * config/i960/i960.c (i960_initialize): ... here. Set
1070 real_format_for_mode for Intel 80-bit extended.
1072 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
1073 for Intel 80-bit extended, if enabled.
1075 * config/m68k/m68k.c (override_options): Set real_format_for_mode
1076 for Motorola 96-bit extended.
1078 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
1079 * config/vax/vax.c (override_options): New.
1080 * config/vax/vax-protos.h: Update.
1082 2002-09-21 Alan Modra <amodra@bigpond.net.au>
1084 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
1087 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
1088 insns. Supply missing clobber of scratch reg.
1090 2002-09-20 Kazu Hirata <kazu@cs.umass.edu>
1092 * config/m32r/m32r.c: Follow spelling conventions.
1093 * config/m32r/m32r.h: Likewise.
1094 * config/m32r/m32r.md: Likewise.
1095 * config/m68k/m68k.c: Likewise.
1096 * config/m88k/m88k.c: Likewise.
1097 * config/mcore/mcore.c: Likewise.
1098 * config/mips/mips.c: Likewise.
1099 * config/mips/mips.h: Likewise.
1100 * config/mmix/mmix.c: Likewise.
1101 * config/mn10200/mn10200.c: Likewise.
1102 * config/ns32k/ns32k.h: Likewise.
1103 * config/pa/pa.c: Likewise.
1104 * config/pa/pa64-linux.h: Likewise.
1105 * config/pdp11/pdp11.h: Likewise.
1106 * config/romp/romp.c: Likewise.
1107 * config/romp/romp.h: Likewise.
1108 * config/rs6000/eabi.asm: Likewise.
1109 * config/rs6000/linux64.h: Likewise.
1110 * config/rs6000/rs6000.c: Likewise.
1111 * config/rs6000/rs6000.h: Likewise.
1112 * config/rs6000/rs6000.md: Likewise.
1113 * config/rs6000/sysv4.h: Likewise.
1114 * config/rs6000/xcoff.h: Likewise.
1116 2002-09-20 Jim Wilson <wilson@redhat.com>
1118 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
1120 2002-09-20 Jakub Jelinek <jakub@redhat.com>
1122 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
1123 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
1124 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
1125 (legitimate_address_p): Likewise.
1126 (legitimize_address): Use @gotntpoff and @indntpoff.
1127 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
1128 (output_addr_const_extra): Likewise.
1130 2002-09-20 Jim Wilson <wilson@redhat.com>
1132 * combine.c (try_combine): When split an instruction pair, where the
1133 first has a sign_extend src, verify that the src and dest modes match.
1135 2002-09-20 Richard Henderson <rth@redhat.com>
1137 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
1138 (override_options): Do not initialize them.
1139 (mips_const_double_ok): Allow no fp constants except zero,
1140 and not even that for mips16.
1141 (const_float_1_operand): Use dconst1.
1142 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
1143 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
1144 Don't allow arbitrary constants; fix predicates and C constraint.
1146 2002-09-20 Neil Booth <neil@daikokuya.co.uk>
1148 * cppmacro.c: Don't warn about function-like macros without
1149 '(' during pre-expansion.
1151 2002-09-20 Jim Wilson <wilson@redhat.com>
1153 * config/v850/v850.c (current_function_anonymous_args): Delete.
1154 (expand_prologue): Use current_function_args_info.anonymous_args.
1155 (expand_epilogue): Delete use of current_function_anonymous_args.
1156 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
1157 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
1158 (current_function_anonymous_args): Delete extern declaration.
1159 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
1161 2002-09-20 Geoffrey Keating <geoffk@apple.com>
1163 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
1164 to load_macho_picbase.
1165 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
1166 (load_macho_picbase): Take the symbol to use as a parameter.
1167 (macho_correct_pic): New insn.
1168 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
1170 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
1171 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
1172 (CAN_ELIMINATE): Likewise.
1173 (INITIAL_ELIMINATION_OFFSET): Likewise.
1174 (TOC_REGISTER): Likewise.
1176 2002-09-20 Richard Henderson <rth@redhat.com>
1178 * real.c (real_hash): New.
1179 * real.h: Declare it.
1180 * cse.c (canon_hash): Use it.
1181 * cselib.c (hash_rtx): Likewise.
1182 * emit-rtl.c (const_double_htab_hash): Likewise.
1183 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
1184 * varasm.c (struct rtx_const): Reduce vector size; separate
1185 integer and fp vectors.
1187 (const_hash_1): Rename from const_hash. Use real_hash. Do not
1188 take modulus MAX_HASH_TABLE.
1189 (const_hash): New. Do take modulus MAX_HASH_TABLE.
1190 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
1191 (SYMHASH): Don't use HASHBITS.
1192 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
1193 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
1194 (simplify_subtraction): Fix kind comparison.
1195 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
1196 Use a union to pun integer array.
1197 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
1198 only hash two words of integral CONST_DOUBLE.
1200 2002-09-20 Steve Ellcey <sje@cup.hp.com>
1202 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
1203 (STARTFILE_PREFIX_SPEC): New.
1204 (LINK_SPEC): Modify.
1208 2002-09-20 Jakub Jelinek <jakub@redhat.com>
1210 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
1211 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
1213 2002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1215 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
1216 Add clobber of the condition code register.
1218 2002-09-20 Richard Henderson <rth@redhat.com>
1220 * real.c (do_fix_trunc): Static.
1221 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
1222 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
1223 encode_i370_single, encode_i370_double, encode_c4x_single,
1224 encode_c4x_extended): Add default abort case.
1226 2002-09-20 Richard Henderson <rth@redhat.com>
1228 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
1229 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
1230 (struct realvaluetype): Remove.
1231 (REAL_VALUE_TYPE): Use struct real_value.
1232 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
1233 (test_real_width): New.
1234 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
1235 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
1236 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
1237 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
1238 real_to_integer, real_to_integer2, real_to_decimal,
1239 real_to_hexadecimal, real_from_string, real_from_integer,
1240 real_inf, real_nan, real_2expN, real_convert, real_to_target,
1241 real_from_target): Likewise.
1242 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
1243 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
1245 2002-09-20 Richard Henderson <rth@redhat.com>
1247 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
1248 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
1249 * defaults.h: ... here.
1250 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
1251 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
1252 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
1253 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
1255 2002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
1257 * config/mmix/mmix.md ("negdf2"): Rewrite.
1258 ("*expanded_negdf2"): New.
1260 2002-09-19 Jim Wilson <wilson@redhat.com>
1262 * combine.c (simplify_set): When optimizing a subreg src with a
1263 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
1265 2002-09-19 Dale Johannesen <dalej@apple.com>
1266 * combine.c (make_extraction): Don't create
1269 2002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
1271 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
1272 and STRICT_LOW_PART within SET_DEST.
1273 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
1274 splitters, replacing pre-reload splitters.
1275 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
1276 "*zero_extendqihi2_31"): New insns.
1277 ("*zero_extendqihi2_64"): Do not clobber CC.
1279 2002-09-19 Steve Ellcey <sje@cup.hp.com>
1281 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
1282 (DTORS_SECTION_ASM_OP): Ditto.
1283 (READONLY_DATA_SECTION_ASM_OP): Moved.
1284 (DATA_SECTION_ASM_OP): New.
1285 (SDATA_SECTION_ASM_OP): New.
1286 (BSS_SECTION_ASM_OP): New.
1287 (SBSS_SECTION_ASM_OP): New.
1288 (TEXT_SECTION_ASM_OP): New.
1290 2002-09-19 Kazu Hirata <kazu@cs.umass.edu>
1292 * config/fp-bit.c: Follow spelling conventions.
1293 * config/d30v/d30v.c: Likewise.
1294 * config/d30v/d30v.h: Likewise.
1295 * config/fr30/fr30.c: Likewise.
1296 * config/fr30/fr30.h: Likewise.
1297 * config/fr30/fr30.md: Likewise.
1298 * config/frv/frv.c: Likewise.
1299 * config/frv/frv.h: Likewise.
1300 * config/h8300/h8300.c: Likewise.
1301 * config/h8300/lib1funcs.asm: Likewise.
1302 * config/i370/i370.c: Likewise.
1303 * config/i386/i386.h: Likewise.
1304 * config/i386/i386.md: Likewise.
1305 * config/i386/pentium.md: Likewise.
1306 * config/i386/winnt.c: Likewise.
1307 * config/i960/i960.c: Likewise.
1308 * config/ia64/ia64.h: Likewise.
1309 * config/ip2k/ip2k.c: Likewise.
1310 * config/ip2k/ip2k.h: Likewise.
1311 * config/ip2k/ip2k.md: Likewise.
1312 * config/ip2k/libgcc.S: Likewise.
1314 2002-09-19 Stephen Clarke <stephen.clarke@superh.com>
1316 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
1317 (GOTOFF_P): Extend to allow gotoff plus constant.
1319 2002-09-18 Richard Henderson <rth@redhat.com>
1321 * ifcvt.c (noce_process_if_block): Correctly detect X modified
1322 with INSN_B before COND_EARLIEST. Don't check A and B for
1323 modification in condition range. Reorder INSN_B for A==B properly.
1324 (if_convert): Iterate until no matches for a block.
1326 2002-09-18 Richard Henderson <rth@redhat.com>
1328 * calls.c (store_one_arg): Rename default_align to parm_align;
1329 always adjust parm_align for downward padding.
1331 2002-09-18 Richard Henderson <rth@redhat.com>
1333 * toplev.c (backend_init): Move init_real_once invocation ...
1334 (do_compile): ... here.
1336 2002-09-18 Richard Henderson <rth@redhat.com>
1338 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
1339 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
1341 2002-09-18 Richard Henderson <rth@redhat.com>
1343 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
1345 2002-09-19 Alan Modra <amodra@bigpond.net.au>
1347 * config/rs6000/rs6000.md: (floatdisf2): Rename to
1348 floatdisf2_internal1.
1349 (floatdisf2): New define_expand.
1350 (floatdisf2_internal2): Likewise.
1352 2002-09-18 Richard Henderson <rth@redhat.com>
1354 * real.c (sticky_rshift_significand): Collect sticky as
1355 unsigned long, not bool.
1357 2002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
1359 * config/s390/s390.c (s390_address_cost): New function.
1360 config/s390/s390-protos.h (s390_address_cost): Add prototype.
1361 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
1362 (RTX_COST): Use COSTS_N_INSNS.
1364 2002-09-18 Douglas Rupp <rupp@gnat.com>
1365 Donn Terry <donnte@microsoft.com>
1367 * stor-layout.c (place_field): Handle alignment of whole
1368 structures when MSVC compatible bitfields are involved.
1369 Change method of computing location of MS bitfields to
1370 be compatible with #pragma pack(n).
1372 * tree.h (record_layout_info): Add new field
1373 remaining_in_alignment.
1375 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
1376 (pragma pack): Add paragraph on MSVC bit-field packing.
1378 2002-09-18 Richard Earnshaw (reanrsha@arm.com)
1380 PR optimization/7967
1381 * arm.md (ne_zeroextractsi): Add clobber of the condition code
1384 2002-09-18 Kazu Hirata <kazu@cs.umass.edu>
1386 * config/s390/s390.c: Follow spelling conventions.
1387 * config/sh/lib1funcs.asm: Likewise.
1388 * config/sh/sh.c: Likewise.
1389 * config/sh/sh.h: Likewise.
1390 * config/sparc/sparc.c: Likewise.
1391 * config/sparc/sparc.h: Likewise.
1392 * config/sparc/sparc.md: Likewise.
1393 * config/stormy16/stormy16.c: Likewise.
1394 * config/stormy16/stormy16.h: Likewise.
1395 * config/v850/v850.c: Likewise.
1396 * config/v850/v850.h: Likewise.
1397 * config/vax/vax.c: Likewise.
1398 * config/vax/vax.h: Likewise.
1400 2002-09-18 Nick Clifton <nickc@redhat.com>
1402 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
1403 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
1404 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
1406 2002-09-17 Zack Weinberg <zack@codesourcery.com>
1408 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
1409 statement that the only translation is to en_UK.
1411 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
1413 * config/alpha/alpha.c: Follow spelling conventions.
1414 * config/alpha/alpha.h: Likewise.
1415 * config/alpha/alpha.md: Likewise.
1416 * config/arc/arc.h: Likewise.
1417 * config/arm/arm.c: Likewise.
1418 * config/arm/arm.h: Likewise.
1419 * config/arm/arm.md: Likewise.
1420 * config/arm/pe.c: Likewise.
1421 * config/arm/unknown-elf.h: Likewise.
1422 * config/avr/avr.c: Likewise.
1423 * config/avr/avr.h: Likewise.
1424 * config/c4x/c4x.c: Likewise.
1425 * config/cris/cris.c: Likewise.
1426 * config/cris/cris.h: Likewise.
1428 2002-09-17 Samuel Figueroa <figueroa@apple.com>
1430 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
1431 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
1432 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
1434 2002-09-17 Dale Johannesen <dalej@apple.com>
1436 * cfgcleanup.c (try_forward_edges): Do not forward a
1437 branch to just after a loop exit before loop optimization;
1438 this interfered with doloop detection.
1440 2002-09-17 Nick Clifton <nickc@redhat.com>
1442 * config/arm/arm.c (output_return_instruction): Do not
1443 writeback the stack pointer when it is being loaded.
1444 (arm_output_epilogue): Likewise.
1446 2002-09-17 Kazu Hirata <kazu@cs.umass.edu>
1448 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
1449 generate a pseudo reg that receives the result of a libcall.
1450 (prepare_float_lib_cmp): Likewise.
1452 2002-09-17 Steve Ellcey <sje@cup.hp.com>
1454 * config/ia64/elf.h: Remove CPP_PREDEFINES.
1456 Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
1458 Fix PR/7014 and related objc bugs:
1459 * c-typeck.c (comp_target_types): Added a reflexive argument.
1460 Pass it to ObjC when/if calling objc_comptypes(). Updated all
1461 callers to provide the appropriate reflexive argument.
1462 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
1463 typechecking for all cases of comparisons and assignments,
1464 particularly the obscure and less common ones involving protocols.
1466 2002-09-17 Nick Clifton <nickc@redhat.com>
1468 * machmode.def (V1DImode): New mode. A single element vector.
1469 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
1470 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
1471 * tree.c (build_common_tree_nodes_2): Build
1472 unsigned_V1DI_type_node and V1D1_type_node.
1473 * c-common.c (c_common_type_for_mode): Return
1474 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
1475 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
1477 Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
1479 * doc/objc.texi (Constant string objects): Extended documentation
1480 to make clear that the constant string class ivar layout is
1483 2002-09-17 Roger Sayle <roger@eyesopen.com>
1485 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
1486 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
1488 2002-09-16 Richard Henderson <rth@redhat.com>
1490 * expr.c (emit_block_move): Set memory block size as appropriate
1493 2002-09-16 Richard Henderson <rth@redhat.com>
1496 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
1498 2002-09-16 Richard Henderson <rth@redhat.com>
1500 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
1501 as well as OFFSET for BITPOS.
1503 2002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
1505 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
1506 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
1508 * doc/invoke.texi: Mention new aliases.
1510 2002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
1512 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
1513 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
1515 * function.c (pad_below): Always compile.
1516 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
1517 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
1518 Pad below when the argument is not in a register and the padding
1519 direction is downward.
1521 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
1522 (PAD_VARARGS_DOWN): Define.
1523 * pa.c (function_arg_padding): Revise padding directions to make them
1524 compatible with the 32 and 64-bit runtime architecture documentation.
1525 (hppa_va_arg): Add code to handle variable and size zero arguments
1526 passed by reference on TARGET_64BIT. Reformat.
1527 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
1528 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
1529 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
1531 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
1532 (RETURN_IN_MEMORY): Return size zero types in memory.
1533 (FUNCTION_VALUE): Return TFmode in general registers.
1534 (MUST_PASS_IN_STACK): Define.
1535 (FUNCTION_ARG_BOUNDARY): Simplify.
1536 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
1538 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
1540 2002-09-16 Richard Henderson <rth@redhat.com>
1542 * real.c (do_fix_trunc): New.
1543 (real_arithmetic): Call it.
1544 * simplify-rtx.c (simplify_unary_operation): Handle FIX
1545 with a floating-point result mode.
1547 2002-09-16 Richard Henderson <rth@redhat.com>
1549 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
1550 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
1551 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
1552 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
1553 * builtins.c (fold_builtin_nan): New.
1554 (fold_builtin): Call it.
1555 * real.c (real_nan): Parse a non-empty string.
1556 (round_for_format): Fix NaN significand truncation.
1557 * real.h (real_nan): Return bool.
1558 * doc/extend.texi: Document new builtins.
1560 2002-09-16 Jason Merrill <jason@redhat.com>
1561 Danny Smith <dannysmith@users.sourceforge.net>
1563 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
1564 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
1565 (i386_pe_mark_dllimport): Not here.
1567 2002-09-16 Nathan Sidwell <nathan@codesourcery.com>
1569 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
1571 2002-09-16 Geoffrey Keating <geoffk@redhat.com>
1573 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
1574 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
1576 (rs6000_emit_cmove): Use real_isinf not target_isinf.
1578 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
1580 * calls.c (emit_library_call_value_1): Don't refer to
1582 * optabs.c (prepare_float_lib_cmp): Likewise.
1584 2002-09-16 Geoffrey Keating <geoffk@apple.com>
1586 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
1589 The following changes are merged from pch-branch:
1591 * doc/gty.texi (GTY Options): Document %a.
1592 * gengtype.c (do_scalar_typedef): New function.
1593 (process_gc_options): Handle `length' option.
1594 (set_gc_used_type): A pointer to an array of structures doesn't
1595 qualify as a pointer to a structure.
1596 (output_escaped_param): Add `%a' escape.
1597 (write_gc_structure_fields): Allow 'desc' on array of unions.
1598 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
1601 * gengtype.c (enum rtx_code): Make global.
1602 (rtx_format): Make global.
1604 (gen_rtx_next): New.
1605 (write_rtx_next): New.
1606 (adjust_field_rtx_def): Skip fields marked by chain_next.
1607 (open_base_files): Delete redundant prototype.
1608 (write_enum_defn): New.
1609 (output_mangled_typename): Correct abort call.
1610 (write_gc_marker_routine_for_structure): Handle chain_next and
1612 (finish_root_table): Don't output redundant \n.
1613 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
1614 * c-tree.h (union lang_tree_node): Add chain_next option.
1616 * gengtype.h (NUM_PARAM): New definition.
1617 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
1618 * gengtype.c (find_param_structure): New.
1619 (adjust_field_type): Handle param<n>_is option.
1620 (process_gc_options): Detect use_params option. Update callers.
1621 (set_gc_used_type): Add 'param' parameter, update callers. Handle
1622 'use_params' option.
1623 (open_base_files): Add splay-tree.h to list of files included.
1624 (output_mangled_typename): New.
1625 (write_gc_structure_fields): Update 'param' parameter to support
1626 multiple parameters. Change name mangling. Allow parameterized
1627 fields to have an apparent scalar type. Handle param<n>_is options,
1629 (write_gc_marker_routine_for_structure): Update for change to name
1630 mangling. Better guess the output file for parameterized types.
1631 (write_gc_types): Update for change to name mangling.
1632 (write_gc_root): Update for change to name mangling. Handle (ignore)
1633 param<n>_is options.
1634 * doc/gty.texi (GTY Options): Add description of param<n>_is
1635 options, use_params option.
1636 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1637 * gengtype-lex.l: Produce token for param<n>_is.
1638 * gengtype-yacc.y: Parse param<n>_is.
1640 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
1642 * rtl.c: Update comment describing rtx_format.
1643 * rtl.h (union rtunion): Separate definition and typedef.
1644 (struct rtx_def): Use gengtype to mark.
1645 * Makefile.in (gengtype.o): Also depend on rtl.def.
1646 * ggc.h (ggc_mark_rtx_children): Delete prototype.
1647 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
1648 * ggc-common.c (ggc_mark_rtx_children): Delete.
1649 (ggc_mark_rtx_children_1): Delete.
1650 (gt_ggc_m_rtx_def): Delete.
1651 * gengtype.c (adjust_field_rtx_def): New.
1652 (adjust_field_type): Call adjust_field_rtx_def.
1653 (write_gc_structure_fields): Add 'default' case to switch if none
1654 is specified; remove unused code.
1656 * tree.h (struct tree_exp): Update for change to meaning
1658 * gengtype.c (adjust_field_tree_exp): New function.
1659 (adjust_field_type): Handle `tree_exp' special here.
1660 (write_gc_structure_fields): Don't handle `tree_exp' special here.
1661 Handle new `dot' option.
1663 * gengtype.h: Make `info' a pointer-to-const.
1664 * gengtype-yacc.y (yacc_ids): Use xasprintf.
1666 * gengtype.c (write_gc_structure_fields): Remove implementation
1667 of `always' option, add `default' option.
1668 * doc/gty.texi (GTY Options): Remove documentation of `always',
1671 2002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
1673 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
1675 2002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1677 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
1679 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
1680 instead of the *-protos.h file directly.
1681 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
1682 * darwin.c (machopic_output_stub): Move prototype ...
1683 * darwin-protos.h (machopic_output_stub): ... here.
1684 * rs6000-protos.h (machopic_output_stub): Don't declare.
1686 2002-09-16 Richard Henderson <rth@redhat.com>
1688 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
1690 2002-09-16 Richard Henderson <rth@redhat.com>
1692 * real.c, real.h: Rewrite from scratch.
1694 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
1695 (paranoia): New target.
1696 * builtins.c (fold_builtin_inf): Use new real.h interface.
1697 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
1698 * c-lex.c (interpret_float): Likewise.
1699 * emit-rtl.c (gen_lowpart_common): Likewise.
1700 * optabs.c (expand_float): Use real_2expN.
1701 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
1702 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
1703 (FLOAT_WORDS_BIG_ENDIAN): New.
1704 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
1705 directly to REAL_VALUE_NEGATIVE.
1706 * loop.c (canonicalize_condition): Likewise.
1707 * simplify-rtx.c: Include tree.h.
1708 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
1709 with floating-point result modes.
1710 * toplev.c (backend_init): Call init_real_once.
1712 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
1713 * tree.c (build_real): Likewise.
1714 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
1715 float_values, inited_float_values, check_float_value): Remove.
1716 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
1717 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
1718 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
1719 (VAX_HALFWORD_ORDER): Remove.
1721 2002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
1723 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
1724 (s390_load_address): ... this new function.
1725 (s390_decompose_address): Allow the argument pointer and all
1726 virtual registers as 'pointer' registers.
1727 (s390_expand_plus_operand): Use s390_load_address.
1728 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
1729 ("force_la_31"): New insn pattern.
1730 config/s390/s390-protos.h (legitimize_la_operand): Remove.
1731 (s390_load_address): Add prototype.
1733 * config/s390/s390.c: Include "optabs.h".
1734 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
1735 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
1736 s390_expand_cmpstr): Add prototypes.
1737 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
1738 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
1739 for operands 0 and 1 to "memory_operand". Add type attribute.
1740 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
1741 for operands 0 and 1 to "memory_operand". Add type attribute.
1742 ("movstrdi_long", "movstrsi_long"): Remove.
1743 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
1744 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
1745 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
1746 ("clrstrsico"): Remove, replace by ...
1747 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
1748 ("clrstrsi_64"): Rename to "clrstr_long_64".
1749 ("clrstrsi_31"): Rename to "clrstr_long_31".
1750 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
1751 ("cmpstr_const"): Remove, replace by ...
1752 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
1753 ("cmpstr_64"): Rename to "cmpstr_long_64".
1754 ("cmpstr_31"): Rename to "cmpstr_long_31".
1756 2002-09-16 Kazu Hirata <kazu@cs.umass.edu>
1758 * ABOUT-NLS: Follow spelling conventions.
1759 * ChangeLog: Likewise.
1760 * ChangeLog.1: Likewise.
1761 * ChangeLog.2: Likewise.
1762 * ChangeLog.3: Likewise.
1763 * ChangeLog.4: Likewise.
1764 * ChangeLog.5: Likewise.
1765 * ChangeLog.6: Likewise.
1766 * FSFChangeLog.10: Likewise.
1767 * FSFChangeLog.11: Likewise.
1768 * c-common.c: Likewise.
1769 * c-lex.c: Likewise.
1770 * c-objc-common.c: Likewise.
1771 * cppexp.c: Likewise.
1772 * cppinit.c: Likewise.
1773 * cpplex.c: Likewise.
1774 * doloop.c: Likewise.
1776 * function.c: Likewise.
1777 * integrate.c: Likewise.
1779 * reg-stack.c: Likewise.
1780 * reload.h: Likewise.
1783 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
1785 * ChangeLog: Follow spelling conventions.
1786 * ChangeLog.0: Likewise.
1787 * ChangeLog.1: Likewise.
1788 * ChangeLog.2: Likewise.
1789 * ChangeLog.4: Likewise.
1790 * ChangeLog.6: Likewise.
1791 * config.gcc: Likewise.
1792 * dwarfout.c: Likewise.
1793 * reload1.c: Likewise.
1794 * simplify-rtx.c: Likewise.
1795 * unwind-sjlj.c: Likewise.
1796 * config/avr/avr.h: Likewise.
1797 * config/d30v/d30v.h: Likewise.
1798 * config/frv/frv.c: Likewise.
1799 * config/frv/frv.h: Likewise.
1800 * config/ip2k/ip2k.h: Likewise.
1801 * config/m88k/m88k-move.sh: Likewise.
1802 * config/stormy16/stormy16.c: Likewise.
1803 * config/stormy16/stormy16.h: Likewise.
1804 * doc/extend.texi: Likewise.
1805 * doc/interface.texi: Likewise.
1806 * doc/invoke.texi: Likewise.
1807 * doc/md.texi: Likewise.
1808 * doc/rtl.texi: Likewise.
1809 * doc/tm.texi: Likewise.
1810 * doc/trouble.texi: Likewise.
1811 * ginclude/float.h: Likewise.
1812 * treelang/treelang.texi: Likewise.
1814 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1816 * i386-protos.h (i386_pe_dllexport_name_p,
1817 i386_pe_dllimport_name_p, i386_pe_unique_section,
1818 i386_pe_declare_function_type, i386_pe_record_external_function,
1819 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
1821 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
1822 * i386/t-interix (winnt.o): Likewise.
1824 * v850-protos.h (v850_output_addr_const_extra): Prototype.
1826 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
1828 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
1829 MIPS ABI CPP macros.
1830 (TARGET_CPU_CPP_BUILTINS): Redefine.
1831 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
1832 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
1834 2002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1836 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
1838 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
1840 * ChangeLog: Follow spelling conventions.
1841 * ChangeLog.0: Likewise.
1842 * ChangeLog.1: Likewise.
1843 * ChangeLog.2: Likewise.
1844 * ChangeLog.3: Likewise.
1845 * ChangeLog.4: Likewise.
1846 * ChangeLog.5: Likewise.
1847 * ChangeLog.6: Likewise.
1848 * FSFChangeLog.10: Likewise.
1849 * FSFChangeLog.11: Likewise.
1850 * c-common.c: Likewise.
1851 * c-common.h: Likewise.
1852 * c-format.c: Likewise.
1853 * c-opts.c: Likewise.
1854 * cpplib.c: Likewise.
1855 * langhooks.h: Likewise.
1857 * reg-stack.c: Likewise.
1858 * toplev.c: Likewise.
1859 * config/arm/arm.c: Likewise.
1860 * config/arm/arm.md: Likewise.
1861 * config/arm/linux-gas.h: Likewise.
1862 * config/arm/netbsd.h: Likewise.
1863 * config/c4x/c4x.c: Likewise.
1864 * config/c4x/c4x.h: Likewise.
1865 * config/c4x/c4x.md: Likewise.
1866 * config/c4x/libgcc.S: Likewise.
1867 * config/fr30/fr30.md: Likewise.
1868 * config/frv/frv.md: Likewise.
1869 * config/ia64/ia64.md: Likewise.
1870 * config/mips/mips.h: Likewise.
1871 * config/mn10300/mn10300.c: Likewise.
1872 * config/stormy16/stormy16.c: Likewise.
1873 * config/v850/v850.md: Likewise.
1874 * doc/extend.texi: Likewise.
1875 * doc/invoke.texi: Likewise.
1876 * doc/md.texi: Likewise.
1878 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
1880 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
1881 library if -pthread is specified.
1883 2002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
1885 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
1886 for --enable-threads=yes and --enable-threads=posix.
1888 2002-09-15 Kazu Hirata <kazu@cs.umass.edu>
1890 * config/sparc/cypress.md: Replace Sparc with SPARC.
1891 * config/sparc/freebsd.h: Likewise.
1892 * config/sparc/gmon-sol2.c: Likewise.
1893 * config/sparc/hypersparc.md: Likewise.
1894 * config/sparc/lb1spc.asm: Likewise.
1895 * config/sparc/lb1spl.asm: Likewise.
1896 * config/sparc/linux.h: Likewise.
1897 * config/sparc/linux64.h: Likewise.
1898 * config/sparc/lynx.h: Likewise.
1899 * config/sparc/sol2.h: Likewise.
1900 * config/sparc/sparc-modes.def: Likewise.
1901 * config/sparc/sparc.c: Likewise.
1902 * config/sparc/sparc.h: Likewise.
1903 * config/sparc/sparc.md: Likewise.
1904 * config/sparc/sparclet.md: Likewise.
1905 * config/sparc/supersparc.md: Likewise.
1906 * config/sparc/sysv4.h: Likewise.
1907 * config/sparc/vxsim.h: Likewise.
1908 * config/sparc/vxsparc64.h: Likewise.
1910 2002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
1912 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
1914 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
1916 * ChangeLog: Follow spelling conventions.
1917 * ChangeLog.0: Likewise.
1918 * ChangeLog.2: Likewise.
1919 * ChangeLog.3: Likewise.
1920 * ChangeLog.4: Likewise.
1921 * ChangeLog.5: Likewise.
1922 * ChangeLog.6: Likewise.
1923 * cppfiles.c: Likewise.
1924 * cppinit.c: Likewise.
1925 * cpplib.h: Likewise.
1927 * debug.h: Likewise.
1929 * dominance.c: Likewise.
1930 * hashtable.c: Likewise.
1931 * hashtable.h: Likewise.
1933 * config/arm/README-interworking: Likewise.
1934 * config/arm/arm.c: Likewise.
1935 * config/arm/arm.h: Likewise.
1936 * config/arm/arm.md: Likewise.
1937 * config/dsp16xx/dsp16xx.h: Likewise.
1938 * config/frv/frv.c: Likewise.
1939 * config/frv/frv.h: Likewise.
1940 * config/ip2k/ip2k.h: Likewise.
1941 * config/rs6000/rs6000.c: Likewise.
1942 * config/stormy16/stormy-abi: Likewise.
1943 * config/stormy16/stormy16.h: Likewise.
1944 * config/v850/v850.c: Likewise.
1946 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
1948 * loop.c: Fix a comment typo.
1950 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
1952 * config/fr30/fr30.h: Fix comment typos.
1953 * config/frv/frv.c: Likewise.
1954 * config/i386/xmmintrin.h: Likewise.
1955 * config/mips/mips.c: Likewise.
1956 * config/sh/sh.c: Likewise.
1958 2002-09-14 Kazu Hirata <kazu@cs.umass.edu>
1960 * haifa-sched.c: Follow spelling conventions.
1961 * regclass.c: Likewise.
1962 * regrename.c: Likewise.
1963 * config/fp-bit.c: Likewise.
1964 * config/frv/frv.h: Likewise.
1965 * config/m88k/m88k.c: Likewise.
1966 * config/mcore/mcore.c: Likewise.
1967 * config/rs6000/darwin.h: Likewise.
1968 * config/rs6000/gnu.h: Likewise.
1969 * config/rs6000/linux.h: Likewise.
1970 * config/rs6000/linux64.h: Likewise.
1971 * config/rs6000/rs6000.c: Likewise.
1972 * config/rs6000/rs6000.h: Likewise.
1973 * config/sh/sh.c: Likewise.
1974 * config/sparc/sparc.c: Likewise.
1975 * config/sparc/ultra1_2.md: Likewise.
1977 2002-09-14 Stephane Carrez <stcarrez@nerim.fr>
1979 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
1980 memory operand when source is 0 (K constraint).
1981 ("movsi_internal"): Likewise.
1982 ("movdf_internal"): Likewise.
1983 ("movsf_internal"): Likewise.
1985 2002-09-14 Alan Modra <amodra@bigpond.net.au>
1987 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
1988 targetm.binds_local_p to set SYMBOL_REF_FLAG.
1989 (rs6000_xcoff_encode_section_info): Likewise.
1990 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
1992 2002-09-10 Theodore A. Roth <troth@verinet.com>
1994 * gcc/config/avr/avr.h: Set default options for C++ for avr.
1996 2002-09-13 Richard Henderson <rth@redhat.com>
1998 * Makefile.in (toplev.o): Depend on real.h.
1999 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
2001 2002-09-14 Alan Modra <amodra@bigpond.net.au>
2003 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
2004 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
2005 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
2007 2002-09-13 Nathan Sidwell <nathan@codesourcery.com>
2009 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
2011 2002-09-13 Steve Ellcey <sje@cup.hp.com>
2013 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
2014 ia64*-*-linux*): Set extra_parts.
2015 * config/ia64/t-aix (EXTRA_PARTS): Remove.
2016 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
2018 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
2020 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
2021 * config/h8300/h8300.c: Likewise.
2022 * config/h8300/h8300.h: Likewise.
2023 * config/h8300/h8300.md: Likewise.
2024 * doc/invoke.texi: Likewise.
2026 2002-09-13 Kazu Hirata <kazu@cs.umass.edu>
2028 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
2030 2002-09-13 Matt Austern <austern@apple.com>
2032 * cp/cp-tree.h, cp/tree.c: New function non_cast_lvalue_p.
2033 * cp/call.c: Change call-by-const-reference mechanism to use
2034 non_cast_lvalue_p when deciding whether the create a temporary.
2035 We need a temporary when passing, e.g. (long) x by const ref.
2036 * testsuite/g++.dg/other/constref[12].C: New, regression tests for
2037 passing a cast expression to a function by const reference.
2039 2002-09-13 Richard Henderson <rth@redhat.com>
2041 * config/alpha/alpha.md (attr type): Add callpal.
2042 (imb, trap, load_tp, set_tp): Use it.
2043 * config/alpha/ev4.md (ev4_callpal): New.
2044 * config/alpha/ev5.md (ev5_callpal): New.
2045 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
2046 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
2047 (alphaev5_insn_pipe): Likewise.
2049 2002-09-13 Andreas Jaeger <aj@suse.de>
2051 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
2053 2002-09-13 Steve Ellcey <sje@cup.hp.com>
2055 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
2056 LIB2ADDEH): New, set to NULL.
2057 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
2059 2002-09-13 Steve Ellcey <sje@cup.hp.com>
2061 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
2062 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
2063 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
2067 2002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
2069 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
2070 for H8/300, H8S aa:8 mode.
2071 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
2072 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
2073 for H8/300 aa:8 mode.
2075 2002-09-13 Hartmut Penner <hpenner@de.ibm.com>
2077 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
2080 2002-09-12 Richard Henderson <rth@redhat.com>
2082 * Makefile.in (HOST_PRINT): Use print-rtl1.o
2083 (print-rtl.o): Don't define GENERATOR_FILE.
2084 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
2085 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
2086 unless GENERATOR_FILE.
2088 2002-09-12 Stan Shebs <shebs@apple.com>
2090 * config/darwin.h (USER_LABEL_PREFIX): Define here...
2091 * config/i386/darwin.h: ... instead of here.
2093 * target.h (struct gcc_target): New field
2094 terminate_dw2_eh_frame_info.
2095 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
2096 (TARGET_INITIALIZER): Add it.
2097 * dwarf2out.c (output_call_frame_info): Use target hook.
2098 * dwarf2asm.c (dw2_asm_output_delta): Use macro
2099 ASM_OUTPUT_DWARF_DELTA if defined.
2100 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
2101 (ASM_OUTPUT_DWARF_DELTA): Ditto.
2102 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
2103 (ASM_OUTPUT_DWARF_PCREL): Ditto.
2104 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
2105 (powerpc-*-darwin*): Ditto.
2106 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
2107 to work correctly for Darwin.
2108 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
2109 (STARTFILE_SPEC): Add crtbegin.o.
2110 (ENDFILE_SPEC): Define.
2111 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
2112 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
2113 (ASM_OUTPUT_DWARF_DELTA): Define.
2114 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
2115 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
2117 2002-09-13 Alan Modra <amodra@bigpond.net.au>
2119 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
2120 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
2121 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
2123 2002-09-12 Zack Weinberg <zack@codesourcery.com>
2125 * toplev.c: Move default definition of USER_LABEL_PREFIX...
2126 * defaults.h: ... here.
2128 2002-09-12 Richard Henderson <rth@redhat.com>
2130 * vax.c: Include tree.h earlier.
2132 2002-09-12 Stan Shebs <shebs@apple.com>
2134 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
2135 (machopic_operand_p): Ditto.
2137 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
2139 * config/arm/arm.c (arm_compute_initial_elimination_offset):
2142 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
2144 * toplev.c (do_abort): Fix a comment typo.
2146 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
2148 * cselib.c: Fix comment formatting.
2149 * gengtype.c: Likewise.
2151 2002-09-12 Kazu Hirata <kazu@cs.umass.edu>
2153 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
2154 (udivmodhi4): Likewise.
2156 2002-09-12 Graham Stott <graham.stott@btinternet.com>
2157 Roger Sayle <roger@eyesopen.com>
2159 * i386.c (any_fp_register_operand, fp_register_operand,
2160 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
2161 New predicate functions.
2162 * i386-protos.h: Add their prototypes.
2163 * i386.h: Add them to PREDICATE_CODES.
2164 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
2165 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
2166 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
2167 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
2168 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
2169 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
2170 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
2171 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
2172 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
2173 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
2174 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
2175 Use these new predicates to simplify and correct the use of
2176 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
2178 2002-09-12 Jason Merrill <jason@redhat.com>
2180 * diagnostic.c (output_add_identifier): New fn.
2181 * diagnostic.h: Declare it.
2183 * calls.c (store_one_arg): Use size_in_bytes to determine the
2184 amount of space to push.
2186 2002-09-12 Jakub Jelinek <jakub@redhat.com>
2188 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
2190 2002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
2192 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
2193 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
2194 (s390_select_ccmode): Likewise.
2195 (s390_branch_condition_mask): Likewise.
2196 (optimization_options): Do not set flag_branch_on_count.
2197 (s390_split_branches): Handle doloop branches.
2198 (s390_chunkify_pool): Likewise.
2199 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
2200 ("doloop_end"): New expander.
2201 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
2202 associated splitters): New.
2204 2002-09-11 Hartmut Penner <hpenner@de.ibm.com>
2206 * fold-const.c (make_range): Only narrow to signed range if
2207 the signed range is smaller than the unsigned range.
2209 2002-09-12 Alan Modra <amodra@bigpond.net.au>
2211 * emit-rtl.c (set_mem_size): New function.
2212 * expr.h (set_mem_size): Declare.
2213 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
2214 (expand_block_move): Instead, use adjust_address and
2215 replace_equiv_address to generate proper aliasing info.
2216 Move common code out of conditionals. Localize vars.
2218 2002-09-09 Eric Botcazou ebotcazou@libertysurf.fr
2220 * optabs.c (expand_binop): Minor cleanup.
2221 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
2223 2002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
2225 * print-tree.c (print_node): Print the restrict qualifier.
2227 2002-09-11 Janis Johnson <janis187@us.ibm.com>
2229 * doc/install.texi: Fix typos.
2231 2002-09-11 Zack Weinberg <zack@codesourcery.com>
2233 * Makefile.in: Remove all references to s-under and underscore.c.
2234 * collect2.c, tlink.c: Change all uses of prepends_underscore
2235 to look directly at USER_LABEL_PREFIX.
2237 2002-09-11 David Edelsohn <edelsohn@gnu.org>
2239 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
2241 (rs6000_xcoff_unique_section): Only set section name for public
2243 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
2244 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
2245 duplicate definition.
2247 2002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
2249 * pa.md (extzv): Check predicates before emitting extzv_32.
2252 2002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
2254 * config/s390/s390.h (MOVE_MAX): Define to correct value.
2255 (MAX_MOVE_MAX): Define.
2256 (MOVE_BY_PIECES_P): Define.
2257 (CLEAR_BY_PIECES_P): Define.
2259 2002-09-10 Denis Chertykov <denisc@overta.ru>
2261 * config/avr/avr.md (movstrhi): Use right operands for conversion.
2263 2002-09-10 Richard Earnshaw <rearnsha@arm.com>
2266 * arm.md (insv): Use reg_or_int_operand for operand[3].
2268 2002-09-10 David Edelsohn <edelsohn@gnu.org>
2270 * rs6000.c (rs6000_assemble_visibility): Protect declaration
2271 inside macro. Correct function definition typo.
2272 (rs6000_xcoff_section_type_flags): New function.
2273 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
2274 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
2275 with appropriate PIC test.
2276 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
2278 (rs6000_binds_local_p): Combine PIC flags.
2279 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
2280 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
2282 2002-09-09 Per Bothner <per@bothner.com>
2284 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
2285 characters, and only print TREE_STRING_LENGTH chars.
2287 2002-09-09 Steve Ellcey <sje@cup.hp.com>
2289 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
2291 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
2292 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
2293 * config/ia64/ia64.c (ia64_asm_output_external): Create list
2294 of external functions if TARGET_HPUX_LD is true.
2295 (ia64_hpux_add_extern_decl): New, routine to put names on
2296 list of external functions.
2297 (ia64_hpux_asm_file_end): Put out declarations for external
2298 functions if and only if they are used.
2300 2002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
2302 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
2303 on TARGET_64BIT before pic register restore.
2305 2002-09-09 David Edelsohn <edelsohn@gnu.org>
2307 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
2308 (TARGET_HAVE_TLS): New description.
2310 2002-09-09 Janis Johnson <janis187@us.ibm.com>
2312 * doc/extend.texi (Statement Exprs): Fix broken link.
2314 2002-09-09 Denis Chertykov <denisc@overta.ru>
2316 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
2317 right conversion of operands[1].
2319 2002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
2321 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
2322 commutative. Use "nonimmediate_operand" instead of "register_operand"
2323 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
2325 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
2328 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
2329 mark as commutative. Use "nonimmediate_operand" instead of
2330 "register_operand" as predicate for operand 1.
2332 ("movstrictsi"): Fix typo in insn name.
2334 2002-09-09 Jan Hubicka <jh@suse.cz>
2336 * i386.c (index_register_operand): New.
2337 * i386.h (predicate_codes): Add new predicate.
2338 * i386.md (lea_general_*): Use index_regsiter_operand
2339 (ashift to lea splitter): Do not produce invalid leas
2340 (ashift to mov+ashift split): New.
2342 2002-09-09 Nick Clifton <nickc@redhat.com>
2344 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
2347 2002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2348 J"orn Rennecke <joern.rennecke@superh.com>
2350 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
2352 2002-09-09 Alan Modra <amodra@bigpond.net.au>
2354 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
2355 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
2358 2002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2360 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
2362 2002-09-08 Richard Henderson <rth@redhat.com>
2364 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
2365 (DW_OP_GNU_push_tls_address): New.
2366 (DW_OP_lo_user): Fix.
2367 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
2368 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
2369 (size_of_loc_descr): Likewise.
2370 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
2371 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
2372 (loc_descriptor_from_tree): Handle TLS variables.
2373 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
2374 (add_location_or_const_value_attribute): ... not here. Defer
2375 to loc_descriptor_from_tree for TLS variables.
2377 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
2378 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
2379 * config/i386/i386-protos.h: Update.
2381 2002-09-08 Roger Sayle <roger@eyesopen.com>
2383 PR optimization/6405
2384 * unroll.c (loop_iterations): last_loop_insn should be the previous
2385 non-note instruction before loop->end.
2386 * loop.c (strength_reduce): The conditional jump is the last
2387 non-note instruction before loop->end (as above).
2389 2002-09-08 Roger Sayle <roger@eyesopen.com>
2391 * combine.c (try_combine): Handle the case that undobuf.other_insn
2392 has been turned into a return or unconditional jump, by inserting
2393 a BARRIER if necessary.
2394 (simplify_set): Test if a condition code setter has a constant
2395 comparison at compile time, if so convert this insn to a no-op move
2396 and update/simplify the condition code user (undobuf.other_insn).
2398 2002-09-08 Krister Walfridsson <cato@df.lth.se>
2400 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
2401 (CLEAR_INSN_CACHE): Define.
2403 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
2405 * basic-block.h: Fix comment formatting.
2406 * c-common.c: Likewise.
2407 * c-common.h: Likewise.
2408 * c-lex.c: Likewise.
2409 * c-pretty-print.c: Likewise.
2410 * cfglayout.c: Likewise.
2411 * cfgloop.c: Likewise.
2412 * defaults.h: Likewise.
2413 * et-forest.c: Likewise.
2414 * explow.c: Likewise.
2415 * function.h: Likewise.
2417 * genattrtab.c: Likewise.
2418 * gengtype.c: Likewise.
2419 * ifcvt.c: Likewise.
2420 * libgcc2.c: Likewise.
2422 * profile.c: Likewise.
2423 * ra-build.c: Likewise.
2426 * tracer.c: Likewise.
2427 * tree-inline.c: Likewise.
2428 * varasm.c: Likewise.
2430 2002-09-08 Jan Hubicka <jh@suse.cz>
2432 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
2435 * loop.c (loop_gics_reduce): Emit addition after.
2437 2002-09-08 Alan Modra <amodra@bigpond.net.au>
2439 * varasm.c (default_assemble_visibility): Rename from
2440 assemble_visibility.
2441 * output.h: Here too.
2442 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
2443 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
2445 2002-09-08 Alan Modra <amodra@bigpond.net.au>
2447 * reload.c (find_reloads <p constraint>): Pass operand_mode to
2448 find_reloads_address.
2450 2002-09-08 Kazu Hirata <kazu@cs.umass.edu>
2452 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
2453 (anonymous pattern): Likewise.
2455 2002-09-07 Scott Snyder <snyder@fnal.gov>
2458 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
2460 2002-09-07 Roger Sayle <roger@eyesopen.com>
2462 * basic-block.h (struct loop): Remove unused cont_dominator field.
2464 2002-09-07 Igor Shevlyakov <igor@microunity.com>
2466 * varasm.c (decode_rtx_const): Don't check undefined field for
2469 2002-09-07 Glen Nakamura <glen@imodulo.com>
2472 * sched-deps.c (sched_analyze_insn): Make sure to add insn
2473 to reg_last->sets after flushing the dependency lists to guarantee
2474 that subsequent clobbers will be dependent on it.
2476 2002-09-07 Igor Shevlyakov <igor@microunity.com>
2478 * combine.c (simplify_shift_const): Calculate rotate count
2479 correctly for vector operands.
2481 2002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
2483 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
2484 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
2485 tree_expr_nonnegative_p.
2486 (build_conditional_expr): Likewise.
2487 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
2489 2002-09-07 Richard Henderson <rth@redhat.com>
2491 * builtins.def (inf, inff, infl): Mark const.
2492 (huge_val, huge_valf, huge_vall): Likewise.
2493 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
2495 * real.c (ereal_inf): Clear E before use.
2497 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
2499 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
2500 an expander and an anonymous pattern. Zero out the upper half
2501 of the dividend in the expander.
2502 (udivmodqi4): Likewise.
2504 2002-09-07 Kazu Hirata <kazu@cs.umass.edu>
2506 * config/h8300/h8300.c: Fix formatting.
2507 * config/h8300/h8300.h: Likewise.
2508 * config/h8300/h8300.md: Likewise.
2510 2002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2512 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
2515 2002-09-07 Graham Stott <graham.stott@btinternet.con>
2517 * rtlanal.c (dead_or_set_regno_p): Fix typo.
2519 2002-09-07 Alan Modra <amodra@bigpond.net.au>
2521 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2523 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
2524 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
2525 (TARGET_ASM_OUT): Add the above here.
2526 * target.h (struct gcc_target): Add "visibility" field.
2527 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
2528 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
2529 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
2530 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
2532 2002-09-06 Ziemowit Laski <zlaski@apple.com>
2534 * c-lang.c (objc_is_id): New stub.
2535 * c-tree.h (objc_is_id): New forward declaration.
2536 * c-typeck.c (build_c_cast): Do not strip protocol
2537 qualifiers from 'id' type.
2538 * objc/objc-act.c (objc_comptypes): Correct handling
2539 of protocol qualifiers.
2542 Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
2544 * pentium.md (pentium-firstvboth): Fix typo.
2546 2002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
2548 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
2549 (enum shift_type, enum h8_cpu): Likewise.
2550 (INL, ROT, LOP, SPC macros): Likewise.
2551 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
2553 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
2554 space efficient algorithms when optimize for codesize.
2556 Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
2558 Fix PR/1727 and long-standing failing testcase
2559 objc/formal-protocol-6.m.
2560 * objc-act.c (build_protocol_expr): If compiling for the GNU
2561 runtime, create a list of Protocol statically allocated instances
2562 if it doesn't exist, then add the Protocol object to this same
2564 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
2565 instead of TREE_CHAIN.
2567 Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
2569 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
2570 10k. Fixed category dumping - print out category names with the
2571 proper syntax. Print '@end\n' and not '\n@end' at the end of the
2573 (finish_objc): Fixed the -gen-decls option. It was printing out
2574 only the last class. Dump an interface declaration of all classes
2575 being compiled instead.
2577 2002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
2579 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
2581 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
2582 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
2583 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
2584 rather than GEN_INT.
2585 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
2586 (return_addr_mask, *check_arch2): New.
2588 2002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
2590 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
2591 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
2592 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
2593 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
2594 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
2595 "adddf3", "*adddf3", "*adddf3_ibm",
2596 "addsf3", "*addsf3", "*addsf3_ibm",
2597 "muldi3", "mulsi3", "mulsidi3",
2598 "muldf3", "*muldf3", "*muldf3_ibm",
2599 "mulsf3", "*mulsf3", "*mulsf3_ibm",
2600 "*anddi3_cc", "*anddi3_cconly", "anddi3",
2601 "*andsi3_cc", "*andsi3_cconly", "andsi3",
2602 "*iordi3_cc", "*iordi3_cconly", "iordi3",
2603 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
2604 "*xordi3_cc", "*xordi3_cconly", "xordi3",
2605 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
2606 instead of "register_operand" as predicate for "%0" operand.
2608 2002-09-06 Jakub Jelinek <jakub@redhat.com>
2610 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
2611 unconditionally when gcc_cv_as_flags64 checks are gone.
2612 * configure: Rebuilt.
2614 2002-09-06 Alan Modra <amodra@bigpond.net.au>
2616 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
2617 2002-07-26 change. Comment.
2619 2002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2621 * frv.c (frv_unique_section, frv_select_section,
2622 frv_select_rtx_section): Delete.
2623 (frv_in_small_data_p): New.
2624 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
2625 TARGET_ASM_SELECT_RTX_SECTION): Delete.
2626 (TARGET_IN_SMALL_DATA_P): Define.
2628 2002-09-05 Dale Johannesen <dalej@apple.com>
2630 * reload1.c (reload): Retain only those memory clobbers
2631 added for variable-array handling.
2633 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
2635 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
2636 return-in-memory rules.
2637 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
2639 2002-09-05 David Edelsohn <edelsohn@gnu.org>
2641 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
2642 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
2644 2002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
2646 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
2647 not a compile-time constant for the non-IBM case.
2648 * config/arm/arm-protos.h (arm_float_words_big_endian): New
2650 * config/arm/arm.c (arm_float_words_big_endian): New function.
2651 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
2652 if TARGET_VFP and not TARGET_HARD_FLOAT.
2653 (ARM_FLAG_VFP, TARGET_VFP): Define.
2654 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
2656 2002-09-05 David Edelsohn <edelsohn@gnu.org>
2658 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
2659 URLs. Fix AIX wording.
2661 2002-09-05 Stan Shebs <shebs@apple.com>
2663 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
2664 -fPIC equivalent on Darwin.
2666 Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
2668 * sh.c (sh_expand_builtin): Return early if encountering an
2669 error_mark for a type.
2671 2002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
2673 * config/s390/s390.c (s390_expand_plus_operand): Do not require
2674 double-word scratch register.
2675 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
2677 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
2678 "*cli"): Replace s_operand by memory_operand.
2679 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
2681 2002-09-05 Kazu Hirata <kazu@cs.umass.edu>
2683 * config/h8300/h8300.c (asm_file_start): Add a missing
2686 2002-09-04 Krister Walfridsson <cato@df.lth.se>
2688 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
2689 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
2690 (ix86_output_addr_diff_elt) Likewise.
2691 (x86_output_mi_thunk) Likewise.
2692 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
2694 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2696 * frv.c (frv_encode_section_info): Fix error in last change.
2698 2002-09-04 David Edelsohn <edelsohn@gnu.org>
2700 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
2701 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
2702 (TARGET_BINDS_LOCAL_P): Define.
2703 (rs6000_override_options): Save original flag_pic value.
2704 (rs6000_elf_select_section): Call default_elf_select_section_1.
2705 (rs6000_elf_unique_section): Call default_unique_section_1.
2706 (rs6000_elf_in_small_data_p): New function.
2707 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
2708 (rs6000_xcoff_select_section): Update based on defaults.
2709 (rs6000_xcoff_unique_section): Set to basic name if not common.
2710 (rs6000_binds_local_p): New function.
2711 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
2712 targetm.have_srodata_section if SDATA_EABI.
2713 (TARGET_IN_SMALL_DATA_P): Define.
2715 2002-09-04 Dale Johannesen <dalej@apple.com>
2717 * varasm.c (struct rtx_const, decode_rtx_const):
2718 Make veclo and vechi fields not share storage.
2720 Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
2722 * loop.c (scan_loop): Don't mark separate insns out of a libcall
2724 (move_movables): Abort if we see the first insn of a libcall.
2726 2002-09-04 Richard Henderson <rth@redhat.com>
2728 * builtin-types.def (BT_FN_FLOAT): New.
2729 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
2730 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
2731 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
2732 * builtins.c (fold_builtin_inf): New.
2733 (fold_builtin): Call it.
2734 * real.c (ereal_inf): New.
2735 * real.h: Declare it.
2736 * doc/extend.texi: Document new builtins.
2738 2002-09-04 Richard Henderson <rth@redhat.com>
2740 * cse.c (cse_insn): Avoid subreg games if the equivalence
2741 is already in the proper mode.
2743 2002-09-04 Eric Botcazou <ebotcazou@multimania.com>
2746 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
2748 2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
2750 * pa.md (setccfp0, setccfp1): New patterns.
2752 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2754 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
2755 frv_select_section, frv_select_rtx_section,
2756 frv_encode_section_info, frv_unique_section): Delete.
2757 * frv.c: Update for target hooks.
2758 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
2759 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
2760 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
2762 2002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2764 * ip2k-protos.h (function_prologue, function_epilogue,
2765 encode_section_info): Update to match target hook specification.
2766 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
2767 (function_prologue, function_epilogue, encode_section_info):
2768 Update to match target hook specification.
2769 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
2770 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
2771 (NOTICE_UPDATE_CC): Cast to void.
2772 * ip2k.md: Add defaults in switch statements.
2774 2002-09-04 Janis Johnson <janis187@us.ibm.com>
2776 * doc/trouble.texi (Interoperation): Update information about C++ ABI
2779 2002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
2781 * config/sparc/t-netbsd64: Disable multilib for now.
2783 2002-09-04 David Edelsohn <edelsohn@gnu.org>
2785 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
2786 * target.h (gcc_target): Add have_srodata_section member.
2787 * varasm.c (section_category): Add SECCAT_SRODATA.
2788 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
2789 READONLY_SDATA_SECTION defined.
2790 (decl_readonly_section_1): True for SECCAT_SRODATA also.
2791 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
2792 (default_unique_section_1): Likewise.
2794 2002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
2796 * expr.c (emit_group_load): Revise to allow splitting TCmode source
2799 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
2800 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
2801 for floating-point register class.
2802 * pa.c (function_arg): Fix handling of modes wider than one word for
2805 Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
2807 * combine.c (make_compound_operation): Don't generate zero / sign
2808 extensions in floating point modes.
2810 2002-09-04 Janis Johnson <janis187@us.ibm.com>
2812 * doc/c-tree.texi: Fix overfull hboxes.
2813 * doc/cppopts.texi: Ditto.
2814 * doc/extend.texi: Ditto.
2815 * doc/gty.texi: Ditto.
2816 * doc/invoke.texi: Ditto.
2817 * doc/makefile.texi: Ditto.
2818 * doc/rtl.texi: Ditto.
2819 * doc/standards.texi: Ditto.
2820 * doc/tm.texi: Ditto.
2822 2002-09-04 Richard Henderson <rth@redhat.com>
2824 * c-common.c (builtin_define_with_hex_fp_value): New.
2825 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
2827 2002-09-04 Janis Johnson <janis187@us.ibm.com>
2829 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
2830 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
2831 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
2832 Warn that these options can break ABI compatibility.
2834 2002-09-04 Richard Henderson <rth@redhat.com>
2836 * real.c (ereal_to_decimal): Add digits parameter.
2837 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
2838 * c-pretty-print.c (pp_c_real_literal): Update call.
2839 * print-rtl.c (print_rtx): Likewise.
2840 * print-tree.c (print_node_brief, print_node): Likewise.
2841 * sched-vis.c (print_value): Likewise.
2842 * config/arc/arc.c (arc_print_operand): Likewise.
2843 * config/c4x/c4x.c (c4x_print_operand): Likewise.
2844 * config/i370/i370.h (PRINT_OPERAND): Likewise.
2845 * config/i386/i386.c (print_operand): Likewise.
2846 * config/i960/i960.c (i960_print_operand): Likewise.
2847 * config/ip2k/ip2k.c (asm_output_float): Likewise.
2848 * config/m32r/m32r.c (m32r_print_operand): Likewise.
2849 * config/m68hc11/m68hc11.c (print_operand): Likewise.
2850 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
2851 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2852 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
2853 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2854 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
2855 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
2856 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
2857 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
2858 * config/mips/mips.c (print_operand): Likewise.
2859 * config/ns32k/ns32k.c (print_operand): Likewise.
2860 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
2861 * config/vax/vax.h (PRINT_OPERAND): Likewise.
2862 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
2864 2002-09-04 Bob Wilson <bob.wilson@acm.org>
2866 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
2867 xtensa_multibss_section_type_flags.
2868 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
2870 2002-09-04 Richard Henderson <rth@redhat.com>
2872 * doc/install-old.texi: Don't mention enquire.
2873 * doc/sourcebuild.texi: Update float.h description.
2875 Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
2877 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
2879 2002-09-03 David Edelsohn <edelsohn@gnu.org>
2881 * varasm.c (default_section_type_flags): Append _1 to name with
2882 shlib parameter. Use original name to call new function with
2884 (decl_readonly_section): Likewise.
2885 (default_elf_select_section): Likewise.
2886 (default_unique_section): Likewise.
2887 (default_bind_local_p): Likewise.
2888 (categorize_decl_for_section): Add shlib parameter to use in place
2889 of implicit flag_pic.
2890 * output.h: Declare new functions with _1 and shlib argument.
2892 2002-09-03 Janis Johnson <janis187@us.ibm.com>
2894 * doc/install.texi: Fix typos, formatting problems, and obvious
2895 overfull/underfull boxes.
2897 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
2898 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
2899 include its file, compat.texi.
2900 * doc/compat.texi: New file with new chapter, Binary Compatibility.
2902 2002-09-03 Neil Booth <neil@daikokuya.co.uk>
2904 Debian BTS Bug #157416
2905 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
2906 * cpplib.c (destringize_and_run): Kludge around getting
2907 tokens from in-progress macros.
2908 (_cpp_do__Pragma): Simplify.
2910 2002-09-03 Steve Ellcey <sje@cup.hp.com>
2912 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
2913 (CPP_CPU_SPEC): Remove.
2914 (TARGET_CPU_CPP_BUILTINS): New.
2915 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
2917 (TARGET_OS_CPP_BUILTINS): New.
2918 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
2919 (TARGET_OS_CPP_BUILTINS): New.
2920 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
2921 TARGET_OS_CPP_BUILTINS.
2922 (CPP_PREDEFINES): Remove.
2923 (CPLUSPLUS_CPP_SPEC): Remove.
2924 (TARGET_OS_CPP_BUILTINS): New.
2926 2002-09-03 Richard Henderson <rth@redhat.com>
2928 * Makefile.in (USER_H): Add ginclude/float.h.
2930 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
2931 (mostlyclean): Don't remove float.h intermediate files.
2932 (distclean): Don't remove float.h.
2933 * config.gcc: Remove all float_format references.
2934 * configure.in (float_format, float_h_file): Remove.
2936 * c-common.c: Include tree-inline.h.
2937 (builtin_define_with_int_value): New.
2938 (builtin_define_type_precision): Use it.
2939 (builtin_define_float_constants): New.
2940 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
2941 __FLT_EVAL_METHOD__.
2942 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
2943 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
2944 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
2945 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
2946 (TARGET_FLT_EVAL_METHOD): New.
2948 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
2949 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
2950 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
2951 * ginclude/float.h: New.
2953 2002-09-03 Stan Shebs <shebs@apple.com>
2955 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
2956 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
2957 (PREFERRED_DEBUGGING_TYPE): Ditto.
2958 (ASM_OUTPUT_IDENT): Remove empty definition.
2960 2002-09-03 Steve Ellcey <sje@cup.hp.com>
2962 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
2964 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
2965 handling routine for builtin pragma.
2966 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
2967 Registered pragma handling routine.
2968 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
2969 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
2970 If builtin pragma seen for math routine and C89 conformance is
2971 requested use different math function in order to set errno.
2972 * t-ia64 (ia64-c.o): Add new rule for new file.
2974 2002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
2976 * config/s390/s390.md ("movti"): Add Q->Q alternative.
2977 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
2978 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
2980 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
2981 "*movsf_ss"): Remove.
2983 2002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
2985 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
2988 2002-09-03 Arati Dikey <aratid@kpit.com>
2990 * h8300.c (asm_file_start): Corrected optimization comment.
2992 2002-09-03 Stan Shebs <shebs@apple.com>
2994 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
2995 * c-tree.h (recognize_objc_keyword): Remove decl.
2996 * c-typeck.c (comp_target_types): Update a comment.
2998 2002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
3000 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
3001 and register validity checks.
3002 (general_s_operand): Adapt to s390_decompose_address interface change.
3003 (q_constraint): Likewise.
3004 (s390_expand_plus_operand): Likewise.
3005 (legitimiate_address_p): Likewise.
3006 (legitimate_la_operand_p): Likewise.
3007 (legitimize_la_operand): Likewise.
3008 (print_operand_address): Likewise.
3009 (print_operand): Likewise.
3011 Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
3014 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
3015 was causing the new selector never to match the existing ones
3016 (Patch by Alexander Malmberg <alexander@malmberg.org>).
3018 2002-09-03 Graham Stott <graham.stott@btinternet.com>
3020 * config/i386/i386.md ("femms"): Add "memory" attr "none".
3022 2002-09-03 Graham Stott <graham.stott@btinternet.com>
3024 * expr.c (expand_expr): Remove extraneous comment and code.
3026 2002-08-31 Richard Henderson <rth@redhat.com>
3028 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
3030 2002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
3032 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
3034 2002-08-30 Richard Henderson <rth@redhat.com>
3037 * c-objc-common.c: Include target.h.
3038 (c_cannot_inline_tree_fn): Don't auto-inline functions that
3039 don't bind locally. Factor setting DECL_UNINLINABLE.
3040 * Makefile.in (c-objc-common.o): Update.
3042 2002-08-30 Janis Johnson <janis187@us.ibm.com>
3044 * doc/install.texi (Configuration, Building): Fix a typo and
3045 some formatting directives.
3047 2002-08-30 Paul Koning <pkoning@equallogic.com>
3049 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
3050 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
3052 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
3053 for alphabetic order.
3054 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
3055 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
3056 (VAX_HALFWORD_ORDER): Document.
3057 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
3059 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
3060 (ASM_OUTPUT_LABEL_REF): Fix font.
3061 (CASE_VECTOR_SHORTEN_MODE): Ditto.
3063 2002-08-30 Denis Chertykov <denisc@overta.ru>
3065 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
3067 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
3068 CONST_DOUBLE constants.
3070 2002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
3072 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
3073 related defines to...
3074 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
3075 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
3078 2002-08-30 Krister Walfridsson <cato@df.lth.se>
3080 * config/arm/arm.c (arm_asm_output_labelref): New function.
3081 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
3082 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
3084 2002-08-29 Rodney Brown <rbrown64@csc.com.au>
3086 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
3087 memory exhausted" workarounds.
3089 2002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
3091 * diagnostic.c (fancy_abort): Don't repeat "internal error".
3092 * toplev.c (crash_signal): Likewise.
3094 Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
3096 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
3097 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
3098 Extended, updated documentation.
3099 (-Wundeclared-selector): Documented.
3101 2002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
3103 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
3104 the value 1. Do not undef before defining.
3105 * config/darwin.h: Likewise.
3106 * config/dbx.h: Likewise.
3107 * config/dbxcoff.h: Likewise.
3108 * config/dbxelf.h: Likewise.
3109 * config/elfos.h: Likewise.
3110 * config/interix.h: Likewise.
3111 * config/lynx-ng.h: Likewise.
3112 * config/lynx.h: Likewise.
3113 * config/netware.h: Likewise.
3114 * config/psos.h: Likewise.
3115 * config/svr3.h: Likewise.
3116 * config/alpha/alpha.h: Likewise.
3117 * config/alpha/elf.h: Likewise.
3118 * config/alpha/vms.h: Likewise.
3119 * config/arc/arc.h: Likewise.
3120 * config/arm/aout.h: Likewise.
3121 * config/arm/coff.h: Likewise.
3122 * config/c4x/c4x.h: Likewise.
3123 * config/h8300/h8300.h: Likewise.
3124 * config/i386/cygwin.h: Likewise.
3125 * config/i386/djgpp.h: Likewise.
3126 * config/i386/gas.h: Likewise.
3127 * config/i386/gstabs.h: Likewise.
3128 * config/i386/i386-coff.h: Likewise.
3129 * config/i386/i386-interix.h: Likewise.
3130 * config/i386/sco5.h: Likewise.
3131 * config/i386/svr3dbx.h: Likewise.
3132 * config/i386/sysv3.h: Likewise.
3133 * config/i386/win32.h: Likewise.
3134 * config/i386/x86-64.h: Likewise.
3135 * config/i960/i960.h: Likewise.
3136 * config/ia64/ia64.h: Likewise.
3137 * config/ip2k/ip2k.h: Likewise.
3138 * config/m32r/m32r.h: Likewise.
3139 * config/m68k/3b1.h: Likewise.
3140 * config/m68k/3b1g.h: Likewise.
3141 * config/m68k/ccur-GAS.h: Likewise.
3142 * config/m68k/coff.h: Likewise.
3143 * config/m68k/hp2bsd.h: Likewise.
3144 * config/m68k/hp310g.h: Likewise.
3145 * config/m68k/hp320g.h: Likewise.
3146 * config/m68k/hp3bsd.h: Likewise.
3147 * config/m68k/hp3bsd44.h: Likewise.
3148 * config/m68k/linux-aout.h: Likewise.
3149 * config/m68k/m68k-aout.h: Likewise.
3150 * config/m68k/mot3300.h: Likewise.
3151 * config/m68k/netbsd.h: Likewise.
3152 * config/m68k/openbsd.h: Likewise.
3153 * config/m68k/pbb.h: Likewise.
3154 * config/m68k/plexus.h: Likewise.
3155 * config/m68k/sun2.h: Likewise.
3156 * config/m68k/sun3.h: Likewise.
3157 * config/m68k/tower-as.h: Likewise.
3158 * config/m68k/vxm68k.h: Likewise.
3159 * config/m88k/aout-dbx.h: Likewise.
3160 * config/m88k/m88k-aout.h: Likewise.
3161 * config/mcore/mcore-elf.h: Likewise.
3162 * config/mcore/mcore-pe.h: Likewise.
3163 * config/mips/elf.h: Likewise.
3164 * config/mips/elf64.h: Likewise.
3165 * config/mips/iris5gas.h: Likewise.
3166 * config/mips/iris6.h: Likewise.
3167 * config/mips/mips.h: Likewise.
3168 * config/mips/sni-gas.h: Likewise.
3169 * config/mmix/mmix.h: Likewise.
3170 * config/ns32k/netbsd.h: Likewise.
3171 * config/pa/pa64-hpux.h: Likewise.
3172 * config/romp/romp.h: Likewise.
3173 * config/rs6000/sysv4.h: Likewise.
3174 * config/rs6000/xcoff.h: Likewise.
3175 * config/sh/coff.h: Likewise.
3176 * config/sh/elf.h: Likewise.
3177 * config/sparc/linux64.h: Likewise.
3178 * config/sparc/liteelf.h: Likewise.
3179 * config/sparc/netbsd.h: Likewise.
3180 * config/sparc/openbsd.h: Likewise.
3181 * config/sparc/pbd.h: Likewise.
3182 * config/sparc/sp64-elf.h: Likewise.
3183 * config/sparc/sp86x-elf.h: Likewise.
3184 * config/sparc/sparc.h: Likewise.
3185 * config/vax/vax.h: Likewise.
3186 * config/vax/vaxv.h: Likewise.
3188 2002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
3190 * h8300.c (shift_alg_hi): Various tweaks to improve performance
3192 (get_shift_alg): Corresponding changes.
3194 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
3196 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
3198 2002-08-29 Richard Henderson <rth@redhat.com>
3200 * expr.h (enum block_op_methods): New.
3201 (emit_block_move): Update prototype.
3202 * expr.c (block_move_libcall_safe_for_call_parm): New.
3203 (emit_block_move_via_loop): New.
3204 (emit_block_move): Use them. New argument METHOD.
3205 (emit_push_insn): Always respect the given alignment.
3206 (expand_assignment): Update call to emit_block_move.
3207 (store_expr, store_field, expand_expr): Likewise.
3208 * builtins.c (expand_builtin_apply): Likewise.
3209 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3210 * function.c (expand_function_end): Likewise.
3211 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
3212 * config/sparc/sparc.c (sparc_va_arg): Likewise.
3213 * calls.c (expand_call, emit_library_call_value_1): Likewise.
3214 (save_fixed_argument_area): Use emit_block_move with
3215 BLOCK_OP_CALL_PARM instead of move_by_pieces.
3216 (restore_fixed_argument_area): Likewise.
3217 (store_one_arg): Fix alignment parameter to emit_push_insn.
3219 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
3221 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
3223 2002-08-29 Catherine Moore <clm@redhat.com>
3225 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
3226 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
3227 (PREDICATE_CODES): Include new predicates.
3228 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
3229 (TARGET_SWITCHES): Add strict-align.
3230 (TARGET_STRICT_ALIGN): New.
3231 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
3232 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
3234 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
3236 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
3237 L_callt_save_r2_r31, L_return_r2_r31,
3238 L_save_all_interrupt): Change addi to add.
3239 (L_save_interrupt, L_return_interrupt): Rework.
3240 (__return_r31): Correct .size directive.
3241 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
3242 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
3244 * config/v850/v850.c (expand_prologue): Call
3245 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
3246 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
3247 (reg_or_int9_operand): New predicate.
3248 (reg_or_const_operand): New routine.
3249 * config/v850/v850.md (return_interrupt): Changed from
3251 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
3252 (callt_save_interrupt): Change save sequence.
3253 (callt_return_interrupt): New.
3254 (save_interrupt): Don't use runtime function for LONG_CALLS
3255 and TARGET_PROLOG_FUNCTION.
3256 (save_all_interrupt): Likewise.
3257 (mulsi3): Use new predicate.
3258 (moviscc): Disallow some combination of constants.
3259 Fix define_split for sasf insns, so that it will not generate bad
3260 code if operand0 and operand5 are the same.
3261 * config/v850/v850-protos.h: Prototype new predicates.
3263 2002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
3265 * c-common.c (builtin_define_type_precision): New function.
3266 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
3267 wchar_t is unsigned in C++.
3268 * doc/cpp.texi (Common Predefined Macros): Document
3269 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
3270 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
3271 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
3273 2002-08-28 Sylvain Pion <pion@cs.nyu.edu>
3275 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
3276 section. Mention that it is enabled by -Wall.
3277 (-Wall): Mention that there can be language-specific warnings as well.
3278 (-Wctor-dtor-privacy): Mention that it is enabled by default.
3279 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
3281 Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
3283 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
3286 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
3287 attribute for SHCOMPACT.
3289 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
3291 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
3294 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
3296 2002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
3298 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
3299 "MASK_GAS|MASK_ABICALLS".
3300 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
3301 (TARGET_DEFAULT): Remove.
3302 (MACHINE_TYPE): Undefine before defining.
3303 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
3305 2002-08-27 Mark Mitchell <mark@codesourcery.com>
3307 * c-common.c (warn_abi): New variable.
3308 * c-common.h (warn_abi): Likewise.
3309 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
3310 (c_common_decode_option): Handle it.
3311 * doc/invoke.texi: Document -Wabi.
3313 Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
3315 * c-common.c (warn_undeclared_selector): New variable.
3316 * c-common.h (warn_undeclared_selector): Idem.
3317 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
3318 to on when -Wundeclared-selector is found.
3319 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
3320 * objc/objc-act.c (build_selector_expr): If
3321 warn_undeclared_selector is set, check that the selector has
3322 already been defined, and emit a warning if not.
3324 2002-08-27 Nick Clifton <nickc@redhat.com>
3325 Catherine Moore <clm@redhat.com>
3326 Jim Wilson <wilson@cygnus.com>
3328 * config.gcc: Add v850e-*-* target.
3329 Add --with-cpu= support for v850.
3330 * config/v850/lib1funcs.asm: Add v850e callt functions.
3331 * config/v850/v850.h: Add support for v850e target.
3332 * config/v850/v850.c: Add functions to support v850e target.
3333 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
3334 * config/v850/v850.md: Add patterns for v850e instructions.
3335 * doc/invoke.texi: Document new v850e command line switches.
3337 Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
3338 Aldy Hernandez <aldyh at redhat dot com>
3340 * doc/tm.texi: Applied numerous fixes to the automaton based
3341 scheduler descrition.
3343 Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
3345 * i386.c (classify_argument): Handle variable sized objects.
3347 Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
3349 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
3351 Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
3353 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
3355 Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
3357 * i386.c (classify_argument): Properly compute word size of the analyzed object.
3359 Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
3361 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
3362 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
3364 (attribute insn_class): Provide default definitions based on type.
3365 Remove all insn-specific settings.
3366 (various function units): Remove old SH4 scheduling.
3367 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
3368 New attributes. Set them where appropriate.
3369 (cpu unit FS): Don't define / use.
3370 (F3, load_store): New cpu units.
3371 (F01): New reservation.
3372 (all insn_reservations): Make dependent on sh4 pipeline model.
3374 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
3375 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
3376 (mt insn_reservation): Use type mt_group.
3377 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
3378 sh4_fload and sh4_store.
3379 (insn_reservation branch_zero and branch): Replace with sh4_branch.
3380 (insn_reservation branch_far): Replace with sh4_return.
3381 (insn_reservation return_from_exp): Rename to:
3382 (sh4_return_from_exp). Change to be just d_lock*5.
3383 (insn_reservation lds_to_pr): Rename to:
3384 (sh4_lds_to_pr). Change to be just d_lock*2.
3385 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
3387 (insn_reservation prload_mem): Rename to:
3388 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
3389 (insn_reservation fpscr_store): Rename to:
3390 (fpscr_load). Change to d_lock,nothing,F1*3.
3391 (insn_reservation fpscr_store_mem): Rename to:
3392 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
3393 (insn_reservation multi): Change to
3394 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
3395 (insn_reservation fp_arith): Change to issue,F01,F2.
3396 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
3397 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
3398 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
3399 (insn_reservation fp_double_cmp): Change to
3400 d_lock,(d_lock+F01),F1+F2,F2.
3401 (insn_reservation dp_div): Change to
3402 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
3403 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
3404 (sh_adjust_cost, SHcompact): Differentiate between different
3405 kinds of dependencies. Drop factor of ten for superscalar.
3406 Use new instruction types. Add new exception rules.
3408 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
3410 * sh.md (mperm_w): Add DONE.
3412 2002-08-27 David Edelsohn <edelsohn@gnu.org>
3414 * longlong.h: Import current PowerPC defintion from GMP-4.1.
3416 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
3418 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
3420 Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
3422 * sh.h (MAX_FIXED_MODE_SIZE): Define.
3424 2002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
3426 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
3429 2002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
3431 * c-common.c (cpp_define_data_format): New function.
3432 (cb_register_builtins): Call it.
3434 * doc/cpp.texi (Common Predefined Macros): Document
3435 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
3436 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
3437 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
3438 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
3439 __TARGET_USES_VAX_H_FLOAT__.
3441 2002-08-26 Ziemowit Laski <zlaski@apple.com>
3443 * objc/objc-act.c (get_super_receiver): If inside a class method
3444 of a category, cast the receiver to 'id' before accessing the 'isa'
3445 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
3447 2002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
3449 * config/s390/s390-protos.h (s390_function_prologue,
3450 s390_function_epilogue): Remove.
3451 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
3452 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3454 config/s390/s390.c (s390_machine_dependent_recorg): New function.
3455 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
3456 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
3457 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
3458 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
3460 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
3461 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
3462 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
3463 function is not a leaf function. Use save_gprs and restore_gprs.
3464 (s390_emit_epilogue): Likewise.
3465 (save_gprs, restore_gprs): New functions.
3466 (struct s390_frame): Remove return_reg_saved_p member.
3467 (save_fprs_p): Remove.
3468 (s390_optimize_prolog): New function.
3469 (s390_legitimate_reload_constant): Remove now unnecessary check.
3471 (s390_function_count): Remove.
3472 (s390_output_symbolic_const): Replace s390_function_count by
3473 current_function_funcdef_no.
3474 (s390_output_constant_pool): Likewise.
3476 (legitimize_pic_address): Use regs_ever_live to track PIC register
3477 instead of current_function_uses_pic_offset_table.
3478 (s390_emit_prologue): Likewise.