1 2003-08-22 Bernardo Innocenti <bernie@develer.com>
3 * config/m68k/m68k-protos.h: Convert to ISO C90.
4 * config/m68k/m68k.c: Likewise.
6 2003-08-21 Bernardo Innocenti <bernie@develer.com>
7 Paul Dale <pauli@snapgear.com>
8 Peter Barada <peter@baradas.org>
10 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
13 2003-08-21 Zack Weinberg <zack@codesourcery.com>
15 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
16 * config.gcc (*-*-openbsd): Don't set tm_file.
17 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
18 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
19 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
20 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
21 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
22 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
23 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
24 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
25 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
26 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
27 xscale-*-coff): Use explicit and complete lists of target headers
28 to include. Move definitions to tm_defines where appropriate.
29 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
30 not-yet-contributed configuration.
32 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
33 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
34 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
35 * config/i386/nto.h, config/iq2000/iq2000.h,
36 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
37 * config/m68k/linux.h, config/m68k/m68k-aout.h
38 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
39 * config/m68k/netbsd.h, config/m68k/openbsd.h
40 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
41 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
42 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
43 Remove includes of other target config headers, and
44 definitions of macros moved to tm_defines lists. Add #undefs
45 where now necessary to prevent redefinition warnings.
47 * config/h8300/coff.h: New file split out of...
48 * config/h8300/elf.h: ...here.
49 * config/m68k/hp320base.h: New file split out of...
50 * config/m68k/hp320.h: ...here.
51 * config/rs6000/lynxbase.h: New file split out of...
52 * config/rs6000/lynx.h: ...here.
54 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
55 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
57 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
58 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
59 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
60 Remove unnecessary #ifndef.
61 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
62 [under IN_LIBGCC2] with config/.
64 2003-08-21 Per Bothner <bothner@pbothner.com>
66 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
68 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
69 by return_at_eof check. Always call _cpp_pop_buffer at end.
71 2003-08-21 Kazu Hirata <kazu@cs.umass.edu>
74 * config/h8300/h8300.md (two anonymous patterns): Remove.
76 2003-08-21 Richard Sandiford <rsandifo@redhat.com>
78 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
79 * config/mips/mips.c (function_arg_pass_by_reference): Never return
82 2003-08-21 Josef Zlomek <zlomekj@suse.cz>
84 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
85 and similarly in (A | C) == D where C & ~D != 0.
87 2003-08-20 Geoffrey Keating <geoffk@apple.com>
90 * configure.in: When testing with_libs and with_headers, treat
91 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
92 * configure: Regenerate.
94 2003-08-20 Peter Barada <peter@baradas.org>
96 * longlong.h (umul_ppmm): Add ColdFire support.
98 2003-08-20 Peter Barada <peter@baradas.org>
99 Bernardo Innocenti <bernie@develer.com>
101 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
102 * config/m68k/m68k.h: Likewise.
103 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
104 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
105 * config/m68k/linux.h: Likewise.
106 * config/m68k/m68k.c: Likewise.
107 * config/m68k/m68k.md: Likewise.
108 * config/m68k/m68kelf.h: Likewise.
109 * config/m68k/netbsd-elf.h: Likewise.
110 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
112 2003-08-20 Bernardo Innocenti <bernie@develer.com>
114 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
115 * config/m68k/m68k.md: Likewise.
117 2003-08-20 Mark Mitchell <mark@codesourcery.com>
121 2003-08-19 Mark Mitchell <mark@codesourcery.com>
122 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
123 types with precisions other than those given by native machine
126 2003-08-20 Gunther Nikl <gni@gecko.de>
128 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
129 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
130 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
131 * config/m68k/m68k.md (anonymous define_insn): Likewise
132 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
133 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
134 code selected by NO_ASM_FMOVECR
136 2003-08-20 Gunther Nikl <gni@gecko.de>
138 * config/m68k/m68k.c (output_move_const_into_data_reg,
139 output_move_himode): unify MOTOROLA/MIT handling of moveq
140 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
143 2003-08-20 Gunther Nikl <gni@gecko.de>
145 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
147 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
148 HOST_WIDE_INT_PRINT_DEC with %wd
150 2003-08-20 Loren James Rittle <ljrittle@acm.org>
152 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
155 2003-08-20 Roger Sayle <roger@eyesopen.com>
158 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
159 operands before calling tree_int_cst_lt when performing associative
162 2003-08-20 Jason Merrill <jason@redhat.com>
164 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
165 (EXPR_CHECK): Don't check for 'r' or 's' if we're
166 checking IS_EXPR_CODE_CLASS.
167 * calls.c (calls_function_1): Likewise.
168 * fold-const.c (fold): Likewise.
169 * tree.c (iterative_hash_expr): Likewise.
170 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
172 2003-08-20 Gunther Nikl <gni@gecko.de>
174 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
175 depending on MOTOROLA_BSR
176 * config/m68k/m68k.md (anonymous define_insn): Likewise
178 2003-08-20 Jason Merrill <jason@redhat.com>
180 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
181 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
182 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
183 * dojump.c (do_jump): Likewise.
184 * fold-const.c (operand_equal_p, fold): Likewise.
185 (tree_expr_nonnegative_p): Likewise.
187 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
188 TYPE_USER_ALIGN for FIELD_DECLs.
190 * attribs.c (decl_attributes): Rebuild the function pointer type after
191 changing the target type.
192 * tree.c (get_qualified_type): Also check that the attributes match.
194 2003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
196 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
197 * objc/config-lang.in (stagestuff): ... to here.
199 2003-08-19 Mark Mitchell <mark@codesourcery.com>
202 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
203 NOP_EXPR) when necessary.
204 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
205 types with precisions other than those given by native machine
208 2003-08-19 Geoffrey Keating <geoffk@apple.com>
210 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
211 because some macro is defined.
213 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
215 * config/i386/darwin.h (ASM_SPEC): New.
216 (SUBTARGET_EXTRA_SPECS): New.
217 * config/rs6000/darwin.h (ASM_SPEC): New.
218 (SUBTARGET_EXTRA_SPECS): New.
219 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
220 a cross-compiler between two different processors on Darwin.
221 * configure: Regenerate.
223 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
225 * builtins.c: Fix comment typos.
226 * c-common.c: Likewise.
227 * c-decl.c: Likewise.
228 * c-pretty-print.c: Likewise.
229 * cfgbuild.c: Likewise.
230 * cfglayout.c: Likewise.
231 * cfgloopanal.c: Likewise.
232 * cgraphunit.c: Likewise.
233 * cppfiles.c: Likewise.
234 * dwarfout.c: Likewise.
236 * fold-const.c: Likewise.
238 * ggc-page.c: Likewise.
239 * haifa-sched.c: Likewise.
240 * pretty-print.c: Likewise.
243 * value-prof.c: Likewise.
245 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
247 * c-decl.c: Follow spelling conventions.
248 * cppfiles.c: Likewise.
250 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
252 * c-common.c: Fix comment formatting.
253 * c-common.h: Likewise.
254 * c-decl.c: Likewise.
255 * cppinit.c: Likewise.
256 * cpplib.h: Likewise.
257 * emit-rtl.c: Likewise.
259 * line-map.h: Likewise.
262 * simplify-rtx.c: Likewise.
264 2003-08-19 Daniel Jacobowitz <drow@mvista.com>
266 * unwind-c.c: Add libgcc-style exception.
267 * unwind-dw2.c: Likewise.
268 * unwind-pe.h: Likewise.
269 * unwind-sjlj.c: Likewise.
270 * unwind.inc: Likewise.
272 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
274 PR c/5582 PR c++/10538
275 * langhooks-def.h (lhd_decl_uninit): Declare.
276 (LANG_HOOKS_DECL_UNINIT): New macro.
277 (LANG_HOOKS_INITIALIZER): Adjust.
278 * langhooks.h (struct lang_hooks): Add new field
280 * langhooks.c (lhd_decl_uninit): Define.
281 * c-common.c (c_decl_uninit_1): New function.
282 (c_decl_uninit): New function.
283 (warn_init_self): Define.
284 * c-common.h (c_decl_uninit): Declare.
285 (warn_init_self): Declare.
286 * c.opt: Introduce -Winit-self.
287 * c-opts.c (c_common_handle_options): Set warn_init_self.
288 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
289 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
290 * function.c (uninitialized_vars_warning): Call the language hook.
291 * doc/invoke.texi: Document -Winit-self.
293 2003-08-19 Chris Demetriou <cgd@broadcom.com>
295 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
296 to use better predicates and constraints. Define new
297 instruction to handle "trap_if" with DI-mode arguments.
298 (conditional_trap): FAIL if trap code is not 0.
300 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
302 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
303 strstr with $pb to a strcompare with "<pic base>"
304 (ix86_output_addr_diff_elt): Output the real pic base.
306 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
308 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
309 (LANG_HOOKS_INITIALIZER): Correct.
310 * c-lang.c: Likewise.
312 2003-08-19 Jan Hubicka <jh@suse.cz>
314 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
315 (cgraph_varpool_mark_needed_node): Likewise.
316 * cgraph.h (notice_global_symbol): Declare
317 * varasm.c (notice_global_symbol): Break out from ...
318 (assemble_start_function): ... here; update for variables.
319 (assemble_variable): Use notice_global_symbol.
321 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
323 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
324 expect SFmode and DFmode arguments to be passed in FPRs,
325 regardless of the underlying type.
327 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
330 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
331 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
333 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
336 * c-typeck.c (set_init_index): Check for negative index.
338 2003-08-18 Bob Wilson <bob.wilson@acm.org>
340 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
342 * config/xtensa/crtn.asm (_init, _fini): Likewise.
343 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
344 __umodsi3, __modsi3): Likewise.
345 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
348 2003-08-18 Aldy Hernandez <aldyh@redhat.com>
350 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
352 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
354 * config/mips/mips.md: Quote C code in braces. Remove use of
355 fake const0_rtx operands. Remove double backslashes. Use \;.
356 Remove workarounds for bogus warnings.
358 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
360 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
361 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
362 rather than TARGET_MIPS4300.
363 (mulsf3_internal, mulsf3_r4300): Likewise.
365 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
367 * config/mips/mips.md: Renumber unspecs. Clean up comments.
369 2003-08-17 Roger Sayle <roger@eyesopen.com>
371 * simplify-rtx.c (associative_constant_p): New function to test
372 whether an RTX expression is an immediate constant.
373 (simplify_associative_operation): New function to perform some
374 reassociation optimizations of associative binary expressions.
375 (simplify_binary_operation): Use simplify_associative_operation
376 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
377 Floating point expressions are only reassociated when unsafe
378 math optimizations are permitted.
380 2003-08-17 Andreas Jaeger <aj@suse.de>
382 * config/alpha/alpha.md: Remove usage of PARAMS.
384 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
385 * config/i386/i386-interix.h: Likewise.
386 * config/i386/winnt.c: Likewise.
387 * config/i386/cygming.h: Likewise.
388 * config/i386/cygwin2.c: Likewise.
389 * config/darwin.c: Likewise.
390 * config/darwin-c.c: Likewise.
391 * config/darwin-protos.h: Likewise.
392 * config/darwin.h: Likewise.
393 * config/s390/s390-protos.h: Likewise.
394 * config/s390/s390.c: Likewise.
395 * config/ia64/ia64.c: Likewse
396 * config/ia64/ia64-protos.h: Likewise.
397 * config/ia64/ia64-c.c: Likewise.
399 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
401 * config/sparc/sparc.c: Convert to ISO C.
403 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
404 * config/sparc/sparc.c: Likewise.
406 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
409 * stmt.c (expand_expr_stmt_value): Don't warn about any void
412 2003-08-16 Jan Hubicka <jh@suse.cz>
414 * i386.c (ix86_fntype_regparm): Rename from ...
415 (ix86_function_regparm): ... this one; add fastcall and local
417 (ix86_function_ok_for_sibcall): Update.
418 (ix86_return_pops_args): Likewise.
419 (init_cumulative_args): Likewise.
420 (x86_can_output_mi_thunk): Likewise.
421 (function_arg): Fix formating.
422 (x86_this_parameter): Fix fastcall.
423 (x86_output_mi_thunk): Likewise.
425 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
426 body as reachable; mark nested functions as needed too.
427 (dump_cgraph): Do not output global.calls.
428 * cgraph.h (cgraph_global_info): Kill.
429 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
430 (record_call_1): Speedup.
431 (cgraph_analyze_function): Break out from ...; compute inlining
433 (cgraph_finalize_compilation_unit): ... here.
434 (cgraph_mark_inline): Kill computation of calls.
435 (cgraph_decide_inlining): Do not compute most of initial values.
437 2003-08-14 Roger Sayle <roger@eyesopen.com>
439 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
440 to negate if either operand is easy to negate, if we don't care
441 about sign-dependent rounding.
442 (negate_expr): Make the logic to negate a REAL_CST explicit.
443 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
444 that's easy to negate, if we don't honor sign-dependent rounding.
445 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
446 negate, and the symmetric A * -B as -A * B if A is easy to negate.
447 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
448 -C/D if B and C are cheap to negate. Add an explicit rule to
449 optimize X/-1.0 as -X when we don't care about signaling NaNs.
451 2003-08-14 Zack Weinberg <zack@codesourcery.com>
453 * Makefile.in (tm_file): Rename tm_include_list.
454 (tm_p_file): Rename tm_p_include_list.
455 (build_xm_file): Rename build_xm_include_list.
456 (host_xm_file): Rename host_xm_include_list.
457 (xm_file): Rename xm_include_list.
458 (xm_file_list): Add to be substituted.
459 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
461 (bt-load.o): Add missing dependency on $(TM_H).
462 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
463 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
464 build_xm_file, generate both *_file_list and *_include_list
465 values from it. (xm_file_list was formerly not being generated.)
466 In *_include_list, prefix the names of all headers found in
467 $(srcdir)/config with config/. In each loop, consider only
468 the special case files that can actually appear in that list.
469 AC_SUBST all *_file_list and all *_include_list variables; do
470 not AC_SUBST the plain *_file variables.
471 * configure: Regenerate.
473 2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
475 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
477 2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
479 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
481 (attr_length_call): Include it here. Improve length estimate for
483 (output_call): Use targetm.binds_local_p.
485 2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
487 * builtins.c (CASE_MATHFN): New helper macro.
488 (mathfn_built_in): Simplify and sort.
490 * protoize.c (substr): Delete, callers changed to `strstr'.
492 2003-08-13 Zack Weinberg <zack@codesourcery.com>
494 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
495 * config/iq2000/xm-iq2000.h: Delete file.
497 2003-08-13 Geoffrey Keating <geoffk@apple.com>
499 * gengtype.c (walk_type): Process a subobject before processing
500 the pointer that points to the subobject.
502 2003-08-13 Per Bothner <pbothner@apple.com>
504 * regclass.c (init_reg_modes): Make non-static.
505 Rename to init_reg_modes_once per new naming convention.
506 (init_regs): Don't call init_reg_modes here.
507 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
508 * rtl.h (init_reg_modes_once): New declaration.
509 * toplev.c (backend_init): Call init_regs after init_emit_once.
511 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
513 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
514 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
516 2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
518 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
519 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
521 2003-08-13 Dale Johannesen <dalej@apple.com>
523 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
524 handling of decrement-and-branch farther than 32 bits.
526 2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
528 * configure.in (make_compare_target): Move test to ...
529 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
530 * configure: Regenerate.
532 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
534 * config/mips/iris6.h: Convert to C90 prototypes.
535 * config/mips/irix6-libc-compat.c: Likewise.
536 * config/mips/mips-protos.h: Likewise.
537 * config/mips/mips.c: Likewise.
539 2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
541 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
542 for selected machines. Comment heavily.
543 fixinc/fixincl.x: Rebuild.
544 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
546 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
548 * config/mips/mips.h: Tweak various comments.
549 * config/mips/mips.c: Likewise.
551 2003-08-11 James E Wilson <wilson@tuliptree.org>
553 PR optimization/11319
555 * alias.c (find_base_value, case REG): Return 0 not src if no base
558 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
560 * gcse.c (gmalloc): Fix last change.
562 2003-08-11 Roger Sayle <roger@eyesopen.com>
564 * simplify-rtx.c (simplify_binary_operation): Replace calls to
565 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
566 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
567 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
569 2003-08-11 Roger Sayle <roger@eyesopen.com>
571 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
572 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
573 typecode for an ABS_EXPR.
575 * doc/c-tree.texi: Document ABS_EXPR.
577 2003-08-11 Roger Sayle <roger@eyesopen.com>
579 * fold-const.c (fold): Optimize any associative floating point
580 operator with -funsafe-math-optimizations, not just MULT_EXPR.
582 2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
584 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
585 information in SHmedia case too.
586 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
588 (__set_fpscr): Use an access via GOT for PIC case.
590 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
592 * configure.in (intermodule): Make switch test more portable.
593 * configure: Regenerate.
595 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
597 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
600 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
602 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
603 (grealloc): Size argument is a size_t.
604 (gcalloc): New function. Use throughout in lieu of
607 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
609 * config/ia64/ia64.c (ia64_reorg): Likewise.
610 * conflict.c (conflict_graph_new): Likewise.
611 * fixinc/fixincl.c (run_compiles): Likewise.
612 * genattrtab.c (optimize_attrs): Likewise.
613 * genrecog.c (new_decision): Likewise.
614 * haifa-sched.c (schedule_block): Likewise.
615 * hashtable.c (ht_create): Likewise.
617 2003-08-11 Bob Wilson <bob.wilson@acm.org>
619 * config/xtensa/lib2funcs.S: Fix whitespace.
620 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
621 syntax where appropriate. Remove unnecessary backslash escapes.
622 Reformat comments and fix some code formatting.
623 (extendqisi2): Rearrange conditional.
624 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
625 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
628 2003-08-11 Richard Sandiford <rsandifo@redhat.com>
630 * config/mips/mips.c: Various formatting fixes.
631 (override_options): Resync -mtune handling with gas.
632 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
633 * config/mips/mips.h: More formatting fixes.
634 (mips_abi): Move declaration.
635 * config/mips/mips.md (exception_receiver): Add mode to
638 2003-08-11 Aldy Hernandez <aldyh@redhat.com>
640 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
642 (bdesc_1arg): Remove evsplati and evsplatfi.
644 2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
646 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
649 2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
651 * builtins.c (expand_builtin_strcat): Optimize constant strings.
653 2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
655 * pretty-print.c (pp_base_indent): Rename from pp_indent.
656 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
657 (struct c_pretty_print_info): Add more fields.
658 (pp_c_left_paren): Move to c-pretty-print.c.
659 (pp_c_right_paren): Likewise.
660 (pp_c_left_brace): Likewise.
661 (pp_c_right_brace): Likewise.
662 (pp_c_left_bracket): Likewise.
663 (pp_c_right_bracket): Likewise.
664 (pp_c_declarator): Declare.
665 (pp_c_direct_declarator): Likewise.
666 (pp_c_specifier_qualifier_list): Likewise.
667 (pp_c_type_id): Likewise.
668 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
669 (pp_c_type_qualifier_list): New.
670 (pp_c_pointer): Likewise.
671 (pp_c_parameter_type_list): Likewise.
672 (pp_c_function_definition): Likewise.
673 (pp_c_id_expression): Likewise.
674 (pp_c_simple_type_specifier): Tidy.
675 (pp_c_unary_expression): Likewise.
676 (pp_c_expression): Likewise.
677 (pp_c_pretty_printer_init): Likewise.
678 (pp_c_specifier_qualifier_list): Rework..
679 (pp_c_abstract_declarator): Likewise.
680 (pp_c_postfix_expression): Likewise.
681 (pp_c_primary_expression): Likewise.
682 (pp_c_cast_expression): Likewise.
683 (pp_c_direct_abstract_declarator): Likewise.
684 (pp_c_storage_class_specifier): Likewise.
685 (pp_c_function_specifier): Likewise.
686 (pp_c_declaration_specifiers): Likewise.
687 (pp_c_direct_declarator): Likewise.
688 (pp_c_declarator): Likewise.
689 (pp_c_declaration): Likewise.
690 (pp_c_statement): Likewise.
691 (pp_c_integer_constant): Rename from pp_c_integer_literal.
692 (pp_c_character_constant): Rename from pp_c_character_literal.
693 (pp_c_bool_constant): Rename from pp_c_bool_literal.
694 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
695 (pp_c_floating_constant): Rename from pp_c_real_literal.
696 (pp_c_constant): Rename from pp_c_literal.
697 * c-lang.c: Include diagnostic.h and c-pretty-print.h
698 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
699 (c_initialize_diagnostics): New.
700 * Makefile.in (c-lang.o): Update dependency.
702 2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
704 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
706 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
708 * config/mips/mips.c (mips_no_mips16_string): Remove.
709 (override_options): Don't handle -mips16 as part of -mipsN.
710 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
711 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
712 (TARGET_OPTIONS): Remove -mno-mips16.
714 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
716 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
717 (coprocessor2_operand): Likewise.
718 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
719 (lookup_name): Remove declaration.
720 (abort_with_insn): Remove. Replace all uses with fatal_insn.
721 (mips16, mips_abicalls): Remove.
722 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
723 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
724 (coprocessor_operand, coprocessor2_operand): Remove.
725 (override_options): Don't set mips16 or mips_abicalls.
726 (print_operand): Don't expect SIGN_EXTEND operands.
727 (mips_secondary_reload_class): Likewise.
728 (mips_output_conditional_branch): Remove disabled long-branch code.
729 * config/mips/mips.h (call_used_regs): Remove declaration.
730 (may_call_alloca): Likewise.
731 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
732 (mips_abicalls, mips16): Remove declarations.
733 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
734 (CC1_SPEC): Remove outdated comment.
735 (MIPS_VERSION, MACHINE_TYPE): Remove.
736 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
737 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
738 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
739 (PUSH_ROUNDING): Likewise.
740 (ASSEMBLER_SCRATCH_REGNUM): Remove.
741 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
742 and mips16 with TARGET_MIPS16.
744 2003-08-09 Per Bothner <pbothner@apple.com>
746 * cppinit.c (cpp_read_main_file): Split out source-independent
747 initialization to separate function ...
748 (cpp_post_options): New function.
749 * cppfiles.c (cpp_stack_file): Rename public name to ...
750 (_cpp_stack_file): New internal function name.
751 * cpplib.h: Update accordingly.
752 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
753 (cpp_read_main_file): Don't initialize line here.
754 * c-opts.c (c_common_post_options): Call cpp_post_options.
755 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
756 * fix-header.c (read_scan_file): Call cpp_post_options.
758 2003-08-09 Per Bothner <per@bothner.com>
760 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
762 2003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
764 * pa.c (pa_asm_output_mi_thunk): Fix typo.
766 2003-08-09 Neil Booth <neil@daikokuya.co.uk>
768 PR preprocessor/11839
769 * cppfiles.c (open_file): Handle ENOTDIR.
771 2003-08-09 Richard Sandiford <rsandifo@redhat.com>
774 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
776 2003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
778 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
779 source/destination is not a register operand.
781 2003-08-08 Richard Henderson <rth@redhat.com>
784 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
785 RETURN_ADDRESS_POINTER_REGNUM.
786 (ia64_expand_prologue): Don't frob it.
787 (ia64_output_function_epilogue): Likewise.
788 (ia64_return_addr_rtx): New.
789 (ia64_split_return_addr_rtx): New.
790 * config/ia64/ia64-protos.h: Update.
791 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
792 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
793 (GENERAL_REGNO_P): Don't check it.
794 (AR_*_REGNUM): Renumber.
795 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
796 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
797 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
798 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
799 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
800 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
801 (movdi_ret_addr): New.
803 2003-08-08 Geoffrey Keating <geoffk@apple.com>
805 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
807 2003-08-08 Roger Sayle <roger@eyesopen.com>
809 * tree.h (get_identifier) Define a macro form of get_identifier
810 that calls get_identifier_with_length when the string is constant.
811 (get_identifier_with_length): Change type of second argument to
813 * stringpool.c (get_identifier): Undefine the macro before giving
814 the function definition.
815 (get_identifier_with_length): Change type of second argument to
816 size_t in function definition.
817 * hashtable.c (calc_hash): Change type of second argument to size_t.
818 (ht_lookup): Change type of third argument to size_t. Reorganize
819 to speed-up the cases where the hash table slot is empty, or the
820 first probe matches (i.e. there isn't a collision).
821 * hashtable.h (ht_lookup): Adjust function prototype.
823 2003-08-08 Bernardo Innocenti <bernie@develer.com>
827 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
829 2003-08-08 Neil Booth <neil@daikokuya.co.uk>
831 * common.opt: Add debug switches.
832 * flags.h (use_gnu_debug_info_extensions): Boolify.
833 * opts.c (write_symbols, debug_info_level,
834 use_gnu_debug_info_extensions): Move from toplev.c.
835 (set_debug_level): New.
836 (common_handle_options): Handle debug switches.
837 (print_help): Display target options directly.
838 * toplev.c (debug_hooks): Don't initialize.
839 (write_symbols, debug_info_level,
840 use_gnu_debug_info_extensions): Move to opts.c.
841 (debug_args, display_help, decode_g_option): Remove.
842 (process_options): Set no debug if level zero here,
843 and no-debug-hooks. Error here if impossible debug format selected.
844 * toplev.h (display_help, decode_g_option): Remove.
846 2003-08-08 Richard Sandiford <rsandifo@redhat.com>
848 * tree.c (get_file_function_name_long): Fix size of alloca() area.
850 2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
852 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
853 and gcc_cv_prog_cmp_skip.
854 * configure: Regenerate.
856 2003-08-08 Stan Cox <scox@redhat.com>
858 * config/iq2000: New port.
859 * config.gcc (iq2000-*-elf): Added.
860 * doc/install.texi (Specific): Add iq2000 description.
862 2003-08-08 Andreas Schwab <schwab@suse.de>
864 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
865 and insert missing empty argument.
866 * configure: Regenerate.
868 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
870 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
871 (attr_length_millicode_call): Likewise.
872 (attr_length_call): Likewise. Revise some maximum insn lengths.
873 (attr_length_indirect_call): Likewise.
874 (output_call): Fix thinko that added extra nop.
875 * pa.h (IN_NAMED_SECTION_P): Define.
878 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
879 __STDC_EXT__ when using C++ dialect.
881 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
883 * sh.c (calc_live_regs): If the return address pointer is live,
885 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
886 for saves / restores.
887 (sh_expand_epilogue): If sh_media_register_for_return returns a
888 register number, flag the instructions that restores PR_MEDIA_REG
890 Remove dead update of offset.
891 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
892 we can use the result of get_hard_reg_initial_val.
893 * sh.md (UNSPEC_RA): New constant.
894 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
895 (load_ra). Handle UNSPEC_RA.
896 (sibcall_media): Use PR_MEDIA_REG.
898 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
899 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
900 needs saving on SHmedia.
902 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
904 * config/s390/s390.md: Replace all occurrences of \\t with \t.
906 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
908 * local-alloc.c (combine_regs): Fix comment typo.
910 2003-08-06 Zack Weinberg <zack@codesourcery.com>
912 * c-decl.c (builtin_decls): Replace with first_builtin_decl
913 and last_builtin_decl.
914 (c_init_decl_processing): Initialize both.
915 (c_reset_state): Iterate from first_builtin_decl to
916 last_builtin_decl inclusive to reintroduce builtins.
918 2003-08-06 David Mosberger <davidm@hpl.hp.com>
920 * doc/extend.texi (Function Attributes): Document the IA-64 version
921 of the "model" attribute.
923 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
924 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
925 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
927 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
928 (ia64_encode_section_info): Likewise.
929 (ia64_attribute_table): Add "model" attribute.
930 (TARGET_ENCODE_SECTION_INFO): Define.
931 (small_addr_symbolic_operand): New function.
932 (got_symbolic_operand): Return 0 for a symbolref to an object
933 in the small address area.
934 (enum ia64_addr_area): New type.
935 (small_ident1): New variable.
936 (small_ident2): Likewise.
937 (init_idents): New function.
938 (ia64_get_addr_area): Likewise.
939 (ia64_encode_addr_area): Likewise.
940 (ia64_encode_section_info): Likewise.
941 (ia64_expand_load_address): For symbolic references to objects in
942 the small-address-area, load the address via gen_rtx_SET() (which,
943 eventually, will expand into "addl").
945 2003-08-06 Per Bothner <pbothner@apple.com>
947 * line-map.h (fileline): New typedef.
948 (struct line_map, linemap_add, linemap_lookup): Use it.
949 * input.h (struct location_s): Comment notes that long-term we want
950 to replace it by fileline.
952 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
954 Fix SHcompact exception handling:
955 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
956 by the prologue, return a MEM with return_address_pointer_rtx
958 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
959 (RETURN_ADDR_OFFSET): Don't define.
960 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
961 registers that are visible in compact mode. Show that SHmedia
962 registers still exist in compact mode, even if there are not
964 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
965 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
966 and DW_EH_PE_pcrel for pic data.
967 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
968 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
969 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
970 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
971 * sh.md (movsi_media-1): New splitter.
973 2003-08-06 Graeme Peterson <gp@qnx.com>
975 * config/i386/nto.h: New.
976 * config/i386/t-nto: New.
977 * config.gcc (i[34567]86-*-nto-qnx*): New.
979 2003-08-06 Phil Edwards <pme@gcc.gnu.org>
981 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
983 2003-08-06 Alan Modra <amodra@bigpond.net.au>
985 * calls.c (load_register_parameters): Arrange for call_fusage to
986 report the whole register as used when shifting to the msb.
988 2003-08-05 Roger Sayle <roger@eyesopen.com>
990 * builtins.c (expand_builtin): When not optimizing, call the library
991 function for all builtins that have library functions (except alloca).
993 2003-08-05 Alexandre Oliva <aoliva@redhat.com>
995 * c.opt: Introduce -fworking-directory.
996 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
997 * c-common.h (flag_working_directory): Declare.
998 * c-common.c (flag_working_directory): Define.
999 * c-opts.c (c_common_handle_options): Set it.
1000 (sanitize_cpp_opts): Set...
1001 * cpplib.h (struct cpp_options): ... working_directory option.
1002 (struct cpp_callbacks): Add dir_change.
1003 * cppinit.c (read_original_filename): Call...
1004 (read_original_directory): New. Look for # 1 "directory//"
1006 (cpp_read_main_file): Call dir_change callback if working_directory
1008 * gcc.c (cpp_unique_options): Pass -g*.
1009 * c-lex.c (cb_dir_change): New.
1010 (init_c_lex): Set dir_change callback.
1011 * toplev.c (src_pwd): New static variable.
1012 (set_src_pwd, get_src_pwd): New functions.
1013 * toplev.h (get_src_pwd, set_src_pwd): Declare.
1014 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
1015 * dwarf2out.c (gen_compile_unit_die): Likewise.
1016 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
1018 2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1020 * pretty-print.h (pp_set_line_maximum_length): Make macro.
1021 (pp_set_prefix): Likewise.
1022 (pp_destroy_prefix): Likewise.
1023 (pp_remaining_character_count_for_line): Likewise.
1024 (pp_clear_output_area): Likewise.
1025 (pp_formatted_text): Likewise.
1026 (pp_last_position_in_text): Likewise.
1027 (pp_emit_prefix): Likewise.
1028 (pp_append_text): Likewise.
1029 (pp_flush): Likewise.
1030 (pp_format_text): Likewise.
1031 (pp_format_verbatim): Likewise.
1032 (pp_tree_identifier): Tidy.
1033 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
1034 (pp_base_format_verbatim): Rename from pp_format_verbatim.
1035 (pp_base_flush): Rename from pp_flush.
1036 (pp_base_set_line_maximum_length): Rename from
1037 pp_set_line_maximum_length.
1038 (pp_base_clear_output_area): Rename from pp_clear_output_area.
1039 (pp_base_set_prefix): Rename from pp_set_prefix.
1040 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
1041 (pp_base_emit_prefix): Rename from pp_emit_prefix.
1042 (pp_base_append_text): Rename from pp_append_text.
1043 (pp_base_formatted_text): Rename from pp_formatted_text.
1044 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
1045 (pp_base_remaining_character_count_for_line): Rename from
1046 pp_remaining_character_count_for_line.
1047 * diagnostic.h (diagnostic_format_decoder): Tidy.
1048 (diagnostic_flush_buffer): Likewise.
1049 * c-pretty-print.h: (pp_c_string_literal): Declare.
1050 (pp_c_real_literal): Likewise.
1051 (pp_c_integer_literal): Likewise.
1052 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
1054 (pp_c_character_literal): Tidy.
1055 (pp_c_string_literal): Make public.
1056 (pp_c_bool_literal): Likewise.
1057 (pp_c_integer_literal): Likewise.
1058 (pp_c_real_literal): Likewise.
1060 * Makefile.in (C_PRETTY_PRINT_H): New variable.
1061 (c-pretty-print.o): Update dependence.
1063 2003-08-05 Chris Demetriou <cgd@broadcom.com>
1065 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
1066 ".set nomacro" state.
1067 (fix_truncsfsi2_macro): Likewise.
1069 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
1071 * tree.h (DID_INLINE_FUNC): Remove macro.
1072 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
1073 add tree check for FUNCTION_DECL.
1074 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
1075 (struct tree_decl): Rename inlined_function_flag to
1076 declared_inline_flag.
1077 * c-common.h (c_lang_decl): Remove.
1078 (DECL_ESTIMATED_INSNS): Remove.
1079 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
1080 (DECL_DECLARED_INLINE_P): Remove.
1081 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
1082 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
1083 (finish_function): Make uninlinable a bool. Fixup call to
1084 tree_inlinable_function_p() and fix some code style issues.
1085 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
1086 * cgraph.c (dump_cgraph): Likewise.
1087 * cgraphunit.c (cgraph_decide_inlining): Likewise
1088 (cgraph_finalize_compilation_unit): Likewise.
1089 Also update call to tree_inlinable_function_p().
1090 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
1091 look at DECL_DECLARED_INLINE and reverse logic.
1092 * print-tree.c (print_node): Likewise.
1093 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
1094 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
1096 * tree-inline.c (inlinable_function_p): Split up in this function to
1097 check for basic inlining inhibiting conditions, and new
1098 limits_allow_inlining() function. Warn if inlining is impossible
1099 because the inline candidate calls alloca or uses sjlj exceptions.
1100 (limits_allow_inlining): this new function to check if the inlining
1101 limits are satisfied. Throttle from currfn_max_inline_insns, not from
1102 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
1103 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
1105 (tree_inlinable_function_p): Make a bool. Update call to
1106 inlinable_function_p
1107 (expand_call_inline): Use limits_allow_inlining() when not in
1108 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
1109 instead see if the function was declared `inline'.
1111 2003-08-05 Josef Zlomek <zlomekj@suse.cz>
1113 * gcse.c (try_replace_reg): Fix updating of note.
1115 2003-08-04 Roger Sayle <roger@eyesopen.com>
1118 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
1119 logic in negate_expr, i.e. we don't invert (A-B) for floating
1120 point types unless flag_unsafe_math_optimizations.
1122 2003-08-04 Roger Sayle <roger@eyesopen.com>
1124 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
1125 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
1126 for floating point expressions with -ffast-math.
1127 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
1128 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
1130 2003-08-04 Roger Sayle <roger@eyesopen.com>
1132 * c-common.c (flag_noniso_default_format_attributes): Delete.
1133 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
1134 (c_attrs_initialized): Delete.
1135 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
1136 always call c_init_attributes.
1137 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
1138 set c_attrs_initialized when done.
1139 (c_common_insert_default_attributes): Delete.
1140 * c-common.h (flag_noniso_default_format_attributes): Delete.
1141 (c_coomon_insert_default_attributes): Delete prototype.
1142 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
1143 flag_noniso_default_format_attributes.
1145 * c-decl.c (c_insert_default_attributes): Delete.
1146 * c-tree.h (c_insert_default_attributes): Delete prototype.
1148 * attribs.c (decl_attributes): Don't call insert_default_attributes
1149 langhook. Update function description comment.
1150 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
1151 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
1152 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
1153 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
1155 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
1158 2003-08-04 Richard Sandiford <rsandif@redhat.com>
1160 * config/mips/mips.c (override_options): Disable -G on targets that
1161 have no .section support.
1162 (mips_select_section): Use default_select_section for such targets.
1164 2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
1166 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
1167 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
1168 * fixinc/fixincl.x: Rebuild.
1169 * fixinc/tests/base/regexp.h: New test.
1171 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
1173 * c-ppoutput.c (cb_line_change): Don't skip line changing while
1174 parsing macro arguments in the top-level context.
1176 2003-08-04 Neil Booth <neil@daikokuya.co.uk>
1178 * config.in: Remove HAVE_LSTAT.
1179 * configure, configure.in: Don't test for lstat.
1181 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1183 * opts.c (decode_options): Do language-specific initialization for
1184 the global diagnostic context.
1185 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
1186 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
1187 (LANG_HOOKS_INITIALIZER): Adjust.
1188 * langhooks.h (struct lang_hooks): Add new field
1189 initialize_diagnostics.
1190 * langhooks.c (lhd_initialize_diagnostics): Define.
1192 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1194 * pretty-print.h: Adjust macro definitions.
1195 * pretty-print.c (pp_newline): Rename to pp_base_newline.
1196 (pp_character): Rename to pp_base_character.
1197 (pp_string): Rename to pp_base_string.
1198 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
1199 (pp_newline): Likewise. Adjust.
1200 (pp_c_char): Adjust.
1202 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1204 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
1205 BUILT_IN_LLABS): Move to miscellaneous section.
1207 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
1209 PR preprocessor/11534
1210 * cppexp.c (parse_defined): Warn only if -pedantic.
1212 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
1214 * cppfiles.c (stack_file): Use file path.
1216 2003-08-02 Roger Sayle <roger@eyesopen.com>
1218 * builtin-types.def (BT_SSIZE): New primitive type.
1219 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
1220 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
1221 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
1222 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
1223 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
1224 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
1225 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
1226 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
1227 few functions that define default attributes using it.
1228 * c-common.c (c_common_insert_default_attributes): Do nothing.
1230 * doc/extend.texi: Document these "new" builtins.
1232 2003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
1234 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
1235 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
1236 when -mieee-fp set and -shared not set.
1237 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
1239 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
1241 * cppfiles.c (struct _cpp_file): Rename once_only_next to
1242 next_file. Remove import and pragma_once, add once_only.
1243 (find_file): Add new file structures to the all_files list.
1244 (should_stack_file): Mark #import-ed files once-only, and
1245 don't stack them if the file has already been stacked.
1246 (_cp_mark_file_once_only): Simplify.
1247 * cpphash.h (struct cpp_reader): Rename once_only_files
1248 to all_files. Rename saw_pragma_once to seen_once_only.
1249 (_cpp_mark_file_once_only): Update prototype.
1250 * cpplib.c (do_pragma_once): Update.
1252 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
1254 * cppfiles.c (ENOTDIR): Remove.
1255 (open_file_in_dir): Rename find_file_in_dir. Handle errors
1256 other than ENOENT here.
1257 (once_only_file_p): Rename should_stack_file.
1258 (find_file, open_file_failed, read_file_guts): Report errors
1259 with full path name.
1260 (read_file): Move pch handling to should_stack_file.
1261 (should_stack_file): Handle PCH and once-only issues, and
1263 (stack_file): Don't do file reads.
1265 2003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1267 * libgcov.c (gcov_exit): Cleanup and fix.
1268 * profile.c (compute_value_histograms): Don't try to read profiles
1269 that are not present.
1271 2003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1273 * builtins.def: Categorize.
1275 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
1277 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
1279 2003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
1281 * config.gcc: Enable posix threads by default on darwin.
1283 2003-08-01 Jakub Jelinek <jakub@redhat.com>
1285 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
1286 even if nehedges1 is 0.
1288 2003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
1290 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
1291 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
1292 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
1295 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
1296 * fixinc/fixincl.x: Regenerate.
1297 * fixinc/tests/base/math.h: Regenerate to match test_text change.
1299 2003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1301 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
1303 2003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1305 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
1306 for accesses to exc_ptr.
1308 2003-08-01 Geoffrey Keating <geoffk@apple.com>
1310 * doc/sourcebuild.texi (Front End Directory): Don't make references
1311 to libsubdir, it's not part of the interface to frontends.
1312 * doc/install.texi (Configuration): Help users read faster by saying
1313 that GCC's configure options are the standard autoconf ones.
1314 Mention --libdir. Update the default rules for finding the
1315 assembler. Don't use libsubdir since we haven't said what it means.
1316 (Specific): In the Solaris 7 notes, update the place to put the
1318 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
1319 * doc/cpp.texi (Search Path): Actually, the search path
1320 depends on libdir, which can relocate with cpp.
1321 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
1322 now a private interface between the Makefile and the driver.
1324 2003-08-01 Richard Henderson <rth@redhat.com>
1326 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
1328 * varasm.c (lookup_constant_def): New function.
1329 * rtl.h (lookup_constant_def): Declare it.
1330 * dwarf2out.c (loc_descriptor_from_tree): Use it.
1331 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
1333 2003-08-01 Zack Weinberg <zack@codesourcery.com>
1335 * c-decl.c (gettags, pushdecl_function_level): Delete.
1336 (last_function_parm_vars): Rename last_function_parm_others.
1337 (current_function_parm_vars): Rename current_function_parm_others.
1338 (struct c_scope): Rewrite comment explaining this data structure.
1339 Add names_last, blocks_last, parms_last fields. Rename
1340 incomplete_list to incomplete.
1341 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
1342 (poplevel): Ignore second argument. No need to nreverse
1343 anything. Restructure such that each list is processed
1344 exactly once. Use 'const location_t *locus' syntactic sugar
1345 variable where useful. Issue unused variable warnings
1346 ourselves, do not rely on function.c.
1347 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
1348 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
1349 (implicitly_declare): decl cannot be error_mark_node.
1350 (undeclared_variable): Manipulate scope structure directly.
1351 (c_make_fname_decl): Likewise.
1352 (getdecls, c_init_decl_processing): Fix comment.
1353 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
1354 for 'last' variable.
1355 (grokparms): No need to nreverse parms list.
1356 (store_parm_decls_newstyle): Set up the parms_last and
1357 names_last fields of the new scope too.
1358 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
1359 on parms to begin with; check this under ENABLE_CHECKING. Set
1361 (check_for_loop_decls): Refer directly to current_scope->tags.
1362 Use consistent quote style in diagnostics.
1363 (c_write_global_declarations): The names list is not backward.
1365 * c-common.h: Don't prototype gettags.
1366 * c-parse.in: Call poplevel with second argument 0 always.
1368 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1370 * builtins.def: Resort builtins.
1372 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1374 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
1375 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
1376 Prepend "__builtin_" onto NAME with string concatenation. Remove
1377 explicit "__builtin_" from each macro call.
1379 Reformat entire file.
1381 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1383 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
1384 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
1386 2003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
1388 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
1389 CCL1, or CCL2 modes with floating point operations.
1391 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
1392 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
1393 "*subdf3_cconly"): New insns.
1394 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
1396 2003-08-01 Neil Booth <neil@daikokuya.co.uk>
1398 * Makefile.in: Refine dependencies.
1399 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
1400 * c.opt: Update help for -Wimport.
1401 * cppfiles.c: Include hashtab.h. Update comments.
1402 (stack_file): Read the file before updating dependencies.
1403 (once_only_file_p): Be smarter about marking once-only files.
1404 (_cpp_mark_file_once_only): Correct the check for existence on
1406 (open_file_failed): Use name not path, which is NULL.
1407 * cpphash.h: Don't include hashtab.h.
1408 (struct _cpp_file): Remove.
1409 (struct cpp_reader): Update.
1410 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
1411 * cpplib.h (struct cpp_options): Remove warn_import.
1412 (cpp_simplify_path): Remove.
1414 2003-08-01 Nathan Sidwell <nathan@codesourcery.com>
1417 * doc/extend.texi (Statement Expressions): Document C++ semantics.
1419 2003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
1421 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
1423 2003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1425 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
1427 * builtins.def: Likewise.
1429 2003-07-31 Jason Merrill <jason@redhat.com>
1431 * Makefile.in (bubblestrap): Don't require a previous full
1434 * expr.c (mostly_zeros_p): No longer static.
1435 * tree.h: Declare it.
1436 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
1437 unless we need to do substitutions.
1439 2003-07-31 Roger Sayle <roger@eyesopen.com>
1441 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
1442 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
1443 as pow(x,2.0) when the latter will be expanded back into x*x.
1444 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
1445 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
1446 pow can never set errno when used with an integer exponent.
1447 Always use expand_powi when exponent is -1, 0, 1 or 2.
1448 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
1449 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
1450 the pow forms of these expressions.
1452 2003-07-31 Geoffrey Keating <geoffk@apple.com>
1454 * Makefile.in (libexecdir): New.
1455 (libsubdir): Use gcc instead of gcc-lib.
1456 (libexecsubdir): New.
1457 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
1458 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
1460 (installdirs): Make libexecsubdir.
1461 (install-common): Put executables in libexecsubdir.
1462 (itoolsdir): Use libexecsubdir.
1463 (itoolsdatadir): New.
1464 (install-mkheaders): Separate data files and executables.
1465 (install-collect2): Put executables in libexecsubdir.
1466 (uninstall): Remove libexecsubdir.
1467 * mkheaders.in: Update for new arrangement of files.
1469 (libexecsubdir): New.
1470 (itoolsdir): Use libexecsubdir.
1471 (itoolsdatadir): New.
1472 * gcc.c (gcc_libexec_prefix): New.
1473 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
1474 (standard_exec_prefix_1): Use libexec.
1475 (standard_exec_prefix_2): New.
1476 (standard_libexec_prefix): New.
1477 (process_command): Update for new arrangement of files. Compute
1478 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
1480 2003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
1482 * inclhack.def (stdio_va_list): Avoid bogus replacement which
1483 triggers on Interix.
1484 * fixincl.x: Regenerate.
1486 2003-07-31 Jakub Jelinek <jakub@redhat.com>
1488 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
1489 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
1491 2003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1493 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
1495 2003-07-31 Per Bothner <pbothner@apple.com>
1497 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
1498 (add_input_filename): New function.
1499 (handle_options): Call add_input_filename directly instead of
1501 * opts.h (in_fnames, num_in_fnames): Moved here.
1502 (add_input_filename): Declare.
1503 * c-decl.c: Need to #include opts.h.
1504 * Makefile.in (c-decl.o): Also depends on opts.h.
1505 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
1506 (c_common_handle_filename): Replaced by add_input_filename.
1507 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
1509 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
1510 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
1511 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
1512 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
1514 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1516 * combine.c (try_combine): Set JUMP_LABEL for newly created
1519 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1521 * fold-const.c (fold): Fold some comparisons of bit operations.
1523 Thu Jul 31 19:49:53 CEST 2003 Jan Hubicka <jh@suse.cz>
1525 * cgraph.c (create_edge): Fix typo.
1526 * i386.c (pic_symbolic_operand): Reorder tests.
1528 2003-07-31 Nathan Sidwell <nathan@codesourcery.com>
1530 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
1532 (Gcov Data Files): Update.
1534 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1536 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
1539 * gthr-posix.c: New file.
1540 * gthr-posix.h: Define _REENTRANT if missing.
1541 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
1543 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
1545 * config/alpha/t-osf-pthread: New file.
1547 * fixinc/inclhack.def (alpha_pthread): New fix.
1548 * fixinc/fixincl.x: Regenerate.
1549 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
1551 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
1553 Fixes PR bootstrap/9330.
1555 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1557 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
1560 * configure: Regenerate.
1562 2003-07-31 Vladimir Makarov <vmakarov@redhat.com>
1564 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
1567 2003-07-30 Roger Sayle <roger@eyesopen.com>
1569 * builtins.def: Alphabetize.
1571 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
1573 * doc/c-tree.texi: Normalize spellings of "lowercase" and
1575 * doc/cpp.texi: Likewise.
1576 * doc/md.texi: Likewise.
1577 * doc/rtl.texi: Likewise.
1578 * doc/tm.texi: Likewise.
1580 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
1582 * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
1583 (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
1586 2003-07-30 Chris Demetriou <cgd@broadcom.com>
1588 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
1589 macros before defining them.
1591 2003-07-31 Ulrich Weigand <uweigand@de.ibm.com>
1593 * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
1594 UNSPECV_BLOCKAGE): New constants.
1595 ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
1596 "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
1597 splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
1598 "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
1600 (all insns and expanders): Write output control string as brace block
1601 where appropriate. Remove \-escapes for doublequote characters.
1603 Thu Jul 31 01:04:19 CEST 2003 Jan Hubicka <jh@suse.cz>
1605 * gcse.c (insert_store): Fix typo in previous patch.
1607 2003-07-30 Neil Booth <neil@daikokuya.co.uk>
1609 * cppfiles.c (stack_file, open_file_failed): Use path for deps.
1611 2003-07-30 Andi Kleen <ak@muc.de>
1613 * loop.c (check_dbra_loop): Allow LTU in the loop condition.
1615 2003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1617 * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
1618 * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
1619 GCOV_N_VALUE_COUNTERS): New.
1620 * profile.c (compute_value_histograms): New static function.
1621 (branch_prob): Read back the value histograms.
1622 * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
1623 * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
1624 * value-prof.c: Add comment on reading the profile.
1625 * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
1626 * doc/invoke.texi (-fprofile-values): Document behavior with
1627 -fbranch-probabilities.
1629 2003-07-30 David Edelsohn <edelsohn@gnu.org>
1631 * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
1633 2003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
1635 * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
1638 Wed Jul 30 19:12:10 CEST 2003 Jan Hubicka <jh@suse.cz>
1640 * gcse.c (insert_store): Ignore fake edges.
1642 * c-common.c (flag_vtable_gc): Kill.
1643 * c-common.g (flag_vtable_gc): Kill.
1644 * c-opts (c_common_handle_option): Kill.
1645 * c.opt (fvtable-gc): Kill.
1646 * final.c (final_scan_insn): Do not call assemble_vtable_entry.
1647 * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
1648 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
1650 * invoke.texi (-ftable-gc): Kill documentation.
1652 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
1653 just because function body is missing.
1655 * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
1657 2003-07-30 Ranjit Mathew <rmathew@hotmail.com>
1659 * unwind-sjlj.c: Fix typo in file description.
1661 2003-07-30 Alan Modra <amodra@bigpond.net.au>
1663 * calls.c (load_register_parameters): When shifting reg sized values
1664 to the msb, move the value to a reg first.
1666 2003-07-29 Geoffrey Keating <geoffk@apple.com>
1668 * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
1669 * line-map.h (linemap_add): Update comments.
1670 * line-map.c (linemap_add): Update comments, interpret zero-length
1671 filename as "<stdin>".
1673 2003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
1675 * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
1677 2003-07-29 Zack Weinberg <zack@codesourcery.com>
1679 * c-decl.c (last_function_parm_vars, current_function_parm_vars):
1680 New static variables.
1681 (struct c_scope): Add parms and warned_forward_parm_decls
1682 fields; remove parm_order.
1683 (storedecls, storetags): Delete.
1684 (poplevel): Also clear bindings on the parms chain.
1685 (pushdecl): Handle forward declarations of parameters, and
1686 chain PARM_DECLs on the parms list, not the names list.
1687 (lookup_name_current_level): Check for PARM_DECLs on the parms
1689 (push_parm_decl): Don't update parm_order.
1690 (clear_parm_order): Rename mark_forward_parm_decls. Issue the
1691 warning, only once per parameter list, and set TREE_ASM_WRITTEN
1692 on the decls here. Then move the forward decls to the names list.
1693 (grokparms): Set last_function_parm_vars.
1694 (get_parm_info): Don't use gettags or getdecls. No need to
1695 extract non-parms from the parms list, or reorganize the parms
1696 list. Feed nonparms back in the TREE_TYPE of the list node
1697 returned. Issue only one error per parameter list for "void"
1698 appearing more than once in said parameter list. Collapse
1699 parmlist_tags_warning into this function to avoid double scan
1701 (start_function): Set current_function_parm_vars.
1702 (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
1703 directly. Get non-parms from current_function_parm_vars; no
1704 need to extract them from the parms chain. Properly bind tags
1706 (store_parm_decls_oldstyle): No need to extract non-parameters
1707 from the parms chain, nor to store them back afterward. Move
1708 declaration to top of function, restructure code reordering
1710 (store_parm_decls): No need to save and restore warn_shadow.
1711 * c-parse.in: Don't call parmlist_tags_warning nor
1712 clear_parm_order. Call mark_forward_parm_decls when forward
1713 parm decls are encountered.
1714 * c-tree.h: Prototype mark_forward_parm_decls; not
1715 clear_parm_order or parmlist_tags_warning.
1717 2003-07-29 Geoffrey Keating <geoffk@apple.com>
1719 * c-common.c (allow_pch): Remove.
1720 * c-common.h (allow_pch): Remove.
1721 (c_common_no_more_pch): Declare.
1722 * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
1723 * c-pch.c: Include hosthooks.h.
1724 (c_common_valid_pch): Don't check allow_pch.
1725 (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
1726 (c_common_no_more_pch): New.
1727 * ggc-common.c: Include hosthooks.h.
1728 (gt_pch_save): Call gt_pch_get_address.
1729 (gt_pch_restore): Call gt_pch_use_address.
1730 * hooks.c (hook_voidp_size_t_null): New.
1731 (hook_bool_voidp_size_t_false): New.
1732 * hooks.h (hook_voidp_size_t_null): New.
1733 (hook_bool_voidp_size_t_false): New.
1734 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
1735 (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
1736 (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
1737 HOST_HOOKS_GT_PCH_USE_ADDRESS.
1738 * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
1740 * doc/hostconfig.texi (Host Common): Document
1741 HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
1742 * Makefile.in (c-pch.o): Depend on hosthooks.h.
1743 (ggc-common.o): Likewise.
1745 * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
1746 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
1747 (pch_address_space): New.
1748 (darwin_rs6000_gt_pch_get_address): New.
1749 (darwin_rs6000_gt_pch_use_address): New.
1751 2003-07-29 Neil Booth <neil@daikokuya.co.uk>
1753 PR preprocessor/11569
1754 PR preprocessor/11649
1755 * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
1756 * cppfiles.c: Completely rewritten.
1757 * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
1758 struct cpp_path is now struct cpp_dir.
1759 (remove_duplicates): Don't simplify path names.
1760 * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
1762 * cpphash.h: Include hashtab.h.
1763 (_cpp_file): Declare.
1764 (struct cpp_buffer): struct include_file is now struct _cpp_file,
1765 and struct cpp_path is now struct cpp_dir. Rename members.
1766 (struct cpp_reader): Similarly. New members once_only_files,
1767 file_hash, file_hash_entries, quote_ignores_source_dir,
1768 no_search_path, saw_pragma_once. Remove all_include_files and
1769 max_include_len. Make some members bool.
1770 (_cpp_mark_only_only): Renamed from _cpp_never_reread.
1771 (_cpp_stack_file): Renamed from _cpp_read_file.
1772 (_cpp_stack_include): Renamed from _cpp_execute_include.
1773 (_cpp_init_files): Renamed from _cpp_init_includes.
1774 (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
1775 * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
1776 (cpp_read_next_file): Rename and move to cppfiles.c.
1777 (cpp_read_main_file): Update.
1778 * cpplib.c (run_directive): Update for renamed members.
1779 (do_include_common, _cpp_pop_buffer): Update.
1780 (do_import): Undeprecate #import.
1781 (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
1782 * cpplib.h: Remove file_name_map_list.
1783 (cpp_options): Remove map_list.
1784 (cpp_dir): Rename from cpp_path. New datatype for name_map.
1785 (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
1787 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
1789 * Makefile.in: Make stamp-objdir safe for parallel builds.
1791 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
1793 * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
1794 (info): Depend on stmp-docobjdir.
1796 2003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1798 * configure: Regenerate.
1800 Tue Jul 29 19:24:49 CEST 2003 Jan Hubicka <jh@suse.cz>
1803 * tree-inline.c (expand_call_inline): Always call inlinable_function_p
1804 in !unit-at-a-time mode.
1806 2003-07-28 Geoffrey Keating <geoffk@apple.com>
1808 * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
1811 2003-07-28 Mark Mitchell <mark@codesourcery.com>
1814 * c-common.c (shorten_compare): Take into account differences
1815 between C and C++ representation for enumeration types.
1816 * tree.h (set_min_and_max_values_for_integral_type): Declare.
1817 * stor-layout.c (set_min_and_max_values_for_integral_type): New
1818 function, broken out from ...
1819 (fixup_signed_type): ... here and ...
1820 (fixup_unsigned_type): ... here.
1822 2003-07-28 Zack Weinberg <zack@codesourcery.com>
1824 * c-decl.c: Update commentary, adjust blank lines throughout.
1825 (struct c_scope): Fix indentation. Reorder members so
1826 outer-context pointers come first, booleans last.
1827 (duplicate_decls, define_label): Use a 'locus' variable for
1828 diagnostic locations in a few more places.
1829 (warn_if_shadowing): Un-split a conditional that fits on one line.
1830 (c_init_decl_processing): No need to clear current_scope and
1831 current_function_scope.
1832 (start_decl): Merge if/else if statements with same action.
1833 (push_parm_decl): Rename old_immediate_size_expand to use
1834 save_foo convention; save/restore around entire function.
1835 (grokdeclarator): Remove unnecessary braces.
1837 2003-07-28 Hans-Peter Nilsson <hp@bitrange.com>
1838 Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
1840 * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
1841 when warn_declaration_after_statement. Call pedwarn_c90, not
1842 pedwarn. Correct message: it's "ISO C90", not "ISO C89".
1843 * c-common.c (warn_declaration_after_statement): Define.
1844 * c-common.h (warn_declaration_after_statement): Declare.
1845 * c.opt (Wdeclaration-after-statement): New.
1846 * c-errors.c (pedwarn_c90): New function.
1847 * c-opts.c (c_common_handle_option) <case
1848 OPT_Wdeclaration_after_statement>: New.
1849 * c-tree.h (pedwarn_c90): Declare.
1850 * doc/invoke.texi (Option Summary): Document
1851 -Wdeclaration-after-statement.
1852 (Warning Options): Ditto.
1854 Mon Jul 28 20:13:06 CEST 2003 Jan Hubicka <jh@suse.cz>
1856 * i386.md (memory attribute) Avoid accessing uninitialized memory
1857 for ishift1 type instructions.
1859 2003-07-28 Jakub Jelinek <jakub@redhat.com>
1861 * configure.in (--enable-checking): Add fold category.
1862 (ENABLE_FOLD_CHECKING): Define if requested.
1863 * configure: Rebuilt.
1864 * config.in: Rebuilt.
1865 * doc/install.texi: Document it.
1866 * fold-const.c: Include md5.h.
1867 [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
1868 [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
1869 print_fold_checksum): New functions.
1871 * fold-const.c (fold): Never modify argument passed to fold, instead
1872 change a copy and return it.
1873 * convert.c (convert_to_integer): Likewise.
1875 2003-07-27 Nathanael Nerode <neroden@gcc.gnu.org>
1877 * fixinc/fixinc.svr4: Remove dead code. Remove now-unnecessary
1878 cleanup of junk after #else and #endif directives. Collapse repeated
1879 clauses into for statment.
1881 * fixinc/fixincl.sh: GNU C -> GCC. Add usage comment.
1883 2003-07-27 Zack Weinberg <zack@codesourcery.com>
1885 * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
1886 (keep_next_if_subblocks): Rename next_is_function_body.
1887 (pushlevel): Adjust commentary. Always set ->keep on the
1888 outermost level of a function. Don't set ->keep_if_subblocks.
1889 (poplevel): Adjust commentary. Don't look at ->keep_if_subblocks.
1890 (store_parm_decls): Adjust to match.
1891 (finish_function): Adjust to match.
1892 Call poplevel with all three arguments zero.
1894 * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
1895 New functions split out of store_parm_decls.
1896 Avoid unnecessary work. Use local variables consistently.
1897 (store_parm_decls): Likewise.
1899 (finish_function): No need to set functionbody flag on call to
1901 (struct language_function): Remove scope field.
1902 (c_push_function_context, c_pop_function_context): No need to
1903 save and restore current_scope.
1905 2003-07-27 Nathan Sidwell <nathan@codesourcery.com>
1907 * doc/extend.texi (Deprecated Features): Implicit typename is
1908 gone. Default args on types is going.
1910 2003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
1912 * Makefile.in (ifcvt.o): Depend on target.h
1913 * ifcvt.c (target.h): Include.
1914 (if_convert): Don't call mark_loop_exit_edges if we can't
1917 2003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1919 * doc/install.texi (Testing): Adjust required versions of DejaGnu.
1921 2003-07-26 Richard Henderson <rth@redhat.com>
1924 * cse.c (count_reg_usage): Handle asm_operands properly.
1926 2003-07-26 Roger Sayle <roger@eyesopen.com>
1928 * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
1929 (DEF_EXT_FALLBACK_BUILTIN): Delete.
1930 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
1931 the regular DEF_EXT_LIB_BUILTIN macro.
1932 (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
1933 the regular DEF_LIB_BUILTIN macro.
1934 (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
1935 BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
1936 BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
1937 DEF_EXT_LIB_BUILTIN macro.
1939 * c-decl.c (duplicate_decls): Remove code to handle builtin
1940 functions prototyped without an argument list.
1942 2003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
1944 * config/i386/winnt.c: Revert 2003-07-08 change.
1945 (i386_pe_section_type_flags): Remove error_with_decl here too.
1947 2003-07-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
1949 * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
1950 * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
1951 * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
1952 (v850_handle_data_area_attribute): Likewise.
1954 2003-07-26 Geoffrey Keating <geoffk@apple.com>
1956 * varasm.c (output_constant_def_contents): Use
1957 ASM_DECLARE_CONSTANT_NAME if defined.
1958 * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
1959 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
1960 objects get at least one byte to prevent assembler problems.
1961 (ASM_DECLARE_CONSTANT_NAME): New.
1963 * Makefile.in (libbackend.o): Remove options_.h.
1964 (mostlyclean): Likewise.
1966 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
1967 insert a label at the end of an function under Mach-O.
1969 * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
1971 2003-07-25 Aldy Hernandez <aldyh@redhat.com>
1973 * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
1975 (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
1977 * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
1979 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1981 * doc/passes.texi (Passes): Mention pretty-printing and
1984 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
1986 * doc/extend.texi (Function Attributes): GNU C++ does now allow
1987 unused parameter decls.
1988 (Attribute Syntax): GNU C++ does not allow label attributes to be
1991 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1993 * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
1994 (objc_declare_class): Likewise.
1995 (error_with_ivar): Likewise.
1996 (start_class): Likewise.
1997 (warn_with_method): Likewise.
1999 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2001 Remove pedwarn_with_decl, warning_with_decl and error_with_decl
2003 * calls.c (try_to_integrate): Don't use xxx_with_decl.
2004 (expand_call): Likewise.
2005 * dwarfout.c (output_reg_number): Likewise.
2006 * expr.c (expand_expr): Likewise.
2007 * function.c (assign_temp): Likewise.
2008 (uninitialized_vars_warning): Likewise.
2009 (setjmp_args_warning): Likewise.
2010 (expand_function_end): Likewise.
2011 * stmt.c (fixup_gotos): Likewise.
2012 (warn_about_unused_variables): Likewise.
2013 (expand_end_bindings): Likewise.
2014 * stor-layout.c (layout_decl): Likewise.
2015 (place_field): Likewise.
2016 * toplev.c (check_global_declarations): Likewise.
2017 (rest_of_handle_inlining): Likewise.
2018 (default_tree_printer): New function.
2019 (general_init): Initialize diagnostic machinery before routing
2020 signals to the ICE machinery. Set default tree printer.
2021 * toplev.h (pedwarn_with_decl): Remove declaration.
2022 (warning_with_decl): Likewise.
2023 (error_with_decl): Likewise.
2024 (pedwarn): Remove attribute for the time being.
2025 * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
2026 * varasm.c (named_section): Likewise.
2027 (make_decl_rtl): Likewise.
2028 (assemble_variable): Likewise.
2029 (merge_weak): Likewise.
2030 (declare_weak): Likewise.
2032 * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
2033 * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
2034 (format_with_decl): Remove.
2035 (diagnostic_for_decl): Likewise.
2036 (pedwarn_with_decl): Likewise.
2037 (warning_with_decl): Likewise.
2038 (error_with_decl): Likewise.
2039 (diagnostic_initialize): Adjust.
2040 (diagnostic_count_diagnostic): Likewise.
2041 (announce_function): Likewise.
2042 (lhd_print_error_function): Likewise.
2043 (diagnostic_report_current_module): Likewise.
2044 (default_diagnostic_starter): Likewise.
2045 (diagnostic_report_diagnostic): Likewise.
2046 (default_diagnostic_finalizer): Likewise.
2047 (verbatim): Likewise.
2049 (warning): Likewise.
2050 * opts.c (common_handle_option): Likewise.
2051 * pretty-print.c: New file.
2052 * c-pretty-print.h (pp_base): Override.
2053 * c-pretty-print.c: Adjust use of macros throughout.
2054 (pp_buffer): New macro.
2055 (pp_newline): Likewise.
2056 * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
2057 * Makefile.in (DIAGNOSTIC_H): New variable.
2058 (c-errors.o): Use it.
2059 (c-objc-common.o): Likewise.
2060 (c-common.o): Likewise.
2061 (c-opts.o): Likewise.
2062 (c-format.o): Likewise.
2063 (diagnostic.o): Likewise.
2065 (toplev.o): Likewise.
2066 (rtl-error.o): Likewise.
2067 (dwarf2out.o): Likewise.
2069 (pretty-print.o): New rule.
2071 2003-07-24 Roger Sayle <roger@eyesopen.com>
2073 * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
2074 front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
2075 (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
2076 from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
2077 (DEF_FRONT_END_LIB_BUILTIN): Delete.
2078 (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
2079 (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
2081 * builtins.c (build_string_literal): New function to construct
2082 a char* pointer to a string literal.
2083 (expand_builtin_fputs): Change 2nd argument from "int ignore" to
2084 "rtx target" to be consistent with other expand_builtin_* functions.
2085 Change 3rd argument from "int unlocked" to "bool unlocked".
2086 (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
2087 c-common.c to avoid front-end dependencies. Optimize printf("")
2088 as a no-op when the result isn't required. Handle embedded NULs
2090 (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
2091 from c-common.c to avoid front-end dependencies. Likewise, optimize
2092 fprintf(fp,"") as a no-op when the result isn't required, evaluating
2093 fp for side-effects. Handle embedded NULs in format string.
2094 (expand_builtin_sprintf): Fix typo.
2095 (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
2096 optimizing. Adjust calls of expand_builtin_fputs to match the API
2097 change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
2098 expand_builtin_printf. Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
2099 and BUILT_IN_FPRINTF using expand_builtin_fprintf.
2101 * c-common.c (is_valid_printf_arglist): Delete.
2102 (c_expand_builtin): Delete.
2103 (c_expand_builtin_printf): Moved to builtins.c. Delete.
2104 (c_expand_builtin_fprintf): Moved to builtins.c. Delete.
2105 (c_expand_expr): No longer treat CALL_EXPRs specially.
2106 (CALLED_AS_BUILT_IN): Delete.
2108 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2110 PR optimization/11631
2111 * gcse.c (store_motion): Connect infinite loops to exit.
2113 2003-07-24 Jason Merrill <jason@redhat.com>
2115 * tree.h (boolean_type_node): Move from C/C++/Java frontends.
2116 (boolean_true_node, boolean_false_node): Likewise.
2117 (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
2118 * tree.c (build_common_tree_nodes): Init boolean_type_node.
2119 (build_common_tree_nodes_2): Init boolean_{true,false}_node.
2120 * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
2121 * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
2122 (truthvalue_true_node): Renamed from boolean_true_node.
2123 (truthvalue_false_node): Renamed from boolean_false_node.
2124 * c-decl.c: Just set truthvalue_* to integer_*.
2125 * c-*.[ch]: s/boolean/truthvalue/. s/c_bool/boolean/.
2127 2003-07-24 Roger Sayle <roger@eyesopen.com>
2129 * c-decl.c (match_builtin_function_types): New subroutine of
2130 duplicate_decls to test whether a redeclaration of a builtin
2131 function is suitably close, i.e. the return type and all of
2132 the argument types have the same modes as the builtin expects.
2133 (duplicate_decls): Fuzzy type matching for builtin functions
2134 moved to match_builtin_function_types.
2136 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2138 * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
2141 2003-07-24 Zack Weinberg <zack@codesourcery.com>
2143 * c-decl.c: Search-and-replace change 'binding level' to
2144 'scope' in commentary.
2145 (struct binding_level): Now struct c_scope.
2146 (current_binding_level): Now current_scope.
2147 (free_binding_level): Now scope_freelist.
2148 (current_function_level): Now current_function_scope.
2149 (global_binding_level): Now global_scope.
2150 (make_binding_level): Now make_scope.
2151 (pop_binding_level): Now pop_scope.
2153 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2155 * configure.in (libgcc_visibility): Add missing whitespace.
2157 2003-07-24 Richard Henderson <rth@redhat.com>
2159 * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
2160 __gcc_personality_v0.
2162 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2164 * Makefile.in: Replace pwd by ${PWD_COMMAND}.
2166 2003-07-24 Nathan Sidwell <nathan@codesourcery.com>
2168 * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
2169 documentation missed from my 2003-07-09 patch.
2171 2003-07-24 Nathanael Nerode <neroden@gcc.gnu.org>
2173 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
2175 * configure: Rebuild.
2177 2003-07-24 Steven Bosscher <steven@gcc.gnu.org>
2180 * c-typeck.c (type_lists_compatible_p): Do not compare
2181 arguments if one of them is an error_mark_node
2183 2003-07-24 Alan Modra <amodra@bigpond.net.au>
2185 * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
2186 if current_function_calls_eh_return.
2188 2003-07-23 Mark Mitchell <mark@codesourcery.com>
2190 * doc/c-tree.texi (OFFSET_TYPE): Update description.
2192 2003-07-23 Bob Wilson <bob.wilson@acm.org>
2194 * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
2195 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2196 __umodsi3, __modsi3): Increase frame size to 32.
2198 2003-07-23 Geoffrey Keating <geoffk@apple.com>
2200 * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
2203 2003-07-23 Mark Mitchell <mark@codesourcery.com>
2205 * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
2207 PR optimization/10679
2208 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
2210 2003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2212 PR target/11607 and PR target/11516
2213 * pa.md (extzv, extv, insv): Revert latter half of last patch.
2215 2003-07-22 Mark Mitchell <mark@codesourcery.com>
2217 * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
2218 * varasam.c (output_constant): Likewise.
2220 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
2222 * alias.c: Fix comment formatting.
2223 * c-common.c: Likewise.
2224 * c-decl.c: Likewise.
2225 * c-opts.c: Likewise.
2226 * combine.c: Likewise.
2227 * cpplib.c: Likewise.
2228 * diagnostic.c: Likewise.
2229 * dojump.c: Likewise.
2230 * final.c: Likewise.
2231 * fold-const.c: Likewise.
2234 * ggc-page.c: Likewise.
2237 * mips-tfile.c: Likewise.
2238 * recog.c: Likewise.
2239 * regclass.c: Likewise.
2240 * regmove.c: Likewise.
2244 2003-07-22 Per Bothner <pbothner@apple.com>
2246 * line-map.c (add_line_map): Handle invalid LEAVE request.
2247 Fixes PR preprocessor/11361.
2249 2003-07-22 Per Bothner <pbothner@apple.com>
2251 * diagnostic.c.(diagnostic_report_current_module): Update to match
2252 2003-06-05 changes to push_srcloc and pop_srcloc.
2254 2003-07-22 Wolfgang Bangerth <bangerth@dealii.org>
2256 * doc/trouble.texi: Better document two-stage name lookup.
2258 2003-07-22 Eric Christopher <echristo@redhat.com>
2260 * config/s390.c (s390_valid_pointer_mode): New.
2261 (TARGET_VALID_POINTER_MODE): Use.
2262 (s390_emit_prologue): Add tpf profiling hooks.
2263 (s390_emit_epilogue): Ditto.
2264 * config/s390.h (MASK_TPF): New.
2266 (POINTERS_EXTEND_UNSIGNED): Define.
2267 * config/s390.md (ptr_extend): New pattern.
2269 2003-07-22 Zack Weinberg <zack@codesourcery.com>
2271 * hashtable.c (approx_sqrt): Make static.
2272 * hashtable.h: Don't prototype approx_sqrt.
2273 * line-map.c (init_line_maps): Rename linemap_init.
2274 (free_line_maps): Rename linemap_free.
2275 (add_line_map): Rename linemap_add.
2276 (lookup_line): Rename linemap_lookup.
2277 (print_containing_files): Rename linemap_print_containing_files.
2278 * linemap.h: Update to match.
2280 * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
2281 linemap routines to use new names.
2283 2003-07-16 Nathan Sidwell <nathan@codesourcery.com>
2285 * c-common.c (handle_packed_attribute): Don't pack a struct via a
2286 typedef. Propagate packedness from a main variant.
2288 2003-07-22 Nathanael Nerode <neroden@gcc.gnu.org>
2290 * Makefile.in (install-common): Add dependency on installdirs.
2292 2003-07-21 Alexandre Oliva <aoliva@redhat.com>
2294 * c-common.c (c_common_type_for_mode): Return integer types for
2297 2003-07-22 Geoffrey Keating <geoffk@apple.com>
2299 * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
2300 (finish_decl): Call maybe_apply_pragma_weak here.
2301 (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
2302 TREE_PUBLIC and TREE_STATIC are decided.
2303 (start_function): Move call to maybe_apply_pragma_weak. Check that
2304 DECL_ASSEMBLER_NAME isn't set too early.
2306 * cpplex.c (_cpp_process_line_notes): Mention option name in
2309 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
2311 * combine.c (if_then_else_cond): Simplify the comparison of
2312 rtx against -1, 0, and 1.
2313 * loop.c (check_dbra_loop): Likewise.
2314 * optabs.c (emit_conditional_move): Likewise.
2315 (emit_conditional_add): Likewise.
2316 * config/i386/i386.md (*movsi_or): Likewise.
2317 (*movdi_or_rex6): Likewise.
2319 Tue Jul 22 00:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
2321 * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
2323 2003-07-21 Neil Booth <neil@daikokuya.co.uk>
2325 * cppfiles.c (open_file_pch): Don't put unused entries in the
2326 splay tree. Remove dead code.
2328 2003-07-21 Geoffrey Keating <geoffk@apple.com>
2330 * c-common.h (num_in_fnames): Declare.
2331 (c_static_assembler_name): Move from here...
2332 * c-tree.h (c_static_assembler_name): ... to here.
2333 * c-opts.c: Don't include langhooks-def.h.
2334 (c_static_assembler_name): Move to c-decl.c.
2335 (num_in_fnames): Make externally visible.
2336 * c-decl.c: Include langhooks-def.h.
2337 (c_static_assembler_name): Move from c-opts.c.
2338 * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
2339 (c-opts.o): Remove $(LANGHOOKS_DEF_H).
2341 * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
2342 when it's not needed.
2344 2003-07-21 Jakub Jelinek <jakub@redhat.com>
2346 * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
2347 * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
2348 (rs6000_emit_prologue): Save FPRs inline if set.
2350 2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
2352 * config/ia64/ia64.md (prefetch): Support predicate.
2354 2003-07-21 Josef Zlomek <zlomekj@suse.cz>
2356 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
2357 * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
2360 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
2362 PR optimization/11536
2363 * unroll.c (loop_iterations): Do not replace a register holding
2364 the final value by its equivalent before the loop if it is not
2367 2003-07-21 Dave Fluri <dave.fluri@onlink.net>
2369 * doc/extend.texi: Fixes to spelling, grammar, and diction.
2371 2003-07-21 Ben Elliston <bje@wasabisystems.com>
2373 * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
2374 (V850 Options): Spelling fixes.
2376 2003-07-20 Lisa M. Goldstein <opus@gnu.org>
2378 * doc/invoke.texi: Fixes to style, grammar and diction.
2380 2003-07-20 Roger Sayle <roger@eyesopen.com>
2382 * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
2383 * system.h (SMALL_STACK): Poison obsolete target macro.
2384 * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
2386 2003-07-20 Phil Edwards <pme@gcc.gnu.org>
2388 * configure.in: Cache the results of testing for cmp's capabilities.
2389 * configure: Regenerate.
2391 2003-07-20 Mark Mitchell <mark@codesourcery.com>
2394 * dwarf2out.c (gen_enumeration_type_die): Remember that
2395 enumerators can be unsigned.
2397 2003-07-19 Zack Weinberg <zack@codesourcery.com>
2399 * c-decl.c (named_labels, shadowed_labels, label_level_chain)
2400 (push_label_level, pop_label_level): Kill.
2401 (struct binding_level): Rename level_chain to outer.
2402 Add outer_function field. Change parm_flag, function_body,
2403 keep, keep_if_subblocks to 1-bit bitfields of type bool.
2404 (current_function_level): New variable.
2405 (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
2406 (keep_next_level, declare_parm_level, warn_if_shadowing):
2408 (struct language_function): Kill named_labels, shadowed_labels fields.
2409 (c_init_decl_processing, start_function, c_push__function_context)
2410 (c_pop_function_context): No need to muck with named_labels nor
2413 (make_binding_level): No need to clear the structure here.
2414 (pop_binding_level): Always operate on current_binding_level.
2415 Update current_function_level if necessary.
2416 (pushlevel): Don't clear named_labels. Update current_function_level
2417 if necessary. Use "true" and "false" where appropriate.
2418 (poplevel): Diagnose labels defined but not used, or vice
2419 versa, and clear out label-meanings leaving scope, while
2420 walking down the decls list, for all binding levels.
2421 Handle LABEL_DECLs appearing in the shadowed list.
2422 pop_binding_level takes no arguments.
2423 (pushdecl_function_level): Use current_function_level.
2425 (make_label, bind_label): New static functions.
2426 (declare_label): New exported function.
2427 (lookup_label, define_label): Rewritten for new data structure.
2428 (shadow_label): Kill.
2430 * c-tree.h: Prototype declare_label; don't prototype
2431 push_label_level, pop_label_level, nor shadow_label.
2432 * c-parse.in: Remove all calls to push_label_level and
2433 pop_label_level. Use declare_label for __label__ decls.
2435 * doc/extend.texi: Clarify that __label__ can be used to
2436 declare labels with local scope in any nested block, not
2437 just statement expressions. Cross-reference nested functions
2438 section from local labels section.
2440 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2442 * sched-rgn.c (find_rgns): Initialize current_edge correctly.
2444 2003-07-19 Phil Edwards <pme@gcc.gnu.org>
2446 * doc/makefile.texi (restrap, profiledbootstrap): Document targets.
2448 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2450 * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
2451 fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
2453 2003-07-19 Ulrich Weigand <uweigand@de.ibm.com>
2455 * config/s390/s390.c (legitimize_pic_address): Access local symbols
2456 relative to the GOT instead of relative to the literal pool base.
2457 (s390_output_symbolic_const): Handle new GOT-relative accesses.
2458 * config/s390/s390.md ("call"): Access local functions and PLT stubs
2459 relative to the GOT instead of relative to the literal pool base.
2460 ("call_value"): Likewise.
2461 ("call_value_tls"): Likewise.
2463 * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
2464 reloading. Support LTREL_BASE / LTREL_OFFSET construct.
2465 (s390_chunkify_finish): Likewise.
2466 (s390_chunkify_cancel): Likewise.
2467 (s390_reorg): Adapt caller.
2468 (find_base_register_in_addr,
2469 find_base_register_ref, replace_base_register_ref): Delete.
2470 (find_ltrel_base, replace_ltrel_base): New functions.
2471 (find_constant_pool_ref): Handle LTREL_BASE unspecs.
2472 (s390_decompose_address): Handle LTREL_BASE unspecs. Optimize
2473 base vs. index register usage.
2474 (struct constant_pool): Remove 'anchor'.
2475 (s390_add_anchor): Delete.
2476 (s390_dump_pool): Remove anchor handling.
2477 * config/s390/s390.md ("reload_anchor"): Remove.
2479 * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
2480 (s390_load_got): New function. Use LTREL_BASE/OFFSET.
2481 (s390_emit_prologue): Use it.
2482 * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
2483 "builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not
2484 hard-code register 14.
2485 * config/s390/s390-protos.h (s390_load_got): Declare.
2487 * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
2488 Support TImode constants.
2489 * config/s390/s390.md ("consttable_ti"): New.
2490 ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
2492 * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
2493 UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
2494 UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
2495 UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
2496 UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
2497 New symbolic constants.
2498 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2499 "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
2500 "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
2501 "pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use
2502 symbolic UNSPEC values.
2503 * config/s390/s390.c (larl_operand, s390_short_displacement,
2504 bras_sym_operand, s390_cannot_force_const_mem,
2505 s390_delegitimize_address, s390_decompose_address,
2506 legitimize_pic_address, s390_output_symbolic_const,
2507 s390_function_profiler): Use symbolic UNSPEC values.
2509 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2511 * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
2512 c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
2513 c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
2514 collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
2515 cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
2516 cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
2517 dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
2518 fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
2519 gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
2520 genemit.c genextract.c genoutput.c genrecog.c gensupport.c
2521 ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
2522 integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
2523 loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
2524 postreload.c prefix.c print-tree.c protoize.c ra-build.c
2525 ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
2526 regmove.c regrename.c reload.c reload1.c reorg.c resource.c
2527 sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
2528 simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
2529 tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
2530 varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
2533 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
2535 * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
2536 * toplev.h (warning): Remove attribute.
2538 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
2540 * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
2541 (pop_label_level): Likewise.
2542 (duplicate_decls): Likewise.
2543 (implicitly_declare): Likewise.
2544 (shadow_label): Likewise.
2545 (start_decl): Likewise.
2546 (finish_decl): Likewise.
2547 (grokdeclarator): Likewise.
2548 (get_parm_info): Likewise.
2549 (detect_field_duplicates): Likewise.
2550 (finish_struct): Likewise.
2551 (start_function): Likewise.
2552 (store_parm_decls): Likewise.
2553 (finish_function): Likewise.
2554 (c_expand_body_1): Likewise.
2555 (check_for_loop_decls): Likewise.
2556 (merge_translation_unit_decls): Likewise.
2558 2003-07-19 Neil Booth <neil@daikokuya.co.uk>
2560 * common.opt: Document --param.
2561 * opts.c (columns, undocumented_msg): New.
2562 (print_help): Get number of columns from environment. Print
2563 --param help. Tweak newline handling.
2564 (print_param_help): New.
2565 (print_filtered_help): Better handling of duplicates. Complain
2566 about undocumented switches.
2567 (print_switch): New.
2568 (wrap_help): Improve wrapping, use COLUMNS.
2569 * opts.sh: Ignore comments in records.
2570 * params.def: Fix typos and remove trailing periods.
2571 * toplev.c (display_help): Don't dump --param help.
2572 * doc/sourcebuild.texi: Update.
2574 2003-07-18 Richard Henderson <rth@redhat.com>
2577 * optabs.c (prepare_operand): Fail gracefully instead of abort
2578 if the predicate doesn't satisfy.
2579 (gen_cond_trap): Allow prepare_operand to fail.
2581 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
2583 * c-common.c: Don't undefine GCC_DIAG_STYLE.
2584 (fname_decl): Don't use xxx_with_decl.
2585 (c_add_case_label): Likewise.
2586 (handle_section_attribute): Likewise.
2587 (handle_alias_attribute): Likewise.
2588 (handle_no_instrument_function_attribute): Likewise.
2589 (handle_no_limit_stack_attribute): Likewise.
2590 * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
2591 * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
2593 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2595 * Makefile.in (ifcvt.o): Add cfgloop.h.
2596 * basic-block.h (EDGE_LOOP_EXIT): New flag.
2597 * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
2598 * ifcvt.c: Include cfgloop.h.
2599 (mark_loop_exit_edges): New static function.
2600 (if_convert): Call it.
2601 (find_if_header): Ignore branches out of loops.
2603 2003-07-18 Kazu Hirata <kazu@cs.umass.edu>
2605 * combine.c (simplify_comparison): Don't share rtx when converting
2606 (ne (and (not X) 1) 0) to (eq (and X 1) 0).
2608 2003-07-18 David Edelsohn <edelsohn@gnu.org>
2610 * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
2611 (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
2612 (MUST_PASS_IN_STACK): Define.
2613 (BLOCK_REG_PADDING): Define.
2615 2003-07-18 Richard Henderson <rth@redhat.com>
2617 * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
2618 to skip the addr_vec.
2620 Fri Jul 18 15:22:28 2003 Alexandre Oliva <aoliva@redhat.com>
2622 * combine.c (combinable_i3pat): Don't forbid occurrences of
2623 i2dest or i1dest in inner_dest if inner_dest is a mem.
2625 Fri Jul 18 17:05:57 CEST 2003 Jan Hubicka <jh@suse.cz>
2627 * cgraph.c (cgraph_remove_node): Clear the hash table slot.
2629 2003-07-17 Jakub Jelinek <jakub@redhat.com>
2632 * loop.c (basic_induction_var): Check if convert_modes emitted any
2633 instructions. Remove them and return 0 if so.
2635 2003-07-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2637 PR optimization/11083
2638 * toplev.c (rest_of_handle_addresof): Rename into
2639 rest_of_handle_addressof. Delete unreachable blocks
2640 if dead edges were purged after the addressof pass.
2642 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
2644 * Makefile.in, configure, configure.in: Remove handling of
2645 lang-options.h and options_.h.
2646 * toplev.c (struct lang_opt, documented_lang_options): Remove.
2647 (display_help): Don't use documented_lang_options.
2649 2003-07-17 Zack Weinberg <zack@codesourcery.com>
2651 * c-decl.c (pushdecl_function_level): Make static, return nothing.
2652 (kept_level_p): Fold into poplevel.
2653 (undeclared_variable): Moved here from c-typeck.c. Export.
2654 * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
2655 (undeclared_variable): Prototype here. Don't prototype
2656 kept_level_p nor pushdecl_function_level.
2657 * c-parse.in: Change first argument to poplevel from
2658 "kept_level_p()" to "KEEP_MAYBE".
2659 * c-typeck.c (undeclared_variable): Moved to c-decl.c.
2661 2003-07-17 Roger Sayle <roger@eyesopen.com>
2663 * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
2664 commutative operands instead of modifying the RTL in-place.
2666 2003-07-17 Mark Mitchell <mark@codesourcery.com>
2668 PR optimization/11557
2669 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
2670 unless we know which function is being called.
2672 2003-07-17 Roger Sayle <roger@eyesopen.com>
2674 * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
2675 whether to reorder the operands of a commutative binary operator.
2677 2003-07-17 Roger Sayle <roger@eyesopen.com>
2679 * fold-const.c (const_binop): Avoid performing the FP operation at
2680 compile-time, if either operand is NaN and we honor signaling NaNs,
2681 or if we're dividing by zero and either flag_trapping_math is set
2682 or the desired mode doesn't support infinities.
2683 (fold_initializer): New function to fold an expression ignoring any
2684 potential run-time exceptions or traps.
2685 * tree.h (fold_initializer): Prototype here.
2686 * c-typeck.c (build_binary_op): Move to the end of the file so
2687 that intializer_stack is in scope. If constructing an initializer,
2688 i.e. when initializer_stack is not NULL, use fold_initializer to
2690 * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
2691 performing FP operations at compile-time, if they would raise an
2692 exception at run-time.
2694 2003-07-17 Geoffrey Keating <geoffk@apple.com>
2697 * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
2698 (langhooks.o): Add $(GGC_H), gt-langhooks.h.
2699 (GTFILES): Add langhooks.c.
2700 (gt-langhooks.h): New.
2701 * c-common.h (c_static_assembler_name): Prototype.
2702 * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
2703 * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
2704 * c-opts.c: Include langhooks-def.h.
2705 (c_static_assembler_name): New.
2706 * langhooks.c: Include ggc.h. Include gt-langhooks.h.
2708 (lhd_set_decl_assembler_name): Give static objects with context
2710 * varasm.c (var_labelno): Delete.
2711 (make_decl_rtl): Don't change the assembler name once it's set.
2713 * c-opts.c (this_input_filename): New.
2714 (finish_options): Take new parameter, name of file being compiled.
2715 Update callers. Set this_input_filename.
2716 (push_command_line_include): Use this_input_filename not
2717 main_input_filename.
2719 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
2721 * Makefile.in: Depend .pot generation on options.c.
2722 * po/exgettext: Add an extra_files variable containing additional
2725 2003-07-17 Zack Weinberg <zack@codesourcery.com>
2727 * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
2728 c_write_global_declarations.
2730 * c-decl.c: Fix typos in several comments. Remove all
2731 #if 0 blocks; reindent as needed. Remove unused argument
2732 to declare_parm_level; all callers changed.
2733 * c-parse.in: Update calls to declare_parm_level. Avoid
2734 issuing a double warning in some circumstances.
2735 * c-typeck.c: Update calls to declare_parm_level.
2736 * c-tree.h: Update prototype of declare_parm_level.
2738 * c-pragma.c (apply_pragma_weak): Don't complain about a
2739 redundant #pragma weak.
2741 * objc/objc-act.c (forward_declare_categories,
2742 build_selector_reference_decl, build_class_reference_decl,
2743 build_objc_string_decl, synth_forward_declarations,
2744 build_protocol_reference): Set TREE_PUBLIC on synthetic
2745 forward decl to 0, consistent with eventual definition.
2746 Correct comments to match.
2748 * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
2749 in regexp that don't form a range expression.
2750 * fixinc/fixincl.def: Regenerate.
2752 2003-07-17 Richard Henderson <rth@redhat.com>
2755 * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
2756 even with !TARGET_CONST_GP.
2757 (ia64_function_ok_for_sibcall): Reject non-local functions.
2759 2003-07-17 Steven Bosscher <steven@gcc.gnu.org>
2761 * c-common.c (c_estimate_num_insns_1): Don't handle
2763 * expr.c (safe_from_p): Likewise.
2764 * gengtype.c (adjust_field_tree_exp): Likewise.
2765 * stmt.c (warn_if_unused_value): Likewise
2766 * tree.c (first_rtl_op): Likewise.
2767 * tree.def: Don't define METHOD_CALL_EXPR.
2768 * java/lang.c (java_estimate_num_insns_1): Don't handle
2771 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
2774 * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
2775 and its restrictions for the SPARC64 port.
2776 Move the entry of "-mimpure-text" before that of "-mv8".
2778 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
2779 Phil Edwards <phil@jaj.com>
2781 * doc/install.texi (*-*-solaris2*): Document the step-by-step
2782 procedure to bootstrap and install.
2783 Document the preference for the legacy Sun tools in /usr/bin
2784 over the POSIX tools in /usr/xpg4/bin for the build process.
2786 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
2788 * c.opt: Document Uncodumented; use it. Document ObjC options.
2789 * opts.c (print_filtered_help): Skip undocumented switches.
2790 * opts.h (CL_UNDOCUMENTED): New.
2791 * opts.sh: Handle Undocumented.
2792 * toplev.c (documented_lang_options): Prevent its becoming empty.
2794 * lang-options.h: Remove.
2796 2003-07-16 Ulrich Weigand <uweigand@de.ibm.com>
2798 * loop.c (check_ext_dependent_givs): Pass const struct loop *
2799 instead of struct loop_info * as argument. Accept BIVs with
2800 increment +/- 1 provided there is a friendly exit test against
2801 a loop-invariant value.
2802 (strength_reduce): Adapt call to check_ext_dependent_givs.
2804 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
2805 Con Bradley <con.bradley@superh.com>
2807 * sh-protos.h (sh_get_pr_initial_val): Declare.
2808 * sh.c (regno_reg_class): Make its elements type enum reg_class.
2809 (output_stack_adjust): Remove emit_fn argument. Add epilogue_p
2810 and live_regs_mask arguments. Changed all callers.
2811 (save_schedule_s): New structure.
2812 (save_schedule): New typedef.
2813 (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
2814 (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
2815 In interrupts handlers, also save registers that are usually
2816 partially saved, and make sure there is at least one general purpose
2817 register saved if a target register needs saving.
2818 Add casts in comparisons to avoid warnings.
2819 (sh_media_register_for_return): return -1 for interrupt handlers.
2820 (MAX_SAVED_REGS, MAX_TEMPS): New defines.
2821 (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp
2822 registers used are available.
2823 Set RTX_FRAME_RELATED_P where appropriate.
2824 Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
2825 (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
2826 (initial_elimination_offset): Likewise.
2827 * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
2828 (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
2829 (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
2830 (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
2831 (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
2832 and for target registers.
2833 (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
2834 (regno_reg_class): Make its elements type enum reg_class.
2835 (CONSTRAINT_LEN): Don't use isdigit.
2836 (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
2837 (FUNCTION_ARG): Add parentheses to avoid warnings.
2838 (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
2839 (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
2840 (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
2841 (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
2842 * sh.md (xordi3+1): Remove unused variable regno.
2843 (return_media): Check that tr0 is available before using it.
2845 2003-07-16 Neil Booth <neil@daikokuya.co.uk>
2847 * c.opt: Document more options.
2849 2003-07-16 Roger Sayle <roger@eyesopen.com>
2851 * combine.c (subst): Also handle (subreg (const_double ...)) case
2852 if created by a substitution, by using the original inner mode.
2854 2003-07-16 Roger Sayle <roger@eyesopen.com>
2856 * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
2857 to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
2858 (simplify_rtx): Likewise. Simplify (lo_sum (high X) X) as X.
2860 2003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
2862 * doc/install.texi (--without-headers): New.
2864 Partial Fix PR/10129
2865 * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
2866 (machopic_output_function_base_name): New; print the true pic label.
2867 (machopic_classify_ident): Pic Base is always a defined data.
2868 * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
2869 * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
2871 * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
2872 if they are not floating point registers.
2875 * ggc.h: Add header guards.
2876 * c-decl.c (finish_struct): Sort fields if
2877 number greater than 15 and there are no
2878 anonymous structs/unions.
2879 * c-common.h: Include ggc.h.
2880 (sorted_fields_type): New struct.
2881 (field_decl_cmp): New prototype.
2882 (resort_sorted_fields): New prototype.
2883 (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
2884 * c-tree.h: (lang_type): Use pointer to sorted_fields_type
2885 as s, removing other fields.
2886 * c-typeck.c (lookup_field): Use s in lang_type.
2887 These were mostly moved from cp/class.c:
2888 * c-common.c (field_decl_cmp): New static function.
2889 (field_decl_cmp): New function.
2890 (resort_sorted_fields): New function.
2892 2003-07-16 Geoffrey Keating <geoffk@apple.com>
2894 * config/darwin.c (machopic_select_section): Use decl_readonly_section
2895 to do most of the work.
2897 2003-07-16 Hans-Peter Nilsson <hp@bitrange.com>
2899 * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
2900 * config/mmix/mmix.c: Convert functions to ISO C90.
2901 (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
2903 (mmix_get_hard_reg_initial_val): Tweak section head comment.
2905 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
2907 * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
2909 2003-07-16 Jakub Jelinek <jakub@redhat.com>
2911 * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
2912 (uw_update_context_1): Use it.
2913 * config/rs6000/rs6000.c (insn_after_throw): Remove.
2914 (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
2915 in parent frame if _Unwind_* called directly instead of through
2917 (rs6000_emit_eh_toc_restore): Remove.
2918 (rs6000_emit_prologue): Update stack pointer before doing any saving
2919 if current_function_calls_eh_return. Generate unwind info for $r2.
2920 (rs6000_emit_epilogue): Restore stack pointer after doing all
2921 restoring if current_function_calls_eh_return. Restore $r2.
2922 * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
2923 * config/rs6000/rs6000.md (eh_return): Remove call to
2924 rs6000_emit_eh_toc_restore.
2925 * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
2926 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
2928 2003-07-15 Jakub Jelinek <jakub@redhat.com>
2930 * expr.c (emit_block_move): Don't move anything if size is const 0.
2931 (clear_storage): Test against const0_rtx instead of comparing INTVAL
2934 2003-07-15 David S. Miller <davem@redhat.com>
2936 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
2937 emit nop if the last real insn is CALL_INSN.
2939 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
2941 * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
2943 * config/i386/xm-mingw32.h: Change GNU CC to GCC.
2945 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
2947 * config/i386/winnt.c (associated_type): Artificial methods are not
2948 affected by the import/export status of their class unless they are
2950 (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
2952 * config/i386/winnt.c: Fix GCC copyright comment.
2954 2003-07-16 Gabriel Dos Reis <gcc@integrable-solutions.net>
2957 * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
2958 not recursing on hard error.
2959 (diagnostic_for_decl): Likewise.
2960 * diagnostic.def: Rearrange.
2962 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
2964 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
2965 If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
2967 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
2968 Richard Henderson <rth@redhat.com>
2970 * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
2971 to decide if to access a _Unwind_Ptr or a _Unwind_Word.
2972 (_Unwind_SetGR): Likewise.
2973 (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
2974 (Unwind_SpTmp): New typedef.
2975 (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
2976 (uw_update_context): Use _Unwind_GetPtr.
2977 (init_dwarf_reg_size_table): Move above uw_init_context_1.
2978 (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
2979 Use _Unwind_SetSpColumn.
2980 (uw_install_context_1): Don't initialize dwarf_reg_size_table.
2983 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
2985 * c.opt: Document more options.
2986 * toplev.c (documented_lang_options): Remove all local help strings.
2988 2003-07-15 Mark Mitchell <mark@codesourcery.com>
2991 * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
2994 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
2997 * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
2998 swap comparison operands if doing so would generate an
2999 unrecognizable insn.
3001 2003-07-15 Eric Botcazou <ebotcazou@libertysurf.fr>
3003 PR optimization/11320
3004 * sched-int.h (struct deps) [reg_conditional_sets]: New field.
3005 (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
3006 * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
3007 current_sched_info->compute_jump_reg_dependencies. Record which
3008 registers are used and which registers are set by the jump.
3009 Clear deps->reg_conditional_sets after a barrier.
3010 Set deps->reg_conditional_sets if the insn is a COND_EXEC.
3011 Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
3012 (init_deps): Initialize reg_conditional_sets.
3013 (free_deps): Clear reg_conditional_sets.
3014 * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
3015 Mark registers live on entry of the fallthrough block and conditionally
3016 set as set by the jump. Mark registers live on entry of non-fallthrough
3017 blocks as used by the jump.
3018 * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
3019 Mark new parameters as unused.
3021 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
3023 * doc/invoke.texi: Resync MIPS -march documentation.
3025 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
3027 * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
3028 (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
3029 (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
3030 * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
3031 (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
3032 (mips_issue_rate): Handle PROCESSOR_R9000.
3033 (mips_use_dfa_pipeline_interface): Likewise.
3034 * config/mips/9000.md: New file.
3035 * config/mips/mips.md: Include it.
3036 (define_attr cpu): Add r9000.
3037 (mulsi3_mult3): Use "mul" for rm9000 code.
3039 2003-07-15 Stan Cox <scox@redhat.com>
3041 * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
3042 (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
3043 (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
3044 * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
3045 (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
3046 (mips_issue_rate): Handle PROCESSOR_R7000.
3047 (mips_use_dfa_pipeline_interface): Likewise.
3048 * config/mips/7000.md: New file.
3049 * config/mips/mips.md: Include it.
3050 (define_attr cpu): Add r7000.
3051 (mulsi3_mult3): Use "mul" for rm7000 code.
3053 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
3055 * config/mips/mips.md (define_attr type): Add condmove. Use it for
3056 the conditional move patterns.
3057 * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
3058 Check for condmove type.
3059 (ir_vr54_arith): Add move type.
3060 * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
3061 * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
3063 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
3065 * c-opts.c (print_help): Remove.
3066 (c_common_handle_option): Don't handle --help.
3067 * c.opt: Document some options.
3069 * opts.c (print_filtered_help): New.
3070 (print_help): Use it.
3072 2003-07-14 Geoffrey Keating <geoffk@apple.com>
3074 * c-common.c (c_common_type_for_mode): Handle V4DFmode.
3075 * tree.c: (build_common_tree_nodes_2): Likewise.
3076 * tree.h (enum tree_index): Add TI_V4DF_TYPE.
3077 (V4DF_type_node): New.
3079 * c-opts.c (push_command_line_include): Don't free deferred_opts,
3081 (finish_options): Reset init_cursor.
3083 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
3085 * expr.c (expand_assignment): Remove an unused argument
3087 * expr.h: Update the prototype.
3088 * function.c: Update the callers.
3091 2003-07-14 Mark Mitchell <mark@codesourcery.com>
3094 * integrate.c (copy_decl_for_inlining): Do not mark copied decls
3097 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
3099 * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
3100 with __cplusplus, not "we must use the C++ compiler's type"
3101 * fixinc/inclhack.def (void_null): Note that Interix needs this.
3102 * fixinc/fixincl.x: Regenerate.
3104 2003-07-14 Geoffrey Keating <geoffk@apple.com>
3106 * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
3107 and unseen_objects from the global data before calling
3108 __deregister_frame_info_bases.
3109 (examine_objects): Insert objects into the seen_objects list,
3111 (_Unwind_Find_FDE): Always unlock the global object lists, even if
3112 we couldn't allocate a data structure to put in it.
3114 * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
3115 (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
3116 (SET_TYPE_PROTOCOL_LIST): New.
3117 * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
3118 (get_object_reference): Likewise.
3120 Mon Jul 14 23:14:28 CEST 2003 Jan Hubicka <jh@suse.cz>
3122 * cfglayout.c (locator_file): Break out from ....
3123 (insn_file): ... here.
3124 (locator_line): Break out from ....
3125 (insn_line): ... here.
3126 * rtl.h (locator_file, locator_line): Declare.
3127 (final_start_function): Set proper line/file info.
3129 2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
3131 * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
3132 handled by pp_c_cast_expression.
3134 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
3136 * config/mips/mips.c (mips_expand_prologue): Use a single insn to
3137 allocate 32768 bytes of stack. Use addition rather than subtraction
3138 when a single insn is enough.
3139 * config/mips/mips.md: Remove insns and splitters for subtracting
3141 (subsi3): Only accept register operands.
3142 (subsi3_internal): Likewise. Use for TARGET_MIPS16 as well.
3143 (subdi3_internal_3, subsi3_internal_2): Likewise.
3144 (casesi): Use expand_binop to subtract the lower bound.
3146 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
3148 * config/mips/mips.c (mips_in_small_data_p): Don't handle
3149 TARGET_MIPS16 specially.
3151 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
3153 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
3154 mips_output_aligned_bss.
3155 * config/mips/linux.h: Likewise.
3156 * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
3157 * config/mips/mips.c (mips_output_aligned_bss): New function.
3159 * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
3160 * config/mips/elf64.h: Likewise.
3162 * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
3163 mips_declare_object_name.
3164 (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
3165 * config/mips/elf64.h: As for elf.h.
3166 * config/mips/iris6.h: Likewise.
3167 * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
3168 * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
3169 do...while (0) block.
3170 * config/mips/mips-protos.h (mips_declare_object_name): Declare.
3171 (mips_finish_declare_object): Declare.
3172 * config/mips/mips.c (mips_declare_object_name): New function.
3173 (mips_finish_declare_object): New function.
3175 * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
3176 * config/mips/linux.h: Likewise.
3178 * config/mips/mips.c (inside_function): Delete.
3179 (file_in_function_warning, ignore_line_number): Delete.
3180 (mips_output_filename): Don't warn about changing filenames within
3182 (mips_output_lineno): Update accordingly.
3183 (mips_output_function_prologue): Don't reset the deleted variables.
3184 * config/mips/mips.h (inside_function): Delete.
3185 (file_in_function_warning, ignore_line_number): Delete.
3187 * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
3188 * config/mips/elf64.h: Likewise.
3189 * config/mips/openbsd.h: Likewise.
3190 * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
3191 * config/mips/linux.h: Likewise.
3192 * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
3193 (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
3195 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
3196 to the list of include files when using gas.
3197 (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
3198 * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
3199 * config/mips/elf64.h: Likewise.
3200 * config/mips/iris5.h: Likewise.
3201 * config/mips/linux.h: Likewise.
3202 * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
3203 * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
3204 (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
3205 * config/mips/sdb.h: ...this new file.
3207 2003-07-14 Douglas Rupp <rupp@gnat.com>
3209 * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
3210 argument to getcwd; use fixed buffer instead.
3212 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
3214 * fixinc/mkfixinc.sh: Treat OpenBSD normally.
3215 * fixinc/fixinc.wrap: Delete.
3217 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
3219 * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
3222 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
3224 * ggc-page.c (struct globals): Add new fields to keep track of the
3225 total allocated memory and overhead.
3226 (ggc_print_statistics): Print them.
3227 (ggc_alloc): Keep track of the total allocated memory and the
3230 * tree.c (dump_tree_statistics): Increase spacing.
3231 (enum tree_node_kind): Move to ...
3232 * tree.h (enum tree_node_kind): ... here.
3233 (tree_node_counts, tree_node_sizes): Declare.
3235 2003-07-14 James A. Morrison <ja2morri@student.math.uwaterloo.ca>
3237 * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
3239 2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3241 PR optimization/11440
3242 * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
3245 2003-07-14 Alan Modra <amodra@bigpond.net.au>
3247 * doc/tm.texi (BLOCK_REG_PADDING): Describe.
3248 * expr.h (struct locate_and_pad_arg_data): Add where_pad.
3249 (emit_group_load, emit_group_store): Adjust declarations.
3250 Remove most occurrences of #ifdef TREE_CODE.
3251 * expr.c (emit_group_load): Add "type" param, and use
3252 BLOCK_REG_PADDING to determine need for a shift. Optimize non-
3253 aligned accesses if !SLOW_UNALIGNED_ACCESS.
3254 (emit_group_store): Likewise.
3255 (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
3256 emit_group_load and emit_group_store calls.
3257 * calls.c (store_unaligned_arguments_into_pseudos): Tidy. Use
3258 BLOCK_REG_PADDING to determine whether we need endian_correction.
3259 (load_register_parameters): Localize vars. Handle shifting of
3260 small values to the correct end of regs. Adjust emit_group_load
3262 (expand_call, emit_library_call_value_1): Adjust emit_group_load
3263 and emit_group_store calls.
3264 * function.c (assign_parms): Set mem alignment for stack slots.
3265 Adjust emit_group_store call. Store values at the "wrong" end
3266 of regs to the stack. Use BLOCK_REG_PADDING.
3267 (locate_and_pad_parm): Save where_pad.
3268 (expand_function_end): Adjust emit_group_load call.
3269 * stmt.c (expand_value_return): Adjust emit_group_load call.
3270 * Makefile.in (calls.o): Depend on $(OPTABS_H).
3271 * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
3272 (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
3273 (MUST_PASS_IN_STACK): Define.
3274 (BLOCK_REG_PADDING): Define.
3275 * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
3276 (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
3277 * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
3278 (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
3279 Act on AGGREGATES_PAD_UPWARD_ALWAYS.
3281 2003-07-13 Aaron W. LaFramboise <awlaframboise@aol.com>
3283 * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
3285 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3287 * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
3288 both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
3290 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
3293 * toplev.c: Don't cut off option names.
3295 2003-07-13 Andreas Jaeger <aj@suse.de>
3297 * c-decl.c (link_hash_hash): Avoid warning about casting pointer
3298 to integer of different size.
3300 2003-07-13 Kazu Hirata <kazu@cs.umass.edu>
3302 * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
3303 to (eq (and X 1) 0).
3305 2003-07-13 Andreas Jaeger <aj@suse.de>
3307 * config.gcc: Add pmmintrin.h for x86_64-*-*.
3309 2003-07-13 Zack Weinberg <zack@codesourcery.com>
3311 * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
3312 (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
3313 list. Move these all together down by cpplib.
3315 * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
3316 definition of CPPCHAR_SIGNED_T.
3318 * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
3319 * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
3320 * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
3322 * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
3323 * cppinit.c (cpp_create_reader): Likewise.
3325 * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
3326 * cpptrad.c: Likewise. All callers changed.
3327 * cpplib.c: All callers changed.
3328 * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
3329 * hashtable.h: Define GTY(x) to nothing here too.
3331 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3333 * stor-layout.c (compute_record_mode): Remove very obsolete test
3334 that forces BLKmode for records with fields crossing word boundary.
3336 2003-07-13 Zack Weinberg <zack@codesourcery.com>
3338 * Makefile.in: Remove orphan reference to acconfig.h.
3340 2003-07-13 Andreas Jaeger <aj@suse.de>
3342 * cgraphunit.c: Convert prototypes to ISO C90.
3344 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
3346 * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
3348 * fixinc/fixincl.x: Rebuild.
3350 2003-07-12 Zack Weinberg <zack@codesourcery.com>
3352 * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
3353 i?86-*-*. Use correct name of cache variable.
3354 * configure: Regenerate.
3356 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
3358 * config/alpha/alpha.c: Fix comment typos.
3359 * config/alpha/alpha.md: Likewise.
3360 * config/arm/arm.c: Likewise.
3361 * config/arm/arm.md: Likewise.
3362 * config/arm/lib1funcs.asm: Likewise.
3363 * config/avr/avr.md: Likewise.
3364 * config/arm/README-interworking: Fix typos.
3366 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
3368 * c-format.c: Fix comment formatting.
3369 * c-typeck.c: Likewise.
3370 * coverage.c: Likewise.
3371 * cppcharset.c: Likewise.
3372 * cpplib.c: Likewise.
3373 * dbxout.c: Likewise.
3374 * gcov-io.h: Likewise.
3375 * toplev.c: Likewise.
3377 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
3379 * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
3382 2003-07-12 Zack Weinberg <zack@codesourcery.com>
3384 * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
3385 uses three-argument AC_DEFINE so no acconfig.h entries are
3387 (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
3388 which contains the GAS version number as a scaled integer.
3389 (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers. Add
3390 ability to check for ELF assembler.
3391 (gcc_GAS_CHECK_FEATURE): New macro.
3392 * configure.in: Use gcc_AC_CHECK_TYPE. Rewrite all
3393 assembler feature checks using gcc_GAS_CHECK_FEATURE.
3394 Use three-argument AC_DEFINE everywhere.
3395 * acconfig.h: Deleted.
3396 * config.in, configure: Regenerate.
3398 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
3400 * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
3402 * fixinc/fixincl.x: Regenerate.
3404 * fixinc/inclhack.def (gnu_types): Improve comment.
3406 2003-07-12 Andreas Jaeger <aj@suse.de>
3408 * fp-test.c (main): Use ISO C90 prototype.
3410 * version.c: Remove unneded include of ansidecl.h.
3412 * cgraph.h: Convert prototypes to ISO C90.
3413 * cgraph.c: Likewise.
3414 * fix-header.c: Likewise.
3416 * protoize.c: Likewise.
3418 Sat Jul 12 06:09:38 CEST 2003 Jan Hubicka <jh@suse.cz>
3420 * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
3423 Sat Jul 12 03:06:01 CEST 2003 Jan Hubicka <jh@suse.cz>
3424 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3426 * cgraph.c (cgraph_max_uid): New global variable.
3427 (cgraph_node): Set uid field.
3428 (create_edge): Keep inline flags consistent.
3429 (dump_cgraph): Dump more info.
3430 * cgraph.h (struct cgraph_local_info): Remove inline_many and
3431 can_inline_once; add inlinable, disgread_inline_limits, and self_insn
3432 (struct cgraph_global_info): Add insns, calls, cloned_times,
3434 (struct cgraph_node): Add uid.
3435 (struct cgraph_edge): Add inline_call.
3436 (cgraph_max_uid, cgraph_inline_p): Declare.
3437 * cgraph.c: Include params.h and fibheap.h