1 2003-09-11 Alexandre Oliva <aoliva@redhat.com>
4 * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
5 for ultimate origin even if block is abstract.
7 2003-09-11 Roger Sayle <roger@eyesopen.com>
9 * combine.c (combine_simplify_rtx): Move several NOT and NEG
10 optimizations from here...
11 * simplify-rtx.c (simplify_unary_operation): to here. Recursively
12 simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
14 2003-09-11 Richard Henderson <rth@redhat.com>
16 * cgraphunit.c (cgraph_finalize_function): Add nested arg.
17 Tweek tests for function already generated.
18 (cgraph_expand_function): Don't double announce in !unit-at-a-time.
19 * cgraph.h (cgraph_finalize_function): Update for extra arg.
20 * c-decl.c (finish_function): Likewise.
22 2003-09-10 Joe Buck <jbuck@welsh-buck.org>
24 * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
26 2003-09-10 Jerry Quinn <jlquinn@optonline.net>
28 * real.c: Update URL to VAX floating point docs.
29 (decode_vax_d): Extract 8 exponent bits instead of 7.
31 2003-09-10 Ian Lance Taylor <ian@wasabisystems.com>
33 * combine.c (force_to_mode): Set fuller_mask based only on mask,
36 Thu Sep 11 01:21:05 CEST 2003 Jan Hubicka <jh@suse.cz>
38 * c-objc-common.c (c_cannot_inline_tree_fn): Warn
39 on why function is not inlinable; do not check
41 (inline_forbidden_p): Move to...
42 * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
43 deal with alloca, longjmp.
44 (inline_forbidden_p): New static function.
45 (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
46 find_builtin_longjmp_call): Kill.
48 2003-09-10 Richard Henderson <rth@redhat.com>
50 * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
51 * cgraphunit.c: Update to match.
52 (record_call_1): Rearrange. Call lang hook for language nodes.
53 (cgraph_analyze_function): Don't call lower_function.
54 * langhooks.h (struct lang_hooks_for_callgraph): Replace
55 lower_function with analyze_expr.
56 * langhooks-def.h: Update to match.
57 * langhooks.c (lhd_callgraph_analyze_expr): New.
59 2003-09-10 Martin Husemann <martin@duskware.de>
62 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
63 constants greater than 63.
64 * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
65 against constants greater than 31.
66 (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
67 constants greater than 63.
69 2003-09-09 Richard Henderson <rth@redhat.com>
71 * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
72 * cgraph.h (cgraph_finalize_function): Update.
73 * c-decl.c (finish_function): Update.
75 2003-09-09 Devang Patel <dpatel@apple.com>
77 * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
78 * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
80 2003-09-09 Eric Christopher <echristo@redhat.com>
82 * configure.in: Change usage of 'head' to 'sed 1q'.
83 * configure: Regenerate.
85 2003-09-09 Richard Henderson <rth@redhat.com>
87 * except.c: Include cgraph.h.
88 (output_function_exception_table): Invoke
89 cgraph_varpool_mark_needed_node.
90 * Makefile.in (except.o): Update.
92 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
94 * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
95 and use it throughout.
97 2003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
99 * builtins.c (real_dconstp, fold_builtin_logarithm,
100 fold_builtin_exponent): New, split out from fold_builtin. Also
101 generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
102 * emit-rtl.c (dconst3, dconst10, dconstthird): New.
103 (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
104 of hardcoded array size.
105 * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
106 (tree_expr_nonnegative_p): Likewise.
107 * real.h (dconst3, dconst10, dconstthird): New.
109 Tue Sep 9 22:18:48 CEST 2003 Jan Hubicka <jh@suse.cz>
111 * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
113 (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
116 2003-09-09 Roger Sayle <roger@eyesopen.com>
118 * builtins.c (fold_builtin_cabs): Protect the complex argument
119 against multiple evaluation when optimizing cabs* into sqrt*.
121 Tue Sep 9 15:36:28 CEST 2003 Jan Hubicka <jh@suse.cz>
123 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
125 2003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
127 * Makefile.in: Revert yesterday's change.
129 2003-09-08 Bernardo Innocenti <bernie@develer.com>
130 Peter Barada <peter@baradas.org>
132 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
133 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
134 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
135 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
136 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
137 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
138 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
139 (m68k_compute_frame_layout): New function.
140 (m68k_initial_elimination_offset): New function.
141 (m68k_output_function_prologue): ColdFire-specific movem handling.
142 (m68k_output_function_epilogue): Likewise.
143 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
144 (ARG_POINTER_REGNUM): Add new definition.
145 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
146 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
147 (CAN_ELIMINATE): Likewise.
148 (INITIAL_ELIMINATION_OFFSET): Likewise.
150 2003-09-08 Bernardo Innocenti <bernie@develer.com>
152 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
153 by removing redundant variable cfa_store_offset.
155 2003-09-08 Mark Mitchell <mark@codesourcery.com>
157 * langhooks-def.h (lhd_register_builtin_type): New function.
158 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
159 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
160 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
161 * langhooks.c (lhd_register_builtin_type): New function.
162 * c-common.h (c_register_builtin_type): Declare.
163 * c-common.c (c_register_builtin_type): New function.
164 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
165 c_register_builtin_type.
166 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
167 __float80, and __float128 macros.
168 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
169 __float80, and __float128 types.
171 2003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
174 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
175 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
176 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
177 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
178 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
179 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
180 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
181 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
182 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
183 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
184 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
185 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
186 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
187 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
188 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
189 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
190 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
192 * doc/extend.texi: Document new builtins.
194 Tue Sep 9 02:18:06 CEST 2003 Jan Hubicka <jh@suse.cz>
196 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
198 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
199 functions, check for COMDAT.
200 (cgraph_assemble_pending_functions): Break out from...
201 (cgraph_finalize_function): ... here; allow redefinig of extern inline
203 (record_call_1): Record function references only in non-unit-at-a-time
205 (cgraph_analyze_function): Reset current_function_decl.
206 (cgraph_finalize_compilation_unit): Assemble pending functions.
208 2003-09-08 Mark Mitchell <mark@codesourcery.com>
210 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
211 (libgov.a): Likewise.
212 (libgcc_eh.a): Likewise.
214 2003-09-08 Roger Sayle <roger@eyesopen.com>
216 * fold-const.c (operand_equal_p): Clarify documentation.
218 2003-09-08 Richard Henderson <rth@redhat.com>
220 * c-decl.c (c_expand_body_1): Push and pop function context here.
221 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
222 nested argument instead of computing nesting ourselves.
224 2003-09-08 Jakub Jelinek <jakub@redhat.com>
226 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
227 regstack if optimizing but not scheduling after reload.
229 2003-09-08 Jakub Jelinek <jakub@redhat.com>
231 * config/sparc/sparc.c (struct machine_function): New type.
232 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
233 (sparc_override_options): Initialize init_machine_status.
234 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
235 tie_symbolic_operand, tle_symbolic_operand): New functions.
236 (symbolic_operand): Disallow tls_symbolic_operand.
237 (symbolic_memory_operand): Likewise.
238 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
239 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
241 (sparc_tls_symbol): New variable.
242 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
243 legitimize_address): New functions.
244 (print_operand): Handle %&.
245 (sparc_init_machine_status, get_some_local_dynamic_name,
246 get_some_local_dynamic_name_1): New functions.
247 (sparc_output_dwarf_dtprel): New function.
248 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
250 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
251 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
252 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
253 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
254 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
255 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
256 (ASM_OUTPUT_DWARF_DTPREL): Define.
257 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
258 tie_symbolic_operand, tle_symbolic_operand.
259 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
260 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
261 (tls_call_delay): New attribute.
262 (in_call_delay): Use it.
263 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
264 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
265 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
266 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
267 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
268 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
269 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
270 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
271 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
272 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
273 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
274 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
275 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
276 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
278 * config/sparc/sparc-protos.h (legitimate_constant_p,
279 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
280 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
281 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
282 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
283 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
284 * configure.in (sparc*-*-*): Add TLS check.
285 * configure: Rebuilt.
287 2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
290 * config/i386/i386.c (memory_address_length): Fix computation when
291 the base is esp or ebp.
293 2003-09-07 Mark Mitchell <mark@codesourcery.com>
296 * varasm.c (initializer_constant_valid_p): Correct logic for
299 2003-09-07 Roger Sayle <roger@eyesopen.com>
301 * expr.c (expand_operands): New function to expand an operand pair.
302 (expand_expr): Call expand_operands whenever we need to expand both
303 operands of a binary operator.
304 (do_store_flag): Likewise for operands of comparison operations.
306 2003-09-07 Roger Sayle <roger@eyesopen.com>
308 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
309 (-A)*B if we care about sign-dependent rounding.
311 2003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
313 * c-pretty-print.h (pp_c_left_brace): Declare.
314 (pp_c_right_brace): Likewise.
315 * c-pretty-print.c (pp_c_left_brace): Now a function
316 (pp_c_right_brace): Likewise.
318 Sun Sep 7 14:50:03 CEST 2003 Jan Hubicka <jh@suse.cz>
320 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
322 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
324 * diagnostic.c (warn_deprecated_use): Move to toplev.c
326 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
328 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
329 * Makefile.in (langhooks.o): Depend on diagnostic.h
331 2003-09-06 James E Wilson <wilson@tuliptree.org>
333 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
336 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
338 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
339 and use it throughout.
341 2003-09-07 Jan Hubicka <jh@suse.cz>
343 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
345 * toplev.c (rest_of_decl_compilation): Do not finalize external
348 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
350 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
352 2003-09-06 Jan Hubicka <jh@suse.cz>
355 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
358 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
360 2003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
362 * diagnostic.c (announce_function): Move to toplev.c.
364 2003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
366 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
369 2003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
371 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
372 when gc checking is enabled.
374 2003-09-06 Steven Bosscher <steven@gcc.gnu.org>
377 * c-decl.c (c_expand_body_1): Move return warning from here...
378 (finish_function): ...to here.
380 2003-09-05 Geoffrey Keating <geoffk@apple.com>
382 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
383 a subset of the input class.
385 2003-09-05 Kazu Hirata <kazu@cs.umass.edu>
387 * config/i860/i860.c: Follow spelling conventions.
388 * config/i860/i860.h: Likewise.
389 * config/sh/sh.h: Likewise.
391 2003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
393 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
394 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
395 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
397 2003-09-05 Roger Sayle <roger@eyesopen.com>
398 Richard Henderson <rth@redhat.com>
401 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
402 multiplication to implement division by constant integer.
404 Fri Sep 5 07:35:16 CEST 2003 Jan Hubicka <jh@suse.cz>
406 * opts.c (decode_options): Enable unit-at-a-time at -O2.
407 * params.def (max-inline-insns-single): Set to 500
408 (max-inline-insns-auto): Set to 150
409 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
411 2003-09-04 Richard Henderson <rth@redhat.com>
413 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
414 (cgraph_mark_needed_node): Remove needed argument.
415 * cgraph.h: Update to match.
416 * cgraphunit.c (decide_is_function_needed): Split out from ...
417 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
418 if we generated the function.
419 (record_call_1): Update for cgraph_mark_reachable_node.
420 * varasm.c (mark_referenced): Likewise.
421 * objc/objc-act.c (mark_referenced_methods): Likewise.
423 2003-09-04 DJ Delorie <dj@redhat.com>
425 * targhooks.c: Add comment explaining the migration process.
427 2003-09-04 Eric Christopher <echristo@redhat.com>
429 * config/frv/t-frv: Fix path for frv-abi.h.
430 * config/frv/frv-asm.h: Fix string concatenation.
432 2003-09-04 DJ Delorie <dj@redhat.com>
434 * builtins.c (apply_args_size): Guard against a NULL cfun.
435 (expand_builtin_apply_args_1): Likewise.
436 (expand_builtin_apply): Likewise.
437 Fixes PR bootstrap/12172.
439 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
441 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
442 assembler supports Sun syntax for cmov.
443 * configure: Regenerate.
444 * config.in: Likewise.
445 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
446 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
447 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
448 Fixes PR target/12101.
450 2003-09-04 Matt Austern <austern@apple.com>
452 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
453 with verbosity 0, instead of DECL_NAME, for human-readable string.
455 2003-09-04 Eric Christopher <echristo@redhat.com>
457 * targhooks.c (default_return_in_memory): Allow
460 2003-09-04 Eric Christopher <echristo@redhat.com>
462 * targhooks.c (default_return_in_memory): Fix typo
465 2003-09-04 Eric Christopher <echristo@redhat.com>
467 * targhooks.c (default_return_in_memory): Fix default
470 2003-09-04 Bernardo Innocenti <bernie@develer.com>
472 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
474 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
475 enable coff-only code in m68k.c.
477 2003-09-04 Nick Clifton <nickc@redhat.com>
479 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
481 * config/v850/v850.h: Accept v850e1 as a default CPU.
482 Accept -mv850e1 as a command line option.
483 * doc/invoke.texi: Document new -mv850e1 command line switch.
484 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
487 2003-09-04 Nick Clifton <nickc@redhat.com>
489 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
490 * config/v850/t-v850: Only produce one extra multilib - for
492 * config/v850/t-v850e: New file: Only produce one extra
493 multilib - for the v850.
495 2003-09-04 Jakub Jelinek <jakub@redhat.com>
497 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
498 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
499 * unwind.h (_Unwind_GetBSP): New prototype.
500 * libgcc-std.ver: Add empty GCC_3.3.2 version.
501 * mkmap-symver.awk: For symbol versions with no exported symbols,
502 don't put anything into version script, just change all symbol
503 versions which inherit from it to inherit from its ancestor.
505 2003-09-04 Eric Christopher <echristo@redhat.com>
507 * config/mips/mips.c (mips_expand_prologue): Convert to
508 calls.struct_value_rtx hook.
509 (reg_or_const_float_1_operand): New.
510 * config/mips/mips.h: Update Comments.
511 (mips_arg): Add reg_or_const_float_1_operand.
512 * config/mips/mips.md (divdf3); Convert to expander.
514 (*divdf3): New pattern.
517 Thu Sep 4 10:43:24 CEST 2003 Jan Hubicka <jh@suse.cz>
519 * toplev.c (wrapup_global_declarations): Fix final pass in
522 2003-09-04 Mark Mitchell <mark@codesourcery.com>
524 * doc/extend.texi: Document removal of cast-as-lvalue extension in
527 2003-09-04 Nicolas Roche <roche@act-europe.fr>
529 * gcc.c (process_command): Fix typo.
531 2003-09-03 David O'Brien <obrien@FreeBSD.org>
534 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
535 (PTRDIFF_TYPE): Likewise.
536 (WCHAR_TYPE_SIZE): Likewise.
538 2003-09-03 DJ Delorie <dj@redhat.com>
540 * targhooks.c: New file.
541 * targhooks.h: New file.
542 * Makefile.in: Add targhooks.o support.
543 (function.o): Depend on$(TARGET_H).
545 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
546 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
547 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
548 (expand_builtin_saveregs): Convert to
549 calls.expand_builtin_saveregs hook.
550 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
552 (get_parm_info) ... here.
553 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
555 (finish_function): Handle calls.promote_prototypes hook here too.
556 * c-typeck.c (convert_arguments): Convert to
557 calls.promote_prototypes hook.
558 (c_convert_parm_for_inlining): Likewise.
559 * calls.c (initialize_argument_information): Convert to
560 calls.promote_function_args hook.
561 (expand_call): Convert to calls.struct_value_rtx,
562 calls.strict_argument_naming,
563 calls.pretend_outgoing_varargs_named, and
564 calls.promote_function_return hooks. Pass fndecl to
565 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
566 hooks, so they can use that.
567 (emit_library_call_value_1): Likewise.
568 * combine.c (setup_incoming_promotions): Convert to
569 calls.promote_function_args hook.
570 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
571 * expr.c (expand_assignment): Pass call to aggregate_value_p.
572 (expand_expr): Likewise.
573 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
574 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
575 RETURN_IN_MEMORY macro defaults.
576 * final.c (profile_function): Convert to calls.struct_value_rtx
578 * function.c (aggregate_value_p): Accept function type tree as
579 second parameter; try to deduce fntype from it. Convert to
580 calls.return_in_memory hook.
581 (assign_parms): Convert to calls.setup_incoming_varargs,
582 calls.strict_argument_naming, calls.promote_function_args,
583 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
585 (expand_function_start): Likewise. Convert to
586 calls.struct_value_rtx hook.
587 (expand_function_end): Convert to calls.promote_function_return hook.
588 (allocate_struct_function): Pass fndecl to aggregate_value_p.
589 * hard-reg-set.h: Update comments to new hook names.
590 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
591 * reg-stack.c (stack_result): Likewise.
592 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
593 * stmt.c (expand_value_return): Convert to
594 calls.promote_function_return hook.
595 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
596 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
597 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
598 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
599 TARGET_STRICT_ARGUMENT_NAMING,
600 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
601 * target.h: Likewise.
602 * tree.h (aggregate_value_p): Also takes a tree to deduce function
603 attributes from (for target hooks).
604 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
605 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
606 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
607 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
608 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
611 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
612 to aggregate_value_p.
613 * config/arm/arm.c (arm_init_cumulative_args,
614 arm_output_mi_thunk): Likewise.
615 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
617 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
618 mips_can_use_return_insn): Likewise.
619 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
620 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
621 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
623 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
624 function to aggregate_value_p.
625 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
628 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
629 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
630 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
631 (sh_handle_renesas_attribute, sh_promote_prototypes,
632 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
633 sh_setup_incoming_varargs, sh_strict_argument_naming,
634 sh_pretend_outgoing_varargs_named): New decls.
635 (targetm): Add new hooks.
636 (calc_live_regs): Save MACL and MACH if the function has the
638 (sh_expand_prologue): Support renesas attribute.
639 (sh_builtin_saveregs): Make static.
640 (sh_build_va_list): Support renesas attribute.
641 (sh_va_start): Likewise.
642 (sh_va_arg): Likewise.
643 (sh_promote_prototypes): New.
644 (sh_function_arg): New, moved from sh.h. Support renesas
646 (sh_function_arg_advance): Likewise.
647 (sh_return_in_memory): Likewise.
648 (sh_strict_argument_naming): Likewise.
649 (sh_pretend_outgoing_varargs_named): Likewise.
650 (sh_struct_value_rtx): New.
651 (sh_attribute): Add renesas attribute.
652 (sh_handle_renesas_attribute): New.
653 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
654 (sh_ms_bitfield_layout_p): Support renesas attribute also.
655 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
656 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
658 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
660 (sh_args): Add renesas_abi flag.
661 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
662 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
663 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
664 stack for the renesas abi.
665 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
666 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
667 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
668 call cookie to indicate renesas calls.
670 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
672 * gcse.c (replace_one_set): New function.
673 (pre_insert_copy_insn): Change the order of copying
674 to make copy propagation discover additional PRE opportunities.
676 2003-09-03 Roger Sayle <roger@eyesopen.com>
678 PR optimization/11700.
679 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
680 of a hard register is representable before trying to simplify it
681 using subreg_hard_regno.
683 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
685 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
686 * configure: Regenerate.
688 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
690 * intl.h (N_): Remove parentheses.
692 2003-09-03 Bernardo Innocenti <bernie@develer.com>
694 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
695 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
696 definition and code blocks compiled when not defined.
697 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
698 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
699 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
700 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
702 2003-09-03 Jeff Sturm <jsturm@one-point.com>
704 * cgraphunit.c (visited_nodes): New static variable.
705 (record_call_1): Use walk_tree with visited_nodes.
706 (cgraph_create_edges): Use walk_tree with visited_nodes.
707 Setup/teardown visited_nodes hashtable.
709 2003-09-03 Roger Sayle <roger@eyesopen.com>
711 * toplev.c (flag_rounding_math): New global variable.
712 (f_options): Add to the list of language independent options.
713 * flags.h (flag_rounding_math): Prototype here.
714 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
715 * common.opt (frounding-math): New common command line option.
716 * opts.c (common_handle_option): Handle OPT_frounding_math.
717 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
719 * doc/invoke.texi: Document this new command line option.
721 2003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
723 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
725 Wed Sep 3 16:55:25 CEST 2003 Jan Hubicka <jh@suse.cz>
727 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
728 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
729 * c-objc-common.c: Kill include of gt-c-objc-common.h
730 (expand_deferred_fns, deffer_fn): Kill function.
731 (deferred_fns): Kill variable.
732 (finish_cdtor): Update finish_function call.
733 (c_objc_common_finish_file): Always call cgraph code.
734 * c-parse.c: Regenerate.
735 * c-parse.y: Regenerate.
736 * c-tree.h (finish_function): Update prototype.
737 * objc-acct.c (build_module_descriptor, finish_method_def):
738 Update call of finish_function.
739 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
741 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
742 function and assemble it if needed.
743 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
745 (cgraph_optimize): Likewise.
746 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
747 even when it has no inline callees.
748 * c-parse.in: Update calls to finish_function.
750 2003-09-03 Nick Clifton <nickc@redhat.com>
752 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
753 Use #error to generate the message if TARGET_DEFAULT is not
756 2003-09-03 Richard Sandiford <rsandifo@redhat.com>
758 * config/mips/mips.h (MASK_UNUSED1): Remove.
759 (MASK_XGOT, TARGET_XGOT): Define.
760 (TARGET_SWITCHES): Add an entry for -mxgot.
761 (ASM_SPEC): Map -mxgot to -xgot.
762 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
763 whether we're using a big-GOT sequences.
764 (mips_legitimize_const_move, mips_expand_call): Likewise.
765 (override_options): Revert 2003-01-09 change.
766 * doc/invoke.texi: Document -mxgot.
768 2003-09-02 Jason Merrill <jason@redhat.com>
770 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
771 * config/sparc/sol2.h: Not here.
773 2003-09-02 Roger Sayle <roger@eyesopen.com>
775 * expr.c (expand_expr): The code following both_summands performs
776 the same task as simplify_gen_binary. Replace all gotos to
777 both_summands with a call to simplify_gen_binary and delete the
780 2003-09-02 Jason Merrill <jason@redhat.com>
783 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
785 2003-09-02 Jeff Sturm <jsturm@one-point.com>
787 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
788 (cgraph_optimize_function): Set current_function_decl to the
789 fndecl we're integrating from.
791 2003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
793 * builtins.def: Break out _Complex math functions into their
796 2003-09-02 Andreas Jaeger <aj@suse.de>
798 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
800 2003-09-02 Josef Zlomek <zlomekj@suse.cz>
802 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
803 finding the note again.
805 2003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
807 * config.gcc: Remove host-specific rewrites of target_alias.
809 2003-09-01 Mark Mitchell <mark@codesourcery.com>
811 * Makefile.in (genprogs): Fix typo.
813 * Makefile.in (gencheck.o): Remove build commands.
814 (dummy-conditions.o): Likewise.
815 (read-rtl.o): Likewise.
816 (gensupport.o): Likewise.
817 (genconfig$(build_exeext)): Remove rule.
818 (genconfig.o): Remove build commands.
819 (genflags$(build_exeext)): Remove rule.
820 (genflags.o): Remove build commands.
821 (gencodes$(build_exeext)): Remove rule.
822 (gencodes.o): Remove build commands.
823 (genconstants.o): Remove build commands.
824 (genemit$(build_exeext)): Remove rule.
825 (genemit.o): Remove build commands.
826 (genrecog$(build_exeext)): Remove rule.
827 (genrecog.o): Remove build commands.
828 (genextract$(build_exeext)): Remove rule.
829 (genextract.o): Remove build commands.
830 (genpeep$(build_exeext)): Remove rule.
831 (genpeep.o): Remove build commands.
832 (genattr$(build_exeext)): Remove rule.
833 (genattr.o): Remove build commands.
834 (genprognames): New variable.
835 (genprogs): Likewise.
837 (genprogs): New rule.
839 (genattrtab.o): Remove build commands.
840 (genautomata.o): Likewise.
841 (genoutput$(build_exeext)): Remove rule.
842 (genoutput.o): Remove build commands.
843 (gengenrtl.o): Likewise.
844 (genpreds.o): Likewise.
845 (gengtype.o): Likewise.
846 (genconditions.o): Likewise.
847 (gen-protos.o): Likewise.
849 (fix-header.o): Likewise.
850 (scan-decls.o): Likewise.
851 (check-g++): Combine with other check targets.
852 (check-gcc): Likewise.
853 (check-g77): Likewise.
854 (check-objc): Likewise.
856 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
858 * config.gcc: Remove host-specific stuff which is unused here
859 since the introduction of config.host.
861 * doc/fragments.texi: Mention config.host.
862 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
863 of config.build, config.host, and config.gcc.
865 2003-09-01 Zack Weinberg <zack@codesourcery.com>
867 * c-decl.c (pushdecl): Don't put variables on
868 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
871 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
873 * config.host: New file.
874 * config.gcc: Remove some host-specific stuff and some
875 logic needed only for repeated invocation.
876 * configure.in: Use config.host.
877 * configure: Regenerate.
879 2003-09-01 Josef Zlomek <zlomekj@suse.cz>
881 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
882 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
883 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
884 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
885 * tree.def (BIT_ANDTC_EXPR): Kill.
887 2003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
889 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
890 * configure: Regenerate.
892 * config.gcc: Remove references to install_headers_dir, now unused
893 since introduction of config.build.
894 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
896 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
899 * config.build: New file.
900 * config.gcc: Remove some build-specific stuff.
901 * configure.in: Use config.build.
902 * configure: Regnerate.
904 2003-08-31 Steven Bosscher <steven@gcc.gnu.org>
905 Roger Sayle <roger@eyesopen.com>
908 * stmt.c (expand_end_case_type): Only use jump tables for dense
909 switch statements when optimizing for size.
911 2003-08-31 Olivier Hainque <hainque@act-europe.fr>
913 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
914 the != 0 case, which ensures pending stack adjustments are flushed.
916 2003-08-30 Zack Weinberg <zack@codesourcery.com>
918 * configure.frag: Delete file.
919 * configure.in: Rename the substitution variables
920 dep_host_xmake_file and dep_tmake_file to xmake_file and
921 tmake_file respectively. Do not expand $srcdir in the
922 value of these; leave that for Make. Introduce a new
923 substitution varaible, all_lang_makefrags, which lists
924 subdirectory Make-lang.in files; exclude these from
925 all_lang_makefiles, which is now only for subdirectory
926 outputs. Do not invoke configure.frag. Do not set nor
927 AC_SUBST_FILE target_overrides, host_overrides, or
928 language_fragments. Create build subdirectories in
929 config.status extra commands.
930 * configure: Regenerate.
931 * Makefile.in: Update substitutions to match changes to
932 configure. Use include directives instead of @-insertions
933 to read in host, target, and language fragments.
934 (Makefile rule): Do not invoke configure.frag. Do not copy
935 config.status to config.run before executing it. Set
936 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
938 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
940 2003-08-30 Zack Weinberg <zack@codesourcery.com>
942 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
943 * c-typeck.c (same_translation_unit_p): New function.
944 (comptypes): Use it instead of flags parameter to identify
945 structure types from different translation units.
946 * c-decl.c (duplicate_decls): Always call comptypes with
947 COMPTYPE_STRICT flags argument.
948 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
951 2003-08-30 Zack Weinberg <zack@codesourcery.com>
953 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
954 * c-decl.c (struct c_scope): Remove "incomplete" field.
955 (pushdecl): Attach variables with incomplete types to
956 the TYPE_MAIN_VARIANT of the incomplete type in question.
957 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
958 to complete, not at current_scope->incomplete. All such
959 variables do need completion.
961 2003-08-30 Richard Earnshaw <rearnsha@arm.com>
962 Nicolas Pitre <nico@cam.org>
964 * arm/lib1funcs.asm (RETCOND): Delete.
965 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
966 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
967 (__ARM_ARCH__): Move here from ieee754-?f.S.
968 (RET, RETc): Clean up definitions.
969 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
970 (FUNC_END): New macro that marks the end of any function.
971 (ARM_FUNC_START): New macro that allows an assembler routine to be
972 implemented in ARM code even if a Thumb-only build.
973 Unconditionally include ieee754-?f.S.
974 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
975 Mark ends of functions.
976 Split into separate conditionally-compiled units.
977 Use RETLDM to return from routines.
978 * arm/ieee754-sf.S: Similarly.
979 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
980 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
981 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
982 _fixsfsi and _fixunssfsi.
984 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
985 multiplication underflows to zero.
986 (__adddf3): Fix bug when using VFP ordering on little-endian
988 (__fixdfsi): Use rrx to extract the carry into a register instead of
989 MRS instruction. Optimize later use of result.
990 * arm/ieee754-sf.S (__fixsfsi): Likewise.
991 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
993 2003-08-29 Richard Henderson <rth@redhat.com>
995 * tree-optimize.c: New file.
996 * Makefile.in (OBJS-archive): Add tree-optimize.o.
997 (tree-optimize.o): New.
998 * c-decl.c (store_parm_decls): Use allocate_struct_function.
999 (finish_function): Don't free_after_parsing or free_after_compilation.
1000 (set_save_expr_context): Move to tree-optimize.c.
1001 (c_expand_body_1): Use tree_rest_of_compilation.
1002 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1003 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1004 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
1005 iterate until closure.
1006 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
1007 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
1008 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
1009 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
1010 * toplev.h (tree_rest_of_compilation): Declare it.
1012 2003-08-29 Richard Henderson <rth@redhat.com>
1014 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
1015 * integrate.c (save_for_inline): Set saved_for_inline.
1016 * c-semantics.c (genrtl_scope_stmt): Check it.
1017 * toplev.c (wrapup_global_declarations): Check it.
1018 (rest_of_handle_inlining): Set and check rtl_inline_init.
1019 (rest_of_compilation): Remove out of date comment.
1021 2003-08-29 Richard Henderson <rth@redhat.com>
1023 * function.c (allocate_struct_function): New, split out of ...
1024 (prepare_function_start, init_function_start): ... here.
1025 * expr.c (init_expr): Use ggc_alloc_cleared.
1026 * stmt.c (init_stmt_for_function): Likewise.
1027 * tree.h (allocate_struct_function): Declare.
1029 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1031 * config.gcc: Don't use negated character class in shell case
1034 2003-08-29 Richard Henderson <rth@redhat.com>
1036 * function.h (struct function): Move function_frequency and
1037 max_jumptable_ents before start of bit field members.
1039 2003-08-29 Richard Henderson <rth@redhat.com>
1041 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
1042 (fold_builtin_constant_p) ... not here.
1044 2003-08-29 Richard Henderson <rth@redhat.com>
1046 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
1047 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
1048 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
1050 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1052 * builtins.def: Fix typos.
1053 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
1054 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
1055 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
1056 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
1057 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
1059 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
1060 Use ATTR_MATHFN_FPROUNDING_ERRNO.
1062 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1064 * config.gcc (i386-*-vsta): Fix obvious bogosity.
1066 * fixinc/inclhack.def: Remove special cases for unsupported
1067 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
1068 * fixinc/fixincl.x: Regenerate.
1070 2003-08-29 Mark Mitchell <mark@codesourcery.com>
1072 * Makefile.in (cpp.info): Just state dependencies.
1073 (gcc.info): Likewise.
1074 (gccint.info): Likewise.
1075 (gccinstall.info): Likewise.
1076 (cppinternals.info): Likewise.
1077 (cpp.dvi): Likewise.
1078 (gcc.dvi): Likewise.
1079 (gccint.dvi): Likewise.
1080 (gccinstall.dvi): Likewise.
1081 (cppinternals.dvi): Likewise.
1087 (fsf-funding.7): Likewise.
1088 ($(objdir)/%.info): New pattern rule.
1091 2003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
1093 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
1094 (restage2): Likewise.
1095 (restage3): Likewise.
1096 (restage4): Likewise.
1097 (restageprofile): Likewise.
1098 (restagefeedback): Likewise.
1099 (bubblestrap): Likewise.
1101 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1103 * config.gcc: Narrow unsupported target match to avoid clobbering
1104 i?86-sequent-sysv4*.
1106 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1108 * builtins.c (mathfn_built_in): Handle new math builtins.
1110 2003-08-28 Per Bothner <per@bothner.com>
1112 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
1113 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
1114 (_cpp_lex_buffer): Likewise.
1115 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
1117 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1119 * config/s390/s390.md ("*mulsi3_sign"): New insn.
1120 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
1121 ("mulsidi3"): ... this new insn.
1122 ("umulsidi3"): New insn.
1123 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
1124 mixed-mode matching constraints.
1125 ("udivmodsi4", "udivmoddisi3"): New insns.
1126 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
1128 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1130 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
1131 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
1132 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
1133 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
1134 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
1135 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
1136 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
1137 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
1138 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
1139 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
1140 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
1141 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
1142 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
1143 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
1144 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
1145 * tree.c: Assign new type_nodes.
1146 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
1147 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
1148 (float_ptr_type_node, double_ptr_type_node,
1149 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
1151 * doc/extend.texi: Document new builtins.
1153 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1155 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
1156 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
1158 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
1159 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
1160 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
1161 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
1162 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
1163 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
1164 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
1165 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
1166 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
1167 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
1169 * doc/extend.texi: Document new builtins.
1171 2003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
1173 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1174 variants of i?86, powerpcle, and thumb.
1175 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1176 arm and hppa variants.
1178 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1180 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
1181 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
1182 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
1183 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
1184 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
1185 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
1186 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
1187 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
1188 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
1189 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
1191 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
1192 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
1193 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
1194 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
1195 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
1196 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
1197 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
1198 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
1199 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
1200 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
1201 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
1202 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
1203 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
1204 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
1205 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
1206 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
1207 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
1208 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
1209 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
1210 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
1211 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
1212 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
1213 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
1214 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
1215 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
1216 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
1217 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
1218 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
1219 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
1220 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
1221 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
1223 * doc/extend.texi: Document new builtins.
1225 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1227 * config/s390/s390.c (legitmate_constant_p): Use LARL on
1228 zSeries machines even in 31-bit addressing mode.
1229 (legitimate_reload_constant_p): Likewise.
1230 (legitimize_pic_address): Likewise.
1231 (legitimize_tls_address): Likewise.
1232 (s390_split_branches): Likewise.
1233 (s390_dump_pool): Likewise.
1234 (s390_mainpool_finish): Likewise.
1235 (s390_chunkify_start): Likewise.
1236 (s390_select_rtx_section): Likewise.
1237 * config/s390/s390.md ("doloop_si"): Likewise.
1238 ("pool_start_31", "pool_end_31"): Likewise.
1239 ("pool_start_64", "pool_end_64"): Likewise.
1240 ("main_base_31_small", "main_base_31_large"): Likewise.
1241 ("main_base_64"): Likewise.
1242 ("reload_base_31", "reload_base_64"): Likewise.
1243 ("*movsi_larl"): New insn.
1244 ("cjump", "icjump"): Use long branches on zSeries machines.
1246 ("call"): Use BRASL on zSeries machines.
1247 ("call_value", "call_value_tls"): Likewise.
1248 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
1250 ("*bras", "*brasl", "*basr") ... these new insns.
1251 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
1252 "bas_31_r"): Remove and replace by ...
1253 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
1254 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
1255 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
1256 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
1257 ("*return_si", "*return_di"): Remove and replace by ...
1258 ("*return"): ... this new insn.
1259 ("rotlsi3"): Allow on zSeries machines.
1261 * config/s390/s390.c (legitimize_reload_constant_p): Use
1262 LL/LH type instructions in z/Architecture mode.
1263 * config/s390/s390.md ("*movsi_lli"): Likewise.
1264 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
1265 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
1266 ("*extendqisi2"): Use LB in z/Architecture mode.
1267 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
1268 z/Architecture mode.
1269 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
1272 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
1274 ("ptr_extend"): Allow only in 64-bit mode.
1276 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
1278 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
1279 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
1281 (main): Only use standard_startfile_prefix if native.
1282 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
1284 2003-08-27 Per Bothner <pbothner@apple.com>
1286 * cpperror.c (print_location): Don't check for !pfile->buffer. That
1287 test fails following my 08-21 change, and it seems unnecessary anyway.
1288 (cpp_error): Likewise.
1290 2003-08-27 Jason Merrill <jason@redhat.com>
1292 * real.c (do_multiply): Initialize with memset.
1294 2003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1296 * gcov.c (typedef struct arc_info): New field cs_count.
1297 (accumulate_line_counts): Find cycles correctly.
1299 2003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
1301 * config/s390/s390.c (struct machine_function): Remove member
1303 (s390_optimize_prolog): Replace TEMP_REG argument with
1304 TEMP_USED and BASE_USED. Do not check get_pool_size ().
1305 (general_s_operand): Accept all immediates before reload if
1306 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
1308 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
1309 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
1310 (s390_alloc_pool): New function.
1311 (s390_new_pool): Call it.
1312 (s390_dump_pool): Add REMOTE_LABEL argument.
1313 (s390_chunkify_start): Add BASE_REG argument. Do not check
1315 (s390_chunkify_finish): Add BASE_REG argument. Adapt
1316 s390_dump_pool call.
1317 (s390_pool_count, s390_nr_constants): Remove.
1318 (s390_output_constant_pool): Remove.
1319 (s390_mainpool_start): New function.
1320 (s390_mainpool_finish): New function.
1321 (s390_mainpool_cancel): New function.
1322 (s390_reorg): Implement main literal pool handling.
1323 (s390_emit_prologue): Emit main_pool placeholder instead of
1324 literal_pool_31 / literal_pool_64 insns.
1325 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
1326 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
1327 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
1328 ("main_base_31_small", "main_base_31_large"): New insns.
1329 ("main_base_64", "main_pool"): New insns.
1330 ("literal_pool_31", "literal_pool_64"): Remove.
1332 2003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
1334 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
1336 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
1338 * fixinc/fixincl.x: Regenerate.
1340 2003-08-27 Richard Earnshaw <rearnsha@arm.com>
1342 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
1343 (L_ieee754_dp): New. Include ieee754-df.S.
1344 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
1345 and compilation in apcs-26 mode.
1346 * arm/ieee754-df.S: Likewise.
1347 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
1348 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
1350 2003-08-27 Nicolas Pitre <nico@cam.org>
1352 * arm/ieee754-sf.S: New.
1353 * arm/ieee754-df.S: New.
1355 2003-08-27 Jakub Jelinek <jakub@redhat.com>
1357 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
1358 and restore it if returning NULL.
1360 2003-08-27 Richard Sandiford <rsandifo@redhat.com>
1362 * calls.c (initialize_argument_information): If an argument has no
1363 stack space associated with it, and BLOCK_REG_PADDING is defined,
1364 use it to decide at which end the argument should be padded.
1365 * function.c (assign_parms): Allocate BLKmode stack slots.
1366 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
1367 (mips_pad_reg_upward): Declare.
1368 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
1369 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
1370 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
1371 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
1372 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
1373 (mips_expand_call): Remove code for generating structure shifts.
1374 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
1375 types unless using the EABI.
1376 (function_arg_advance): Don't generate shift instructions.
1377 (function_arg): Don't return them. Don't short-circuit the
1378 check for double structure chunks for DFmode arguments.
1379 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
1380 (mips_expand_prologue): Remove code to emit structure shifts.
1381 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
1382 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
1383 comments to say that only structure returns are a problem.
1385 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1387 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
1388 Fix to match produced versions.
1389 * fixinc/inclhack.def (longlong_t): New disabled test, ported
1391 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
1393 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
1394 ported from fixinc.ptx.
1396 2003-08-26 Per Bothner <pbothner@apple.com>
1398 * cpplib.h (struct cpp_token): Change type of field line to fileline.
1399 (cpp_error_with_line): Use fileline for appropriate parameter.
1400 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
1401 (struct cpp_reader): Likewise for fields line and directive_line.
1402 (_cpp_begin_message): Use fileline for appropriate parameter.
1403 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
1404 cpp_error): Use fileline for appropriate parameters and variables.
1405 (print_location): New local lin, since it is not a fileline.
1407 2003-08-26 Roger Sayle <roger@eyesopen.com>
1410 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
1411 (FLOAT_TYPE_P): Define in terms of these two new macros.
1412 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
1413 for complex floating point types.
1415 2003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
1417 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
1418 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
1419 s390_output_pool_entry.
1421 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1423 * fixinc/inclhack.def (svr4_preproc_lint_on,
1424 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
1425 fixes, ported from fixinc.svr4.
1427 2003-08-26 Mark Mitchell <mark@codesourcery.com>
1429 * doc/install.texi (Prerequisites): Mention GNU make requirement.
1431 * Makefile.in (AR_FOR_TARGET): Export it.
1432 (AR_CREATE_FOR_TARGET): Likewise.
1433 (AR_FLAGS_FOR_TARGET): Likewise.
1434 (AR_EXTRACT_FOR_TARGET): Likewise.
1436 (BUILD_PREFIX): Likewise.
1437 (BUILD_PREFIX_1): Likewise.
1438 (DESTDIR): Likewise.
1439 (GCC_FOR_TARGET): Likewise.
1440 (INCLUDES): Likewise.
1441 (INSTALL_DATA): Likewise.
1442 (LIB1ASMSRC): Likewise.
1443 (LIBGCC2_CFLAGS): Likewise.
1444 (MACHMODE_H): Likewise.
1445 (NM_FOR_TARGET): Likewise.
1446 (RANLIB_FOR_TARGET): Likewise.
1447 (libsubdir): Likewise.
1448 (slibdir): Likewise.
1449 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
1451 (libgcc.a): Don't pass them here.
1452 (stmp-multilib): Or here.
1453 (install-libgcc): Or here.
1454 (install-multilib): Or here.
1455 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
1456 (stage1_build): Or here.
1458 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1460 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
1461 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
1463 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1465 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
1466 "*fmaddsf", "*fmsubsf"): New insns.
1468 2003-08-26 Roger Sayle <roger@eyesopen.com>
1470 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
1471 (C1*C2)/X when unsafe math optimizations are allowed.
1472 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
1473 math optimizations. Minor code clean-ups. Recursively call
1474 fold when constructing sub-expressions.
1476 2003-08-26 Roger Sayle <roger@eyesopen.com>
1478 * builtins.c (fold_builtin_bitop): New function to perform constant
1479 folding of ffs, clz, ctz, popcount and parity builtin functions
1480 and their long and long long variants (such as ffsl and ffsll).
1481 (fold_builtin): fold_builtin_bitop when appropriate.
1482 * simplify-rtx.c (simplify_unary_operation): Honor both
1483 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
1484 evaluating clz and ctz at compile-time, for operands wider
1487 2003-08-26 Nathan Sidwell <nathan@codesourcery.com>
1489 * builtins.c (build_function_call_expr): Don't set
1490 TREE_SIDE_EFFECTS here.
1491 * expr.c (emit_block_move_via_libcall): Likewise.
1492 (clear_storage_via_libcall): Likewise.
1493 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
1496 * gcse.c (is_too_expensive): New function.
1497 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
1499 2003-08-25 Zack Weinberg <zack@codesourcery.com>
1501 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
1502 commented-out logic to use DCE threads (if present), add
1503 support for POSIX threads.
1504 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
1505 #defines for -pthread. Add -lpthread to LIB_SPEC when
1506 -pthread. In both cases take -mt as a synonym for -pthread
1507 for acc compatibility.
1508 Define GTHREAD_USE_WEAK to 0.
1509 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
1510 Remove old logic for DCE threads from LIB_SPEC.
1511 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
1513 2003-08-25 Roger Sayle <roger@eyesopen.com>
1515 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
1516 return 0 for invalid argument types. Instead drop through to a
1517 call of expand_call at the bottom of function. If op is SQRT,
1518 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
1520 2003-08-25 Richard Henderson <rth@redhat.com>
1522 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
1523 result when op0 is SImode.
1525 2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
1527 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
1529 * fixinc/fixincl.x: Regenerate.
1530 * fixinc/tests/base/sys/signal.h: Regenerate.
1532 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1534 * combine.c (simplify_comparison): Re-enable widening of comparisons
1535 with non-paradoxical subregs of non-REG expressions.
1537 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1539 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
1541 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1543 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
1545 2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1547 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
1548 * c-pretty-print.h (c_pretty_printer): Now typedef to the
1549 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
1550 (struct c_pretty_print_info): Document. Add new fields.
1551 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
1552 (pp_direct_abstract_declarator): New macro.
1553 (pp_ptr_operator): Likewise.
1554 (pp_simple_type_specifier): Likewise.
1555 (pp_expression): Likewise.
1556 (pp_parameter_list): Rename from pp_parameter_declaration.
1557 * c-pretty-print.c (pp_c_whitespace): Now a function.
1558 (pp_c_left_paren): Likewise.
1559 (pp_c_right_paren): Likewise.
1560 (pp_c_dot): Likewise.
1561 (pp_c_ampersand): Likewise.
1562 (pp_c_arrow): Likewise.
1563 (pp_c_semicolon): Likewise.
1564 (pp_c_type_cast): New function.
1565 (pp_c_space_for_pointer_operator): Likewise.
1566 (pp_c_call_argument_list): Likewise.
1567 (pp_c_cv_qualifier): Adjust prototype.
1568 (pp_c_type_qualifier_list): Likewise.
1569 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
1570 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
1571 Adjust to follow standard grammar.
1572 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
1573 REFERENCE_TYPE. Tidy.
1574 (pp_c_parameter_type_list): Adjust prototype. Tidy.
1575 (pp_c_parameter_declaration): Remove.
1576 (pp_c_abstract_declarator): Adjust prototype.
1577 (pp_c_direct_abstract_declarator): Likewise.
1578 (pp_c_type_id): Likewise.
1579 (pp_c_storage_class_specifier): Likewise.
1580 (pp_c_function_specifier): Likewise.
1581 (pp_c_declaration_specifiers): Likewise.
1582 (pp_c_direct_declarator): Likewise.
1583 (pp_c_declarator): Likewise.
1584 (pp_c_declarator): Likewise.
1585 (pp_c_declaration): Likewise.
1586 (pp_c_attributes): Likewise. Tidy.
1587 (pp_c_function_definition): Adjust prototype.
1588 (pp_c_char): Likewise.
1589 (pp_c_string_literal): Likewise.
1590 (pp_c_integer_constant): Likewise.
1591 (pp_c_character_constant): Likewise.
1592 (pp_c_bool_constant): Likewise.
1593 (pp_c_enumeration_constant): Likewise.
1594 (pp_c_floating_constant): Likewise.
1595 (pp_c_constant): Likewise.
1596 (pp_c_identifier): Likewise.
1597 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
1598 (pp_c_initializer): Adjust prototype.
1599 (pp_c_init_declarator): Likewise.
1600 (pp_c_initializer_list): Likewise.
1601 (pp_c_id_expression): Likewise.
1602 (pp_c_postfix_expression): Likewise.
1603 (pp_c_expression_list): Likewise.
1604 (pp_c_unary_expression): Likewise.
1605 (pp_c_cast_expression): Likewise.
1606 (pp_c_multiplicative_expression): Likewise.
1607 (pp_c_additive_expression): Likewise.
1608 (pp_c_shift_expression): Likewise.
1609 (pp_c_relational_expression): Likewise.
1610 (pp_c_equality_expression): Likewise.
1611 (pp_c_and_expression): Likewise.
1612 (pp_c_exclusive_or_expression): Likewise.
1613 (pp_c_inclusive_or_expression): Likewise.
1614 (pp_c_logical_and_expression): Likewise.
1615 (pp_c_logical_or_expression): Likewise.
1616 (pp_c_conditional_expression): Likewise.
1617 (pp_c_assignment_expression): Likewise.
1618 (pp_c_expression): Likewise. Tidy.
1619 (pp_c_statement): Likewise. Document.
1620 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
1622 * c-lang.c (c_initialize_diagnostics): Update.
1623 * c-common.h (strip_pointer_operator): Declare.
1624 * c-common.c (strip_pointer_operator): Define.
1626 2003-08-25 Mark Mitchell <mark@codesourcery.com>
1629 * tree.h (build_method_type_directly): Declare.
1630 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
1631 (vector_size_helper): Likewise.
1632 * tree.c (build_method_type_directly): New function.
1633 (build_method_type): Use it.
1635 2003-08-24 Richard Henderson <rth@redhat.com>
1637 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
1638 for 16-byte vector modes if sse not enabled; warn for abi change.
1639 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
1641 2003-08-24 Kazu Hirata <kazu@cs.umass.edu>
1643 * rtlanal.c (may_trap_p): Simplify an integer comparison.
1645 2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
1647 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
1648 comment. Enable for DYNIX/ptx systems (when they switch to
1649 regular fixincludes).
1650 * fixinc/fixincl.x: Regenerate.
1652 2003-08-23 Jason Eckhardt <jle@rice.edu>
1654 * config/i860/t-i860: New.
1655 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
1657 2003-08-23 Jakub Jelinek <jakub@redhat.com>
1659 * c-decl.c (pushdecl): Only put decls which finish_struct will do
1660 something about onto incomplete chain.
1661 (finish_struct): If not removing type from incomplete
1664 Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka <jh@suse.cz>
1667 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
1670 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
1671 const_0_to_15_operand, const_0_to_255_operand): New predicates.
1672 * i386.h (PREDICATE_CODES): Add these.
1673 * i386.c (pinsrw and pextrw patterns): Use them.
1676 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
1679 * expr.c (convert_modes): Deal properly with integer to vector
1680 constant conversion.
1683 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
1685 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
1687 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
1688 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
1689 ("*movhi"): ... this.
1690 ("movqi", "*movqi"): Likewise.
1691 ("movqi_64"): Remove.
1692 ("*zero_extendhisi2_31"): Change predicate to s_operand.
1694 2003-08-23 Dale Johannesen <dalej@apple.com>
1695 * calls.c (emit_library_call_value_1): Fix obvious errors in
1696 arguments to emit_group_store.
1698 2003-08-23 Jason Eckhardt <jle@rice.edu>
1700 * calls.c (emit_library_call_value_1): Remove code related
1701 to LIBGCC_NEEDS_DOUBLE.
1702 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
1703 * doc/tm.texi: Likewise.
1704 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
1706 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
1708 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
1710 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
1712 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
1713 as well. Put memory references in the varargs alias set.
1714 (mips_expand_prologue): Remove varargs handling from here.
1716 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
1718 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
1719 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
1720 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
1721 for function pointer calls.
1722 * config/s390/s390.md ("*negdi2_31"): Likewise.
1724 2003-08-23 Roger Sayle <roger@eyesopen.com>
1726 * combine.c (apply_distributive_law): Correct comment.
1728 2003-08-23 Jason Eckhardt <jle@rice.edu>
1730 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
1732 2003-08-22 Jason Eckhardt <jle@rice.edu>
1734 * config/i860/i860.c (i860_build_va_list): Create the va_decl
1735 declaration. Document the va_list structure.
1736 (i860_va_start): Initialize the va_list structure.
1737 (i860_va_arg): Rewrite completely.
1738 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
1739 * config/i860/varargs.asm: Do not allocate or initialize
1740 a va_list. Return the address of the register save area.
1742 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1744 * config/iq2000/iq2000.c: Fix comment typos.
1745 * config/iq2000/iq2000.md: Likewise.
1747 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1749 * config/iq2000/iq2000.c: Follow spelling conventions.
1750 * config/iq2000/iq2000.h: Likewise.
1751 * config/mn10300/mn10300.c: Likewise.
1753 2003-08-22 Jason Eckhardt <jle@rice.edu>
1755 * config/i860/i860.c (output_move_double): Don't set latehalf
1756 to zero for CONST_INT (since it could be, e.g., -1).
1758 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
1759 (MODSI3_LIBCALL): ...with this one.
1760 (UREMSI3_LIBCALL): Replace this macro...
1761 (UMODSI3_LIBCALL): ...with this one.
1763 2003-08-22 Jason Eckhardt <jle@rice.edu>
1765 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
1766 (output_delayed_branch): Remove prototype.
1767 (single_insn_src_p): Remove prototype.
1768 * config/i860/i860.c (single_insn_src_p): Remove function.
1769 (output_delayed_branch): Remove function.
1770 (output_delay_insn): Remove function.
1771 (va_start): Remove unconditional test and dead code, re-format.
1772 Fix coding style and spelling problems in various comments.
1773 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
1774 (blockage pattern): ...and use it here.
1775 (all define_peephole patterns related to delayed branches): Remove.
1776 Fix coding style and spelling problems in various comments.
1778 2003-08-22 Jason Eckhardt <jle@rice.edu>
1780 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
1781 Remove all uses of the PARAMS macro. Remove superflous prototypes.
1782 Convert all function definitions from traditional to ISO C90 syntax.
1783 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
1784 with 'GCC'. Remove all uses of the PARAMS macro.
1785 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
1786 * config/i860/i860.md: Likewise.
1787 * config/i860/sysv4.h: Likewise.
1788 * config/i860/varargs.asm: Likewise.
1790 2003-08-22 Jason Eckhardt <jle@rice.edu>
1792 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
1794 (tdesc_section): Add prototype.
1795 Update copyright dates.
1796 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
1797 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
1798 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
1799 (targetm): Likewise.
1800 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
1801 for '%d' where necessary.
1802 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
1803 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
1804 by UNITS_PER_WORD when referencing (likewise for .floats).
1805 (I860_SVR4_VARARGS): Rename...
1806 (I860_SVR4_VA_LIST): ...to this.
1807 Call build() with 't' rather than 'field'.
1808 (i860_rtx_costs): New function.
1809 (TARGET_RTX_COSTS): Define.
1810 (i860_internal_label): New function.
1811 (TARGET_ASM_INTERNAL_LABEL): Define.
1812 (i860_file_start): New function.
1813 Update copyright dates.
1814 * config/i860/i860.h (CPP_PREDEFINES): Remove.
1815 (TARGET_CPU_CPP_BUILTINS): Define.
1816 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
1817 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
1818 (ASM_FILE_START): Remove.
1819 (ASM_FILE_START_1): Remove.
1820 (ASM_GLOBALIZE_LABEL): Remove.
1821 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
1822 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
1823 with targetm.asm_out.internal_label.
1824 Update copyright dates.
1825 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
1826 (CPP_PREDEFINES): Remove.
1827 (TARGET_OS_CPP_BUILTINS): Define.
1828 (GLOBAL_ASM_OP): Define.
1829 (ASM_FILE_START): Remove.
1830 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
1831 (TARGET_ASM_FILE_START): Define.
1832 Update copyright dates.
1834 2003-08-22 Jason Eckhardt <jle@rice.edu>
1836 * gcc/config.gcc (i860-*-sysv4*): Add target.
1837 * config/i860/i860-protos.h: New.
1838 * config/i860/i860.c: New.
1839 * config/i860/i860.h: New.
1840 * config/i860/i860.md: New.
1841 * config/i860/sysv4.h: New.
1842 * config/i860/varargs.asm: New.
1843 * config/i860/x-sysv4: New.
1845 2003-08-22 Jason Eckhardt <jle@rice.edu>
1847 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
1848 Remove all uses of PARAMS macro.
1849 Convert all function definitions to ISO C90 syntax.
1850 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
1851 * config/pa/fptr.c: Likewise.
1852 * config/pa/lib2funcs.asm: Likewise.
1853 * config/pa/long_double.h: Likewise.
1854 * config/pa/milli64.S: Likewise.
1855 * config/pa/pa-64.h: Likewise.
1856 * config/pa/pa-hpux.h: Likewise.
1857 * config/pa/pa-hpux10.h: Likewise.
1858 * config/pa/pa-hpux11.h: Likewise.
1859 * config/pa/pa-linux.h: Likewise.
1860 * config/pa/pa-modes.def: Likewise.
1861 * config/pa/pa-osf.h: Likewise.
1862 * config/pa/pa-pro-end.h: Likewise.
1863 * config/pa/pa.md: Likewise.
1864 * config/pa/pa32-linux.h: Likewise.
1865 * config/pa/pa64-linux.h: Likewise.
1866 * config/pa/pa64-hpux.h: Likewise.
1867 * config/pa/pa64-regs.h: Likewise.
1868 * config/pa/quadlib.c: Likewise.
1869 * config/pa/rtems.h: Likewise.
1870 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
1871 all uses of the PARAMS macro.
1872 * config/pa/pa.h: Likewise.
1873 * config/pa/som.h: Likewise.
1875 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
1876 Remove all uses of PARAMS macro.
1877 Convert all function definitions to ISO C90 syntax.
1878 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
1879 Remove all uses of PARAMS macro.
1880 * config/iq2000.h: Remove all uses of PARAMS macro.
1881 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
1883 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
1885 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
1886 * config/s390/s390.c (gen_consttable): Remove.
1887 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
1888 (s390_output_pool_entry): New function.
1889 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
1890 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
1891 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
1892 (UNSPECV_POOL_ENTRY): ... this new constant.
1893 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
1894 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
1895 ("*pool_entry"): ... and replace by this new insn.
1896 ("literal_pool_31"): Do not emit anchor label if pool empty.
1898 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
1899 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
1900 (s390_fixup_clobbered_return_reg): Remove.
1901 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
1902 (s390_return_addr_rtx): Always retrieve return address from save area
1903 slot. Use save_return_addr_p to force slot to be filled.
1904 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
1906 2003-08-22 Chris Demetriou <cgd@broadcom.com>
1908 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
1909 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
1910 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
1911 around SB-1 errata if TARGET_FIX_SB1 is set.
1912 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
1913 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
1915 2003-08-22 Roger Sayle <roger@eyesopen.com>
1917 * hashtable.c (ht_expand): Avoid calculating rehash for the common
1918 case that the first probe hits an empty hash table slot.
1920 2003-08-22 Mark Mitchell <mark@codesourcery.com>
1922 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
1924 2003-08-22 Mark Mitchell <mark@codesourcery.com>
1926 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
1927 (ptr_extend_plus_imm): ... this.
1928 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
1929 optimization in C++.
1930 (ia64_output_mi_thunk): Support ILP32 mode.
1932 2003-08-22 bernardo innocenti <bernie@develer.com>
1934 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
1936 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
1938 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1940 * config/i386/i386.c (const_int_1_operand): Simplify an
1943 2003-08-22 Alan Modra <amodra@bigpond.net.au>
1945 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
1946 * config/rs6000/ppc64-fp.c: Likewise.
1948 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1950 * cfgcleanup.c: Fix comment typos.
1951 * emit-rtl.c: Likewise.
1952 * optabs.c: Likewise.
1953 * ra-build.c: Likewise.
1954 * rtlanal.c: Likewise.
1957 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1959 * c-decl.c: Fix comment formatting.
1960 * cfgrtl.c: Likewise.
1961 * combine.c: Likewise.
1962 * convert.c: Likewise.
1963 * dominance.c: Likewise.
1964 * dwarf2out.c: Likewise.
1965 * dwarfout.c: Likewise.
1966 * expmed.c: Likewise.
1967 * fold-const.c: Likewise.
1969 * genattrtab.c: Likewise.
1970 * ggc-common.c: Likewise.
1971 * mips-tfile.c: Likewise.
1972 * regmove.c: Likewise.
1974 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1976 * builtin-attrs.def: Fix comment formatting.
1977 * c-pretty-print.c: Likewise.
1978 * diagnostic.h: Likewise.
1979 * langhooks.h: Likewise.
1980 * recog.c: Likewise.
1981 * simplify-rtx.c: Likewise.
1982 * tree.def: Likewise.
1984 2003-08-22 Bernardo Innocenti <bernie@develer.com>
1986 * config/m68k/m68k-protos.h: Convert to ISO C90.
1987 * config/m68k/m68k.c: Likewise.
1989 2003-08-21 Bernardo Innocenti <bernie@develer.com>
1990 Paul Dale <pauli@snapgear.com>
1991 Peter Barada <peter@baradas.org>
1993 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
1996 2003-08-21 Zack Weinberg <zack@codesourcery.com>
1998 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
1999 * config.gcc (*-*-openbsd): Don't set tm_file.
2000 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
2001 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
2002 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
2003 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
2004 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
2005 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
2006 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
2007 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
2008 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
2009 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
2010 xscale-*-coff): Use explicit and complete lists of target headers
2011 to include. Move definitions to tm_defines where appropriate.
2012 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
2013 not-yet-contributed configuration.
2015 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
2016 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
2017 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
2018 * config/i386/nto.h, config/iq2000/iq2000.h,
2019 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
2020 * config/m68k/linux.h, config/m68k/m68k-aout.h
2021 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
2022 * config/m68k/netbsd.h, config/m68k/openbsd.h
2023 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
2024 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
2025 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
2026 Remove includes of other target config headers, and
2027 definitions of macros moved to tm_defines lists. Add #undefs
2028 where now necessary to prevent redefinition warnings.
2030 * config/h8300/coff.h: New file split out of...
2031 * config/h8300/elf.h: ...here.
2032 * config/m68k/hp320base.h: New file split out of...
2033 * config/m68k/hp320.h: ...here.
2034 * config/rs6000/lynxbase.h: New file split out of...
2035 * config/rs6000/lynx.h: ...here.
2037 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
2038 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
2040 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
2041 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
2042 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
2043 Remove unnecessary #ifndef.
2044 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
2045 [under IN_LIBGCC2] with config/.
2047 2003-08-21 Per Bothner <pbothner@apple.com>
2049 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
2051 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
2052 by return_at_eof check. Always call _cpp_pop_buffer at end.
2054 2003-08-21 Kazu Hirata <kazu@cs.umass.edu>
2057 * config/h8300/h8300.md (two anonymous patterns): Remove.
2059 2003-08-21 Richard Sandiford <rsandifo@redhat.com>
2061 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
2062 * config/mips/mips.c (function_arg_pass_by_reference): Never return
2065 2003-08-21 Josef Zlomek <zlomekj@suse.cz>
2067 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
2068 and similarly in (A | C) == D where C & ~D != 0.
2070 2003-08-20 Geoffrey Keating <geoffk@apple.com>
2073 * configure.in: When testing with_libs and with_headers, treat
2074 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
2075 * configure: Regenerate.
2077 2003-08-20 Peter Barada <peter@baradas.org>
2079 * longlong.h (umul_ppmm): Add ColdFire support.
2081 2003-08-20 Peter Barada <peter@baradas.org>
2082 Bernardo Innocenti <bernie@develer.com>
2084 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
2085 * config/m68k/m68k.h: Likewise.
2086 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
2087 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
2088 * config/m68k/linux.h: Likewise.
2089 * config/m68k/m68k.c: Likewise.
2090 * config/m68k/m68k.md: Likewise.
2091 * config/m68k/m68kelf.h: Likewise.
2092 * config/m68k/netbsd-elf.h: Likewise.
2093 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
2095 2003-08-20 Bernardo Innocenti <bernie@develer.com>
2097 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
2098 * config/m68k/m68k.md: Likewise.
2100 2003-08-20 Mark Mitchell <mark@codesourcery.com>
2104 2003-08-19 Mark Mitchell <mark@codesourcery.com>
2105 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2106 types with precisions other than those given by native machine
2109 2003-08-20 Gunther Nikl <gni@gecko.de>
2111 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
2112 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
2113 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
2114 * config/m68k/m68k.md (anonymous define_insn): Likewise
2115 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
2116 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
2117 code selected by NO_ASM_FMOVECR
2119 2003-08-20 Gunther Nikl <gni@gecko.de>
2121 * config/m68k/m68k.c (output_move_const_into_data_reg,
2122 output_move_himode): unify MOTOROLA/MIT handling of moveq
2123 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
2126 2003-08-20 Gunther Nikl <gni@gecko.de>
2128 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
2130 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
2131 HOST_WIDE_INT_PRINT_DEC with %wd
2133 2003-08-20 Loren James Rittle <ljrittle@acm.org>
2135 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
2138 2003-08-20 Roger Sayle <roger@eyesopen.com>
2141 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
2142 operands before calling tree_int_cst_lt when performing associative
2145 2003-08-20 Jason Merrill <jason@redhat.com>
2147 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
2148 (EXPR_CHECK): Don't check for 'r' or 's' if we're
2149 checking IS_EXPR_CODE_CLASS.
2150 * calls.c (calls_function_1): Likewise.
2151 * fold-const.c (fold): Likewise.
2152 * tree.c (iterative_hash_expr): Likewise.
2153 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
2155 2003-08-20 Gunther Nikl <gni@gecko.de>
2157 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
2158 depending on MOTOROLA_BSR
2159 * config/m68k/m68k.md (anonymous define_insn): Likewise
2161 2003-08-20 Jason Merrill <jason@redhat.com>
2163 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
2164 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2165 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
2166 * dojump.c (do_jump): Likewise.
2167 * fold-const.c (operand_equal_p, fold): Likewise.
2168 (tree_expr_nonnegative_p): Likewise.
2170 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
2171 TYPE_USER_ALIGN for FIELD_DECLs.
2173 * attribs.c (decl_attributes): Rebuild the function pointer type after
2174 changing the target type.
2175 * tree.c (get_qualified_type): Also check that the attributes match.
2177 2003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
2179 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
2180 * objc/config-lang.in (stagestuff): ... to here.
2182 2003-08-19 Mark Mitchell <mark@codesourcery.com>
2185 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
2186 NOP_EXPR) when necessary.
2187 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2188 types with precisions other than those given by native machine
2191 2003-08-19 Geoffrey Keating <geoffk@apple.com>
2193 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
2194 because some macro is defined.
2196 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
2198 * config/i386/darwin.h (ASM_SPEC): New.
2199 (SUBTARGET_EXTRA_SPECS): New.
2200 * config/rs6000/darwin.h (ASM_SPEC): New.
2201 (SUBTARGET_EXTRA_SPECS): New.
2202 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
2203 a cross-compiler between two different processors on Darwin.
2204 * configure: Regenerate.
2206 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2208 * builtins.c: Fix comment typos.
2209 * c-common.c: Likewise.
2210 * c-decl.c: Likewise.
2211 * c-pretty-print.c: Likewise.
2212 * cfgbuild.c: Likewise.
2213 * cfglayout.c: Likewise.
2214 * cfgloopanal.c: Likewise.
2215 * cgraphunit.c: Likewise.
2216 * cppfiles.c: Likewise.
2217 * dwarfout.c: Likewise.
2219 * fold-const.c: Likewise.
2221 * ggc-page.c: Likewise.
2222 * haifa-sched.c: Likewise.
2223 * pretty-print.c: Likewise.
2226 * value-prof.c: Likewise.
2228 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2230 * c-decl.c: Follow spelling conventions.
2231 * cppfiles.c: Likewise.
2233 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2235 * c-common.c: Fix comment formatting.
2236 * c-common.h: Likewise.
2237 * c-decl.c: Likewise.
2238 * cppinit.c: Likewise.
2239 * cpplib.h: Likewise.
2240 * emit-rtl.c: Likewise.
2241 * input.h: Likewise.
2242 * line-map.h: Likewise.
2245 * simplify-rtx.c: Likewise.
2247 2003-08-19 Daniel Jacobowitz <drow@mvista.com>
2249 * unwind-c.c: Add libgcc-style exception.
2250 * unwind-dw2.c: Likewise.
2251 * unwind-pe.h: Likewise.
2252 * unwind-sjlj.c: Likewise.
2253 * unwind.inc: Likewise.
2255 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2257 PR c/5582 PR c++/10538
2258 * langhooks-def.h (lhd_decl_uninit): Declare.
2259 (LANG_HOOKS_DECL_UNINIT): New macro.
2260 (LANG_HOOKS_INITIALIZER): Adjust.
2261 * langhooks.h (struct lang_hooks): Add new field
2263 * langhooks.c (lhd_decl_uninit): Define.
2264 * c-common.c (c_decl_uninit_1): New function.
2265 (c_decl_uninit): New function.
2266 (warn_init_self): Define.
2267 * c-common.h (c_decl_uninit): Declare.
2268 (warn_init_self): Declare.
2269 * c.opt: Introduce -Winit-self.
2270 * c-opts.c (c_common_handle_options): Set warn_init_self.
2271 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2272 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2273 * function.c (uninitialized_vars_warning): Call the language hook.
2274 * doc/invoke.texi: Document -Winit-self.
2276 2003-08-19 Chris Demetriou <cgd@broadcom.com>
2278 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
2279 to use better predicates and constraints. Define new
2280 instruction to handle "trap_if" with DI-mode arguments.
2281 (conditional_trap): FAIL if trap code is not 0.
2283 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2285 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
2286 strstr with $pb to a strcompare with "<pic base>"
2287 (ix86_output_addr_diff_elt): Output the real pic base.
2289 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
2291 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
2292 (LANG_HOOKS_INITIALIZER): Correct.
2293 * c-lang.c: Likewise.
2295 2003-08-19 Jan Hubicka <jh@suse.cz>
2297 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
2298 (cgraph_varpool_mark_needed_node): Likewise.
2299 * cgraph.h (notice_global_symbol): Declare
2300 * varasm.c (notice_global_symbol): Break out from ...
2301 (assemble_start_function): ... here; update for variables.
2302 (assemble_variable): Use notice_global_symbol.
2304 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
2306 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
2307 expect SFmode and DFmode arguments to be passed in FPRs,
2308 regardless of the underlying type.
2310 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
2313 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
2314 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
2316 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
2319 * c-typeck.c (set_init_index): Check for negative index.
2321 2003-08-18 Bob Wilson <bob.wilson@acm.org>
2323 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
2325 * config/xtensa/crtn.asm (_init, _fini): Likewise.
2326 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2327 __umodsi3, __modsi3): Likewise.
2328 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
2331 2003-08-18 Aldy Hernandez <aldyh@redhat.com>
2333 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
2335 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2337 * config/mips/mips.md: Quote C code in braces. Remove use of
2338 fake const0_rtx operands. Remove double backslashes. Use \;.
2339 Remove workarounds for bogus warnings.
2341 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2343 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
2344 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
2345 rather than TARGET_MIPS4300.
2346 (mulsf3_internal, mulsf3_r4300): Likewise.
2348 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2350 * config/mips/mips.md: Renumber unspecs. Clean up comments.
2352 2003-08-17 Roger Sayle <roger@eyesopen.com>
2354 * simplify-rtx.c (associative_constant_p): New function to test
2355 whether an RTX expression is an immediate constant.
2356 (simplify_associative_operation): New function to perform some
2357 reassociation optimizations of associative binary expressions.
2358 (simplify_binary_operation): Use simplify_associative_operation
2359 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
2360 Floating point expressions are only reassociated when unsafe
2361 math optimizations are permitted.
2363 2003-08-17 Andreas Jaeger <aj@suse.de>
2365 * config/alpha/alpha.md: Remove usage of PARAMS.
2367 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
2368 * config/i386/i386-interix.h: Likewise.
2369 * config/i386/winnt.c: Likewise.
2370 * config/i386/cygming.h: Likewise.
2371 * config/i386/cygwin2.c: Likewise.
2372 * config/darwin.c: Likewise.
2373 * config/darwin-c.c: Likewise.
2374 * config/darwin-protos.h: Likewise.
2375 * config/darwin.h: Likewise.
2376 * config/s390/s390-protos.h: Likewise.
2377 * config/s390/s390.c: Likewise.
2378 * config/ia64/ia64.c: Likewse
2379 * config/ia64/ia64-protos.h: Likewise.
2380 * config/ia64/ia64-c.c: Likewise.
2382 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2384 * config/sparc/sparc.c: Convert to ISO C.
2386 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
2387 * config/sparc/sparc.c: Likewise.
2389 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
2392 * stmt.c (expand_expr_stmt_value): Don't warn about any void
2395 2003-08-16 Jan Hubicka <jh@suse.cz>
2397 * i386.c (ix86_fntype_regparm): Rename from ...
2398 (ix86_function_regparm): ... this one; add fastcall and local
2400 (ix86_function_ok_for_sibcall): Update.
2401 (ix86_return_pops_args): Likewise.
2402 (init_cumulative_args): Likewise.
2403 (x86_can_output_mi_thunk): Likewise.
2404 (function_arg): Fix formating.
2405 (x86_this_parameter): Fix fastcall.
2406 (x86_output_mi_thunk): Likewise.
2408 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
2409 body as reachable; mark nested functions as needed too.
2410 (dump_cgraph): Do not output global.calls.
2411 * cgraph.h (cgraph_global_info): Kill.
2412 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
2413 (record_call_1): Speedup.
2414 (cgraph_analyze_function): Break out from ...; compute inlining
2416 (cgraph_finalize_compilation_unit): ... here.
2417 (cgraph_mark_inline): Kill computation of calls.
2418 (cgraph_decide_inlining): Do not compute most of initial values.
2420 2003-08-14 Roger Sayle <roger@eyesopen.com>
2422 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
2423 to negate if either operand is easy to negate, if we don't care
2424 about sign-dependent rounding.
2425 (negate_expr): Make the logic to negate a REAL_CST explicit.
2426 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
2427 that's easy to negate, if we don't honor sign-dependent rounding.
2428 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
2429 negate, and the symmetric A * -B as -A * B if A is easy to negate.
2430 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
2431 -C/D if B and C are cheap to negate. Add an explicit rule to
2432 optimize X/-1.0 as -X when we don't care about signaling NaNs.
2434 2003-08-14 Zack Weinberg <zack@codesourcery.com>
2436 * Makefile.in (tm_file): Rename tm_include_list.
2437 (tm_p_file): Rename tm_p_include_list.
2438 (build_xm_file): Rename build_xm_include_list.
2439 (host_xm_file): Rename host_xm_include_list.
2440 (xm_file): Rename xm_include_list.
2441 (xm_file_list): Add to be substituted.
2442 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
2444 (bt-load.o): Add missing dependency on $(TM_H).
2445 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
2446 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
2447 build_xm_file, generate both *_file_list and *_include_list
2448 values from it. (xm_file_list was formerly not being generated.)
2449 In *_include_list, prefix the names of all headers found in
2450 $(srcdir)/config with config/. In each loop, consider only
2451 the special case files that can actually appear in that list.
2452 AC_SUBST all *_file_list and all *_include_list variables; do
2453 not AC_SUBST the plain *_file variables.
2454 * configure: Regenerate.
2456 2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2458 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
2460 2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2462 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
2464 (attr_length_call): Include it here. Improve length estimate for
2466 (output_call): Use targetm.binds_local_p.
2468 2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2470 * builtins.c (CASE_MATHFN): New helper macro.
2471 (mathfn_built_in): Simplify and sort.
2473 * protoize.c (substr): Delete, callers changed to `strstr'.
2475 2003-08-13 Zack Weinberg <zack@codesourcery.com>
2477 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
2478 * config/iq2000/xm-iq2000.h: Delete file.
2480 2003-08-13 Geoffrey Keating <geoffk@apple.com>
2482 * gengtype.c (walk_type): Process a subobject before processing
2483 the pointer that points to the subobject.
2485 2003-08-13 Per Bothner <pbothner@apple.com>
2487 * regclass.c (init_reg_modes): Make non-static.
2488 Rename to init_reg_modes_once per new naming convention.
2489 (init_regs): Don't call init_reg_modes here.
2490 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
2491 * rtl.h (init_reg_modes_once): New declaration.
2492 * toplev.c (backend_init): Call init_regs after init_emit_once.
2494 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
2496 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
2497 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
2499 2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
2501 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
2502 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
2504 2003-08-13 Dale Johannesen <dalej@apple.com>
2506 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
2507 handling of decrement-and-branch farther than 32 bits.
2509 2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
2511 * configure.in (make_compare_target): Move test to ...
2512 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
2513 * configure: Regenerate.
2515 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
2517 * config/mips/iris6.h: Convert to C90 prototypes.
2518 * config/mips/irix6-libc-compat.c: Likewise.
2519 * config/mips/mips-protos.h: Likewise.
2520 * config/mips/mips.c: Likewise.
2522 2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
2524 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
2525 for selected machines. Comment heavily.
2526 fixinc/fixincl.x: Rebuild.
2527 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
2529 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
2531 * config/mips/mips.h: Tweak various comments.
2532 * config/mips/mips.c: Likewise.
2534 2003-08-11 James E Wilson <wilson@tuliptree.org>
2536 PR optimization/11319
2538 * alias.c (find_base_value, case REG): Return 0 not src if no base
2541 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2543 * gcse.c (gmalloc): Fix last change.
2545 2003-08-11 Roger Sayle <roger@eyesopen.com>
2547 * simplify-rtx.c (simplify_binary_operation): Replace calls to
2548 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
2549 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
2550 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
2552 2003-08-11 Roger Sayle <roger@eyesopen.com>
2554 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
2555 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
2556 typecode for an ABS_EXPR.
2558 * doc/c-tree.texi: Document ABS_EXPR.
2560 2003-08-11 Roger Sayle <roger@eyesopen.com>
2562 * fold-const.c (fold): Optimize any associative floating point
2563 operator with -funsafe-math-optimizations, not just MULT_EXPR.
2565 2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
2567 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
2568 information in SHmedia case too.
2569 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
2571 (__set_fpscr): Use an access via GOT for PIC case.
2573 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
2575 * configure.in (intermodule): Make switch test more portable.
2576 * configure: Regenerate.
2578 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
2580 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
2581 (restrap): Likewise.
2583 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2585 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
2586 (grealloc): Size argument is a size_t.
2587 (gcalloc): New function. Use throughout in lieu of
2590 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
2592 * config/ia64/ia64.c (ia64_reorg): Likewise.
2593 * conflict.c (conflict_graph_new): Likewise.
2594 * fixinc/fixincl.c (run_compiles): Likewise.
2595 * genattrtab.c (optimize_attrs): Likewise.
2596 * genrecog.c (new_decision): Likewise.
2597 * haifa-sched.c (schedule_block): Likewise.
2598 * hashtable.c (ht_create): Likewise.
2600 2003-08-11 Bob Wilson <bob.wilson@acm.org>
2602 * config/xtensa/lib2funcs.S: Fix whitespace.
2603 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
2604 syntax where appropriate. Remove unnecessary backslash escapes.
2605 Reformat comments and fix some code formatting.
2606 (extendqisi2): Rearrange conditional.
2607 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
2608 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
2611 2003-08-11 Richard Sandiford <rsandifo@redhat.com>
2613 * config/mips/mips.c: Various formatting fixes.
2614 (override_options): Resync -mtune handling with gas.
2615 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
2616 * config/mips/mips.h: More formatting fixes.
2617 (mips_abi): Move declaration.
2618 * config/mips/mips.md (exception_receiver): Add mode to
2621 2003-08-11 Aldy Hernandez <aldyh@redhat.com>
2623 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
2625 (bdesc_1arg): Remove evsplati and evsplatfi.
2627 2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
2629 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
2632 2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2634 * builtins.c (expand_builtin_strcat): Optimize constant strings.
2636 2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
2638 * pretty-print.c (pp_base_indent): Rename from pp_indent.
2639 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
2640 (struct c_pretty_print_info): Add more fields.
2641 (pp_c_left_paren): Move to c-pretty-print.c.
2642 (pp_c_right_paren): Likewise.
2643 (pp_c_left_brace): Likewise.
2644 (pp_c_right_brace): Likewise.
2645 (pp_c_left_bracket): Likewise.
2646 (pp_c_right_bracket): Likewise.
2647 (pp_c_declarator): Declare.
2648 (pp_c_direct_declarator): Likewise.
2649 (pp_c_specifier_qualifier_list): Likewise.
2650 (pp_c_type_id): Likewise.
2651 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
2652 (pp_c_type_qualifier_list): New.
2653 (pp_c_pointer): Likewise.
2654 (pp_c_parameter_type_list): Likewise.
2655 (pp_c_function_definition): Likewise.
2656 (pp_c_id_expression): Likewise.
2657 (pp_c_simple_type_specifier): Tidy.
2658 (pp_c_unary_expression): Likewise.
2659 (pp_c_expression): Likewise.
2660 (pp_c_pretty_printer_init): Likewise.
2661 (pp_c_specifier_qualifier_list): Rework..
2662 (pp_c_abstract_declarator): Likewise.
2663 (pp_c_postfix_expression): Likewise.
2664 (pp_c_primary_expression): Likewise.
2665 (pp_c_cast_expression): Likewise.
2666 (pp_c_direct_abstract_declarator): Likewise.
2667 (pp_c_storage_class_specifier): Likewise.
2668 (pp_c_function_specifier): Likewise.
2669 (pp_c_declaration_specifiers): Likewise.
2670 (pp_c_direct_declarator): Likewise.
2671 (pp_c_declarator): Likewise.
2672 (pp_c_declaration): Likewise.
2673 (pp_c_statement): Likewise.
2674 (pp_c_integer_constant): Rename from pp_c_integer_literal.
2675 (pp_c_character_constant): Rename from pp_c_character_literal.
2676 (pp_c_bool_constant): Rename from pp_c_bool_literal.
2677 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
2678 (pp_c_floating_constant): Rename from pp_c_real_literal.
2679 (pp_c_constant): Rename from pp_c_literal.
2680 * c-lang.c: Include diagnostic.h and c-pretty-print.h
2681 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
2682 (c_initialize_diagnostics): New.
2683 * Makefile.in (c-lang.o): Update dependency.
2685 2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
2687 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
2689 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
2691 * config/mips/mips.c (mips_no_mips16_string): Remove.
2692 (override_options): Don't handle -mips16 as part of -mipsN.
2693 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
2694 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
2695 (TARGET_OPTIONS): Remove -mno-mips16.
2697 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
2699 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
2700 (coprocessor2_operand): Likewise.
2701 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
2702 (lookup_name): Remove declaration.
2703 (abort_with_insn): Remove. Replace all uses with fatal_insn.
2704 (mips16, mips_abicalls): Remove.
2705 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
2706 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
2707 (coprocessor_operand, coprocessor2_operand): Remove.
2708 (override_options): Don't set mips16 or mips_abicalls.
2709 (print_operand): Don't expect SIGN_EXTEND operands.
2710 (mips_secondary_reload_class): Likewise.
2711 (mips_output_conditional_branch): Remove disabled long-branch code.
2712 * config/mips/mips.h (call_used_regs): Remove declaration.
2713 (may_call_alloca): Likewise.
2714 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
2715 (mips_abicalls, mips16): Remove declarations.
2716 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
2717 (CC1_SPEC): Remove outdated comment.
2718 (MIPS_VERSION, MACHINE_TYPE): Remove.
2719 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
2720 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
2721 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
2722 (PUSH_ROUNDING): Likewise.
2723 (ASSEMBLER_SCRATCH_REGNUM): Remove.
2724 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
2725 and mips16 with TARGET_MIPS16.
2727 2003-08-09 Per Bothner <pbothner@apple.com>
2729 * cppinit.c (cpp_read_main_file): Split out source-independent
2730 initialization to separate function ...
2731 (cpp_post_options): New function.
2732 * cppfiles.c (cpp_stack_file): Rename public name to ...
2733 (_cpp_stack_file): New internal function name.
2734 * cpplib.h: Update accordingly.
2735 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
2736 (cpp_read_main_file): Don't initialize line here.
2737 * c-opts.c (c_common_post_options): Call cpp_post_options.
2738 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
2739 * fix-header.c (read_scan_file): Call cpp_post_options.
2741 2003-08-09 Per Bothner <per@bothner.com>
2743 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
2745 2003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2747 * pa.c (pa_asm_output_mi_thunk): Fix typo.
2749 2003-08-09 Neil Booth <neil@daikokuya.co.uk>
2751 PR preprocessor/11839
2752 * cppfiles.c (open_file): Handle ENOTDIR.
2754 2003-08-09 Richard Sandiford <rsandifo@redhat.com>
2757 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
2759 2003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2761 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
2762 source/destination is not a register operand.
2764 2003-08-08 Richard Henderson <rth@redhat.com>
2767 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
2768 RETURN_ADDRESS_POINTER_REGNUM.
2769 (ia64_expand_prologue): Don't frob it.
2770 (ia64_output_function_epilogue): Likewise.
2771 (ia64_return_addr_rtx): New.
2772 (ia64_split_return_addr_rtx): New.
2773 * config/ia64/ia64-protos.h: Update.
2774 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
2775 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
2776 (GENERAL_REGNO_P): Don't check it.
2777 (AR_*_REGNUM): Renumber.
2778 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
2779 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
2780 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
2781 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
2782 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
2783 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
2784 (movdi_ret_addr): New.
2786 2003-08-08 Geoffrey Keating <geoffk@apple.com>
2788 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
2790 2003-08-08 Roger Sayle <roger@eyesopen.com>
2792 * tree.h (get_identifier) Define a macro form of get_identifier
2793 that calls get_identifier_with_length when the string is constant.
2794 (get_identifier_with_length): Change type of second argument to
2795 size_t in prototype.
2796 * stringpool.c (get_identifier): Undefine the macro before giving
2797 the function definition.
2798 (get_identifier_with_length): Change type of second argument to
2799 size_t in function definition.
2800 * hashtable.c (calc_hash): Change type of second argument to size_t.
2801 (ht_lookup): Change type of third argument to size_t. Reorganize
2802 to speed-up the cases where the hash table slot is empty, or the
2803 first probe matches (i.e. there isn't a collision).
2804 * hashtable.h (ht_lookup): Adjust function prototype.
2806 2003-08-08 Bernardo Innocenti <bernie@develer.com>
2810 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
2812 2003-08-08 Neil Booth <neil@daikokuya.co.uk>
2814 * common.opt: Add debug switches.
2815 * flags.h (use_gnu_debug_info_extensions): Boolify.
2816 * opts.c (write_symbols, debug_info_level,
2817 use_gnu_debug_info_extensions): Move from toplev.c.
2818 (set_debug_level): New.
2819 (common_handle_options): Handle debug switches.
2820 (print_help): Display target options directly.
2821 * toplev.c (debug_hooks): Don't initialize.
2822 (write_symbols, debug_info_level,
2823 use_gnu_debug_info_extensions): Move to opts.c.
2824 (debug_args, display_help, decode_g_option): Remove.
2825 (process_options): Set no debug if level zero here,
2826 and no-debug-hooks. Error here if impossible debug format selected.
2827 * toplev.h (display_help, decode_g_option): Remove.
2829 2003-08-08 Richard Sandiford <rsandifo@redhat.com>
2831 * tree.c (get_file_function_name_long): Fix size of alloca() area.
2833 2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
2835 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
2836 and gcc_cv_prog_cmp_skip.
2837 * configure: Regenerate.
2839 2003-08-08 Stan Cox <scox@redhat.com>
2841 * config/iq2000: New port.
2842 * config.gcc (iq2000-*-elf): Added.
2843 * doc/install.texi (Specific): Add iq2000 description.
2845 2003-08-08 Andreas Schwab <schwab@suse.de>
2847 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
2848 and insert missing empty argument.
2849 * configure: Regenerate.
2851 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2853 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
2854 (attr_length_millicode_call): Likewise.
2855 (attr_length_call): Likewise. Revise some maximum insn lengths.
2856 (attr_length_indirect_call): Likewise.
2857 (output_call): Fix thinko that added extra nop.
2858 * pa.h (IN_NAMED_SECTION_P): Define.
2861 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
2862 __STDC_EXT__ when using C++ dialect.
2864 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
2866 * sh.c (calc_live_regs): If the return address pointer is live,
2868 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
2869 for saves / restores.
2870 (sh_expand_epilogue): If sh_media_register_for_return returns a
2871 register number, flag the instructions that restores PR_MEDIA_REG
2873 Remove dead update of offset.
2874 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
2875 we can use the result of get_hard_reg_initial_val.
2876 * sh.md (UNSPEC_RA): New constant.
2877 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
2878 (load_ra). Handle UNSPEC_RA.
2879 (sibcall_media): Use PR_MEDIA_REG.
2881 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
2882 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
2883 needs saving on SHmedia.
2885 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
2887 * config/s390/s390.md: Replace all occurrences of \\t with \t.
2889 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
2891 * local-alloc.c (combine_regs): Fix comment typo.
2893 2003-08-06 Zack Weinberg <zack@codesourcery.com>
2895 * c-decl.c (builtin_decls): Replace with first_builtin_decl
2896 and last_builtin_decl.
2897 (c_init_decl_processing): Initialize both.
2898 (c_reset_state): Iterate from first_builtin_decl to
2899 last_builtin_decl inclusive to reintroduce builtins.
2901 2003-08-06 David Mosberger <davidm@hpl.hp.com>
2903 * doc/extend.texi (Function Attributes): Document the IA-64 version
2904 of the "model" attribute.
2906 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
2907 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
2908 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
2910 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
2911 (ia64_encode_section_info): Likewise.
2912 (ia64_attribute_table): Add "model" attribute.
2913 (TARGET_ENCODE_SECTION_INFO): Define.
2914 (small_addr_symbolic_operand): New function.
2915 (got_symbolic_operand): Return 0 for a symbolref to an object
2916 in the small address area.
2917 (enum ia64_addr_area): New type.
2918 (small_ident1): New variable.
2919 (small_ident2): Likewise.
2920 (init_idents): New function.
2921 (ia64_get_addr_area): Likewise.
2922 (ia64_encode_addr_area): Likewise.
2923 (ia64_encode_section_info): Likewise.
2924 (ia64_expand_load_address): For symbolic references to objects in
2925 the small-address-area, load the address via gen_rtx_SET() (which,
2926 eventually, will expand into "addl").
2928 2003-08-06 Per Bothner <pbothner@apple.com>
2930 * line-map.h (fileline): New typedef.
2931 (struct line_map, linemap_add, linemap_lookup): Use it.
2932 * input.h (struct location_s): Comment notes that long-term we want
2933 to replace it by fileline.
2935 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
2937 Fix SHcompact exception handling:
2938 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
2939 by the prologue, return a MEM with return_address_pointer_rtx
2941 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
2942 (RETURN_ADDR_OFFSET): Don't define.
2943 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
2944 registers that are visible in compact mode. Show that SHmedia
2945 registers still exist in compact mode, even if there are not
2947 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
2948 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
2949 and DW_EH_PE_pcrel for pic data.
2950 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
2951 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
2952 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
2953 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
2954 * sh.md (movsi_media-1): New splitter.
2956 2003-08-06 Graeme Peterson <gp@qnx.com>
2958 * config/i386/nto.h: New.
2959 * config/i386/t-nto: New.
2960 * config.gcc (i[34567]86-*-nto-qnx*): New.
2962 2003-08-06 Phil Edwards <pme@gcc.gnu.org>
2964 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
2966 2003-08-06 Alan Modra <amodra@bigpond.net.au>
2968 * calls.c (load_register_parameters): Arrange for call_fusage to
2969 report the whole register as used when shifting to the msb.
2971 2003-08-05 Roger Sayle <roger@eyesopen.com>
2973 * builtins.c (expand_builtin): When not optimizing, call the library
2974 function for all builtins that have library functions (except alloca).
2976 2003-08-05 Alexandre Oliva <aoliva@redhat.com>
2978 * c.opt: Introduce -fworking-directory.
2979 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
2980 * c-common.h (flag_working_directory): Declare.
2981 * c-common.c (flag_working_directory): Define.
2982 * c-opts.c (c_common_handle_options): Set it.
2983 (sanitize_cpp_opts): Set...
2984 * cpplib.h (struct cpp_options): ... working_directory option.
2985 (struct cpp_callbacks): Add dir_change.
2986 * cppinit.c (read_original_filename): Call...
2987 (read_original_directory): New. Look for # 1 "directory//"
2989 (cpp_read_main_file): Call dir_change callback if working_directory
2991 * gcc.c (cpp_unique_options): Pass -g*.
2992 * c-lex.c (cb_dir_change): New.
2993 (init_c_lex): Set dir_change callback.
2994 * toplev.c (src_pwd): New static variable.
2995 (set_src_pwd, get_src_pwd): New functions.
2996 * toplev.h (get_src_pwd, set_src_pwd): Declare.
2997 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
2998 * dwarf2out.c (gen_compile_unit_die): Likewise.
2999 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
3001 2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3003 * pretty-print.h (pp_set_line_maximum_length): Make macro.
3004 (pp_set_prefix): Likewise.
3005 (pp_destroy_prefix): Likewise.
3006 (pp_remaining_character_count_for_line): Likewise.
3007 (pp_clear_output_area): Likewise.
3008 (pp_formatted_text): Likewise.
3009 (pp_last_position_in_text): Likewise.
3010 (pp_emit_prefix): Likewise.
3011 (pp_append_text): Likewise.
3012 (pp_flush): Likewise.
3013 (pp_format_text): Likewise.
3014 (pp_format_verbatim): Likewise.
3015 (pp_tree_identifier): Tidy.
3016 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
3017 (pp_base_format_verbatim): Rename from pp_format_verbatim.
3018 (pp_base_flush): Rename from pp_flush.
3019 (pp_base_set_line_maximum_length): Rename from
3020 pp_set_line_maximum_length.
3021 (pp_base_clear_output_area): Rename from pp_clear_output_area.
3022 (pp_base_set_prefix): Rename from pp_set_prefix.
3023 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
3024 (pp_base_emit_prefix): Rename from pp_emit_prefix.
3025 (pp_base_append_text): Rename from pp_append_text.
3026 (pp_base_formatted_text): Rename from pp_formatted_text.
3027 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
3028 (pp_base_remaining_character_count_for_line): Rename from
3029 pp_remaining_character_count_for_line.
3030 * diagnostic.h (diagnostic_format_decoder): Tidy.
3031 (diagnostic_flush_buffer): Likewise.
3032 * c-pretty-print.h: (pp_c_string_literal): Declare.
3033 (pp_c_real_literal): Likewise.
3034 (pp_c_integer_literal): Likewise.
3035 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
3037 (pp_c_character_literal): Tidy.
3038 (pp_c_string_literal): Make public.
3039 (pp_c_bool_literal): Likewise.
3040 (pp_c_integer_literal): Likewise.
3041 (pp_c_real_literal): Likewise.
3043 * Makefile.in (C_PRETTY_PRINT_H): New variable.
3044 (c-pretty-print.o): Update dependence.
3046 2003-08-05 Chris Demetriou <cgd@broadcom.com>
3048 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
3049 ".set nomacro" state.
3050 (fix_truncsfsi2_macro): Likewise.
3052 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
3054 * tree.h (DID_INLINE_FUNC): Remove macro.
3055 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
3056 add tree check for FUNCTION_DECL.
3057 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
3058 (struct tree_decl): Rename inlined_function_flag to
3059 declared_inline_flag.
3060 * c-common.h (c_lang_decl): Remove.
3061 (DECL_ESTIMATED_INSNS): Remove.
3062 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
3063 (DECL_DECLARED_INLINE_P): Remove.
3064 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
3065 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
3066 (finish_function): Make uninlinable a bool. Fixup call to
3067 tree_inlinable_function_p() and fix some code style issues.
3068 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
3069 * cgraph.c (dump_cgraph): Likewise.
3070 * cgraphunit.c (cgraph_decide_inlining): Likewise
3071 (cgraph_finalize_compilation_unit): Likewise.
3072 Also update call to tree_inlinable_function_p().
3073 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
3074 look at DECL_DECLARED_INLINE and reverse logic.
3075 * print-tree.c (print_node): Likewise.
3076 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
3077 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
3079 * tree-inline.c (inlinable_function_p): Split up in this function to
3080 check for basic inlining inhibiting conditions, and new
3081 limits_allow_inlining() function. Warn if inlining is impossible
3082 because the inline candidate calls alloca or uses sjlj exceptions.
3083 (limits_allow_inlining): this new function to check if the inlining
3084 limits are satisfied. Throttle from currfn_max_inline_insns, not from
3085 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
3086 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
3088 (tree_inlinable_function_p): Make a bool. Update call to
3089 inlinable_function_p
3090 (expand_call_inline): Use limits_allow_inlining() when not in
3091 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
3092 instead see if the function was declared `inline'.
3094 2003-08-05 Josef Zlomek <zlomekj@suse.cz>
3096 * gcse.c (try_replace_reg): Fix updating of note.
3098 2003-08-04 Roger Sayle <roger@eyesopen.com>
3101 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
3102 logic in negate_expr, i.e. we don't invert (A-B) for floating
3103 point types unless flag_unsafe_math_optimizations.
3105 2003-08-04 Roger Sayle <roger@eyesopen.com>
3107 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
3108 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
3109 for floating point expressions with -ffast-math.
3110 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
3111 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
3113 2003-08-04 Roger Sayle <roger@eyesopen.com>
3115 * c-common.c (flag_noniso_default_format_attributes): Delete.
3116 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
3117 (c_attrs_initialized): Delete.
3118 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
3119 always call c_init_attributes.
3120 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
3121 set c_attrs_initialized when done.
3122 (c_common_insert_default_attributes): Delete.
3123 * c-common.h (flag_noniso_default_format_attributes): Delete.
3124 (c_coomon_insert_default_attributes): Delete prototype.
3125 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
3126 flag_noniso_default_format_attributes.
3128 * c-decl.c (c_insert_default_attributes): Delete.
3129 * c-tree.h (c_insert_default_attributes): Delete prototype.
3131 * attribs.c (decl_attributes): Don't call insert_default_attributes
3132 langhook. Update function description comment.
3133 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
3134 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
3135 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
3136 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
3138 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
3141 2003-08-04 Richard Sandiford <rsandif@redhat.com>
3143 * config/mips/mips.c (override_options): Disable -G on targets that
3144 have no .section support.
3145 (mips_select_section): Use default_select_section for such targets.
3147 2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
3149 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
3150 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
3151 * fixinc/fixincl.x: Rebuild.
3152 * fixinc/tests/base/regexp.h: New test.
3154 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
3156 * c-ppoutput.c (cb_line_change): Don't skip line changing while
3157 parsing macro arguments in the top-level context.
3159 2003-08-04 Neil Booth <neil@daikokuya.co.uk>
3161 * config.in: Remove HAVE_LSTAT.
3162 * configure, configure.in: Don't test for lstat.
3164 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3166 * opts.c (decode_options): Do language-specific initialization for
3167 the global diagnostic context.
3168 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
3169 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
3170 (LANG_HOOKS_INITIALIZER): Adjust.
3171 * langhooks.h (struct lang_hooks): Add new field
3172 initialize_diagnostics.
3173 * langhooks.c (lhd_initialize_diagnostics): Define.
3175 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3177 * pretty-print.h: Adjust macro definitions.
3178 * pretty-print.c (pp_newline): Rename to pp_base_newline.
3179 (pp_character): Rename to pp_base_character.
3180 (pp_string): Rename to pp_base_string.
3181 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
3182 (pp_newline): Likewise. Adjust.
3183 (pp_c_char): Adjust.
3185 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3187 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
3188 BUILT_IN_LLABS): Move to miscellaneous section.
3190 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
3192 PR preprocessor/11534
3193 * cppexp.c (parse_defined): Warn only if -pedantic.
3195 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
3197 * cppfiles.c (stack_file): Use file path.
3199 2003-08-02 Roger Sayle <roger@eyesopen.com>
3201 * builtin-types.def (BT_SSIZE): New primitive type.
3202 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
3203 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
3204 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
3205 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
3206 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
3207 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
3208 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
3209 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
3210 few functions that define default attributes using it.
3211 * c-common.c (c_common_insert_default_attributes): Do nothing.
3213 * doc/extend.texi: Document these "new" builtins.
3215 2003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
3217 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
3218 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
3219 when -mieee-fp set and -shared not set.
3220 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
3222 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
3224 * cppfiles.c (struct _cpp_file): Rename once_only_next to
3225 next_file. Remove import and pragma_once, add once_only.
3226 (find_file): Add new file structures to the all_files list.
3227 (should_stack_file): Mark #import-ed files once-only, and
3228 don't stack them if the file has already been stacked.
3229 (_cp_mark_file_once_only): Simplify.
3230 * cpphash.h (struct cpp_reader): Rename once_only_files
3231 to all_files. Rename saw_pragma_once to seen_once_only.
3232 (_cpp_mark_file_once_only): Update prototype.
3233 * cpplib.c (do_pragma_once): Update.
3235 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
3237 * cppfiles.c (ENOTDIR): Remove.
3238 (open_file_in_dir): Rename find_file_in_dir. Handle errors
3239 other than ENOENT here.
3240 (once_only_file_p): Rename should_stack_file.
3241 (find_file, open_file_failed, read_file_guts): Report errors
3242 with full path name.
3243 (read_file): Move pch handling to should_stack_file.
3244 (should_stack_file): Handle PCH and once-only issues, and
3246 (stack_file): Don't do file reads.
3248 2003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3250 * libgcov.c (gcov_exit): Cleanup and fix.
3251 * profile.c (compute_value_histograms): Don't try to read profiles
3252 that are not present.
3254 2003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3256 * builtins.def: Categorize.
3258 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
3260 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
3262 2003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
3264 * config.gcc: Enable posix threads by default on darwin.
3266 2003-08-01 Jakub Jelinek <jakub@redhat.com>
3268 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
3269 even if nehedges1 is 0.
3271 2003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
3273 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
3274 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
3275 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
3278 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
3279 * fixinc/fixincl.x: Regenerate.
3280 * fixinc/tests/base/math.h: Regenerate to match test_text change.
3282 2003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3284 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
3286 2003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3288 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
3289 for accesses to exc_ptr.
3291 2003-08-01 Geoffrey Keating <geoffk@apple.com>
3293 * doc/sourcebuild.texi (Front End Directory): Don't make references
3294 to libsubdir, it's not part of the interface to frontends.
3295 * doc/install.texi (Configuration): Help users read faster by saying
3296 that GCC's configure options are the standard autoconf ones.
3297 Mention --libdir. Update the default rules for finding the
3298 assembler. Don't use libsubdir since we haven't said what it means.
3299 (Specific): In the Solaris 7 notes, update the place to put the
3301 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
3302 * doc/cpp.texi (Search Path): Actually, the search path
3303 depends on libdir, which can relocate with cpp.
3304 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
3305 now a private interface between the Makefile and the driver.
3307 2003-08-01 Richard Henderson <rth@redhat.com>
3309 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
3311 * varasm.c (lookup_constant_def): New function.
3312 * rtl.h (lookup_constant_def): Declare it.
3313 * dwarf2out.c (loc_descriptor_from_tree): Use it.
3314 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
3316 2003-08-01 Zack Weinberg <zack@codesourcery.com>
3318 * c-decl.c (gettags, pushdecl_function_level): Delete.
3319 (last_function_parm_vars): Rename last_function_parm_others.
3320 (current_function_parm_vars): Rename current_function_parm_others.
3321 (struct c_scope): Rewrite comment explaining this data structure.
3322 Add names_last, blocks_last, parms_last fields. Rename
3323 incomplete_list to incomplete.
3324 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
3325 (poplevel): Ignore second argument. No need to nreverse
3326 anything. Restructure such that each list is processed
3327 exactly once. Use 'const location_t *locus' syntactic sugar
3328 variable where useful. Issue unused variable warnings
3329 ourselves, do not rely on function.c.
3330 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
3331 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
3332 (implicitly_declare): decl cannot be error_mark_node.
3333 (undeclared_variable): Manipulate scope structure directly.
3334 (c_make_fname_decl): Likewise.
3335 (getdecls, c_init_decl_processing): Fix comment.
3336 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
3337 for 'last' variable.
3338 (grokparms): No need to nreverse parms list.
3339 (store_parm_decls_newstyle): Set up the parms_last and
3340 names_last fields of the new scope too.
3341 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
3342 on parms to begin with; check this under ENABLE_CHECKING. Set
3344 (check_for_loop_decls): Refer directly to current_scope->tags.
3345 Use consistent quote style in diagnostics.
3346 (c_write_global_declarations): The names list is not backward.
3348 * c-common.h: Don't prototype gettags.
3349 * c-parse.in: Call poplevel with second argument 0 always.
3351 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3353 * builtins.def: Resort builtins.
3355 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3357 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
3358 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
3359 Prepend "__builtin_" onto NAME with string concatenation. Remove
3360 explicit "__builtin_" from each macro call.
3362 Reformat entire file.
3364 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3366 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3367 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
3369 2003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
3371 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
3372 CCL1, or CCL2 modes with floating point operations.
3374 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
3375 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
3376 "*subdf3_cconly"): New insns.
3377 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
3379 2003-08-01 Neil Booth <neil@daikokuya.co.uk>
3381 * Makefile.in: Refine dependencies.
3382 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
3383 * c.opt: Update help for -Wimport.
3384 * cppfiles.c: Include hashtab.h. Update comments.
3385 (stack_file): Read the file before updating dependencies.
3386 (once_only_file_p): Be smarter about marking once-only files.
3387 (_cpp_mark_file_once_only): Correct the check for existence on
3389 (open_file_failed): Use name not path, which is NULL.
3390 * cpphash.h: Don't include hashtab.h.
3391 (struct _cpp_file): Remove.
3392 (struct cpp_reader): Update.
3393 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
3394 * cpplib.h (struct cpp_options): Remove warn_import.
3395 (cpp_simplify_path): Remove.
3397 2003-08-01 Nathan Sidwell <nathan@codesourcery.com>
3400 * doc/extend.texi (Statement Expressions): Document C++ semantics.
3402 2003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
3404 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
3406 2003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3408 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
3410 * builtins.def: Likewise.
3412 2003-07-31 Jason Merrill <jason@redhat.com>
3414 * Makefile.in (bubblestrap): Don't require a previous full
3417 * expr.c (mostly_zeros_p): No longer static.
3418 * tree.h: Declare it.
3419 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
3420 unless we need to do substitutions.
3422 2003-07-31 Roger Sayle <roger@eyesopen.com>
3424 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
3425 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
3426 as pow(x,2.0) when the latter will be expanded back into x*x.
3427 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
3428 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
3429 pow can never set errno when used with an integer exponent.
3430 Always use expand_powi when exponent is -1, 0, 1 or 2.
3431 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
3432 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
3433 the pow forms of these expressions.
3435 2003-07-31 Geoffrey Keating <geoffk@apple.com>
3437 * Makefile.in (libexecdir): New.
3438 (libsubdir): Use gcc instead of gcc-lib.
3439 (libexecsubdir): New.
3440 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
3441 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
3443 (installdirs): Make libexecsubdir.
3444 (install-common): Put executables in libexecsubdir.
3445 (itoolsdir): Use libexecsubdir.
3446 (itoolsdatadir): New.
3447 (install-mkheaders): Separate data files and executables.
3448 (install-collect2): Put executables in libexecsubdir.
3449 (uninstall): Remove libexecsubdir.
3450 * mkheaders.in: Update for new arrangement of files.
3452 (libexecsubdir): New.
3453 (itoolsdir): Use libexecsubdir.
3454 (itoolsdatadir): New.
3455 * gcc.c (gcc_libexec_prefix): New.
3456 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
3457 (standard_exec_prefix_1): Use libexec.
3458 (standard_exec_prefix_2): New.
3459 (standard_libexec_prefix): New.
3460 (process_command): Update for new arrangement of files. Compute
3461 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
3463 2003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
3465 * inclhack.def (stdio_va_list): Avoid bogus replacement which
3466 triggers on Interix.
3467 * fixincl.x: Regenerate.
3469 2003-07-31 Jakub Jelinek <jakub@redhat.com>
3471 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
3472 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
3474 2003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3476 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
3478 2003-07-31 Per Bothner <pbothner@apple.com>
3480 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
3481 (add_input_filename): New function.
3482 (handle_options): Call add_input_filename directly instead of
3484 * opts.h (in_fnames, num_in_fnames): Moved here.
3485 (add_input_filename): Declare.
3486 * c-decl.c: Need to #include opts.h.
3487 * Makefile.in (c-decl.o): Also depends on opts.h.
3488 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
3489 (c_common_handle_filename): Replaced by add_input_filename.
3490 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
3492 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
3493 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
3494 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
3495 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
3497 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3499 * combine.c (try_combine): Set JUMP_LABEL for newly created
3502 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3504 * fold-const.c (fold): Fold some comparisons of bit operations.
3506 Thu Jul 31 19:49:53 CEST 2003 Jan Hubicka <jh@suse.cz>
3508 * cgraph.c (create_edge): Fix typo.
3509 * i386.c (pic_symbolic_operand): Reorder tests.
3511 2003-07-31 Nathan Sidwell <nathan@codesourcery.com>
3513 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
3515 (Gcov Data Files): Update.
3517 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3519 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
3522 * gthr-posix.c: New file.
3523 * gthr-posix.h: Define _REENTRANT if missing.
3524 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
3526 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
3528 * config/alpha/t-osf-pthread: New file.
3530 * fixinc/inclhack.def (alpha_pthread): New fix.
3531 * fixinc/fixincl.x: Regenerate.
3532 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
3534 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
3536 Fixes PR bootstrap/9330.
3538 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3540 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
3543 * configure: Regenerate.
3545 2003-07-31 Vladimir Makarov <vmakarov@redhat.com>
3547 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
3550 2003-07-30 Roger Sayle <roger@eyesopen.com>
3552 * builtins.def: Alphabetize.
3554 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
3556 * doc/c-tree.texi: Normalize spellings of "lowercase" and
3558 * doc/cpp.texi: Likewise.
3559 * doc/md.texi: Likewise.
3560 * doc/rtl.texi: Likewise.
3561 * doc/tm.texi: Likewise.
3563 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
3565 * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
3566 (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
3569 2003-07-30 Chris Demetriou <cgd@broadcom.com>
3571 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
3572 macros before defining them.
3574 2003-07-31 Ulrich Weigand <uweigand@de.ibm.com>
3576 * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
3577 UNSPECV_BLOCKAGE): New constants.
3578 ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
3579 "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
3580 splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
3581 "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
3583 (all insns and expanders): Write output control string as brace block
3584 where appropriate. Remove \-escapes for doublequote characters.
3586 Thu Jul 31 01:04:19 CEST 2003 Jan Hubicka <jh@suse.cz>
3588 * gcse.c (insert_store): Fix typo in previous patch.
3590 2003-07-30 Neil Booth <neil@daikokuya.co.uk>
3592 * cppfiles.c (stack_file, open_file_failed): Use path for deps.
3594 2003-07-30 Andi Kleen <ak@muc.de>
3596 * loop.c (check_dbra_loop): Allow LTU in the loop condition.
3598 2003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3600 * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
3601 * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
3602 GCOV_N_VALUE_COUNTERS): New.
3603 * profile.c (compute_value_histograms): New static function.
3604 (branch_prob): Read back the value histograms.
3605 * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
3606 * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
3607 * value-prof.c: Add comment on reading the profile.
3608 * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
3609 * doc/invoke.texi (-fprofile-values): Document behavior with
3610 -fbranch-probabilities.
3612 2003-07-30 David Edelsohn <edelsohn@gnu.org>
3614 * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
3616 2003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
3618 * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
3621 Wed Jul 30 19:12:10 CEST 2003 Jan Hubicka <jh@suse.cz>
3623 * gcse.c (insert_store): Ignore fake edges.
3625 * c-common.c (flag_vtable_gc): Kill.
3626 * c-common.g (flag_vtable_gc): Kill.
3627 * c-opts (c_common_handle_option): Kill.
3628 * c.opt (fvtable-gc): Kill.
3629 * final.c (final_scan_insn): Do not call assemble_vtable_entry.
3630 * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
3631 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
3633 * invoke.texi (-ftable-gc): Kill documentation.
3635 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
3636 just because function body is missing.
3638 * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
3640 2003-07-30 Ranjit Mathew <rmathew@hotmail.com>
3642 * unwind-sjlj.c: Fix typo in file description.
3644 2003-07-30 Alan Modra <amodra@bigpond.net.au>
3646 * calls.c (load_register_parameters): When shifting reg sized values
3647 to the msb, move the value to a reg first.
3649 2003-07-29 Geoffrey Keating <geoffk@apple.com>
3651 * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
3652 * line-map.h (linemap_add): Update comments.
3653 * line-map.c (linemap_add): Update comments, interpret zero-length
3654 filename as "<stdin>".
3656 2003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
3658 * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
3660 2003-07-29 Zack Weinberg <zack@codesourcery.com>
3662 * c-decl.c (last_function_parm_vars, current_function_parm_vars):
3663 New static variables.
3664 (struct c_scope): Add parms and warned_forward_parm_decls
3665 fields; remove parm_order.
3666 (storedecls, storetags): Delete.
3667 (poplevel): Also clear bindings on the parms chain.
3668 (pushdecl): Handle forward declarations of parameters, and
3669 chain PARM_DECLs on the parms list, not the names list.
3670 (lookup_name_current_level): Check for PARM_DECLs on the parms
3672 (push_parm_decl): Don't update parm_order.
3673 (clear_parm_order): Rename mark_forward_parm_decls. Issue the
3674 warning, only once per parameter list, and set TREE_ASM_WRITTEN
3675 on the decls here. Then move the forward decls to the names list.
3676 (grokparms): Set last_function_parm_vars.
3677 (get_parm_info): Don't use gettags or getdecls. No need to
3678 extract non-parms from the parms list, or reorganize the parms
3679 list. Feed nonparms back in the TREE_TYPE of the list node
3680 returned. Issue only one error per parameter list for "void"
3681 appearing more than once in said parameter list. Collapse
3682 parmlist_tags_warning into this function to avoid double scan
3684 (start_function): Set current_function_parm_vars.
3685 (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
3686 directly. Get non-parms from current_function_parm_vars; no
3687 need to extract them from the parms chain. Properly bind tags
3689 (store_parm_decls_oldstyle): No need to extract non-parameters
3690 from the parms chain, nor to store them back afterward. Move
3691 declaration to top of function, restructure code reordering
3693 (store_parm_decls): No need to save and restore warn_shadow.
3694 * c-parse.in: Don't call parmlist_tags_warning nor
3695 clear_parm_order. Call mark_forward_parm_decls when forward
3696 parm decls are encountered.
3697 * c-tree.h: Prototype mark_forward_parm_decls; not
3698 clear_parm_order or parmlist_tags_warning.
3700 2003-07-29 Geoffrey Keating <geoffk@apple.com>
3702 * c-common.c (allow_pch): Remove.
3703 * c-common.h (allow_pch): Remove.
3704 (c_common_no_more_pch): Declare.
3705 * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
3706 * c-pch.c: Include hosthooks.h.
3707 (c_common_valid_pch): Don't check allow_pch.
3708 (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
3709 (c_common_no_more_pch): New.
3710 * ggc-common.c: Include hosthooks.h.
3711 (gt_pch_save): Call gt_pch_get_address.
3712 (gt_pch_restore): Call gt_pch_use_address.
3713 * hooks.c (hook_voidp_size_t_null): New.
3714 (hook_bool_voidp_size_t_false): New.
3715 * hooks.h (hook_voidp_size_t_null): New.
3716 (hook_bool_voidp_size_t_false): New.
3717 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
3718 (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
3719 (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
3720 HOST_HOOKS_GT_PCH_USE_ADDRESS.
3721 * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
3723 * doc/hostconfig.texi (Host Common): Document
3724 HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
3725 * Makefile.in (c-pch.o): Depend on hosthooks.h.
3726 (ggc-common.o): Likewise.
3728 * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
3729 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
3730 (pch_address_space): New.
3731 (darwin_rs6000_gt_pch_get_address): New.
3732 (darwin_rs6000_gt_pch_use_address): New.
3734 2003-07-29 Neil Booth <neil@daikokuya.co.uk>
3736 PR preprocessor/11569
3737 PR preprocessor/11649
3738 * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
3739 * cppfiles.c: Completely rewritten.
3740 * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
3741 struct cpp_path is now struct cpp_dir.
3742 (remove_duplicates): Don't simplify path names.
3743 * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
3745 * cpphash.h: Include hashtab.h.
3746 (_cpp_file): Declare.
3747 (struct cpp_buffer): struct include_file is now struct _cpp_file,
3748 and struct cpp_path is now struct cpp_dir. Rename members.
3749 (struct cpp_reader): Similarly. New members once_only_files,
3750 file_hash, file_hash_entries, quote_ignores_source_dir,
3751 no_search_path, saw_pragma_once. Remove all_include_files and
3752 max_include_len. Make some members bool.
3753 (_cpp_mark_only_only): Renamed from _cpp_never_reread.
3754 (_cpp_stack_file): Renamed from _cpp_read_file.
3755 (_cpp_stack_include): Renamed from _cpp_execute_include.
3756 (_cpp_init_files): Renamed from _cpp_init_includes.
3757 (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
3758 * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
3759 (cpp_read_next_file): Rename and move to cppfiles.c.
3760 (cpp_read_main_file): Update.
3761 * cpplib.c (run_directive): Update for renamed members.
3762 (do_include_common, _cpp_pop_buffer): Update.
3763 (do_import): Undeprecate #import.
3764 (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
3765 * cpplib.h: Remove file_name_map_list.
3766 (cpp_options): Remove map_list.
3767 (cpp_dir): Rename from cpp_path. New datatype for name_map.
3768 (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
3770 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
3772 * Makefile.in: Make stamp-objdir safe for parallel builds.
3774 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
3776 * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
3777 (info): Depend on stmp-docobjdir.
3779 2003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3781 * configure: Regenerate.
3783 Tue Jul 29 19:24:49 CEST 2003 Jan Hubicka <jh@suse.cz>
3786 * tree-inline.c (expand_call_inline): Always call inlinable_function_p
3787 in !unit-at-a-time mode.
3789 2003-07-28 Geoffrey Keating <geoffk@apple.com>
3791 * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
3794 2003-07-28 Mark Mitchell <mark@codesourcery.com>
3797 * c-common.c (shorten_compare): Take into account differences
3798 between C and C++ representation for enumeration types.
3799 * tree.h (set_min_and_max_values_for_integral_type): Declare.
3800 * stor-layout.c (set_min_and_max_values_for_integral_type): New
3801 function, broken out from ...
3802 (fixup_signed_type): ... here and ...
3803 (fixup_unsigned_type): ... here.
3805 2003-07-28 Zack Weinberg <zack@codesourcery.com>
3807 * c-decl.c: Update commentary, adjust blank lines throughout.
3808 (struct c_scope): Fix indentation. Reorder members so
3809 outer-context pointers come first, booleans last.
3810 (duplicate_decls, define_label): Use a 'locus' variable for
3811 diagnostic locations in a few more places.
3812 (warn_if_shadowing): Un-split a conditional that fits on one line.
3813 (c_init_decl_processing): No need to clear current_scope and
3814 current_function_scope.
3815 (start_decl): Merge if/else if statements with same action.
3816 (push_parm_decl): Rename old_immediate_size_expand to use
3817 save_foo convention; save/restore around entire function.
3818 (grokdeclarator): Remove unnecessary braces.
3820 2003-07-28 Hans-Peter Nilsson <hp@bitrange.com>
3821 Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
3823 * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
3824 when warn_declaration_after_statement. Call pedwarn_c90, not
3825 pedwarn. Correct message: it's "ISO C90", not "ISO C89".
3826 * c-common.c (warn_declaration_after_statement): Define.
3827 * c-common.h (warn_declaration_after_statement): Declare.
3828 * c.opt (Wdeclaration-after-statement): New.
3829 * c-errors.c (pedwarn_c90): New function.
3830 * c-opts.c (c_common_handle_option) <case
3831 OPT_Wdeclaration_after_statement>: New.
3832 * c-tree.h (pedwarn_c90): Declare.
3833 * doc/invoke.texi (Option Summary): Document
3834 -Wdeclaration-after-statement.
3835 (Warning Options): Ditto.
3837 Mon Jul 28 20:13:06 CEST 2003 Jan Hubicka <jh@suse.cz>
3839 * i386.md (memory attribute) Avoid accessing uninitialized memory
3840 for ishift1 type instructions.
3842 2003-07-28 Jakub Jelinek <jakub@redhat.com>
3844 * configure.in (--enable-checking): Add fold category.
3845 (ENABLE_FOLD_CHECKING): Define if requested.
3846 * configure: Rebuilt.
3847 * config.in: Rebuilt.
3848 * doc/install.texi: Document it.
3849 * fold-const.c: Include md5.h.
3850 [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
3851 [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
3852 print_fold_checksum): New functions.
3854 * fold-const.c (fold): Never modify argument passed to fold, instead
3855 change a copy and return it.
3856 * convert.c (convert_to_integer): Likewise.
3858 2003-07-27 Nathanael Nerode <neroden@gcc.gnu.org>
3860 * fixinc/fixinc.svr4: Remove dead code. Remove now-unnecessary
3861 cleanup of junk after #else and #endif directives. Collapse repeated
3862 clauses into for statment.
3864 * fixinc/fixincl.sh: GNU C -> GCC. Add usage comment.
3866 2003-07-27 Zack Weinberg <zack@codesourcery.com>
3868 * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
3869 (keep_next_if_subblocks): Rename next_is_function_body.
3870 (pushlevel): Adjust commentary. Always set ->keep on the
3871 outermost level of a function. Don't set ->keep_if_subblocks.
3872 (poplevel): Adjust commentary. Don't look at ->keep_if_subblocks.
3873 (store_parm_decls): Adjust to match.
3874 (finish_function): Adjust to match.
3875 Call poplevel with all three arguments zero.
3877 * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
3878 New functions split out of store_parm_decls.
3879 Avoid unnecessary work. Use local variables consistently.
3880 (store_parm_decls): Likewise.
3882 (finish_function): No need to set functionbody flag on call to
3884 (struct language_function): Remove scope field.
3885 (c_push_function_context, c_pop_function_context): No need to
3886 save and restore current_scope.
3888 2003-07-27 Nathan Sidwell <nathan@codesourcery.com>
3890 * doc/extend.texi (Deprecated Features): Implicit typename is
3891 gone. Default args on types is going.
3893 2003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
3895 * Makefile.in (ifcvt.o): Depend on target.h
3896 * ifcvt.c (target.h): Include.
3897 (if_convert): Don't call mark_loop_exit_edges if we can't
3900 2003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3902 * doc/install.texi (Testing): Adjust required versions of DejaGnu.
3904 2003-07-26 Richard Henderson <rth@redhat.com>
3907 * cse.c (count_reg_usage): Handle asm_operands properly.
3909 2003-07-26 Roger Sayle <roger@eyesopen.com>
3911 * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
3912 (DEF_EXT_FALLBACK_BUILTIN): Delete.
3913 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
3914 the regular DEF_EXT_LIB_BUILTIN macro.
3915 (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
3916 the regular DEF_LIB_BUILTIN macro.
3917 (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
3918 BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
3919 BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
3920 DEF_EXT_LIB_BUILTIN macro.
3922 * c-decl.c (duplicate_decls): Remove code to handle builtin
3923 functions prototyped without an argument list.
3925 2003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
3927 * config/i386/winnt.c: Revert 2003-07-08 change.
3928 (i386_pe_section_type_flags): Remove error_with_decl here too.
3930 2003-07-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
3932 * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
3933 * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
3934 * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
3935 (v850_handle_data_area_attribute): Likewise.
3937 2003-07-26 Geoffrey Keating <geoffk@apple.com>
3939 * varasm.c (output_constant_def_contents): Use
3940 ASM_DECLARE_CONSTANT_NAME if defined.
3941 * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
3942 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
3943 objects get at least one byte to prevent assembler problems.
3944 (ASM_DECLARE_CONSTANT_NAME): New.
3946 * Makefile.in (libbackend.o): Remove options_.h.
3947 (mostlyclean): Likewise.
3949 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
3950 insert a label at the end of an function under Mach-O.
3952 * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
3954 2003-07-25 Aldy Hernandez <aldyh@redhat.com>
3956 * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
3958 (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
3960 * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
3962 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3964 * doc/passes.texi (Passes): Mention pretty-printing and
3967 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
3969 * doc/extend.texi (Function Attributes): GNU C++ does now allow
3970 unused parameter decls.
3971 (Attribute Syntax): GNU C++ does not allow label attributes to be
3974 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3976 * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
3977 (objc_declare_class): Likewise.
3978 (error_with_ivar): Likewise.
3979 (start_class): Likewise.
3980 (warn_with_method): Likewise.
3982 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3984 Remove pedwarn_with_decl, warning_with_decl and error_with_decl
3986 * calls.c (try_to_integrate): Don't use xxx_with_decl.
3987 (expand_call): Likewise.
3988 * dwarfout.c (output_reg_number): Likewise.
3989 * expr.c (expand_expr): Likewise.
3990 * function.c (assign_temp): Likewise.
3991 (uninitialized_vars_warning): Likewise.
3992 (setjmp_args_warning): Likewise.
3993 (expand_function_end): Likewise.
3994 * stmt.c (fixup_gotos): Likewise.
3995 (warn_about_unused_variables): Likewise.
3996 (expand_end_bindings): Likewise.
3997 * stor-layout.c (layout_decl): Likewise.
3998 (place_field): Likewise.
3999 * toplev.c (check_global_declarations): Likewise.
4000 (rest_of_handle_inlining): Likewise.
4001 (default_tree_printer): New function.
4002 (general_init): Initialize diagnostic machinery before routing
4003 signals to the ICE machinery. Set default tree printer.
4004 * toplev.h (pedwarn_with_decl): Remove declaration.
4005 (warning_with_decl): Likewise.
4006 (error_with_decl): Likewise.
4007 (pedwarn): Remove attribute for the time being.
4008 * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
4009 * varasm.c (named_section): Likewise.
4010 (make_decl_rtl): Likewise.