1 2003-09-08 Bernardo Innocenti <bernie@develer.com>
2 Peter Barada <peter@baradas.org>
4 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
5 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
6 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
7 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
8 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
9 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
10 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
11 (m68k_compute_frame_layout): New function.
12 (m68k_initial_elimination_offset): New function.
13 (m68k_output_function_prologue): ColdFire-specific movem handling.
14 (m68k_output_function_epilogue): Likewise.
15 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
16 (ARG_POINTER_REGNUM): Add new definition.
17 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
18 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
19 (CAN_ELIMINATE): Likewise.
20 (INITIAL_ELIMINATION_OFFSET): Likewise.
22 2003-09-08 Bernardo Innocenti <bernie@develer.com>
24 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
25 by removing redundant variable cfa_store_offset.
27 2003-09-08 Mark Mitchell <mark@codesourcery.com>
29 * langhooks-def.h (lhd_register_builtin_type): New function.
30 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
31 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
32 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
33 * langhooks.c (lhd_register_builtin_type): New function.
34 * c-common.h (c_register_builtin_type): Declare.
35 * c-common.c (c_register_builtin_type): New function.
36 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
37 c_register_builtin_type.
38 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
39 __float80, and __float128 macros.
40 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
41 __float80, and __float128 types.
43 2003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
46 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
47 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
48 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
49 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
50 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
51 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
52 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
53 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
54 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
55 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
56 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
57 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
58 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
59 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
60 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
61 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
62 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
64 * doc/extend.texi: Document new builtins.
66 Tue Sep 9 02:18:06 CEST 2003 Jan Hubicka <jh@suse.cz>
68 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
70 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
71 functions, check for COMDAT.
72 (cgraph_assemble_pending_functions): Break out from...
73 (cgraph_finalize_function): ... here; allow redefinig of extern inline
75 (record_call_1): Record function references only in non-unit-at-a-time
77 (cgraph_analyze_function): Reset current_function_decl.
78 (cgraph_finalize_compilation_unit): Assemble pending functions.
80 2003-09-08 Mark Mitchell <mark@codesourcery.com>
82 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
84 (libgcc_eh.a): Likewise.
86 2003-09-08 Roger Sayle <roger@eyesopen.com>
88 * fold-const.c (operand_equal_p): Clarify documentation.
90 2003-09-08 Richard Henderson <rth@redhat.com>
92 * c-decl.c (c_expand_body_1): Push and pop function context here.
93 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
94 nested argument instead of computing nesting ourselves.
96 2003-09-08 Jakub Jelinek <jakub@redhat.com>
98 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
99 regstack if optimizing but not scheduling after reload.
101 2003-09-08 Jakub Jelinek <jakub@redhat.com>
103 * config/sparc/sparc.c (struct machine_function): New type.
104 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
105 (sparc_override_options): Initialize init_machine_status.
106 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
107 tie_symbolic_operand, tle_symbolic_operand): New functions.
108 (symbolic_operand): Disallow tls_symbolic_operand.
109 (symbolic_memory_operand): Likewise.
110 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
111 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
113 (sparc_tls_symbol): New variable.
114 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
115 legitimize_address): New functions.
116 (print_operand): Handle %&.
117 (sparc_init_machine_status, get_some_local_dynamic_name,
118 get_some_local_dynamic_name_1): New functions.
119 (sparc_output_dwarf_dtprel): New function.
120 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
122 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
123 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
124 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
125 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
126 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
127 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
128 (ASM_OUTPUT_DWARF_DTPREL): Define.
129 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
130 tie_symbolic_operand, tle_symbolic_operand.
131 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
132 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
133 (tls_call_delay): New attribute.
134 (in_call_delay): Use it.
135 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
136 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
137 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
138 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
139 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
140 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
141 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
142 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
143 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
144 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
145 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
146 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
147 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
148 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
150 * config/sparc/sparc-protos.h (legitimate_constant_p,
151 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
152 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
153 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
154 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
155 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
156 * configure.in (sparc*-*-*): Add TLS check.
157 * configure: Rebuilt.
159 2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
162 * config/i386/i386.c (memory_address_length): Fix computation when
163 the base is esp or ebp.
165 2003-09-07 Mark Mitchell <mark@codesourcery.com>
168 * varasm.c (initializer_constant_valid_p): Correct logic for
171 2003-09-07 Roger Sayle <roger@eyesopen.com>
173 * expr.c (expand_operands): New function to expand an operand pair.
174 (expand_expr): Call expand_operands whenever we need to expand both
175 operands of a binary operator.
176 (do_store_flag): Likewise for operands of comparison operations.
178 2003-09-07 Roger Sayle <roger@eyesopen.com>
180 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
181 (-A)*B if we care about sign-dependent rounding.
183 2003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
185 * c-pretty-print.h (pp_c_left_brace): Declare.
186 (pp_c_right_brace): Likewise.
187 * c-pretty-print.c (pp_c_left_brace): Now a function
188 (pp_c_right_brace): Likewise.
190 Sun Sep 7 14:50:03 CEST 2003 Jan Hubicka <jh@suse.cz>
192 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
194 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
196 * diagnostic.c (warn_deprecated_use): Move to toplev.c
198 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
200 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
201 * Makefile.in (langhooks.o): Depend on diagnostic.h
203 2003-09-06 James E Wilson <wilson@tuliptree.org>
205 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
208 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
210 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
211 and use it throughout.
213 2003-09-07 Jan Hubicka <jh@suse.cz>
215 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
217 * toplev.c (rest_of_decl_compilation): Do not finalize external
220 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
222 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
224 2003-09-06 Jan Hubicka <jh@suse.cz>
227 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
230 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
232 2003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
234 * diagnostic.c (announce_function): Move to toplev.c.
236 2003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
238 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
241 2003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
243 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
244 when gc checking is enabled.
246 2003-09-06 Steven Bosscher <steven@gcc.gnu.org>
249 * c-decl.c (c_expand_body_1): Move return warning from here...
250 (finish_function): ...to here.
252 2003-09-05 Geoffrey Keating <geoffk@apple.com>
254 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
255 a subset of the input class.
257 2003-09-05 Kazu Hirata <kazu@cs.umass.edu>
259 * config/i860/i860.c: Follow spelling conventions.
260 * config/i860/i860.h: Likewise.
261 * config/sh/sh.h: Likewise.
263 2003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
265 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
266 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
267 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
269 2003-09-05 Roger Sayle <roger@eyesopen.com>
270 Richard Henderson <rth@redhat.com>
273 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
274 multiplication to implement division by constant integer.
276 Fri Sep 5 07:35:16 CEST 2003 Jan Hubicka <jh@suse.cz>
278 * opts.c (decode_options): Enable unit-at-a-time at -O2.
279 * params.def (max-inline-insns-single): Set to 500
280 (max-inline-insns-auto): Set to 150
281 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
283 2003-09-04 Richard Henderson <rth@redhat.com>
285 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
286 (cgraph_mark_needed_node): Remove needed argument.
287 * cgraph.h: Update to match.
288 * cgraphunit.c (decide_is_function_needed): Split out from ...
289 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
290 if we generated the function.
291 (record_call_1): Update for cgraph_mark_reachable_node.
292 * varasm.c (mark_referenced): Likewise.
293 * objc/objc-act.c (mark_referenced_methods): Likewise.
295 2003-09-04 DJ Delorie <dj@redhat.com>
297 * targhooks.c: Add comment explaining the migration process.
299 2003-09-04 Eric Christopher <echristo@redhat.com>
301 * config/frv/t-frv: Fix path for frv-abi.h.
302 * config/frv/frv-asm.h: Fix string concatenation.
304 2003-09-04 DJ Delorie <dj@redhat.com>
306 * builtins.c (apply_args_size): Guard against a NULL cfun.
307 (expand_builtin_apply_args_1): Likewise.
308 (expand_builtin_apply): Likewise.
309 Fixes PR bootstrap/12172.
311 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
313 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
314 assembler supports Sun syntax for cmov.
315 * configure: Regenerate.
316 * config.in: Likewise.
317 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
318 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
319 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
320 Fixes PR target/12101.
322 2003-09-04 Matt Austern <austern@apple.com>
324 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
325 with verbosity 0, instead of DECL_NAME, for human-readable string.
327 2003-09-04 Eric Christopher <echristo@redhat.com>
329 * targhooks.c (default_return_in_memory): Allow
332 2003-09-04 Eric Christopher <echristo@redhat.com>
334 * targhooks.c (default_return_in_memory): Fix typo
337 2003-09-04 Eric Christopher <echristo@redhat.com>
339 * targhooks.c (default_return_in_memory): Fix default
342 2003-09-04 Bernardo Innocenti <bernie@develer.com>
344 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
346 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
347 enable coff-only code in m68k.c.
349 2003-09-04 Nick Clifton <nickc@redhat.com>
351 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
353 * config/v850/v850.h: Accept v850e1 as a default CPU.
354 Accept -mv850e1 as a command line option.
355 * doc/invoke.texi: Document new -mv850e1 command line switch.
356 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
359 2003-09-04 Nick Clifton <nickc@redhat.com>
361 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
362 * config/v850/t-v850: Only produce one extra multilib - for
364 * config/v850/t-v850e: New file: Only produce one extra
365 multilib - for the v850.
367 2003-09-04 Jakub Jelinek <jakub@redhat.com>
369 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
370 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
371 * unwind.h (_Unwind_GetBSP): New prototype.
372 * libgcc-std.ver: Add empty GCC_3.3.2 version.
373 * mkmap-symver.awk: For symbol versions with no exported symbols,
374 don't put anything into version script, just change all symbol
375 versions which inherit from it to inherit from its ancestor.
377 2003-09-04 Eric Christopher <echristo@redhat.com>
379 * config/mips/mips.c (mips_expand_prologue): Convert to
380 calls.struct_value_rtx hook.
381 (reg_or_const_float_1_operand): New.
382 * config/mips/mips.h: Update Comments.
383 (mips_arg): Add reg_or_const_float_1_operand.
384 * config/mips/mips.md (divdf3); Convert to expander.
386 (*divdf3): New pattern.
389 Thu Sep 4 10:43:24 CEST 2003 Jan Hubicka <jh@suse.cz>
391 * toplev.c (wrapup_global_declarations): Fix final pass in
394 2003-09-04 Mark Mitchell <mark@codesourcery.com>
396 * doc/extend.texi: Document removal of cast-as-lvalue extension in
399 2003-09-04 Nicolas Roche <roche@act-europe.fr>
401 * gcc.c (process_command): Fix typo.
403 2003-09-03 David O'Brien <obrien@FreeBSD.org>
406 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
407 (PTRDIFF_TYPE): Likewise.
408 (WCHAR_TYPE_SIZE): Likewise.
410 2003-09-03 DJ Delorie <dj@redhat.com>
412 * targhooks.c: New file.
413 * targhooks.h: New file.
414 * Makefile.in: Add targhooks.o support.
415 (function.o): Depend on$(TARGET_H).
417 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
418 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
419 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
420 (expand_builtin_saveregs): Convert to
421 calls.expand_builtin_saveregs hook.
422 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
424 (get_parm_info) ... here.
425 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
427 (finish_function): Handle calls.promote_prototypes hook here too.
428 * c-typeck.c (convert_arguments): Convert to
429 calls.promote_prototypes hook.
430 (c_convert_parm_for_inlining): Likewise.
431 * calls.c (initialize_argument_information): Convert to
432 calls.promote_function_args hook.
433 (expand_call): Convert to calls.struct_value_rtx,
434 calls.strict_argument_naming,
435 calls.pretend_outgoing_varargs_named, and
436 calls.promote_function_return hooks. Pass fndecl to
437 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
438 hooks, so they can use that.
439 (emit_library_call_value_1): Likewise.
440 * combine.c (setup_incoming_promotions): Convert to
441 calls.promote_function_args hook.
442 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
443 * expr.c (expand_assignment): Pass call to aggregate_value_p.
444 (expand_expr): Likewise.
445 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
446 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
447 RETURN_IN_MEMORY macro defaults.
448 * final.c (profile_function): Convert to calls.struct_value_rtx
450 * function.c (aggregate_value_p): Accept function type tree as
451 second parameter; try to deduce fntype from it. Convert to
452 calls.return_in_memory hook.
453 (assign_parms): Convert to calls.setup_incoming_varargs,
454 calls.strict_argument_naming, calls.promote_function_args,
455 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
457 (expand_function_start): Likewise. Convert to
458 calls.struct_value_rtx hook.
459 (expand_function_end): Convert to calls.promote_function_return hook.
460 (allocate_struct_function): Pass fndecl to aggregate_value_p.
461 * hard-reg-set.h: Update comments to new hook names.
462 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
463 * reg-stack.c (stack_result): Likewise.
464 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
465 * stmt.c (expand_value_return): Convert to
466 calls.promote_function_return hook.
467 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
468 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
469 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
470 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
471 TARGET_STRICT_ARGUMENT_NAMING,
472 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
473 * target.h: Likewise.
474 * tree.h (aggregate_value_p): Also takes a tree to deduce function
475 attributes from (for target hooks).
476 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
477 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
478 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
479 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
480 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
483 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
484 to aggregate_value_p.
485 * config/arm/arm.c (arm_init_cumulative_args,
486 arm_output_mi_thunk): Likewise.
487 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
489 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
490 mips_can_use_return_insn): Likewise.
491 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
492 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
493 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
495 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
496 function to aggregate_value_p.
497 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
500 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
501 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
502 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
503 (sh_handle_renesas_attribute, sh_promote_prototypes,
504 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
505 sh_setup_incoming_varargs, sh_strict_argument_naming,
506 sh_pretend_outgoing_varargs_named): New decls.
507 (targetm): Add new hooks.
508 (calc_live_regs): Save MACL and MACH if the function has the
510 (sh_expand_prologue): Support renesas attribute.
511 (sh_builtin_saveregs): Make static.
512 (sh_build_va_list): Support renesas attribute.
513 (sh_va_start): Likewise.
514 (sh_va_arg): Likewise.
515 (sh_promote_prototypes): New.
516 (sh_function_arg): New, moved from sh.h. Support renesas
518 (sh_function_arg_advance): Likewise.
519 (sh_return_in_memory): Likewise.
520 (sh_strict_argument_naming): Likewise.
521 (sh_pretend_outgoing_varargs_named): Likewise.
522 (sh_struct_value_rtx): New.
523 (sh_attribute): Add renesas attribute.
524 (sh_handle_renesas_attribute): New.
525 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
526 (sh_ms_bitfield_layout_p): Support renesas attribute also.
527 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
528 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
530 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
532 (sh_args): Add renesas_abi flag.
533 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
534 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
535 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
536 stack for the renesas abi.
537 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
538 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
539 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
540 call cookie to indicate renesas calls.
542 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
544 * gcse.c (replace_one_set): New function.
545 (pre_insert_copy_insn): Change the order of copying
546 to make copy propagation discover additional PRE opportunities.
548 2003-09-03 Roger Sayle <roger@eyesopen.com>
550 PR optimization/11700.
551 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
552 of a hard register is representable before trying to simplify it
553 using subreg_hard_regno.
555 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
557 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
558 * configure: Regenerate.
560 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
562 * intl.h (N_): Remove parentheses.
564 2003-09-03 Bernardo Innocenti <bernie@develer.com>
566 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
567 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
568 definition and code blocks compiled when not defined.
569 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
570 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
571 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
572 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
574 2003-09-03 Jeff Sturm <jsturm@one-point.com>
576 * cgraphunit.c (visited_nodes): New static variable.
577 (record_call_1): Use walk_tree with visited_nodes.
578 (cgraph_create_edges): Use walk_tree with visited_nodes.
579 Setup/teardown visited_nodes hashtable.
581 2003-09-03 Roger Sayle <roger@eyesopen.com>
583 * toplev.c (flag_rounding_math): New global variable.
584 (f_options): Add to the list of language independent options.
585 * flags.h (flag_rounding_math): Prototype here.
586 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
587 * common.opt (frounding-math): New common command line option.
588 * opts.c (common_handle_option): Handle OPT_frounding_math.
589 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
591 * doc/invoke.texi: Document this new command line option.
593 2003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
595 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
597 Wed Sep 3 16:55:25 CEST 2003 Jan Hubicka <jh@suse.cz>
599 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
600 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
601 * c-objc-common.c: Kill include of gt-c-objc-common.h
602 (expand_deferred_fns, deffer_fn): Kill function.
603 (deferred_fns): Kill variable.
604 (finish_cdtor): Update finish_function call.
605 (c_objc_common_finish_file): Always call cgraph code.
606 * c-parse.c: Regenerate.
607 * c-parse.y: Regenerate.
608 * c-tree.h (finish_function): Update prototype.
609 * objc-acct.c (build_module_descriptor, finish_method_def):
610 Update call of finish_function.
611 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
613 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
614 function and assemble it if needed.
615 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
617 (cgraph_optimize): Likewise.
618 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
619 even when it has no inline callees.
620 * c-parse.in: Update calls to finish_function.
622 2003-09-03 Nick Clifton <nickc@redhat.com>
624 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
625 Use #error to generate the message if TARGET_DEFAULT is not
628 2003-09-03 Richard Sandiford <rsandifo@redhat.com>
630 * config/mips/mips.h (MASK_UNUSED1): Remove.
631 (MASK_XGOT, TARGET_XGOT): Define.
632 (TARGET_SWITCHES): Add an entry for -mxgot.
633 (ASM_SPEC): Map -mxgot to -xgot.
634 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
635 whether we're using a big-GOT sequences.
636 (mips_legitimize_const_move, mips_expand_call): Likewise.
637 (override_options): Revert 2003-01-09 change.
638 * doc/invoke.texi: Document -mxgot.
640 2003-09-02 Jason Merrill <jason@redhat.com>
642 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
643 * config/sparc/sol2.h: Not here.
645 2003-09-02 Roger Sayle <roger@eyesopen.com>
647 * expr.c (expand_expr): The code following both_summands performs
648 the same task as simplify_gen_binary. Replace all gotos to
649 both_summands with a call to simplify_gen_binary and delete the
652 2003-09-02 Jason Merrill <jason@redhat.com>
655 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
657 2003-09-02 Jeff Sturm <jsturm@one-point.com>
659 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
660 (cgraph_optimize_function): Set current_function_decl to the
661 fndecl we're integrating from.
663 2003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
665 * builtins.def: Break out _Complex math functions into their
668 2003-09-02 Andreas Jaeger <aj@suse.de>
670 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
672 2003-09-02 Josef Zlomek <zlomekj@suse.cz>
674 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
675 finding the note again.
677 2003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
679 * config.gcc: Remove host-specific rewrites of target_alias.
681 2003-09-01 Mark Mitchell <mark@codesourcery.com>
683 * Makefile.in (genprogs): Fix typo.
685 * Makefile.in (gencheck.o): Remove build commands.
686 (dummy-conditions.o): Likewise.
687 (read-rtl.o): Likewise.
688 (gensupport.o): Likewise.
689 (genconfig$(build_exeext)): Remove rule.
690 (genconfig.o): Remove build commands.
691 (genflags$(build_exeext)): Remove rule.
692 (genflags.o): Remove build commands.
693 (gencodes$(build_exeext)): Remove rule.
694 (gencodes.o): Remove build commands.
695 (genconstants.o): Remove build commands.
696 (genemit$(build_exeext)): Remove rule.
697 (genemit.o): Remove build commands.
698 (genrecog$(build_exeext)): Remove rule.
699 (genrecog.o): Remove build commands.
700 (genextract$(build_exeext)): Remove rule.
701 (genextract.o): Remove build commands.
702 (genpeep$(build_exeext)): Remove rule.
703 (genpeep.o): Remove build commands.
704 (genattr$(build_exeext)): Remove rule.
705 (genattr.o): Remove build commands.
706 (genprognames): New variable.
707 (genprogs): Likewise.
709 (genprogs): New rule.
711 (genattrtab.o): Remove build commands.
712 (genautomata.o): Likewise.
713 (genoutput$(build_exeext)): Remove rule.
714 (genoutput.o): Remove build commands.
715 (gengenrtl.o): Likewise.
716 (genpreds.o): Likewise.
717 (gengtype.o): Likewise.
718 (genconditions.o): Likewise.
719 (gen-protos.o): Likewise.
721 (fix-header.o): Likewise.
722 (scan-decls.o): Likewise.
723 (check-g++): Combine with other check targets.
724 (check-gcc): Likewise.
725 (check-g77): Likewise.
726 (check-objc): Likewise.
728 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
730 * config.gcc: Remove host-specific stuff which is unused here
731 since the introduction of config.host.
733 * doc/fragments.texi: Mention config.host.
734 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
735 of config.build, config.host, and config.gcc.
737 2003-09-01 Zack Weinberg <zack@codesourcery.com>
739 * c-decl.c (pushdecl): Don't put variables on
740 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
743 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
745 * config.host: New file.
746 * config.gcc: Remove some host-specific stuff and some
747 logic needed only for repeated invocation.
748 * configure.in: Use config.host.
749 * configure: Regenerate.
751 2003-09-01 Josef Zlomek <zlomekj@suse.cz>
753 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
754 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
755 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
756 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
757 * tree.def (BIT_ANDTC_EXPR): Kill.
759 2003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
761 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
762 * configure: Regenerate.
764 * config.gcc: Remove references to install_headers_dir, now unused
765 since introduction of config.build.
766 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
768 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
771 * config.build: New file.
772 * config.gcc: Remove some build-specific stuff.
773 * configure.in: Use config.build.
774 * configure: Regnerate.
776 2003-08-31 Steven Bosscher <steven@gcc.gnu.org>
777 Roger Sayle <roger@eyesopen.com>
780 * stmt.c (expand_end_case_type): Only use jump tables for dense
781 switch statements when optimizing for size.
783 2003-08-31 Olivier Hainque <hainque@act-europe.fr>
785 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
786 the != 0 case, which ensures pending stack adjustments are flushed.
788 2003-08-30 Zack Weinberg <zack@codesourcery.com>
790 * configure.frag: Delete file.
791 * configure.in: Rename the substitution variables
792 dep_host_xmake_file and dep_tmake_file to xmake_file and
793 tmake_file respectively. Do not expand $srcdir in the
794 value of these; leave that for Make. Introduce a new
795 substitution varaible, all_lang_makefrags, which lists
796 subdirectory Make-lang.in files; exclude these from
797 all_lang_makefiles, which is now only for subdirectory
798 outputs. Do not invoke configure.frag. Do not set nor
799 AC_SUBST_FILE target_overrides, host_overrides, or
800 language_fragments. Create build subdirectories in
801 config.status extra commands.
802 * configure: Regenerate.
803 * Makefile.in: Update substitutions to match changes to
804 configure. Use include directives instead of @-insertions
805 to read in host, target, and language fragments.
806 (Makefile rule): Do not invoke configure.frag. Do not copy
807 config.status to config.run before executing it. Set
808 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
810 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
812 2003-08-30 Zack Weinberg <zack@codesourcery.com>
814 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
815 * c-typeck.c (same_translation_unit_p): New function.
816 (comptypes): Use it instead of flags parameter to identify
817 structure types from different translation units.
818 * c-decl.c (duplicate_decls): Always call comptypes with
819 COMPTYPE_STRICT flags argument.
820 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
823 2003-08-30 Zack Weinberg <zack@codesourcery.com>
825 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
826 * c-decl.c (struct c_scope): Remove "incomplete" field.
827 (pushdecl): Attach variables with incomplete types to
828 the TYPE_MAIN_VARIANT of the incomplete type in question.
829 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
830 to complete, not at current_scope->incomplete. All such
831 variables do need completion.
833 2003-08-30 Richard Earnshaw <rearnsha@arm.com>
834 Nicolas Pitre <nico@cam.org>
836 * arm/lib1funcs.asm (RETCOND): Delete.
837 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
838 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
839 (__ARM_ARCH__): Move here from ieee754-?f.S.
840 (RET, RETc): Clean up definitions.
841 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
842 (FUNC_END): New macro that marks the end of any function.
843 (ARM_FUNC_START): New macro that allows an assembler routine to be
844 implemented in ARM code even if a Thumb-only build.
845 Unconditionally include ieee754-?f.S.
846 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
847 Mark ends of functions.
848 Split into separate conditionally-compiled units.
849 Use RETLDM to return from routines.
850 * arm/ieee754-sf.S: Similarly.
851 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
852 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
853 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
854 _fixsfsi and _fixunssfsi.
856 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
857 multiplication underflows to zero.
858 (__adddf3): Fix bug when using VFP ordering on little-endian
860 (__fixdfsi): Use rrx to extract the carry into a register instead of
861 MRS instruction. Optimize later use of result.
862 * arm/ieee754-sf.S (__fixsfsi): Likewise.
863 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
865 2003-08-29 Richard Henderson <rth@redhat.com>
867 * tree-optimize.c: New file.
868 * Makefile.in (OBJS-archive): Add tree-optimize.o.
869 (tree-optimize.o): New.
870 * c-decl.c (store_parm_decls): Use allocate_struct_function.
871 (finish_function): Don't free_after_parsing or free_after_compilation.
872 (set_save_expr_context): Move to tree-optimize.c.
873 (c_expand_body_1): Use tree_rest_of_compilation.
874 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
875 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
876 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
877 iterate until closure.
878 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
879 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
880 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
881 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
882 * toplev.h (tree_rest_of_compilation): Declare it.
884 2003-08-29 Richard Henderson <rth@redhat.com>
886 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
887 * integrate.c (save_for_inline): Set saved_for_inline.
888 * c-semantics.c (genrtl_scope_stmt): Check it.
889 * toplev.c (wrapup_global_declarations): Check it.
890 (rest_of_handle_inlining): Set and check rtl_inline_init.
891 (rest_of_compilation): Remove out of date comment.
893 2003-08-29 Richard Henderson <rth@redhat.com>
895 * function.c (allocate_struct_function): New, split out of ...
896 (prepare_function_start, init_function_start): ... here.
897 * expr.c (init_expr): Use ggc_alloc_cleared.
898 * stmt.c (init_stmt_for_function): Likewise.
899 * tree.h (allocate_struct_function): Declare.
901 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
903 * config.gcc: Don't use negated character class in shell case
906 2003-08-29 Richard Henderson <rth@redhat.com>
908 * function.h (struct function): Move function_frequency and
909 max_jumptable_ents before start of bit field members.
911 2003-08-29 Richard Henderson <rth@redhat.com>
913 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
914 (fold_builtin_constant_p) ... not here.
916 2003-08-29 Richard Henderson <rth@redhat.com>
918 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
919 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
920 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
922 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
924 * builtins.def: Fix typos.
925 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
926 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
927 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
928 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
929 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
931 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
932 Use ATTR_MATHFN_FPROUNDING_ERRNO.
934 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
936 * config.gcc (i386-*-vsta): Fix obvious bogosity.
938 * fixinc/inclhack.def: Remove special cases for unsupported
939 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
940 * fixinc/fixincl.x: Regenerate.
942 2003-08-29 Mark Mitchell <mark@codesourcery.com>
944 * Makefile.in (cpp.info): Just state dependencies.
945 (gcc.info): Likewise.
946 (gccint.info): Likewise.
947 (gccinstall.info): Likewise.
948 (cppinternals.info): Likewise.
951 (gccint.dvi): Likewise.
952 (gccinstall.dvi): Likewise.
953 (cppinternals.dvi): Likewise.
959 (fsf-funding.7): Likewise.
960 ($(objdir)/%.info): New pattern rule.
963 2003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
965 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
966 (restage2): Likewise.
967 (restage3): Likewise.
968 (restage4): Likewise.
969 (restageprofile): Likewise.
970 (restagefeedback): Likewise.
971 (bubblestrap): Likewise.
973 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
975 * config.gcc: Narrow unsupported target match to avoid clobbering
978 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
980 * builtins.c (mathfn_built_in): Handle new math builtins.
982 2003-08-28 Per Bothner <per@bothner.com>
984 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
985 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
986 (_cpp_lex_buffer): Likewise.
987 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
989 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
991 * config/s390/s390.md ("*mulsi3_sign"): New insn.
992 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
993 ("mulsidi3"): ... this new insn.
994 ("umulsidi3"): New insn.
995 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
996 mixed-mode matching constraints.
997 ("udivmodsi4", "udivmoddisi3"): New insns.
998 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
1000 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1002 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
1003 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
1004 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
1005 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
1006 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
1007 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
1008 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
1009 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
1010 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
1011 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
1012 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
1013 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
1014 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
1015 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
1016 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
1017 * tree.c: Assign new type_nodes.
1018 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
1019 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
1020 (float_ptr_type_node, double_ptr_type_node,
1021 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
1023 * doc/extend.texi: Document new builtins.
1025 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1027 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
1028 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
1030 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
1031 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
1032 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
1033 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
1034 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
1035 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
1036 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
1037 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
1038 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
1039 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
1041 * doc/extend.texi: Document new builtins.
1043 2003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
1045 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1046 variants of i?86, powerpcle, and thumb.
1047 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1048 arm and hppa variants.
1050 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1052 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
1053 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
1054 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
1055 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
1056 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
1057 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
1058 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
1059 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
1060 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
1061 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
1063 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
1064 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
1065 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
1066 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
1067 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
1068 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
1069 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
1070 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
1071 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
1072 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
1073 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
1074 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
1075 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
1076 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
1077 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
1078 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
1079 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
1080 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
1081 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
1082 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
1083 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
1084 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
1085 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
1086 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
1087 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
1088 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
1089 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
1090 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
1091 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
1092 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
1093 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
1095 * doc/extend.texi: Document new builtins.
1097 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1099 * config/s390/s390.c (legitmate_constant_p): Use LARL on
1100 zSeries machines even in 31-bit addressing mode.
1101 (legitimate_reload_constant_p): Likewise.
1102 (legitimize_pic_address): Likewise.
1103 (legitimize_tls_address): Likewise.
1104 (s390_split_branches): Likewise.
1105 (s390_dump_pool): Likewise.
1106 (s390_mainpool_finish): Likewise.
1107 (s390_chunkify_start): Likewise.
1108 (s390_select_rtx_section): Likewise.
1109 * config/s390/s390.md ("doloop_si"): Likewise.
1110 ("pool_start_31", "pool_end_31"): Likewise.
1111 ("pool_start_64", "pool_end_64"): Likewise.
1112 ("main_base_31_small", "main_base_31_large"): Likewise.
1113 ("main_base_64"): Likewise.
1114 ("reload_base_31", "reload_base_64"): Likewise.
1115 ("*movsi_larl"): New insn.
1116 ("cjump", "icjump"): Use long branches on zSeries machines.
1118 ("call"): Use BRASL on zSeries machines.
1119 ("call_value", "call_value_tls"): Likewise.
1120 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
1122 ("*bras", "*brasl", "*basr") ... these new insns.
1123 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
1124 "bas_31_r"): Remove and replace by ...
1125 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
1126 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
1127 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
1128 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
1129 ("*return_si", "*return_di"): Remove and replace by ...
1130 ("*return"): ... this new insn.
1131 ("rotlsi3"): Allow on zSeries machines.
1133 * config/s390/s390.c (legitimize_reload_constant_p): Use
1134 LL/LH type instructions in z/Architecture mode.
1135 * config/s390/s390.md ("*movsi_lli"): Likewise.
1136 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
1137 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
1138 ("*extendqisi2"): Use LB in z/Architecture mode.
1139 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
1140 z/Architecture mode.
1141 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
1144 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
1146 ("ptr_extend"): Allow only in 64-bit mode.
1148 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
1150 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
1151 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
1153 (main): Only use standard_startfile_prefix if native.
1154 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
1156 2003-08-27 Per Bothner <pbothner@apple.com>
1158 * cpperror.c (print_location): Don't check for !pfile->buffer. That
1159 test fails following my 08-21 change, and it seems unnecessary anyway.
1160 (cpp_error): Likewise.
1162 2003-08-27 Jason Merrill <jason@redhat.com>
1164 * real.c (do_multiply): Initialize with memset.
1166 2003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1168 * gcov.c (typedef struct arc_info): New field cs_count.
1169 (accumulate_line_counts): Find cycles correctly.
1171 2003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
1173 * config/s390/s390.c (struct machine_function): Remove member
1175 (s390_optimize_prolog): Replace TEMP_REG argument with
1176 TEMP_USED and BASE_USED. Do not check get_pool_size ().
1177 (general_s_operand): Accept all immediates before reload if
1178 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
1180 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
1181 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
1182 (s390_alloc_pool): New function.
1183 (s390_new_pool): Call it.
1184 (s390_dump_pool): Add REMOTE_LABEL argument.
1185 (s390_chunkify_start): Add BASE_REG argument. Do not check
1187 (s390_chunkify_finish): Add BASE_REG argument. Adapt
1188 s390_dump_pool call.
1189 (s390_pool_count, s390_nr_constants): Remove.
1190 (s390_output_constant_pool): Remove.
1191 (s390_mainpool_start): New function.
1192 (s390_mainpool_finish): New function.
1193 (s390_mainpool_cancel): New function.
1194 (s390_reorg): Implement main literal pool handling.
1195 (s390_emit_prologue): Emit main_pool placeholder instead of
1196 literal_pool_31 / literal_pool_64 insns.
1197 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
1198 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
1199 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
1200 ("main_base_31_small", "main_base_31_large"): New insns.
1201 ("main_base_64", "main_pool"): New insns.
1202 ("literal_pool_31", "literal_pool_64"): Remove.
1204 2003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
1206 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
1208 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
1210 * fixinc/fixincl.x: Regenerate.
1212 2003-08-27 Richard Earnshaw <rearnsha@arm.com>
1214 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
1215 (L_ieee754_dp): New. Include ieee754-df.S.
1216 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
1217 and compilation in apcs-26 mode.
1218 * arm/ieee754-df.S: Likewise.
1219 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
1220 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
1222 2003-08-27 Nicolas Pitre <nico@cam.org>
1224 * arm/ieee754-sf.S: New.
1225 * arm/ieee754-df.S: New.
1227 2003-08-27 Jakub Jelinek <jakub@redhat.com>
1229 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
1230 and restore it if returning NULL.
1232 2003-08-27 Richard Sandiford <rsandifo@redhat.com>
1234 * calls.c (initialize_argument_information): If an argument has no
1235 stack space associated with it, and BLOCK_REG_PADDING is defined,
1236 use it to decide at which end the argument should be padded.
1237 * function.c (assign_parms): Allocate BLKmode stack slots.
1238 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
1239 (mips_pad_reg_upward): Declare.
1240 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
1241 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
1242 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
1243 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
1244 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
1245 (mips_expand_call): Remove code for generating structure shifts.
1246 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
1247 types unless using the EABI.
1248 (function_arg_advance): Don't generate shift instructions.
1249 (function_arg): Don't return them. Don't short-circuit the
1250 check for double structure chunks for DFmode arguments.
1251 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
1252 (mips_expand_prologue): Remove code to emit structure shifts.
1253 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
1254 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
1255 comments to say that only structure returns are a problem.
1257 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1259 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
1260 Fix to match produced versions.
1261 * fixinc/inclhack.def (longlong_t): New disabled test, ported
1263 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
1265 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
1266 ported from fixinc.ptx.
1268 2003-08-26 Per Bothner <pbothner@apple.com>
1270 * cpplib.h (struct cpp_token): Change type of field line to fileline.
1271 (cpp_error_with_line): Use fileline for appropriate parameter.
1272 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
1273 (struct cpp_reader): Likewise for fields line and directive_line.
1274 (_cpp_begin_message): Use fileline for appropriate parameter.
1275 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
1276 cpp_error): Use fileline for appropriate parameters and variables.
1277 (print_location): New local lin, since it is not a fileline.
1279 2003-08-26 Roger Sayle <roger@eyesopen.com>
1282 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
1283 (FLOAT_TYPE_P): Define in terms of these two new macros.
1284 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
1285 for complex floating point types.
1287 2003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
1289 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
1290 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
1291 s390_output_pool_entry.
1293 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1295 * fixinc/inclhack.def (svr4_preproc_lint_on,
1296 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
1297 fixes, ported from fixinc.svr4.
1299 2003-08-26 Mark Mitchell <mark@codesourcery.com>
1301 * doc/install.texi (Prerequisites): Mention GNU make requirement.
1303 * Makefile.in (AR_FOR_TARGET): Export it.
1304 (AR_CREATE_FOR_TARGET): Likewise.
1305 (AR_FLAGS_FOR_TARGET): Likewise.
1306 (AR_EXTRACT_FOR_TARGET): Likewise.
1308 (BUILD_PREFIX): Likewise.
1309 (BUILD_PREFIX_1): Likewise.
1310 (DESTDIR): Likewise.
1311 (GCC_FOR_TARGET): Likewise.
1312 (INCLUDES): Likewise.
1313 (INSTALL_DATA): Likewise.
1314 (LIB1ASMSRC): Likewise.
1315 (LIBGCC2_CFLAGS): Likewise.
1316 (MACHMODE_H): Likewise.
1317 (NM_FOR_TARGET): Likewise.
1318 (RANLIB_FOR_TARGET): Likewise.
1319 (libsubdir): Likewise.
1320 (slibdir): Likewise.
1321 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
1323 (libgcc.a): Don't pass them here.
1324 (stmp-multilib): Or here.
1325 (install-libgcc): Or here.
1326 (install-multilib): Or here.
1327 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
1328 (stage1_build): Or here.
1330 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1332 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
1333 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
1335 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1337 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
1338 "*fmaddsf", "*fmsubsf"): New insns.
1340 2003-08-26 Roger Sayle <roger@eyesopen.com>
1342 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
1343 (C1*C2)/X when unsafe math optimizations are allowed.
1344 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
1345 math optimizations. Minor code clean-ups. Recursively call
1346 fold when constructing sub-expressions.
1348 2003-08-26 Roger Sayle <roger@eyesopen.com>
1350 * builtins.c (fold_builtin_bitop): New function to perform constant
1351 folding of ffs, clz, ctz, popcount and parity builtin functions
1352 and their long and long long variants (such as ffsl and ffsll).
1353 (fold_builtin): fold_builtin_bitop when appropriate.
1354 * simplify-rtx.c (simplify_unary_operation): Honor both
1355 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
1356 evaluating clz and ctz at compile-time, for operands wider
1359 2003-08-26 Nathan Sidwell <nathan@codesourcery.com>
1361 * builtins.c (build_function_call_expr): Don't set
1362 TREE_SIDE_EFFECTS here.
1363 * expr.c (emit_block_move_via_libcall): Likewise.
1364 (clear_storage_via_libcall): Likewise.
1365 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
1368 * gcse.c (is_too_expensive): New function.
1369 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
1371 2003-08-25 Zack Weinberg <zack@codesourcery.com>
1373 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
1374 commented-out logic to use DCE threads (if present), add
1375 support for POSIX threads.
1376 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
1377 #defines for -pthread. Add -lpthread to LIB_SPEC when
1378 -pthread. In both cases take -mt as a synonym for -pthread
1379 for acc compatibility.
1380 Define GTHREAD_USE_WEAK to 0.
1381 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
1382 Remove old logic for DCE threads from LIB_SPEC.
1383 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
1385 2003-08-25 Roger Sayle <roger@eyesopen.com>
1387 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
1388 return 0 for invalid argument types. Instead drop through to a
1389 call of expand_call at the bottom of function. If op is SQRT,
1390 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
1392 2003-08-25 Richard Henderson <rth@redhat.com>
1394 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
1395 result when op0 is SImode.
1397 2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
1399 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
1401 * fixinc/fixincl.x: Regenerate.
1402 * fixinc/tests/base/sys/signal.h: Regenerate.
1404 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1406 * combine.c (simplify_comparison): Re-enable widening of comparisons
1407 with non-paradoxical subregs of non-REG expressions.
1409 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1411 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
1413 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1415 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
1417 2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1419 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
1420 * c-pretty-print.h (c_pretty_printer): Now typedef to the
1421 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
1422 (struct c_pretty_print_info): Document. Add new fields.
1423 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
1424 (pp_direct_abstract_declarator): New macro.
1425 (pp_ptr_operator): Likewise.
1426 (pp_simple_type_specifier): Likewise.
1427 (pp_expression): Likewise.
1428 (pp_parameter_list): Rename from pp_parameter_declaration.
1429 * c-pretty-print.c (pp_c_whitespace): Now a function.
1430 (pp_c_left_paren): Likewise.
1431 (pp_c_right_paren): Likewise.
1432 (pp_c_dot): Likewise.
1433 (pp_c_ampersand): Likewise.
1434 (pp_c_arrow): Likewise.
1435 (pp_c_semicolon): Likewise.
1436 (pp_c_type_cast): New function.
1437 (pp_c_space_for_pointer_operator): Likewise.
1438 (pp_c_call_argument_list): Likewise.
1439 (pp_c_cv_qualifier): Adjust prototype.
1440 (pp_c_type_qualifier_list): Likewise.
1441 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
1442 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
1443 Adjust to follow standard grammar.
1444 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
1445 REFERENCE_TYPE. Tidy.
1446 (pp_c_parameter_type_list): Adjust prototype. Tidy.
1447 (pp_c_parameter_declaration): Remove.
1448 (pp_c_abstract_declarator): Adjust prototype.
1449 (pp_c_direct_abstract_declarator): Likewise.
1450 (pp_c_type_id): Likewise.
1451 (pp_c_storage_class_specifier): Likewise.
1452 (pp_c_function_specifier): Likewise.
1453 (pp_c_declaration_specifiers): Likewise.
1454 (pp_c_direct_declarator): Likewise.
1455 (pp_c_declarator): Likewise.
1456 (pp_c_declarator): Likewise.
1457 (pp_c_declaration): Likewise.
1458 (pp_c_attributes): Likewise. Tidy.
1459 (pp_c_function_definition): Adjust prototype.
1460 (pp_c_char): Likewise.
1461 (pp_c_string_literal): Likewise.
1462 (pp_c_integer_constant): Likewise.
1463 (pp_c_character_constant): Likewise.
1464 (pp_c_bool_constant): Likewise.
1465 (pp_c_enumeration_constant): Likewise.
1466 (pp_c_floating_constant): Likewise.
1467 (pp_c_constant): Likewise.
1468 (pp_c_identifier): Likewise.
1469 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
1470 (pp_c_initializer): Adjust prototype.
1471 (pp_c_init_declarator): Likewise.
1472 (pp_c_initializer_list): Likewise.
1473 (pp_c_id_expression): Likewise.
1474 (pp_c_postfix_expression): Likewise.
1475 (pp_c_expression_list): Likewise.
1476 (pp_c_unary_expression): Likewise.
1477 (pp_c_cast_expression): Likewise.
1478 (pp_c_multiplicative_expression): Likewise.
1479 (pp_c_additive_expression): Likewise.
1480 (pp_c_shift_expression): Likewise.
1481 (pp_c_relational_expression): Likewise.
1482 (pp_c_equality_expression): Likewise.
1483 (pp_c_and_expression): Likewise.
1484 (pp_c_exclusive_or_expression): Likewise.
1485 (pp_c_inclusive_or_expression): Likewise.
1486 (pp_c_logical_and_expression): Likewise.
1487 (pp_c_logical_or_expression): Likewise.
1488 (pp_c_conditional_expression): Likewise.
1489 (pp_c_assignment_expression): Likewise.
1490 (pp_c_expression): Likewise. Tidy.
1491 (pp_c_statement): Likewise. Document.
1492 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
1494 * c-lang.c (c_initialize_diagnostics): Update.
1495 * c-common.h (strip_pointer_operator): Declare.
1496 * c-common.c (strip_pointer_operator): Define.
1498 2003-08-25 Mark Mitchell <mark@codesourcery.com>
1501 * tree.h (build_method_type_directly): Declare.
1502 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
1503 (vector_size_helper): Likewise.
1504 * tree.c (build_method_type_directly): New function.
1505 (build_method_type): Use it.
1507 2003-08-24 Richard Henderson <rth@redhat.com>
1509 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
1510 for 16-byte vector modes if sse not enabled; warn for abi change.
1511 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
1513 2003-08-24 Kazu Hirata <kazu@cs.umass.edu>
1515 * rtlanal.c (may_trap_p): Simplify an integer comparison.
1517 2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
1519 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
1520 comment. Enable for DYNIX/ptx systems (when they switch to
1521 regular fixincludes).
1522 * fixinc/fixincl.x: Regenerate.
1524 2003-08-23 Jason Eckhardt <jle@rice.edu>
1526 * config/i860/t-i860: New.
1527 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
1529 2003-08-23 Jakub Jelinek <jakub@redhat.com>
1531 * c-decl.c (pushdecl): Only put decls which finish_struct will do
1532 something about onto incomplete chain.
1533 (finish_struct): If not removing type from incomplete
1536 Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka <jh@suse.cz>
1539 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
1542 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
1543 const_0_to_15_operand, const_0_to_255_operand): New predicates.
1544 * i386.h (PREDICATE_CODES): Add these.
1545 * i386.c (pinsrw and pextrw patterns): Use them.
1548 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
1551 * expr.c (convert_modes): Deal properly with integer to vector
1552 constant conversion.
1555 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
1557 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
1559 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
1560 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
1561 ("*movhi"): ... this.
1562 ("movqi", "*movqi"): Likewise.
1563 ("movqi_64"): Remove.
1564 ("*zero_extendhisi2_31"): Change predicate to s_operand.
1566 2003-08-23 Dale Johannesen <dalej@apple.com>
1567 * calls.c (emit_library_call_value_1): Fix obvious errors in
1568 arguments to emit_group_store.
1570 2003-08-23 Jason Eckhardt <jle@rice.edu>
1572 * calls.c (emit_library_call_value_1): Remove code related
1573 to LIBGCC_NEEDS_DOUBLE.
1574 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
1575 * doc/tm.texi: Likewise.
1576 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
1578 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
1580 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
1582 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
1584 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
1585 as well. Put memory references in the varargs alias set.
1586 (mips_expand_prologue): Remove varargs handling from here.
1588 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
1590 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
1591 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
1592 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
1593 for function pointer calls.
1594 * config/s390/s390.md ("*negdi2_31"): Likewise.
1596 2003-08-23 Roger Sayle <roger@eyesopen.com>
1598 * combine.c (apply_distributive_law): Correct comment.
1600 2003-08-23 Jason Eckhardt <jle@rice.edu>
1602 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
1604 2003-08-22 Jason Eckhardt <jle@rice.edu>
1606 * config/i860/i860.c (i860_build_va_list): Create the va_decl
1607 declaration. Document the va_list structure.
1608 (i860_va_start): Initialize the va_list structure.
1609 (i860_va_arg): Rewrite completely.
1610 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
1611 * config/i860/varargs.asm: Do not allocate or initialize
1612 a va_list. Return the address of the register save area.
1614 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1616 * config/iq2000/iq2000.c: Fix comment typos.
1617 * config/iq2000/iq2000.md: Likewise.
1619 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1621 * config/iq2000/iq2000.c: Follow spelling conventions.
1622 * config/iq2000/iq2000.h: Likewise.
1623 * config/mn10300/mn10300.c: Likewise.
1625 2003-08-22 Jason Eckhardt <jle@rice.edu>
1627 * config/i860/i860.c (output_move_double): Don't set latehalf
1628 to zero for CONST_INT (since it could be, e.g., -1).
1630 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
1631 (MODSI3_LIBCALL): ...with this one.
1632 (UREMSI3_LIBCALL): Replace this macro...
1633 (UMODSI3_LIBCALL): ...with this one.
1635 2003-08-22 Jason Eckhardt <jle@rice.edu>
1637 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
1638 (output_delayed_branch): Remove prototype.
1639 (single_insn_src_p): Remove prototype.
1640 * config/i860/i860.c (single_insn_src_p): Remove function.
1641 (output_delayed_branch): Remove function.
1642 (output_delay_insn): Remove function.
1643 (va_start): Remove unconditional test and dead code, re-format.
1644 Fix coding style and spelling problems in various comments.
1645 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
1646 (blockage pattern): ...and use it here.
1647 (all define_peephole patterns related to delayed branches): Remove.
1648 Fix coding style and spelling problems in various comments.
1650 2003-08-22 Jason Eckhardt <jle@rice.edu>
1652 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
1653 Remove all uses of the PARAMS macro. Remove superflous prototypes.
1654 Convert all function definitions from traditional to ISO C90 syntax.
1655 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
1656 with 'GCC'. Remove all uses of the PARAMS macro.
1657 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
1658 * config/i860/i860.md: Likewise.
1659 * config/i860/sysv4.h: Likewise.
1660 * config/i860/varargs.asm: Likewise.
1662 2003-08-22 Jason Eckhardt <jle@rice.edu>
1664 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
1666 (tdesc_section): Add prototype.
1667 Update copyright dates.
1668 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
1669 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
1670 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
1671 (targetm): Likewise.
1672 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
1673 for '%d' where necessary.
1674 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
1675 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
1676 by UNITS_PER_WORD when referencing (likewise for .floats).
1677 (I860_SVR4_VARARGS): Rename...
1678 (I860_SVR4_VA_LIST): ...to this.
1679 Call build() with 't' rather than 'field'.
1680 (i860_rtx_costs): New function.
1681 (TARGET_RTX_COSTS): Define.
1682 (i860_internal_label): New function.
1683 (TARGET_ASM_INTERNAL_LABEL): Define.
1684 (i860_file_start): New function.
1685 Update copyright dates.
1686 * config/i860/i860.h (CPP_PREDEFINES): Remove.
1687 (TARGET_CPU_CPP_BUILTINS): Define.
1688 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
1689 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
1690 (ASM_FILE_START): Remove.
1691 (ASM_FILE_START_1): Remove.
1692 (ASM_GLOBALIZE_LABEL): Remove.
1693 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
1694 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
1695 with targetm.asm_out.internal_label.
1696 Update copyright dates.
1697 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
1698 (CPP_PREDEFINES): Remove.
1699 (TARGET_OS_CPP_BUILTINS): Define.
1700 (GLOBAL_ASM_OP): Define.
1701 (ASM_FILE_START): Remove.
1702 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
1703 (TARGET_ASM_FILE_START): Define.
1704 Update copyright dates.
1706 2003-08-22 Jason Eckhardt <jle@rice.edu>
1708 * gcc/config.gcc (i860-*-sysv4*): Add target.
1709 * config/i860/i860-protos.h: New.
1710 * config/i860/i860.c: New.
1711 * config/i860/i860.h: New.
1712 * config/i860/i860.md: New.
1713 * config/i860/sysv4.h: New.
1714 * config/i860/varargs.asm: New.
1715 * config/i860/x-sysv4: New.
1717 2003-08-22 Jason Eckhardt <jle@rice.edu>
1719 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
1720 Remove all uses of PARAMS macro.
1721 Convert all function definitions to ISO C90 syntax.
1722 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
1723 * config/pa/fptr.c: Likewise.
1724 * config/pa/lib2funcs.asm: Likewise.
1725 * config/pa/long_double.h: Likewise.
1726 * config/pa/milli64.S: Likewise.
1727 * config/pa/pa-64.h: Likewise.
1728 * config/pa/pa-hpux.h: Likewise.
1729 * config/pa/pa-hpux10.h: Likewise.
1730 * config/pa/pa-hpux11.h: Likewise.
1731 * config/pa/pa-linux.h: Likewise.
1732 * config/pa/pa-modes.def: Likewise.
1733 * config/pa/pa-osf.h: Likewise.
1734 * config/pa/pa-pro-end.h: Likewise.
1735 * config/pa/pa.md: Likewise.
1736 * config/pa/pa32-linux.h: Likewise.
1737 * config/pa/pa64-linux.h: Likewise.
1738 * config/pa/pa64-hpux.h: Likewise.
1739 * config/pa/pa64-regs.h: Likewise.
1740 * config/pa/quadlib.c: Likewise.
1741 * config/pa/rtems.h: Likewise.
1742 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
1743 all uses of the PARAMS macro.
1744 * config/pa/pa.h: Likewise.
1745 * config/pa/som.h: Likewise.
1747 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
1748 Remove all uses of PARAMS macro.
1749 Convert all function definitions to ISO C90 syntax.
1750 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
1751 Remove all uses of PARAMS macro.
1752 * config/iq2000.h: Remove all uses of PARAMS macro.
1753 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
1755 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
1757 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
1758 * config/s390/s390.c (gen_consttable): Remove.
1759 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
1760 (s390_output_pool_entry): New function.
1761 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
1762 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
1763 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
1764 (UNSPECV_POOL_ENTRY): ... this new constant.
1765 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
1766 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
1767 ("*pool_entry"): ... and replace by this new insn.
1768 ("literal_pool_31"): Do not emit anchor label if pool empty.
1770 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
1771 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
1772 (s390_fixup_clobbered_return_reg): Remove.
1773 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
1774 (s390_return_addr_rtx): Always retrieve return address from save area
1775 slot. Use save_return_addr_p to force slot to be filled.
1776 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
1778 2003-08-22 Chris Demetriou <cgd@broadcom.com>
1780 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
1781 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
1782 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
1783 around SB-1 errata if TARGET_FIX_SB1 is set.
1784 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
1785 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
1787 2003-08-22 Roger Sayle <roger@eyesopen.com>
1789 * hashtable.c (ht_expand): Avoid calculating rehash for the common
1790 case that the first probe hits an empty hash table slot.
1792 2003-08-22 Mark Mitchell <mark@codesourcery.com>
1794 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
1796 2003-08-22 Mark Mitchell <mark@codesourcery.com>
1798 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
1799 (ptr_extend_plus_imm): ... this.
1800 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
1801 optimization in C++.
1802 (ia64_output_mi_thunk): Support ILP32 mode.
1804 2003-08-22 bernardo innocenti <bernie@develer.com>
1806 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
1808 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
1810 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1812 * config/i386/i386.c (const_int_1_operand): Simplify an
1815 2003-08-22 Alan Modra <amodra@bigpond.net.au>
1817 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
1818 * config/rs6000/ppc64-fp.c: Likewise.
1820 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1822 * cfgcleanup.c: Fix comment typos.
1823 * emit-rtl.c: Likewise.
1824 * optabs.c: Likewise.
1825 * ra-build.c: Likewise.
1826 * rtlanal.c: Likewise.
1829 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1831 * c-decl.c: Fix comment formatting.
1832 * cfgrtl.c: Likewise.
1833 * combine.c: Likewise.
1834 * convert.c: Likewise.
1835 * dominance.c: Likewise.
1836 * dwarf2out.c: Likewise.
1837 * dwarfout.c: Likewise.
1838 * expmed.c: Likewise.
1839 * fold-const.c: Likewise.
1841 * genattrtab.c: Likewise.
1842 * ggc-common.c: Likewise.
1843 * mips-tfile.c: Likewise.
1844 * regmove.c: Likewise.
1846 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1848 * builtin-attrs.def: Fix comment formatting.
1849 * c-pretty-print.c: Likewise.
1850 * diagnostic.h: Likewise.
1851 * langhooks.h: Likewise.
1852 * recog.c: Likewise.
1853 * simplify-rtx.c: Likewise.
1854 * tree.def: Likewise.
1856 2003-08-22 Bernardo Innocenti <bernie@develer.com>
1858 * config/m68k/m68k-protos.h: Convert to ISO C90.
1859 * config/m68k/m68k.c: Likewise.
1861 2003-08-21 Bernardo Innocenti <bernie@develer.com>
1862 Paul Dale <pauli@snapgear.com>
1863 Peter Barada <peter@baradas.org>
1865 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
1868 2003-08-21 Zack Weinberg <zack@codesourcery.com>
1870 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
1871 * config.gcc (*-*-openbsd): Don't set tm_file.
1872 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
1873 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
1874 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
1875 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
1876 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
1877 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
1878 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
1879 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
1880 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
1881 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
1882 xscale-*-coff): Use explicit and complete lists of target headers
1883 to include. Move definitions to tm_defines where appropriate.
1884 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
1885 not-yet-contributed configuration.
1887 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
1888 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
1889 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
1890 * config/i386/nto.h, config/iq2000/iq2000.h,
1891 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
1892 * config/m68k/linux.h, config/m68k/m68k-aout.h
1893 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
1894 * config/m68k/netbsd.h, config/m68k/openbsd.h
1895 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
1896 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
1897 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
1898 Remove includes of other target config headers, and
1899 definitions of macros moved to tm_defines lists. Add #undefs
1900 where now necessary to prevent redefinition warnings.
1902 * config/h8300/coff.h: New file split out of...
1903 * config/h8300/elf.h: ...here.
1904 * config/m68k/hp320base.h: New file split out of...
1905 * config/m68k/hp320.h: ...here.
1906 * config/rs6000/lynxbase.h: New file split out of...
1907 * config/rs6000/lynx.h: ...here.
1909 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
1910 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
1912 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
1913 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
1914 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
1915 Remove unnecessary #ifndef.
1916 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
1917 [under IN_LIBGCC2] with config/.
1919 2003-08-21 Per Bothner <pbothner@apple.com>
1921 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
1923 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
1924 by return_at_eof check. Always call _cpp_pop_buffer at end.
1926 2003-08-21 Kazu Hirata <kazu@cs.umass.edu>
1929 * config/h8300/h8300.md (two anonymous patterns): Remove.
1931 2003-08-21 Richard Sandiford <rsandifo@redhat.com>
1933 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
1934 * config/mips/mips.c (function_arg_pass_by_reference): Never return
1937 2003-08-21 Josef Zlomek <zlomekj@suse.cz>
1939 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
1940 and similarly in (A | C) == D where C & ~D != 0.
1942 2003-08-20 Geoffrey Keating <geoffk@apple.com>
1945 * configure.in: When testing with_libs and with_headers, treat
1946 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
1947 * configure: Regenerate.
1949 2003-08-20 Peter Barada <peter@baradas.org>
1951 * longlong.h (umul_ppmm): Add ColdFire support.
1953 2003-08-20 Peter Barada <peter@baradas.org>
1954 Bernardo Innocenti <bernie@develer.com>
1956 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
1957 * config/m68k/m68k.h: Likewise.
1958 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
1959 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
1960 * config/m68k/linux.h: Likewise.
1961 * config/m68k/m68k.c: Likewise.
1962 * config/m68k/m68k.md: Likewise.
1963 * config/m68k/m68kelf.h: Likewise.
1964 * config/m68k/netbsd-elf.h: Likewise.
1965 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
1967 2003-08-20 Bernardo Innocenti <bernie@develer.com>
1969 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
1970 * config/m68k/m68k.md: Likewise.
1972 2003-08-20 Mark Mitchell <mark@codesourcery.com>
1976 2003-08-19 Mark Mitchell <mark@codesourcery.com>
1977 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
1978 types with precisions other than those given by native machine
1981 2003-08-20 Gunther Nikl <gni@gecko.de>
1983 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
1984 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
1985 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
1986 * config/m68k/m68k.md (anonymous define_insn): Likewise
1987 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
1988 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
1989 code selected by NO_ASM_FMOVECR
1991 2003-08-20 Gunther Nikl <gni@gecko.de>
1993 * config/m68k/m68k.c (output_move_const_into_data_reg,
1994 output_move_himode): unify MOTOROLA/MIT handling of moveq
1995 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
1998 2003-08-20 Gunther Nikl <gni@gecko.de>
2000 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
2002 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
2003 HOST_WIDE_INT_PRINT_DEC with %wd
2005 2003-08-20 Loren James Rittle <ljrittle@acm.org>
2007 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
2010 2003-08-20 Roger Sayle <roger@eyesopen.com>
2013 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
2014 operands before calling tree_int_cst_lt when performing associative
2017 2003-08-20 Jason Merrill <jason@redhat.com>
2019 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
2020 (EXPR_CHECK): Don't check for 'r' or 's' if we're
2021 checking IS_EXPR_CODE_CLASS.
2022 * calls.c (calls_function_1): Likewise.
2023 * fold-const.c (fold): Likewise.
2024 * tree.c (iterative_hash_expr): Likewise.
2025 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
2027 2003-08-20 Gunther Nikl <gni@gecko.de>
2029 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
2030 depending on MOTOROLA_BSR
2031 * config/m68k/m68k.md (anonymous define_insn): Likewise
2033 2003-08-20 Jason Merrill <jason@redhat.com>
2035 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
2036 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2037 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
2038 * dojump.c (do_jump): Likewise.
2039 * fold-const.c (operand_equal_p, fold): Likewise.
2040 (tree_expr_nonnegative_p): Likewise.
2042 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
2043 TYPE_USER_ALIGN for FIELD_DECLs.
2045 * attribs.c (decl_attributes): Rebuild the function pointer type after
2046 changing the target type.
2047 * tree.c (get_qualified_type): Also check that the attributes match.
2049 2003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
2051 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
2052 * objc/config-lang.in (stagestuff): ... to here.
2054 2003-08-19 Mark Mitchell <mark@codesourcery.com>
2057 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
2058 NOP_EXPR) when necessary.
2059 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2060 types with precisions other than those given by native machine
2063 2003-08-19 Geoffrey Keating <geoffk@apple.com>
2065 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
2066 because some macro is defined.
2068 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
2070 * config/i386/darwin.h (ASM_SPEC): New.
2071 (SUBTARGET_EXTRA_SPECS): New.
2072 * config/rs6000/darwin.h (ASM_SPEC): New.
2073 (SUBTARGET_EXTRA_SPECS): New.
2074 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
2075 a cross-compiler between two different processors on Darwin.
2076 * configure: Regenerate.
2078 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2080 * builtins.c: Fix comment typos.
2081 * c-common.c: Likewise.
2082 * c-decl.c: Likewise.
2083 * c-pretty-print.c: Likewise.
2084 * cfgbuild.c: Likewise.
2085 * cfglayout.c: Likewise.
2086 * cfgloopanal.c: Likewise.
2087 * cgraphunit.c: Likewise.
2088 * cppfiles.c: Likewise.
2089 * dwarfout.c: Likewise.
2091 * fold-const.c: Likewise.
2093 * ggc-page.c: Likewise.
2094 * haifa-sched.c: Likewise.
2095 * pretty-print.c: Likewise.
2098 * value-prof.c: Likewise.
2100 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2102 * c-decl.c: Follow spelling conventions.
2103 * cppfiles.c: Likewise.
2105 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2107 * c-common.c: Fix comment formatting.
2108 * c-common.h: Likewise.
2109 * c-decl.c: Likewise.
2110 * cppinit.c: Likewise.
2111 * cpplib.h: Likewise.
2112 * emit-rtl.c: Likewise.
2113 * input.h: Likewise.
2114 * line-map.h: Likewise.
2117 * simplify-rtx.c: Likewise.
2119 2003-08-19 Daniel Jacobowitz <drow@mvista.com>
2121 * unwind-c.c: Add libgcc-style exception.
2122 * unwind-dw2.c: Likewise.
2123 * unwind-pe.h: Likewise.
2124 * unwind-sjlj.c: Likewise.
2125 * unwind.inc: Likewise.
2127 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2129 PR c/5582 PR c++/10538
2130 * langhooks-def.h (lhd_decl_uninit): Declare.
2131 (LANG_HOOKS_DECL_UNINIT): New macro.
2132 (LANG_HOOKS_INITIALIZER): Adjust.
2133 * langhooks.h (struct lang_hooks): Add new field
2135 * langhooks.c (lhd_decl_uninit): Define.
2136 * c-common.c (c_decl_uninit_1): New function.
2137 (c_decl_uninit): New function.
2138 (warn_init_self): Define.
2139 * c-common.h (c_decl_uninit): Declare.
2140 (warn_init_self): Declare.
2141 * c.opt: Introduce -Winit-self.
2142 * c-opts.c (c_common_handle_options): Set warn_init_self.
2143 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2144 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2145 * function.c (uninitialized_vars_warning): Call the language hook.
2146 * doc/invoke.texi: Document -Winit-self.
2148 2003-08-19 Chris Demetriou <cgd@broadcom.com>
2150 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
2151 to use better predicates and constraints. Define new
2152 instruction to handle "trap_if" with DI-mode arguments.
2153 (conditional_trap): FAIL if trap code is not 0.
2155 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2157 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
2158 strstr with $pb to a strcompare with "<pic base>"
2159 (ix86_output_addr_diff_elt): Output the real pic base.
2161 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
2163 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
2164 (LANG_HOOKS_INITIALIZER): Correct.
2165 * c-lang.c: Likewise.
2167 2003-08-19 Jan Hubicka <jh@suse.cz>
2169 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
2170 (cgraph_varpool_mark_needed_node): Likewise.
2171 * cgraph.h (notice_global_symbol): Declare
2172 * varasm.c (notice_global_symbol): Break out from ...
2173 (assemble_start_function): ... here; update for variables.
2174 (assemble_variable): Use notice_global_symbol.
2176 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
2178 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
2179 expect SFmode and DFmode arguments to be passed in FPRs,
2180 regardless of the underlying type.
2182 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
2185 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
2186 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
2188 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
2191 * c-typeck.c (set_init_index): Check for negative index.
2193 2003-08-18 Bob Wilson <bob.wilson@acm.org>
2195 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
2197 * config/xtensa/crtn.asm (_init, _fini): Likewise.
2198 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2199 __umodsi3, __modsi3): Likewise.
2200 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
2203 2003-08-18 Aldy Hernandez <aldyh@redhat.com>
2205 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
2207 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2209 * config/mips/mips.md: Quote C code in braces. Remove use of
2210 fake const0_rtx operands. Remove double backslashes. Use \;.
2211 Remove workarounds for bogus warnings.
2213 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2215 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
2216 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
2217 rather than TARGET_MIPS4300.
2218 (mulsf3_internal, mulsf3_r4300): Likewise.
2220 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2222 * config/mips/mips.md: Renumber unspecs. Clean up comments.
2224 2003-08-17 Roger Sayle <roger@eyesopen.com>
2226 * simplify-rtx.c (associative_constant_p): New function to test
2227 whether an RTX expression is an immediate constant.
2228 (simplify_associative_operation): New function to perform some
2229 reassociation optimizations of associative binary expressions.
2230 (simplify_binary_operation): Use simplify_associative_operation
2231 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
2232 Floating point expressions are only reassociated when unsafe
2233 math optimizations are permitted.
2235 2003-08-17 Andreas Jaeger <aj@suse.de>
2237 * config/alpha/alpha.md: Remove usage of PARAMS.
2239 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
2240 * config/i386/i386-interix.h: Likewise.
2241 * config/i386/winnt.c: Likewise.
2242 * config/i386/cygming.h: Likewise.
2243 * config/i386/cygwin2.c: Likewise.
2244 * config/darwin.c: Likewise.
2245 * config/darwin-c.c: Likewise.
2246 * config/darwin-protos.h: Likewise.
2247 * config/darwin.h: Likewise.
2248 * config/s390/s390-protos.h: Likewise.
2249 * config/s390/s390.c: Likewise.
2250 * config/ia64/ia64.c: Likewse
2251 * config/ia64/ia64-protos.h: Likewise.
2252 * config/ia64/ia64-c.c: Likewise.
2254 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2256 * config/sparc/sparc.c: Convert to ISO C.
2258 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
2259 * config/sparc/sparc.c: Likewise.
2261 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
2264 * stmt.c (expand_expr_stmt_value): Don't warn about any void
2267 2003-08-16 Jan Hubicka <jh@suse.cz>
2269 * i386.c (ix86_fntype_regparm): Rename from ...
2270 (ix86_function_regparm): ... this one; add fastcall and local
2272 (ix86_function_ok_for_sibcall): Update.
2273 (ix86_return_pops_args): Likewise.
2274 (init_cumulative_args): Likewise.
2275 (x86_can_output_mi_thunk): Likewise.
2276 (function_arg): Fix formating.
2277 (x86_this_parameter): Fix fastcall.
2278 (x86_output_mi_thunk): Likewise.
2280 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
2281 body as reachable; mark nested functions as needed too.
2282 (dump_cgraph): Do not output global.calls.
2283 * cgraph.h (cgraph_global_info): Kill.
2284 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
2285 (record_call_1): Speedup.
2286 (cgraph_analyze_function): Break out from ...; compute inlining
2288 (cgraph_finalize_compilation_unit): ... here.
2289 (cgraph_mark_inline): Kill computation of calls.
2290 (cgraph_decide_inlining): Do not compute most of initial values.
2292 2003-08-14 Roger Sayle <roger@eyesopen.com>
2294 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
2295 to negate if either operand is easy to negate, if we don't care
2296 about sign-dependent rounding.
2297 (negate_expr): Make the logic to negate a REAL_CST explicit.
2298 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
2299 that's easy to negate, if we don't honor sign-dependent rounding.
2300 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
2301 negate, and the symmetric A * -B as -A * B if A is easy to negate.
2302 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
2303 -C/D if B and C are cheap to negate. Add an explicit rule to
2304 optimize X/-1.0 as -X when we don't care about signaling NaNs.
2306 2003-08-14 Zack Weinberg <zack@codesourcery.com>
2308 * Makefile.in (tm_file): Rename tm_include_list.
2309 (tm_p_file): Rename tm_p_include_list.
2310 (build_xm_file): Rename build_xm_include_list.
2311 (host_xm_file): Rename host_xm_include_list.
2312 (xm_file): Rename xm_include_list.
2313 (xm_file_list): Add to be substituted.
2314 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
2316 (bt-load.o): Add missing dependency on $(TM_H).
2317 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
2318 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
2319 build_xm_file, generate both *_file_list and *_include_list
2320 values from it. (xm_file_list was formerly not being generated.)
2321 In *_include_list, prefix the names of all headers found in
2322 $(srcdir)/config with config/. In each loop, consider only
2323 the special case files that can actually appear in that list.
2324 AC_SUBST all *_file_list and all *_include_list variables; do
2325 not AC_SUBST the plain *_file variables.
2326 * configure: Regenerate.
2328 2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2330 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
2332 2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2334 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
2336 (attr_length_call): Include it here. Improve length estimate for
2338 (output_call): Use targetm.binds_local_p.
2340 2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2342 * builtins.c (CASE_MATHFN): New helper macro.
2343 (mathfn_built_in): Simplify and sort.
2345 * protoize.c (substr): Delete, callers changed to `strstr'.
2347 2003-08-13 Zack Weinberg <zack@codesourcery.com>
2349 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
2350 * config/iq2000/xm-iq2000.h: Delete file.
2352 2003-08-13 Geoffrey Keating <geoffk@apple.com>
2354 * gengtype.c (walk_type): Process a subobject before processing
2355 the pointer that points to the subobject.
2357 2003-08-13 Per Bothner <pbothner@apple.com>
2359 * regclass.c (init_reg_modes): Make non-static.
2360 Rename to init_reg_modes_once per new naming convention.
2361 (init_regs): Don't call init_reg_modes here.
2362 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
2363 * rtl.h (init_reg_modes_once): New declaration.
2364 * toplev.c (backend_init): Call init_regs after init_emit_once.
2366 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
2368 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
2369 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
2371 2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
2373 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
2374 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
2376 2003-08-13 Dale Johannesen <dalej@apple.com>
2378 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
2379 handling of decrement-and-branch farther than 32 bits.
2381 2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
2383 * configure.in (make_compare_target): Move test to ...
2384 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
2385 * configure: Regenerate.
2387 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
2389 * config/mips/iris6.h: Convert to C90 prototypes.
2390 * config/mips/irix6-libc-compat.c: Likewise.
2391 * config/mips/mips-protos.h: Likewise.
2392 * config/mips/mips.c: Likewise.
2394 2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
2396 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
2397 for selected machines. Comment heavily.
2398 fixinc/fixincl.x: Rebuild.
2399 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
2401 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
2403 * config/mips/mips.h: Tweak various comments.
2404 * config/mips/mips.c: Likewise.
2406 2003-08-11 James E Wilson <wilson@tuliptree.org>
2408 PR optimization/11319
2410 * alias.c (find_base_value, case REG): Return 0 not src if no base
2413 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2415 * gcse.c (gmalloc): Fix last change.
2417 2003-08-11 Roger Sayle <roger@eyesopen.com>
2419 * simplify-rtx.c (simplify_binary_operation): Replace calls to
2420 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
2421 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
2422 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
2424 2003-08-11 Roger Sayle <roger@eyesopen.com>
2426 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
2427 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
2428 typecode for an ABS_EXPR.
2430 * doc/c-tree.texi: Document ABS_EXPR.
2432 2003-08-11 Roger Sayle <roger@eyesopen.com>
2434 * fold-const.c (fold): Optimize any associative floating point
2435 operator with -funsafe-math-optimizations, not just MULT_EXPR.
2437 2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
2439 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
2440 information in SHmedia case too.
2441 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
2443 (__set_fpscr): Use an access via GOT for PIC case.
2445 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
2447 * configure.in (intermodule): Make switch test more portable.
2448 * configure: Regenerate.
2450 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
2452 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
2453 (restrap): Likewise.
2455 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2457 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
2458 (grealloc): Size argument is a size_t.
2459 (gcalloc): New function. Use throughout in lieu of
2462 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
2464 * config/ia64/ia64.c (ia64_reorg): Likewise.
2465 * conflict.c (conflict_graph_new): Likewise.
2466 * fixinc/fixincl.c (run_compiles): Likewise.
2467 * genattrtab.c (optimize_attrs): Likewise.
2468 * genrecog.c (new_decision): Likewise.
2469 * haifa-sched.c (schedule_block): Likewise.
2470 * hashtable.c (ht_create): Likewise.
2472 2003-08-11 Bob Wilson <bob.wilson@acm.org>
2474 * config/xtensa/lib2funcs.S: Fix whitespace.
2475 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
2476 syntax where appropriate. Remove unnecessary backslash escapes.
2477 Reformat comments and fix some code formatting.
2478 (extendqisi2): Rearrange conditional.
2479 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
2480 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
2483 2003-08-11 Richard Sandiford <rsandifo@redhat.com>
2485 * config/mips/mips.c: Various formatting fixes.
2486 (override_options): Resync -mtune handling with gas.
2487 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
2488 * config/mips/mips.h: More formatting fixes.
2489 (mips_abi): Move declaration.
2490 * config/mips/mips.md (exception_receiver): Add mode to
2493 2003-08-11 Aldy Hernandez <aldyh@redhat.com>
2495 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
2497 (bdesc_1arg): Remove evsplati and evsplatfi.
2499 2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
2501 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
2504 2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2506 * builtins.c (expand_builtin_strcat): Optimize constant strings.
2508 2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
2510 * pretty-print.c (pp_base_indent): Rename from pp_indent.
2511 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
2512 (struct c_pretty_print_info): Add more fields.
2513 (pp_c_left_paren): Move to c-pretty-print.c.
2514 (pp_c_right_paren): Likewise.
2515 (pp_c_left_brace): Likewise.
2516 (pp_c_right_brace): Likewise.
2517 (pp_c_left_bracket): Likewise.
2518 (pp_c_right_bracket): Likewise.
2519 (pp_c_declarator): Declare.
2520 (pp_c_direct_declarator): Likewise.
2521 (pp_c_specifier_qualifier_list): Likewise.
2522 (pp_c_type_id): Likewise.
2523 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
2524 (pp_c_type_qualifier_list): New.
2525 (pp_c_pointer): Likewise.
2526 (pp_c_parameter_type_list): Likewise.
2527 (pp_c_function_definition): Likewise.
2528 (pp_c_id_expression): Likewise.
2529 (pp_c_simple_type_specifier): Tidy.
2530 (pp_c_unary_expression): Likewise.
2531 (pp_c_expression): Likewise.
2532 (pp_c_pretty_printer_init): Likewise.
2533 (pp_c_specifier_qualifier_list): Rework..
2534 (pp_c_abstract_declarator): Likewise.
2535 (pp_c_postfix_expression): Likewise.
2536 (pp_c_primary_expression): Likewise.
2537 (pp_c_cast_expression): Likewise.
2538 (pp_c_direct_abstract_declarator): Likewise.
2539 (pp_c_storage_class_specifier): Likewise.
2540 (pp_c_function_specifier): Likewise.
2541 (pp_c_declaration_specifiers): Likewise.
2542 (pp_c_direct_declarator): Likewise.
2543 (pp_c_declarator): Likewise.
2544 (pp_c_declaration): Likewise.
2545 (pp_c_statement): Likewise.
2546 (pp_c_integer_constant): Rename from pp_c_integer_literal.
2547 (pp_c_character_constant): Rename from pp_c_character_literal.
2548 (pp_c_bool_constant): Rename from pp_c_bool_literal.
2549 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
2550 (pp_c_floating_constant): Rename from pp_c_real_literal.
2551 (pp_c_constant): Rename from pp_c_literal.
2552 * c-lang.c: Include diagnostic.h and c-pretty-print.h
2553 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
2554 (c_initialize_diagnostics): New.
2555 * Makefile.in (c-lang.o): Update dependency.
2557 2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
2559 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
2561 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
2563 * config/mips/mips.c (mips_no_mips16_string): Remove.
2564 (override_options): Don't handle -mips16 as part of -mipsN.
2565 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
2566 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
2567 (TARGET_OPTIONS): Remove -mno-mips16.
2569 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
2571 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
2572 (coprocessor2_operand): Likewise.
2573 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
2574 (lookup_name): Remove declaration.
2575 (abort_with_insn): Remove. Replace all uses with fatal_insn.
2576 (mips16, mips_abicalls): Remove.
2577 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
2578 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
2579 (coprocessor_operand, coprocessor2_operand): Remove.
2580 (override_options): Don't set mips16 or mips_abicalls.
2581 (print_operand): Don't expect SIGN_EXTEND operands.
2582 (mips_secondary_reload_class): Likewise.
2583 (mips_output_conditional_branch): Remove disabled long-branch code.
2584 * config/mips/mips.h (call_used_regs): Remove declaration.
2585 (may_call_alloca): Likewise.
2586 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
2587 (mips_abicalls, mips16): Remove declarations.
2588 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
2589 (CC1_SPEC): Remove outdated comment.
2590 (MIPS_VERSION, MACHINE_TYPE): Remove.
2591 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
2592 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
2593 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
2594 (PUSH_ROUNDING): Likewise.
2595 (ASSEMBLER_SCRATCH_REGNUM): Remove.
2596 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
2597 and mips16 with TARGET_MIPS16.
2599 2003-08-09 Per Bothner <pbothner@apple.com>
2601 * cppinit.c (cpp_read_main_file): Split out source-independent
2602 initialization to separate function ...
2603 (cpp_post_options): New function.
2604 * cppfiles.c (cpp_stack_file): Rename public name to ...
2605 (_cpp_stack_file): New internal function name.
2606 * cpplib.h: Update accordingly.
2607 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
2608 (cpp_read_main_file): Don't initialize line here.
2609 * c-opts.c (c_common_post_options): Call cpp_post_options.
2610 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
2611 * fix-header.c (read_scan_file): Call cpp_post_options.
2613 2003-08-09 Per Bothner <per@bothner.com>
2615 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
2617 2003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2619 * pa.c (pa_asm_output_mi_thunk): Fix typo.
2621 2003-08-09 Neil Booth <neil@daikokuya.co.uk>
2623 PR preprocessor/11839
2624 * cppfiles.c (open_file): Handle ENOTDIR.
2626 2003-08-09 Richard Sandiford <rsandifo@redhat.com>
2629 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
2631 2003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2633 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
2634 source/destination is not a register operand.
2636 2003-08-08 Richard Henderson <rth@redhat.com>
2639 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
2640 RETURN_ADDRESS_POINTER_REGNUM.
2641 (ia64_expand_prologue): Don't frob it.
2642 (ia64_output_function_epilogue): Likewise.
2643 (ia64_return_addr_rtx): New.
2644 (ia64_split_return_addr_rtx): New.
2645 * config/ia64/ia64-protos.h: Update.
2646 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
2647 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
2648 (GENERAL_REGNO_P): Don't check it.
2649 (AR_*_REGNUM): Renumber.
2650 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
2651 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
2652 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
2653 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
2654 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
2655 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
2656 (movdi_ret_addr): New.
2658 2003-08-08 Geoffrey Keating <geoffk@apple.com>
2660 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
2662 2003-08-08 Roger Sayle <roger@eyesopen.com>
2664 * tree.h (get_identifier) Define a macro form of get_identifier
2665 that calls get_identifier_with_length when the string is constant.
2666 (get_identifier_with_length): Change type of second argument to
2667 size_t in prototype.
2668 * stringpool.c (get_identifier): Undefine the macro before giving
2669 the function definition.
2670 (get_identifier_with_length): Change type of second argument to
2671 size_t in function definition.
2672 * hashtable.c (calc_hash): Change type of second argument to size_t.
2673 (ht_lookup): Change type of third argument to size_t. Reorganize
2674 to speed-up the cases where the hash table slot is empty, or the
2675 first probe matches (i.e. there isn't a collision).
2676 * hashtable.h (ht_lookup): Adjust function prototype.
2678 2003-08-08 Bernardo Innocenti <bernie@develer.com>
2682 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
2684 2003-08-08 Neil Booth <neil@daikokuya.co.uk>
2686 * common.opt: Add debug switches.
2687 * flags.h (use_gnu_debug_info_extensions): Boolify.
2688 * opts.c (write_symbols, debug_info_level,
2689 use_gnu_debug_info_extensions): Move from toplev.c.
2690 (set_debug_level): New.
2691 (common_handle_options): Handle debug switches.
2692 (print_help): Display target options directly.
2693 * toplev.c (debug_hooks): Don't initialize.
2694 (write_symbols, debug_info_level,
2695 use_gnu_debug_info_extensions): Move to opts.c.
2696 (debug_args, display_help, decode_g_option): Remove.
2697 (process_options): Set no debug if level zero here,
2698 and no-debug-hooks. Error here if impossible debug format selected.
2699 * toplev.h (display_help, decode_g_option): Remove.
2701 2003-08-08 Richard Sandiford <rsandifo@redhat.com>
2703 * tree.c (get_file_function_name_long): Fix size of alloca() area.
2705 2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
2707 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
2708 and gcc_cv_prog_cmp_skip.
2709 * configure: Regenerate.
2711 2003-08-08 Stan Cox <scox@redhat.com>
2713 * config/iq2000: New port.
2714 * config.gcc (iq2000-*-elf): Added.
2715 * doc/install.texi (Specific): Add iq2000 description.
2717 2003-08-08 Andreas Schwab <schwab@suse.de>
2719 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
2720 and insert missing empty argument.
2721 * configure: Regenerate.
2723 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2725 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
2726 (attr_length_millicode_call): Likewise.
2727 (attr_length_call): Likewise. Revise some maximum insn lengths.
2728 (attr_length_indirect_call): Likewise.
2729 (output_call): Fix thinko that added extra nop.
2730 * pa.h (IN_NAMED_SECTION_P): Define.
2733 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
2734 __STDC_EXT__ when using C++ dialect.
2736 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
2738 * sh.c (calc_live_regs): If the return address pointer is live,
2740 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
2741 for saves / restores.
2742 (sh_expand_epilogue): If sh_media_register_for_return returns a
2743 register number, flag the instructions that restores PR_MEDIA_REG
2745 Remove dead update of offset.
2746 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
2747 we can use the result of get_hard_reg_initial_val.
2748 * sh.md (UNSPEC_RA): New constant.
2749 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
2750 (load_ra). Handle UNSPEC_RA.
2751 (sibcall_media): Use PR_MEDIA_REG.
2753 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
2754 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
2755 needs saving on SHmedia.
2757 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
2759 * config/s390/s390.md: Replace all occurrences of \\t with \t.
2761 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
2763 * local-alloc.c (combine_regs): Fix comment typo.
2765 2003-08-06 Zack Weinberg <zack@codesourcery.com>
2767 * c-decl.c (builtin_decls): Replace with first_builtin_decl
2768 and last_builtin_decl.
2769 (c_init_decl_processing): Initialize both.
2770 (c_reset_state): Iterate from first_builtin_decl to
2771 last_builtin_decl inclusive to reintroduce builtins.
2773 2003-08-06 David Mosberger <davidm@hpl.hp.com>
2775 * doc/extend.texi (Function Attributes): Document the IA-64 version
2776 of the "model" attribute.
2778 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
2779 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
2780 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
2782 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
2783 (ia64_encode_section_info): Likewise.
2784 (ia64_attribute_table): Add "model" attribute.
2785 (TARGET_ENCODE_SECTION_INFO): Define.
2786 (small_addr_symbolic_operand): New function.
2787 (got_symbolic_operand): Return 0 for a symbolref to an object
2788 in the small address area.
2789 (enum ia64_addr_area): New type.
2790 (small_ident1): New variable.
2791 (small_ident2): Likewise.
2792 (init_idents): New function.
2793 (ia64_get_addr_area): Likewise.
2794 (ia64_encode_addr_area): Likewise.
2795 (ia64_encode_section_info): Likewise.
2796 (ia64_expand_load_address): For symbolic references to objects in
2797 the small-address-area, load the address via gen_rtx_SET() (which,
2798 eventually, will expand into "addl").
2800 2003-08-06 Per Bothner <pbothner@apple.com>
2802 * line-map.h (fileline): New typedef.
2803 (struct line_map, linemap_add, linemap_lookup): Use it.
2804 * input.h (struct location_s): Comment notes that long-term we want
2805 to replace it by fileline.
2807 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
2809 Fix SHcompact exception handling:
2810 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
2811 by the prologue, return a MEM with return_address_pointer_rtx
2813 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
2814 (RETURN_ADDR_OFFSET): Don't define.
2815 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
2816 registers that are visible in compact mode. Show that SHmedia
2817 registers still exist in compact mode, even if there are not
2819 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
2820 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
2821 and DW_EH_PE_pcrel for pic data.
2822 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
2823 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
2824 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
2825 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
2826 * sh.md (movsi_media-1): New splitter.
2828 2003-08-06 Graeme Peterson <gp@qnx.com>
2830 * config/i386/nto.h: New.
2831 * config/i386/t-nto: New.
2832 * config.gcc (i[34567]86-*-nto-qnx*): New.
2834 2003-08-06 Phil Edwards <pme@gcc.gnu.org>
2836 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
2838 2003-08-06 Alan Modra <amodra@bigpond.net.au>
2840 * calls.c (load_register_parameters): Arrange for call_fusage to
2841 report the whole register as used when shifting to the msb.
2843 2003-08-05 Roger Sayle <roger@eyesopen.com>
2845 * builtins.c (expand_builtin): When not optimizing, call the library
2846 function for all builtins that have library functions (except alloca).
2848 2003-08-05 Alexandre Oliva <aoliva@redhat.com>
2850 * c.opt: Introduce -fworking-directory.
2851 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
2852 * c-common.h (flag_working_directory): Declare.
2853 * c-common.c (flag_working_directory): Define.
2854 * c-opts.c (c_common_handle_options): Set it.
2855 (sanitize_cpp_opts): Set...
2856 * cpplib.h (struct cpp_options): ... working_directory option.
2857 (struct cpp_callbacks): Add dir_change.
2858 * cppinit.c (read_original_filename): Call...
2859 (read_original_directory): New. Look for # 1 "directory//"
2861 (cpp_read_main_file): Call dir_change callback if working_directory
2863 * gcc.c (cpp_unique_options): Pass -g*.
2864 * c-lex.c (cb_dir_change): New.
2865 (init_c_lex): Set dir_change callback.
2866 * toplev.c (src_pwd): New static variable.
2867 (set_src_pwd, get_src_pwd): New functions.
2868 * toplev.h (get_src_pwd, set_src_pwd): Declare.
2869 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
2870 * dwarf2out.c (gen_compile_unit_die): Likewise.
2871 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
2873 2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2875 * pretty-print.h (pp_set_line_maximum_length): Make macro.
2876 (pp_set_prefix): Likewise.
2877 (pp_destroy_prefix): Likewise.
2878 (pp_remaining_character_count_for_line): Likewise.
2879 (pp_clear_output_area): Likewise.
2880 (pp_formatted_text): Likewise.
2881 (pp_last_position_in_text): Likewise.
2882 (pp_emit_prefix): Likewise.
2883 (pp_append_text): Likewise.
2884 (pp_flush): Likewise.
2885 (pp_format_text): Likewise.
2886 (pp_format_verbatim): Likewise.
2887 (pp_tree_identifier): Tidy.
2888 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
2889 (pp_base_format_verbatim): Rename from pp_format_verbatim.
2890 (pp_base_flush): Rename from pp_flush.
2891 (pp_base_set_line_maximum_length): Rename from
2892 pp_set_line_maximum_length.
2893 (pp_base_clear_output_area): Rename from pp_clear_output_area.
2894 (pp_base_set_prefix): Rename from pp_set_prefix.
2895 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
2896 (pp_base_emit_prefix): Rename from pp_emit_prefix.
2897 (pp_base_append_text): Rename from pp_append_text.
2898 (pp_base_formatted_text): Rename from pp_formatted_text.
2899 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
2900 (pp_base_remaining_character_count_for_line): Rename from
2901 pp_remaining_character_count_for_line.
2902 * diagnostic.h (diagnostic_format_decoder): Tidy.
2903 (diagnostic_flush_buffer): Likewise.
2904 * c-pretty-print.h: (pp_c_string_literal): Declare.
2905 (pp_c_real_literal): Likewise.
2906 (pp_c_integer_literal): Likewise.
2907 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
2909 (pp_c_character_literal): Tidy.
2910 (pp_c_string_literal): Make public.
2911 (pp_c_bool_literal): Likewise.
2912 (pp_c_integer_literal): Likewise.
2913 (pp_c_real_literal): Likewise.
2915 * Makefile.in (C_PRETTY_PRINT_H): New variable.
2916 (c-pretty-print.o): Update dependence.
2918 2003-08-05 Chris Demetriou <cgd@broadcom.com>
2920 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
2921 ".set nomacro" state.
2922 (fix_truncsfsi2_macro): Likewise.
2924 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
2926 * tree.h (DID_INLINE_FUNC): Remove macro.
2927 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
2928 add tree check for FUNCTION_DECL.
2929 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
2930 (struct tree_decl): Rename inlined_function_flag to
2931 declared_inline_flag.
2932 * c-common.h (c_lang_decl): Remove.
2933 (DECL_ESTIMATED_INSNS): Remove.
2934 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
2935 (DECL_DECLARED_INLINE_P): Remove.
2936 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
2937 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
2938 (finish_function): Make uninlinable a bool. Fixup call to
2939 tree_inlinable_function_p() and fix some code style issues.
2940 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
2941 * cgraph.c (dump_cgraph): Likewise.
2942 * cgraphunit.c (cgraph_decide_inlining): Likewise
2943 (cgraph_finalize_compilation_unit): Likewise.
2944 Also update call to tree_inlinable_function_p().
2945 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
2946 look at DECL_DECLARED_INLINE and reverse logic.
2947 * print-tree.c (print_node): Likewise.
2948 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
2949 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
2951 * tree-inline.c (inlinable_function_p): Split up in this function to
2952 check for basic inlining inhibiting conditions, and new
2953 limits_allow_inlining() function. Warn if inlining is impossible
2954 because the inline candidate calls alloca or uses sjlj exceptions.
2955 (limits_allow_inlining): this new function to check if the inlining
2956 limits are satisfied. Throttle from currfn_max_inline_insns, not from
2957 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
2958 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
2960 (tree_inlinable_function_p): Make a bool. Update call to
2961 inlinable_function_p
2962 (expand_call_inline): Use limits_allow_inlining() when not in
2963 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
2964 instead see if the function was declared `inline'.
2966 2003-08-05 Josef Zlomek <zlomekj@suse.cz>
2968 * gcse.c (try_replace_reg): Fix updating of note.
2970 2003-08-04 Roger Sayle <roger@eyesopen.com>
2973 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
2974 logic in negate_expr, i.e. we don't invert (A-B) for floating
2975 point types unless flag_unsafe_math_optimizations.
2977 2003-08-04 Roger Sayle <roger@eyesopen.com>
2979 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
2980 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
2981 for floating point expressions with -ffast-math.
2982 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
2983 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
2985 2003-08-04 Roger Sayle <roger@eyesopen.com>
2987 * c-common.c (flag_noniso_default_format_attributes): Delete.
2988 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
2989 (c_attrs_initialized): Delete.
2990 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
2991 always call c_init_attributes.
2992 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
2993 set c_attrs_initialized when done.
2994 (c_common_insert_default_attributes): Delete.
2995 * c-common.h (flag_noniso_default_format_attributes): Delete.
2996 (c_coomon_insert_default_attributes): Delete prototype.
2997 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
2998 flag_noniso_default_format_attributes.
3000 * c-decl.c (c_insert_default_attributes): Delete.
3001 * c-tree.h (c_insert_default_attributes): Delete prototype.
3003 * attribs.c (decl_attributes): Don't call insert_default_attributes
3004 langhook. Update function description comment.
3005 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
3006 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
3007 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
3008 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
3010 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
3013 2003-08-04 Richard Sandiford <rsandif@redhat.com>
3015 * config/mips/mips.c (override_options): Disable -G on targets that
3016 have no .section support.
3017 (mips_select_section): Use default_select_section for such targets.
3019 2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
3021 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
3022 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
3023 * fixinc/fixincl.x: Rebuild.
3024 * fixinc/tests/base/regexp.h: New test.
3026 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
3028 * c-ppoutput.c (cb_line_change): Don't skip line changing while
3029 parsing macro arguments in the top-level context.
3031 2003-08-04 Neil Booth <neil@daikokuya.co.uk>
3033 * config.in: Remove HAVE_LSTAT.
3034 * configure, configure.in: Don't test for lstat.
3036 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3038 * opts.c (decode_options): Do language-specific initialization for
3039 the global diagnostic context.
3040 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
3041 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
3042 (LANG_HOOKS_INITIALIZER): Adjust.
3043 * langhooks.h (struct lang_hooks): Add new field
3044 initialize_diagnostics.
3045 * langhooks.c (lhd_initialize_diagnostics): Define.
3047 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3049 * pretty-print.h: Adjust macro definitions.
3050 * pretty-print.c (pp_newline): Rename to pp_base_newline.
3051 (pp_character): Rename to pp_base_character.
3052 (pp_string): Rename to pp_base_string.
3053 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
3054 (pp_newline): Likewise. Adjust.
3055 (pp_c_char): Adjust.
3057 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3059 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
3060 BUILT_IN_LLABS): Move to miscellaneous section.
3062 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
3064 PR preprocessor/11534
3065 * cppexp.c (parse_defined): Warn only if -pedantic.
3067 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
3069 * cppfiles.c (stack_file): Use file path.
3071 2003-08-02 Roger Sayle <roger@eyesopen.com>
3073 * builtin-types.def (BT_SSIZE): New primitive type.
3074 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
3075 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
3076 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
3077 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
3078 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
3079 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
3080 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
3081 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
3082 few functions that define default attributes using it.
3083 * c-common.c (c_common_insert_default_attributes): Do nothing.
3085 * doc/extend.texi: Document these "new" builtins.
3087 2003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
3089 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
3090 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
3091 when -mieee-fp set and -shared not set.
3092 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
3094 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
3096 * cppfiles.c (struct _cpp_file): Rename once_only_next to
3097 next_file. Remove import and pragma_once, add once_only.
3098 (find_file): Add new file structures to the all_files list.
3099 (should_stack_file): Mark #import-ed files once-only, and
3100 don't stack them if the file has already been stacked.
3101 (_cp_mark_file_once_only): Simplify.
3102 * cpphash.h (struct cpp_reader): Rename once_only_files
3103 to all_files. Rename saw_pragma_once to seen_once_only.
3104 (_cpp_mark_file_once_only): Update prototype.
3105 * cpplib.c (do_pragma_once): Update.
3107 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
3109 * cppfiles.c (ENOTDIR): Remove.
3110 (open_file_in_dir): Rename find_file_in_dir. Handle errors
3111 other than ENOENT here.
3112 (once_only_file_p): Rename should_stack_file.
3113 (find_file, open_file_failed, read_file_guts): Report errors
3114 with full path name.
3115 (read_file): Move pch handling to should_stack_file.
3116 (should_stack_file): Handle PCH and once-only issues, and
3118 (stack_file): Don't do file reads.
3120 2003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3122 * libgcov.c (gcov_exit): Cleanup and fix.
3123 * profile.c (compute_value_histograms): Don't try to read profiles
3124 that are not present.
3126 2003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3128 * builtins.def: Categorize.
3130 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
3132 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
3134 2003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
3136 * config.gcc: Enable posix threads by default on darwin.
3138 2003-08-01 Jakub Jelinek <jakub@redhat.com>
3140 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
3141 even if nehedges1 is 0.
3143 2003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
3145 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
3146 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
3147 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
3150 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
3151 * fixinc/fixincl.x: Regenerate.
3152 * fixinc/tests/base/math.h: Regenerate to match test_text change.
3154 2003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3156 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
3158 2003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3160 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
3161 for accesses to exc_ptr.
3163 2003-08-01 Geoffrey Keating <geoffk@apple.com>
3165 * doc/sourcebuild.texi (Front End Directory): Don't make references
3166 to libsubdir, it's not part of the interface to frontends.
3167 * doc/install.texi (Configuration): Help users read faster by saying
3168 that GCC's configure options are the standard autoconf ones.
3169 Mention --libdir. Update the default rules for finding the
3170 assembler. Don't use libsubdir since we haven't said what it means.
3171 (Specific): In the Solaris 7 notes, update the place to put the
3173 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
3174 * doc/cpp.texi (Search Path): Actually, the search path
3175 depends on libdir, which can relocate with cpp.
3176 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
3177 now a private interface between the Makefile and the driver.
3179 2003-08-01 Richard Henderson <rth@redhat.com>
3181 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
3183 * varasm.c (lookup_constant_def): New function.
3184 * rtl.h (lookup_constant_def): Declare it.
3185 * dwarf2out.c (loc_descriptor_from_tree): Use it.
3186 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
3188 2003-08-01 Zack Weinberg <zack@codesourcery.com>
3190 * c-decl.c (gettags, pushdecl_function_level): Delete.
3191 (last_function_parm_vars): Rename last_function_parm_others.
3192 (current_function_parm_vars): Rename current_function_parm_others.
3193 (struct c_scope): Rewrite comment explaining this data structure.
3194 Add names_last, blocks_last, parms_last fields. Rename
3195 incomplete_list to incomplete.
3196 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
3197 (poplevel): Ignore second argument. No need to nreverse
3198 anything. Restructure such that each list is processed
3199 exactly once. Use 'const location_t *locus' syntactic sugar
3200 variable where useful. Issue unused variable warnings
3201 ourselves, do not rely on function.c.
3202 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
3203 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
3204 (implicitly_declare): decl cannot be error_mark_node.
3205 (undeclared_variable): Manipulate scope structure directly.
3206 (c_make_fname_decl): Likewise.
3207 (getdecls, c_init_decl_processing): Fix comment.
3208 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
3209 for 'last' variable.
3210 (grokparms): No need to nreverse parms list.
3211 (store_parm_decls_newstyle): Set up the parms_last and
3212 names_last fields of the new scope too.
3213 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
3214 on parms to begin with; check this under ENABLE_CHECKING. Set
3216 (check_for_loop_decls): Refer directly to current_scope->tags.
3217 Use consistent quote style in diagnostics.
3218 (c_write_global_declarations): The names list is not backward.
3220 * c-common.h: Don't prototype gettags.
3221 * c-parse.in: Call poplevel with second argument 0 always.
3223 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3225 * builtins.def: Resort builtins.
3227 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3229 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
3230 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
3231 Prepend "__builtin_" onto NAME with string concatenation. Remove
3232 explicit "__builtin_" from each macro call.
3234 Reformat entire file.
3236 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3238 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3239 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
3241 2003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
3243 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
3244 CCL1, or CCL2 modes with floating point operations.
3246 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
3247 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
3248 "*subdf3_cconly"): New insns.
3249 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
3251 2003-08-01 Neil Booth <neil@daikokuya.co.uk>
3253 * Makefile.in: Refine dependencies.
3254 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
3255 * c.opt: Update help for -Wimport.
3256 * cppfiles.c: Include hashtab.h. Update comments.
3257 (stack_file): Read the file before updating dependencies.
3258 (once_only_file_p): Be smarter about marking once-only files.
3259 (_cpp_mark_file_once_only): Correct the check for existence on
3261 (open_file_failed): Use name not path, which is NULL.
3262 * cpphash.h: Don't include hashtab.h.
3263 (struct _cpp_file): Remove.
3264 (struct cpp_reader): Update.
3265 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
3266 * cpplib.h (struct cpp_options): Remove warn_import.
3267 (cpp_simplify_path): Remove.
3269 2003-08-01 Nathan Sidwell <nathan@codesourcery.com>
3272 * doc/extend.texi (Statement Expressions): Document C++ semantics.
3274 2003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
3276 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
3278 2003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3280 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
3282 * builtins.def: Likewise.
3284 2003-07-31 Jason Merrill <jason@redhat.com>
3286 * Makefile.in (bubblestrap): Don't require a previous full
3289 * expr.c (mostly_zeros_p): No longer static.
3290 * tree.h: Declare it.
3291 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
3292 unless we need to do substitutions.
3294 2003-07-31 Roger Sayle <roger@eyesopen.com>
3296 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
3297 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
3298 as pow(x,2.0) when the latter will be expanded back into x*x.
3299 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
3300 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
3301 pow can never set errno when used with an integer exponent.
3302 Always use expand_powi when exponent is -1, 0, 1 or 2.
3303 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
3304 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
3305 the pow forms of these expressions.
3307 2003-07-31 Geoffrey Keating <geoffk@apple.com>
3309 * Makefile.in (libexecdir): New.
3310 (libsubdir): Use gcc instead of gcc-lib.
3311 (libexecsubdir): New.
3312 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
3313 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
3315 (installdirs): Make libexecsubdir.
3316 (install-common): Put executables in libexecsubdir.
3317 (itoolsdir): Use libexecsubdir.
3318 (itoolsdatadir): New.
3319 (install-mkheaders): Separate data files and executables.
3320 (install-collect2): Put executables in libexecsubdir.
3321 (uninstall): Remove libexecsubdir.
3322 * mkheaders.in: Update for new arrangement of files.
3324 (libexecsubdir): New.
3325 (itoolsdir): Use libexecsubdir.
3326 (itoolsdatadir): New.
3327 * gcc.c (gcc_libexec_prefix): New.
3328 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
3329 (standard_exec_prefix_1): Use libexec.
3330 (standard_exec_prefix_2): New.
3331 (standard_libexec_prefix): New.
3332 (process_command): Update for new arrangement of files. Compute
3333 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
3335 2003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
3337 * inclhack.def (stdio_va_list): Avoid bogus replacement which
3338 triggers on Interix.
3339 * fixincl.x: Regenerate.
3341 2003-07-31 Jakub Jelinek <jakub@redhat.com>
3343 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
3344 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
3346 2003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3348 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
3350 2003-07-31 Per Bothner <pbothner@apple.com>
3352 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
3353 (add_input_filename): New function.
3354 (handle_options): Call add_input_filename directly instead of
3356 * opts.h (in_fnames, num_in_fnames): Moved here.
3357 (add_input_filename): Declare.
3358 * c-decl.c: Need to #include opts.h.
3359 * Makefile.in (c-decl.o): Also depends on opts.h.
3360 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
3361 (c_common_handle_filename): Replaced by add_input_filename.
3362 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
3364 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
3365 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
3366 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
3367 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
3369 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3371 * combine.c (try_combine): Set JUMP_LABEL for newly created
3374 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3376 * fold-const.c (fold): Fold some comparisons of bit operations.
3378 Thu Jul 31 19:49:53 CEST 2003 Jan Hubicka <jh@suse.cz>
3380 * cgraph.c (create_edge): Fix typo.
3381 * i386.c (pic_symbolic_operand): Reorder tests.
3383 2003-07-31 Nathan Sidwell <nathan@codesourcery.com>
3385 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
3387 (Gcov Data Files): Update.
3389 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3391 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
3394 * gthr-posix.c: New file.
3395 * gthr-posix.h: Define _REENTRANT if missing.
3396 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
3398 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
3400 * config/alpha/t-osf-pthread: New file.
3402 * fixinc/inclhack.def (alpha_pthread): New fix.
3403 * fixinc/fixincl.x: Regenerate.
3404 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
3406 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
3408 Fixes PR bootstrap/9330.
3410 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3412 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
3415 * configure: Regenerate.
3417 2003-07-31 Vladimir Makarov <vmakarov@redhat.com>
3419 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
3422 2003-07-30 Roger Sayle <roger@eyesopen.com>
3424 * builtins.def: Alphabetize.
3426 2003-07-30 Matt Kraa