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