1 2003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3 * doc/invoke.texi (Warning Options): Add missing hyphen before
4 "Wimport". Change "-Wno-endif-labels" to "-Wendif-labels".
5 Move "-Wold-style-definition" to the C-only section.
6 Fix the ordering of the warning options.
8 2003-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9 Jeff Law <law@redhat.com>
11 * gcse.c (remove_reachable_equiv_notes): New.
12 replace_store_insn): Call it. Update antic list.
13 (store_killed_in_insn): Take REG_EQUAL notes into account.
14 (build_store_vectors, delete_store): Add parameter to
15 replace_store_insn call.
17 2003-09-15 Bob Wilson <bob.wilson@acm.org>
19 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
22 2003-09-15 Kazu Hirata <kazu@cs.umass.edu>
24 * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
25 (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
26 * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
28 * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
30 * config/rs6000/rs6000.c (function_arg_padding): Likewise.
31 * config/sparc/sparc.c (function_arg_padding): Likewise.
33 2003-09-15 Vladimir Makarov <vmakarov@redhat.com>
35 * haifa-sched.c (schedule_block): Use ready_remove_first instead
36 of choose_ready for non-dfa insn scheduling.
38 2003-09-15 Andreas Jaeger <aj@suse.de>
39 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
41 * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
42 * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
43 * c-parse.in: Warn about old-style parameter definition.
44 * c-common.c: Define warn_old_style_defintion.
45 * c-common.h: Declare it.
46 * c.opt: Add Wold-style-defintion.
48 2003-09-15 Andreas Jaeger <aj@suse.de>
50 * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
51 * config/rs6000/rs6000.c: Likewise.
53 2003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
56 * expr.h (get_condition, canonicalize_condition): Declaration changed.
57 * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
58 and canonicalize_condition calls.
59 * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
60 delete_null_pointer_checks): Ditto.
61 * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
62 * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
63 * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
64 (canonicalize_condition, get_condition): Allow to return comparisons
66 * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
67 cc mode registers comparison in condition.
69 2003-09-12 Mark Mitchell <mark@codesourcery.com>
71 * coverage.c (create_coverage): Do not call pushlevel/poplevel.
72 * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
74 * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
76 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
78 * combine.c (simplify_comparison): Convert
79 (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
80 (eq (and (lshiftrt X Y) 1) 0).
82 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
84 * alias.c: Follow spelling conventions.
85 * cpphash.h: Likewise.
86 * fold-const.c: Likewise.
88 2003-09-14 Alexandre Oliva <aoliva@redhat.com>
90 * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
91 * c-lex.c (cb_line_change): Skip line changing whenever
94 2003-09-14 Steven Bosscher <steven@gcc.gnu.org>
96 * ra.c: Convert to ISO C90 prototypes.
97 * ra-build.c: Likewise.
98 * ra-colorize.c: Likewise.
99 * ra-debug.c: Likewise.
100 * ra-rewrite.c: Likewise.
102 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
104 * Makefile.in (%.dvi): Remove excess $(docdir).
106 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
108 * function.c (STACK_BYTES): Move definition to head of file.
109 (assign_parms): Don't pass current_function_pretend_args_size
110 directly to SETUP_INCOMING_VARARGS. For partial register arguments,
111 round current_function_pretend_args_size up to STACK_BYTES. Skip any
112 excess before laying out the argument.
114 2003-09-14 Andreas Jaeger <aj@suse.de>
116 * objc/objc-act.c: Convert to ISO C90 prototypes.
117 * objc/objc-act.h: Likewise.
119 2003-09-14 Olaf Hering <olh@suse.de>
121 * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
123 2003-09-13 Andrew Pinski <pinskia@physics.uc.edu>
126 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
127 as they already are done in config/m68k/m68k.h.
128 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
130 * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
131 (machopic_output_stub): Only generate pic base symbols when using pic
132 and generate them in the form L00000000$spb.
134 2003-09-13 Richard Henderson <rth@redhat.com>
136 * cgraphunit.c (cgraph_assemble_pending_functions): Export.
137 (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
140 2003-09-12 Dale Johannesen <dalej@apple.com>
142 * config/rs6000/rs6000.c: Fix typos in previous.
144 2003-09-12 Ziemowit Laski <zlaski@apple.com>
146 * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
147 when allocating pp->buffer.
149 2003-09-12 Geoffrey Keating <geoffk@apple.com>
151 * config/darwin.c (machopic_select_rtx_section): Use
152 const_data_section for things that might require relocation.
154 2003-09-12 H.J. Lu <hongjiu.lu@intel.com>
157 * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
159 2003-09-12 Bob Wilson <bob.wilson@acm.org>
161 * config/xtensa/elf.h (ASM_SPEC): Remove no-density option. Reformat.
162 * config/xtensa/linux.h (ASM_SPEC): Likewise.
163 * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
164 -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
165 -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
166 -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
167 -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
168 -m[no-]hard-float-rsqrt options. Delete corresponding MASK_* macros
169 and redefine corresponding TARGET_* macros with constants from the
170 xtensa-config.h header.
171 * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
172 for the options listed above.
174 2003-09-12 Dale Johannesen <dalej@apple.com>
176 * config/rs6000/rs6000-protos.h: Use C90 prototypes.
177 * config/rs6000/rs6000-c.c: Ditto.
178 * config/rs6000/rs6000.c: Ditto.
179 * config/rs6000/ sysv4.h: Ditto.
181 2003-09-12 Chris Lattner <sabre@nondot.org>
183 * loop.c: Move comments describing BIV's and GIV's to top of file
185 2003-09-12 Roger Sayle <roger@eyesopen.com>
188 * alias.c (write_dependence_p): Modify to take an additional constp
189 argument that controls whether the UNCHANGING_RTX_P flags are used.
190 (anti_dependence, output_dependence): Adjust write_dependence_p
191 callers to pass this additional argument, to return the same result.
192 (unchanging_anti_dependence): New variant of anti_dependence that
193 ignores the UNCHANGING_RTX_P property on memory references.
194 * rtl.h (unchaning_anti_dependence): Prototype here.
195 * flow.c (init_propagate_block): Place fake constant mem writes on
196 the mem_set_list so that dead writes to const variables are deleted.
197 (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
198 (mark_used_regs): Likewise.
200 2003-09-12 Richard Sandiford <rsandifo@redhat.com>
202 * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
203 (mcore_secondary_reload_class): Declare.
204 (mcore_output_inline_const_forced): Remove.
205 * config/mcore/mcore.md (movsi): Remove the code that forced
206 non-inlineable constants into a register if the target was r15
207 or the stack pointer. Remove constant restrictions from the main
208 define_insn. Remove r <- I, r <- M and r <- N alternatives in favor
209 of an r <- P alternative. Remove fallback define_insn for reload.
210 (movhi, movqi): Use gen_lowpart rather than gen_SUBREG. Remove reload
211 define_insn. Use mcore_output_move in the remaining define_insn.
212 Adjust condition and constraints in the way as for movsi.
213 (movdi): Always split unacceptable constants into two. Use
214 simplify_gen_subreg instead of operand_subword{,_force}.
215 * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
216 (mcore_output_move): Support HImode and QImode moves as well.
217 (mcore_m15_operand_p): New function.
218 (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
219 (mcore_secondary_reload_class): New function.
220 * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
221 terms of mcore_secondary_reload_class.
223 2003-09-11 Mike Stump <mrs@apple.com>
225 * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
227 2003-09-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
229 * builtins.c (fold_builtin_logarithm): if N can't be truncated to
230 MODE exactly, then only convert logN(N) -> 1.0 if
231 flag_unsafe_math_optimizations is set.
233 * builtins.c (builtin_dconsts_init, dconstpi, dconste,
234 init_builtin_dconsts): Delete.
235 * emit-rtl.c (dconstpi, dconste): Define.
236 (init_emit_once): Initialize dconstpi & dconste.
237 * real.h (dconstpi, dconste): Declare.
239 2003-09-11 Alexandre Oliva <aoliva@redhat.com>
242 * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
243 for ultimate origin even if block is abstract.
245 2003-09-11 Roger Sayle <roger@eyesopen.com>
247 * combine.c (combine_simplify_rtx): Move several NOT and NEG
248 optimizations from here...
249 * simplify-rtx.c (simplify_unary_operation): to here. Recursively
250 simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
252 2003-09-11 Richard Henderson <rth@redhat.com>
254 * cgraphunit.c (cgraph_finalize_function): Add nested arg.
255 Tweek tests for function already generated.
256 (cgraph_expand_function): Don't double announce in !unit-at-a-time.
257 * cgraph.h (cgraph_finalize_function): Update for extra arg.
258 * c-decl.c (finish_function): Likewise.
260 2003-09-10 Joe Buck <jbuck@welsh-buck.org>
262 * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
264 2003-09-10 Jerry Quinn <jlquinn@optonline.net>
266 * real.c: Update URL to VAX floating point docs.
267 (decode_vax_d): Extract 8 exponent bits instead of 7.
269 2003-09-10 Ian Lance Taylor <ian@wasabisystems.com>
271 * combine.c (force_to_mode): Set fuller_mask based only on mask,
274 Thu Sep 11 01:21:05 CEST 2003 Jan Hubicka <jh@suse.cz>
276 * c-objc-common.c (c_cannot_inline_tree_fn): Warn
277 on why function is not inlinable; do not check
279 (inline_forbidden_p): Move to...
280 * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
281 deal with alloca, longjmp.
282 (inline_forbidden_p): New static function.
283 (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
284 find_builtin_longjmp_call): Kill.
286 2003-09-10 Richard Henderson <rth@redhat.com>
288 * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
289 * cgraphunit.c: Update to match.
290 (record_call_1): Rearrange. Call lang hook for language nodes.
291 (cgraph_analyze_function): Don't call lower_function.
292 * langhooks.h (struct lang_hooks_for_callgraph): Replace
293 lower_function with analyze_expr.
294 * langhooks-def.h: Update to match.
295 * langhooks.c (lhd_callgraph_analyze_expr): New.
297 2003-09-10 Martin Husemann <martin@duskware.de>
300 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
301 constants greater than 63.
302 * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
303 against constants greater than 31.
304 (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
305 constants greater than 63.
307 2003-09-09 Richard Henderson <rth@redhat.com>
309 * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
310 * cgraph.h (cgraph_finalize_function): Update.
311 * c-decl.c (finish_function): Update.
313 2003-09-09 Devang Patel <dpatel@apple.com>
315 * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
316 * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
318 2003-09-09 Eric Christopher <echristo@redhat.com>
320 * configure.in: Change usage of 'head' to 'sed 1q'.
321 * configure: Regenerate.
323 2003-09-09 Richard Henderson <rth@redhat.com>
325 * except.c: Include cgraph.h.
326 (output_function_exception_table): Invoke
327 cgraph_varpool_mark_needed_node.
328 * Makefile.in (except.o): Update.
330 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
332 * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
333 and use it throughout.
335 2003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
337 * builtins.c (real_dconstp, fold_builtin_logarithm,
338 fold_builtin_exponent): New, split out from fold_builtin. Also
339 generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
340 * emit-rtl.c (dconst3, dconst10, dconstthird): New.
341 (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
342 of hardcoded array size.
343 * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
344 (tree_expr_nonnegative_p): Likewise.
345 * real.h (dconst3, dconst10, dconstthird): New.
347 Tue Sep 9 22:18:48 CEST 2003 Jan Hubicka <jh@suse.cz>
349 * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
351 (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
354 2003-09-09 Roger Sayle <roger@eyesopen.com>
356 * builtins.c (fold_builtin_cabs): Protect the complex argument
357 against multiple evaluation when optimizing cabs* into sqrt*.
359 Tue Sep 9 15:36:28 CEST 2003 Jan Hubicka <jh@suse.cz>
361 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
363 2003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
365 * Makefile.in: Revert yesterday's change.
367 2003-09-08 Bernardo Innocenti <bernie@develer.com>
368 Peter Barada <peter@baradas.org>
370 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
371 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
372 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
373 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
374 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
375 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
376 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
377 (m68k_compute_frame_layout): New function.
378 (m68k_initial_elimination_offset): New function.
379 (m68k_output_function_prologue): ColdFire-specific movem handling.
380 (m68k_output_function_epilogue): Likewise.
381 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
382 (ARG_POINTER_REGNUM): Add new definition.
383 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
384 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
385 (CAN_ELIMINATE): Likewise.
386 (INITIAL_ELIMINATION_OFFSET): Likewise.
388 2003-09-08 Bernardo Innocenti <bernie@develer.com>
390 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
391 by removing redundant variable cfa_store_offset.
393 2003-09-08 Mark Mitchell <mark@codesourcery.com>
395 * langhooks-def.h (lhd_register_builtin_type): New function.
396 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
397 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
398 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
399 * langhooks.c (lhd_register_builtin_type): New function.
400 * c-common.h (c_register_builtin_type): Declare.
401 * c-common.c (c_register_builtin_type): New function.
402 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
403 c_register_builtin_type.
404 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
405 __float80, and __float128 macros.
406 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
407 __float80, and __float128 types.
409 2003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
412 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
413 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
414 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
415 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
416 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
417 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
418 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
419 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
420 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
421 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
422 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
423 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
424 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
425 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
426 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
427 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
428 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
430 * doc/extend.texi: Document new builtins.
432 Tue Sep 9 02:18:06 CEST 2003 Jan Hubicka <jh@suse.cz>
434 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
436 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
437 functions, check for COMDAT.
438 (cgraph_assemble_pending_functions): Break out from...
439 (cgraph_finalize_function): ... here; allow redefinig of extern inline
441 (record_call_1): Record function references only in non-unit-at-a-time
443 (cgraph_analyze_function): Reset current_function_decl.
444 (cgraph_finalize_compilation_unit): Assemble pending functions.
446 2003-09-08 Mark Mitchell <mark@codesourcery.com>
448 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
449 (libgov.a): Likewise.
450 (libgcc_eh.a): Likewise.
452 2003-09-08 Roger Sayle <roger@eyesopen.com>
454 * fold-const.c (operand_equal_p): Clarify documentation.
456 2003-09-08 Richard Henderson <rth@redhat.com>
458 * c-decl.c (c_expand_body_1): Push and pop function context here.
459 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
460 nested argument instead of computing nesting ourselves.
462 2003-09-08 Jakub Jelinek <jakub@redhat.com>
464 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
465 regstack if optimizing but not scheduling after reload.
467 2003-09-08 Jakub Jelinek <jakub@redhat.com>
469 * config/sparc/sparc.c (struct machine_function): New type.
470 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
471 (sparc_override_options): Initialize init_machine_status.
472 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
473 tie_symbolic_operand, tle_symbolic_operand): New functions.
474 (symbolic_operand): Disallow tls_symbolic_operand.
475 (symbolic_memory_operand): Likewise.
476 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
477 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
479 (sparc_tls_symbol): New variable.
480 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
481 legitimize_address): New functions.
482 (print_operand): Handle %&.
483 (sparc_init_machine_status, get_some_local_dynamic_name,
484 get_some_local_dynamic_name_1): New functions.
485 (sparc_output_dwarf_dtprel): New function.
486 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
488 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
489 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
490 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
491 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
492 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
493 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
494 (ASM_OUTPUT_DWARF_DTPREL): Define.
495 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
496 tie_symbolic_operand, tle_symbolic_operand.
497 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
498 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
499 (tls_call_delay): New attribute.
500 (in_call_delay): Use it.
501 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
502 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
503 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
504 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
505 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
506 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
507 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
508 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
509 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
510 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
511 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
512 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
513 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
514 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
516 * config/sparc/sparc-protos.h (legitimate_constant_p,
517 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
518 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
519 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
520 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
521 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
522 * configure.in (sparc*-*-*): Add TLS check.
523 * configure: Rebuilt.
525 2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
528 * config/i386/i386.c (memory_address_length): Fix computation when
529 the base is esp or ebp.
531 2003-09-07 Mark Mitchell <mark@codesourcery.com>
534 * varasm.c (initializer_constant_valid_p): Correct logic for
537 2003-09-07 Roger Sayle <roger@eyesopen.com>
539 * expr.c (expand_operands): New function to expand an operand pair.
540 (expand_expr): Call expand_operands whenever we need to expand both
541 operands of a binary operator.
542 (do_store_flag): Likewise for operands of comparison operations.
544 2003-09-07 Roger Sayle <roger@eyesopen.com>
546 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
547 (-A)*B if we care about sign-dependent rounding.
549 2003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
551 * c-pretty-print.h (pp_c_left_brace): Declare.
552 (pp_c_right_brace): Likewise.
553 * c-pretty-print.c (pp_c_left_brace): Now a function
554 (pp_c_right_brace): Likewise.
556 Sun Sep 7 14:50:03 CEST 2003 Jan Hubicka <jh@suse.cz>
558 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
560 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
562 * diagnostic.c (warn_deprecated_use): Move to toplev.c
564 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
566 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
567 * Makefile.in (langhooks.o): Depend on diagnostic.h
569 2003-09-06 James E Wilson <wilson@tuliptree.org>
571 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
574 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
576 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
577 and use it throughout.
579 2003-09-07 Jan Hubicka <jh@suse.cz>
581 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
583 * toplev.c (rest_of_decl_compilation): Do not finalize external
586 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
588 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
590 2003-09-06 Jan Hubicka <jh@suse.cz>
593 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
596 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
598 2003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
600 * diagnostic.c (announce_function): Move to toplev.c.
602 2003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
604 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
607 2003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
609 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
610 when gc checking is enabled.
612 2003-09-06 Steven Bosscher <steven@gcc.gnu.org>
615 * c-decl.c (c_expand_body_1): Move return warning from here...
616 (finish_function): ...to here.
618 2003-09-05 Geoffrey Keating <geoffk@apple.com>
620 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
621 a subset of the input class.
623 2003-09-05 Kazu Hirata <kazu@cs.umass.edu>
625 * config/i860/i860.c: Follow spelling conventions.
626 * config/i860/i860.h: Likewise.
627 * config/sh/sh.h: Likewise.
629 2003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
631 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
632 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
633 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
635 2003-09-05 Roger Sayle <roger@eyesopen.com>
636 Richard Henderson <rth@redhat.com>
639 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
640 multiplication to implement division by constant integer.
642 Fri Sep 5 07:35:16 CEST 2003 Jan Hubicka <jh@suse.cz>
644 * opts.c (decode_options): Enable unit-at-a-time at -O2.
645 * params.def (max-inline-insns-single): Set to 500
646 (max-inline-insns-auto): Set to 150
647 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
649 2003-09-04 Richard Henderson <rth@redhat.com>
651 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
652 (cgraph_mark_needed_node): Remove needed argument.
653 * cgraph.h: Update to match.
654 * cgraphunit.c (decide_is_function_needed): Split out from ...
655 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
656 if we generated the function.
657 (record_call_1): Update for cgraph_mark_reachable_node.
658 * varasm.c (mark_referenced): Likewise.
659 * objc/objc-act.c (mark_referenced_methods): Likewise.
661 2003-09-04 DJ Delorie <dj@redhat.com>
663 * targhooks.c: Add comment explaining the migration process.
665 2003-09-04 Eric Christopher <echristo@redhat.com>
667 * config/frv/t-frv: Fix path for frv-abi.h.
668 * config/frv/frv-asm.h: Fix string concatenation.
670 2003-09-04 DJ Delorie <dj@redhat.com>
672 * builtins.c (apply_args_size): Guard against a NULL cfun.
673 (expand_builtin_apply_args_1): Likewise.
674 (expand_builtin_apply): Likewise.
675 Fixes PR bootstrap/12172.
677 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
679 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
680 assembler supports Sun syntax for cmov.
681 * configure: Regenerate.
682 * config.in: Likewise.
683 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
684 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
685 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
686 Fixes PR target/12101.
688 2003-09-04 Matt Austern <austern@apple.com>
690 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
691 with verbosity 0, instead of DECL_NAME, for human-readable string.
693 2003-09-04 Eric Christopher <echristo@redhat.com>
695 * targhooks.c (default_return_in_memory): Allow
698 2003-09-04 Eric Christopher <echristo@redhat.com>
700 * targhooks.c (default_return_in_memory): Fix typo
703 2003-09-04 Eric Christopher <echristo@redhat.com>
705 * targhooks.c (default_return_in_memory): Fix default
708 2003-09-04 Bernardo Innocenti <bernie@develer.com>
710 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
712 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
713 enable coff-only code in m68k.c.
715 2003-09-04 Nick Clifton <nickc@redhat.com>
717 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
719 * config/v850/v850.h: Accept v850e1 as a default CPU.
720 Accept -mv850e1 as a command line option.
721 * doc/invoke.texi: Document new -mv850e1 command line switch.
722 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
725 2003-09-04 Nick Clifton <nickc@redhat.com>
727 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
728 * config/v850/t-v850: Only produce one extra multilib - for
730 * config/v850/t-v850e: New file: Only produce one extra
731 multilib - for the v850.
733 2003-09-04 Jakub Jelinek <jakub@redhat.com>
735 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
736 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
737 * unwind.h (_Unwind_GetBSP): New prototype.
738 * libgcc-std.ver: Add empty GCC_3.3.2 version.
739 * mkmap-symver.awk: For symbol versions with no exported symbols,
740 don't put anything into version script, just change all symbol
741 versions which inherit from it to inherit from its ancestor.
743 2003-09-04 Eric Christopher <echristo@redhat.com>
745 * config/mips/mips.c (mips_expand_prologue): Convert to
746 calls.struct_value_rtx hook.
747 (reg_or_const_float_1_operand): New.
748 * config/mips/mips.h: Update Comments.
749 (mips_arg): Add reg_or_const_float_1_operand.
750 * config/mips/mips.md (divdf3); Convert to expander.
752 (*divdf3): New pattern.
755 Thu Sep 4 10:43:24 CEST 2003 Jan Hubicka <jh@suse.cz>
757 * toplev.c (wrapup_global_declarations): Fix final pass in
760 2003-09-04 Mark Mitchell <mark@codesourcery.com>
762 * doc/extend.texi: Document removal of cast-as-lvalue extension in
765 2003-09-04 Nicolas Roche <roche@act-europe.fr>
767 * gcc.c (process_command): Fix typo.
769 2003-09-03 David O'Brien <obrien@FreeBSD.org>
772 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
773 (PTRDIFF_TYPE): Likewise.
774 (WCHAR_TYPE_SIZE): Likewise.
776 2003-09-03 DJ Delorie <dj@redhat.com>
778 * targhooks.c: New file.
779 * targhooks.h: New file.
780 * Makefile.in: Add targhooks.o support.
781 (function.o): Depend on$(TARGET_H).
783 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
784 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
785 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
786 (expand_builtin_saveregs): Convert to
787 calls.expand_builtin_saveregs hook.
788 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
790 (get_parm_info) ... here.
791 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
793 (finish_function): Handle calls.promote_prototypes hook here too.
794 * c-typeck.c (convert_arguments): Convert to
795 calls.promote_prototypes hook.
796 (c_convert_parm_for_inlining): Likewise.
797 * calls.c (initialize_argument_information): Convert to
798 calls.promote_function_args hook.
799 (expand_call): Convert to calls.struct_value_rtx,
800 calls.strict_argument_naming,
801 calls.pretend_outgoing_varargs_named, and
802 calls.promote_function_return hooks. Pass fndecl to
803 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
804 hooks, so they can use that.
805 (emit_library_call_value_1): Likewise.
806 * combine.c (setup_incoming_promotions): Convert to
807 calls.promote_function_args hook.
808 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
809 * expr.c (expand_assignment): Pass call to aggregate_value_p.
810 (expand_expr): Likewise.
811 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
812 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
813 RETURN_IN_MEMORY macro defaults.
814 * final.c (profile_function): Convert to calls.struct_value_rtx
816 * function.c (aggregate_value_p): Accept function type tree as
817 second parameter; try to deduce fntype from it. Convert to
818 calls.return_in_memory hook.
819 (assign_parms): Convert to calls.setup_incoming_varargs,
820 calls.strict_argument_naming, calls.promote_function_args,
821 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
823 (expand_function_start): Likewise. Convert to
824 calls.struct_value_rtx hook.
825 (expand_function_end): Convert to calls.promote_function_return hook.
826 (allocate_struct_function): Pass fndecl to aggregate_value_p.
827 * hard-reg-set.h: Update comments to new hook names.
828 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
829 * reg-stack.c (stack_result): Likewise.
830 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
831 * stmt.c (expand_value_return): Convert to
832 calls.promote_function_return hook.
833 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
834 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
835 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
836 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
837 TARGET_STRICT_ARGUMENT_NAMING,
838 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
839 * target.h: Likewise.
840 * tree.h (aggregate_value_p): Also takes a tree to deduce function
841 attributes from (for target hooks).
842 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
843 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
844 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
845 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
846 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
849 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
850 to aggregate_value_p.
851 * config/arm/arm.c (arm_init_cumulative_args,
852 arm_output_mi_thunk): Likewise.
853 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
855 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
856 mips_can_use_return_insn): Likewise.
857 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
858 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
859 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
861 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
862 function to aggregate_value_p.
863 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
866 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
867 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
868 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
869 (sh_handle_renesas_attribute, sh_promote_prototypes,
870 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
871 sh_setup_incoming_varargs, sh_strict_argument_naming,
872 sh_pretend_outgoing_varargs_named): New decls.
873 (targetm): Add new hooks.
874 (calc_live_regs): Save MACL and MACH if the function has the
876 (sh_expand_prologue): Support renesas attribute.
877 (sh_builtin_saveregs): Make static.
878 (sh_build_va_list): Support renesas attribute.
879 (sh_va_start): Likewise.
880 (sh_va_arg): Likewise.
881 (sh_promote_prototypes): New.
882 (sh_function_arg): New, moved from sh.h. Support renesas
884 (sh_function_arg_advance): Likewise.
885 (sh_return_in_memory): Likewise.
886 (sh_strict_argument_naming): Likewise.
887 (sh_pretend_outgoing_varargs_named): Likewise.
888 (sh_struct_value_rtx): New.
889 (sh_attribute): Add renesas attribute.
890 (sh_handle_renesas_attribute): New.
891 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
892 (sh_ms_bitfield_layout_p): Support renesas attribute also.
893 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
894 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
896 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
898 (sh_args): Add renesas_abi flag.
899 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
900 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
901 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
902 stack for the renesas abi.
903 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
904 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
905 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
906 call cookie to indicate renesas calls.
908 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
910 * gcse.c (replace_one_set): New function.
911 (pre_insert_copy_insn): Change the order of copying
912 to make copy propagation discover additional PRE opportunities.
914 2003-09-03 Roger Sayle <roger@eyesopen.com>
916 PR optimization/11700.
917 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
918 of a hard register is representable before trying to simplify it
919 using subreg_hard_regno.
921 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
923 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
924 * configure: Regenerate.
926 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
928 * intl.h (N_): Remove parentheses.
930 2003-09-03 Bernardo Innocenti <bernie@develer.com>
932 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
933 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
934 definition and code blocks compiled when not defined.
935 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
936 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
937 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
938 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
940 2003-09-03 Jeff Sturm <jsturm@one-point.com>
942 * cgraphunit.c (visited_nodes): New static variable.
943 (record_call_1): Use walk_tree with visited_nodes.
944 (cgraph_create_edges): Use walk_tree with visited_nodes.
945 Setup/teardown visited_nodes hashtable.
947 2003-09-03 Roger Sayle <roger@eyesopen.com>
949 * toplev.c (flag_rounding_math): New global variable.
950 (f_options): Add to the list of language independent options.
951 * flags.h (flag_rounding_math): Prototype here.
952 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
953 * common.opt (frounding-math): New common command line option.
954 * opts.c (common_handle_option): Handle OPT_frounding_math.
955 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
957 * doc/invoke.texi: Document this new command line option.
959 2003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
961 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
963 Wed Sep 3 16:55:25 CEST 2003 Jan Hubicka <jh@suse.cz>
965 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
966 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
967 * c-objc-common.c: Kill include of gt-c-objc-common.h
968 (expand_deferred_fns, deffer_fn): Kill function.
969 (deferred_fns): Kill variable.
970 (finish_cdtor): Update finish_function call.
971 (c_objc_common_finish_file): Always call cgraph code.
972 * c-parse.c: Regenerate.
973 * c-parse.y: Regenerate.
974 * c-tree.h (finish_function): Update prototype.
975 * objc-acct.c (build_module_descriptor, finish_method_def):
976 Update call of finish_function.
977 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
979 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
980 function and assemble it if needed.
981 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
983 (cgraph_optimize): Likewise.
984 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
985 even when it has no inline callees.
986 * c-parse.in: Update calls to finish_function.
988 2003-09-03 Nick Clifton <nickc@redhat.com>
990 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
991 Use #error to generate the message if TARGET_DEFAULT is not
994 2003-09-03 Richard Sandiford <rsandifo@redhat.com>
996 * config/mips/mips.h (MASK_UNUSED1): Remove.
997 (MASK_XGOT, TARGET_XGOT): Define.
998 (TARGET_SWITCHES): Add an entry for -mxgot.
999 (ASM_SPEC): Map -mxgot to -xgot.
1000 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
1001 whether we're using a big-GOT sequences.
1002 (mips_legitimize_const_move, mips_expand_call): Likewise.
1003 (override_options): Revert 2003-01-09 change.
1004 * doc/invoke.texi: Document -mxgot.
1006 2003-09-02 Jason Merrill <jason@redhat.com>
1008 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
1009 * config/sparc/sol2.h: Not here.
1011 2003-09-02 Roger Sayle <roger@eyesopen.com>
1013 * expr.c (expand_expr): The code following both_summands performs
1014 the same task as simplify_gen_binary. Replace all gotos to
1015 both_summands with a call to simplify_gen_binary and delete the
1018 2003-09-02 Jason Merrill <jason@redhat.com>
1021 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
1023 2003-09-02 Jeff Sturm <jsturm@one-point.com>
1025 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
1026 (cgraph_optimize_function): Set current_function_decl to the
1027 fndecl we're integrating from.
1029 2003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1031 * builtins.def: Break out _Complex math functions into their
1034 2003-09-02 Andreas Jaeger <aj@suse.de>
1036 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
1038 2003-09-02 Josef Zlomek <zlomekj@suse.cz>
1040 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
1041 finding the note again.
1043 2003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
1045 * config.gcc: Remove host-specific rewrites of target_alias.
1047 2003-09-01 Mark Mitchell <mark@codesourcery.com>
1049 * Makefile.in (genprogs): Fix typo.
1051 * Makefile.in (gencheck.o): Remove build commands.
1052 (dummy-conditions.o): Likewise.
1053 (read-rtl.o): Likewise.
1054 (gensupport.o): Likewise.
1055 (genconfig$(build_exeext)): Remove rule.
1056 (genconfig.o): Remove build commands.
1057 (genflags$(build_exeext)): Remove rule.
1058 (genflags.o): Remove build commands.
1059 (gencodes$(build_exeext)): Remove rule.
1060 (gencodes.o): Remove build commands.
1061 (genconstants.o): Remove build commands.
1062 (genemit$(build_exeext)): Remove rule.
1063 (genemit.o): Remove build commands.
1064 (genrecog$(build_exeext)): Remove rule.
1065 (genrecog.o): Remove build commands.
1066 (genextract$(build_exeext)): Remove rule.
1067 (genextract.o): Remove build commands.
1068 (genpeep$(build_exeext)): Remove rule.
1069 (genpeep.o): Remove build commands.
1070 (genattr$(build_exeext)): Remove rule.
1071 (genattr.o): Remove build commands.
1072 (genprognames): New variable.
1073 (genprogs): Likewise.
1074 (genobjs): Likewise.
1075 (genprogs): New rule.
1076 (genobjs): Likewise.
1077 (genattrtab.o): Remove build commands.
1078 (genautomata.o): Likewise.
1079 (genoutput$(build_exeext)): Remove rule.
1080 (genoutput.o): Remove build commands.
1081 (gengenrtl.o): Likewise.
1082 (genpreds.o): Likewise.
1083 (gengtype.o): Likewise.
1084 (genconditions.o): Likewise.
1085 (gen-protos.o): Likewise.
1087 (fix-header.o): Likewise.
1088 (scan-decls.o): Likewise.
1089 (check-g++): Combine with other check targets.
1090 (check-gcc): Likewise.
1091 (check-g77): Likewise.
1092 (check-objc): Likewise.
1094 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
1096 * config.gcc: Remove host-specific stuff which is unused here
1097 since the introduction of config.host.
1099 * doc/fragments.texi: Mention config.host.
1100 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
1101 of config.build, config.host, and config.gcc.
1103 2003-09-01 Zack Weinberg <zack@codesourcery.com>
1105 * c-decl.c (pushdecl): Don't put variables on
1106 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
1109 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
1111 * config.host: New file.
1112 * config.gcc: Remove some host-specific stuff and some
1113 logic needed only for repeated invocation.
1114 * configure.in: Use config.host.
1115 * configure: Regenerate.
1117 2003-09-01 Josef Zlomek <zlomekj@suse.cz>
1119 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
1120 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
1121 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
1122 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
1123 * tree.def (BIT_ANDTC_EXPR): Kill.
1125 2003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
1127 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
1128 * configure: Regenerate.
1130 * config.gcc: Remove references to install_headers_dir, now unused
1131 since introduction of config.build.
1132 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
1134 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
1137 * config.build: New file.
1138 * config.gcc: Remove some build-specific stuff.
1139 * configure.in: Use config.build.
1140 * configure: Regnerate.
1142 2003-08-31 Steven Bosscher <steven@gcc.gnu.org>
1143 Roger Sayle <roger@eyesopen.com>
1146 * stmt.c (expand_end_case_type): Only use jump tables for dense
1147 switch statements when optimizing for size.
1149 2003-08-31 Olivier Hainque <hainque@act-europe.fr>
1151 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
1152 the != 0 case, which ensures pending stack adjustments are flushed.
1154 2003-08-30 Zack Weinberg <zack@codesourcery.com>
1156 * configure.frag: Delete file.
1157 * configure.in: Rename the substitution variables
1158 dep_host_xmake_file and dep_tmake_file to xmake_file and
1159 tmake_file respectively. Do not expand $srcdir in the
1160 value of these; leave that for Make. Introduce a new
1161 substitution varaible, all_lang_makefrags, which lists
1162 subdirectory Make-lang.in files; exclude these from
1163 all_lang_makefiles, which is now only for subdirectory
1164 outputs. Do not invoke configure.frag. Do not set nor
1165 AC_SUBST_FILE target_overrides, host_overrides, or
1166 language_fragments. Create build subdirectories in
1167 config.status extra commands.
1168 * configure: Regenerate.
1169 * Makefile.in: Update substitutions to match changes to
1170 configure. Use include directives instead of @-insertions
1171 to read in host, target, and language fragments.
1172 (Makefile rule): Do not invoke configure.frag. Do not copy
1173 config.status to config.run before executing it. Set
1174 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
1176 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
1178 2003-08-30 Zack Weinberg <zack@codesourcery.com>
1180 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
1181 * c-typeck.c (same_translation_unit_p): New function.
1182 (comptypes): Use it instead of flags parameter to identify
1183 structure types from different translation units.
1184 * c-decl.c (duplicate_decls): Always call comptypes with
1185 COMPTYPE_STRICT flags argument.
1186 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
1189 2003-08-30 Zack Weinberg <zack@codesourcery.com>
1191 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
1192 * c-decl.c (struct c_scope): Remove "incomplete" field.
1193 (pushdecl): Attach variables with incomplete types to
1194 the TYPE_MAIN_VARIANT of the incomplete type in question.
1195 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
1196 to complete, not at current_scope->incomplete. All such
1197 variables do need completion.
1199 2003-08-30 Richard Earnshaw <rearnsha@arm.com>
1200 Nicolas Pitre <nico@cam.org>
1202 * arm/lib1funcs.asm (RETCOND): Delete.
1203 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
1204 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
1205 (__ARM_ARCH__): Move here from ieee754-?f.S.
1206 (RET, RETc): Clean up definitions.
1207 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
1208 (FUNC_END): New macro that marks the end of any function.
1209 (ARM_FUNC_START): New macro that allows an assembler routine to be
1210 implemented in ARM code even if a Thumb-only build.
1211 Unconditionally include ieee754-?f.S.
1212 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
1213 Mark ends of functions.
1214 Split into separate conditionally-compiled units.
1215 Use RETLDM to return from routines.
1216 * arm/ieee754-sf.S: Similarly.
1217 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
1218 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
1219 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
1220 _fixsfsi and _fixunssfsi.
1222 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
1223 multiplication underflows to zero.
1224 (__adddf3): Fix bug when using VFP ordering on little-endian
1226 (__fixdfsi): Use rrx to extract the carry into a register instead of
1227 MRS instruction. Optimize later use of result.
1228 * arm/ieee754-sf.S (__fixsfsi): Likewise.
1229 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
1231 2003-08-29 Richard Henderson <rth@redhat.com>
1233 * tree-optimize.c: New file.
1234 * Makefile.in (OBJS-archive): Add tree-optimize.o.
1235 (tree-optimize.o): New.
1236 * c-decl.c (store_parm_decls): Use allocate_struct_function.
1237 (finish_function): Don't free_after_parsing or free_after_compilation.
1238 (set_save_expr_context): Move to tree-optimize.c.
1239 (c_expand_body_1): Use tree_rest_of_compilation.
1240 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1241 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1242 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
1243 iterate until closure.
1244 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
1245 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
1246 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
1247 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
1248 * toplev.h (tree_rest_of_compilation): Declare it.
1250 2003-08-29 Richard Henderson <rth@redhat.com>
1252 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
1253 * integrate.c (save_for_inline): Set saved_for_inline.
1254 * c-semantics.c (genrtl_scope_stmt): Check it.
1255 * toplev.c (wrapup_global_declarations): Check it.
1256 (rest_of_handle_inlining): Set and check rtl_inline_init.
1257 (rest_of_compilation): Remove out of date comment.
1259 2003-08-29 Richard Henderson <rth@redhat.com>
1261 * function.c (allocate_struct_function): New, split out of ...
1262 (prepare_function_start, init_function_start): ... here.
1263 * expr.c (init_expr): Use ggc_alloc_cleared.
1264 * stmt.c (init_stmt_for_function): Likewise.
1265 * tree.h (allocate_struct_function): Declare.
1267 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1269 * config.gcc: Don't use negated character class in shell case
1272 2003-08-29 Richard Henderson <rth@redhat.com>
1274 * function.h (struct function): Move function_frequency and
1275 max_jumptable_ents before start of bit field members.
1277 2003-08-29 Richard Henderson <rth@redhat.com>
1279 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
1280 (fold_builtin_constant_p) ... not here.
1282 2003-08-29 Richard Henderson <rth@redhat.com>
1284 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
1285 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
1286 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
1288 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1290 * builtins.def: Fix typos.
1291 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
1292 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
1293 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
1294 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
1295 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
1297 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
1298 Use ATTR_MATHFN_FPROUNDING_ERRNO.
1300 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1302 * config.gcc (i386-*-vsta): Fix obvious bogosity.
1304 * fixinc/inclhack.def: Remove special cases for unsupported
1305 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
1306 * fixinc/fixincl.x: Regenerate.
1308 2003-08-29 Mark Mitchell <mark@codesourcery.com>
1310 * Makefile.in (cpp.info): Just state dependencies.
1311 (gcc.info): Likewise.
1312 (gccint.info): Likewise.
1313 (gccinstall.info): Likewise.
1314 (cppinternals.info): Likewise.
1315 (cpp.dvi): Likewise.
1316 (gcc.dvi): Likewise.
1317 (gccint.dvi): Likewise.
1318 (gccinstall.dvi): Likewise.
1319 (cppinternals.dvi): Likewise.
1325 (fsf-funding.7): Likewise.
1326 ($(objdir)/%.info): New pattern rule.
1329 2003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
1331 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
1332 (restage2): Likewise.
1333 (restage3): Likewise.
1334 (restage4): Likewise.
1335 (restageprofile): Likewise.
1336 (restagefeedback): Likewise.
1337 (bubblestrap): Likewise.
1339 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1341 * config.gcc: Narrow unsupported target match to avoid clobbering
1342 i?86-sequent-sysv4*.
1344 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1346 * builtins.c (mathfn_built_in): Handle new math builtins.
1348 2003-08-28 Per Bothner <per@bothner.com>
1350 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
1351 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
1352 (_cpp_lex_buffer): Likewise.
1353 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
1355 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1357 * config/s390/s390.md ("*mulsi3_sign"): New insn.
1358 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
1359 ("mulsidi3"): ... this new insn.
1360 ("umulsidi3"): New insn.
1361 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
1362 mixed-mode matching constraints.
1363 ("udivmodsi4", "udivmoddisi3"): New insns.
1364 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
1366 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1368 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
1369 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
1370 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
1371 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
1372 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
1373 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
1374 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
1375 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
1376 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
1377 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
1378 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
1379 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
1380 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
1381 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
1382 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
1383 * tree.c: Assign new type_nodes.
1384 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
1385 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
1386 (float_ptr_type_node, double_ptr_type_node,
1387 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
1389 * doc/extend.texi: Document new builtins.
1391 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1393 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
1394 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
1396 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
1397 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
1398 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
1399 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
1400 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
1401 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
1402 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
1403 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
1404 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
1405 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
1407 * doc/extend.texi: Document new builtins.
1409 2003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
1411 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1412 variants of i?86, powerpcle, and thumb.
1413 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1414 arm and hppa variants.
1416 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1418 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
1419 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
1420 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
1421 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
1422 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
1423 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
1424 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
1425 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
1426 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
1427 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
1429 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
1430 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
1431 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
1432 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
1433 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
1434 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
1435 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
1436 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
1437 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
1438 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
1439 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
1440 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
1441 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
1442 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
1443 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
1444 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
1445 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
1446 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
1447 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
1448 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
1449 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
1450 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
1451 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
1452 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
1453 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
1454 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
1455 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
1456 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
1457 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
1458 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
1459 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
1461 * doc/extend.texi: Document new builtins.
1463 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1465 * config/s390/s390.c (legitmate_constant_p): Use LARL on
1466 zSeries machines even in 31-bit addressing mode.
1467 (legitimate_reload_constant_p): Likewise.
1468 (legitimize_pic_address): Likewise.
1469 (legitimize_tls_address): Likewise.
1470 (s390_split_branches): Likewise.
1471 (s390_dump_pool): Likewise.
1472 (s390_mainpool_finish): Likewise.
1473 (s390_chunkify_start): Likewise.
1474 (s390_select_rtx_section): Likewise.
1475 * config/s390/s390.md ("doloop_si"): Likewise.
1476 ("pool_start_31", "pool_end_31"): Likewise.
1477 ("pool_start_64", "pool_end_64"): Likewise.
1478 ("main_base_31_small", "main_base_31_large"): Likewise.
1479 ("main_base_64"): Likewise.
1480 ("reload_base_31", "reload_base_64"): Likewise.
1481 ("*movsi_larl"): New insn.
1482 ("cjump", "icjump"): Use long branches on zSeries machines.
1484 ("call"): Use BRASL on zSeries machines.
1485 ("call_value", "call_value_tls"): Likewise.
1486 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
1488 ("*bras", "*brasl", "*basr") ... these new insns.
1489 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
1490 "bas_31_r"): Remove and replace by ...
1491 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
1492 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
1493 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
1494 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
1495 ("*return_si", "*return_di"): Remove and replace by ...
1496 ("*return"): ... this new insn.
1497 ("rotlsi3"): Allow on zSeries machines.
1499 * config/s390/s390.c (legitimize_reload_constant_p): Use
1500 LL/LH type instructions in z/Architecture mode.
1501 * config/s390/s390.md ("*movsi_lli"): Likewise.
1502 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
1503 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
1504 ("*extendqisi2"): Use LB in z/Architecture mode.
1505 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
1506 z/Architecture mode.
1507 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
1510 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
1512 ("ptr_extend"): Allow only in 64-bit mode.
1514 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
1516 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
1517 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
1519 (main): Only use standard_startfile_prefix if native.
1520 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
1522 2003-08-27 Per Bothner <pbothner@apple.com>
1524 * cpperror.c (print_location): Don't check for !pfile->buffer. That
1525 test fails following my 08-21 change, and it seems unnecessary anyway.
1526 (cpp_error): Likewise.
1528 2003-08-27 Jason Merrill <jason@redhat.com>
1530 * real.c (do_multiply): Initialize with memset.
1532 2003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1534 * gcov.c (typedef struct arc_info): New field cs_count.
1535 (accumulate_line_counts): Find cycles correctly.
1537 2003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
1539 * config/s390/s390.c (struct machine_function): Remove member
1541 (s390_optimize_prolog): Replace TEMP_REG argument with
1542 TEMP_USED and BASE_USED. Do not check get_pool_size ().
1543 (general_s_operand): Accept all immediates before reload if
1544 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
1546 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
1547 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
1548 (s390_alloc_pool): New function.
1549 (s390_new_pool): Call it.
1550 (s390_dump_pool): Add REMOTE_LABEL argument.
1551 (s390_chunkify_start): Add BASE_REG argument. Do not check
1553 (s390_chunkify_finish): Add BASE_REG argument. Adapt
1554 s390_dump_pool call.
1555 (s390_pool_count, s390_nr_constants): Remove.
1556 (s390_output_constant_pool): Remove.
1557 (s390_mainpool_start): New function.
1558 (s390_mainpool_finish): New function.
1559 (s390_mainpool_cancel): New function.
1560 (s390_reorg): Implement main literal pool handling.
1561 (s390_emit_prologue): Emit main_pool placeholder instead of
1562 literal_pool_31 / literal_pool_64 insns.
1563 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
1564 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
1565 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
1566 ("main_base_31_small", "main_base_31_large"): New insns.
1567 ("main_base_64", "main_pool"): New insns.
1568 ("literal_pool_31", "literal_pool_64"): Remove.
1570 2003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
1572 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
1574 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
1576 * fixinc/fixincl.x: Regenerate.
1578 2003-08-27 Richard Earnshaw <rearnsha@arm.com>
1580 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
1581 (L_ieee754_dp): New. Include ieee754-df.S.
1582 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
1583 and compilation in apcs-26 mode.
1584 * arm/ieee754-df.S: Likewise.
1585 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
1586 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
1588 2003-08-27 Nicolas Pitre <nico@cam.org>
1590 * arm/ieee754-sf.S: New.
1591 * arm/ieee754-df.S: New.
1593 2003-08-27 Jakub Jelinek <jakub@redhat.com>
1595 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
1596 and restore it if returning NULL.
1598 2003-08-27 Richard Sandiford <rsandifo@redhat.com>
1600 * calls.c (initialize_argument_information): If an argument has no
1601 stack space associated with it, and BLOCK_REG_PADDING is defined,
1602 use it to decide at which end the argument should be padded.
1603 * function.c (assign_parms): Allocate BLKmode stack slots.
1604 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
1605 (mips_pad_reg_upward): Declare.
1606 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
1607 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
1608 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
1609 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
1610 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
1611 (mips_expand_call): Remove code for generating structure shifts.
1612 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
1613 types unless using the EABI.
1614 (function_arg_advance): Don't generate shift instructions.
1615 (function_arg): Don't return them. Don't short-circuit the
1616 check for double structure chunks for DFmode arguments.
1617 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
1618 (mips_expand_prologue): Remove code to emit structure shifts.
1619 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
1620 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
1621 comments to say that only structure returns are a problem.
1623 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1625 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
1626 Fix to match produced versions.
1627 * fixinc/inclhack.def (longlong_t): New disabled test, ported
1629 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
1631 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
1632 ported from fixinc.ptx.
1634 2003-08-26 Per Bothner <pbothner@apple.com>
1636 * cpplib.h (struct cpp_token): Change type of field line to fileline.
1637 (cpp_error_with_line): Use fileline for appropriate parameter.
1638 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
1639 (struct cpp_reader): Likewise for fields line and directive_line.
1640 (_cpp_begin_message): Use fileline for appropriate parameter.
1641 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
1642 cpp_error): Use fileline for appropriate parameters and variables.
1643 (print_location): New local lin, since it is not a fileline.
1645 2003-08-26 Roger Sayle <roger@eyesopen.com>
1648 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
1649 (FLOAT_TYPE_P): Define in terms of these two new macros.
1650 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
1651 for complex floating point types.
1653 2003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
1655 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
1656 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
1657 s390_output_pool_entry.
1659 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1661 * fixinc/inclhack.def (svr4_preproc_lint_on,
1662 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
1663 fixes, ported from fixinc.svr4.
1665 2003-08-26 Mark Mitchell <mark@codesourcery.com>
1667 * doc/install.texi (Prerequisites): Mention GNU make requirement.
1669 * Makefile.in (AR_FOR_TARGET): Export it.
1670 (AR_CREATE_FOR_TARGET): Likewise.
1671 (AR_FLAGS_FOR_TARGET): Likewise.
1672 (AR_EXTRACT_FOR_TARGET): Likewise.
1674 (BUILD_PREFIX): Likewise.
1675 (BUILD_PREFIX_1): Likewise.
1676 (DESTDIR): Likewise.
1677 (GCC_FOR_TARGET): Likewise.
1678 (INCLUDES): Likewise.
1679 (INSTALL_DATA): Likewise.
1680 (LIB1ASMSRC): Likewise.
1681 (LIBGCC2_CFLAGS): Likewise.
1682 (MACHMODE_H): Likewise.
1683 (NM_FOR_TARGET): Likewise.
1684 (RANLIB_FOR_TARGET): Likewise.
1685 (libsubdir): Likewise.
1686 (slibdir): Likewise.
1687 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
1689 (libgcc.a): Don't pass them here.
1690 (stmp-multilib): Or here.
1691 (install-libgcc): Or here.
1692 (install-multilib): Or here.
1693 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
1694 (stage1_build): Or here.
1696 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1698 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
1699 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
1701 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1703 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
1704 "*fmaddsf", "*fmsubsf"): New insns.
1706 2003-08-26 Roger Sayle <roger@eyesopen.com>
1708 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
1709 (C1*C2)/X when unsafe math optimizations are allowed.
1710 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
1711 math optimizations. Minor code clean-ups. Recursively call
1712 fold when constructing sub-expressions.
1714 2003-08-26 Roger Sayle <roger@eyesopen.com>
1716 * builtins.c (fold_builtin_bitop): New function to perform constant
1717 folding of ffs, clz, ctz, popcount and parity builtin functions
1718 and their long and long long variants (such as ffsl and ffsll).
1719 (fold_builtin): fold_builtin_bitop when appropriate.
1720 * simplify-rtx.c (simplify_unary_operation): Honor both
1721 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
1722 evaluating clz and ctz at compile-time, for operands wider
1725 2003-08-26 Nathan Sidwell <nathan@codesourcery.com>
1727 * builtins.c (build_function_call_expr): Don't set
1728 TREE_SIDE_EFFECTS here.
1729 * expr.c (emit_block_move_via_libcall): Likewise.
1730 (clear_storage_via_libcall): Likewise.
1731 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
1734 * gcse.c (is_too_expensive): New function.
1735 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
1737 2003-08-25 Zack Weinberg <zack@codesourcery.com>
1739 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
1740 commented-out logic to use DCE threads (if present), add
1741 support for POSIX threads.
1742 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
1743 #defines for -pthread. Add -lpthread to LIB_SPEC when
1744 -pthread. In both cases take -mt as a synonym for -pthread
1745 for acc compatibility.
1746 Define GTHREAD_USE_WEAK to 0.
1747 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
1748 Remove old logic for DCE threads from LIB_SPEC.
1749 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
1751 2003-08-25 Roger Sayle <roger@eyesopen.com>
1753 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
1754 return 0 for invalid argument types. Instead drop through to a
1755 call of expand_call at the bottom of function. If op is SQRT,
1756 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
1758 2003-08-25 Richard Henderson <rth@redhat.com>
1760 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
1761 result when op0 is SImode.
1763 2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
1765 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
1767 * fixinc/fixincl.x: Regenerate.
1768 * fixinc/tests/base/sys/signal.h: Regenerate.
1770 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1772 * combine.c (simplify_comparison): Re-enable widening of comparisons
1773 with non-paradoxical subregs of non-REG expressions.
1775 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1777 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
1779 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1781 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
1783 2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1785 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
1786 * c-pretty-print.h (c_pretty_printer): Now typedef to the
1787 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
1788 (struct c_pretty_print_info): Document. Add new fields.
1789 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
1790 (pp_direct_abstract_declarator): New macro.
1791 (pp_ptr_operator): Likewise.
1792 (pp_simple_type_specifier): Likewise.
1793 (pp_expression): Likewise.
1794 (pp_parameter_list): Rename from pp_parameter_declaration.
1795 * c-pretty-print.c (pp_c_whitespace): Now a function.
1796 (pp_c_left_paren): Likewise.
1797 (pp_c_right_paren): Likewise.
1798 (pp_c_dot): Likewise.
1799 (pp_c_ampersand): Likewise.
1800 (pp_c_arrow): Likewise.
1801 (pp_c_semicolon): Likewise.
1802 (pp_c_type_cast): New function.
1803 (pp_c_space_for_pointer_operator): Likewise.
1804 (pp_c_call_argument_list): Likewise.
1805 (pp_c_cv_qualifier): Adjust prototype.
1806 (pp_c_type_qualifier_list): Likewise.
1807 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
1808 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
1809 Adjust to follow standard grammar.
1810 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
1811 REFERENCE_TYPE. Tidy.
1812 (pp_c_parameter_type_list): Adjust prototype. Tidy.
1813 (pp_c_parameter_declaration): Remove.
1814 (pp_c_abstract_declarator): Adjust prototype.
1815 (pp_c_direct_abstract_declarator): Likewise.
1816 (pp_c_type_id): Likewise.
1817 (pp_c_storage_class_specifier): Likewise.
1818 (pp_c_function_specifier): Likewise.
1819 (pp_c_declaration_specifiers): Likewise.
1820 (pp_c_direct_declarator): Likewise.
1821 (pp_c_declarator): Likewise.
1822 (pp_c_declarator): Likewise.
1823 (pp_c_declaration): Likewise.
1824 (pp_c_attributes): Likewise. Tidy.
1825 (pp_c_function_definition): Adjust prototype.
1826 (pp_c_char): Likewise.
1827 (pp_c_string_literal): Likewise.
1828 (pp_c_integer_constant): Likewise.
1829 (pp_c_character_constant): Likewise.
1830 (pp_c_bool_constant): Likewise.
1831 (pp_c_enumeration_constant): Likewise.
1832 (pp_c_floating_constant): Likewise.
1833 (pp_c_constant): Likewise.
1834 (pp_c_identifier): Likewise.
1835 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
1836 (pp_c_initializer): Adjust prototype.
1837 (pp_c_init_declarator): Likewise.
1838 (pp_c_initializer_list): Likewise.
1839 (pp_c_id_expression): Likewise.
1840 (pp_c_postfix_expression): Likewise.
1841 (pp_c_expression_list): Likewise.
1842 (pp_c_unary_expression): Likewise.
1843 (pp_c_cast_expression): Likewise.
1844 (pp_c_multiplicative_expression): Likewise.
1845 (pp_c_additive_expression): Likewise.
1846 (pp_c_shift_expression): Likewise.
1847 (pp_c_relational_expression): Likewise.
1848 (pp_c_equality_expression): Likewise.
1849 (pp_c_and_expression): Likewise.
1850 (pp_c_exclusive_or_expression): Likewise.
1851 (pp_c_inclusive_or_expression): Likewise.
1852 (pp_c_logical_and_expression): Likewise.
1853 (pp_c_logical_or_expression): Likewise.
1854 (pp_c_conditional_expression): Likewise.
1855 (pp_c_assignment_expression): Likewise.
1856 (pp_c_expression): Likewise. Tidy.
1857 (pp_c_statement): Likewise. Document.
1858 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
1860 * c-lang.c (c_initialize_diagnostics): Update.
1861 * c-common.h (strip_pointer_operator): Declare.
1862 * c-common.c (strip_pointer_operator): Define.
1864 2003-08-25 Mark Mitchell <mark@codesourcery.com>
1867 * tree.h (build_method_type_directly): Declare.
1868 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
1869 (vector_size_helper): Likewise.
1870 * tree.c (build_method_type_directly): New function.
1871 (build_method_type): Use it.
1873 2003-08-24 Richard Henderson <rth@redhat.com>
1875 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
1876 for 16-byte vector modes if sse not enabled; warn for abi change.
1877 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
1879 2003-08-24 Kazu Hirata <kazu@cs.umass.edu>
1881 * rtlanal.c (may_trap_p): Simplify an integer comparison.
1883 2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
1885 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
1886 comment. Enable for DYNIX/ptx systems (when they switch to
1887 regular fixincludes).
1888 * fixinc/fixincl.x: Regenerate.
1890 2003-08-23 Jason Eckhardt <jle@rice.edu>
1892 * config/i860/t-i860: New.
1893 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
1895 2003-08-23 Jakub Jelinek <jakub@redhat.com>
1897 * c-decl.c (pushdecl): Only put decls which finish_struct will do
1898 something about onto incomplete chain.
1899 (finish_struct): If not removing type from incomplete
1902 Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka <jh@suse.cz>
1905 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
1908 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
1909 const_0_to_15_operand, const_0_to_255_operand): New predicates.
1910 * i386.h (PREDICATE_CODES): Add these.
1911 * i386.c (pinsrw and pextrw patterns): Use them.
1914 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
1917 * expr.c (convert_modes): Deal properly with integer to vector
1918 constant conversion.
1921 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
1923 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
1925 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
1926 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
1927 ("*movhi"): ... this.
1928 ("movqi", "*movqi"): Likewise.
1929 ("movqi_64"): Remove.
1930 ("*zero_extendhisi2_31"): Change predicate to s_operand.
1932 2003-08-23 Dale Johannesen <dalej@apple.com>
1933 * calls.c (emit_library_call_value_1): Fix obvious errors in
1934 arguments to emit_group_store.
1936 2003-08-23 Jason Eckhardt <jle@rice.edu>
1938 * calls.c (emit_library_call_value_1): Remove code related
1939 to LIBGCC_NEEDS_DOUBLE.
1940 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
1941 * doc/tm.texi: Likewise.
1942 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
1944 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
1946 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
1948 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
1950 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
1951 as well. Put memory references in the varargs alias set.
1952 (mips_expand_prologue): Remove varargs handling from here.
1954 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
1956 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
1957 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
1958 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
1959 for function pointer calls.
1960 * config/s390/s390.md ("*negdi2_31"): Likewise.
1962 2003-08-23 Roger Sayle <roger@eyesopen.com>
1964 * combine.c (apply_distributive_law): Correct comment.
1966 2003-08-23 Jason Eckhardt <jle@rice.edu>
1968 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
1970 2003-08-22 Jason Eckhardt <jle@rice.edu>
1972 * config/i860/i860.c (i860_build_va_list): Create the va_decl
1973 declaration. Document the va_list structure.
1974 (i860_va_start): Initialize the va_list structure.
1975 (i860_va_arg): Rewrite completely.
1976 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
1977 * config/i860/varargs.asm: Do not allocate or initialize
1978 a va_list. Return the address of the register save area.
1980 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1982 * config/iq2000/iq2000.c: Fix comment typos.
1983 * config/iq2000/iq2000.md: Likewise.
1985 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
1987 * config/iq2000/iq2000.c: Follow spelling conventions.
1988 * config/iq2000/iq2000.h: Likewise.
1989 * config/mn10300/mn10300.c: Likewise.
1991 2003-08-22 Jason Eckhardt <jle@rice.edu>
1993 * config/i860/i860.c (output_move_double): Don't set latehalf
1994 to zero for CONST_INT (since it could be, e.g., -1).
1996 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
1997 (MODSI3_LIBCALL): ...with this one.
1998 (UREMSI3_LIBCALL): Replace this macro...
1999 (UMODSI3_LIBCALL): ...with this one.
2001 2003-08-22 Jason Eckhardt <jle@rice.edu>
2003 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
2004 (output_delayed_branch): Remove prototype.
2005 (single_insn_src_p): Remove prototype.
2006 * config/i860/i860.c (single_insn_src_p): Remove function.
2007 (output_delayed_branch): Remove function.
2008 (output_delay_insn): Remove function.
2009 (va_start): Remove unconditional test and dead code, re-format.
2010 Fix coding style and spelling problems in various comments.
2011 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
2012 (blockage pattern): ...and use it here.
2013 (all define_peephole patterns related to delayed branches): Remove.
2014 Fix coding style and spelling problems in various comments.
2016 2003-08-22 Jason Eckhardt <jle@rice.edu>
2018 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
2019 Remove all uses of the PARAMS macro. Remove superflous prototypes.
2020 Convert all function definitions from traditional to ISO C90 syntax.
2021 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
2022 with 'GCC'. Remove all uses of the PARAMS macro.
2023 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
2024 * config/i860/i860.md: Likewise.
2025 * config/i860/sysv4.h: Likewise.
2026 * config/i860/varargs.asm: Likewise.
2028 2003-08-22 Jason Eckhardt <jle@rice.edu>
2030 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
2032 (tdesc_section): Add prototype.
2033 Update copyright dates.
2034 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
2035 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
2036 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
2037 (targetm): Likewise.
2038 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
2039 for '%d' where necessary.
2040 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
2041 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
2042 by UNITS_PER_WORD when referencing (likewise for .floats).
2043 (I860_SVR4_VARARGS): Rename...
2044 (I860_SVR4_VA_LIST): ...to this.
2045 Call build() with 't' rather than 'field'.
2046 (i860_rtx_costs): New function.
2047 (TARGET_RTX_COSTS): Define.
2048 (i860_internal_label): New function.
2049 (TARGET_ASM_INTERNAL_LABEL): Define.
2050 (i860_file_start): New function.
2051 Update copyright dates.
2052 * config/i860/i860.h (CPP_PREDEFINES): Remove.
2053 (TARGET_CPU_CPP_BUILTINS): Define.
2054 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
2055 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
2056 (ASM_FILE_START): Remove.
2057 (ASM_FILE_START_1): Remove.
2058 (ASM_GLOBALIZE_LABEL): Remove.
2059 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
2060 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
2061 with targetm.asm_out.internal_label.
2062 Update copyright dates.
2063 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
2064 (CPP_PREDEFINES): Remove.
2065 (TARGET_OS_CPP_BUILTINS): Define.
2066 (GLOBAL_ASM_OP): Define.
2067 (ASM_FILE_START): Remove.
2068 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
2069 (TARGET_ASM_FILE_START): Define.
2070 Update copyright dates.
2072 2003-08-22 Jason Eckhardt <jle@rice.edu>
2074 * gcc/config.gcc (i860-*-sysv4*): Add target.
2075 * config/i860/i860-protos.h: New.
2076 * config/i860/i860.c: New.
2077 * config/i860/i860.h: New.
2078 * config/i860/i860.md: New.
2079 * config/i860/sysv4.h: New.
2080 * config/i860/varargs.asm: New.
2081 * config/i860/x-sysv4: New.
2083 2003-08-22 Jason Eckhardt <jle@rice.edu>
2085 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
2086 Remove all uses of PARAMS macro.
2087 Convert all function definitions to ISO C90 syntax.
2088 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
2089 * config/pa/fptr.c: Likewise.
2090 * config/pa/lib2funcs.asm: Likewise.
2091 * config/pa/long_double.h: Likewise.
2092 * config/pa/milli64.S: Likewise.
2093 * config/pa/pa-64.h: Likewise.
2094 * config/pa/pa-hpux.h: Likewise.
2095 * config/pa/pa-hpux10.h: Likewise.
2096 * config/pa/pa-hpux11.h: Likewise.
2097 * config/pa/pa-linux.h: Likewise.
2098 * config/pa/pa-modes.def: Likewise.
2099 * config/pa/pa-osf.h: Likewise.
2100 * config/pa/pa-pro-end.h: Likewise.
2101 * config/pa/pa.md: Likewise.
2102 * config/pa/pa32-linux.h: Likewise.
2103 * config/pa/pa64-linux.h: Likewise.
2104 * config/pa/pa64-hpux.h: Likewise.
2105 * config/pa/pa64-regs.h: Likewise.
2106 * config/pa/quadlib.c: Likewise.
2107 * config/pa/rtems.h: Likewise.
2108 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
2109 all uses of the PARAMS macro.
2110 * config/pa/pa.h: Likewise.
2111 * config/pa/som.h: Likewise.
2113 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
2114 Remove all uses of PARAMS macro.
2115 Convert all function definitions to ISO C90 syntax.
2116 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
2117 Remove all uses of PARAMS macro.
2118 * config/iq2000.h: Remove all uses of PARAMS macro.
2119 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
2121 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
2123 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
2124 * config/s390/s390.c (gen_consttable): Remove.
2125 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
2126 (s390_output_pool_entry): New function.
2127 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
2128 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
2129 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
2130 (UNSPECV_POOL_ENTRY): ... this new constant.
2131 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2132 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
2133 ("*pool_entry"): ... and replace by this new insn.
2134 ("literal_pool_31"): Do not emit anchor label if pool empty.
2136 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
2137 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
2138 (s390_fixup_clobbered_return_reg): Remove.
2139 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
2140 (s390_return_addr_rtx): Always retrieve return address from save area
2141 slot. Use save_return_addr_p to force slot to be filled.
2142 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
2144 2003-08-22 Chris Demetriou <cgd@broadcom.com>
2146 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
2147 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
2148 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
2149 around SB-1 errata if TARGET_FIX_SB1 is set.
2150 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
2151 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
2153 2003-08-22 Roger Sayle <roger@eyesopen.com>
2155 * hashtable.c (ht_expand): Avoid calculating rehash for the common
2156 case that the first probe hits an empty hash table slot.
2158 2003-08-22 Mark Mitchell <mark@codesourcery.com>
2160 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
2162 2003-08-22 Mark Mitchell <mark@codesourcery.com>
2164 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
2165 (ptr_extend_plus_imm): ... this.
2166 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
2167 optimization in C++.
2168 (ia64_output_mi_thunk): Support ILP32 mode.
2170 2003-08-22 Bernardo Innocenti <bernie@develer.com>
2172 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
2174 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
2176 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2178 * config/i386/i386.c (const_int_1_operand): Simplify an
2181 2003-08-22 Alan Modra <amodra@bigpond.net.au>
2183 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
2184 * config/rs6000/ppc64-fp.c: Likewise.
2186 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2188 * cfgcleanup.c: Fix comment typos.
2189 * emit-rtl.c: Likewise.
2190 * optabs.c: Likewise.
2191 * ra-build.c: Likewise.
2192 * rtlanal.c: Likewise.
2195 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2197 * c-decl.c: Fix comment formatting.
2198 * cfgrtl.c: Likewise.
2199 * combine.c: Likewise.
2200 * convert.c: Likewise.
2201 * dominance.c: Likewise.
2202 * dwarf2out.c: Likewise.
2203 * dwarfout.c: Likewise.
2204 * expmed.c: Likewise.
2205 * fold-const.c: Likewise.
2207 * genattrtab.c: Likewise.
2208 * ggc-common.c: Likewise.
2209 * mips-tfile.c: Likewise.
2210 * regmove.c: Likewise.
2212 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2214 * builtin-attrs.def: Fix comment formatting.
2215 * c-pretty-print.c: Likewise.
2216 * diagnostic.h: Likewise.
2217 * langhooks.h: Likewise.
2218 * recog.c: Likewise.
2219 * simplify-rtx.c: Likewise.
2220 * tree.def: Likewise.
2222 2003-08-22 Bernardo Innocenti <bernie@develer.com>
2224 * config/m68k/m68k-protos.h: Convert to ISO C90.
2225 * config/m68k/m68k.c: Likewise.
2227 2003-08-21 Bernardo Innocenti <bernie@develer.com>
2228 Paul Dale <pauli@snapgear.com>
2229 Peter Barada <peter@baradas.org>
2231 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
2234 2003-08-21 Zack Weinberg <zack@codesourcery.com>
2236 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
2237 * config.gcc (*-*-openbsd): Don't set tm_file.
2238 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
2239 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
2240 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
2241 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
2242 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
2243 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
2244 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
2245 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
2246 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
2247 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
2248 xscale-*-coff): Use explicit and complete lists of target headers
2249 to include. Move definitions to tm_defines where appropriate.
2250 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
2251 not-yet-contributed configuration.
2253 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
2254 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
2255 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
2256 * config/i386/nto.h, config/iq2000/iq2000.h,
2257 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
2258 * config/m68k/linux.h, config/m68k/m68k-aout.h
2259 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
2260 * config/m68k/netbsd.h, config/m68k/openbsd.h
2261 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
2262 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
2263 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
2264 Remove includes of other target config headers, and
2265 definitions of macros moved to tm_defines lists. Add #undefs
2266 where now necessary to prevent redefinition warnings.
2268 * config/h8300/coff.h: New file split out of...
2269 * config/h8300/elf.h: ...here.
2270 * config/m68k/hp320base.h: New file split out of...
2271 * config/m68k/hp320.h: ...here.
2272 * config/rs6000/lynxbase.h: New file split out of...
2273 * config/rs6000/lynx.h: ...here.
2275 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
2276 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
2278 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
2279 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
2280 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
2281 Remove unnecessary #ifndef.
2282 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
2283 [under IN_LIBGCC2] with config/.
2285 2003-08-21 Per Bothner <pbothner@apple.com>
2287 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
2289 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
2290 by return_at_eof check. Always call _cpp_pop_buffer at end.
2292 2003-08-21 Kazu Hirata <kazu@cs.umass.edu>
2295 * config/h8300/h8300.md (two anonymous patterns): Remove.
2297 2003-08-21 Richard Sandiford <rsandifo@redhat.com>
2299 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
2300 * config/mips/mips.c (function_arg_pass_by_reference): Never return
2303 2003-08-21 Josef Zlomek <zlomekj@suse.cz>
2305 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
2306 and similarly in (A | C) == D where C & ~D != 0.
2308 2003-08-20 Geoffrey Keating <geoffk@apple.com>
2311 * configure.in: When testing with_libs and with_headers, treat
2312 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
2313 * configure: Regenerate.
2315 2003-08-20 Peter Barada <peter@baradas.org>
2317 * longlong.h (umul_ppmm): Add ColdFire support.
2319 2003-08-20 Peter Barada <peter@baradas.org>
2320 Bernardo Innocenti <bernie@develer.com>
2322 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
2323 * config/m68k/m68k.h: Likewise.
2324 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
2325 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
2326 * config/m68k/linux.h: Likewise.
2327 * config/m68k/m68k.c: Likewise.
2328 * config/m68k/m68k.md: Likewise.
2329 * config/m68k/m68kelf.h: Likewise.
2330 * config/m68k/netbsd-elf.h: Likewise.
2331 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
2333 2003-08-20 Bernardo Innocenti <bernie@develer.com>
2335 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
2336 * config/m68k/m68k.md: Likewise.
2338 2003-08-20 Mark Mitchell <mark@codesourcery.com>
2342 2003-08-19 Mark Mitchell <mark@codesourcery.com>
2343 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2344 types with precisions other than those given by native machine
2347 2003-08-20 Gunther Nikl <gni@gecko.de>
2349 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
2350 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
2351 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
2352 * config/m68k/m68k.md (anonymous define_insn): Likewise
2353 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
2354 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
2355 code selected by NO_ASM_FMOVECR
2357 2003-08-20 Gunther Nikl <gni@gecko.de>
2359 * config/m68k/m68k.c (output_move_const_into_data_reg,
2360 output_move_himode): unify MOTOROLA/MIT handling of moveq
2361 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
2364 2003-08-20 Gunther Nikl <gni@gecko.de>
2366 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
2368 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
2369 HOST_WIDE_INT_PRINT_DEC with %wd
2371 2003-08-20 Loren James Rittle <ljrittle@acm.org>
2373 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
2376 2003-08-20 Roger Sayle <roger@eyesopen.com>
2379 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
2380 operands before calling tree_int_cst_lt when performing associative
2383 2003-08-20 Jason Merrill <jason@redhat.com>
2385 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
2386 (EXPR_CHECK): Don't check for 'r' or 's' if we're
2387 checking IS_EXPR_CODE_CLASS.
2388 * calls.c (calls_function_1): Likewise.
2389 * fold-const.c (fold): Likewise.
2390 * tree.c (iterative_hash_expr): Likewise.
2391 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
2393 2003-08-20 Gunther Nikl <gni@gecko.de>
2395 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
2396 depending on MOTOROLA_BSR
2397 * config/m68k/m68k.md (anonymous define_insn): Likewise
2399 2003-08-20 Jason Merrill <jason@redhat.com>
2401 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
2402 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2403 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
2404 * dojump.c (do_jump): Likewise.
2405 * fold-const.c (operand_equal_p, fold): Likewise.
2406 (tree_expr_nonnegative_p): Likewise.
2408 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
2409 TYPE_USER_ALIGN for FIELD_DECLs.
2411 * attribs.c (decl_attributes): Rebuild the function pointer type after
2412 changing the target type.
2413 * tree.c (get_qualified_type): Also check that the attributes match.
2415 2003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
2417 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
2418 * objc/config-lang.in (stagestuff): ... to here.
2420 2003-08-19 Mark Mitchell <mark@codesourcery.com>
2423 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
2424 NOP_EXPR) when necessary.
2425 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2426 types with precisions other than those given by native machine
2429 2003-08-19 Geoffrey Keating <geoffk@apple.com>
2431 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
2432 because some macro is defined.
2434 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
2436 * config/i386/darwin.h (ASM_SPEC): New.
2437 (SUBTARGET_EXTRA_SPECS): New.
2438 * config/rs6000/darwin.h (ASM_SPEC): New.
2439 (SUBTARGET_EXTRA_SPECS): New.
2440 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
2441 a cross-compiler between two different processors on Darwin.
2442 * configure: Regenerate.
2444 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2446 * builtins.c: Fix comment typos.
2447 * c-common.c: Likewise.
2448 * c-decl.c: Likewise.
2449 * c-pretty-print.c: Likewise.
2450 * cfgbuild.c: Likewise.
2451 * cfglayout.c: Likewise.
2452 * cfgloopanal.c: Likewise.
2453 * cgraphunit.c: Likewise.
2454 * cppfiles.c: Likewise.
2455 * dwarfout.c: Likewise.
2457 * fold-const.c: Likewise.
2459 * ggc-page.c: Likewise.
2460 * haifa-sched.c: Likewise.
2461 * pretty-print.c: Likewise.
2464 * value-prof.c: Likewise.
2466 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2468 * c-decl.c: Follow spelling conventions.
2469 * cppfiles.c: Likewise.
2471 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2473 * c-common.c: Fix comment formatting.
2474 * c-common.h: Likewise.
2475 * c-decl.c: Likewise.
2476 * cppinit.c: Likewise.
2477 * cpplib.h: Likewise.
2478 * emit-rtl.c: Likewise.
2479 * input.h: Likewise.
2480 * line-map.h: Likewise.
2483 * simplify-rtx.c: Likewise.
2485 2003-08-19 Daniel Jacobowitz <drow@mvista.com>
2487 * unwind-c.c: Add libgcc-style exception.
2488 * unwind-dw2.c: Likewise.
2489 * unwind-pe.h: Likewise.
2490 * unwind-sjlj.c: Likewise.
2491 * unwind.inc: Likewise.
2493 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2495 PR c/5582 PR c++/10538
2496 * langhooks-def.h (lhd_decl_uninit): Declare.
2497 (LANG_HOOKS_DECL_UNINIT): New macro.
2498 (LANG_HOOKS_INITIALIZER): Adjust.
2499 * langhooks.h (struct lang_hooks): Add new field
2501 * langhooks.c (lhd_decl_uninit): Define.
2502 * c-common.c (c_decl_uninit_1): New function.
2503 (c_decl_uninit): New function.
2504 (warn_init_self): Define.
2505 * c-common.h (c_decl_uninit): Declare.
2506 (warn_init_self): Declare.
2507 * c.opt: Introduce -Winit-self.
2508 * c-opts.c (c_common_handle_options): Set warn_init_self.
2509 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2510 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2511 * function.c (uninitialized_vars_warning): Call the language hook.
2512 * doc/invoke.texi: Document -Winit-self.
2514 2003-08-19 Chris Demetriou <cgd@broadcom.com>
2516 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
2517 to use better predicates and constraints. Define new
2518 instruction to handle "trap_if" with DI-mode arguments.
2519 (conditional_trap): FAIL if trap code is not 0.
2521 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2523 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
2524 strstr with $pb to a strcompare with "<pic base>"
2525 (ix86_output_addr_diff_elt): Output the real pic base.
2527 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
2529 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
2530 (LANG_HOOKS_INITIALIZER): Correct.
2531 * c-lang.c: Likewise.
2533 2003-08-19 Jan Hubicka <jh@suse.cz>
2535 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
2536 (cgraph_varpool_mark_needed_node): Likewise.
2537 * cgraph.h (notice_global_symbol): Declare
2538 * varasm.c (notice_global_symbol): Break out from ...
2539 (assemble_start_function): ... here; update for variables.
2540 (assemble_variable): Use notice_global_symbol.
2542 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
2544 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
2545 expect SFmode and DFmode arguments to be passed in FPRs,
2546 regardless of the underlying type.
2548 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
2551 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
2552 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
2554 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
2557 * c-typeck.c (set_init_index): Check for negative index.
2559 2003-08-18 Bob Wilson <bob.wilson@acm.org>
2561 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
2563 * config/xtensa/crtn.asm (_init, _fini): Likewise.
2564 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2565 __umodsi3, __modsi3): Likewise.
2566 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
2569 2003-08-18 Aldy Hernandez <aldyh@redhat.com>
2571 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
2573 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2575 * config/mips/mips.md: Quote C code in braces. Remove use of
2576 fake const0_rtx operands. Remove double backslashes. Use \;.
2577 Remove workarounds for bogus warnings.
2579 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2581 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
2582 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
2583 rather than TARGET_MIPS4300.
2584 (mulsf3_internal, mulsf3_r4300): Likewise.
2586 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2588 * config/mips/mips.md: Renumber unspecs. Clean up comments.
2590 2003-08-17 Roger Sayle <roger@eyesopen.com>
2592 * simplify-rtx.c (associative_constant_p): New function to test
2593 whether an RTX expression is an immediate constant.
2594 (simplify_associative_operation): New function to perform some
2595 reassociation optimizations of associative binary expressions.
2596 (simplify_binary_operation): Use simplify_associative_operation
2597 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
2598 Floating point expressions are only reassociated when unsafe
2599 math optimizations are permitted.
2601 2003-08-17 Andreas Jaeger <aj@suse.de>
2603 * config/alpha/alpha.md: Remove usage of PARAMS.
2605 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
2606 * config/i386/i386-interix.h: Likewise.
2607 * config/i386/winnt.c: Likewise.
2608 * config/i386/cygming.h: Likewise.
2609 * config/i386/cygwin2.c: Likewise.
2610 * config/darwin.c: Likewise.
2611 * config/darwin-c.c: Likewise.
2612 * config/darwin-protos.h: Likewise.
2613 * config/darwin.h: Likewise.
2614 * config/s390/s390-protos.h: Likewise.
2615 * config/s390/s390.c: Likewise.
2616 * config/ia64/ia64.c: Likewse
2617 * config/ia64/ia64-protos.h: Likewise.
2618 * config/ia64/ia64-c.c: Likewise.
2620 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2622 * config/sparc/sparc.c: Convert to ISO C.
2624 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
2625 * config/sparc/sparc.c: Likewise.
2627 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
2630 * stmt.c (expand_expr_stmt_value): Don't warn about any void
2633 2003-08-16 Jan Hubicka <jh@suse.cz>
2635 * i386.c (ix86_fntype_regparm): Rename from ...
2636 (ix86_function_regparm): ... this one; add fastcall and local
2638 (ix86_function_ok_for_sibcall): Update.
2639 (ix86_return_pops_args): Likewise.
2640 (init_cumulative_args): Likewise.
2641 (x86_can_output_mi_thunk): Likewise.
2642 (function_arg): Fix formating.
2643 (x86_this_parameter): Fix fastcall.
2644 (x86_output_mi_thunk): Likewise.
2646 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
2647 body as reachable; mark nested functions as needed too.
2648 (dump_cgraph): Do not output global.calls.
2649 * cgraph.h (cgraph_global_info): Kill.
2650 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
2651 (record_call_1): Speedup.
2652 (cgraph_analyze_function): Break out from ...; compute inlining
2654 (cgraph_finalize_compilation_unit): ... here.
2655 (cgraph_mark_inline): Kill computation of calls.
2656 (cgraph_decide_inlining): Do not compute most of initial values.
2658 2003-08-14 Roger Sayle <roger@eyesopen.com>
2660 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
2661 to negate if either operand is easy to negate, if we don't care
2662 about sign-dependent rounding.
2663 (negate_expr): Make the logic to negate a REAL_CST explicit.
2664 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
2665 that's easy to negate, if we don't honor sign-dependent rounding.
2666 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
2667 negate, and the symmetric A * -B as -A * B if A is easy to negate.
2668 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
2669 -C/D if B and C are cheap to negate. Add an explicit rule to
2670 optimize X/-1.0 as -X when we don't care about signaling NaNs.
2672 2003-08-14 Zack Weinberg <zack@codesourcery.com>
2674 * Makefile.in (tm_file): Rename tm_include_list.
2675 (tm_p_file): Rename tm_p_include_list.
2676 (build_xm_file): Rename build_xm_include_list.
2677 (host_xm_file): Rename host_xm_include_list.
2678 (xm_file): Rename xm_include_list.
2679 (xm_file_list): Add to be substituted.
2680 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
2682 (bt-load.o): Add missing dependency on $(TM_H).
2683 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
2684 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
2685 build_xm_file, generate both *_file_list and *_include_list
2686 values from it. (xm_file_list was formerly not being generated.)
2687 In *_include_list, prefix the names of all headers found in
2688 $(srcdir)/config with config/. In each loop, consider only
2689 the special case files that can actually appear in that list.
2690 AC_SUBST all *_file_list and all *_include_list variables; do
2691 not AC_SUBST the plain *_file variables.
2692 * configure: Regenerate.
2694 2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2696 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
2698 2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2700 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
2702 (attr_length_call): Include it here. Improve length estimate for
2704 (output_call): Use targetm.binds_local_p.
2706 2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2708 * builtins.c (CASE_MATHFN): New helper macro.
2709 (mathfn_built_in): Simplify and sort.
2711 * protoize.c (substr): Delete, callers changed to `strstr'.
2713 2003-08-13 Zack Weinberg <zack@codesourcery.com>
2715 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
2716 * config/iq2000/xm-iq2000.h: Delete file.
2718 2003-08-13 Geoffrey Keating <geoffk@apple.com>
2720 * gengtype.c (walk_type): Process a subobject before processing
2721 the pointer that points to the subobject.
2723 2003-08-13 Per Bothner <pbothner@apple.com>
2725 * regclass.c (init_reg_modes): Make non-static.
2726 Rename to init_reg_modes_once per new naming convention.
2727 (init_regs): Don't call init_reg_modes here.
2728 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
2729 * rtl.h (init_reg_modes_once): New declaration.
2730 * toplev.c (backend_init): Call init_regs after init_emit_once.
2732 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
2734 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
2735 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
2737 2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
2739 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
2740 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
2742 2003-08-13 Dale Johannesen <dalej@apple.com>
2744 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
2745 handling of decrement-and-branch farther than 32 bits.
2747 2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
2749 * configure.in (make_compare_target): Move test to ...
2750 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
2751 * configure: Regenerate.
2753 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
2755 * config/mips/iris6.h: Convert to C90 prototypes.
2756 * config/mips/irix6-libc-compat.c: Likewise.
2757 * config/mips/mips-protos.h: Likewise.
2758 * config/mips/mips.c: Likewise.
2760 2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
2762 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
2763 for selected machines. Comment heavily.
2764 fixinc/fixincl.x: Rebuild.
2765 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
2767 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
2769 * config/mips/mips.h: Tweak various comments.
2770 * config/mips/mips.c: Likewise.
2772 2003-08-11 James E Wilson <wilson@tuliptree.org>
2774 PR optimization/11319
2776 * alias.c (find_base_value, case REG): Return 0 not src if no base
2779 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2781 * gcse.c (gmalloc): Fix last change.
2783 2003-08-11 Roger Sayle <roger@eyesopen.com>
2785 * simplify-rtx.c (simplify_binary_operation): Replace calls to
2786 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
2787 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
2788 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
2790 2003-08-11 Roger Sayle <roger@eyesopen.com>
2792 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
2793 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
2794 typecode for an ABS_EXPR.
2796 * doc/c-tree.texi: Document ABS_EXPR.
2798 2003-08-11 Roger Sayle <roger@eyesopen.com>
2800 * fold-const.c (fold): Optimize any associative floating point
2801 operator with -funsafe-math-optimizations, not just MULT_EXPR.
2803 2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
2805 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
2806 information in SHmedia case too.
2807 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
2809 (__set_fpscr): Use an access via GOT for PIC case.
2811 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
2813 * configure.in (intermodule): Make switch test more portable.
2814 * configure: Regenerate.
2816 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
2818 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
2819 (restrap): Likewise.
2821 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2823 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
2824 (grealloc): Size argument is a size_t.
2825 (gcalloc): New function. Use throughout in lieu of
2828 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
2830 * config/ia64/ia64.c (ia64_reorg): Likewise.
2831 * conflict.c (conflict_graph_new): Likewise.
2832 * fixinc/fixincl.c (run_compiles): Likewise.
2833 * genattrtab.c (optimize_attrs): Likewise.
2834 * genrecog.c (new_decision): Likewise.
2835 * haifa-sched.c (schedule_block): Likewise.
2836 * hashtable.c (ht_create): Likewise.
2838 2003-08-11 Bob Wilson <bob.wilson@acm.org>
2840 * config/xtensa/lib2funcs.S: Fix whitespace.
2841 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
2842 syntax where appropriate. Remove unnecessary backslash escapes.
2843 Reformat comments and fix some code formatting.
2844 (extendqisi2): Rearrange conditional.
2845 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
2846 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
2849 2003-08-11 Richard Sandiford <rsandifo@redhat.com>
2851 * config/mips/mips.c: Various formatting fixes.
2852 (override_options): Resync -mtune handling with gas.
2853 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
2854 * config/mips/mips.h: More formatting fixes.
2855 (mips_abi): Move declaration.
2856 * config/mips/mips.md (exception_receiver): Add mode to
2859 2003-08-11 Aldy Hernandez <aldyh@redhat.com>
2861 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
2863 (bdesc_1arg): Remove evsplati and evsplatfi.
2865 2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
2867 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
2870 2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2872 * builtins.c (expand_builtin_strcat): Optimize constant strings.
2874 2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
2876 * pretty-print.c (pp_base_indent): Rename from pp_indent.
2877 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
2878 (struct c_pretty_print_info): Add more fields.
2879 (pp_c_left_paren): Move to c-pretty-print.c.
2880 (pp_c_right_paren): Likewise.
2881 (pp_c_left_brace): Likewise.
2882 (pp_c_right_brace): Likewise.
2883 (pp_c_left_bracket): Likewise.
2884 (pp_c_right_bracket): Likewise.
2885 (pp_c_declarator): Declare.
2886 (pp_c_direct_declarator): Likewise.
2887 (pp_c_specifier_qualifier_list): Likewise.
2888 (pp_c_type_id): Likewise.
2889 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
2890 (pp_c_type_qualifier_list): New.
2891 (pp_c_pointer): Likewise.
2892 (pp_c_parameter_type_list): Likewise.
2893 (pp_c_function_definition): Likewise.
2894 (pp_c_id_expression): Likewise.
2895 (pp_c_simple_type_specifier): Tidy.
2896 (pp_c_unary_expression): Likewise.
2897 (pp_c_expression): Likewise.
2898 (pp_c_pretty_printer_init): Likewise.
2899 (pp_c_specifier_qualifier_list): Rework..
2900 (pp_c_abstract_declarator): Likewise.
2901 (pp_c_postfix_expression): Likewise.
2902 (pp_c_primary_expression): Likewise.
2903 (pp_c_cast_expression): Likewise.
2904 (pp_c_direct_abstract_declarator): Likewise.
2905 (pp_c_storage_class_specifier): Likewise.
2906 (pp_c_function_specifier): Likewise.
2907 (pp_c_declaration_specifiers): Likewise.
2908 (pp_c_direct_declarator): Likewise.
2909 (pp_c_declarator): Likewise.
2910 (pp_c_declaration): Likewise.
2911 (pp_c_statement): Likewise.
2912 (pp_c_integer_constant): Rename from pp_c_integer_literal.
2913 (pp_c_character_constant): Rename from pp_c_character_literal.
2914 (pp_c_bool_constant): Rename from pp_c_bool_literal.
2915 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
2916 (pp_c_floating_constant): Rename from pp_c_real_literal.
2917 (pp_c_constant): Rename from pp_c_literal.
2918 * c-lang.c: Include diagnostic.h and c-pretty-print.h
2919 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
2920 (c_initialize_diagnostics): New.
2921 * Makefile.in (c-lang.o): Update dependency.
2923 2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
2925 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
2927 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
2929 * config/mips/mips.c (mips_no_mips16_string): Remove.
2930 (override_options): Don't handle -mips16 as part of -mipsN.
2931 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
2932 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
2933 (TARGET_OPTIONS): Remove -mno-mips16.
2935 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
2937 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
2938 (coprocessor2_operand): Likewise.
2939 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
2940 (lookup_name): Remove declaration.
2941 (abort_with_insn): Remove. Replace all uses with fatal_insn.
2942 (mips16, mips_abicalls): Remove.
2943 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
2944 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
2945 (coprocessor_operand, coprocessor2_operand): Remove.
2946 (override_options): Don't set mips16 or mips_abicalls.
2947 (print_operand): Don't expect SIGN_EXTEND operands.
2948 (mips_secondary_reload_class): Likewise.
2949 (mips_output_conditional_branch): Remove disabled long-branch code.
2950 * config/mips/mips.h (call_used_regs): Remove declaration.
2951 (may_call_alloca): Likewise.
2952 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
2953 (mips_abicalls, mips16): Remove declarations.
2954 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
2955 (CC1_SPEC): Remove outdated comment.
2956 (MIPS_VERSION, MACHINE_TYPE): Remove.
2957 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
2958 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
2959 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
2960 (PUSH_ROUNDING): Likewise.
2961 (ASSEMBLER_SCRATCH_REGNUM): Remove.
2962 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
2963 and mips16 with TARGET_MIPS16.
2965 2003-08-09 Per Bothner <pbothner@apple.com>
2967 * cppinit.c (cpp_read_main_file): Split out source-independent
2968 initialization to separate function ...
2969 (cpp_post_options): New function.
2970 * cppfiles.c (cpp_stack_file): Rename public name to ...
2971 (_cpp_stack_file): New internal function name.
2972 * cpplib.h: Update accordingly.
2973 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
2974 (cpp_read_main_file): Don't initialize line here.
2975 * c-opts.c (c_common_post_options): Call cpp_post_options.
2976 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
2977 * fix-header.c (read_scan_file): Call cpp_post_options.
2979 2003-08-09 Per Bothner <per@bothner.com>
2981 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
2983 2003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2985 * pa.c (pa_asm_output_mi_thunk): Fix typo.
2987 2003-08-09 Neil Booth <neil@daikokuya.co.uk>
2989 PR preprocessor/11839
2990 * cppfiles.c (open_file): Handle ENOTDIR.
2992 2003-08-09 Richard Sandiford <rsandifo@redhat.com>
2995 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
2997 2003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2999 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
3000 source/destination is not a register operand.
3002 2003-08-08 Richard Henderson <rth@redhat.com>
3005 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
3006 RETURN_ADDRESS_POINTER_REGNUM.
3007 (ia64_expand_prologue): Don't frob it.
3008 (ia64_output_function_epilogue): Likewise.
3009 (ia64_return_addr_rtx): New.
3010 (ia64_split_return_addr_rtx): New.
3011 * config/ia64/ia64-protos.h: Update.
3012 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
3013 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
3014 (GENERAL_REGNO_P): Don't check it.
3015 (AR_*_REGNUM): Renumber.
3016 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
3017 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
3018 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
3019 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
3020 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
3021 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
3022 (movdi_ret_addr): New.
3024 2003-08-08 Geoffrey Keating <geoffk@apple.com>
3026 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
3028 2003-08-08 Roger Sayle <roger@eyesopen.com>
3030 * tree.h (get_identifier) Define a macro form of get_identifier
3031 that calls get_identifier_with_length when the string is constant.
3032 (get_identifier_with_length): Change type of second argument to
3033 size_t in prototype.
3034 * stringpool.c (get_identifier): Undefine the macro before giving
3035 the function definition.
3036 (get_identifier_with_length): Change type of second argument to
3037 size_t in function definition.
3038 * hashtable.c (calc_hash): Change type of second argument to size_t.
3039 (ht_lookup): Change type of third argument to size_t. Reorganize
3040 to speed-up the cases where the hash table slot is empty, or the
3041 first probe matches (i.e. there isn't a collision).
3042 * hashtable.h (ht_lookup): Adjust function prototype.
3044 2003-08-08 Bernardo Innocenti <bernie@develer.com>
3048 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
3050 2003-08-08 Neil Booth <neil@daikokuya.co.uk>
3052 * common.opt: Add debug switches.
3053 * flags.h (use_gnu_debug_info_extensions): Boolify.
3054 * opts.c (write_symbols, debug_info_level,
3055 use_gnu_debug_info_extensions): Move from toplev.c.
3056 (set_debug_level): New.
3057 (common_handle_options): Handle debug switches.
3058 (print_help): Display target options directly.
3059 * toplev.c (debug_hooks): Don't initialize.
3060 (write_symbols, debug_info_level,
3061 use_gnu_debug_info_extensions): Move to opts.c.
3062 (debug_args, display_help, decode_g_option): Remove.
3063 (process_options): Set no debug if level zero here,
3064 and no-debug-hooks. Error here if impossible debug format selected.
3065 * toplev.h (display_help, decode_g_option): Remove.
3067 2003-08-08 Richard Sandiford <rsandifo@redhat.com>
3069 * tree.c (get_file_function_name_long): Fix size of alloca() area.
3071 2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
3073 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
3074 and gcc_cv_prog_cmp_skip.
3075 * configure: Regenerate.
3077 2003-08-08 Stan Cox <scox@redhat.com>
3079 * config/iq2000: New port.
3080 * config.gcc (iq2000-*-elf): Added.
3081 * doc/install.texi (Specific): Add iq2000 description.
3083 2003-08-08 Andreas Schwab <schwab@suse.de>
3085 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
3086 and insert missing empty argument.
3087 * configure: Regenerate.
3089 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3091 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
3092 (attr_length_millicode_call): Likewise.
3093 (attr_length_call): Likewise. Revise some maximum insn lengths.
3094 (attr_length_indirect_call): Likewise.
3095 (output_call): Fix thinko that added extra nop.
3096 * pa.h (IN_NAMED_SECTION_P): Define.
3099 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
3100 __STDC_EXT__ when using C++ dialect.
3102 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
3104 * sh.c (calc_live_regs): If the return address pointer is live,
3106 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
3107 for saves / restores.
3108 (sh_expand_epilogue): If sh_media_register_for_return returns a
3109 register number, flag the instructions that restores PR_MEDIA_REG
3111 Remove dead update of offset.
3112 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
3113 we can use the result of get_hard_reg_initial_val.
3114 * sh.md (UNSPEC_RA): New constant.
3115 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
3116 (load_ra). Handle UNSPEC_RA.
3117 (sibcall_media): Use PR_MEDIA_REG.
3119 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
3120 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
3121 needs saving on SHmedia.
3123 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
3125 * config/s390/s390.md: Replace all occurrences of \\t with \t.
3127 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
3129 * local-alloc.c (combine_regs): Fix comment typo.
3131 2003-08-06 Zack Weinberg <zack@codesourcery.com>
3133 * c-decl.c (builtin_decls): Replace with first_builtin_decl
3134 and last_builtin_decl.
3135 (c_init_decl_processing): Initialize both.
3136 (c_reset_state): Iterate from first_builtin_decl to
3137 last_builtin_decl inclusive to reintroduce builtins.
3139 2003-08-06 David Mosberger <davidm@hpl.hp.com>
3141 * doc/extend.texi (Function Attributes): Document the IA-64 version
3142 of the "model" attribute.
3144 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
3145 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
3146 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
3148 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
3149 (ia64_encode_section_info): Likewise.
3150 (ia64_attribute_table): Add "model" attribute.
3151 (TARGET_ENCODE_SECTION_INFO): Define.
3152 (small_addr_symbolic_operand): New function.
3153 (got_symbolic_operand): Return 0 for a symbolref to an object
3154 in the small address area.
3155 (enum ia64_addr_area): New type.
3156 (small_ident1): New variable.
3157 (small_ident2): Likewise.
3158 (init_idents): New function.
3159 (ia64_get_addr_area): Likewise.
3160 (ia64_encode_addr_area): Likewise.
3161 (ia64_encode_section_info): Likewise.
3162 (ia64_expand_load_address): For symbolic references to objects in
3163 the small-address-area, load the address via gen_rtx_SET() (which,
3164 eventually, will expand into "addl").
3166 2003-08-06 Per Bothner <pbothner@apple.com>
3168 * line-map.h (fileline): New typedef.
3169 (struct line_map, linemap_add, linemap_lookup): Use it.
3170 * input.h (struct location_s): Comment notes that long-term we want
3171 to replace it by fileline.
3173 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
3175 Fix SHcompact exception handling:
3176 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
3177 by the prologue, return a MEM with return_address_pointer_rtx
3179 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
3180 (RETURN_ADDR_OFFSET): Don't define.
3181 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
3182 registers that are visible in compact mode. Show that SHmedia
3183 registers still exist in compact mode, even if there are not
3185 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
3186 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
3187 and DW_EH_PE_pcrel for pic data.
3188 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
3189 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
3190 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
3191 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
3192 * sh.md (movsi_media-1): New splitter.
3194 2003-08-06 Graeme Peterson <gp@qnx.com>
3196 * config/i386/nto.h: New.
3197 * config/i386/t-nto: New.
3198 * config.gcc (i[34567]86-*-nto-qnx*): New.
3200 2003-08-06 Phil Edwards <pme@gcc.gnu.org>
3202 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
3204 2003-08-06 Alan Modra <amodra@bigpond.net.au>
3206 * calls.c (load_register_parameters): Arrange for call_fusage to
3207 report the whole register as used when shifting to the msb.
3209 2003-08-05 Roger Sayle <roger@eyesopen.com>
3211 * builtins.c (expand_builtin): When not optimizing, call the library
3212 function for all builtins that have library functions (except alloca).
3214 2003-08-05 Alexandre Oliva <aoliva@redhat.com>
3216 * c.opt: Introduce -fworking-directory.
3217 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
3218 * c-common.h (flag_working_directory): Declare.
3219 * c-common.c (flag_working_directory): Define.
3220 * c-opts.c (c_common_handle_options): Set it.
3221 (sanitize_cpp_opts): Set...
3222 * cpplib.h (struct cpp_options): ... working_directory option.
3223 (struct cpp_callbacks): Add dir_change.
3224 * cppinit.c (read_original_filename): Call...
3225 (read_original_directory): New. Look for # 1 "directory//"
3227 (cpp_read_main_file): Call dir_change callback if working_directory
3229 * gcc.c (cpp_unique_options): Pass -g*.
3230 * c-lex.c (cb_dir_change): New.
3231 (init_c_lex): Set dir_change callback.
3232 * toplev.c (src_pwd): New static variable.
3233 (set_src_pwd, get_src_pwd): New functions.
3234 * toplev.h (get_src_pwd, set_src_pwd): Declare.
3235 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
3236 * dwarf2out.c (gen_compile_unit_die): Likewise.
3237 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
3239 2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3241 * pretty-print.h (pp_set_line_maximum_length): Make macro.
3242 (pp_set_prefix): Likewise.
3243 (pp_destroy_prefix): Likewise.
3244 (pp_remaining_character_count_for_line): Likewise.
3245 (pp_clear_output_area): Likewise.
3246 (pp_formatted_text): Likewise.
3247 (pp_last_position_in_text): Likewise.
3248 (pp_emit_prefix): Likewise.
3249 (pp_append_text): Likewise.
3250 (pp_flush): Likewise.
3251 (pp_format_text): Likewise.
3252 (pp_format_verbatim): Likewise.
3253 (pp_tree_identifier): Tidy.
3254 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
3255 (pp_base_format_verbatim): Rename from pp_format_verbatim.
3256 (pp_base_flush): Rename from pp_flush.
3257 (pp_base_set_line_maximum_length): Rename from
3258 pp_set_line_maximum_length.
3259 (pp_base_clear_output_area): Rename from pp_clear_output_area.
3260 (pp_base_set_prefix): Rename from pp_set_prefix.
3261 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
3262 (pp_base_emit_prefix): Rename from pp_emit_prefix.
3263 (pp_base_append_text): Rename from pp_append_text.
3264 (pp_base_formatted_text): Rename from pp_formatted_text.
3265 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
3266 (pp_base_remaining_character_count_for_line): Rename from
3267 pp_remaining_character_count_for_line.
3268 * diagnostic.h (diagnostic_format_decoder): Tidy.
3269 (diagnostic_flush_buffer): Likewise.
3270 * c-pretty-print.h: (pp_c_string_literal): Declare.
3271 (pp_c_real_literal): Likewise.
3272 (pp_c_integer_literal): Likewise.
3273 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
3275 (pp_c_character_literal): Tidy.
3276 (pp_c_string_literal): Make public.
3277 (pp_c_bool_literal): Likewise.
3278 (pp_c_integer_literal): Likewise.
3279 (pp_c_real_literal): Likewise.
3281 * Makefile.in (C_PRETTY_PRINT_H): New variable.
3282 (c-pretty-print.o): Update dependence.
3284 2003-08-05 Chris Demetriou <cgd@broadcom.com>
3286 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
3287 ".set nomacro" state.
3288 (fix_truncsfsi2_macro): Likewise.
3290 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
3292 * tree.h (DID_INLINE_FUNC): Remove macro.
3293 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
3294 add tree check for FUNCTION_DECL.
3295 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
3296 (struct tree_decl): Rename inlined_function_flag to
3297 declared_inline_flag.
3298 * c-common.h (c_lang_decl): Remove.
3299 (DECL_ESTIMATED_INSNS): Remove.
3300 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
3301 (DECL_DECLARED_INLINE_P): Remove.
3302 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
3303 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
3304 (finish_function): Make uninlinable a bool. Fixup call to
3305 tree_inlinable_function_p() and fix some code style issues.
3306 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
3307 * cgraph.c (dump_cgraph): Likewise.
3308 * cgraphunit.c (cgraph_decide_inlining): Likewise
3309 (cgraph_finalize_compilation_unit): Likewise.
3310 Also update call to tree_inlinable_function_p().
3311 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
3312 look at DECL_DECLARED_INLINE and reverse logic.
3313 * print-tree.c (print_node): Likewise.
3314 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
3315 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
3317 * tree-inline.c (inlinable_function_p): Split up in this function to
3318 check for basic inlining inhibiting conditions, and new
3319 limits_allow_inlining() function. Warn if inlining is impossible
3320 because the inline candidate calls alloca or uses sjlj exceptions.
3321 (limits_allow_inlining): this new function to check if the inlining
3322 limits are satisfied. Throttle from currfn_max_inline_insns, not from
3323 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
3324 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
3326 (tree_inlinable_function_p): Make a bool. Update call to
3327 inlinable_function_p
3328 (expand_call_inline): Use limits_allow_inlining() when not in
3329 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
3330 instead see if the function was declared `inline'.
3332 2003-08-05 Josef Zlomek <zlomekj@suse.cz>
3334 * gcse.c (try_replace_reg): Fix updating of note.
3336 2003-08-04 Roger Sayle <roger@eyesopen.com>
3339 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
3340 logic in negate_expr, i.e. we don't invert (A-B) for floating
3341 point types unless flag_unsafe_math_optimizations.
3343 2003-08-04 Roger Sayle <roger@eyesopen.com>
3345 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
3346 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
3347 for floating point expressions with -ffast-math.
3348 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
3349 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
3351 2003-08-04 Roger Sayle <roger@eyesopen.com>
3353 * c-common.c (flag_noniso_default_format_attributes): Delete.
3354 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
3355 (c_attrs_initialized): Delete.
3356 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
3357 always call c_init_attributes.
3358 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
3359 set c_attrs_initialized when done.
3360 (c_common_insert_default_attributes): Delete.
3361 * c-common.h (flag_noniso_default_format_attributes): Delete.
3362 (c_coomon_insert_default_attributes): Delete prototype.
3363 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
3364 flag_noniso_default_format_attributes.
3366 * c-decl.c (c_insert_default_attributes): Delete.
3367 * c-tree.h (c_insert_default_attributes): Delete prototype.
3369 * attribs.c (decl_attributes): Don't call insert_default_attributes
3370 langhook. Update function description comment.
3371 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
3372 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
3373 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
3374 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
3376 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
3379 2003-08-04 Richard Sandiford <rsandif@redhat.com>
3381 * config/mips/mips.c (override_options): Disable -G on targets that
3382 have no .section support.
3383 (mips_select_section): Use default_select_section for such targets.
3385 2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
3387 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
3388 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
3389 * fixinc/fixincl.x: Rebuild.
3390 * fixinc/tests/base/regexp.h: New test.
3392 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
3394 * c-ppoutput.c (cb_line_change): Don't skip line changing while
3395 parsing macro arguments in the top-level context.
3397 2003-08-04 Neil Booth <neil@daikokuya.co.uk>
3399 * config.in: Remove HAVE_LSTAT.
3400 * configure, configure.in: Don't test for lstat.
3402 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3404 * opts.c (decode_options): Do language-specific initialization for
3405 the global diagnostic context.
3406 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
3407 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
3408 (LANG_HOOKS_INITIALIZER): Adjust.
3409 * langhooks.h (struct lang_hooks): Add new field
3410 initialize_diagnostics.
3411 * langhooks.c (lhd_initialize_diagnostics): Define.
3413 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3415 * pretty-print.h: Adjust macro definitions.
3416 * pretty-print.c (pp_newline): Rename to pp_base_newline.
3417 (pp_character): Rename to pp_base_character.
3418 (pp_string): Rename to pp_base_string.
3419 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
3420 (pp_newline): Likewise. Adjust.
3421 (pp_c_char): Adjust.
3423 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3425 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
3426 BUILT_IN_LLABS): Move to miscellaneous section.
3428 2003-08-03 Neil Booth <neil@daikokuya.co.uk>